Prev: F43E Up: Map Next: F85D
F801: Routine at F801
Used by the routine at F43E.
F801 CP $10 Jump to Handler_HomeArrow if A is not equal to 10.
F803 JP NZ,Handler_HomeArrow
F806 LD A,($E26A) Jump to Handler_HomeArrow if *E26A is not equal to 00.
F809 CP $00
F80B JP NZ,Handler_HomeArrow
F80E CALL $E713 Call E713.
F811 LD A,($E2C7) A=*Item_ID.
F814 CP $00 Jump to Handler_HomeArrow if A is equal to 00.
F816 JP Z,Handler_HomeArrow
F819 LD ($E26A),A Write A to *E26A.
F81C HALT Halt operation (suspend CPU until the next interrupt) three times.
F81D HALT
F81E HALT
F81F CP $15 Jump to SetSpriteBank_BufferImage if A is lower than 15.
F821 JP M,SetSpriteBank_BufferImage
F824 CP $29 Jump to SetSpriteBank_01 if A is lower than 29.
F826 JP M,SetSpriteBank_01
F829 CP $3D Jump to SetSpriteBank_02 if A is lower than 3D.
F82B JP M,SetSpriteBank_02
Else, use GraphicsData_Items_01 as the default spritesheet.
F82E LD HL,$AC24 HL=GraphicsData_Items_01.
Set the active spritesheet.
WriteSpriteBank F831 LD ($E2C8),HL Write HL to *Item_SpriteBank.
F834 CALL Draw_Tile Call Draw_Tile.
F837 CALL $DA0B Call DA0B.
F83A LD HL,($E5B0) HL=*E5B0.
F83D INC HL Increment HL by one.
F83E LD ($E5B0),HL Write HL to *E5B0.
F841 LD B,$00 B=00.
F843 LD A,$06 Write 06 to *D82D.
F845 LD ($D82D),A
F848 JP $F46E Jump to F46E.
Set the spritebank to the buffer image (containing the image tiles).
SetSpriteBank_BufferImage F84B CALL $DFB2 Call DFB2.
F84E LD HL,$A0E3 HL=Buffer_Image.
F851 JR WriteSpriteBank Jump to WriteSpriteBank.
Set spritebank 01.
SetSpriteBank_01 F853 LD HL,$AC24 HL=GraphicsData_Items_01.
F856 JR WriteSpriteBank Jump to WriteSpriteBank.
Set spritebank 02.
SetSpriteBank_02 F858 LD HL,$B765 HL=GraphicsData_Items_02.
F85B JR WriteSpriteBank Jump to WriteSpriteBank.
Prev: F43E Up: Map Next: F85D