Rangi
c691ec6607
Use std::optional<uint64_t> instead of long with a special -1 sentinel for seekSize
2026-07-21 14:31:05 -04:00
Rangi
c3073f4318
Assume that InsertionOrderedMap never adds duplicate keys
2026-07-21 14:07:45 -04:00
Rangi
e5b03e3cb1
Zero-initialize Png struct width and height just in case
2026-07-21 13:58:31 -04:00
Rangi
0d379e9016
Assume clz/ctz argument is nonzero in our fallback implementations
2026-07-21 13:56:57 -04:00
Rangi
9cbfec30c7
Avoid redundant "Unexpected text" error message after "Unknown" error
2026-07-21 13:54:11 -04:00
Rangi
9def9c9aa8
Fix an SDAS object error message to use the valid section name variable
2026-07-21 13:41:53 -04:00
Rangi
b5681c0d34
Set binary or text mode on stdout as well as stdin
2026-07-21 13:39:28 -04:00
Rangi
ec43f06bd9
Fix handling of at-files containing -- followed by positional arguments
2026-07-21 13:35:39 -04:00
Rangi
106ec399d5
Fix reading value of relocations symbol/section index from SDAS objects
2026-07-21 13:14:35 -04:00
Rangi
d9c0d37fd5
Explicitly allow JR offsets to wrap around in RGBLINK
...
This reverts commit f27a8132d9 .
2026-07-20 19:23:11 -04:00
Eldred Habert
3b1606c63c
Fix typo'd APT option in release workflow
...
Fixing up bcff14b596
v1.0.2+hotfix
2026-07-20 21:53:43 +02:00
Rangi
fa49e238a9
Release v1.0.2
2026-07-20 14:08:09 -04:00
Rangi
3426f685a0
Update libpng to 1.6.58
2026-07-20 14:08:09 -04:00
Rangi
c0e2f8340b
Output negative values with correct with in .sym files
2026-07-20 00:09:06 -04:00
Rangi
8883251bf9
Avoid UB from FileStackNodeType(type) on an invalid type
2026-07-20 00:06:09 -04:00
Rangi
f27a8132d9
Avoid truncating too-large JR offset from an invalid object file
2026-07-20 00:02:39 -04:00
Rangi
0af28de791
Fix assertion failure on nonzero base palette ID without an attribute map or palette map
...
Also fix palette map IDs to wrap at 256, not at 8 like attributes
2026-07-19 23:59:38 -04:00
Rangi
8d2275dc48
Use rpnErrorAt wrapper to ensure setting isError on all RPN errors
...
Two possible RPN errors were missing `isError = true;`
2026-07-19 23:45:45 -04:00
Rangi
7e11ab4d8f
uint16_t tileIdx type matches options.baseTileIDs
...
Tile IDs wrap at 8 bits, but that's handled by `uint8_t tileID`
2026-07-19 23:33:01 -04:00
Rangi
e84bcf83b4
Use Procedure concept to type-check decantOn lambda
2026-07-15 23:27:08 -04:00
Rangi
57c9bab3a5
Addresses are 16-bit in .map files, consistent with .sym files
2026-07-15 22:59:50 -04:00
Rangi
4ada3e85d8
Avoid overflow for very large ROMs (e.g. TPP1)
2026-07-15 22:57:25 -04:00
Rangi
ba4a7f2e6a
Explicitly assume what was verified earlier by readSection
2026-07-15 22:56:43 -04:00
Rangi
b0948566bb
Fail-safe treat 16-bit alignment as a fixed address even in RGBLINK
...
RGBASM does this itself, so should not output sections with 16-bit
alignment, but an invalid object file could otherwise cause
`getPlacement` to infinitely loop.
2026-07-15 22:46:57 -04:00
Rangi
5aa7067876
Comment on how overflow to 0 is explicitly allowed for tile and palette IDs
2026-07-15 22:28:08 -04:00
Rangi
dff176791c
Correct grammar "is" vs "are" in RGBGFX reverse mode error messages
2026-07-14 11:29:30 -04:00
Rangi
07f5969005
Consistency check the palette map, not just the attribute map
2026-07-14 11:27:41 -04:00
Rangi
d61c0561c1
Correct condition to completely print both palettes and options.palSpec
2026-07-14 11:23:03 -04:00
Rangi
b13b0c8eb8
Fix the same shifting UB for SDAS objects as for RGBDS ones
2026-07-14 11:13:30 -04:00
Rangi
ca2de0f429
Add issue template
2026-07-14 10:34:43 -04:00
Rangi
a821badc3e
Reorganize the readme
...
- Use sub-headings to let the reader skim more easily
- Link specifically to the Discord server before less-useful
"other community channels"
2026-07-14 10:34:43 -04:00
Rangi
cb34fe18f7
Use transparent instead of repeating 0x8000
2026-07-14 10:34:27 -04:00
Rangi
1ed22cc518
Mask blue for consistency (avoids transparent bit bugs)
2026-07-14 10:34:27 -04:00
Rangi
9a15b723f2
Format CGB colors in error/verbose messages as "GB:rr,gg,bb"
...
These should be more debuggable than packed "$xxxx" format.
2026-07-14 10:34:27 -04:00
Rangi
7e2a3491a5
Encapsulate fseek+ftell idiom in seekSize
...
This allows a single check for the return value of `seekSize`
to verify all three `fseek`+`ftell`+`fseek` calls.
2026-07-14 01:32:18 -04:00
Rangi
e7855ea1b8
Fix reverse mode with -s/--palette-size too small for the tile data
2026-07-14 01:11:11 -04:00
Rangi
19e60d9864
Fix large ds in linker script overflowing the PC
2026-07-14 00:42:42 -04:00
Rangi
c0ff3d92ad
Fix reverse palette offsets when base palette ID wraps around to 0
2026-07-13 23:08:20 -04:00
Rangi
e4583e7ac2
RGBGFX reverse mode checks for too-low palette IDs, not just too-high
2026-07-13 23:08:20 -04:00
Rangi
5869e0dc60
Fix RGBLINK scrambling algorithm to work for SRAM
...
Since SRAM sections start from 0, we had been using a signed
`int8_t curScrambleSRAM` counter to allow 0 as a scrambled bank,
but this actually just placed all floating SRAM sections in bank 0.
2026-07-13 22:39:41 -04:00
Rangi
196d50c1d7
Add XXX: comment tag to working but fragile test cases
2026-07-13 22:39:41 -04:00
Rangi
8b951bc047
Fix a flaky/random-seed rgbgfx_test test failure
...
Commit 21eaa2d2cc missed some
intentional unsigned underflow that is needed to set `nbTilesInBank`.
Without it, some of the randomly-seeded RGBGFX tests, such as
`./rgbgfx_test seed8.bin -b 207 -N 54,256`, can fail with "Color
mismatch after round-tripping" errors.
2026-07-13 21:31:05 -04:00
Rangi
59b6b15106
Run make format
2026-07-13 21:30:23 -04:00
Rangi
304cbb464f
Factor out verboseDo to encapsulate magenta output color
2026-07-13 18:05:55 -04:00
Rangi
ea3a8ee171
Use magenta color for some verbose output which was missing it
2026-07-13 17:47:38 -04:00
Rangi
f0419eb183
More guards against invalid object file patch data
2026-07-13 17:47:38 -04:00
Rangi
4a6ea35299
Avoid overflow in counting tiles for unrealistically large images
2026-07-13 17:47:38 -04:00
Rangi
08354cf573
Explicitly encode assumption that an overlapping section exists
2026-07-13 17:47:38 -04:00
Rangi
417b5212d4
Fix OOM for too-small overlay files in 32K mode (rgblink -t)
2026-07-13 16:17:30 -04:00
Rangi
66312f55dd
Avoid unsigned overflow/truncation from bad offset values in invalid object files
2026-07-13 13:17:09 -04:00