2020-07-04 02:57:43 +00:00
|
|
|
BankswitchHome::
|
|
|
|
; switches to bank # in a
|
|
|
|
; Only use this when in the home bank!
|
|
|
|
ld [wBankswitchHomeTemp], a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh a, [hLoadedROMBank]
|
2020-07-04 02:57:43 +00:00
|
|
|
ld [wBankswitchHomeSavedROMBank], a
|
|
|
|
ld a, [wBankswitchHomeTemp]
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hLoadedROMBank], a
|
2020-07-04 02:57:43 +00:00
|
|
|
ld [MBC1RomBank], a
|
|
|
|
ret
|
|
|
|
|
|
|
|
BankswitchBack::
|
|
|
|
; returns from BankswitchHome
|
|
|
|
ld a, [wBankswitchHomeSavedROMBank]
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hLoadedROMBank], a
|
2020-07-04 02:57:43 +00:00
|
|
|
ld [MBC1RomBank], a
|
|
|
|
ret
|
|
|
|
|
|
|
|
Bankswitch::
|
|
|
|
; self-contained bankswitch, use this when not in the home bank
|
|
|
|
; switches to the bank in b
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh a, [hLoadedROMBank]
|
2020-07-04 02:57:43 +00:00
|
|
|
push af
|
|
|
|
ld a, b
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hLoadedROMBank], a
|
2020-07-04 02:57:43 +00:00
|
|
|
ld [MBC1RomBank], a
|
|
|
|
ld bc, .Return
|
|
|
|
push bc
|
|
|
|
jp hl
|
|
|
|
.Return
|
|
|
|
pop bc
|
|
|
|
ld a, b
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hLoadedROMBank], a
|
2020-07-04 02:57:43 +00:00
|
|
|
ld [MBC1RomBank], a
|
|
|
|
ret
|