Commit graph

14 commits

Author SHA1 Message Date
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