2013-09-08 07:14:24 +00:00
|
|
|
; The CGB hardware introduces Double Speed Mode.
|
|
|
|
; While active, the clock speed is doubled.
|
|
|
|
|
|
|
|
; The hardware can switch between normal speed
|
|
|
|
; and double speed at any time, but LCD output
|
|
|
|
; collapses during the switch.
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
DoubleSpeed::
|
2013-09-08 07:14:24 +00:00
|
|
|
ld hl, rKEY1
|
|
|
|
bit 7, [hl]
|
|
|
|
jr z, SwitchSpeed
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
NormalSpeed::
|
2013-09-08 07:14:24 +00:00
|
|
|
ld hl, rKEY1
|
|
|
|
bit 7, [hl]
|
|
|
|
ret z
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
SwitchSpeed::
|
2013-09-08 07:14:24 +00:00
|
|
|
set 0, [hl]
|
|
|
|
xor a
|
|
|
|
ld [rIF], a
|
|
|
|
ld [rIE], a
|
|
|
|
ld a, $30
|
|
|
|
ld [rJOYP], a
|
|
|
|
stop ; rgbasm adds a nop after this instruction by default
|
|
|
|
ret
|