gameboy-rust/docs
0xrsydn 32eaffa0fe feat(cartridge): add 32 KiB SRAM save memory
Select it with --save-type sram (SaveDevice::Sram). The array is byte-wide,
starts erased, and repeats every 32 KiB through the 0x0e00xxxx save window.
A CPU byte store is staged and committed when its step completes, so failed
steps roll back and reads later in the step see the byte. Unlike Flash, SRAM
can be read from ROM code. Halfword/word access and DMA stay diagnostic until
the 8-bit bus behavior for those widths is verified.

SRAM shares the save-image API, host save files, and save states. Its device
code is new, so existing save states keep loading.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhfHfHEuzv2AUTd6erW1gU
2026-10-14 14:28:41 +07:00
..
hardware feat(cartridge): add 32 KiB SRAM save memory 2026-10-14 14:28:41 +07:00
research fix(memory): ignore CPU and DMA writes to the Game Pak ROM windows 2026-10-14 14:28:41 +07:00
architecture.md feat(cartridge): add 32 KiB SRAM save memory 2026-10-14 14:28:41 +07:00
demos.md fix(timers): apply machine accesses at bus completion 2026-10-06 21:52:09 +07:00
development.md feat(desktop): add safe explicit Flash save-file persistence 2026-10-07 08:36:12 +07:00
jev-debugging.md feat(tooling): add bounded Jev game-debugging workflow 2026-10-07 01:19:19 +07:00
public-arm-tests.md fix(bios): preserve documented protected-read words at firmware exits 2026-10-06 00:45:28 +07:00
public-bios-tests.md feat(memory): retain aligned Thumb BIOS prefetch words 2026-10-06 01:02:31 +07:00
public-memory-tests.md fix(bios): preserve documented protected-read words at firmware exits 2026-10-06 00:45:28 +07:00
public-pong.md test(compat): pin independent Pong gameplay checks 2026-10-06 22:39:56 +07:00
public-thumb-tests.md fix(bios): preserve documented protected-read words at firmware exits 2026-10-06 00:45:28 +07:00
references.md fix(bios): return cleanly for empty LZ77 streams 2026-10-07 09:06:00 +07:00
rom-tests.md test(compat): pin independent Pong gameplay checks 2026-10-06 22:39:56 +07:00
status.md feat(cartridge): add 32 KiB SRAM save memory 2026-10-14 14:28:41 +07:00
testing.md fix(bios): return cleanly for empty LZ77 streams 2026-10-07 09:06:00 +07:00
usability-roadmap.md feat(cartridge): add 32 KiB SRAM save memory 2026-10-14 14:28:41 +07:00