diff options
author | pikalaxalt <PikalaxALT@gmail.com> | 2016-06-06 08:47:11 -0400 |
---|---|---|
committer | pikalaxalt <PikalaxALT@gmail.com> | 2016-06-06 08:47:11 -0400 |
commit | aafed67874b49180b4640eeaf5b20981c24ce9fc (patch) | |
tree | 5f891648d65385f5a36635b2be50135d88ff78ec | |
parent | 0e9d0481b897c6afe7cd7c0ea5c23562379ad8ca (diff) |
More printer labels
-rwxr-xr-x | constants/hide_show_constants.asm | 3 | ||||
-rw-r--r-- | engine/bank3c.asm | 14 | ||||
-rw-r--r-- | engine/printer.asm | 59 | ||||
-rwxr-xr-x | engine/printer/serial.asm | 98 | ||||
-rwxr-xr-x | engine/surfing_minigame.asm | 2 | ||||
-rw-r--r-- | home/overworld.asm | 11 | ||||
-rwxr-xr-x | wram.asm | 6 |
7 files changed, 111 insertions, 82 deletions
diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 10cffac8..fb4116d7 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -240,3 +240,6 @@ const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E9 const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; EA const HS_ARTICUNO ; EB + const HS_DAISY_SITTING_COPY ; EC + const HS_DAISY_WALKING_COPY ; ED + const HS_TOWN_MAP_COPY ; EE diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 44382257..4fa185e0 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -264,6 +264,7 @@ Func_f0a54:: ; f0a54 (3c:4a54) ret Func_f0a55:: ; f0a55 (3c:4a55) +; referenced in an unused function ld hl, Pointer_f0a76 ; 3c:4a76 .loop ld a, [hli] @@ -281,7 +282,7 @@ Func_f0a55:: ; f0a55 (3c:4a55) .asm_f0a68 ld a, [hli] ld c, a - ld b, $0 + ld b, 0 ld a, [hli] ld h, [hl] ld l, a @@ -290,8 +291,15 @@ Func_f0a55:: ; f0a55 (3c:4a55) ret Pointer_f0a76:: ; f0a76 (3c:4a76) - db $27, $07, $7b, $4a, $ff - db $01, $ec, $02, $ed, $03, $ee, $ff + dbbw BLUES_HOUSE, Pointer_f0a7bEnd - Pointer_f0a7b, Pointer_f0a7b + db $ff + +Pointer_f0a7b: + db 1, HS_DAISY_SITTING_COPY + db 2, HS_DAISY_WALKING_COPY + db 3, HS_TOWN_MAP_COPY + db $ff +Pointer_f0a7bEnd: Func_f0a82: ; f0a82 ld a, [wd472] diff --git a/engine/printer.asm b/engine/printer.asm index aa5c6ced..38730aa1 100644 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -1,3 +1,14 @@ + const_def + const PRINTER_STATUS_BLANK + const PRINTER_STATUS_CHECKING_LINK + const PRINTER_STATUS_TRANSMITTING + const PRINTER_STATUS_PRINTING + const PRINTER_ERROR_1 + const PRINTER_ERROR_2 + const PRINTER_ERROR_3 + const PRINTER_ERROR_4 + const PRINTER_ERROR_WRONG_DEVICE + INCLUDE "engine/printer/serial.asm" Func_e8b74: ; e8b74 (3a:4b74) @@ -5,7 +16,7 @@ Func_e8b74: ; e8b74 (3a:4b74) push af xor a ld [wUpdateSpritesEnabled], a - ld [$ffdb], a + ld [hCanceledPrinting], a call Printer_PlayPrinterMusic ld a, [rIE] push af @@ -14,7 +25,7 @@ Func_e8b74: ; e8b74 (3a:4b74) ld a, $9 ld [rIE], a xor a - ld [$ffba], a + ld [H_AUTOBGTRANSFERENABLED], a call Func_e8c30 call Func_e8785 ld a, [wcaf9] @@ -32,7 +43,7 @@ Func_e8b74: ; e8b74 (3a:4b74) callab Func_401c2 callab Func_4027c ld a, $1 - ld [$ffba], a + ld [H_AUTOBGTRANSFERENABLED], a call Func_e8c0c jr c, .asm_e8bf4 ld a, [wcaf9] @@ -45,7 +56,7 @@ Func_e8b74: ; e8b74 (3a:4b74) call DelayFrames call SaveScreenTilesToBuffer1 xor a - ld [$ffba], a + ld [H_AUTOBGTRANSFERENABLED], a call Func_e8c50 ld a, $7 call Func_e8785 @@ -54,7 +65,7 @@ Func_e8b74: ; e8b74 (3a:4b74) call Printer_CopyTileMapToPrinterTileBuffer call LoadScreenTilesFromBuffer1 ld a, $1 - ld [$ffba], a + ld [H_AUTOBGTRANSFERENABLED], a call Func_e8c0c .asm_e8bf4 xor a @@ -64,7 +75,7 @@ Func_e8b74: ; e8b74 (3a:4b74) ld [rIF], a pop af ld [rIE], a - call Func_0f3d + call ReloadMapAfterPrinter call Printer_PlayMapMusic pop af ld [wUpdateSpritesEnabled], a @@ -76,7 +87,7 @@ Func_e8c0c: call JoypadLowSensitivity call Printer_CheckPressingB jr c, .asm_e8c2e - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] bit 7, a jr nz, .asm_e8c2c call Func_e87a8 @@ -119,7 +130,7 @@ Func_e8c50: Func_e8c5c: xor a - ld [$ffdb], a + ld [hCanceledPrinting], a call Printer_PlayPrinterMusic call Func_e910a ld a, [rIE] @@ -137,7 +148,7 @@ Func_e8c5c: call JoypadLowSensitivity call Printer_CheckPressingB jr c, .asm_e8c9a - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] bit 7, a jr nz, .asm_e8c9a call Func_e87a8 @@ -155,13 +166,13 @@ Func_e8c5c: ld [rIF], a pop af ld [rIE], a - call Func_0f3d + call ReloadMapAfterPrinter call Printer_PlayMapMusic ret Func_e8cb1: xor a - ld [$ffdb], a + ld [hCanceledPrinting], a call Printer_PlayPrinterMusic call _DisplayDiploma ld a, [rIE] @@ -183,7 +194,7 @@ Func_e8cb1: call DelayFrames call SaveScreenTilesToBuffer1 xor a - ld [$ffba], a + ld [H_AUTOBGTRANSFERENABLED], a call Func_e9ad3 call Func_e8783 ld a, $3 @@ -200,7 +211,7 @@ Func_e8cb1: ld [rIF], a pop af ld [rIE], a - call Func_0f3d + call ReloadMapAfterPrinter call Printer_PlayMapMusic ret @@ -210,7 +221,7 @@ Func_e8d11: call JoypadLowSensitivity call Printer_CheckPressingB jr c, .asm_e8d33 - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] bit 7, a jr nz, .asm_e8d31 call Func_e87a8 @@ -308,7 +319,7 @@ Func_e8d35:: ; e8d35 (3a:4e79) ld [rIF], a pop af ld [rIE], a - call Func_0f3d + call ReloadMapAfterPrinter call Printer_PlayMapMusic pop af ld [wUpdateSpritesEnabled], a @@ -325,7 +336,7 @@ Func_e8dfb: ; e8dfb call JoypadLowSensitivity call Printer_CheckPressingB jr c, .asm_e8e1d - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] bit 7, a jr nz, .asm_e8e1b call Func_e87a8 @@ -366,7 +377,7 @@ Func_e8e24: ; e8e24 call JoypadLowSensitivity call Printer_CheckPressingB jr c, .asm_e8e62 - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] bit 7, a jr nz, .asm_e8e62 call Func_e87a8 @@ -384,7 +395,7 @@ Func_e8e24: ; e8e24 ld [rIF], a pop af ld [rIE], a - call Func_0f3d + call ReloadMapAfterPrinter call Printer_PlayMapMusic ret @@ -408,7 +419,7 @@ Func_e8e79: ; e8e79 (3a:4e79) call Printer_CopyTileMapToPrinterTileBuffer call Func_ea573 .asm_e8e9c - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] bit 7, a jr nz, .asm_e8eae call Func_ea5d1 @@ -442,7 +453,7 @@ Printer_CheckPressingB: ; e8eca (3a:4eca) ret .quit - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] cp $c jr nz, .already_done .wait_current_task @@ -536,19 +547,19 @@ GBPrinter_CheckForErrors: ; e8f51 (3a:4f51) bit 6, a jr nz, .error4 ; error 3 - ld a, 6 + ld a, PRINTER_ERROR_3 jr .load_status .error4 - ld a, 7 + ld a, PRINTER_ERROR_4 jr .load_status .error1 - ld a, 4 + ld a, PRINTER_ERROR_1 jr .load_status .error2 - ld a, 5 + ld a, PRINTER_ERROR_2 .load_status ld [wPrinterStatusIndicator], a ret diff --git a/engine/printer/serial.asm b/engine/printer/serial.asm index 0c9a70ed..568a00f8 100755 --- a/engine/printer/serial.asm +++ b/engine/printer/serial.asm @@ -20,7 +20,7 @@ Func_e8785: ; e87a8 Func_e87a8: ; e87a8 (3a:47a8) - ld a, [wPrinterReceiveJumptableIndex] + ld a, [wPrinterSendState] ld e, a ld d, 0 ld hl, .Jumptable @@ -54,19 +54,19 @@ Func_e87a8: ; e87a8 (3a:47a8) dw Func_e8939 ; 14 Printer_Next: - ld hl, wPrinterReceiveJumptableIndex + ld hl, wPrinterSendState inc [hl] ret Printer_Back: - ld hl, wPrinterReceiveJumptableIndex + ld hl, wPrinterSendState dec [hl] ret Printer_Quit: xor a ld [wc971], a - ld hl, wPrinterReceiveJumptableIndex + ld hl, wPrinterSendState set 7, [hl] ret @@ -76,60 +76,60 @@ Printer_Next_: Printer_LoopBack: ld a, $1 - ld [wPrinterReceiveJumptableIndex], a + ld [wPrinterSendState], a ret Printer_InitSerial: - call Func_e8981 + call ResetPrinterData ld hl, PrinterDataPacket1 - call Func_e8968 + call CopyPrinterDataHeader xor a ld [wPrinterDataSize], a ld [wPrinterDataSize + 1], a ld a, [wcaf4] ld [wc6e9], a call Printer_Next - call Func_e8949 - ld a, $1 + call Printer_PrepareToSend + ld a, PRINTER_STATUS_CHECKING_LINK ld [wPrinterStatusIndicator], a ret Func_e881f: - call Func_e8981 + call ResetPrinterData ld hl, wc6e9 ld a, [hl] and a jr z, Func_e884b ld hl, PrinterDataPacket3 - call Func_e8968 + call CopyPrinterDataHeader call Func_e89e6 - ld a, $80 + ld a, (wPrinterSendDataSourceEnd - wPrinterSendDataSource) % $100 ld [wPrinterDataSize], a - ld a, $2 + ld a, (wPrinterSendDataSourceEnd - wPrinterSendDataSource) / $100 ld [wPrinterDataSize + 1], a call ComputePrinterChecksum call Printer_Next - call Func_e8949 - ld a, $2 + call Printer_PrepareToSend + ld a, PRINTER_STATUS_TRANSMITTING ld [wPrinterStatusIndicator], a ret Func_e884b: ld a, $6 - ld [wPrinterReceiveJumptableIndex], a + ld [wPrinterSendState], a ld hl, PrinterDataPacket4 - call Func_e8968 + call CopyPrinterDataHeader xor a ld [wPrinterDataSize], a ld [wPrinterDataSize + 1], a call Printer_Next - call Func_e8949 + call Printer_PrepareToSend ret Func_e8864: - call Func_e8981 + call ResetPrinterData ld hl, PrinterDataPacket2 - call Func_e8968 + call CopyPrinterDataHeader call Func_e89cf ld a, $4 ld [wPrinterDataSize], a @@ -137,22 +137,22 @@ Func_e8864: ld [wPrinterDataSize + 1], a call ComputePrinterChecksum call Printer_Next - call Func_e8949 - ld a, $3 + call Printer_PrepareToSend + ld a, PRINTER_STATUS_PRINTING ld [wPrinterStatusIndicator], a ret Func_e8889: - call Func_e8981 + call ResetPrinterData ld hl, PrinterDataPacket1 - call Func_e8968 + call CopyPrinterDataHeader xor a ld [wPrinterDataSize], a ld [wPrinterDataSize + 1], a ld a, [wcaf4] ld [wc6e9], a call Printer_Next - call Func_e8949 + call Printer_PrepareToSend ret Func_e88a6: @@ -209,7 +209,7 @@ Func_e88c9: ld [wc970], a ld [wc971], a ld a, $e - ld [wPrinterReceiveJumptableIndex], a + ld [wPrinterSendState], a ret Func_e8906: @@ -231,7 +231,7 @@ Func_e8906: .asm_e8921 ld a, $12 - ld [wPrinterReceiveJumptableIndex], a + ld [wPrinterSendState], a ret Func_e8927: @@ -254,10 +254,10 @@ Func_e8939: and a, $f0 ret nz xor a - ld [wPrinterReceiveJumptableIndex], a + ld [wPrinterSendState], a ret -Func_e8949: +Printer_PrepareToSend: .wait_printer_operation ld a, [wPrinterOpcode] and a @@ -275,7 +275,7 @@ Func_e8949: ld [rSC], a ret -Func_e8968: +CopyPrinterDataHeader: ld a, [hli] ld [wPrinterDataHeader], a ld a, [hli] @@ -290,7 +290,7 @@ Func_e8968: ld [wPrinterChecksum + 1], a ret -Func_e8981: +ResetPrinterData: xor a ld hl, wPrinterDataHeader ld [hli], a @@ -303,8 +303,8 @@ Func_e8981: xor a ld [wPrinterDataSize], a ld [wPrinterDataSize + 1], a - ld hl, wPrinterSerialReceived - ld bc, $280 + ld hl, wPrinterSendDataSource + ld bc, wPrinterSendDataSourceEnd - wPrinterSendDataSource call Printer_FillMemory ret @@ -317,7 +317,7 @@ ComputePrinterChecksum: ld c, a ld a, [wPrinterDataSize + 1] ld b, a - ld de, wPrinterSerialReceived + ld de, wPrinterSendDataSource call .AddToChecksum ld a, l ld [wPrinterChecksum], a @@ -357,20 +357,20 @@ Func_e89e6: ld a, [wcaf4] sub b ld hl, wPrinterTileBuffer - ld de, $28 -.asm_e89f4 + ld de, 2 * SCREEN_WIDTH +.get_row and a - jr z, .asm_e89fb + jr z, .got_row add hl, de dec a - jr .asm_e89f4 + jr .get_row -.asm_e89fb +.got_row ld e, l ld d, h - ld hl, wPrinterSerialReceived - ld c, $28 -.asm_e8a02 + ld hl, wPrinterSendDataSource + ld c, 2 * SCREEN_WIDTH +.loop ld a, [de] inc de push bc @@ -385,15 +385,15 @@ Func_e89e6: ld d, a and a, $8 ld a, d - jr nz, .asm_e8a1a + jr nz, .vchars1 or a, $90 - jr .asm_e8a1c + jr .got_addr -.asm_e8a1a +.vchars1 or a, $80 -.asm_e8a1c +.got_addr ld d, a - ld bc, $3a01 + lb bc, BANK(Func_e89e6), 1 call CopyVideoData pop hl ld de, $10 @@ -401,7 +401,7 @@ Func_e89e6: pop de pop bc dec c - jr nz, .asm_e8a02 + jr nz, .loop ret Printer_FillMemory: ; e8a2e (3a:4a2e) @@ -540,7 +540,7 @@ PrinterSerial_: ; e8a5e (3a:4a5e) ld e, a ld a, [wc975] ld d, a - ld hl, wPrinterSerialReceived + ld hl, wPrinterSendDataSource add hl, de inc de ld a, e diff --git a/engine/surfing_minigame.asm b/engine/surfing_minigame.asm index d7c7816e..6a37eb10 100755 --- a/engine/surfing_minigame.asm +++ b/engine/surfing_minigame.asm @@ -50,7 +50,7 @@ SurfingPikachuMinigame: xor a ld [rSTAT], a call RunDefaultPaletteCommand - call Func_0f16 + call ReloadMapAfterSurfingMinigame call PlayDefaultMusic call GBPalNormal pop af diff --git a/home/overworld.asm b/home/overworld.asm index 1368dc9d..18829022 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1811,9 +1811,11 @@ LoadPlayerSpriteGraphicsCommon:: ; 0d8f (0:0d8f) ; function to load data from the map header LoadMapHeader:: ; 0dab (0:0dab) callba MarkTownVisitedAndLoadMissableObjects - jr .asm_0dbd + jr asm_0dbd + +Func_0db5:: ; XXX callba Func_f0a55 ; 3c:4a55 -.asm_0dbd +asm_0dbd ld a, [wCurMapTileset] ld [wUnusedD119], a ld a, [wCurMap] @@ -2005,7 +2007,7 @@ LoadScreenRelatedData:: ; 0f0c (0:0f0c) call LoadCurrentMapView ret -Func_0f16:: ; 0f16 (0:0f16) +ReloadMapAfterSurfingMinigame:: ; 0f16 (0:0f16) ld a, [H_LOADEDROMBANK] push af call DisableLCD @@ -2021,7 +2023,8 @@ Func_0f16:: ; 0f16 (0:0f16) pop af call BankswitchCommon jr asm_0f4d -Func_0f3d:: ; 0f3d (0:0f3d) + +ReloadMapAfterPrinter:: ; 0f3d (0:0f3d) ld a, [H_LOADEDROMBANK] push af ld a, [wCurMap] @@ -424,7 +424,7 @@ wTempPic:: ; c6e8 wPrinterData:: ; c6e8 wOverworldMap:: ; c6e8 ; ds 1300 -wPrinterReceiveJumptableIndex:: ; c6e8 +wPrinterSendState:: ; c6e8 ds 1 wc6e9:: ; c6e9 ds 1 @@ -442,6 +442,9 @@ wc6ed:: ; c6ed wPrinterChecksum:: ; c6ee dw +wPrinterSendDataSource:: ; c6f0 +; a 40-tile buffer +; ds $280 wPrinterSerialReceived:: ; c6f0 ds 1 wPrinterStatusReceived:: ; c6f1 @@ -467,6 +470,7 @@ wc810:: ; c810 ; c900 ds $70 +wPrinterSendDataSourceEnd:: ; c970 wc970:: ; c970 ds 1 |