summaryrefslogtreecommitdiff
path: root/home
diff options
context:
space:
mode:
Diffstat (limited to 'home')
-rw-r--r--home/audio.asm10
-rw-r--r--home/clear_sprites.asm2
-rw-r--r--home/copy.asm4
-rw-r--r--home/init.asm4
-rw-r--r--home/lcd.asm7
-rw-r--r--home/oam_dma.asm2
-rw-r--r--home/predef.asm28
-rw-r--r--home/serial.asm2
8 files changed, 31 insertions, 28 deletions
diff --git a/home/audio.asm b/home/audio.asm
index bb49d42..cc0c0f9 100644
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -1,4 +1,4 @@
-SECTION "Audio", ROM0[$3CBF]
+SECTION "Audio interface", ROM0[$3CBF]
DisableAudio:: ; 3cbf
push hl
@@ -42,7 +42,7 @@ UpdateSound:: ; 3cdb
ret
-LoadMusicByte:: ; 3cf7
+_LoadMusicByte:: ; 3cf7
ld [MBC3RomBank], a ; Unsafe
ldh [hROMBank], a
ld a, [de]
@@ -127,10 +127,10 @@ PlaySFX:: ; 3d63
push af
ldh a, [hROMBank]
push af
- ld a, BANK(PlaySFX_)
+ ld a, BANK(_PlaySFX)
ld [MBC3RomBank], a ; Unsafe
ldh [hROMBank], a
- call PlaySFX_
+ call _PlaySFX
pop af
ld [MBC3RomBank], a ; Unsafe
ldh [hROMBank], a
@@ -140,4 +140,4 @@ PlaySFX:: ; 3d63
pop hl
ret
-
+WaitPlaySFX:: ; 3d7f
diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm
index 9ce9a54..64f8706 100644
--- a/home/clear_sprites.asm
+++ b/home/clear_sprites.asm
@@ -16,7 +16,7 @@ HideSprites:: ; 32e7
ld b, NUM_SPRITE_OAM_STRUCTS
ld a, $A0
.loop
- ld [hli], a
+ ld [hl], a
add hl, de
dec b
jr nz, .loop
diff --git a/home/copy.asm b/home/copy.asm
index f89bd49..ce66daf 100644
--- a/home/copy.asm
+++ b/home/copy.asm
@@ -62,7 +62,7 @@ ByteFill:: ; 3339
.loop
ld [hli], a
dec c
- jr z, .loop
+ jr nz, .loop
dec b
- jr z, .loop
+ jr nz, .loop
ret
diff --git a/home/init.asm b/home/init.asm
index fcafa3c..2fc2105 100644
--- a/home/init.asm
+++ b/home/init.asm
@@ -31,6 +31,7 @@ Init: ; 052f
ld [rTAC], a
ld a, 1 << rLCDC_ENABLE
ld [rLCDC], a
+ call DisableLCD
ld sp, wStackBottom
call ClearVRAM
@@ -70,7 +71,7 @@ Init: ; 052f
ldh [hLinkPlayerNumber], a
ld h, HIGH($9800)
call BlankBGMap
- ld h, HIGH($9800)
+ ld h, HIGH($9C00)
call BlankBGMap
ld a, LCDC_DEFAULT
ld [rLCDC], a
@@ -107,6 +108,7 @@ Init: ; 052f
ClearVRAM: ; 05e6
ld hl, VRAM_Begin
ld bc, VRAM_End - VRAM_Begin
+ xor a
call ByteFill
ret
diff --git a/home/lcd.asm b/home/lcd.asm
index dcf6bfa..1b23545 100644
--- a/home/lcd.asm
+++ b/home/lcd.asm
@@ -44,11 +44,12 @@ LCD:: ; 03ae
; 0:3e1
- sine_table 16
+; TODO: can this be done using `sine_table`?
+ db 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 0, -1, -2, -2, -3, -3, -4, -4, -4, -4, -4, -3, -3, -2, -2, -1
DisableLCD:: ; 0401
- ld a, [rLY]
+ ld a, [rLCDC]
bit 7, a
ret z
xor a
@@ -59,7 +60,7 @@ DisableLCD:: ; 0401
ld [rIE], a
.wait
ld a, [rLY]
- cp LY_VBLANK
+ cp LY_VBLANK + 1
jr nz, .wait
ld a, [rLCDC]
and $7F ; Shut LCD down
diff --git a/home/oam_dma.asm b/home/oam_dma.asm
index 958e88c..1737456 100644
--- a/home/oam_dma.asm
+++ b/home/oam_dma.asm
@@ -15,8 +15,8 @@ WriteOAMDMACodeToHRAM:: ; 4153
.OAMDMA ; 4161
ld a, HIGH(wVirtualOAM)
ldh [rDMA], a
-.wait
ld a, $28
+.wait
dec a
jr nz, .wait
ret
diff --git a/home/predef.asm b/home/predef.asm
index 6c85236..53af045 100644
--- a/home/predef.asm
+++ b/home/predef.asm
@@ -11,7 +11,7 @@ Predef:: ; 2fde
ld hl, .return
push hl
push de
- jr .save_regs
+ jr .get_regs
.return
ld a, h
@@ -27,17 +27,17 @@ Predef:: ; 2fde
ld l, a
ret
-.save_regs
- ld a, h
- ld [wPredefHL], a
- ld a, l
- ld [wPredefHL + 1], a
- ld a, d
- ld [wPredefDE], a
- ld a, e
- ld [wPredefDE + 1], a
- ld a, b
- ld [wPredefBC], a
- ld a, c
- ld [wPredefBC + 1], a
+.get_regs
+ ld a, [wPredefHL]
+ ld h, a
+ ld a, [wPredefHL + 1]
+ ld l, a
+ ld a, [wPredefDE]
+ ld d, a
+ ld a, [wPredefDE + 1]
+ ld e, a
+ ld a, [wPredefBC]
+ ld b, a
+ ld a, [wPredefBC + 1]
+ ld c, a
ret
diff --git a/home/serial.asm b/home/serial.asm
index b474e5d..42bd643 100644
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -39,7 +39,7 @@ Serial::
jr .done
.master
xor a
- ld [rSC], a
+ ld [rSB], a
.done
ld a, 1