diff options
author | pikalaxalt <PikalaxALT@gmail.com> | 2016-05-24 12:59:55 -0400 |
---|---|---|
committer | pikalaxalt <PikalaxALT@gmail.com> | 2016-05-24 12:59:55 -0400 |
commit | 60ff6c25e36ea52d785f58dc62ce2357d082bef4 (patch) | |
tree | 289c1bd17b7c8633711b06eb83c03b0b0ef7469e | |
parent | 10f2d4e69db6c9fcc4d7c061720ab2bcc7874288 (diff) |
Printer error funcs
-rwxr-xr-x | engine/printer.asm | 139 | ||||
-rw-r--r-- | macros.asm | 16 | ||||
-rwxr-xr-x | wram.asm | 8 |
3 files changed, 154 insertions, 9 deletions
diff --git a/engine/printer.asm b/engine/printer.asm index bc6a07b3..0be02308 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -356,7 +356,7 @@ Func_e89e6: ld b, a ld a, [$caf4] sub b - ld hl, $c978 + ld hl, wPrinterTileBuffer ld de, $0028 .asm_e89f4 and a @@ -1078,19 +1078,142 @@ Func_e8eca: ; e8eca (3a:4eca) ret Func_e8efc: ; e8efc (3a:4efc) - dr $e8efc,$e8f09 + coord hl, 0, 0 + coord de, 0, 0, wPrinterTileBuffer + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + call CopyData + ret + Func_e8f09: ; e8f09 (3a:4f09) - dr $e8f09,$e8f16 + coord hl, 0, 0, wPrinterTileBuffer + coord de, 0, 0 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + call CopyData + ret + Func_e8f16: ; e8f16 (3a:4f16) - dr $e8f16,$e8f24 + xor a + ld [hJoyLast], a + ld [hJoyReleased], a + ld [hJoyPressed], a + ld [hJoyHeld], a + ld [hJoy5], a + ld [hJoy6], a + ret + Func_e8f24: ; e8f24 (3a:4f24) - dr $e8f24,$e8f3b + call Func_e8f42 + ld a, [wAudioROMBank] + ld [wAudioSavedROMBank], a + ld a, BANK(Music_GBPrinter) + ld [wAudioROMBank], a + ld a, MUSIC_GB_PRINTER + ld [wNewSoundID], a + call PlaySound + ret + Func_e8f3b: ; e8f3b (3a:4f3b) - dr $e8f3b,$e8f51 + call Func_e8f42 + call PlayDefaultMusic + ret + +Func_e8f42: ; e8f42 (3a:4f42) + ld a, $4 + ld [wAudioFadeOutControl], a + call StopAllMusic +.asm_e8f4a + ld a, [wAudioFadeOutControl] + and a + jr nz, .asm_e8f4a + ret + Func_e8f51: ; e8f51 (3a:4f51) - dr $e8f51,$e8f82 + ld a, [$c970] + cp $81 + jr z, .asm_e8f62 + ld a, [$c971] + cp $ff + jr z, .asm_e8f7c + xor a + jr .asm_e8f7e + +.asm_e8f62 + ld a, [$c971] + and $e0 + ret z + bit 7, a + jr nz, .asm_e8f78 + bit 6, a + jr nz, .asm_e8f74 + ld a, 6 + jr .asm_e8f7e + +.asm_e8f74 + ld a, 7 + jr .asm_e8f7e + +.asm_e8f78 + ld a, 4 + jr .asm_e8f7e + +.asm_e8f7c + ld a, 5 +.asm_e8f7e + ld [wcae0], a + ret + Func_e8f82: ; e8f82 (3a:4f82) - dr $e8f82,$e910a + dr $e8f82,$e8fb8 + +String_e8fb8: + db "Press B to Cancel@" + +Table_e8fca: + dw String_e8fdc + dw String_e8fdd + dw String_e8ff0 + dw String_e9003 + dw String_e9014 + dw String_e9049 + dw String_e907e + dw String_e90b3 + dw String_e90e8 + +String_e8fdc: + db "@" +String_e8fdd: + db "" + next " CHECKING LINK...@" +String_e8ff0: + db "" + next " TRANSMITTING...@" +String_e9003: + db "" + next " PRINTING...@" +String_e9014: + db " Printer Error 1" + next "" + next "Check the Game Boy" + next "Printer Manual.@" +String_e9049: + db " Printer Error 2" + next "" + next "Check the Game Boy" + next "Printer Manual.@" +String_e907e: + db " Printer Error 3" + next "" + next "Check the Game Boy" + next "Printer Manual.@" +String_e90b3: + db " Printer Error 4" + next "" + next "Check the Game Boy" + next "Printer Manual.@" +String_e90e8: + db "This is not the" + next "Game Boy Printer!@" + Func_e910a: dr $e910a,$e925d @@ -157,25 +157,41 @@ money equs "bcd3" ;\2 = X ;\3 = Y coord: MACRO +if _NARG >= 4 + ld \1, \4 + 20 * \3 + \2 +else ld \1, wTileMap + 20 * \3 + \2 +endc ENDM ;\1 = X ;\2 = Y aCoord: MACRO +if _NARG >= 3 + ld a, [\3 + 20 * \2 + \1] +else ld a, [wTileMap + 20 * \2 + \1] +endc ENDM ;\1 = X ;\2 = Y Coorda: MACRO +if _NARG >= 3 + ld [\3 + 20 * \2 + \1], a +else ld [wTileMap + 20 * \2 + \1], a +endc ENDM ;\1 = X ;\2 = Y dwCoord: MACRO +if _NARG >= 3 + dw \3 + 20 * \2 + \1 +else dw wTileMap + 20 * \2 + \1 +endc ENDM ;\1 = r @@ -286,7 +286,13 @@ wSerialEnemyMonsPatchList:: ; c5d0 wTempPic:: wOverworldMap:: ; c6e8 - ds 1300 + ; ds 1300 + ds $290 + +wPrinterTileBuffer:: ; c978 + ds SCREEN_HEIGHT * SCREEN_WIDTH +wcae0:: ; cae0 + ds 284 wRedrawRowOrColumnSrcTiles:: ; cbfc ; the tiles of the row or column to be redrawn by RedrawRowOrColumn |