0xrsydn
3ebc1f03d0
feat(bios): implement byte and halfword differential filters
...
Add SWI 0x16, 0x17, and 0x18 as original ARM routines. Reconstruct samples with modular addition and byte or halfword output. Validate headers, alignment, lengths, and address ranges; preserve earlier completed writes on failure.
Add 17 regression tests for sample round trips, wraparound, large byte lengths, caller state, partial failures, bus behavior, and DMA/IRQ progress. Validate 635 default and 624 core-only tests in debug and release, plus all 10 native Darwin ARM64 window smoke tests.
2026-10-05 13:14:00 +07:00
0xrsydn
169fab9bf6
feat(demo): run CPU-driven bitmap tile and sprite scenes
...
Add original ARM graphics programs, input controls, DMA initialization, and a bounded frame runner.
2026-10-05 12:58:39 +07:00
0xrsydn
0280563430
feat(bios): expand packed units with BitUnPack
...
Add SWI 0x10, packed-unit widths, conditional offsets, complete word stores, and independent bit-level tests.
2026-10-05 12:58:39 +07:00
0xrsydn
5984551784
feat(bios): decode run-length streams through ARM instructions
...
Add RLUnCompWram and RLUnCompVram with block bounds, word-independent buffering, and device-progress tests.
2026-10-05 12:58:39 +07:00
0xrsydn
17e9351371
feat(bios): decode LZ77 streams through ARM instructions
...
Add byte and buffered-halfword output, overlapping references, argument diagnostics, and a reusable output routine.
2026-10-05 12:58:39 +07:00
0xrsydn
096bcfe314
feat(bios): implement division and integer square root
...
Add Div, DivArm, and Sqrt with emitted ARM algorithms and independent arithmetic references.
2026-10-05 12:58:39 +07:00
0xrsydn
04e4599677
feat(bios): add original boot IRQ waits and memory services
...
Generate original ARM firmware for minimal boot, IRQ callbacks, HALT, IntrWait, CpuSet, and CpuFastSet.
2026-10-05 12:58:39 +07:00
0xrsydn
bfab05b34d
feat(video): bound per-row sprite preparation work
...
Apply nominal 1210/954-cycle allowances, affine setup costs, OAM-order allocation, and partial sprite prefixes.
2026-10-05 12:58:38 +07:00
0xrsydn
52c77193cb
feat(video): capture scanlines and prepare sprites one row ahead
...
Add cycle40 preparation, deferred diagnostics, HBlank capture, VBlank presentation, and affine history tests.
2026-10-05 12:58:38 +07:00
0xrsydn
1cba1510d0
feat(video): render regular and affine sprites
...
Add OAM sampling, affine canvases, tile mapping, priority metadata, OBJ windows, and mosaic composition.
2026-10-05 12:58:38 +07:00
0xrsydn
45b45e5c52
feat(video): track background and sprite mosaic state
...
Add vertical mosaic counters and background/sprite sampling regressions.
2026-10-05 12:58:38 +07:00
0xrsydn
9d14dd7cf4
feat(video): track windows and compose color effects
...
Add persistent window comparators, region masks, alpha blending, and brightness effects.
2026-10-05 12:58:38 +07:00
0xrsydn
fad034ae74
feat(video): render tiled affine and bitmap backgrounds
...
Add Mode 0-5 composition, palettes, tile maps, affine sampling, and framebuffer diagnostics.
2026-10-05 12:58:38 +07:00
0xrsydn
bb6784615a
feat(machine): schedule display DMA IRQs and HALT
...
Integrate nominal bus timing, device clocks, display events, DMA transfers, keypad state, and interrupt delivery.
2026-10-05 12:58:38 +07:00
0xrsydn
156f1eb839
feat(memory): map GBA memory and device registers
...
Add memory mirrors, video-bus write rules, I/O latches, timers, and interrupt registers.
2026-10-05 12:58:38 +07:00
0xrsydn
535c69e09f
feat(cpu): implement ARM7TDMI ARM and Thumb execution
...
Add ALU, transfers, banked status, exceptions, instruction timing, and CPU regression tests.
2026-10-05 12:58:38 +07:00