Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/gbdev/rgbds-deb

Alright, let's get RGBDS into Debian repositories
https://github.com/gbdev/rgbds-deb

Implement floored `/` and divisor-sign `%` operators (#745)

Fixes #703

5fd636ac4bc99c6efb8c7bbdcfeb1fa4e2d812db authored almost 4 years ago by Rangi <[email protected]>
Add more test cases for IF, REPT, and MACRO (#748)

a6d844a9a5bc0c52a6bd4a97d0d15e9ce0a5acaf authored almost 4 years ago by Rangi <[email protected]>
Allow ENDC at EOF without a newline

bee62076c6cd8d54997a50061f8bd1ce082159d8 authored almost 4 years ago by ISSOtm <[email protected]>
Add assertion check for potential UAF trigger

It actually currently triggers if an INCLUDE directive is given at EOF,
but #742 will fix that.

cd072d5e6a9031ae326e9d95c7680bde94a88d81 authored almost 4 years ago by ISSOtm <[email protected]>
Give void* ptr to %p formatter

Silences a format type mismatch warning

6ef3ee1391656669f6bd2437f503789505632a8d authored almost 4 years ago by ISSOtm <[email protected]>
Fix forgotten initialization of `lexerState->isReferenced`

c29b616f937f975f87f4ba6613146fd4c339f89c authored almost 4 years ago by ISSOtm <[email protected]>
Fix missing newline in a dbgPrint

39c179aa325a9112d9cc3329fab96f1443e646d2 authored almost 4 years ago by Rangi <[email protected]>
Shorter quine test cases

5c1ae4ce2211e3086b84100b5da21cef08dab6a3 authored almost 4 years ago by Rangi <[email protected]>
Avoid two peek(1) calls when lexing """multi-line strings"""

efbfeca2921c4c250faadae339374c6294f3939f authored almost 4 years ago by Rangi <[email protected]>
Format INT32_MIN as '-2147483648', not '--2147483648'

7dd34f1572bf890ed2c415e0a0dd458fb3b06375 authored almost 4 years ago by Rangi <[email protected]>
Fix calculation of 2**30

In exponent(), 'base *= base;' should not run
when base is 65536, since it overflows an int32_t....

748e7dd4c79f0fef101a30b91252388f945254b9 authored almost 4 years ago by Rangi <[email protected]>
Handle string literals within macro arguments (#685)

Fixes #683 and #691

The lexer's raw mode for reading macro args already attempted
to handle ...

d049ffc0f0a508f9d48d27e850692f54b6c062f8 authored almost 4 years ago by Rangi <[email protected]>
Allow `ds` to take multiple values to repeat for a count (#725)

Fixes #722

8c0275480c680ce610c9f4ce7d121197152a879c authored almost 4 years ago by Rangi <[email protected]>
Implement LOAD UNION and LOAD FRAGMENT

Fix #632

76d6ef869582a3c714a4b8c7839c2d445b4bfcb1 authored almost 4 years ago by Rangi <[email protected]>
Use macros to convert between radians and fixed-point 65536ths

c67a696a87a35ba3c2fcf10468a6043c2426643c authored almost 4 years ago by Rangi <[email protected]>
Make `@` relative to the start of a `ds` even at link time

Fix #737

ee20d9010e49bd243e57aa41ccc32bf5da99e0bf authored almost 4 years ago by Rangi <[email protected]>
Update rgbds(5) object file format documentation (#740)

2bc12447e2888ef60593242ec044ef60bc865d9d authored almost 4 years ago by Rangi <[email protected]>
-Wmacro-shift warns about shifting macro arguments too far (#741)

Fixes #735

cb61da8842d107e3a9825baf6567c0b7fe847ce6 authored almost 4 years ago by Rangi <[email protected]>
Update deprecated feature examples

Those have been removed, lol

122ba6eba5be69b702f837062caf74e7401928c5 authored almost 4 years ago by ISSOtm <[email protected]>
Cannot start a new section that's already on the stack

This is only relevant for FRAGMENT or UNION sections, since
normal ones would fail with "Section...

dddff0f4507f297c0bd36d77caf5180be7f56acd authored almost 4 years ago by Rangi <[email protected]>
Add FUNDING.yml to show the Sponsor button on the repository

a919f922a1372f0fd9617c6b71a6ebd92ec729c3 authored almost 4 years ago by Antonio Vivace <[email protected]>
Allow shifting macro arguments by a negative amount

Fixes #733

8f20620c1627fe4ea67d5ea6aceaf0505df5af29 authored almost 4 years ago by Rangi <[email protected]>
Newlines in multi-line strings update the line number

This affects error and warning messages, and dbgPrint

96bce05be2d899fda544a480672cdf76c6737468 authored almost 4 years ago by Rangi <[email protected]>
Prefer `sizeof($$)` to `MAXSTRLEN + 1`

This makes `strsubUTF8` similar to `strrpl` and `strfmt`

fc2bf3d11d14170f5aeee171cbb3f3cf1bced825 authored almost 4 years ago by Rangi <[email protected]>
Correct some comments

nPCOffset no longer exists, and the lexer only
returns T_NEWLINE for EOF in raw mode.

ebb5aab6dbf82e07493386bed59ff48cbef3ae37 authored almost 4 years ago by Rangi <[email protected]>
Correct the keywordDict size

The stale keywords XDEF and GLOBAL were removed,
so there can be fewer keyword nodes.

8415ce3ed0562384a197cea430968bc8f414987c authored almost 4 years ago by Rangi <[email protected]>
Separate extern getopt implementation from the unistd.h one

Fixes #710

464a3a4892f31bfbedda6b35f7a605ec673156ea authored almost 4 years ago by Rangi <[email protected]>
Make EOF token name consistent across Bison versions

The "end of file" name apparently only became a default recently

88e1cc73024e3a2e242f5afce09966758c5fa589 authored almost 4 years ago by ISSOtm <[email protected]>
Remove "EOF-newline" lexer hack

In preparation for an upcoming change
Makes for nicer error messages, complaining about EOF inst...

b3c0db218d564bbc9a801d8635591fd969c36e82 authored almost 4 years ago by ISSOtm <[email protected]>
Change behavior of merging FRAGMENTs to constrain each fragment individually

Additionally, remove the deprecated merging of non-fragment SECTIONs

76446e6d00eb86ed8a55e5bcbf1eb40ce47bb59c authored almost 4 years ago by ISSOtm <[email protected]>
Fix CI on macOS

Apple supplies version 2.3 (from 2006!!), which doesn't support `%empty`.

6623b1dc458633d344c83a4ba8f0310f9c6a3090 authored almost 4 years ago by ISSOtm <[email protected]>
Remove stale keywords

They were removed from the grammar, but not the lexer

70bbb098d3b76909d27e0bff3c331f774073dfb0 authored almost 4 years ago by ISSOtm <[email protected]>
Enable Bison warnings

-Wall should be old enough.
Also use %empty instead of comments

192606537759c3e65866f973b56f48046f60cf6d authored almost 4 years ago by ISSOtm <[email protected]>
Attempt to recover from syntax errors with bison

Fixes #595

e3d355d9762b5f50697274b25b685a0e3c16981a authored almost 4 years ago by Rangi <[email protected]>
Get rid of `asm.h` and `localasm.h`

No need to make them global

a679e0224603ca629bff991a470b8ad60ecfd053 authored almost 4 years ago by ISSOtm <[email protected]>
Reorganize and comment better `main()`

592e9b372509c306b1c4346665799f68bf00cec4 authored almost 4 years ago by ISSOtm <[email protected]>
Rework defining variables on command-line

Avoids allocating memory
Detects CLI errors even when failing to open file
Reports symbols as de...

effc58241df9802e51c1eab91351a70ffe42b40b authored almost 4 years ago by ISSOtm <[email protected]>
Add `asm/opt.c` to CMakeLists

Fixes compiling with CMake

3697065afc1ee33375e4bc8d8097554071802232 authored almost 4 years ago by ISSOtm <[email protected]>
Significantly overhaul OPT code

Simplify the mess that was option setting (2 redundant variables !?)
Move options to a separate ...

fa0fa4d5ac9e806f4e1770e1fcab7cf3c5bc5289 authored almost 4 years ago by ISSOtm <[email protected]>
Error out when given several input files

Also rename tzMainFile

5acc48fa54ccab78495044b169ce4f5ac7e523f7 authored almost 4 years ago by ISSOtm <[email protected]>
Remove time counter

Nobody uses that, and it requires running extra code for each line

1487eebe7953eae9788ea0735da94b2af6a95f12 authored almost 4 years ago by ISSOtm <[email protected]>
Avoid using EXPAND_AND_STR with external defines

There is no guarantee that they are purely numeric, use the values instead

993c034039fb0a32770b1bf2a74a168a02e8181b authored almost 4 years ago by ISSOtm <[email protected]>
Use `putc` instead of `fputc`

Also rename some functions for consistency

09f16bda4a734309f2f17d63643ec0dd3a153b76 authored almost 4 years ago by ISSOtm <[email protected]>
Rewrite RGBFIX

- Make it work inside pipelines
- Add RGBFIX tests to the suite
- Be more flexible in accepted M...

41d544a4ebb7ef7d6343bfb5a96bcbd553d57b4f authored almost 4 years ago by ISSOtm <[email protected]>
Fix a potential buffer overflow in strrpl

This caused an error using clang with -O3 -flto

f28b4abafcedefc73a8406ca8cb35c286b916866 authored almost 4 years ago by Rangi <[email protected]>
Have CMake use specified compiler in CI, not system default

Otherwise it's just GCC on Linux and Clang on macOS...

ca1c934629ac7a74a00d1210b67bd6a535880640 authored almost 4 years ago by ISSOtm <[email protected]>
Comment cites the string hash algorithm (djb2)

"If you just want to have a good hash function,
and cannot wait, djb2 is one of the best string
...

d5a00cf634d083efb00cd8feeb6c3ea44b63c258 authored almost 4 years ago by Rangi <[email protected]>
Consistently refer to "directives", not "pseudo-ops"

Some docs and warnings already referred to SECTION and
db/dw/dl "directives", but others used "p...

fb39c3a70eb3183dc2b1dd19fe03f2f0dfa9baca authored almost 4 years ago by Rangi <[email protected]>
Fix missing newline in charmap override warning

15ec6efc288ee73cfff3e42128b4024c96458e5b authored almost 4 years ago by ISSOtm <[email protected]>
Don't override bison's internal 'yytnamerr' function

This is not used in all bison versions, which causes a
"defined but not used" warning for the 'r...

93d83e17dcf976ede8e70493594a8cd18a8556f5 authored almost 4 years ago by Rangi <[email protected]>
Handle MACRO and REPT/FOR bodies differently

Fixes #697

df16e64fc63d7975009d90acea75bd2fa2b9eef4 authored almost 4 years ago by Rangi <[email protected]>
Add Rangi to contributors

a4ebb878585504294b4e9d67d4f85355815a0e02 authored almost 4 years ago by Rangi <[email protected]>
Use more verbose syntax error messages

Fixes #385

eb4952c188fddf486adbdb98a82ea9e6123eaff1 authored almost 4 years ago by Rangi <[email protected]>
Use an IELR parser if available

5ef8e0a1f6907ba33bf2a56e8911454f3a5b5569 authored almost 4 years ago by Rangi <[email protected]>
Reinstate RL into the _RS family

Removal of colon-less labels lifted the grammar ambiguity that
prevented `RL` from being usable ...

57b734a7dfc3767cedc1940ed55cce3262a955ef authored almost 4 years ago by ISSOtm <[email protected]>
Fix intra-section ALIGN not computing offset correctly

5be1c0da622d4cf7a294b7a8011f08394d045931 authored almost 4 years ago by ISSOtm <[email protected]>
Enable LTO in release builds

Fixes #693

b598911e96e0ec77c7e5f92303efa1df985bfe9f authored almost 4 years ago by ISSOtm <[email protected]>
Store IF depth relative to each fstack context

This disallows starting/ending an IF inside an
INCLUDEd file or a macro expansion

cab9cb06a3816964cf72da4017baa304729ab82d authored almost 4 years ago by Rangi <[email protected]>
Implement `BREAK` to exit `REPT` and `FOR` loops

Fixes #684

62bea23c49cc74d8a894b88002da2290dbc60f82 authored almost 4 years ago by Rangi <[email protected]>
Convert floating to fixed point by rounding, not truncation

Fixes #678

7ce5cf1595f2fb3a508e920d8e4929381e298e59 authored about 4 years ago by Rangi <[email protected]>
Fix Actions CI for MSVC

Fixes #616

7e3fc1db038c1707e00fc130dc1e4a0bfd2e7ff0 authored about 4 years ago by Rangi <[email protected]>
Implement `STRRPL`

Fixes #660

STRRPL(str, "", new) does nothing
(warn about it with -Wempty-strrpl)

77279984a53054436450ea251343515bfdbf25b1 authored about 4 years ago by Rangi <[email protected]>
Revise the rgbasm(5) docs

669a392fcd02d7544b2ab70ad6d835c15301c458 authored about 4 years ago by Rangi <[email protected]>
Remove removed features from documentation

51ce0b038a160db54a5ddb1bb782fdd28c02c8ce authored about 4 years ago by ISSOtm <[email protected]>
Remove deprecated features

Trimming off the fat!
- GLOBAL and XDEF keywords
- Colon-less global labels
- *-comments

bd244e68654533cd817aba5794c5669707cd4578 authored about 4 years ago by ISSOtm <[email protected]>
Implement PRINT and PRINTLN (#672)

Fixes #669
Closes #368
Closes #624

Deprecate PRINTT, PRINTV, PRINTI, and PRINTF

Default ...

a70ecba06f804990400326d0df079cd41e2ef096 authored about 4 years ago by Rangi <[email protected]>
Implement `REDEF` to allow redefining `EQUS` string equates

Fixes #677

9d2d5cfcfe4d647cb0a8a5363653e05b115f9940 authored about 4 years ago by Rangi <[email protected]>
Un-document deprecated _PI

18f3c8ff9aa4e0b7cf4c565dbc585b53f3c5efdb authored about 4 years ago by ISSOtm <[email protected]>
Update mathematical functions (#675)

Document the existing `ROUND`, `CEIL`, and `FLOOR` functions
Also update the trig function docs...

895ec5564d85822289c250d115fc7fec085d4cd7 authored about 4 years ago by Rangi <[email protected]>
Change `FOREACH` to `FOR` (#680)

7bb6f71f0b51afd06446fe5138f5e90f996af7e4 authored about 4 years ago by Rangi <[email protected]>
Deprecate built-in `_PI`

Fixes #670

10e3f1a02b01b7a4c5b94d121f80284fb321c723 authored about 4 years ago by Rangi <[email protected]>
Make dbgPrint in lexer.c report the correct colNo (#676)

Fixes #656

2a9d52871b0bc17f4056cdba71729085a1db8866 authored about 4 years ago by Rangi <[email protected]>
Fix size of unterminated REPT/FOREACH blocks

Do not "uncapture" ENDR if it was not read in the first place

c4fb5591eeddd2baad12fc32400dfea2bdd20fcf authored about 4 years ago by ISSOtm <[email protected]>
Implement `STRFMT` and more printf-like format specifiers for string interpolation (#646)

Fixes #570
Fixes #178

Use errors for inapplicable format spec flags instead of -Wstring-format

c0ce1da4c34f01493bbc5c4fd0735eb0cc2c4bfe authored about 4 years ago by Rangi <[email protected]>
Make Bison version detection more portable

- POSIX sh actually does NOT support `+=`,
but Bash does even in compatibility mode
- `mawk` d...

aa27e714d4e8c9aee15d220dd9f207cfd2524bba authored about 4 years ago by ISSOtm <[email protected]>
Implement `FOREACH` (#658)

This acts like `REPT` with a variable automatically
incremented across a range of values

Fix...

6874f694e5eadfdeb5ddfcf24dea57413c02bd46 authored about 4 years ago by Rangi <[email protected]>
`make checkpatch` and `make checkcodebase` check the same files

Only check src and include (not test), and
exclude src/extern and include/extern.

3690546795dec9adf4a1bc36f8a8465d999ca1f1 authored about 4 years ago by Rangi <[email protected]>
Clean up temp test files even if interrupted

Avoids "tmp.*" piling up in /tmp

7bc42d468b43529ccefec1eb813ee11cfa8176e7 authored about 4 years ago by ISSOtm <[email protected]>
Prevent tests from running if RGBDS hasn't been built

Prevents a *lot* of spurious errors due to files not generating

097999cad3c5c565c4e15695e691e603476bed00 authored about 4 years ago by ISSOtm <[email protected]>
Make gbdiff.bash handle CRLF sym files gracefully

Additionally, reduce the amount of lines piped through `cut`,
improving performance

f82edaa7ec6a2b9eed73f2a35819ae9e254cea54 authored about 4 years ago by ISSOtm <[email protected]>
Update tested projects to latest commits

Compatibility fixes, etc.

d8e8b796e7aa15956f1e648edbdc9ab6f7edb555 authored about 4 years ago by ISSOtm <[email protected]>
Improve gbdiff script

Use better constructs where possible
- <<< instead of echo|
- Parameter expansions instead of `c...

900fd8cabc919740344092a7318c9a4c357c5f5e authored about 4 years ago by ISSOtm <[email protected]>
Refactor `readString`

Much more readable, and avoids `peek(nz)`

c20ac350746b318e6399b1bb11d1ad7800263bef authored about 4 years ago by ISSOtm <[email protected]>
Implement """triple-quoted""" multi-line strings

Fixes #589

255b8bf9ba04a4621cd41daadf498156c4bc3d80 authored about 4 years ago by Rangi <[email protected]>
Support SOURCE_DATE_EPOCH for reproducible builds

See https://reproducible-builds.org/docs/source-date-epoch/

Fixes #286

ad6f17cd93fb5d505240802d6cf53a285086594f authored about 4 years ago by Rangi <[email protected]>
`LOAD` blocks cannot create a ROM section

Fixes #576

063a22ddf9c822e3a060e45746175a75c6395cc9 authored about 4 years ago by Rangi <[email protected]>
Macro arguments within a string literal are read into the string, not expanded

Fixes #643

1d9cc01ae1f1c0493f53fb9fb018b7a924455dd7 authored about 4 years ago by Rangi <[email protected]>
Fix STRUPR and STRLWR after 5aabb915ecdb8dff5fc38489b9d4d84c615d73d6

Fixes #647

f31deb5010b73b337b2611e2555a871ddac3cd28 authored about 4 years ago by Rangi <[email protected]>
Document \#

0956d300c4676c5ec6ddaf8e69de4a3d5a77fab7 authored about 4 years ago by Rangi <[email protected]>
Avoid interpreting Liquid in doc pages

They are auto-generated, so they wouldn't normally contain Liquid
(The post-processor may insert...

4ef490f3cb4bd875fa03bd63e46c9979b9a9e70b authored about 4 years ago by ISSOtm <[email protected]>
Add anonymous labels

Fix #497

8f2a894b886cb9020c7b837170d924c03cdd31d9 authored about 4 years ago by ISSOtm <[email protected]>
Implement `\#` to expand to all unshifted macro arguments

Fixes #596

0e405437574b9c37f23c1ded0efc0d9b3d690931 authored about 4 years ago by Rangi <[email protected]>
Allow {symbol} interpolation outside of strings

Fixes #629

Closes #631

ce58f6d6be1ea540930211a4d80de157a6e1f943 authored about 4 years ago by Rangi <[email protected]>
Allow STRCAT to take any number of args

Fixes bullet point 1 of #625

5aabb915ecdb8dff5fc38489b9d4d84c615d73d6 authored about 4 years ago by ISSOtm <[email protected]>
Make charmap-converting a non-UTF8 string non-fatal

0d9de01f9dfb15198174f4f7eab209f00da9c7f9 authored about 4 years ago by ISSOtm <[email protected]>
Remove custom action code when equivalent to default

Enables Bison to better reason about it, and should improve performance

f5b0eae9cd6adf3e79fc20c8f412216c7c95716e authored about 4 years ago by ISSOtm <[email protected]>
Specify rgbfix --mbc-type by name

This supports the names listed in Pan Docs:
https://gbdev.io/pandocs/#_0147-cartridge-type
Space...

e6552064bfe69ae186be17641331beca9f55cc8c authored about 4 years ago by Rangi <[email protected]>
discardBlockComment sets lexerState->disableMacroArgs = true, like discardComment

861cb552c4edb52f1ed87ea5fab39f863526cb43 authored about 4 years ago by Rangi <[email protected]>
Allow 'dw' and 'dl' to apply to characters of strings

Fixes #568

The old behavior of `dw "string"` can be replicated with `dw ("string")`; likewise f...

165bd8cb71c5ebe4f5cf79ed4179f9302834aa07 authored about 4 years ago by Rangi <[email protected]>
Document dw and dl with strings

417cceb0de454dd5312176e006cd41af6a6f0f4e authored about 4 years ago by ISSOtm <[email protected]>