summaryrefslogtreecommitdiff
path: root/engine/printer.asm
diff options
context:
space:
mode:
authormid-kid <esteve.varela@gmail.com>2018-03-13 13:07:16 +0100
committermid-kid <esteve.varela@gmail.com>2018-03-13 13:21:40 +0100
commitbaa0dc5a963a79843b37888bcfe1d2dfe833ade9 (patch)
tree968c86105bd67a3121d8f3f20018bfc59191f4c9 /engine/printer.asm
parent12070ca50067d3abe36a730190f88ee43f2cace9 (diff)
Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by creating categorized subdirectories, in order to make it easier to navigate and find things. The directories created are as follows: * engine/game: Contains all "minigames", things like the unown puzzle and slot machine. * engine/gfx: Contains all handling of graphics. From loading palettes to playing animations. * engine/link: Contains all multiplayer functionality. * engine/menu: Contains all generic/misc. menus and menu code. Other, more specialized menus are in their own subdirectories (pokedex, pokegear, party menu, etc). * engine/overworld: Contains all handling of the overworld. From loading and connecting maps to wild encounters and the scripting engine. * engine/pokegear: In the same vein as engine/pokedex, except it could use some more splitting up. * engine/pokemon: Contains everything related to manipulating pokemon data. From the pokemon storage system to evolution and mail. * engine/printer: Contains everything related to printing things as well as the printer communication. * engine/title: Contains intro sequences, title screens and credits.
Diffstat (limited to 'engine/printer.asm')
-rwxr-xr-xengine/printer.asm949
1 files changed, 0 insertions, 949 deletions
diff --git a/engine/printer.asm b/engine/printer.asm
deleted file mode 100755
index b9e55ef2a..000000000
--- a/engine/printer.asm
+++ /dev/null
@@ -1,949 +0,0 @@
-INCLUDE "engine/printer_serial.asm"
-
-SendScreenToPrinter: ; 843f0
-.loop
- call JoyTextDelay
- call CheckCancelPrint
- jr c, .cancel
- ld a, [wJumptableIndex]
- bit 7, a
- jr nz, .finished
- call PrinterJumptableIteration
- call CheckPrinterStatus
- call PlacePrinterStatusString
- call DelayFrame
- jr .loop
-
-.finished
- and a
- ret
-
-.cancel
- scf
- ret
-; 84411
-
-Printer_CleanUpAfterSend: ; 84411
- xor a
- ld [wPrinterConnectionOpen], a
- ld [wPrinterOpcode], a
- ret
-; 84419
-
-Printer_PrepareTileMapForPrint: ; 84419
- push af
- call Printer_StartTransmission
- pop af
- ld [wcbfa], a
- call Printer_CopyTileMapToBuffer
- ret
-; 84425
-
-Printer_ExitPrinter: ; 84425
- call ReturnToMapFromSubmenu
- call Printer_RestartMapMusic
- ret
-; 8442c
-
-PrintDexEntry: ; 8442c
- ld a, [wPrinterQueueLength]
- push af
-
- ld hl, vTiles1
- ld de, FontInversed
- lb bc, BANK(FontInversed), $80
- call Request1bpp
-
- xor a
- ld [hPrinter], a
- call Printer_PlayMusic
-
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, $9
- ld [rIE], a
-
- call Printer_StartTransmission
- ld a, $10
- ld [wcbfa], a
- farcall PrintPage1
- call ClearTileMap
- ld a, %11100100
- call DmgToCgbBGPals
- call DelayFrame
-
- ld hl, hVBlank
- ld a, [hl]
- push af
- ld [hl], $4
-
- ld a, 8 ; 16 rows
- ld [wPrinterQueueLength], a
- call Printer_ResetJoypadRegisters
- call SendScreenToPrinter
- jr c, .skip_second_page ; canceled or got an error
-
- call Printer_CleanUpAfterSend
- ld c, 12
- call DelayFrames
- xor a
- ld [hBGMapMode], a
-
- call Printer_StartTransmission
- ld a, $3
- ld [wcbfa], a
- farcall PrintPage2
- call Printer_ResetJoypadRegisters
- ld a, 4
- ld [wPrinterQueueLength], a
- call SendScreenToPrinter
-
-.skip_second_page
- pop af
- ld [hVBlank], a
- call Printer_CleanUpAfterSend
-
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
-
- call Printer_ExitPrinter
- ld c, 8
-.low_volume_delay_frames
- call LowVolume
- call DelayFrame
- dec c
- jr nz, .low_volume_delay_frames
-
- pop af
- ld [wPrinterQueueLength], a
- ret
-; 844bc
-
-PrintPCBox: ; 844bc (21:44bc)
- ld a, [wPrinterQueueLength]
- push af
- ld a, 18 / 2
- ld [wPrinterQueueLength], a
-
- ld a, e
- ld [wAddrOfBoxToPrint], a
- ld a, d
- ld [wAddrOfBoxToPrint + 1], a
- ld a, b
- ld [wBankOfBoxToPrint], a
- ld a, c
- ld [wWhichBoxToPrint], a
-
- xor a
- ld [hPrinter], a
- ld [wFinishedPrintingBox], a
- call Printer_PlayMusic
-
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, %1001
- ld [rIE], a
-
- ld hl, hVBlank
- ld a, [hl]
- push af
- ld [hl], %0100
-
- xor a
- ld [hBGMapMode], a
- call PrintPCBox_Page1
- ld a, $10 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- call Printer_ResetRegistersAndStartDataSend
- jr c, .cancel
-
- call Printer_CleanUpAfterSend
- ld c, 12
- call DelayFrames
- xor a
- ld [hBGMapMode], a
- call PrintPCBox_Page2
- ld a, $0 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- call Printer_ResetRegistersAndStartDataSend
- jr c, .cancel
-
- call Printer_CleanUpAfterSend
- ld c, 12
- call DelayFrames
-
- xor a
- ld [hBGMapMode], a
- call PrintPCBox_Page3
- ld a, $0 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- call Printer_ResetRegistersAndStartDataSend
- jr c, .cancel
-
- call Printer_CleanUpAfterSend
- ld c, 12
- call DelayFrames
-
- xor a
- ld [hBGMapMode], a
- call PrintPCBox_Page4
- ld a, $3 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- call Printer_ResetRegistersAndStartDataSend
-.cancel
- pop af
- ld [hVBlank], a
- call Printer_CleanUpAfterSend
-
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
- call Printer_ExitPrinter
-
- pop af
- ld [wPrinterQueueLength], a
- ret
-
-Printer_ResetRegistersAndStartDataSend: ; 84559 (21:4559)
- call Printer_ResetJoypadRegisters
- call SendScreenToPrinter
- ret
-
-PrintUnownStamp: ; 84560
- ld a, [wPrinterQueueLength]
- push af
- xor a
- ld [hPrinter], a
- call Printer_PlayMusic
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, $9
- ld [rIE], a
- ld hl, hVBlank
- ld a, [hl]
- push af
- ld [hl], $4
- xor a
- ld [hBGMapMode], a
- call LoadTileMapToTempTileMap
- farcall PlaceUnownPrinterFrontpic
- ld a, $0 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- call Call_LoadTempTileMapToTileMap
- call Printer_ResetJoypadRegisters
- ld a, 18 / 2
- ld [wPrinterQueueLength], a
-.loop
- call JoyTextDelay
- call CheckCancelPrint
- jr c, .done
- ld a, [wJumptableIndex]
- bit 7, a
- jr nz, .done
- call PrinterJumptableIteration
- ld a, [wJumptableIndex]
- cp $2
- jr nc, .check_status
- ld a, 6 / 2
- ld [wPrinterRowIndex], a
-
-.check_status
- call CheckPrinterStatus
- call PlacePrinterStatusString
- call DelayFrame
- jr .loop
-
-.done
- pop af
- ld [hVBlank], a
- call Printer_CleanUpAfterSend
- call Call_LoadTempTileMapToTileMap
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
- pop af
- ld [wPrinterQueueLength], a
- ret
-; 845d4
-
-PrintMail: ; 845d4
- call PrintMail_
- call Printer_ExitPrinter
- ret
-; 845db
-
-PrintMail_: ; 845db
- ld a, [wPrinterQueueLength]
- push af
- xor a
- ld [hPrinter], a
- call Printer_PlayMusic
-
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, %1001
- ld [rIE], a
-
- xor a
- ld [hBGMapMode], a
-
- ld a, $13 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- ld hl, hVBlank
- ld a, [hl]
- push af
- ld [hl], %0100
-
- ld a, 18 / 2
- ld [wPrinterQueueLength], a
- call SendScreenToPrinter
-
- pop af
- ld [hVBlank], a
- call Printer_CleanUpAfterSend
- call Printer_CopyBufferToTileMap
-
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
-
- pop af
- ld [wPrinterQueueLength], a
- ret
-; 8461a
-
-PrintPartymon: ; 8461a
- ld a, [wPrinterQueueLength]
- push af
- xor a
- ld [hPrinter], a
- call Printer_PlayMusic
-
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, %1001
- ld [rIE], a
-
- xor a
- ld [hBGMapMode], a
- farcall PrintPartyMonPage1
- ld a, $10 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
-
- ld hl, hVBlank
- ld a, [hl]
- push af
- ld [hl], %0100
-
- ld a, 16 / 2
- ld [wPrinterQueueLength], a
- call Printer_ResetJoypadRegisters
- call SendScreenToPrinter
- jr c, .cancel
-
- call Printer_CleanUpAfterSend
- ld c, 12
- call DelayFrames
-
- xor a
- ld [hBGMapMode], a
- farcall PrintPartyMonPage2
- ld a, $3 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
-
- ld a, 18 / 2
- ld [wPrinterQueueLength], a
- call Printer_ResetJoypadRegisters
- call SendScreenToPrinter
-.cancel
- pop af
- ld [hVBlank], a
- call Printer_CleanUpAfterSend
-
- call Printer_CopyBufferToTileMap
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
- call Printer_ExitPrinter
-
- pop af
- ld [wPrinterQueueLength], a
- ret
-; 84688
-
-_PrintDiploma: ; 84688
- ld a, [wPrinterQueueLength]
- push af
-
- farcall PlaceDiplomaOnScreen
-
- xor a
- ld [hPrinter], a
- call Printer_PlayMusic
-
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, %1001
- ld [rIE], a
-
- ld hl, hVBlank
- ld a, [hl]
- push af
- ld [hl], %0100
-
- ld a, $10 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- call Printer_ResetJoypadRegisters
-
- ld a, 18 / 2
- ld [wPrinterQueueLength], a
- call SendScreenToPrinter
- jr c, .cancel
- call Printer_CleanUpAfterSend
- ld c, 12
- call DelayFrames
-
- call LoadTileMapToTempTileMap
- xor a
- ld [hBGMapMode], a
-
- farcall PrintDiplomaPage2
-
- ld a, $3 ; to be loaded to wcbfa
- call Printer_PrepareTileMapForPrint
- call Call_LoadTempTileMapToTileMap
- call Printer_ResetJoypadRegisters
-
- ld a, 18 / 2
- ld [wPrinterQueueLength], a
- call SendScreenToPrinter
-.cancel
- pop af
- ld [hVBlank], a
- call Printer_CleanUpAfterSend
-
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
- call Printer_ExitPrinter
-
- pop af
- ld [wPrinterQueueLength], a
- ret
-; 846f6
-
-CheckCancelPrint: ; 846f6
- ld a, [hJoyDown]
- and B_BUTTON
- jr nz, .pressed_b
- and a
- ret
-
-.pressed_b
- ld a, [wca80]
- cp $c
- jr nz, .cancel
-.loop
- ld a, [wPrinterOpcode]
- and a
- jr nz, .loop
- ld a, $16 ; cancel
- ld [wPrinterOpcode], a
- ld a, $88
- ld [rSB], a
- ld a, $1
- ld [rSC], a
- ld a, $81
- ld [rSC], a
-.loop2
- ld a, [wPrinterOpcode]
- and a
- jr nz, .loop2
-
-.cancel
- ld a, $1
- ld [hPrinter], a
- scf
- ret
-; 84728
-
-Printer_CopyTileMapToBuffer: ; 84728
- hlcoord 0, 0
- ld de, wPrinterTileMapBuffer
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call CopyBytes
- ret
-; 84735
-
-Printer_CopyBufferToTileMap: ; 84735
- ld hl, wPrinterTileMapBuffer
- decoord 0, 0
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call CopyBytes
- ret
-; 84742
-
-Printer_ResetJoypadRegisters: ; 84742
- xor a
- ld [hJoyReleased], a
- ld [hJoyPressed], a
- ld [hJoyDown], a
- ld [hJoyLast], a
- ret
-; 8474c
-
-Printer_PlayMusic: ; 8474c
- ld de, MUSIC_PRINTER
- call PlayMusic2
- ret
-; 84753
-
-Printer_RestartMapMusic: ; 84753
- call RestartMapMusic
- ret
-; 84757
-
-CheckPrinterStatus: ; 84757
-; Check for printer errors
-; If [ca88] == -1, we're disconnected
- ld a, [wPrinterHandshake]
- cp -1
- jr nz, .printer_connected
- ld a, [wPrinterStatusFlags]
- cp -1
- jr z, .error_2
-.printer_connected
-; ca89 contains printer status flags
- ld a, [wPrinterStatusFlags]
- and %11100000
- ret z ; no error
-
- bit 7, a
- jr nz, .error_1
- bit 6, a
- jr nz, .error_4
- ; paper error
- ld a, PRINTER_ERROR_3
- jr .load_text_index
-
-.error_4
- ; temperature error
- ld a, PRINTER_ERROR_4
- jr .load_text_index
-
-.error_1
- ; printer battery low
- ld a, PRINTER_ERROR_1
- jr .load_text_index
-
-.error_2
- ; connection error
- ld a, PRINTER_ERROR_2
-.load_text_index
- ld [wPrinterStatus], a
- ret
-; 84785
-
-PlacePrinterStatusString: ; 84785
-; Print nonzero printer status
- ld a, [wPrinterStatus]
- and a
- ret z
- push af
- xor a
- ld [hBGMapMode], a
- hlcoord 0, 5
- lb bc, 10, 18
- call TextBox
- pop af
- ld e, a
- ld d, 0
- ld hl, PrinterStatusStringPointers
- add hl, de
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- hlcoord 1, 7
- ld a, BANK(GBPrinterStrings)
- call FarString
- hlcoord 2, 15
- ld de, String_PressBToCancel
- call PlaceString
- ld a, $1
- ld [hBGMapMode], a
- xor a
- ld [wPrinterStatus], a
- ret
-; 847bd
-
-Unreferenced_Function847bd: ; 847bd
- ld a, [wPrinterStatus]
- and a
- ret z
- push af
- xor a
- ld [hBGMapMode], a
- hlcoord 2, 4
- lb bc, 13, 16
- call ClearBox
- pop af
- ld e, a
- ld d, 0
- ld hl, PrinterStatusStringPointers
- add hl, de
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- hlcoord 4, 7
- ld a, BANK(GBPrinterStrings)
- call FarString
- hlcoord 4, 15
- ld de, String_PressBToCancel
- call PlaceString
- ld a, $1
- ld [hBGMapMode], a
- xor a
- ld [wPrinterStatus], a
- ret
-; 847f5
-
-String_PressBToCancel:
- db "Press B to Cancel@"
-; 84807
-
-PrinterStatusStringPointers: ; 84807
- dw GBPrinterString_Null ; @
- dw GBPrinterString_CheckingLink ; CHECKING LINK
- dw GBPrinterString_Transmitting ; TRANSMITTING
- dw GBPrinterString_Printing ; PRINTING
- dw GBPrinterString_PrinterError1 ; error 1
- dw GBPrinterString_PrinterError2 ; error 2
- dw GBPrinterString_PrinterError3 ; error 3
- dw GBPrinterString_PrinterError4 ; error 4
-; 84817
-
-PrintPCBox_Page1: ; 84817 (21:4817)
- xor a
- ld [wWhichBoxMonToPrint], a
- hlcoord 0, 0
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, " "
- call ByteFill
- call Printer_PlaceEmptyBoxSlotString
-
- hlcoord 0, 0
- ld bc, 9 * SCREEN_WIDTH
- ld a, " "
- call ByteFill
-
- call Printer_PlaceSideBorders
- call Printer_PlaceTopBorder
-
- hlcoord 4, 3
- ld de, .String_PokemonList
- call PlaceString
-
- ld a, [wWhichBoxToPrint]
- ld bc, BOX_NAME_LENGTH
- ld hl, wBoxNames
- call AddNTimes
- ld d, h
- ld e, l
- hlcoord 6, 5
- call PlaceString
- ld a, 1
- call Printer_GetBoxMonSpecies
- hlcoord 2, 9
- ld c, 3
- call Printer_PrintBoxListSegment
- ret
-; 84865 (21:4865)
-
-.String_PokemonList:
- db "#MON LIST@"
-; 8486f
-
-PrintPCBox_Page2: ; 8486f (21:486f)
- hlcoord 0, 0
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, " "
- call ByteFill
- call Printer_PlaceEmptyBoxSlotString
- call Printer_PlaceSideBorders
- ld a, [wFinishedPrintingBox]
- and a
- ret nz
- ld a, 4
- call Printer_GetBoxMonSpecies
- hlcoord 2, 0
- ld c, 6
- call Printer_PrintBoxListSegment
- ret
-
-PrintPCBox_Page3: ; 84893 (21:4893)
- hlcoord 0, 0
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, " "
- call ByteFill
- call Printer_PlaceEmptyBoxSlotString
- call Printer_PlaceSideBorders
- ld a, [wFinishedPrintingBox]
- and a
- ret nz
- ld a, 10
- call Printer_GetBoxMonSpecies
- hlcoord 2, 0
- ld c, 6
- call Printer_PrintBoxListSegment
- ret
-
-PrintPCBox_Page4: ; 848b7 (21:48b7)
- hlcoord 0, 0
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, " "
- call ByteFill
- call Printer_PlaceEmptyBoxSlotString
- hlcoord 1, 15
- lb bc, 2, 18
- call ClearBox
- call Printer_PlaceSideBorders
- call Printer_PlaceBottomBorders
- ld a, [wFinishedPrintingBox]
- and a
- ret nz
- ld a, 16
- call Printer_GetBoxMonSpecies
- hlcoord 2, 0
- ld c, 5
- call Printer_PrintBoxListSegment
- ret
-
-Printer_PrintBoxListSegment: ; 848e7 (21:48e7)
- ld a, [wBankOfBoxToPrint]
- call GetSRAMBank
-.loop
- ld a, c
- and a
- jp z, .max_length
- dec c
- ld a, [de]
- cp $ff
- jp z, .finish
- ld [wd265], a
- ld [wCurPartySpecies], a
-
- push bc
- push hl
- push de
-
- push hl
- ld bc, 16
- ld a, " "
- call ByteFill
- pop hl
-
- push hl
- call GetBasePokemonName
- pop hl
-
- push hl
- call PlaceString
- ld a, [wCurPartySpecies]
- cp EGG
- pop hl
- jr z, .ok2
-
- ld bc, MON_NAME_LENGTH
- add hl, bc
- call Printer_GetMonGender
- ld bc, SCREEN_WIDTH - MON_NAME_LENGTH
- add hl, bc
- ld a, "/"
- ld [hli], a
-
- push hl
- ld bc, 14
- ld a, " "
- call ByteFill
- pop hl
-
- push hl
- ld a, [wAddrOfBoxToPrint]
- ld l, a
- ld a, [wAddrOfBoxToPrint + 1]
- ld h, a
- ld bc, sBoxMonNicknames - sBox
- add hl, bc
- ld bc, MON_NAME_LENGTH
- ld a, [wWhichBoxMonToPrint]
- call AddNTimes
- ld e, l
- ld d, h
- pop hl
-
- push hl
- call PlaceString
- pop hl
-
- ld bc, MON_NAME_LENGTH
- add hl, bc
- push hl
- ld a, [wAddrOfBoxToPrint]
- ld l, a
- ld a, [wAddrOfBoxToPrint + 1]
- ld h, a
- ld bc, 2 + MONS_PER_BOX + MON_LEVEL
- add hl, bc
- ld bc, BOXMON_STRUCT_LENGTH
- ld a, [wWhichBoxMonToPrint]
- call AddNTimes
- ld a, [hl]
- pop hl
- call PrintLevel_Force3Digits
-.ok2
- ld hl, wWhichBoxMonToPrint
- inc [hl]
- pop de
- pop hl
- ld bc, 3 * SCREEN_WIDTH
- add hl, bc
- pop bc
- inc de
- jp .loop
-
-.finish
- ld a, $1
- ld [wFinishedPrintingBox], a
-.max_length
- call CloseSRAM
- ret
-
-Printer_GetMonGender: ; 8498a (21:498a)
- push hl
- ld a, [wAddrOfBoxToPrint]
- ld l, a
- ld a, [wAddrOfBoxToPrint + 1]
- ld h, a
- ld bc, $2b
- add hl, bc
- ld bc, BOXMON_STRUCT_LENGTH
- ld a, [wWhichBoxMonToPrint]
- call AddNTimes
- ld de, wTempMonDVs
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- ld a, [wWhichBoxMonToPrint]
- ld [wCurPartyMon], a
- ld a, TEMPMON
- ld [wMonType], a
- farcall GetGender
- ld a, " "
- jr c, .got_gender
- ld a, "♂"
- jr nz, .got_gender
- ld a, "♀"
-.got_gender
- pop hl
- ld [hli], a
- ret
-
-Printer_GetBoxMonSpecies: ; 849c6 (21:49c6)
- push hl
- ld e, a
- ld d, $0
- ld a, [wAddrOfBoxToPrint]
- ld l, a
- ld a, [wAddrOfBoxToPrint + 1]
- ld h, a
- add hl, de
- ld e, l
- ld d, h
- pop hl
- ret
-
-Printer_PlaceTopBorder: ; 849d7 (21:49d7)
- hlcoord 0, 0
- ld a, "┌"
- ld [hli], a
- ld a, "─"
- ld c, SCREEN_WIDTH - 2
-.loop
- ld [hli], a
- dec c
- jr nz, .loop
- ld a, "┐"
- ld [hl], a
- ret
-
-Printer_PlaceSideBorders: ; 849e9 (21:49e9)
- hlcoord 0, 0
- ld de, SCREEN_WIDTH - 1
- ld c, SCREEN_HEIGHT
-.loop
- ld a, "│"
- ld [hl], a
- add hl, de
- ld a, "│"
- ld [hli], a
- dec c
- jr nz, .loop
- ret
-
-Printer_PlaceBottomBorders: ; 849fc (21:49fc)
- hlcoord 0, 17
- ld a, "└"
- ld [hli], a
- ld a, "─"
- ld c, SCREEN_WIDTH - 2
-.loop
- ld [hli], a
- dec c
- jr nz, .loop
- ld a, "┘"
- ld [hl], a
- ret
-
-Printer_PlaceEmptyBoxSlotString: ; 84a0e (21:4a0e)
- hlcoord 2, 0
- ld c, $6
-.loop
- push bc
- push hl
- ld de, String84a25
- call PlaceString
- pop hl
- ld bc, 3 * SCREEN_WIDTH
- add hl, bc
- pop bc
- dec c
- jr nz, .loop
- ret
-; 84a25 (21:4a25)
-
-String84a25: ; 84a25
- db " ------@"
-; 84a2e