mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-22 07:02:17 +13:00
Add space between arguments in assembly instructions and remove redundant a in instructions like add a, x
This commit is contained in:
parent
94b9a86c8b
commit
237aeb8fbd
50 changed files with 7221 additions and 7221 deletions
204
home/vcopy.asm
204
home/vcopy.asm
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue