Commit graph

  • e0d8464557 docs(save-states): cover SRAM, EEPROM, and diagnostic-exit persistence main 0xrsydn 2026-10-14 14:28:41 +07:00
  • 652ea397f2 feat(cartridge): add 512-byte and 8 KiB serial EEPROM saves 0xrsydn 2026-10-14 12:06:17 +07:00
  • 4e4dde742d fix(memory): return the Game Pak address pattern beyond the ROM chip 0xrsydn 2026-10-14 11:58:36 +07:00
  • 32eaffa0fe feat(cartridge): add 32 KiB SRAM save memory 0xrsydn 2026-10-14 11:51:27 +07:00
  • 20176716d9 fix(memory): ignore CPU and DMA writes to unused I/O addresses 0xrsydn 2026-10-14 11:38:51 +07:00
  • b535c08313 fix(cpu): accept ARM multiplies whose destination equals Rm 0xrsydn 2026-10-14 08:38:10 +07:00
  • 0ef2719c6b fix(video): ignore enable bits for backgrounds a mode lacks 0xrsydn 2026-10-14 08:35:32 +07:00
  • 258fbff2fa fix(memory): ignore CPU and DMA writes to the Game Pak ROM windows 0xrsydn 2026-10-14 08:26:03 +07:00
  • 66817c919d fix(desktop): persist the save when a ROM window ends on a diagnostic 0xrsydn 2026-10-14 08:26:03 +07:00
  • fd73788735 feat(core): add whole-machine save states with F5/F9 window slots 0xrsydn 2026-10-08 21:39:16 +07:00
  • be9c676476 docs(compat): record blind save-navigation negative result 0xrsydn 2026-10-07 10:12:35 +07:00
  • d7de5f7121 fix(video): read BG maps and tiles through the 128 KiB VRAM mirror window 0xrsydn 2026-10-07 10:06:48 +07:00
  • 8a69e837cf docs(compat): record 40k-frame trap-point validation result 0xrsydn 2026-10-07 09:45:39 +07:00
  • 174196cdf7 docs(compat): record Emerald visible menus and second-game failure 0xrsydn 2026-10-07 09:37:19 +07:00
  • 7772a9d8eb fix(bios): return cleanly for empty LZ77 streams 0xrsydn 2026-10-07 09:05:45 +07:00
  • 423d0ba120 feat(desktop): add muted accelerated ROM playback 0xrsydn 2026-10-07 08:51:05 +07:00
  • 86f29018fd feat(desktop): add safe explicit Flash save-file persistence 0xrsydn 2026-10-07 08:25:12 +07:00
  • 8ded9bc90e feat(cartridge): implement transactional Flash programming and erase 0xrsydn 2026-10-07 08:25:12 +07:00
  • 2ea7164d9a feat(desktop): add opt-in Darwin audio output 0xrsydn 2026-10-07 07:16:42 +07:00
  • 902c892d3f feat(audio): capture transactional fixed-rate stereo samples 0xrsydn 2026-10-07 07:16:42 +07:00
  • f496f12ea3 feat(audio): add single-bank wave channel playback 0xrsydn 2026-10-07 06:49:32 +07:00
  • 7546d17630 feat(serial): support disconnected Joybus configuration and local registers 0xrsydn 2026-10-07 06:36:54 +07:00
  • 8b3b7ae62d feat(cartridge): add explicit Flash identification and banked reads 0xrsydn 2026-10-07 06:13:39 +07:00
  • fce222eea2 feat(cartridge): implement RTC calendar transfers and clock updates 0xrsydn 2026-10-07 05:55:31 +07:00
  • 692be36349 feat(cartridge): add explicit GPIO and RTC control support 0xrsydn 2026-10-07 05:28:52 +07:00
  • c5e19baed4 feat(serial): model disconnected multiplayer configuration 0xrsydn 2026-10-07 05:02:23 +07:00
  • 0b36ef1e24 feat(serial): clock disconnected normal transfers and completion IRQs 0xrsydn 2026-10-07 04:17:46 +07:00
  • d329c76dc3 feat(serial): retain disconnected external-clock requests 0xrsydn 2026-10-07 03:58:04 +07:00
  • a0516de748 fix(memory): ignore emulated writes to mapped BIOS 0xrsydn 2026-10-07 03:31:33 +07:00
  • 86f8663904 fix(serial): gate RCNT interrupt and Joybus controls by mode 0xrsydn 2026-10-07 03:10:04 +07:00
  • 8ae7b3cf72 feat(audio): implement PSG noise channel 4 0xrsydn 2026-10-07 02:51:46 +07:00
  • ca2134f23c refactor(audio): share PSG length and envelope state 0xrsydn 2026-10-07 02:40:09 +07:00
  • aee3621513 feat(audio): implement PSG pulse channel 2 0xrsydn 2026-10-07 02:30:16 +07:00
  • 9a646651da feat(audio): implement PSG pulse channel 1 0xrsydn 2026-10-07 01:53:42 +07:00
  • 5888c4d292 feat(audio): implement nominal Direct Sound playback and FIFO DMA 0xrsydn 2026-10-07 01:35:55 +07:00
  • 894f524cda feat(tooling): add bounded Jev game-debugging workflow 0xrsydn 2026-10-07 01:14:43 +07:00
  • d6a47a3e12 feat(bios): support sound and serial register reset 0xrsydn 2026-10-07 00:44:46 +07:00
  • cb2772cef8 feat(io): model disabled sound and disconnected serial state 0xrsydn 2026-10-07 00:44:46 +07:00
  • 786e4d6d34 docs: correct gameplay runner status 0xrsydn 2026-10-07 00:44:46 +07:00
  • 213a4a23af docs: select SRAM persistence as next usability requirement 0xrsydn 2026-10-06 22:42:50 +07:00
  • 9bea613674 test(compat): pin independent Pong gameplay checks 0xrsydn 2026-10-06 22:39:40 +07:00
  • 1b39a7f33f fix(bios): initialize affine scales before cartridge boot 0xrsydn 2026-10-06 22:35:26 +07:00
  • bf2ab54fc2 feat(test-runner): add deterministic gameplay scenarios 0xrsydn 2026-10-06 22:29:27 +07:00
  • f7c29429e3 docs: define general GBA usability milestones 0xrsydn 2026-10-06 22:23:28 +07:00
  • 27806ccf9e fix(timers): retain shared free-running prescaler phase 0xrsydn 2026-10-06 22:04:59 +07:00
  • bfecc87e84 fix(timers): apply machine accesses at bus completion 0xrsydn 2026-10-06 21:44:24 +07:00
  • 8930ea93b4 test(timing): compare prefetch cancellation with published observations 0xrsydn 2026-10-06 21:04:47 +07:00
  • 8f22092e06 feat(timing): implement nominal Game Pak opcode prefetch 0xrsydn 2026-10-06 20:32:54 +07:00
  • 7f3ebd3a5d refactor(cpu): account for timing in bus-access order 0xrsydn 2026-10-06 17:16:08 +07:00
  • 86321f0071 feat(cpu): retain fetch access kinds across instruction execution 0xrsydn 2026-10-06 16:53:05 +07:00
  • 2d7eb6e4eb feat(cpu): account for source fetches in branch and IRQ refills 0xrsydn 2026-10-06 16:27:45 +07:00
  • 0650b60908 feat(cpu): charge non-refill code at pipeline fetch addresses 0xrsydn 2026-10-06 15:34:45 +07:00
  • 0a696ea3e7 feat(cpu): use actual fetch regions for boundary bus snapshots 0xrsydn 2026-10-06 15:13:40 +07:00
  • f2c532f8f6 feat(cpu): retain IWRAM bus history across execution states 0xrsydn 2026-10-06 14:30:38 +07:00
  • e630d7a0ea refactor(cpu): share instruction fetch samples with bus history 0xrsydn 2026-10-06 14:12:03 +07:00
  • ea055270f4 feat(cpu): retain Thumb instruction pipeline halfwords 0xrsydn 2026-10-06 04:10:20 +07:00
  • 47df9d05a7 feat(cpu): retain ARM instruction pipeline words 0xrsydn 2026-10-06 03:57:57 +07:00
  • 16286e0cbd feat(timing): break CPU sequential access after DMA 0xrsydn 2026-10-06 03:12:54 +07:00
  • 663b25e5d1 feat(memory): retain IWRAM lane effects across DMA 0xrsydn 2026-10-06 02:34:58 +07:00
  • e72c643640 feat(dma): retain per-channel transfer data 0xrsydn 2026-10-06 02:14:19 +07:00
  • 8b0f1a5ead feat(memory): sample Thumb IWRAM refill targets 0xrsydn 2026-10-06 02:04:07 +07:00
  • 46af481487 feat(memory): retain sequential Thumb IWRAM bus lanes 0xrsydn 2026-10-06 01:43:37 +07:00
  • 8360ba4652 feat(memory): add region-dependent Thumb open-bus snapshots 0xrsydn 2026-10-06 01:25:41 +07:00
  • cb4670c245 feat(memory): retain aligned Thumb BIOS prefetch words 0xrsydn 2026-10-06 00:57:49 +07:00
  • efdc288db6 fix(bios): preserve documented protected-read words at firmware exits 0xrsydn 2026-10-06 00:37:20 +07:00
  • b16588aa4c docs(research): identify firmware exit layout as BIOS readback mismatch 0xrsydn 2026-10-06 00:31:28 +07:00
  • c31a703db4 feat(memory): protect CPU BIOS reads with retained ARM prefetch 0xrsydn 2026-10-05 21:42:04 +07:00
  • 6e736c634b test(bios): integrate pinned BIOS read-protection baseline 0xrsydn 2026-10-05 21:31:04 +07:00
  • 661f00d682 test(memory): integrate pinned public memory compatibility suite 0xrsydn 2026-10-05 21:19:10 +07:00
  • 3d67b136ba fix(cpu): store PC plus six for Thumb empty register lists 0xrsydn 2026-10-05 20:47:20 +07:00
  • 08c8705904 test(cpu): integrate pinned public Thumb compatibility suite 0xrsydn 2026-10-05 20:40:37 +07:00
  • a9493d4cc6 feat(memory): support ARM unused-memory open-bus reads 0xrsydn 2026-10-05 20:25:18 +07:00
  • ab625dc55d fix(cpu): support single-load writeback register aliases 0xrsydn 2026-10-05 20:15:18 +07:00
  • a28b830b38 feat(testing): pin public ARM fixture and document compatibility baseline 0xrsydn 2026-10-05 20:00:16 +07:00
  • 75fb98bc55 fix(cpu): restore saved status for test and compare Rd=15 forms 0xrsydn 2026-10-05 20:00:16 +07:00
  • da700671ad feat(testing): add bounded headless ROM suites and JSON reports 0xrsydn 2026-10-05 19:30:37 +07:00
  • 109c1ffe81 feat(desktop): run ROM files in a window with keypad input 0xrsydn 2026-10-05 19:12:55 +07:00
  • c256bf8ccd feat(cartridge): add bounded terminal ROM loading 0xrsydn 2026-10-05 18:57:16 +07:00
  • c836944c2e feat(power): implement keypad-wake STOP and BIOS Stop service 0xrsydn 2026-10-05 18:27:35 +07:00
  • 597b02881b feat(input): implement KEYCNT keypad interrupt control 0xrsydn 2026-10-05 18:00:46 +07:00
  • 7d396fea35 docs: split README into docs/ and add AGENTS.md 0xrsydn 2026-10-05 16:18:37 +07:00
  • f8a0676748 refactor: split into gameboy-rust workspace with core, demos, and desktop crates 0xrsydn 2026-10-05 16:07:32 +07:00
  • a8944d1d5f feat(bios): implement selective RegisterRamReset service 0xrsydn 2026-10-05 15:48:32 +07:00
  • 2dfab137a6 feat(bios): implement SoftReset restart service 0xrsydn 2026-10-05 15:35:09 +07:00
  • f60db7e43b feat(bios): implement background and object affine services 0xrsydn 2026-10-05 15:19:20 +07:00
  • 1edaa4151d feat(bios): implement fixed-point ArcTan and ArcTan2 services 0xrsydn 2026-10-05 14:36:52 +07:00
  • f0e5240d44 feat(bios): decode Huffman streams through ARM instructions 0xrsydn 2026-10-05 14:14:10 +07:00
  • 3ebc1f03d0 feat(bios): implement byte and halfword differential filters 0xrsydn 2026-10-05 13:10:46 +07:00
  • 612a978f44 docs: document emulator architecture validation and limits 0xrsydn 2026-10-05 12:55:35 +07:00
  • f9a426a11e feat(desktop): integrate native macOS windows controls and smoke tests 0xrsydn 2026-10-05 12:55:35 +07:00
  • 189240d9b4 feat(demo): exercise timer setup and IRQ handlers 0xrsydn 2026-10-05 12:55:35 +07:00
  • 0b3935800a feat(demo): exercise HBlank DMA palette changes 0xrsydn 2026-10-05 12:55:35 +07:00
  • c6a447d554 feat(demo): exercise background and sprite mosaic controls 0xrsydn 2026-10-05 12:55:35 +07:00
  • bb409f27b1 feat(demo): exercise windows blending and brightness 0xrsydn 2026-10-05 12:55:35 +07:00
  • 52194cd38b feat(demo): exercise Mode 4 and 5 page switching 0xrsydn 2026-10-05 12:55:35 +07:00
  • cf9ee0ca65 feat(demo): exercise affine transforms and raster distortion 0xrsydn 2026-10-05 12:55:35 +07:00
  • 169fab9bf6 feat(demo): run CPU-driven bitmap tile and sprite scenes 0xrsydn 2026-10-05 12:55:35 +07:00
  • 0280563430 feat(bios): expand packed units with BitUnPack 0xrsydn 2026-10-05 12:55:35 +07:00
  • 5984551784 feat(bios): decode run-length streams through ARM instructions 0xrsydn 2026-10-05 12:55:35 +07:00
  • 17e9351371 feat(bios): decode LZ77 streams through ARM instructions 0xrsydn 2026-10-05 12:55:35 +07:00