summaryrefslogtreecommitdiff
path: root/home/sram.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2013-09-09 22:44:48 -0400
committeryenatch <yenatch@gmail.com>2013-09-09 22:44:48 -0400
commit84a9b3907b9db08ee38e873554d8a6b4ac1b72b4 (patch)
treee804b9ed15832481d632904f42355743d9232515 /home/sram.asm
parent6439706943b53ad756d481dea683fa8ee97f4981 (diff)
rename common/ to home/
Diffstat (limited to 'home/sram.asm')
-rw-r--r--home/sram.asm34
1 files changed, 34 insertions, 0 deletions
diff --git a/home/sram.asm b/home/sram.asm
new file mode 100644
index 000000000..3c42e7618
--- /dev/null
+++ b/home/sram.asm
@@ -0,0 +1,34 @@
+GetSRAMBank: ; 2fcb
+; load sram bank a
+; if invalid bank, sram is disabled
+ cp NUM_SRAM_BANKS
+ jr c, OpenSRAM
+ jr CloseSRAM
+; 2fd1
+
+OpenSRAM: ; 2fd1
+; 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
+; 2fe1
+
+CloseSRAM: ; 2fe1
+ 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
+; 2fec
+