This commit is contained in:
dannye 2019-04-13 16:30:36 -05:00
commit e2c81e10f1
575 changed files with 12380 additions and 11198 deletions

View file

@ -1,62 +1,62 @@
FarCopyData2::
; Identical to FarCopyData, but uses hROMBankTemp
; as temp space instead of wBuffer.
ld [hROMBankTemp],a
ld a,[H_LOADEDROMBANK]
ld [hROMBankTemp], a
ld a, [H_LOADEDROMBANK]
push af
ld a,[hROMBankTemp]
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld a, [hROMBankTemp]
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
call CopyData
pop af
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
ret
FarCopyData3::
; Copy bc bytes from a:de to hl.
ld [hROMBankTemp],a
ld a,[H_LOADEDROMBANK]
ld [hROMBankTemp], a
ld a, [H_LOADEDROMBANK]
push af
ld a,[hROMBankTemp]
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld a, [hROMBankTemp]
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
push hl
push de
push de
ld d,h
ld e,l
ld d, h
ld e, l
pop hl
call CopyData
pop de
pop hl
pop af
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
ret
FarCopyDataDouble::
; Expand bc bytes of 1bpp image data
; from a:hl to 2bpp data at de.
ld [hROMBankTemp],a
ld a,[H_LOADEDROMBANK]
ld [hROMBankTemp], a
ld a, [H_LOADEDROMBANK]
push af
ld a,[hROMBankTemp]
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld a, [hROMBankTemp]
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
.loop
ld a,[hli]
ld [de],a
ld a, [hli]
ld [de], a
inc de
ld [de],a
ld [de], a
inc de
dec bc
ld a,c
ld a, c
or b
jr nz,.loop
jr nz, .loop
pop af
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
ret
CopyVideoData::

File diff suppressed because it is too large Load diff

View file

@ -24,7 +24,7 @@ Predef::
ld de, .done
push de
jp [hl]
jp hl
.done
pop af

View file

