move double speed functions into common/double_speed.asm

This commit is contained in:
yenatch 2013-09-08 03:14:24 -04:00
parent 4a04a09a6b
commit e7318ed4bc
2 changed files with 32 additions and 30 deletions

31
common/double_speed.asm Normal file
View File

@ -0,0 +1,31 @@
; 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.
DoubleSpeed: ; 2fef
ld hl, rKEY1
bit 7, [hl]
jr z, SwitchSpeed
ret
; 2ff7
NormalSpeed: ; 2ff7
ld hl, rKEY1
bit 7, [hl]
ret z
; 2ffd
SwitchSpeed: ; 2ffd
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
; 300b

View File

@ -827,36 +827,7 @@ _de_: ; 2fed
; 2fef ; 2fef
; The CGB hardware introduces Double Speed Mode. INCLUDE "common/double_speed.asm"
; 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.
DoubleSpeed: ; 2fef
ld hl, rKEY1
bit 7, [hl]
jr z, SwitchSpeed
ret
; 2ff7
NormalSpeed: ; 2ff7
ld hl, rKEY1
bit 7, [hl]
ret z
; 2ffd
SwitchSpeed: ; 2ffd
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
; 300b
ClearSprites: ; 300b ClearSprites: ; 300b