blob: f3aa682a5baf109f4e475dce0c916a710fe58199 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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:
call CheckForCGB
ret c
ld hl, rKEY1
bit 7, [hl]
ret nz
; fallthrough
; switch between CGB Double Speed Mode and Normal Speed Mode
CGBSpeedSwitch:
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
|