@ -18,7 +18,7 @@ TextBoxBorder::
.next
push hl
ld a, "│"
ld [hli],a
ld [hli], a
ld a, " "
call NPlaceChar
ld [hl], "│"
@ -49,12 +49,12 @@ NPlaceChar::
PlaceString::
push hl
PlaceNextChar::
ld a,[de]
ld a, [de]
cp "@"
jr nz, Char4ETest
ld b,h
ld c,l
ld b, h
ld c, l
pop hl
ret
@ -62,19 +62,19 @@ Char4ETest::
cp $4E ; next
jr nz, .char4FTest
ld bc, 2 * SCREEN_WIDTH
ld a,[hFlags_0xFFF6]
bit 2,a
jr z,.ok
ld bc,SCREEN_WIDTH
ld a, [hFlags_0xFFF6]
bit 2, a
jr z, .ok
ld bc, SCREEN_WIDTH
.ok
pop hl
add hl,bc
add hl, bc
push hl
jp PlaceNextChar_inc
.char4FTest
cp $4F ; line
jr nz,.next3
jr nz, .next3
pop hl
coord hl, 1, 16
push hl
@ -111,17 +111,17 @@ endm
dict $59, Char59 ; TARGET
dict $5A, Char5A ; USER
ld [hli],a
ld [hli], a
call PrintLetterDelay
PlaceNextChar_inc::
inc de
jp PlaceNextChar
Char00::
ld b,h
ld c,l
ld b, h
ld c, l
pop hl
ld de,Char00Text
ld de, Char00Text
dec de
ret
@ -131,47 +131,47 @@ Char00Text:: ; “%d ERROR.”
Char52:: ; players name
push de
ld de,wPlayerName
ld de, wPlayerName
jr FinishDTE
Char53:: ; rivals name
push de
ld de,wRivalName
ld de, wRivalName
jr FinishDTE
Char5D:: ; TRAINER
push de
ld de,Char5DText
ld de, Char5DText
jr FinishDTE
Char5C:: ; TM
push de
ld de,Char5CText
ld de, Char5CText
jr FinishDTE
Char5B:: ; PC
push de
ld de,Char5BText
ld de, Char5BText
jr FinishDTE
Char5E:: ; ROCKET
push de
ld de,Char5EText
ld de, Char5EText
jr FinishDTE
Char54:: ; POKé
push de
ld de,Char54Text
ld de, Char54Text
jr FinishDTE
Char56:: ; ……
push de
ld de,Char56Text
ld de, Char56Text
jr FinishDTE
Char4A:: ; PKMN
push de
ld de,Char4AText
ld de, Char4AText
jr FinishDTE
Char59::
@ -180,7 +180,7 @@ Char59::
; or
; player active monsters name
; (like Char5A but flipped)
ld a,[H_WHOSETURN]
ld a, [H_WHOSETURN]
xor 1
jr MonsterNameCharsCommon
@ -189,26 +189,26 @@ Char5A::
; player active monsters name
; or
; enemy active monsters name, prefixed with “Enemy ”
ld a,[H_WHOSETURN]
ld a, [H_WHOSETURN]
MonsterNameCharsCommon::
push de
and a
jr nz,.Enemy
ld de,wBattleMonNick ; player active monster name
jr nz, .Enemy
ld de, wBattleMonNick ; player active monster name
jr FinishDTE
.Enemy
; print “Enemy ”
ld de,Char5AText
ld de, Char5AText
call PlaceString
ld h,b
ld l,c
ld de,wEnemyMonNick ; enemy active monster name
ld h, b
ld l, c
ld de, wEnemyMonNick ; enemy active monster name
FinishDTE::
call PlaceString
ld h,b
ld l,c
ld h, b
ld l, c
pop de
inc de
jp PlaceNextChar
@ -232,12 +232,12 @@ Char4AText::
Char55::
push de
ld b,h
ld c,l
ld hl,Char55Text
ld b, h
ld c, l
ld hl, Char55Text
call TextCommandProcessor
ld h,b
ld l,c
ld h, b
ld l, c
pop de
inc de
jp PlaceNextChar
@ -249,12 +249,12 @@ Char55Text::
Char5F::
; ends a Pokédex entry
ld [hl],"."
ld [hl], "."
pop hl
ret
Char58:: ; prompt
ld a,[wLinkState]
ld a, [wLinkState]
cp LINK_STATE_BATTLING
jp z, .ok
ld a, "▼"
@ -290,14 +290,14 @@ Char51:: ; para
Char49::
push de
ld a,"▼"
ld a, "▼"
Coorda 18, 16
call ProtectedDelay3
call ManualTextScroll
coord hl, 1, 10
lb bc, 7, 18
call ClearScreenArea
ld c,20
ld c, 20
call DelayFrames
pop de
pop hl
@ -306,7 +306,7 @@ Char49::
jp PlaceNextChar_inc
Char4B::
ld a,"▼"
ld a, "▼"
Coorda 18, 16
call ProtectedDelay3
push de
@ -332,25 +332,25 @@ ScrollTextUpOneLine::
coord de, 0, 13 ; empty line above text
ld b, SCREEN_WIDTH * 3
.copyText
ld a,[hli]
ld [de],a
ld a, [hli]
ld [de], a
inc de
dec b
jr nz,.copyText
jr nz, .copyText
coord hl, 1, 16
ld a, " "
ld b,SCREEN_WIDTH - 2
ld b, SCREEN_WIDTH - 2
.clearText
ld [hli],a
ld [hli], a
dec b
jr nz,.clearText
jr nz, .clearText
; wait five frames
ld b,5
ld b, 5
.WaitFrame
call DelayFrame
dec b
jr nz,.WaitFrame
jr nz, .WaitFrame
ret
@ -361,33 +361,33 @@ ProtectedDelay3::
ret
TextCommandProcessor::
ld a,[wLetterPrintingDelayFlags]
ld a, [wLetterPrintingDelayFlags]
push af
set 1,a
ld e,a
set 1, a
ld e, a
ld a, [$fff4]
xor e
ld [wLetterPrintingDelayFlags],a
ld a,c
ld [wTextDest],a
ld a,b
ld [wTextDest + 1],a
ld [wLetterPrintingDelayFlags], a
ld a, c
ld [wTextDest], a
ld a, b
ld [wTextDest + 1], a
NextTextCommand::
ld a,[hli]
cp a, "@" ; terminator
jr nz,.doTextCommand
ld a, [hli]
cp "@" ; terminator
jr nz, .doTextCommand
pop af
ld [wLetterPrintingDelayFlags],a
ld [wLetterPrintingDelayFlags], a
ret
.doTextCommand
push hl
cp a, $17
cp $17
jp z, TextCommand17
cp a, $0e
jp nc,TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB
cp $0e
jp nc, TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB
; if a < 0xE, use a jump table
ld hl,TextCommandJumpTable
ld hl, TextCommandJumpTable
push bc
add a
ld b, 0
@ -406,17 +406,17 @@ NextTextCommand::
; CC = width
TextCommand04::
pop hl
ld a,[hli]
ld e,a
ld a,[hli]
ld d,a
ld a,[hli]
ld b,a
ld a,[hli]
ld c,a
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
ld a, [hli]
ld b, a
ld a, [hli]
ld c, a
push hl
ld h,d
ld l,e
ld h, d
ld l, e
call TextBoxBorder
pop hl
jr NextTextCommand
@ -425,13 +425,13 @@ TextCommand04::
; 00{string}
TextCommand00::
pop hl
ld d,h
ld e,l
ld h,b
ld l,c
ld d, h
ld e, l
ld h, b
ld l, c
call PlaceString
ld h,d
ld l,e
ld h, d
ld l, e
inc hl
jr NextTextCommand
@ -440,13 +440,13 @@ TextCommand00::
; AAAA = address of string
TextCommand01::
pop hl
ld a,[hli]
ld e,a
ld a,[hli]
ld d,a
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
push hl
ld h,b
ld l,c
ld h, b
ld l, c
call PlaceString
pop hl
jr NextTextCommand
@ -459,18 +459,18 @@ TextCommand01::
; bits 5-7 = unknown flags
TextCommand02::
pop hl
ld a,[hli]
ld e,a
ld a,[hli]
ld d,a
ld a,[hli]
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
ld a, [hli]
push hl
ld h,b
ld l,c
ld c,a
ld h, b
ld l, c
ld c, a
call PrintBCDNumber
ld b,h
ld c,l
ld b, h
ld c, l
pop hl
jr NextTextCommand
@ -479,12 +479,12 @@ TextCommand02::
; AAAA = new destination address
TextCommand03::
pop hl
ld a,[hli]
ld [wTextDest],a
ld c,a
ld a,[hli]
ld [wTextDest + 1],a
ld b,a
ld a, [hli]
ld [wTextDest], a
ld c, a
ld a, [hli]
ld [wTextDest + 1], a
ld b, a
jp NextTextCommand
; repoint destination to second line of dialogue text box
@ -499,15 +499,15 @@ TextCommand05::
; 06
; (no arguments)
TextCommand06::
ld a,[wLinkState]
cp a,LINK_STATE_BATTLING
jp z,TextCommand0D
ld a,"▼"
ld a, [wLinkState]
cp LINK_STATE_BATTLING
jp z, TextCommand0D
ld a, "▼"
Coorda 18, 16 ; place down arrow in lower right corner of dialogue text box
push bc
call ManualTextScroll ; blink arrow and wait for A or B to be pressed
pop bc
ld a," "
ld a, " "
Coorda 18, 16 ; overwrite down arrow with blank space
pop hl
jp NextTextCommand
@ -528,7 +528,7 @@ TextCommand07::
; 08{code}
TextCommand08::
pop hl
ld de,NextTextCommand
ld de, NextTextCommand
push de ; return address
jp hl
@ -540,25 +540,25 @@ TextCommand08::
; bits 4-7 = how long the number is in bytes
TextCommand09::
pop hl
ld a,[hli]
ld e,a
ld a,[hli]
ld d,a
ld a,[hli]
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
ld a, [hli]
push hl
ld h,b
ld l,c
ld b,a
and a,$0f
ld c,a
ld a,b
and a,$f0
ld h, b
ld l, c
ld b, a
and $0f
ld c, a
ld a, b
and $f0
swap a
set BIT_LEFT_ALIGN,a
ld b,a
ld b, a
call PrintNumber
ld b,h
ld c,l
ld b, h
ld c, l
pop hl
jp NextTextCommand
@ -568,10 +568,10 @@ TextCommand09::
TextCommand0A::
push bc
call Joypad
ld a,[hJoyHeld]
and a,A_BUTTON | B_BUTTON
jr nz,.skipDelay
ld c,30
ld a, [hJoyHeld]
and A_BUTTON | B_BUTTON
jr nz, .skipDelay
ld c, 30
call DelayFrames
.skipDelay
pop bc
@ -585,24 +585,24 @@ TextCommand0B::
pop hl
push bc
dec hl
ld a,[hli]
ld b,a ; b = command number that got us here
ld a, [hli]
ld b, a ; b = command number that got us here
push hl
ld hl,TextCommandSounds
ld hl, TextCommandSounds
.loop
ld a,[hli]
ld a, [hli]
cp b
jr z,.matchFound
jr z, .matchFound
inc hl
jr .loop
.matchFound
cp a,$14
jr z,.pokemonCry
cp a,$15
jr z,.pokemonCry
cp a,$16
jr z,.pokemonCry
ld a,[hl]
cp $14
jr z, .pokemonCry
cp $15
jr z, .pokemonCry
cp $16
jr z, .pokemonCry
ld a, [hl]
call PlaySound
call WaitForSoundToFinish
pop hl
@ -610,7 +610,7 @@ TextCommand0B::
jp NextTextCommand
.pokemonCry
push de
ld a,[hl]
ld a, [hl]
call PlayCry
pop de
pop hl
@ -635,27 +635,27 @@ TextCommandSounds::
; AA = number of ellipses to draw
TextCommand0C::
pop hl
ld a,[hli]
ld d,a
ld a, [hli]
ld d, a
push hl
ld h,b
ld l,c
ld h, b
ld l, c
.loop
ld a,"…"
ld [hli],a
ld a, "…"
ld [hli], a
push de
call Joypad
pop de
ld a,[hJoyHeld] ; joypad state
and a,A_BUTTON | B_BUTTON
jr nz,.skipDelay ; if so, skip the delay
ld c,10
ld a, [hJoyHeld] ; joypad state
and A_BUTTON | B_BUTTON
jr nz, .skipDelay ; if so, skip the delay
ld c, 10
call DelayFrames
.skipDelay
dec d
jr nz,.loop
ld b,h
ld c,l
jr nz, .loop
ld b, h
ld c, l
pop hl
jp NextTextCommand
@ -675,23 +675,23 @@ TextCommand0D::
; BB = bank
TextCommand17::
pop hl
ld a,[H_LOADEDROMBANK]
ld a, [H_LOADEDROMBANK]
push af
ld a,[hli]
ld e,a
ld a,[hli]
ld d,a
ld a,[hli]
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
ld a, [hli]
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
push hl
ld l,e
ld h,d
ld l, e
ld h, d
call TextCommandProcessor
pop hl
pop af
ld [H_LOADEDROMBANK],a
ld [MBC1RomBank],a
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
jp NextTextCommand
TextCommandJumpTable::

