Prev: 62526 Up: Map Next: 63581
63489: Routine at F801
Used by the routine at 62526.
63489 CP 16 Jump to Handler_HomeArrow if A is not equal to 16.
63491 JP NZ,Handler_HomeArrow
63494 LD A,(57962) Jump to Handler_HomeArrow if *57962 is not equal to 0.
63497 CP 0
63499 JP NZ,Handler_HomeArrow
63502 CALL 59155 Call 59155.
63505 LD A,(58055) A=*Item_ID.
63508 CP 0 Jump to Handler_HomeArrow if A is equal to 0.
63510 JP Z,Handler_HomeArrow
63513 LD (57962),A Write A to *57962.
63516 HALT Halt operation (suspend CPU until the next interrupt) three times.
63517 HALT
63518 HALT
63519 CP 21 Jump to SetSpriteBank_BufferImage if A is lower than 21.
63521 JP M,SetSpriteBank_BufferImage
63524 CP 41 Jump to SetSpriteBank_01 if A is lower than 41.
63526 JP M,SetSpriteBank_01
63529 CP 61 Jump to SetSpriteBank_02 if A is lower than 61.
63531 JP M,SetSpriteBank_02
Else, use GraphicsData_Items_01 as the default spritesheet.
63534 LD HL,44068 HL=GraphicsData_Items_01.
Set the active spritesheet.
WriteSpriteBank 63537 LD (58056),HL Write HL to *Item_SpriteBank.
63540 CALL Draw_Tile Call Draw_Tile.
63543 CALL 55819 Call 55819.
63546 LD HL,(58800) HL=*58800.
63549 INC HL Increment HL by one.
63550 LD (58800),HL Write HL to *58800.
63553 LD B,0 B=0.
63555 LD A,6 Write 6 to *55341.
63557 LD (55341),A
63560 JP 62574 Jump to 62574.
Set the spritebank to the buffer image (containing the image tiles).
SetSpriteBank_BufferImage 63563 CALL 57266 Call 57266.
63566 LD HL,41187 HL=Buffer_Image.
63569 JR WriteSpriteBank Jump to WriteSpriteBank.
Set spritebank 1.
SetSpriteBank_01 63571 LD HL,44068 HL=GraphicsData_Items_01.
63574 JR WriteSpriteBank Jump to WriteSpriteBank.
Set spritebank 2.
SetSpriteBank_02 63576 LD HL,46949 HL=GraphicsData_Items_02.
63579 JR WriteSpriteBank Jump to WriteSpriteBank.
Prev: 62526 Up: Map Next: 63581