From e7318ed4bc38baebce0f26048b166c76d13c1838 Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 8 Sep 2013 03:14:24 -0400 Subject: [PATCH] move double speed functions into common/double_speed.asm --- common/double_speed.asm | 31 +++++++++++++++++++++++++++++++ main.asm | 31 +------------------------------ 2 files changed, 32 insertions(+), 30 deletions(-) create mode 100644 common/double_speed.asm diff --git a/common/double_speed.asm b/common/double_speed.asm new file mode 100644 index 000000000..fc1234215 --- /dev/null +++ b/common/double_speed.asm @@ -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 + diff --git a/main.asm b/main.asm index bf2527f10..7213ea3f6 100644 --- a/main.asm +++ b/main.asm @@ -827,36 +827,7 @@ _de_: ; 2fed ; 2fef -; 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 +INCLUDE "common/double_speed.asm" ClearSprites: ; 300b