View file

@ -10,27 +10,27 @@ GetRowColAddressBgMap::
srl h
rr a
or l
ld l,a
ld a,b
ld l, a
ld a, b
or h
ld h,a
ld h, a
ret
; clears a VRAM background map with blank space tiles
; INPUT: h - high byte of background tile map address in VRAM
ClearBgMap::
ld a," "
ld a, " "
jr .next
ld a,l
ld a, l
.next
ld de,$400 ; size of VRAM background map
ld l,e
ld de, $400 ; size of VRAM background map
ld l, e
.loop
ld [hli],a
ld [hli], a
dec e
jr nz,.loop
jr nz, .loop
dec d
jr nz,.loop
jr nz, .loop
ret
; This function redraws a BG row of height 2 or a BG column of width 2.
@ -40,76 +40,76 @@ ClearBgMap::
; However, this function is also called repeatedly to redraw the whole screen
; when necessary. It is also used in trade animation and elevator code.
RedrawRowOrColumn::
ld a,[hRedrawRowOrColumnMode]
ld a, [hRedrawRowOrColumnMode]
and a
ret z
ld b,a
ld b, a
xor a
ld [hRedrawRowOrColumnMode],a
ld [hRedrawRowOrColumnMode], a
dec b
jr nz,.redrawRow
jr nz, .redrawRow
.redrawColumn
ld hl,wRedrawRowOrColumnSrcTiles
ld a,[hRedrawRowOrColumnDest]
ld e,a
ld a,[hRedrawRowOrColumnDest + 1]
ld d,a
ld c,SCREEN_HEIGHT
ld hl, wRedrawRowOrColumnSrcTiles
ld a, [hRedrawRowOrColumnDest]
ld e, a
ld a, [hRedrawRowOrColumnDest + 1]
ld d, a
ld c, SCREEN_HEIGHT
.loop1
ld a,[hli]
ld [de],a
ld a, [hli]
ld [de], a
inc de
ld a,[hli]
ld [de],a
ld a,BG_MAP_WIDTH - 1
ld a, [hli]
ld [de], a
ld a, BG_MAP_WIDTH - 1
add e
ld e,a
jr nc,.noCarry
ld e, a
jr nc, .noCarry
inc d
.noCarry
; the following 4 lines wrap us from bottom to top if necessary
ld a,d
and a,$03
or a,$98
ld d,a
ld a, d
and $03
or $98
ld d, a
dec c
jr nz,.loop1
jr nz, .loop1
xor a
ld [hRedrawRowOrColumnMode],a
ld [hRedrawRowOrColumnMode], a
ret
.redrawRow
ld hl,wRedrawRowOrColumnSrcTiles
ld a,[hRedrawRowOrColumnDest]
ld e,a
ld a,[hRedrawRowOrColumnDest + 1]
ld d,a
ld hl, wRedrawRowOrColumnSrcTiles
ld a, [hRedrawRowOrColumnDest]
ld e, a
ld a, [hRedrawRowOrColumnDest + 1]
ld d, a
push de
call .DrawHalf ; draw upper half
pop de
ld a,BG_MAP_WIDTH ; width of VRAM background map
ld a, BG_MAP_WIDTH ; width of VRAM background map
add e
ld e,a
ld e, a
; fall through and draw lower half
.DrawHalf
ld c,SCREEN_WIDTH / 2
ld c, SCREEN_WIDTH / 2
.loop2
ld a,[hli]
ld [de],a
ld a, [hli]
ld [de], a
inc de
ld a,[hli]
ld [de],a
ld a,e
ld a, [hli]
ld [de], a
ld a, e
inc a
; the following 6 lines wrap us from the right edge to the left edge if necessary
and a,$1f
ld b,a
ld a,e
and a,$e0
and $1f
ld b, a
ld a, e
and $e0
or b
ld e,a
ld e, a
dec c
jr nz,.loop2
jr nz, .loop2
ret
; This function automatically transfers tile number data from the tile map at
@ -120,52 +120,52 @@ RedrawRowOrColumn::
; the above function, RedrawRowOrColumn, is used when walking to
; improve efficiency.
AutoBgMapTransfer::
ld a,[H_AUTOBGTRANSFERENABLED]
ld a, [H_AUTOBGTRANSFERENABLED]
and a
ret z
ld hl,[sp + 0]
ld a,h
ld [H_SPTEMP],a
ld a,l
ld [H_SPTEMP + 1],a ; save stack pinter
ld a,[H_AUTOBGTRANSFERPORTION]
ld hl, sp + 0
ld a, h
ld [H_SPTEMP], a
ld a, l
ld [H_SPTEMP + 1], a ; save stack pinter
ld a, [H_AUTOBGTRANSFERPORTION]
and a
jr z,.transferTopThird
jr z, .transferTopThird
dec a
jr z,.transferMiddleThird
jr z, .transferMiddleThird
.transferBottomThird
coord hl, 0, 12
ld sp,hl
ld a,[H_AUTOBGTRANSFERDEST + 1]
ld h,a
ld a,[H_AUTOBGTRANSFERDEST]
ld l,a
ld de,(12 * 32)
add hl,de
ld sp, hl
ld a, [H_AUTOBGTRANSFERDEST + 1]
ld h, a
ld a, [H_AUTOBGTRANSFERDEST]
ld l, a
ld de, (12 * 32)
add hl, de
xor a ; TRANSFERTOP
jr .doTransfer
.transferTopThird
coord hl, 0, 0
ld sp,hl
ld a,[H_AUTOBGTRANSFERDEST + 1]
ld h,a
ld a,[H_AUTOBGTRANSFERDEST]
ld l,a
ld a,TRANSFERMIDDLE
ld sp, hl
ld a, [H_AUTOBGTRANSFERDEST + 1]
ld h, a
ld a, [H_AUTOBGTRANSFERDEST]
ld l, a
ld a, TRANSFERMIDDLE
jr .doTransfer
.transferMiddleThird
coord hl, 0, 6
ld sp,hl
ld a,[H_AUTOBGTRANSFERDEST + 1]
ld h,a
ld a,[H_AUTOBGTRANSFERDEST]
ld l,a
ld de,(6 * 32)
add hl,de
ld a,TRANSFERBOTTOM
ld sp, hl
ld a, [H_AUTOBGTRANSFERDEST + 1]
ld h, a
ld a, [H_AUTOBGTRANSFERDEST]
ld l, a
ld de, (6 * 32)
add hl, de
ld a, TRANSFERBOTTOM
.doTransfer
ld [H_AUTOBGTRANSFERPORTION],a ; store next portion
ld b,6
ld [H_AUTOBGTRANSFERPORTION], a ; store next portion
ld b, 6
TransferBgRows::
; unrolled loop and using pop for speed
@ -202,27 +202,27 @@ TransferBgRows::
; Copies [H_VBCOPYBGNUMROWS] rows from H_VBCOPYBGSRC to H_VBCOPYBGDEST.
; If H_VBCOPYBGSRC is XX00, the transfer is disabled.
VBlankCopyBgMap::
ld a,[H_VBCOPYBGSRC] ; doubles as enabling byte
ld a, [H_VBCOPYBGSRC] ; doubles as enabling byte
and a
ret z
ld hl,[sp + 0]
ld a,h
ld [H_SPTEMP],a
ld a,l
ld [H_SPTEMP + 1],a ; save stack pointer
ld a,[H_VBCOPYBGSRC]
ld l,a
ld a,[H_VBCOPYBGSRC + 1]
ld h,a
ld sp,hl
ld a,[H_VBCOPYBGDEST]
ld l,a
ld a,[H_VBCOPYBGDEST + 1]
ld h,a
ld a,[H_VBCOPYBGNUMROWS]
ld b,a
ld hl, sp + 0
ld a, h
ld [H_SPTEMP], a
ld a, l
ld [H_SPTEMP + 1], a ; save stack pointer
ld a, [H_VBCOPYBGSRC]
ld l, a
ld a, [H_VBCOPYBGSRC + 1]
ld h, a
ld sp, hl
ld a, [H_VBCOPYBGDEST]
ld l, a
ld a, [H_VBCOPYBGDEST + 1]
ld h, a
ld a, [H_VBCOPYBGNUMROWS]
ld b, a
xor a
ld [H_VBCOPYBGSRC],a ; disable transfer so it doesn't continue next V-blank
ld [H_VBCOPYBGSRC], a ; disable transfer so it doesn't continue next V-blank
jr TransferBgRows
@ -238,7 +238,7 @@ VBlankCopyDouble::
and a
ret z
ld hl, [sp + 0]
ld hl, sp + 0
ld a, h
ld [H_SPTEMP], a
ld a, l
@ -290,7 +290,7 @@ VBlankCopyDouble::
ld a, h
ld [H_VBCOPYDOUBLEDEST + 1], a
ld hl, [sp + 0]
ld hl, sp + 0
ld a, l
ld [H_VBCOPYDOUBLESRC], a
ld a, h
@ -316,7 +316,7 @@ VBlankCopy::
and a
ret z
ld hl, [sp + 0]
ld hl, sp + 0
ld a, h
ld [H_SPTEMP], a
ld a, l
@ -360,7 +360,7 @@ VBlankCopy::
ld a, h
ld [H_VBCOPYDEST + 1], a
ld hl, [sp + 0]
ld hl, sp + 0
ld a, l
ld [H_VBCOPYSRC], a
ld a, h