ref: cd3fb2ca724475df55f2a2f908761d100bcf2a4b
dir: /home/sram.asm/
OpenSRAM:: ; if invalid bank, sram is disabled cp NUM_SRAM_BANKS jr c, .valid if DEF(_DEBUG) push af push bc ld b, 1 .loop sla b dec a jr nz, .loop ld a, BANK(sOpenedInvalidSRAM) call OpenSRAM ld a, [sOpenedInvalidSRAM] or b ld [sOpenedInvalidSRAM], a pop bc pop af endc jr CloseSRAM .valid: ; switch to sram bank a push af ; latch clock data ld a, 1 ld [MBC3LatchClock], a ; enable sram/clock write ld a, SRAM_ENABLE ld [MBC3SRamEnable], a ; select sram bank pop af ld [MBC3SRamBank], a ret CloseSRAM:: push af ld a, SRAM_DISABLE ; reset clock latch for next time ld [MBC3LatchClock], a ; disable sram/clock write ld [MBC3SRamEnable], a pop af ret