diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-09-09 08:51:12 +0100 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-09-09 08:51:12 +0100 |
commit | 32b02147925566bac93bf71b002860335583574c (patch) | |
tree | d9cf016338d08022f0c0db358b356ddfb18b0e16 /src/home/double_speed.asm | |
parent | e4bce9b7ee5e89f8edfd921de2379f0fa06af206 (diff) |
Split home bank
Diffstat (limited to 'src/home/double_speed.asm')
-rw-r--r-- | src/home/double_speed.asm | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/home/double_speed.asm b/src/home/double_speed.asm new file mode 100644 index 0000000..3f28b90 --- /dev/null +++ b/src/home/double_speed.asm @@ -0,0 +1,35 @@ +; switch to CGB Normal Speed Mode if playing on CGB and current mode is Double Speed Mode +SwitchToCGBNormalSpeed: ; 7db (0:7db) + call CheckForCGB + ret c + ld hl, rKEY1 + bit 7, [hl] + ret z + jr CGBSpeedSwitch + +; switch to CGB Double Speed Mode if playing on CGB and current mode is Normal Speed Mode +SwitchToCGBDoubleSpeed: ; 07e7 (0:07e7) + call CheckForCGB + ret c + ld hl, rKEY1 + bit 7, [hl] + ret nz +; fallthrough + +; switch between CGB Double Speed Mode and Normal Speed Mode +CGBSpeedSwitch: ; 07f1 (0:07f1) + ldh a, [rIE] + push af + xor a + ldh [rIE], a + set 0, [hl] + xor a + ldh [rIF], a + ldh [rIE], a + ld a, $30 + ldh [rJOYP], a + stop + call SetupTimer + pop af + ldh [rIE], a + ret |