diff options
Diffstat (limited to 'home')
| -rw-r--r-- | home/audio.asm | 10 | ||||
| -rw-r--r-- | home/clear_sprites.asm | 2 | ||||
| -rw-r--r-- | home/copy.asm | 4 | ||||
| -rw-r--r-- | home/init.asm | 4 | ||||
| -rw-r--r-- | home/lcd.asm | 7 | ||||
| -rw-r--r-- | home/oam_dma.asm | 2 | ||||
| -rw-r--r-- | home/predef.asm | 28 | ||||
| -rw-r--r-- | home/serial.asm | 2 |
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 |
