; SkoolKit disassembly for Tir Na Nog (48k) ; ; Copyright (c) Lunysoft (this disassembly) ; Copyright (c) 1984 Carter Follis Software Associates / Gargoyle Games Ltd. (Tir Na Nog) @start=$F51E @org ; Data block at 5A26 @label=Attr_WarningText b$5A26 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A2E DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A36 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A3E DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A46 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A4E DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A56 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A5E DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A66 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A6E DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A76 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A7E DEFB $06,$06,$07,$06,$06,$06,$06,$06 $5A86 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A8E DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A96 DEFB $06,$06,$06,$06,$06,$06,$06,$06 $5A9E DEFB $06,$06,$07,$07,$07,$07,$07,$07 $5AA6 DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AAE DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AB6 DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5ABE DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AC6 DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5ACE DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AD6 DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5ADE DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AE6 DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AEE DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AF6 DEFB $07,$07,$07,$07,$07,$07,$07,$07 $5AFE DEFB $07,$07 ; Holds the bitmaps which appear behind the hero. These get blitted back when scrolling. @label=HeroBackground b$5B00 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B08 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B10 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B18 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B20 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B28 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B30 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B38 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B40 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B48 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B50 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B58 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B60 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B68 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B70 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B78 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B80 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B88 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B90 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5B98 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BA8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BB0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BB8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BC8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BD0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BD8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BE0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BE8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BF0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5BF8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C00 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C08 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C10 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C18 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C20 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C28 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; Data block at 5C30 b$5C30 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C38 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C40 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C48 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C50 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C58 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C60 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C68 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C70 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C78 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C80 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C88 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C90 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5C98 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5CA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5CA8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5CB0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5CB8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5CC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5CC8 DEFB $00,$00,$00,$00,$0A,$6B,$00,$E7 $5CD0 DEFB $30,$0E,$00,$00,$00,$00,$00,$3A $5CD8 DEFB $DA,$30,$0E,$00,$00,$00,$00,$00 $5CE0 DEFB $3A,$D9,$30,$0E,$00,$00,$00,$00 $5CE8 DEFB $00,$3A,$FD,$32,$34,$30,$39,$39 $5CF0 DEFB $0E,$00,$00,$23,$5E,$00,$3A,$EF $5CF8 DEFB $22,$22,$AA,$3A,$F5,$AC,$31,$30 $5D00 DEFB $0E,$00,$00,$0A,$00,$00,$2C,$30 $5D08 DEFB $0E,$00,$00,$00,$00,$00,$3A,$EF $5D10 DEFB $22,$22,$AF,$3A,$F5,$AC,$31,$30 $5D18 DEFB $0E,$00,$00,$0A,$00,$00,$2C,$30 $5D20 DEFB $0E,$00,$00,$00,$00,$00,$3A,$EF $5D28 DEFB $22,$22,$AF,$3A,$F9,$C0,$32,$34 $5D30 DEFB $31,$30,$30,$0E,$00,$00,$24,$5E $5D38 DEFB $00,$0D,$00,$00,$00,$00,$00,$00 $5D40 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D48 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D50 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D58 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D60 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D68 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D70 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D78 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D80 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D88 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D90 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5D98 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DA8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DB0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DB8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DC8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DD0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DD8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DE0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DE8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DF0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5DF8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5E00 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5E08 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5E10 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5E18 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $5E20 DEFB $00,$00,$00,$00 ; Unknown jumps c$5E24 JP $DF82 ; $5E27 JP $5ECF ; ; Vectors 1 ; ; Used by the routine at #R$F489. @label=Vector_HeroInit c$5E2A JP $60AC ; ; This entry point is used by the routine at #R$8A93. @label=Vector_ScreenUpdate *$5E2D JP $638A ; $5E30 JP $6534 ; ; This entry point is used by the routine at #R$F489. @label=Vector_HeroInputHandler *$5E33 JP $65BF ; ; This entry point is used by the routine at #R$7FA7. @label=Vector_RunActions *$5E36 JP $69F1 ; ; This entry point is used by the routine at #R$80D0. @label=Vector_HeroInit_0 *$5E39 JP $6A18 ; ; This entry point is used by the routines at #R$7580 and #R$8A93. @label=Vector_AreaUpdateData *$5E3C JP $6071 ; Jump Vector to AreaUpdateData ; This entry point is used by the routine at #R$8A93. @label=Vector_PrintLocationDescr *$5E3F JP $6236 ; ; This entry point is used by the routines at #R$7C63 and #R$8DFC. @label=Vector_Screen_DrawStage *$5E42 JP $62AE ; @label=Vector_6a61 $5E45 JP $6A61 ; @label=Vector_6a67 $5E48 JP $6A67 ; @label=Vector_ActionWaterfall $5E4B JP $6C83 ; ; This entry point is used by the routine at #R$F489. @label=Vector_GameScrDisplay *$5E4E JP $60EF ; ; This entry point is used by the routine at #R$7BDF. @label=JmpVectorRotScrBlckLeft *$5E51 JP $5F46 ; Jump vector to RotateScreenBlockLeft ; This entry point is used by the routine at #R$7BDF. @label=JmpVectorRotScrBlckRight *$5E54 JP $600E ; Jump vector to RotateScreenBlockRight ; This entry point is used by the routine at #R$8DB6. @label=Vector_ActionWin *$5E57 JP $6CCC ; ; Data block at 5E5A b$5E5A DEFB $00,$FF,$FF,$00 ; Call HL vector. ; ; Used by the routines at #R$5ECF, #R$5F71, #R$62AE and #R$69F1. @label=Call_HL c$5E5E JP (HL) ; ; Offsets used when detecting things of edge of screen. Each 8 bytes represent a rect offset for a compass setting. @label=OffsetRectsA b$5E5F DEFW $FFF7 ; Compass 0, {x1, y1, x2, y2} $5E61 DEFW $FFDE $5E63 DEFW $0002 $5E65 DEFW $FFE0 $5E67 DEFW $FFDE ; Compass 1 $5E69 DEFW $FFFE $5E6B DEFW $FFE0 $5E6D DEFW $0009 $5E6F DEFW $FFFE ; Compass 2 $5E71 DEFW $0020 $5E73 DEFW $0009 $5E75 DEFW $0022 $5E77 DEFW $0020 ; Compass 3 $5E79 DEFW $FFF7 $5E7B DEFW $0022 $5E7D DEFW $0002 ; Alternate set @label=OffsetRectsB $5E7F DEFW $FFF7 ; Compass 0 $5E81 DEFW $0020 $5E83 DEFW $0002 $5E85 DEFW $0022 $5E87 DEFW $0020 ; Compass 1 $5E89 DEFW $FFFF $5E8B DEFW $0022 $5E8D DEFW $0009 $5E8F DEFW $FFFE ; Compass 2 $5E91 DEFW $FFDE $5E93 DEFW $0009 $5E95 DEFW $FFE0 $5E97 DEFW $FFDE ; Compass 3 $5E99 DEFW $FFF7 $5E9B DEFW $FFE0 $5E9D DEFW $0002 ; Movement Vectors @label=Vector_MovePositionA c$5E9F JR $5EAF ; @label=Vector_Pos_Inc_y_axis $5EA1 JR $5EB7 ; @label=Vector_Pos_Dec_x_axis $5EA3 JR $5EBF ; @label=Vector_Pos_Dec_y_axis $5EA5 JR $5EC7 ; @label=Vector_MovePositionB $5EA7 JR $5EBF ; $5EA9 JR $5EC7 ; $5EAB JR $5EAF ; $5EAD JR $5EB7 ; ; Increase in x axis. ; ; Used by the routine at #R$5E9F. @label=Pos_Inc_x_axis c$5EAF LD HL,($DFC5) ; $5EB2 INC HL ; $5EB3 LD ($DFC5),HL ; $5EB6 RET ; ; Increase in y axis (0 is top). ; ; Used by the routine at #R$5E9F. @label=Pos_Inc_y_axis c$5EB7 LD HL,($DFC3) ; $5EBA INC HL ; $5EBB LD ($DFC3),HL ; $5EBE RET ; ; Decrease in x axis. ; ; Used by the routine at #R$5E9F. @label=Pos_Dec_x_axis c$5EBF LD HL,($DFC5) ; $5EC2 DEC HL ; $5EC3 LD ($DFC5),HL ; $5EC6 RET ; ; Decrease in y axis ; ; Used by the routine at #R$5E9F. @label=Pos_Dec_y_axis c$5EC7 LD HL,($DFC3) ; $5ECA DEC HL ; $5ECB LD ($DFC3),HL ; $5ECE RET ; ; Routine at 5ECF ; ; Used by the routine at #R$65BF. @label=HeroInputHandle c$5ECF PUSH IX ; $5ED1 LD A,($DFD4) ; $5ED4 CP $02 ; $5ED6 JP Z,$5FA1 ; $5ED9 LD HL,($DFC5) ; Man is walking right. $5EDC LD A,($DFD2) ; Facing EAST / WEST? $5EDF AND $01 ; $5EE1 JR Z,$5EE6 ; $5EE3 LD HL,($DFC3) ; Yes, so walking NORTH. @label=HeroInputHandle_0 *$5EE6 BIT 0,L ; $5EE8 LD HL,$F629 ; Right hand column of offscreen. $5EEB LD IX,$5E7F ; Data? $5EEF CALL Z,$6D14 ; $5EF2 LD HL,($DFD2) ; Using the camera workout which direction to move by calling the function which moves in the ; expected direction. (For Example; if camera is NORTH (0), we already know we are facing RIGHT ; (1), so call function which moves in EAST direction.) $5EF5 LD H,$00 ; $5EF7 ADD HL,HL ; $5EF8 LD BC,$5E9F ; $5EFB ADD HL,BC ; $5EFC CALL $5E5E ; $5EFF LD DE,$0005 ; $5F02 AND A ; $5F03 SBC HL,DE ; $5F05 JR Z,$5F0F ; $5F07 LD DE,$01F6 ; $5F0A AND A ; $5F0B SBC HL,DE ; $5F0D JR NZ,$5F12 ; @label=HeroInputHandle_1 *$5F0F CALL $61B8 ; @label=HeroInputHandle_2 *$5F12 LD C,$02 ; $5F14 LD HL,$FE87 ; @label=HeroInputHandle_3 *$5F17 LD B,$88 ; @label=HeroInputHandle_4 *$5F19 RLD ; $5F1B DEC HL ; $5F1C RLD ; $5F1E DEC HL ; $5F1F RLD ; $5F21 DEC HL ; $5F22 RLD ; $5F24 DEC HL ; $5F25 RLD ; $5F27 DEC HL ; $5F28 RLD ; $5F2A DEC HL ; $5F2B RLD ; $5F2D DEC HL ; $5F2E RLD ; $5F30 DEC HL ; $5F31 DJNZ $5F19 ; $5F33 DEC C ; $5F34 JR NZ,$5F17 ; $5F36 POP IX ; $5F38 LD A,($DFEC) ; $5F3B CP $01 ; $5F3D JR Z,$5F71 ; $5F3F CP $02 ; $5F41 JR Z,$5F76 ; $5F43 LD HL,$40C0 ; ; Rotate left an area of the screen. (Clouds) ; ; Used by the routine at #R$5E2A. @label=RotateScreenBlockLeft c$5F46 LD DE,$001F ; $5F49 LD C,$08 ; @label=RotateScreenBlockLeft_0 *$5F4B PUSH HL ; $5F4C LD A,(HL) ; $5F4D ADD HL,DE ; $5F4E RLA ; $5F4F LD B,$04 ; @label=RotateScreenBlockLeft_1 *$5F51 RL (HL) ; $5F53 DEC HL ; $5F54 RL (HL) ; $5F56 DEC HL ; $5F57 RL (HL) ; $5F59 DEC HL ; $5F5A RL (HL) ; $5F5C DEC HL ; $5F5D RL (HL) ; $5F5F DEC HL ; $5F60 RL (HL) ; $5F62 DEC HL ; $5F63 RL (HL) ; $5F65 DEC HL ; $5F66 RL (HL) ; $5F68 DEC HL ; $5F69 DJNZ $5F51 ; $5F6B POP HL ; $5F6C INC H ; $5F6D DEC C ; $5F6E JR NZ,$5F4B ; $5F70 RET ; ; Routine at 5F71 ; ; Used by the routine at #R$5ECF. c$5F71 LD HL,$40BF ; $5F74 JR $5F79 ; ; This entry point is used by the routine at #R$5ECF. *$5F76 LD HL,$40FF ; *$5F79 LD C,$08 ; *$5F7B PUSH HL ; $5F7C XOR A ; $5F7D LD B,$04 ; *$5F7F RLD ; $5F81 DEC HL ; $5F82 RLD ; $5F84 DEC HL ; $5F85 RLD ; $5F87 DEC HL ; $5F88 RLD ; $5F8A DEC HL ; $5F8B RLD ; $5F8D DEC HL ; $5F8E RLD ; $5F90 DEC HL ; $5F91 RLD ; $5F93 DEC HL ; $5F94 RLD ; $5F96 DEC HL ; $5F97 DJNZ $5F7F ; $5F99 POP HL ; $5F9A OR (HL) ; $5F9B LD (HL),A ; $5F9C INC H ; $5F9D DEC C ; $5F9E JR NZ,$5F7B ; $5FA0 RET ; ; This entry point is used by the routine at #R$5ECF. *$5FA1 LD HL,($DFC5) ; $5FA4 LD A,($DFD2) ; $5FA7 AND $01 ; $5FA9 JR Z,$5FAE ; $5FAB LD HL,($DFC3) ; *$5FAE BIT 0,L ; $5FB0 LD HL,$F608 ; $5FB3 LD IX,$5E5F ; $5FB7 CALL Z,$6D14 ; $5FBA LD HL,($DFD2) ; $5FBD LD H,$00 ; $5FBF ADD HL,HL ; $5FC0 LD BC,$5EA7 ; $5FC3 ADD HL,BC ; $5FC4 CALL $5E5E ; $5FC7 LD DE,$0005 ; $5FCA AND A ; $5FCB SBC HL,DE ; $5FCD JR Z,$5FD7 ; $5FCF LD DE,$01F6 ; $5FD2 AND A ; $5FD3 SBC HL,DE ; $5FD5 JR NZ,$5FDA ; *$5FD7 CALL $61B8 ; *$5FDA LD C,$02 ; $5FDC LD HL,$F608 ; *$5FDF LD B,$88 ; *$5FE1 RRD ; $5FE3 INC HL ; $5FE4 RRD ; $5FE6 INC HL ; $5FE7 RRD ; $5FE9 INC HL ; $5FEA RRD ; $5FEC INC HL ; $5FED RRD ; $5FEF INC HL ; $5FF0 RRD ; $5FF2 INC HL ; $5FF3 RRD ; $5FF5 INC HL ; $5FF6 RRD ; $5FF8 INC HL ; $5FF9 DJNZ $5FE1 ; $5FFB DEC C ; $5FFC JR NZ,$5FDF ; $5FFE POP IX ; $6000 LD A,($DFEC) ; $6003 CP $01 ; $6005 JR Z,$603B ; $6007 CP $02 ; $6009 JR Z,$6040 ; $600B LD HL,$40DF ; ; Rotate right an area of the screen (Clouds) ; ; Used by the routine at #R$5E2A. @label=RotateScreenBlockRight c$600E LD DE,$001F ; $6011 LD C,$08 ; @label=RotateScreenBlockRight_0 *$6013 PUSH HL ; $6014 LD A,(HL) ; $6015 AND A ; $6016 SBC HL,DE ; $6018 RRA ; $6019 LD B,$04 ; @label=RotateScreenBlockRight_1 *$601B RR (HL) ; $601D INC HL ; $601E RR (HL) ; $6020 INC HL ; $6021 RR (HL) ; $6023 INC HL ; $6024 RR (HL) ; $6026 INC HL ; $6027 RR (HL) ; $6029 INC HL ; $602A RR (HL) ; $602C INC HL ; $602D RR (HL) ; $602F INC HL ; $6030 RR (HL) ; $6032 INC HL ; $6033 DJNZ $601B ; $6035 POP HL ; $6036 INC H ; $6037 DEC C ; $6038 JR NZ,$6013 ; $603A RET ; ; Routine at 603B ; ; Used by the routine at #R$5F71. c$603B LD HL,$40A0 ; $603E JR $6043 ; ; This entry point is used by the routine at #R$5F71. *$6040 LD HL,$40E0 ; *$6043 LD C,$08 ; *$6045 PUSH HL ; $6046 XOR A ; $6047 LD B,$04 ; *$6049 RRD ; $604B INC HL ; $604C RRD ; $604E INC HL ; $604F RRD ; $6051 INC HL ; $6052 RRD ; $6054 INC HL ; $6055 RRD ; $6057 INC HL ; $6058 RRD ; $605A INC HL ; $605B RRD ; $605D INC HL ; $605E RRD ; $6060 INC HL ; $6061 DJNZ $6049 ; $6063 POP HL ; $6064 RLA ; $6065 RLA ; $6066 RLA ; $6067 RLA ; $6068 AND $F0 ; $606A OR (HL) ; $606B LD (HL),A ; $606C INC H ; $606D DEC C ; $606E JR NZ,$6045 ; $6070 RET ; ; Update area data and set compass to correct direction. ; ; Used by the routines at #R$5E2A, #R$60AC and #R$61B8. Input: A New Area Index @label=AreaUpdateData c$6071 LD ($DFDD),A ; Store new index $6074 DEC A ; Calculate area data address from index value $6075 LD L,A ; $6076 LD H,$00 ; $6078 ADD HL,HL ; $6079 LD E,L ; $607A LD D,H ; $607B ADD HL,HL ; $607C ADD HL,HL ; $607D EX DE,HL ; $607E ADD HL,DE ; $607F EX DE,HL ; $6080 ADD HL,HL ; $6081 ADD HL,DE ; $6082 LD DE,($E001) ; $6086 ADD HL,DE ; $6087 LD DE,$DFDF ; $608A LD A,($DFE9) ; Get previous area compass offset. $608D LD BC,$001A ; Copy new area data as current area. $6090 LDIR ; $6092 LD C,A ; Make sure the compass is correct for area and man is facing the right direction on entry. $6093 LD HL,($DFE9) ; $6096 LD A,($DFD2) ; $6099 ADD A,C ; $609A SUB L ; $609B AND $03 ; $609D LD ($DFD2),A ; $60A0 LD A,($DFD5) ; $60A3 ADD A,C ; $60A4 SUB L ; $60A5 AND $03 ; $60A7 LD ($DFD5),A ; $60AA RET ; ; Routine at 60AB c$60AB INC HL ; ; Initialise Hero ; ; Used by the routines at #R$5E2A and #R$65BF. @label=HeroInit c$60AC XOR A ; $60AD LD ($E003),A ; $60B0 LD A,$02 ; $60B2 LD ($DFD5),A ; $60B5 LD A,$01 ; $60B7 LD ($DFD4),A ; $60BA LD HL,$DF91 ; $60BD LD DE,$DFC7 ; $60C0 LD BC,$0007 ; $60C3 LDIR ; $60C5 LD DE,$DFCE ; $60C8 LD BC,$0004 ; $60CB LDIR ; $60CD LD HL,$0064 ; $60D0 LD ($DFC3),HL ; $60D3 LD HL,$008C ; $60D6 LD ($DFC5),HL ; $60D9 LD HL,$0013 ; $60DC LD ($DFBD),HL ; $60DF LD A,$05 ; $60E1 CALL $6071 ; $60E4 XOR A ; $60E5 LD ($DFD2),A ; $60E8 CALL $6236 ; $60EB CALL $638A ; $60EE RET ; ; Display Game Screen ; ; Used by the routine at #R$5E2A. @label=GameScrDisplay c$60EF XOR A ; $60F0 LD ($E003),A ; $60F3 CALL $7B18 ; $60F6 CALL $6236 ; $60F9 CALL $638A ; $60FC RET ; ; See which path intersects the hero position. ; ; Used by the routines at #R$61B8 and #R$638A. @label=PathIntersect c$60FD LD DE,($DFC3) ; $6101 LD HL,($DFC5) ; $6104 LD A,($DFD2) ; Depending on the camera, decide which path data to use. $6107 AND $01 ; $6109 JR NZ,$6111 ; $610B LD IX,($DFE3) ; $610F JR $6116 ; @label=PathIntersect_0 *$6111 LD IX,($DFE5) ; $6115 EX DE,HL ; @label=PathIntersect_1 *$6116 LD A,($E004) ; $6119 AND A ; $611A JR Z,$6136 ; $611C LD A,($DFD2) ; Since man is currently walking through a doorway, offset position by +/-6 units. $611F LD BC,$0006 ; $6122 CP $02 ; $6124 JR C,$6129 ; $6126 LD BC,$FFFA ; @label=PathIntersect_2 *$6129 LD A,($DFD4) ; $612C CP $02 ; $612E JR Z,$6133 ; $6130 ADD HL,BC ; $6131 JR $6136 ; @label=PathIntersect_3 *$6133 AND A ; $6134 SBC HL,BC ; @label=PathIntersect_4 *$6136 LD C,L ; BC now holds offset position. Store original position on stack. Remember this is either the X ; coord or Y coord depending on the camera. $6137 LD B,H ; ; See if any paths, in the list, intersects the man's position. @label=TestPath *$6138 PUSH DE ; $6139 LD A,(IX+$00) ; Get the area index of path, if not the same as man then skip this path. $613C AND A ; $613D JR Z,$6145 ; $613F LD HL,$DFDD ; $6142 CP (HL) ; $6143 JR NZ,$617E ; ; Get Path Axis Position @label=PathIntersect_5 *$6145 LD A,(IX+$01) ; Get start position of path $6148 CP $FF ; End if Terminate Code (0xFF) $614A JR Z,$6186 ; $614C LD L,A ; (pos x 2) to scale upto real units. $614D LD H,$00 ; $614F ADD HL,HL ; $6150 AND A ; Get distance from man's position. $6151 SBC HL,DE ; $6153 JR NC,$6160 ; If >= man's position... $6155 LD DE,$0004 ; $6158 AND A ; $6159 ADC HL,DE ; $615B JP M,$617E ; $615E JR $6168 ; @label=PathIntersect_6 *$6160 LD DE,$0004 ; $6163 SCF ; $6164 SBC HL,DE ; $6166 JR NC,$6186 ; ; Get Path End(1) Position @label=PathIntersect_7 *$6168 LD L,(IX+$02) ; $616B LD H,$00 ; $616D ADD HL,HL ; $616E SCF ; $616F SBC HL,BC ; $6171 JR NC,$617E ; ; Get Path End(2) Position $6173 LD L,(IX+$03) ; $6176 LD H,$00 ; $6178 ADD HL,HL ; $6179 AND A ; $617A SBC HL,BC ; $617C JR NC,$6194 ; ; Next Path @label=NextPath *$617E LD DE,$0004 ; $6181 ADD IX,DE ; $6183 POP DE ; $6184 JR $6138 ; ; Store 'No Path' @label=StoreNoPath *$6186 POP DE ; $6187 LD HL,$5E5A ; $618A LD ($DFD7),HL ; $618D LD A,($DFD2) ; $6190 LD ($DFD9),A ; $6193 RET ; ; Path Found @label=PathIntersect_8 *$6194 POP DE ; $6195 LD ($DFD7),IX ; Store path address. $6199 LD A,($DFD2) ; $619C LD ($DFD9),A ; $619F LD ($DFDA),IX ; $61A3 LD ($DFDC),A ; $61A6 LD L,(IX+$01) ; Make sure man is positioned correctly on path axis. $61A9 LD H,$00 ; $61AB ADD HL,HL ; $61AC AND $01 ; $61AE JR Z,$61B4 ; $61B0 LD ($DFC5),HL ; $61B3 RET ; @label=PathIntersect_9 *$61B4 LD ($DFC3),HL ; $61B7 RET ; ; Get Next Path ; ; Used by the routines at #R$5ECF and #R$5F71. c$61B8 LD HL,($DFC3) ; $61BB LD A,($DFD2) ; $61BE BIT 0,A ; $61C0 JR Z,$61C5 ; $61C2 LD HL,($DFC5) ; *$61C5 PUSH HL ; $61C6 LD A,($DFD4) ; $61C9 OR $01 ; $61CB LD HL,($DFD2) ; $61CE ADD A,L ; $61CF AND $03 ; $61D1 PUSH AF ; $61D2 LD L,A ; $61D3 LD H,$00 ; $61D5 LD DE,$DFEF ; $61D8 ADD HL,DE ; $61D9 LD A,(HL) ; $61DA CALL $6071 ; $61DD CALL $6236 ; $61E0 LD A,($DFD4) ; $61E3 OR $01 ; $61E5 LD HL,($DFD2) ; $61E8 ADD A,L ; $61E9 AND $03 ; $61EB XOR $02 ; $61ED LD L,A ; $61EE POP AF ; $61EF XOR L ; $61F0 CP $02 ; $61F2 JR Z,$6205 ; $61F4 CP $03 ; $61F6 JR Z,$6205 ; $61F8 LD HL,$0200 ; $61FB POP BC ; $61FC INC BC ; $61FD INC BC ; $61FE AND A ; $61FF SBC HL,BC ; $6201 DEC HL ; $6202 DEC HL ; $6203 JR $6206 ; *$6205 POP HL ; *$6206 LD A,($DFD2) ; $6209 BIT 1,A ; $620B JR NZ,$6219 ; $620D LD A,($DFD4) ; $6210 CP $02 ; $6212 JR NZ,$6220 ; *$6214 LD DE,$01F9 ; $6217 JR $6223 ; *$6219 LD A,($DFD4) ; $621C CP $02 ; $621E JR NZ,$6214 ; *$6220 LD DE,$0007 ; *$6223 LD A,($DFD2) ; $6226 BIT 0,A ; $6228 JR Z,$622B ; $622A EX DE,HL ; *$622B LD ($DFC3),HL ; $622E LD ($DFC5),DE ; $6232 CALL $60FD ; $6235 RET ; ; Print Location Description ; ; Used by the routines at #R$5E2A, #R$60AC, #R$60EF and #R$61B8. @label=LocDescription c$6236 PUSH IX ; $6238 CALL $DF8B ; $623B XOR A ; $623C LD ($E007),A ; $623F LD HL,($DFEA) ; $6242 LD A,L ; $6243 OR H ; $6244 JR Z,$624F ; $6246 LD DE,$000D ; $6249 ADD HL,DE ; $624A LD (HL),$00 ; $624C INC HL ; $624D LD (HL),$00 ; @label=LocDescription_0 *$624F LD HL,($DFF3) ; $6252 LD A,L ; $6253 OR H ; $6254 JR Z,$62AB ; $6256 LD DE,$000A ; $6259 LD HL,$015E ; $625C CALL $03B5 ; $625F LD DE,$5AD2 ; $6262 LD HL,$DF91 ; $6265 LD BC,$000E ; $6268 LDIR ; $626A LD DE,$5AF2 ; $626D LD BC,$000E ; $6270 LDIR ; $6272 CALL $6CFF ; ; Data block at 6275 b$6275 DEFB $16 $6276 DEFB $06 $6277 DEFB $12 $6278 DEFB $11 $6279 DEFB $00 $627A DEFB $10 $627B DEFB $04 $627C DEFB $13 $627D DEFB $01 $627E DEFB $5E ; Routine at 627F c$627F LD HL,($DFF3) ; @label=LocDescription_1 *$6282 LD A,(HL) ; $6283 INC HL ; $6284 CP $5E ; $6286 JR Z,$62AB ; $6288 CP $2B ; $628A JR Z,$6291 ; $628C CALL $8925 ; $628F JR $6282 ; @label=LocDescription_2 *$6291 LD A,$16 ; $6293 CALL $8925 ; $6296 LD A,$07 ; $6298 CALL $8925 ; $629B LD A,$12 ; $629D CALL $8925 ; @label=LocDescription_3 *$62A0 LD A,(HL) ; $62A1 INC HL ; $62A2 CP $5E ; $62A4 JR Z,$62AB ; $62A6 CALL $8925 ; $62A9 JR $62A0 ; ; This entry point is used by the routine at #R$6236. @label=LocDescription_4 *$62AB POP IX ; $62AD RET ; ; Draw the whole stage. ; ; Used by the routines at #R$5E2A and #R$638A. @label=Screen_DrawStage c$62AE LD HL,$F608 ; Clear offscreen buffer. $62B1 LD DE,$F609 ; $62B4 LD BC,$087F ; $62B7 LD (HL),$00 ; $62B9 LDIR ; $62BB LD HL,($DFC3) ; Make sure positions are always even. $62BE LD DE,($DFC5) ; $62C2 RES 0,L ; $62C4 RES 0,E ; $62C6 LD ($DFC3),HL ; $62C9 LD ($DFC5),DE ; $62CD PUSH HL ; Store positions. $62CE PUSH DE ; $62CF LD A,($DFD4) ; $62D2 PUSH AF ; $62D3 LD B,$22 ; $62D5 LD A,($DFD2) ; $62D8 BIT 0,A ; $62DA JR NZ,$62DD ; $62DC EX DE,HL ; Camera is N/S so work on the E/W position. @label=Screen_DrawStage_0 *$62DD LD DE,$00FF ; $62E0 BIT 1,A ; $62E2 JR NZ,$62EB ; $62E4 AND A ; Camera is N/E $62E5 SBC HL,DE ; $62E7 JR C,$631B ; $62E9 JR $62F0 ; @label=Screen_DrawStage_1 *$62EB AND A ; $62EC SBC HL,DE ; $62EE JR NC,$631B ; @label=Screen_DrawStage_2 *$62F0 LD A,$01 ; $62F2 LD ($DFD4),A ; $62F5 LD HL,$F629 ; @label=Screen_DrawStage_3 *$62F8 PUSH BC ; $62F9 PUSH HL ; $62FA LD IX,$5E7F ; $62FE CALL $6D14 ; $6301 LD HL,($DFD2) ; Get camera direction and calculate jump vector to move in the right direction based on value. $6304 LD H,$00 ; $6306 ADD HL,HL ; $6307 LD BC,$5EA7 ; $630A ADD HL,BC ; $630B LD E,L ; $630C LD D,H ; $630D CALL $5E5E ; $6310 EX DE,HL ; $6311 CALL $5E5E ; $6314 POP HL ; $6315 DEC HL ; $6316 POP BC ; $6317 DJNZ $62F8 ; $6319 JR $6344 ; @label=Screen_DrawStage_4 *$631B LD A,$02 ; $631D LD ($DFD4),A ; $6320 LD HL,$F608 ; @label=Screen_DrawStage_5 *$6323 PUSH BC ; $6324 PUSH HL ; $6325 LD IX,$5E5F ; $6329 CALL $6D14 ; $632C LD HL,($DFD2) ; Get camera direction and calculate jump vector to move in the right direction based on value. $632F LD H,$00 ; $6331 ADD HL,HL ; $6332 LD BC,$5E9F ; $6335 ADD HL,BC ; $6336 LD E,L ; $6337 LD D,H ; $6338 CALL $5E5E ; $633B EX DE,HL ; $633C CALL $5E5E ; $633F POP HL ; $6340 INC HL ; $6341 POP BC ; $6342 DJNZ $6323 ; @label=Screen_DrawStage_6 *$6344 POP AF ; $6345 LD ($DFD4),A ; $6348 POP DE ; $6349 POP HL ; $634A LD ($DFC3),HL ; $634D LD ($DFC5),DE ; $6351 RET ; ; Sky Colours @label=SkyColours b$6352 DEFB $28,$28,$28,$28,$28,$20,$34,$30 $635A DEFB $2F,$2F,$38,$38,$38,$38,$37,$30 $6362 DEFB $2F,$2F,$2F,$28,$28,$20,$34,$30 $636A DEFB $2F,$2F,$38,$38,$38,$20,$34,$30 @label=CompassLettering $6372 DEFM "neswnesw" ; Compass lettering. @label=CompassAsciiPositioning $637A DEFB $10,$08,$11,$08 ; Ascii codes for positioning compass lettering. $637E DEFB $16,$01,$02 $6381 DEFB $16,$02,$03 $6384 DEFB $16,$03,$02 $6387 DEFB $16,$02,$01 ; Update the screen. ; ; Used by the routines at #R$5E2A, #R$60AC, #R$60EF and #R$65BF. @label=ScreenUpdate c$638A DI ; $638B LD HL,$DF91 ; $638E LD DE,$DFF9 ; $6391 LD BC,$0004 ; $6394 LDIR ; $6396 CALL $60FD ; $6399 CALL $62AE ; $639C LD DE,($DFBD) ; $63A0 LD A,($E004) ; $63A3 AND A ; $63A4 JR NZ,$63CE ; $63A6 LD A,($DFD5) ; $63A9 LD HL,($DFD2) ; $63AC LD E,$12 ; $63AE CP L ; $63AF JR Z,$63CE ; $63B1 LD E,$13 ; $63B3 ADD A,$02 ; $63B5 AND $03 ; $63B7 CP L ; $63B8 JR Z,$63CE ; $63BA LD E,$10 ; $63BC LD A,($DFD5) ; $63BF SUB L ; $63C0 AND $03 ; $63C2 LD ($DFD4),A ; $63C5 CP $03 ; $63C7 JR NZ,$63CE ; $63C9 LD A,$02 ; $63CB LD ($DFD4),A ; @label=ScreenUpdate_0 *$63CE LD D,$00 ; $63D0 LD ($DFBD),DE ; $63D4 LD A,($E004) ; $63D7 AND A ; $63D8 JR Z,$63DF ; $63DA CALL $7B2A ; $63DD JR $63E5 ; @label=ScreenUpdate_1 *$63DF LD A,($DFBD) ; $63E2 CALL $7B27 ; @label=ScreenUpdate_2 *$63E5 LD A,($DFEC) ; $63E8 AND A ; $63E9 JR Z,$6460 ; $63EB LD HL,$5800 ; $63EE LD DE,$5801 ; $63F1 LD BC,$009F ; $63F4 LD A,($DFEC) ; $63F7 CP $02 ; $63F9 JR NZ,$63FE ; $63FB LD BC,$00DF ; @label=ScreenUpdate_3 *$63FE LD A,($DFED) ; $6401 LD (HL),A ; $6402 LDIR ; $6404 INC HL ; $6405 INC DE ; $6406 LD A,($DFED) ; $6409 RRA ; $640A RRA ; $640B RRA ; $640C AND $07 ; $640E LD B,A ; $640F LD A,($DFEE) ; $6412 AND $F8 ; $6414 OR B ; $6415 LD (HL),A ; $6416 LD BC,$001F ; $6419 LDIR ; $641B INC HL ; $641C INC DE ; $641D LD A,($DFEE) ; $6420 LD (HL),A ; $6421 LD BC,$013F ; $6424 LD A,($DFEC) ; $6427 CP $02 ; $6429 JR NZ,$6435 ; $642B LD BC,$00FF ; $642E LDIR ; $6430 LD DE,$40E0 ; $6433 JR $643A ; @label=ScreenUpdate_4 *$6435 LDIR ; $6437 LD DE,$40A0 ; @label=ScreenUpdate_5 *$643A PUSH DE ; $643B LD HL,$4000 ; $643E LD DE,$4001 ; $6441 LD BC,$07FF ; $6444 LD (HL),$00 ; $6446 LDIR ; $6448 POP DE ; $6449 LD HL,($9378) ; $644C LD BC,$9436 ; $644F ADD HL,BC ; @label=ScreenUpdate_6 *$6450 PUSH DE ; $6451 LD BC,$0020 ; $6454 LDIR ; $6456 POP DE ; $6457 INC D ; $6458 LD A,D ; $6459 AND $07 ; $645B JR NZ,$6450 ; $645D JP $64FC ; @label=ScreenUpdate_7 *$6460 LD HL,$4000 ; $6463 LD DE,$4001 ; $6466 LD BC,$07FF ; $6469 LD (HL),$00 ; $646B LDIR ; $646D LD HL,($DFD2) ; $6470 LD A,($DFE9) ; $6473 ADD A,L ; $6474 AND $03 ; $6476 LD L,A ; $6477 LD H,$00 ; $6479 ADD HL,HL ; $647A ADD HL,HL ; $647B ADD HL,HL ; $647C EX DE,HL ; $647D LD IX,$6352 ; $6481 ADD IX,DE ; $6483 LD HL,$5800 ; $6486 LD DE,$5801 ; $6489 LD A,$08 ; @label=ScreenUpdate_8 *$648B EX AF,AF' ; $648C LD A,(IX+$00) ; $648F LD (HL),A ; $6490 LD BC,$001F ; $6493 LDIR ; $6495 INC IX ; $6497 INC HL ; $6498 INC DE ; $6499 EX AF,AF' ; $649A DEC A ; $649B JR NZ,$648B ; $649D LD (HL),$30 ; $649F LD BC,$00FF ; $64A2 LDIR ; $64A4 LD B,$30 ; $64A6 LD C,$00 ; $64A8 LD HL,$00D1 ; $64AB XOR A ; $64AC CALL $7B0F ; $64AF LD A,($DFD2) ; $64B2 LD HL,($DFE9) ; $64B5 ADD A,L ; $64B6 AND $03 ; $64B8 ADD A,$D2 ; $64BA LD B,$18 ; $64BC CP $D4 ; $64BE JR NZ,$64CD ; $64C0 LD HL,$00AD ; $64C3 XOR A ; $64C4 LD C,$80 ; $64C6 CALL $7B0F ; $64C9 LD B,$20 ; $64CB LD A,$D4 ; @label=ScreenUpdate_9 *$64CD PUSH AF ; $64CE LD L,A ; $64CF LD H,$00 ; $64D1 XOR A ; $64D2 LD C,A ; $64D3 CALL $7B0F ; $64D6 POP AF ; $64D7 CP $D2 ; $64D9 JR NZ,$64E6 ; $64DB LD HL,$00D6 ; $64DE LD B,$10 ; $64E0 LD C,$40 ; $64E2 XOR A ; $64E3 CALL $7B0F ; @label=ScreenUpdate_10 *$64E6 LD A,($DFD2) ; $64E9 LD HL,($DFE9) ; $64EC ADD A,L ; $64ED BIT 0,A ; $64EF JR Z,$64FC ; $64F1 LD HL,$00CF ; $64F4 LD B,$08 ; $64F6 LD C,$00 ; $64F8 XOR A ; $64F9 CALL $7B0F ; ; Draw Compass @label=ScreenUpdate_11 *$64FC LD HL,$00C9 ; Blit the compass image $64FF LD B,$80 ; $6501 LD C,$00 ; $6503 XOR A ; $6504 CALL $7B0F ; ; Update Compass $6507 LD HL,($DFD2) ; Get camera direction and offset to get true NORTH for area. $650A LD A,($DFE9) ; $650D ADD A,L ; $650E AND $03 ; $6510 LD L,A ; Using the true compass point work out which letter is needed for the top of the compass. $6511 LD H,$00 ; $6513 LD DE,$6372 ; $6516 ADD HL,DE ; $6517 LD DE,$637A ; Pointer to string holding ascii codes for positioning letter at top of compass. Made up of ; seven characters. $651A LD C,$04 ; $651C LD B,$07 ; @label=ScreenUpdate_DisplayCompass *$651E LD A,(DE) ; Use ascii characters to position cursor. $651F CALL $8925 ; $6522 INC DE ; $6523 DJNZ $651E ; $6525 LD A,(HL) ; Now print the expected compass letter. $6526 CALL $8925 ; $6529 INC HL ; $652A LD B,$03 ; From now on position codes are made up of three characters. $652C DEC C ; $652D JR NZ,$651E ; ; Blit offscreen to the DF. $652F CALL $DF85 ; $6532 EI ; $6533 RET ; ; Routine at 6534 ; ; Used by the routines at #R$5E2A and #R$65BF. c$6534 LD A,($DFCB) ; $6537 AND A ; $6538 RET Z ; $6539 PUSH IX ; $653B LD IX,($DFCC) ; $653F LD L,(IX+$02) ; $6542 LD H,$00 ; $6544 ADD HL,HL ; $6545 ADD HL,HL ; $6546 LD DE,$9037 ; $6549 ADD HL,DE ; $654A LD A,($DFD4) ; $654D RRCA ; $654E RRCA ; $654F XOR (HL) ; $6550 AND $80 ; $6552 JR Z,$655E ; $6554 PUSH HL ; $6555 LD L,(IX+$02) ; $6558 LD H,$00 ; $655A CALL $6D29 ; $655D POP HL ; *$655E DEC HL ; $655F LD A,(HL) ; $6560 AND $7F ; $6562 RLA ; $6563 RLA ; $6564 RLA ; $6565 NEG ; $6567 ADD A,$19 ; $6569 LD B,A ; $656A LD C,$98 ; $656C LD A,($DFD4) ; $656F CP $01 ; $6571 JR Z,$657F ; $6573 INC HL ; $6574 LD A,(HL) ; $6575 AND $7F ; $6577 RLA ; $6578 RLA ; $6579 RLA ; $657A NEG ; $657C ADD A,$68 ; $657E LD C,A ; *$657F LD A,(IX+$02) ; $6582 CALL $6D23 ; $6585 POP IX ; $6587 RET ; ; Each byte represents a frame from our Hero's animation. @label=HeroAnimFrames b$6588 DEFB $04,$07,$0B,$0E,$10,$12,$13 ; Data block at 658F b$658F DEFB $01,$02,$03,$14,$04,$0F,$10,$08 $6597 DEFB $09,$0A,$14,$0B,$11,$10,$0E,$0D $659F DEFB $0C,$0B,$0A,$09,$08,$07,$06,$05 $65A7 DEFB $04,$03,$02,$01,$0E,$0F,$04,$11 $65AF DEFB $0B,$14,$0A,$14,$03,$12,$0F,$13 $65B7 DEFB $11,$10,$0F ; Previous Input Flags @label=PreviousInputFlags_65BA b$65BA DEFB $00 $65BB DEFB $04 $65BC DEFW $0000 $65BE DEFB $00 ; Handle the input for hero. ; ; Used by the routine at #R$5E2A. @label=HeroInputHandler c$65BF LD A,($E006) ; See if Warning needs clearing $65C2 AND A ; $65C3 JR Z,$65D6 ; $65C5 DEC A ; Decrease warning timer if greater than zero. $65C6 LD ($E006),A ; $65C9 JR NZ,$65D6 ; Ignore if not zero. $65CB LD DE,$5A26 ; Clear warning message by blanking the attributes. $65CE LD HL,$DF91 ; $65D1 LD BC,$000A ; $65D4 LDIR ; @label=HeroInputHandler_0 *$65D6 LD A,($E005) ; Thru Door Go $65D9 AND A ; $65DA JR Z,$65E3 ; $65DC DEC A ; Decrease door go counter. $65DD LD ($E005),A ; $65E0 JP $7B2A ; @label=HeroInputHandler_1 *$65E3 LD A,($E003) ; $65E6 AND A ; $65E7 JP NZ,$690A ; @label=HeroInputHandler_2 *$65EA LD A,($65BE) ; $65ED AND A ; $65EE JP NZ,$68C3 ; $65F1 LD A,($E004) ; See if man is stepping through a door. $65F4 AND A ; $65F5 JP NZ,$6812 ; $65F8 CALL $6D20 ; Check input $65FB LD A,($DFBD) ; $65FE CP $10 ; Is Hero standing still (facing left or right)? $6600 JR NZ,$660D ; $6602 LD A,($DFB1) ; Is game in demo mode? $6605 AND A ; $6606 JR Z,$660D ; $6608 OR $08 ; $660A LD ($DFBA),A ; @label=HeroInputHandler_3 *$660D LD A,($DFBA) ; $6610 LD HL,($65BC) ; $6613 DEC L ; $6614 JP M,$661E ; $6617 AND H ; $6618 LD ($DFBA),A ; $661B LD ($65BC),HL ; @label=HeroInputHandler_4 *$661E AND $0C ; Check for previous rotation. If so then do not allow rotation again until user releases a ; key. $6620 JR Z,$664E ; $6622 LD A,($65BA) ; $6625 AND $0C ; $6627 JP NZ,$7B2A ; $662A LD A,($DFBA) ; $662D LD ($65BA),A ; $6630 AND $0C ; Check for rotate $6632 CP $0C ; $6634 JP Z,$7B2A ; $6637 BIT 2,A ; $6639 JR Z,$6641 ; $663B LD A,($DFD2) ; Rotate clockwise $663E INC A ; $663F JR $6645 ; @label=RotateCCW *$6641 LD A,($DFD2) ; Rotate counter clockwise $6644 DEC A ; @label=RotateStore *$6645 AND $03 ; mask result and store new camera direction. $6647 LD ($DFD2),A ; $664A CALL $638A ; $664D RET ; ; Check for object handling inputs (get/drop/select) @label=HeroInputHandler_5 *$664E LD A,($DFBA) ; $6651 AND $E0 ; $6653 JR Z,$6686 ; $6655 LD A,($65BA) ; Make sure user isn't holding down a key. If so do no object handling until key is released. $6658 AND $60 ; $665A JR NZ,$6686 ; $665C LD A,($DFBA) ; Check for select input. $665F BIT 7,A ; $6661 JR Z,$666F ; $6663 LD A,($65BA) ; Making sure user isn't holding key down. $6666 BIT 7,A ; $6668 JR NZ,$666F ; $666A CALL $7B24 ; $666D JR $6686 ; ; Handle left/right. @label=HeroInputHandler_6 *$666F LD A,($DFBA) ; $6672 AND $60 ; $6674 CP $60 ; $6676 JR Z,$6686 ; $6678 BIT 5,A ; $667A JR Z,$6681 ; $667C CALL $7B1E ; $667F JR $6686 ; @label=HeroInputHandler_7 *$6681 BIT 6,A ; $6683 CALL NZ,$7B21 ; @label=HeroInputHandler_8 *$6686 LD A,($DFBA) ; $6689 LD ($65BA),A ; $668C LD A,($DFBD) ; See if the current frame matches anything from the animation table. $668F LD HL,$6588 ; $6692 LD BC,$0007 ; $6695 CPIR ; $6697 JP NZ,$67F0 ; $669A LD HL,($DFC5) ; Workout which axis to move along. $669D LD DE,$0008 ; $66A0 LD A,($DFD2) ; $66A3 BIT 0,A ; $66A5 JR Z,$66AA ; $66A7 LD HL,($DFC3) ; @label=HeroInputHandler_9 *$66AA BIT 1,A ; $66AC JR Z,$66B1 ; $66AE LD DE,$FFF8 ; @label=HeroInputHandler_10 *$66B1 LD A,($DFBA) ; Get the walk inputs and store them. If both are pressed then do nothing. $66B4 AND $03 ; $66B6 CP $03 ; $66B8 JR NZ,$66BB ; $66BA XOR A ; @label=HeroInputHandler_11 *$66BB LD ($9030),A ; $66BE LD A,($DFBD) ; Halfway through a step so keep moving. $66C1 CP $04 ; $66C3 JP Z,$678D ; $66C6 CP $0B ; $66C8 JP Z,$678D ; $66CB LD A,($DFBA) ; Attack key is down. $66CE BIT 4,A ; $66D0 JP NZ,$6864 ; $66D3 LD A,($DFBD) ; $66D6 CP $07 ; $66D8 JP Z,$67F0 ; $66DB CP $0E ; $66DD JP Z,$67F0 ; $66E0 LD A,($9030) ; Get input for walking again. $66E3 CP $00 ; Nothing pressed. $66E5 JP Z,$680C ; $66E8 LD BC,($DFD4) ; $66EC CP C ; $66ED JR Z,$6706 ; $66EF LD A,($DFBD) ; Standing still animation. $66F2 CP $10 ; $66F4 JR NZ,$6706 ; $66F6 LD A,$13 ; Set to facing the camera. Part of turning around. Setting heros direction to the opposite of ; camera. $66F8 LD ($DFBD),A ; $66FB LD A,($DFD2) ; $66FE XOR $02 ; $6700 LD ($DFD5),A ; $6703 JP $680C ; @label=HeroInputHandler_12 *$6706 LD A,($9030) ; $6709 CP $02 ; $670B JR Z,$6712 ; $670D AND A ; $670E ADC HL,DE ; $6710 JR $6714 ; @label=HeroInputHandler_13 *$6712 SBC HL,DE ; @label=HeroInputHandler_14 *$6714 JP M,$676C ; $6717 JR Z,$676C ; $6719 LD E,L ; $671A LD D,H ; $671B LD BC,$01FE ; $671E AND A ; $671F SBC HL,BC ; $6721 JR NC,$676C ; $6723 LD IX,($DFD7) ; $6727 LD L,(IX+$02) ; $672A LD H,$00 ; $672C ADD HL,HL ; $672D SCF ; $672E SBC HL,DE ; $6730 JP NC,$6740 ; $6733 LD L,(IX+$03) ; $6736 LD H,$00 ; $6738 ADD HL,HL ; $6739 EX DE,HL ; $673A SCF ; $673B SBC HL,DE ; $673D JP C,$676C ; @label=HeroInputHandler_15 *$6740 LD A,($9030) ; $6743 CALL $891F ; $6746 LD A,($E004) ; $6749 CP $01 ; $674B JR Z,$676C ; $674D LD A,($9030) ; $6750 LD ($DFD4),A ; $6753 LD C,$01 ; $6755 CP $01 ; $6757 JR Z,$675B ; $6759 LD C,$FF ; @label=HeroInputHandler_16 *$675B LD A,($DFD2) ; $675E ADD A,C ; $675F AND $03 ; $6761 LD ($DFD5),A ; $6764 LD A,$10 ; $6766 LD ($DFBD),A ; $6769 JP $680C ; @label=HeroInputHandler_17 *$676C LD A,($9030) ; $676F LD ($DFD4),A ; $6772 LD C,$01 ; $6774 CP $01 ; $6776 JR Z,$677A ; $6778 LD C,$FF ; @label=HeroInputHandler_18 *$677A LD A,($DFD2) ; $677D ADD A,C ; $677E AND $03 ; $6780 LD ($DFD5),A ; $6783 LD A,($65BB) ; $6786 ADD A,$02 ; $6788 LD ($DFBD),A ; $678B JR $6809 ; @label=HeroInputHandler_19 *$678D LD A,($DFBD) ; $6790 LD ($65BB),A ; $6793 LD A,($DFD4) ; $6796 CP $02 ; $6798 JR Z,$679F ; $679A AND A ; $679B ADC HL,DE ; $679D JR $67A1 ; @label=HeroInputHandler_20 *$679F SBC HL,DE ; @label=HeroInputHandler_21 *$67A1 JP M,$67CB ; $67A4 JR Z,$67CB ; $67A6 LD E,L ; $67A7 LD D,H ; $67A8 LD BC,$01FE ; $67AB AND A ; $67AC SBC HL,BC ; $67AE JR NC,$67CB ; $67B0 LD IX,($DFD7) ; $67B4 LD L,(IX+$02) ; $67B7 LD H,$00 ; $67B9 ADD HL,HL ; $67BA AND A ; $67BB SBC HL,DE ; $67BD JR NC,$67D6 ; $67BF LD L,(IX+$03) ; $67C2 LD H,$00 ; $67C4 ADD HL,HL ; $67C5 EX DE,HL ; $67C6 AND A ; $67C7 SBC HL,DE ; $67C9 JR NC,$67D6 ; @label=HeroInputHandler_22 *$67CB LD A,($9030) ; $67CE LD HL,$DFD4 ; $67D1 CP (HL) ; $67D2 JR Z,$67F0 ; $67D4 JR $67E3 ; @label=HeroInputHandler_23 *$67D6 LD A,($DFD4) ; $67D9 CALL $891F ; $67DC LD A,($E004) ; $67DF CP $01 ; $67E1 JR Z,$67F0 ; @label=HeroInputHandler_24 *$67E3 LD A,($DFBD) ; $67E6 CP $04 ; $67E8 LD A,$0F ; $67EA JR Z,$6806 ; $67EC LD A,$11 ; $67EE JR $6806 ; @label=HeroInputHandler_25 *$67F0 LD A,($DFBD) ; $67F3 CP $0F ; $67F5 JR Z,$67FB ; $67F7 CP $11 ; $67F9 JR NZ,$67FF ; @label=HeroInputHandler_26 *$67FB LD A,$10 ; $67FD JR $6806 ; @label=HeroInputHandler_27 *$67FF INC A ; $6800 CP $0F ; $6802 JR NZ,$6806 ; $6804 LD A,$01 ; @label=HeroInputHandler_28 *$6806 LD ($DFBD),A ; @label=HeroInputHandler_29 *$6809 CALL $5ECF ; @label=HeroInputHandler_30 *$680C LD A,($DFBD) ; $680F JP $7B27 ; @label=HeroInputHandler_31 *$6812 CP $02 ; $6814 JR Z,$6837 ; $6816 CP $03 ; $6818 JR Z,$6844 ; $681A CP $04 ; $681C JR Z,$684B ; $681E LD A,($DFBD) ; $6821 CP $01 ; $6823 JR Z,$6829 ; $6825 CP $08 ; $6827 JR NZ,$67F0 ; @label=HeroInputHandler_32 *$6829 LD A,$02 ; $682B LD ($E004),A ; $682E LD A,$05 ; $6830 LD ($E005),A ; $6833 XOR A ; $6834 JP $7B27 ; @label=HeroInputHandler_33 *$6837 LD A,$03 ; $6839 LD ($E004),A ; $683C LD A,$05 ; $683E LD ($E005),A ; $6841 JP $8922 ; @label=HeroInputHandler_34 *$6844 LD A,$04 ; $6846 LD ($E004),A ; $6849 JR $6809 ; @label=HeroInputHandler_35 *$684B LD A,($DFBD) ; $684E CP $04 ; $6850 JR Z,$6856 ; $6852 CP $0B ; $6854 JR NZ,$67FF ; @label=HeroInputHandler_36 *$6856 LD L,$02 ; $6858 LD H,$03 ; $685A LD ($65BC),HL ; $685D XOR A ; $685E LD ($E004),A ; $6861 JP $65BF ; @label=HeroInputHandler_37 *$6864 LD A,($DFD4) ; $6867 CP $02 ; $6869 JR Z,$6870 ; $686B AND A ; $686C ADC HL,DE ; $686E JR $6872 ; @label=HeroInputHandler_38 *$6870 SBC HL,DE ; @label=HeroInputHandler_39 *$6872 JP M,$68A6 ; $6875 JR Z,$68A6 ; $6877 LD E,L ; $6878 LD D,H ; $6879 LD BC,$01FE ; $687C AND A ; $687D SBC HL,BC ; $687F JR NC,$68A6 ; $6881 LD IX,($DFD7) ; $6885 LD L,(IX+$02) ; $6888 LD H,$00 ; $688A ADD HL,HL ; $688B SCF ; $688C SBC HL,DE ; $688E JP NC,$689E ; $6891 LD L,(IX+$03) ; $6894 LD H,$00 ; $6896 ADD HL,HL ; $6897 EX DE,HL ; $6898 SCF ; $6899 SBC HL,DE ; $689B JP C,$68A6 ; @label=HeroInputHandler_40 *$689E LD HL,$DFBA ; $68A1 RES 4,(HL) ; $68A3 JP $6686 ; @label=HeroInputHandler_41 *$68A6 LD A,$01 ; $68A8 LD ($65BE),A ; $68AB LD A,($DFBD) ; $68AE CP $07 ; $68B0 JP Z,$67F0 ; $68B3 CP $0E ; $68B5 JP Z,$67F0 ; $68B8 LD A,($65BB) ; $68BB ADD A,$03 ; $68BD LD ($DFBD),A ; $68C0 JP $67F0 ; @label=HeroInputHandler_42 *$68C3 DEC A ; $68C4 JR Z,$68CC ; $68C6 LD ($65BE),A ; $68C9 JP $7B2A ; @label=HeroInputHandler_43 *$68CC LD A,($DFBD) ; $68CF LD HL,$658F ; $68D2 LD BC,$000E ; $68D5 CPIR ; $68D7 LD A,(HL) ; $68D8 LD ($DFBD),A ; $68DB CP $14 ; $68DD JR NZ,$68F0 ; $68DF LD A,$05 ; $68E1 LD ($65BE),A ; $68E4 CALL $5ECF ; $68E7 CALL $6534 ; $68EA LD A,($DFBD) ; $68ED JP $7B27 ; @label=HeroInputHandler_44 *$68F0 CP $04 ; $68F2 JR Z,$68F8 ; $68F4 CP $0B ; $68F6 JR NZ,$68FE ; @label=HeroInputHandler_45 *$68F8 CALL $6534 ; $68FB JP $6809 ; @label=HeroInputHandler_46 *$68FE CP $10 ; $6900 JP NZ,$6809 ; $6903 XOR A ; $6904 LD ($65BE),A ; $6907 JP $6809 ; @label=HeroInputHandler_47 *$690A CP $01 ; $690C JR NZ,$6944 ; @label=HeroInputHandler_48 *$690E LD A,$02 ; $6910 LD ($E003),A ; $6913 LD A,$3C ; $6915 LD ($E005),A ; $6918 LD A,($65BE) ; $691B AND A ; $691C JR Z,$692C ; $691E XOR A ; $691F LD ($65BE),A ; $6922 LD A,($DFBD) ; $6925 CP $14 ; $6927 JR NZ,$692C ; $6929 CALL $6534 ; @label=HeroInputHandler_49 *$692C LD A,($DFC9) ; $692F AND A ; $6930 JR Z,$6937 ; $6932 CALL $7B21 ; $6935 JR $692C ; @label=HeroInputHandler_50 *$6937 LD DE,$000A ; $693A LD HL,$00FA ; $693D CALL $03B5 ; $6940 XOR A ; $6941 JP $7B27 ; @label=HeroInputHandler_51 *$6944 CP $02 ; $6946 JR NZ,$694F ; $6948 XOR A ; $6949 LD ($E003),A ; $694C JP $60AC ; @label=HeroInputHandler_52 *$694F CP $14 ; $6951 JR NC,$696C ; $6953 INC A ; $6954 CP $12 ; $6956 JR NZ,$695F ; $6958 XOR A ; $6959 LD ($E003),A ; $695C JP $65EA ; @label=HeroInputHandler_53 *$695F LD ($E003),A ; $6962 LD L,$01 ; $6964 LD H,$E3 ; $6966 LD ($65BC),HL ; $6969 JP $65EA ; @label=HeroInputHandler_54 *$696C INC A ; $696D LD ($E003),A ; $6970 CP $18 ; $6972 JR NC,$6987 ; $6974 LD L,$01 ; $6976 LD H,$01 ; $6978 LD A,($DFD2) ; $697B BIT 1,A ; $697D JR NZ,$6981 ; $697F LD H,$02 ; @label=HeroInputHandler_55 *$6981 LD ($65BC),HL ; $6984 JP $65EA ; @label=HeroInputHandler_56 *$6987 LD A,($E003) ; $698A CP $18 ; $698C JR NZ,$69AC ; $698E LD A,($DFC9) ; $6991 AND A ; $6992 JP Z,$690E ; $6995 LD A,($65BE) ; $6998 AND A ; $6999 JR Z,$69A9 ; $699B XOR A ; $699C LD ($65BE),A ; $699F LD A,($DFBD) ; $69A2 CP $14 ; $69A4 JR NZ,$69A9 ; $69A6 CALL $6534 ; @label=HeroInputHandler_57 *$69A9 CALL $7B21 ; @label=HeroInputHandler_58 *$69AC LD A,($E003) ; $69AF CP $1D ; $69B1 JR C,$69C9 ; $69B3 LD A,($DFBD) ; $69B6 CP $06 ; $69B8 JR Z,$69BE ; $69BA CP $0D ; $69BC JR NZ,$69C9 ; @label=HeroInputHandler_59 *$69BE LD A,$10 ; $69C0 LD ($DFBD),A ; $69C3 XOR A ; $69C4 LD ($E003),A ; $69C7 JR $69D8 ; @label=HeroInputHandler_60 *$69C9 LD A,($DFBD) ; $69CC LD HL,$659D ; $69CF LD BC,$001D ; $69D2 CPIR ; $69D4 LD A,(HL) ; $69D5 LD ($DFBD),A ; @label=HeroInputHandler_61 *$69D8 LD A,($DFD4) ; $69DB XOR $03 ; $69DD LD ($DFD4),A ; $69E0 CALL $5ECF ; $69E3 LD A,($DFD4) ; $69E6 XOR $03 ; $69E8 LD ($DFD4),A ; $69EB LD A,($DFBD) ; $69EE JP $7B27 ; ; Routine at 69F1 ; ; Used by the routine at #R$5E2A. @label=Actions_Run c$69F1 LD IX,$DFC1 ; Check for special action in the link list. @label=Actions_Run_NextLink *$69F5 LD L,(IX+$00) ; $69F8 LD H,(IX+$01) ; $69FB LD A,L ; Do nothing if 0000 $69FC OR H ; $69FD RET Z ; $69FE PUSH HL ; $69FF EX (SP),IX ; Check flag, if 0 move from this list to other. $6A01 LD A,(IX+$0B) ; $6A04 AND A ; $6A05 JR NZ,$6A0C ; $6A07 CALL $6D0B ; $6A0A JR $69F5 ; @label=Actions_Run_Call *$6A0C LD L,(IX+$03) ; Call related function. $6A0F LD H,(IX+$04) ; $6A12 CALL $5E5E ; $6A15 POP HL ; Move onto next link in list. $6A16 JR $69F5 ; ; Blits an action item. ; ; Used by the routine at #R$5E2A. @label=Actions_Blit c$6A18 LD IX,$DFC1 ; @label=Actions_Blit_0 *$6A1C LD L,(IX+$00) ; $6A1F LD H,(IX+$01) ; $6A22 LD A,L ; $6A23 OR H ; $6A24 RET Z ; $6A25 PUSH HL ; $6A26 POP IX ; $6A28 LD A,(IX+$0C) ; $6A2B AND A ; $6A2C JR Z,$6A1C ; $6A2E LD (IX+$0C),$00 ; $6A32 CALL $7B36 ; $6A35 JR $6A1C ; ; Routine at 6A37 c$6A37 JP PO,$E3E5 ; $6A3A JP PO,$E5E6 ; $6A3D JP PO,$E6E3 ; $6A40 EX (SP),HL ; $6A41 LD BC,$0000 ; $6A44 LD (HL),D ; $6A45 JR NZ,$6A47 ; *$6A47 NOP ; $6A48 LD L,B ; $6A49 LD H,C ; $6A4A LD (HL),D ; $6A4B LD (HL),B ; $6A4C LD E,(HL) ; $6A4D LD BC,$0000 ; $6A50 LD L,B ; $6A51 LD (BC),A ; $6A52 NOP ; $6A53 NOP ; $6A54 LD L,(HL) ; $6A55 LD (HL),L ; $6A56 LD H,C ; $6A57 LD H,H ; $6A58 LD H,C ; $6A59 LD (HL),E ; $6A5A JR NZ,$6ACF ; $6A5C LD (HL),A ; $6A5D LD L,A ; $6A5E LD (HL),D ; $6A5F LD H,H ; $6A60 LD E,(HL) ; ; Routine at 6A61 ; ; Used by the routine at #R$5E2A. c$6A61 LD (IX+$08),$02 ; $6A65 JR $6A6B ; ; This entry point is used by the routine at #R$5E2A. *$6A67 LD (IX+$08),$03 ; *$6A6B LD A,(IX+$0D) ; $6A6E AND A ; $6A6F JR NZ,$6AC8 ; $6A71 LD A,(IX+$0A) ; $6A74 AND A ; $6A75 JR NZ,$6A9C ; $6A77 LD (IX+$0A),$01 ; $6A7B LD A,(IX+$08) ; $6A7E CP $02 ; $6A80 JR NZ,$6A8F ; $6A82 CALL $8931 ; ; Data block at 6A85 b$6A85 DEFM "cernos!" $6A8C DEFB $5E ; Routine at 6A8D c$6A8D JR $6A9C ; ; This entry point is used by the routine at #R$6A61. *$6A8F CALL $8931 ; ; Data block at 6A92 b$6A92 DEFM "dhomnuil!" $6A9B DEFB $5E ; Routine at 6A9C ; ; Used by the routines at #R$6A61 and #R$6A8D. c$6A9C LD HL,($DFC5) ; $6A9F LD DE,$0084 ; $6AA2 AND A ; $6AA3 SBC HL,DE ; $6AA5 RET NZ ; $6AA6 LD (IX+$0D),$01 ; $6AAA LD (IX+$0A),$14 ; $6AAE PUSH IX ; $6AB0 LD DE,$0005 ; $6AB3 LD HL,$0154 ; $6AB6 CALL $03B5 ; $6AB9 POP IX ; $6ABB LD (IX+$05),$FF ; $6ABF LD (IX+$06),$30 ; $6AC3 LD (IX+$07),$E4 ; $6AC7 RET ; ; This entry point is used by the routine at #R$6A61. *$6AC8 LD A,($DFD2) ; $6ACB CP (IX+$05) ; $6ACE JR Z,$6AE0 ; $6AD0 LD (IX+$05),A ; $6AD3 LD B,$00 ; $6AD5 LD C,$68 ; $6AD7 LD HL,$00E0 ; $6ADA LD A,($DFEE) ; $6ADD CALL $7B0F ; *$6AE0 DEC (IX+$06) ; $6AE3 JR NZ,$6AFE ; $6AE5 LD A,(IX+$07) ; $6AE8 CP $E4 ; $6AEA JR NZ,$6AF6 ; $6AEC LD (IX+$07),$E1 ; $6AF0 LD (IX+$06),$02 ; $6AF4 JR $6AFE ; *$6AF6 LD (IX+$07),$E4 ; $6AFA LD (IX+$06),$30 ; *$6AFE LD B,$10 ; $6B00 LD C,$68 ; $6B02 LD L,(IX+$07) ; $6B05 XOR A ; $6B06 CALL $7B0F ; $6B09 LD A,(IX+$10) ; $6B0C AND A ; $6B0D JR Z,$6B2D ; $6B0F DEC (IX+$11) ; $6B12 JR NZ,$6B2D ; $6B14 LD (IX+$11),$02 ; $6B18 INC (IX+$12) ; $6B1B LD A,(IX+$12) ; $6B1E CP $0A ; $6B20 JR NZ,$6B2D ; $6B22 LD (IX+$12),$00 ; $6B26 LD (IX+$11),$02 ; $6B2A DEC (IX+$10) ; *$6B2D LD L,(IX+$12) ; $6B30 LD H,$00 ; $6B32 LD DE,$6A37 ; $6B35 ADD HL,DE ; $6B36 LD L,(HL) ; $6B37 LD B,$28 ; $6B39 LD C,$70 ; $6B3B XOR A ; $6B3C CALL $7B0F ; $6B3F LD A,(IX+$0D) ; $6B42 CP $01 ; $6B44 JP NZ,$6BD2 ; $6B47 DEC (IX+$0A) ; $6B4A RET NZ ; $6B4B LD HL,$6A41 ; $6B4E LD BC,$0079 ; $6B51 LD A,(IX+$08) ; $6B54 CP $02 ; $6B56 JR Z,$6B5E ; $6B58 LD HL,$6A4D ; $6B5B LD BC,$007E ; *$6B5E LD A,(HL) ; $6B5F AND A ; $6B60 JR NZ,$6B7F ; $6B62 CALL $6C2F ; $6B65 LD H,A ; $6B66 LD (HL),D ; $6B67 LD H,L ; $6B68 LD H,L ; $6B69 LD (HL),H ; $6B6A LD L,C ; $6B6B LD L,(HL) ; $6B6C LD H,A ; $6B6D LD (HL),E ; $6B6E DEC HL ; $6B6F JR NZ,$6B9E ; $6B71 JR NZ,$6BE1 ; $6B73 LD L,A ; $6B74 LD (HL),A ; $6B75 JR NZ,$6BDE ; $6B77 LD L,A ; $6B78 LD HL,$DD5E ; $6B7B LD (HL),$0D ; $6B7D INC B ; $6B7E RET ; *$6B7F INC HL ; $6B80 LD ($E009),HL ; $6B83 LD ($E007),BC ; $6B87 LD (IX+$0D),$02 ; $6B8B LD A,(IX+$08) ; $6B8E CP $02 ; $6B90 JR NZ,$6BB2 ; $6B92 CALL $6C2F ; $6B95 LD H,(HL) ; $6B96 LD L,C ; $6B97 LD L,(HL) ; $6B98 LD H,H ; $6B99 JR NZ,$6C08 ; $6B9B LD A,C ; $6B9C JR NZ,$6C01 ; *$6B9E LD (HL),D ; $6B9F LD L,A ; $6BA0 LD (HL),A ; $6BA1 LD L,(HL) ; $6BA2 DEC HL ; $6BA3 LD H,(HL) ; $6BA4 LD L,A ; $6BA5 LD (HL),D ; $6BA6 JR NZ,$6C09 ; $6BA8 JR NZ,$6C11 ; $6BAA LD L,C ; $6BAB LD H,(HL) ; $6BAC LD (HL),H ; $6BAD LD L,$2E ; $6BAF LD L,$5E ; $6BB1 RET ; *$6BB2 CALL $6C2F ; $6BB5 LD H,E ; $6BB6 LD H,C ; $6BB7 LD L,H ; $6BB8 LD L,L ; $6BB9 JR NZ,$6C2F ; $6BBB LD L,B ; $6BBC LD H,L ; $6BBD JR NZ,$6C31 ; $6BBF LD H,C ; $6BC0 HALT ; $6BC1 LD H,L ; $6BC2 LD L,(HL) ; $6BC3 LD (HL),E ; $6BC4 DEC HL ; $6BC5 LD H,(HL) ; $6BC6 LD L,A ; $6BC7 LD (HL),D ; $6BC8 JR NZ,$6C37 ; $6BCA LD A,C ; $6BCB JR NZ,$6C34 ; $6BCD LD L,C ; $6BCE LD H,(HL) ; $6BCF LD (HL),H ; $6BD0 LD E,(HL) ; $6BD1 RET ; *$6BD2 DEC (IX+$0A) ; $6BD5 JR NZ,$6BDB ; $6BD7 CALL $6C2F ; $6BDA LD E,(HL) ; *$6BDB LD A,(IX+$0D) ; *$6BDE CP $02 ; $6BE0 JR NZ,$6C2E ; $6BE2 LD HL,$E008 ; $6BE5 BIT 6,(HL) ; $6BE7 JR NZ,$6C0A ; $6BE9 BIT 7,(HL) ; $6BEB RET Z ; $6BEC RES 7,(HL) ; $6BEE CALL $6C2F ; $6BF1 LD (HL),H ; $6BF2 LD L,B ; $6BF3 LD H,C ; $6BF4 LD (HL),H ; $6BF5 JR NZ,$6C5F ; $6BF7 LD H,C ; $6BF8 LD (HL),E ; $6BF9 JR NZ,$6C69 ; $6BFB LD L,A ; $6BFC DEC HL ; $6BFD LD (HL),B ; $6BFE LD L,H ; $6BFF LD H,C ; $6C00 LD H,E ; *$6C01 LD H,L ; $6C02 JR NZ,$6C6C ; $6C04 LD H,L ; $6C05 LD (HL),D ; $6C06 LD H,L ; $6C07 LD HL,$C95E ; *$6C0A LD (IX+$0D),$04 ; $6C0E LD HL,($E009) ; *$6C11 DEC HL ; $6C12 LD (HL),$00 ; $6C14 CALL $6C2F ; $6C17 LD L,L ; $6C18 LD A,C ; $6C19 JR NZ,$6C8F ; $6C1B LD L,B ; $6C1C LD H,C ; $6C1D LD L,(HL) ; $6C1E LD L,E ; $6C1F LD (HL),E ; $6C20 DEC HL ; $6C21 LD H,C ; $6C22 LD L,(HL) ; $6C23 LD H,H ; $6C24 JR NZ,$6C93 ; $6C26 LD A,C ; $6C27 JR NZ,$6C90 ; $6C29 LD L,C ; $6C2A LD H,(HL) ; $6C2B LD (HL),H ; $6C2C LD E,(HL) ; $6C2D RET ; *$6C2E RET ; *$6C2F LD (IX+$0A),$C8 ; $6C33 LD (IX+$10),$03 ; *$6C37 LD (IX+$11),$04 ; $6C3B LD (IX+$12),$00 ; $6C3F LD DE,$5AC0 ; $6C42 LD HL,$DF91 ; $6C45 LD BC,$0011 ; $6C48 LDIR ; $6C4A LD DE,$5AE0 ; $6C4D LD HL,$DF91 ; $6C50 LD BC,$0011 ; $6C53 LDIR ; $6C55 CALL $6CFF ; $6C58 LD D,$06 ; $6C5A NOP ; $6C5B LD DE,$1000 ; $6C5E INC BC ; *$6C5F INC DE ; $6C60 LD BC,$E15E ; *$6C63 LD A,(HL) ; $6C64 INC HL ; $6C65 CP $5E ; $6C67 JR Z,$6C82 ; *$6C69 CP $2B ; $6C6B JR Z,$6C72 ; $6C6D CALL $8925 ; $6C70 JR $6C63 ; *$6C72 LD A,$16 ; $6C74 CALL $8925 ; $6C77 LD A,$07 ; $6C79 CALL $8925 ; $6C7C XOR A ; $6C7D CALL $8925 ; $6C80 JR $6C63 ; *$6C82 JP (HL) ; ; Waterfall Action Function. ; ; Used by the routine at #R$5E2A. @label=ActionWaterfall c$6C83 LD A,($DFD2) ; $6C86 BIT 0,A ; $6C88 JR Z,$6C9F ; $6C8A LD HL,($DFC3) ; $6C8D LD E,(IX+$05) ; ; This entry point is used by the routine at #R$6A61. @label=ActionWaterfall_0 *$6C90 LD D,(IX+$06) ; ; This entry point is used by the routine at #R$6A61. @label=ActionWaterfall_1 *$6C93 CALL $6D05 ; $6C96 LD DE,$0022 ; $6C99 AND A ; $6C9A SBC HL,DE ; $6C9C JR C,$6CA4 ; $6C9E RET Z ; @label=ActionWaterfall_2 *$6C9F LD (IX+$0B),$00 ; $6CA3 RET ; @label=ActionWaterfall_3 *$6CA4 LD (IX+$0B),$54 ; $6CA8 LD (IX+$09),$08 ; $6CAC LD (IX+$0C),$01 ; $6CB0 LD A,(IX+$0E) ; $6CB3 XOR $80 ; $6CB5 LD (IX+$0E),A ; $6CB8 LD A,($9187) ; $6CBB XOR (IX+$0E) ; $6CBE AND $80 ; $6CC0 JP Z,$7B36 ; $6CC3 LD HL,$0054 ; $6CC6 CALL $6D29 ; $6CC9 JP $7B36 ; ; Display the winning message and change the rooms colour. ; ; Used by the routine at #R$5E2A. @label=ActionWin c$6CCC LD A,(IX+$13) ; $6CCF AND A ; $6CD0 JR NZ,$6CD7 ; $6CD2 LD ($E007),A ; $6CD5 LD A,$20 ; @label=ActionWin_0 *$6CD7 XOR $08 ; $6CD9 LD (IX+$13),A ; $6CDC LD HL,$5900 ; $6CDF LD DE,$5901 ; $6CE2 LD BC,$00FF ; $6CE5 LD (HL),A ; $6CE6 LDIR ; $6CE8 CALL $8931 ; ; Data block at 6CEB b$6CEB DEFM "gu leir" $6CF2 DEFB $5E ; Routine at 6CF3 c$6CF3 RET ; ; Data block at 6CF4 b$6CF4 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; Vectors c$6CFC JP $DF82 ; ; This entry point is used by the routines at #R$6236, #R$6A61, #R$7C63, #R$89AF, #R$8EC0, #R$8F3E, #R$8FE5 and ; #R$8FFF. @label=PrintStringVector *$6CFF JP $6D3C ; Print String Vector ; This entry point is used by the routine at #R$7B47. @label=PosToScrVector *$6D02 JP $6D49 ; Convert Pos to Screen Vector ; This entry point is used by the routines at #R$6C83, #R$7DC5, #R$826E, #R$82F1, #R$859A, #R$88C7, #R$8D50, #R$8DFC ; and #R$F395. @label=Vector_ABS(hl_minus_de) *$6D05 JP $6D30 ; ; This entry point is used by the routines at #R$87BF and #R$8A93. @label=Vector_ActionsNewLink *$6D08 JP $6D76 ; ; This entry point is used by the routine at #R$69F1. @label=Vector_LinkListInsert *$6D0B JP $6DA3 ; @label=Vector_BlitBmpColumn $6D0E JP $6DE8 ; @label=Vector_RectIntersetion $6D11 JP $6EC5 ; ; This entry point is used by the routines at #R$5ECF, #R$5F71 and #R$62AE. @label=Vector_Screen_DrawColumn *$6D14 JP $6F22 ; $6D17 JP $768A ; ; This entry point is used by the routine at #R$8DFC. @label=Vector_Char_InsertIntoBitmap *$6D1A JP $7A35 ; @label=Vector_KeyboardScan $6D1D JP $76F8 ; ; This entry point is used by the routine at #R$65BF. @label=VectorToKeyboardInput *$6D20 JP $770D ; ; This entry point is used by the routines at #R$6534 and #R$7D49. *$6D23 JP $77AC ; $6D26 JP $7834 ; ; This entry point is used by the routines at #R$6534, #R$6C83, #R$7D49, #R$7FA7 and #R$85E1. @label=Vector_BitmapMirror *$6D29 JP $751F ; $6D2C JP $7A64 ; ; This entry point is used by the routine at #R$7580. @label=Vector_(HL) *$6D2F JP (HL) ; ; hl = ABS(hl-de) ; ; Used by the routines at #R$6CFC, #R$6DE8, #R$6F22, #R$7834 and #R$7A64. @label=abs(hl_minus_de) c$6D30 AND A ; $6D31 SBC HL,DE ; $6D33 RET P ; $6D34 LD A,L ; $6D35 CPL ; $6D36 LD L,A ; $6D37 LD A,H ; $6D38 CPL ; $6D39 LD H,A ; $6D3A INC HL ; $6D3B RET ; ; Print String ; ; Used by the routine at #R$6CFC. @label=PrintString c$6D3C POP HL ; Get return address from stack. This will point to the string to print. @label=PrintStringNextChar *$6D3D LD A,(HL) ; Get next char. $6D3E INC HL ; $6D3F CP $5E ; Use '^' as the end of string char. $6D41 JR Z,$6D48 ; $6D43 CALL $8925 ; Print char using the correct char set. $6D46 JR $6D3D ; @label=PrintStringExit *$6D48 JP (HL) ; Return using the address at the end of the string. ; Converts a stored position to address of top bit of DF & ATTR. ; ; Used by the routine at #R$6CFC. Input: IX Ptr to Y,X pos stored values. @label=ConvertPosToScr c$6D49 LD A,(IX+$01) ; $6D4C RRA ; $6D4D RRA ; $6D4E RRA ; $6D4F AND $1F ; $6D51 LD L,A ; $6D52 LD A,(IX+$00) ; $6D55 RLCA ; $6D56 RLCA ; $6D57 LD H,A ; $6D58 AND $E0 ; $6D5A OR L ; $6D5B LD L,A ; $6D5C LD E,A ; $6D5D LD A,H ; $6D5E AND $03 ; $6D60 LD H,A ; $6D61 RLA ; $6D62 RLA ; $6D63 RLA ; $6D64 LD D,A ; $6D65 LD A,(IX+$00) ; $6D68 AND $07 ; $6D6A OR D ; $6D6B LD D,A ; $6D6C LD BC,$5800 ; $6D6F ADD HL,BC ; $6D70 EX DE,HL ; $6D71 LD BC,$4000 ; $6D74 ADD HL,BC ; $6D75 RET ; ; Create new link for Actions Link List. ; ; Remove link from unused link list and insert at beginning of Actions list. @label=Actions_NewLink c$6D76 LD A,($DFBC) ; Make sure there is a link in the unused list. $6D79 AND A ; $6D7A RET Z ; $6D7B LD IX,($DFBB) ; Take link and clear it. $6D7F LD DE,($DFBB) ; $6D83 LD L,(IX+$00) ; $6D86 LD H,(IX+$01) ; $6D89 LD ($DFBB),HL ; $6D8C LD HL,$DF91 ; $6D8F LD BC,$0014 ; $6D92 LDIR ; $6D94 OR H ; $6D95 LD HL,($DFC1) ; Add new link to begining of Actions list. $6D98 LD (IX+$00),L ; $6D9B LD (IX+$01),H ; $6D9E LD ($DFC1),IX ; $6DA2 RET ; ; Insert link(IX) to begining of list start of unused links list. ; ; Used by the routine at #R$6CFC. @label=UnusedList_AddLink c$6DA3 LD E,(IX+$00) ; STARTS: [IX]->[DE]--->| [DFBB]->[HL]--->| $6DA6 LD D,(IX+$01) ; $6DA9 LD HL,($DFBB) ; $6DAC LD (IX+$00),L ; $6DAF LD (IX+$01),H ; $6DB2 LD ($DFBB),IX ; $6DB6 POP HL ; Retrieve return address. $6DB7 POP IX ; ENDS: [POP]->[DE]--->| [DFBB]->[IX]->HL--->| $6DB9 LD (IX+$00),E ; $6DBC LD (IX+$01),D ; $6DBF JP (HL) ; ; Check for alternate bitmap. ; ; Used by the routine at #R$6F22. Input: A Index of bitmap to look for. 6F1B Holds item flags. @label=AltBitmapSearch c$6DC0 PUSH AF ; $6DC1 LD A,($6F1B) ; Only look if flags are set. $6DC4 AND A ; $6DC5 JR NZ,$6DE4 ; $6DC7 LD HL,($DFF5) ; Array of matching bitmap indices. $6DCA LD A,L ; First two items zero, means empty list. $6DCB OR H ; $6DCC JR Z,$6DE4 ; $6DCE POP AF ; See if bitmap index is in list. $6DCF LD BC,$000C ; $6DD2 CPIR ; $6DD4 RET NZ ; $6DD5 DEC HL ; If it is then find alternate in matching list. $6DD6 LD BC,($DFF5) ; $6DDA AND A ; $6DDB SBC HL,BC ; $6DDD LD BC,($DFF7) ; $6DE1 ADD HL,BC ; $6DE2 LD A,(HL) ; $6DE3 RET ; @label=AltBitmapsSearch_Exit *$6DE4 POP AF ; $6DE5 RET ; ; Data block at 6DE6 b$6DE6 DEFB $00,$00 ; Draw a single column (8 pixels wide) of a bitmap using item data to calculate which column and where on the ; offscreen to draw. ; ; Used by the routines at #R$6CFC and #R$6F22. Input: IX Scenery Item Data pointer. HL Y pos offset (?) @label=BlitBmpColumn c$6DE8 LD ($6DE6),HL ; Store $6DEB LD L,(IX+$02) ; Get bitmap data address from Item.BitmapIndex, offsetting to the width variable. $6DEE LD H,$00 ; $6DF0 ADD HL,HL ; $6DF1 ADD HL,HL ; $6DF2 LD BC,$9037 ; $6DF5 ADD HL,BC ; $6DF6 PUSH HL ; $6DF7 LD A,(HL) ; Get x position on map for item and hero. $6DF8 LD L,(IX+$01) ; $6DFB LD H,$00 ; $6DFD RRCA ; $6DFE ADC HL,HL ; $6E00 EX DE,HL ; $6E01 LD HL,($DFC5) ; $6E04 EXX ; $6E05 LD L,(IX+$00) ; Get y position on map for item and hero. $6E08 LD H,$00 ; $6E0A RLCA ; $6E0B ADC HL,HL ; $6E0D EX DE,HL ; $6E0E LD HL,($DFC3) ; $6E11 LD A,($DFD2) ; Using camera decide which axis path runs along. $6E14 AND $01 ; $6E16 JR Z,$6E19 ; $6E18 EXX ; @label=BlitBmpColumn_0 *$6E19 CALL $6D30 ; Starting with other axis, convert item position, offset from hero, and height into physical ; offscreen Y position. $6E1C EX DE,HL ; $6E1D POP BC ; $6E1E LD A,(BC) ; $6E1F AND $7F ; $6E21 LD L,A ; $6E22 LD H,$00 ; $6E24 EX DE,HL ; $6E25 SBC HL,DE ; $6E27 JR C,$6E2E ; $6E29 LD A,L ; $6E2A CP $06 ; $6E2C JR NC,$6E33 ; @label=BlitBmpColumn_1 *$6E2E LD HL,($6DE6) ; $6E31 JR $6E37 ; @label=BlitBmpColumn_2 *$6E33 DEC HL ; $6E34 DEC HL ; $6E35 ADD HL,HL ; $6E36 ADD HL,HL ; @label=BlitBmpColumn_3 *$6E37 DEC BC ; $6E38 LD A,(BC) ; $6E39 AND $7F ; $6E3B RLA ; $6E3C RLA ; $6E3D RLA ; $6E3E LD E,A ; $6E3F LD D,$00 ; $6E41 ADD HL,DE ; $6E42 EX DE,HL ; $6E43 LD HL,$0040 ; $6E46 AND A ; $6E47 SBC HL,DE ; $6E49 RET C ; $6E4A ADD HL,HL ; $6E4B LD E,L ; $6E4C LD D,H ; $6E4D ADD HL,HL ; $6E4E ADD HL,HL ; $6E4F ADD HL,HL ; $6E50 ADD HL,HL ; $6E51 ADD HL,DE ; $6E52 LD DE,($6F14) ; $6E56 ADD HL,DE ; $6E57 LD ($6F16),HL ; $6E5A PUSH BC ; $6E5B EXX ; $6E5C CALL $6D30 ; Using path axis, convert position, offset from hero's, into the column of bitmap to blit. $6E5F EX DE,HL ; $6E60 POP BC ; $6E61 INC BC ; $6E62 LD A,(BC) ; $6E63 AND $7F ; $6E65 LD L,A ; $6E66 LD H,$00 ; $6E68 LD A,($DFD4) ; $6E6B CP $02 ; $6E6D JR Z,$6E7B ; $6E6F EX DE,HL ; $6E70 AND A ; $6E71 SBC HL,DE ; $6E73 EX DE,HL ; $6E74 LD HL,$0020 ; $6E77 SBC HL,DE ; $6E79 JR $6E82 ; @label=BlitBmpColumn_4 *$6E7B ADD HL,DE ; $6E7C LD DE,$0022 ; $6E7F AND A ; $6E80 SBC HL,DE ; @label=BlitBmpColumn_5 *$6E82 SRL H ; $6E84 RR L ; $6E86 EX DE,HL ; DE holds bytes offset for correct column, within image, to start blitting with. $6E87 LD L,(IX+$02) ; Get bitmap index from item data. $6E8A LD H,$00 ; ; HL=Bitmap Index DE=Bytes offset to start blitting from. (Column to blit) @label=Blit_BmpColumn_Main *$6E8C ADD HL,HL ; Calculate image address from bitmap data. $6E8D ADD HL,HL ; $6E8E LD BC,$9034 ; $6E91 ADD HL,BC ; $6E92 LD C,(HL) ; $6E93 INC HL ; $6E94 LD B,(HL) ; $6E95 INC HL ; $6E96 EX DE,HL ; Get back the amount to offset the bitmap start by. $6E97 ADD HL,BC ; and add the start of the bitmap to it, not forgetting the start of the bitmaps for the true ; address. $6E98 LD BC,$9436 ; $6E9B ADD HL,BC ; $6E9C PUSH HL ; $6E9D EX (SP),IX ; $6E9F LD HL,($6F16) ; Get offscreen address for item. $6EA2 LD A,(DE) ; Height of bitmap. $6EA3 AND $7F ; $6EA5 EX AF,AF' ; $6EA6 INC DE ; $6EA7 LD A,(DE) ; Width of bitmap. $6EA8 AND $7F ; $6EAA LD C,A ; $6EAB LD B,$00 ; $6EAD LD DE,$0022 ; Number of bytes to skip for next line down in offscreen. $6EB0 EX AF,AF' ; Height * 8 for number of rows / pixels down. $6EB1 AND A ; $6EB2 RLA ; $6EB3 RLA ; $6EB4 RLA ; ; Draw @label=BlitBmpColumn_Draw *$6EB5 EX AF,AF' ; $6EB6 LD A,(IX+$00) ; $6EB9 XOR (HL) ; $6EBA LD (HL),A ; $6EBB ADD HL,DE ; $6EBC ADD IX,BC ; $6EBE EX AF,AF' ; $6EBF DEC A ; $6EC0 JR NZ,$6EB5 ; $6EC2 POP IX ; $6EC4 RET ; ; Rect Intersection Test. Returns carry set if not. ; ; Used by the routines at #R$6CFC and #R$6F22. Input: A Size of object. (Map units?) IX Pointer to object data. @label=RectIntersection c$6EC5 LD C,A ; See if a scenery item intersects a store rectangle. $6EC6 LD B,$00 ; $6EC8 LD L,(IX+$00) ; $6ECB LD H,$00 ; $6ECD RRCA ; $6ECE ADC HL,HL ; $6ED0 LD A,C ; $6ED1 SBC HL,BC ; $6ED3 LD E,L ; $6ED4 LD D,H ; $6ED5 ADD HL,BC ; $6ED6 ADD HL,BC ; $6ED7 LD C,L ; $6ED8 LD B,H ; $6ED9 LD HL,($6F0C) ; $6EDC SBC HL,BC ; $6EDE JR NC,$6F0A ; $6EE0 LD HL,($6F10) ; $6EE3 SCF ; $6EE4 SBC HL,DE ; $6EE6 RET C ; $6EE7 LD C,A ; $6EE8 LD B,$00 ; $6EEA LD L,(IX+$01) ; $6EED LD H,$00 ; $6EEF RRCA ; $6EF0 ADC HL,HL ; $6EF2 SBC HL,BC ; $6EF4 LD E,L ; $6EF5 LD D,H ; $6EF6 ADD HL,BC ; $6EF7 ADD HL,BC ; $6EF8 LD C,L ; $6EF9 LD B,H ; $6EFA LD HL,($6F0E) ; $6EFD SBC HL,BC ; $6EFF JR NC,$6F0A ; $6F01 LD HL,($6F12) ; $6F04 SCF ; $6F05 SBC HL,DE ; $6F07 RET C ; $6F08 AND A ; $6F09 RET ; @label=Exit *$6F0A SCF ; $6F0B RET ; ; Data block at 6F0C @label=Rectangle_x1 b$6F0C DEFW $0000 @label=Rectangle_y1 $6F0E DEFW $0000 @label=Rectangle_x2 $6F10 DEFW $0000 @label=Rectangle_y2 $6F12 DEFW $0000 ; Address of offscreen column @label=OffScrColPtr_6F14 b$6F14 DEFW $0000 ; Depending of direction of movement, holds an address to a column on the offscreen. @label=OffScrTempPtr_6F16 $6F16 DEFW $0000 ; Temporary store for offscreen address. ; Data block at 6F18 b$6F18 DEFB $00 ; When set to 1, there is a path leading off into the screen. ; ; Temporary variables used by the Draw Column function. @label=PathTopJunction b$6F19 DEFB $00 @label=PathBottomJunction $6F1A DEFB $00 ; When set to 1, there is a path leading out from the screen. @label=T1 $6F1B DEFB $00 ; Blit Item structure @label=TempBlitItem_P $6F1C DEFB $00 @label=TempBlitItem_S $6F1D DEFB $00 @label=TempBlitItem_I $6F1E DEFB $00 $6F1F DEFB $00,$00,$00 ; Draws a single column on the screen using the next object based on position. ; ; Used by the routine at #R$6CFC. Input: HL Holds address of column on offscreen based on direction of walking / ; scrolling. IX Points to table of offsets based on camera /compass and walking direction. @label=Screen_DrawColumn c$6F22 LD ($6F14),HL ; Store draw to address on the offscreen. $6F25 LD DE,$0022 ; Clear a column down at that address. $6F28 LD B,$40 ; $6F2A XOR A ; @label=Screen_DrawColumn_0 *$6F2B LD (HL),A ; $6F2C ADD HL,DE ; $6F2D DJNZ $6F2B ; $6F2F CALL $7582 ; See if hero is leaving area. $6F32 LD A,($DFD2) ; Workout a rectangle which is on the edge of the screen and the hero is walking towards. $6F35 AND A ; $6F36 RLA ; $6F37 RLA ; $6F38 RLA ; $6F39 LD C,A ; $6F3A LD B,$00 ; $6F3C ADD IX,BC ; $6F3E LD HL,($DFC3) ; $6F41 LD C,(IX+$00) ; $6F44 LD B,(IX+$01) ; $6F47 AND A ; $6F48 ADC HL,BC ; $6F4A JP P,$6F50 ; $6F4D LD HL,$0000 ; @label=Screen_DrawColumn_1 *$6F50 LD ($6F0C),HL ; $6F53 LD HL,($DFC3) ; $6F56 LD C,(IX+$04) ; $6F59 LD B,(IX+$05) ; $6F5C AND A ; $6F5D ADC HL,BC ; $6F5F RET M ; $6F60 RET Z ; $6F61 LD ($6F10),HL ; $6F64 LD HL,($DFC5) ; $6F67 LD C,(IX+$02) ; $6F6A LD B,(IX+$03) ; $6F6D AND A ; $6F6E ADC HL,BC ; $6F70 JP P,$6F76 ; $6F73 LD HL,$0000 ; @label=Screen_DrawColumn_2 *$6F76 LD ($6F0E),HL ; $6F79 LD HL,($DFC5) ; $6F7C LD C,(IX+$06) ; $6F7F LD B,(IX+$07) ; $6F82 AND A ; $6F83 ADC HL,BC ; $6F85 RET M ; $6F86 RET Z ; $6F87 LD ($6F12),HL ; ; Scan through the locations furniture. $6F8A LD IX,($DFDF) ; @label=Screen_DrawColumn_3 *$6F8E LD A,(IX+$00) ; If both positions are zero, end of list $6F91 OR (IX+$01) ; $6F94 JR Z,$7001 ; $6F96 LD A,(IX+$03) ; $6F99 AND $3F ; $6F9B JR Z,$6FA3 ; $6F9D LD HL,($DFDD) ; $6FA0 CP L ; $6FA1 JR NZ,$6FF4 ; @label=Screen_DrawColumn_4 *$6FA3 LD ($6F1B),A ; $6FA6 LD L,(IX+$02) ; Workout bitmap data address from index. $6FA9 LD H,$00 ; $6FAB ADD HL,HL ; $6FAC ADD HL,HL ; $6FAD LD DE,$9037 ; $6FB0 ADD HL,DE ; $6FB1 LD A,(HL) ; Get width of bitmap. $6FB2 AND $7F ; $6FB4 CALL $6EC5 ; $6FB7 JR C,$6FF4 ; $6FB9 LD A,(IX+$02) ; See if an alternate bitmap is required and store back into item data. $6FBC PUSH AF ; $6FBD CALL $6DC0 ; $6FC0 LD (IX+$02),A ; $6FC3 LD L,A ; Get bitmap data address from item.BitmapIndex $6FC4 LD H,$00 ; $6FC6 ADD HL,HL ; $6FC7 ADD HL,HL ; $6FC8 LD DE,$9037 ; $6FCB ADD HL,DE ; $6FCC LD A,(IX+$03) ; See if bitmap need flipping. $6FCF AND $20 ; $6FD1 DEC A ; $6FD2 XOR (HL) ; $6FD3 AND $80 ; $6FD5 JR NZ,$6FDF ; $6FD7 LD L,(IX+$02) ; $6FDA LD H,$00 ; $6FDC CALL $751F ; @label=Screen_DrawColumn_5 *$6FDF BIT 6,(IX+$03) ; $6FE3 JR NZ,$6FED ; $6FE5 LD HL,$0005 ; Blit next column of bitmap onto edge of offscreen. $6FE8 CALL $6DE8 ; $6FEB JR $6FF0 ; ; Create an action for this scenery object. @label=Screen_DrawColumn_6 *$6FED CALL $768A ; @label=Screen_DrawColumn_7 *$6FF0 POP AF ; $6FF1 LD (IX+$02),A ; @label=DrawScenery_NextItem *$6FF4 LD BC,$0004 ; $6FF7 ADD IX,BC ; $6FF9 JR $6F8E ; ; Variables @label=V1 b$6FFB DEFW $0000 @label=V2 $6FFD DEFW $0000 @label=V3 $6FFF DEFW $0000 ; Handle path junctions. ; ; Used by the routine at #R$6F22. @label=Screen_DrawColumn_8 c$7001 XOR A ; $7002 LD ($6F1A),A ; $7005 LD A,$CA ; Index for the small path junction '/..\' $7007 LD ($6F1E),A ; $700A LD HL,$0004 ; $700D LD DE,$0002 ; $7010 LD BC,$0010 ; $7013 LD A,$02 ; ; Loop for top and bottom edges of path. @label=Screen_DrawColumn_9 *$7015 PUSH AF ; $7016 LD ($6FFB),HL ; $7019 LD ($6FFD),DE ; $701D LD ($6FFF),BC ; $7021 LD A,($6F1A) ; $7024 LD ($6F19),A ; $7027 XOR A ; $7028 LD ($6F1A),A ; $702B LD A,($DFD2) ; $702E BIT 0,A ; $7030 JR Z,$7040 ; $7032 LD IX,($DFE3) ; $7036 LD BC,($6F0C) ; $703A LD DE,($DFC5) ; $703E JR $704C ; @label=Screen_DrawColumn_10 *$7040 LD IX,($DFE5) ; $7044 LD BC,($6F0E) ; $7048 LD DE,($DFC3) ; @label=Screen_DrawColumn_11 *$704C INC BC ; $704D INC BC ; $704E LD HL,($6FFB) ; $7051 CP $01 ; $7053 JR Z,$705F ; $7055 CP $02 ; $7057 JR Z,$705F ; $7059 EX DE,HL ; $705A AND A ; $705B SBC HL,DE ; $705D JR $7060 ; @label=Screen_DrawColumn_12 *$705F ADD HL,DE ; @label=Screen_DrawColumn_13 *$7060 EX DE,HL ; ; Iterate throught the list of paths. @label=Screen_DrawColumn_14 *$7061 PUSH BC ; $7062 PUSH DE ; $7063 LD A,(IX+$00) ; Check to see if path is for current area. $7066 AND A ; $7067 JR Z,$706F ; $7069 LD HL,$DFDD ; $706C CP (HL) ; $706D JR NZ,$70D0 ; @label=Screen_DrawColumn_15 *$706F LD L,(IX+$01) ; See if path intersects, at right angles, the test rectangle. $7072 LD H,$00 ; $7074 ADD HL,HL ; $7075 AND A ; $7076 SBC HL,BC ; $7078 LD BC,($6FFD) ; $707C JR NC,$7086 ; $707E AND A ; $707F ADC HL,BC ; $7081 JP M,$70D0 ; It doesn't so move onto the next path in the list. $7084 JR $708B ; @label=Screen_DrawColumn_16 *$7086 AND A ; If the rectangle position is before the current path, no need to check the rest as all ; paths are in order. $7087 SBC HL,BC ; $7089 JR NC,$70D9 ; @label=Screen_DrawColumn_17 *$708B LD L,(IX+$02) ; $708E LD H,$00 ; $7090 ADD HL,HL ; $7091 AND A ; $7092 SBC HL,DE ; $7094 JR NC,$70D0 ; $7096 LD L,(IX+$03) ; $7099 LD H,$00 ; $709B ADD HL,HL ; $709C SCF ; $709D SBC HL,DE ; $709F JR C,$70D0 ; $70A1 LD L,(IX+$01) ; $70A4 LD H,$00 ; $70A6 ADD HL,HL ; $70A7 LD A,($DFD2) ; $70AA AND $01 ; $70AC JR NZ,$70AF ; $70AE EX DE,HL ; @label=Screen_DrawColumn_18 *$70AF SRL H ; $70B1 RR L ; $70B3 LD A,L ; $70B4 LD ($6F1C),A ; $70B7 SRL D ; $70B9 RR E ; $70BB LD A,E ; $70BC LD ($6F1D),A ; $70BF LD A,$01 ; $70C1 LD ($6F1A),A ; $70C4 LD IX,$6F1C ; $70C8 LD HL,($6FFF) ; $70CB CALL $6DE8 ; For path junctions. $70CE JR $70D9 ; ; Next path. @label=Screen_DrawColumn_19 *$70D0 LD BC,$0004 ; $70D3 ADD IX,BC ; $70D5 POP DE ; $70D6 POP BC ; $70D7 JR $7061 ; ; Loop again to do bottom edge of path. @label=Screen_DrawColumn_20 *$70D9 POP DE ; $70DA POP BC ; $70DB LD A,$CC ; Index for the large path junction '/....\' $70DD LD ($6F1E),A ; $70E0 LD HL,$FFFC ; $70E3 LD DE,$0004 ; $70E6 LD BC,$0000 ; $70E9 POP AF ; $70EA DEC A ; $70EB JP NZ,$7015 ; ; See which path edges need to be drawn. $70EE LD A,($DFD2) ; $70F1 BIT 0,A ; $70F3 JR NZ,$70FF ; $70F5 LD DE,($DFC3) ; $70F9 LD IX,($DFE3) ; $70FD JR $7107 ; @label=Screen_DrawColumn_21 *$70FF LD DE,($DFC5) ; $7103 LD IX,($DFE5) ; @label=Screen_DrawColumn_22 *$7107 LD A,(IX+$00) ; Check path is allowed for current area. $710A AND A ; $710B JR Z,$7113 ; $710D LD HL,$DFDD ; $7110 CP (HL) ; $7111 JR NZ,$7121 ; @label=Screen_DrawColumn_23 *$7113 LD L,(IX+$01) ; Get the axis of the next path. ( Always double for true position on map.) $7116 LD H,$00 ; $7118 ADD HL,HL ; $7119 AND A ; $711A SBC HL,DE ; Check to see if man's position is same as path. $711C JR Z,$7128 ; $711E JP NC,$71C5 ; If it is less then no edges to draw. ; Loop for next path on list. @label=Screen_DrawColumn_24 *$7121 LD BC,$0004 ; $7124 ADD IX,BC ; $7126 JR $7107 ; ; TODO @label=Screen_DrawColumn_25 *$7128 LD A,($DFD2) ; $712B BIT 0,A ; $712D JR NZ,$7135 ; $712F LD BC,($6F0E) ; $7133 JR $7139 ; @label=Screen_DrawColumn_26 *$7135 LD BC,($6F0C) ; @label=Screen_DrawColumn_27 *$7139 INC BC ; $713A LD L,(IX+$02) ; $713D LD H,$00 ; $713F ADD HL,HL ; $7140 AND A ; $7141 SBC HL,BC ; $7143 JR NC,$7121 ; $7145 LD A,L ; $7146 CPL ; $7147 LD L,A ; $7148 LD A,H ; $7149 CPL ; $714A LD H,A ; $714B INC HL ; $714C LD ($9030),HL ; $714F LD L,(IX+$03) ; $7152 LD H,$00 ; $7154 ADD HL,HL ; $7155 AND A ; $7156 SBC HL,BC ; $7158 JR C,$7121 ; ; Blit the bottom edge of the path if required. $715A LD ($9032),HL ; $715D LD A,C ; Work out which half of the 16 pixel bitmap to blit. $715E RRA ; $715F AND $01 ; $7161 LD C,A ; $7162 LD B,$00 ; $7164 LD A,($6F1A) ; $7167 AND A ; $7168 JR NZ,$718C ; $716A PUSH BC ; $716B LD HL,($936C) ; workout the address of the path edge bitmap from the bitmap data, offsetting to start from ; the half that needs to be blitted. $716E LD DE,$9436 ; $7171 ADD HL,DE ; $7172 ADD HL,BC ; $7173 EX DE,HL ; $7174 LD HL,($6F14) ; $7177 LD BC,$0770 ; $717A ADD HL,BC ; $717B LD BC,$0022 ; $717E LD A,$08 ; @label=Screen_DrawColumn_28 *$7180 EX AF,AF' ; Blit one 8 pixel column of the path edge. $7181 LD A,(DE) ; $7182 XOR (HL) ; $7183 LD (HL),A ; $7184 ADD HL,BC ; $7185 INC DE ; $7186 INC DE ; $7187 EX AF,AF' ; $7188 DEC A ; $7189 JR NZ,$7180 ; $718B POP BC ; ; Draw top edge of path if required. @label=Screen_DrawColumn_29 *$718C LD A,($6F19) ; $718F AND A ; $7190 JR NZ,$71D3 ; $7192 LD HL,($9032) ; $7195 LD DE,$0002 ; $7198 SBC HL,DE ; $719A JR C,$71D3 ; $719C LD HL,($9030) ; $719F SBC HL,DE ; $71A1 JR C,$71D3 ; $71A3 LD HL,($9368) ; $71A6 LD DE,$9436 ; $71A9 ADD HL,DE ; $71AA ADD HL,BC ; $71AB EX DE,HL ; $71AC LD HL,($6F14) ; $71AF LD BC,$0550 ; $71B2 ADD HL,BC ; $71B3 LD BC,$0022 ; $71B6 LD A,$08 ; @label=Screen_DrawColumn_30 *$71B8 EX AF,AF' ; $71B9 LD A,(DE) ; $71BA XOR (HL) ; $71BB LD (HL),A ; $71BC ADD HL,BC ; $71BD INC DE ; $71BE INC DE ; $71BF EX AF,AF' ; $71C0 DEC A ; $71C1 JR NZ,$71B8 ; $71C3 JR $71D3 ; ; Draw middle path leading in, if needed. '/...\' @label=Screen_DrawColumn_31 *$71C5 LD A,($6F1A) ; $71C8 AND A ; $71C9 JR NZ,$721C ; $71CB LD A,($6F19) ; $71CE AND A ; $71CF JR NZ,$721C ; $71D1 JR $722A ; @label=Screen_DrawColumn_32 *$71D3 LD HL,($9032) ; $71D6 LD DE,$0004 ; $71D9 AND A ; $71DA SBC HL,DE ; $71DC JR C,$71E9 ; $71DE LD DE,($9030) ; $71E2 LD HL,$0004 ; $71E5 SBC HL,DE ; $71E7 JR C,$722A ; @label=Screen_DrawColumn_33 *$71E9 LD DE,($6F0E) ; $71ED LD BC,($DFC3) ; $71F1 LD A,($DFD2) ; $71F4 BIT 0,A ; $71F6 JR Z,$7200 ; $71F8 LD DE,($6F0C) ; $71FC LD BC,($DFC5) ; @label=Screen_DrawColumn_34 *$7200 INC DE ; $7201 ADD HL,DE ; $7202 SRL B ; $7204 RR C ; $7206 LD A,C ; $7207 EX AF,AF' ; $7208 SRL H ; $720A RR L ; $720C LD A,L ; $720D LD HL,$DFD2 ; $7210 BIT 0,(HL) ; $7212 JR NZ,$7215 ; $7214 EX AF,AF' ; @label=Screen_DrawColumn_35 *$7215 LD ($6F1C),A ; $7218 EX AF,AF' ; $7219 LD ($6F1D),A ; @label=Screen_DrawColumn_36 *$721C LD IX,$6F1C ; $7220 LD (IX+$02),$CB ; $7224 LD HL,$0008 ; $7227 CALL $6DE8 ; For path ends and bends. ; Draw Scenery Items @label=S_DC_ItemDraw *$722A LD IX,($DFE1) ; @label=S_DC_ItemForEach *$722E LD A,(IX+$00) ; Check for end of the list. $7231 OR (IX+$01) ; $7234 JP Z,$74A8 ; $7237 LD A,(IX+$03) ; Get area index, 0 means ignore. $723A AND $3F ; $723C JR Z,$7245 ; $723E LD HL,($DFDD) ; If it doesn't match, next item. $7241 CP L ; $7242 JP NZ,$748C ; @label=Screen_DrawColumn_37 *$7245 LD ($6F1B),A ; Store index of area value. $7248 LD A,(IX+$02) ; Object width $724B CALL $6EC5 ; Is object with draw rect (column). $724E JP C,$748C ; $7251 LD L,(IX+$01) ; Get positions of object and man and work out which is the path position and the axis ; position. $7254 LD H,$00 ; $7256 LD A,(IX+$02) ; $7259 RRCA ; $725A ADC HL,HL ; $725C EX DE,HL ; $725D LD HL,($DFC5) ; $7260 EXX ; $7261 LD L,(IX+$00) ; $7264 LD H,$00 ; $7266 RLCA ; $7267 ADC HL,HL ; $7269 EX DE,HL ; $726A LD HL,($DFC3) ; $726D LD A,($DFD2) ; $7270 AND $01 ; $7272 JR Z,$7275 ; $7274 EXX ; @label=Screen_DrawColumn_38 *$7275 CALL $6D30 ; Using the axis position to see how close object is to man $7278 LD E,(IX+$02) ; $727B LD D,$00 ; $727D AND A ; $727E SBC HL,DE ; $7280 JR C,$728C ; $7282 LD A,L ; If farther than 8 units we do not draw. $7283 CP $08 ; $7285 JP NC,$748C ; $7288 CP $06 ; $728A JR NC,$7291 ; @label=Screen_DrawColumn_39 *$728C LD HL,$0005 ; If less than 6 we force to 5 uints. $728F JR $7295 ; @label=Screen_DrawColumn_40 *$7291 DEC HL ; Calculate position on offscreen from this. $7292 DEC HL ; $7293 ADD HL,HL ; $7294 ADD HL,HL ; @label=Screen_DrawColumn_41 *$7295 EX DE,HL ; $7296 LD HL,$0040 ; $7299 AND A ; $729A SBC HL,DE ; $729C ADD HL,HL ; $729D LD E,L ; $729E LD D,H ; $729F ADD HL,HL ; $72A0 ADD HL,HL ; $72A1 ADD HL,HL ; $72A2 ADD HL,HL ; $72A3 ADD HL,DE ; $72A4 LD DE,($6F14) ; $72A8 ADD HL,DE ; $72A9 LD ($6F16),HL ; $72AC EXX ; Get path positions. $72AD LD A,($DFD2) ; $72B0 BIT 1,A ; $72B2 JR Z,$72B5 ; $72B4 EX DE,HL ; @label=Screen_DrawColumn_42 *$72B5 LD A,($DFD4) ; $72B8 CP $01 ; $72BA JR NZ,$72BD ; $72BC EX DE,HL ; @label=Screen_DrawColumn_43 *$72BD AND A ; $72BE SBC HL,DE ; $72C0 LD E,(IX+$02) ; $72C3 LD D,$00 ; $72C5 LD A,($DFD4) ; $72C8 CP $02 ; $72CA JR Z,$72D8 ; $72CC AND A ; $72CD SBC HL,DE ; $72CF EX DE,HL ; $72D0 LD HL,$0020 ; $72D3 AND A ; $72D4 SBC HL,DE ; $72D6 JR $72DF ; @label=Screen_DrawColumn_44 *$72D8 ADD HL,DE ; $72D9 LD DE,$0022 ; $72DC AND A ; $72DD SBC HL,DE ; @label=Screen_DrawColumn_45 *$72DF SRL H ; $72E1 RR L ; $72E3 EX DE,HL ; $72E4 PUSH IX ; Remember the start address of the area data. $72E6 XOR A ; @label=Screen_DrawColumn_46 *$72E7 EX AF,AF' ; Store $72E8 LD L,(IX+$05) ; Get each item in the scenery data and workout which one is next to draw. $72EB ADD HL,HL ; $72EC LD H,$00 ; $72EE ADD HL,HL ; $72EF LD BC,$9037 ; $72F2 ADD HL,BC ; $72F3 LD A,(HL) ; $72F4 AND $7F ; $72F6 LD C,A ; $72F7 LD B,$00 ; $72F9 LD L,E ; $72FA LD H,D ; $72FB SBC HL,BC ; $72FD JR C,$7306 ; $72FF EX DE,HL ; $7300 INC IX ; $7302 EX AF,AF' ; $7303 INC A ; $7304 JR $72E7 ; @label=Screen_DrawColumn_47 *$7306 LD A,(IX+$05) ; Get index of item and store it. $7309 LD ($9030),A ; $730C POP IX ; Get back start address of area data. $730E PUSH IX ; $7310 PUSH DE ; $7311 LD C,(IX+$04) ; $7314 LD B,$00 ; $7316 ADD IX,BC ; $7318 LD DE,$0006 ; $731B ADD IX,DE ; $731D LD A,(IX-$01) ; $7320 AND A ; $7321 JP Z,$7439 ; $7324 EX AF,AF' ; Is item index the first one in list? $7325 AND A ; $7326 JP Z,$73A0 ; $7329 DEC C ; Is item last in the list. $732A CP C ; $732B JP Z,$73A6 ; $732E LD B,A ; Get index of item in list of items. $732F LD A,($DFD2) ; Put the camera direction into the upper nibble. $7332 AND A ; $7333 RLA ; $7334 RLA ; $7335 RLA ; Onto the next data set. $7336 RLA ; $7337 OR B ; with the item index in the lower nibble. $7338 LD C,A ; $7339 LD B,(IX-$01) ; Get number of data sets. $733C LD DE,$000C ; Size of each data set. @label=Screen_DrawColumn_48 *$733F CP (IX+$03) ; See if camera / item index is the same as the one in the data set. $7342 JR NZ,$7353 ; Same area index OR area index is 0. $7344 LD A,($DFDD) ; $7347 CP (IX+$06) ; $734A JR Z,$735A ; $734C LD A,(IX+$06) ; $734F AND A ; $7350 JR Z,$735A ; $7352 LD A,C ; @label=Screen_DrawColumn_49 *$7353 ADD IX,DE ; $7355 DJNZ $733F ; $7357 JP $7439 ; @label=Screen_DrawColumn_50 *$735A BIT 7,(IX+$04) ; $735E JR Z,$7368 ; $7360 LD A,($DFCE) ; $7363 BIT 7,A ; $7365 JP Z,$7439 ; @label=Screen_DrawColumn_51 *$7368 LD A,(IX+$02) ; $736B LD ($9030),A ; $736E LD HL,($9134) ; Offset address of door bitmap. $7371 LD DE,$9477 ; $7374 LD BC,$0004 ; $7377 CP $40 ; $7379 JR Z,$7389 ; $737B LD HL,($9114) ; Offset address of slim door bitmap. $737E LD DE,$9456 ; $7381 LD BC,$0002 ; $7384 CP $38 ; $7386 JP NZ,$744B ; ; Door Icon @label=Screen_DrawColumn_52 *$7389 LD A,(IX+$05) ; Decide if door needs an icon character to be drawn on it. $738C SUB $8C ; $738E JR C,$7398 ; $7390 CP $1F ; $7392 JR NC,$7398 ; $7394 ADD A,$60 ; $7396 JR $739A ; @label=Screen_DrawColumn_53 *$7398 LD A,$20 ; Use 'space' if not. @label=Screen_DrawColumn_54 *$739A CALL $7A35 ; Insert graphic character into door bitmap. $739D JP $744B ; ; Check for perpendicular exits @label=Screen_DrawColumn_55 *$73A0 LD A,($DFD2) ; $73A3 INC A ; $73A4 JR $73AA ; @label=Screen_DrawColumn_56 *$73A6 LD A,($DFD2) ; $73A9 DEC A ; @label=Screen_DrawColumn_57 *$73AA AND $03 ; $73AC RLA ; $73AD RLA ; $73AE RLA ; $73AF RLA ; $73B0 LD C,A ; $73B1 LD B,(IX-$01) ; @label=Screen_DrawColumn_58 *$73B4 LD A,(IX+$06) ; $73B7 AND A ; $73B8 JR Z,$73C2 ; $73BA LD A,($DFDD) ; $73BD CP (IX+$06) ; $73C0 JR NZ,$73EF ; @label=Screen_DrawColumn_59 *$73C2 LD A,(IX+$03) ; $73C5 AND $F0 ; $73C7 CP C ; $73C8 JR NZ,$73EF ; $73CA BIT 4,C ; $73CC JR Z,$73DA ; $73CE LD DE,($DFC3) ; $73D2 LD L,(IX+$00) ; $73D5 LD H,$00 ; $73D7 ADD HL,HL ; $73D8 JR $73E4 ; @label=Screen_DrawColumn_60 *$73DA LD DE,($DFC5) ; $73DE LD L,(IX+$01) ; $73E1 LD H,$00 ; $73E3 ADD HL,HL ; @label=Screen_DrawColumn_61 *$73E4 CALL $6D30 ; $73E7 LD DE,$0004 ; $73EA AND A ; $73EB SBC HL,DE ; $73ED JR C,$73F8 ; @label=Screen_DrawColumn_62 *$73EF LD DE,$000C ; $73F2 ADD IX,DE ; $73F4 DJNZ $73B4 ; $73F6 JR $7439 ; @label=Screen_DrawColumn_63 *$73F8 PUSH IX ; $73FA POP DE ; $73FB LD HL,($DFF9) ; $73FE AND A ; $73FF SBC HL,DE ; $7401 JR Z,$741A ; $7403 LD HL,($DFFB) ; $7406 AND A ; $7407 SBC HL,DE ; $7409 JR Z,$741A ; $740B LD HL,$DFFA ; $740E LD DE,$DFFC ; $7411 LD BC,$0002 ; $7414 LDDR ; $7416 LD ($DFF9),IX ; @label=Screen_DrawColumn_64 *$741A BIT 7,(IX+$04) ; $741E JR Z,$7427 ; $7420 LD A,($DFCE) ; $7423 BIT 7,A ; $7425 JR Z,$7439 ; @label=Screen_DrawColumn_65 *$7427 LD A,(IX+$02) ; Get bitmap index, add one to get sideways version. $742A AND $7F ; $742C INC A ; $742D LD B,A ; $742E LD A,($9030) ; Use mirror state of stored bitmap. $7431 AND $80 ; $7433 OR B ; $7434 LD ($9030),A ; $7437 JR $744B ; @label=Screen_DrawColumn_66 *$7439 LD A,($9030) ; $743C AND $7F ; $743E CALL $6DC0 ; $7441 LD L,A ; $7442 LD A,($9030) ; $7445 AND $80 ; $7447 OR L ; $7448 LD ($9030),A ; @label=Screen_DrawColumn_67 *$744B LD HL,($9030) ; $744E ADD HL,HL ; $744F LD H,$00 ; $7451 ADD HL,HL ; $7452 LD BC,$9037 ; $7455 ADD HL,BC ; $7456 PUSH HL ; $7457 LD A,($9030) ; $745A XOR (HL) ; $745B AND $80 ; $745D JR Z,$746A ; $745F LD A,($9030) ; $7462 AND $7F ; $7464 LD L,A ; $7465 LD H,$00 ; $7467 CALL $751F ; @label=Screen_DrawColumn_68 *$746A POP HL ; $746B DEC HL ; $746C LD A,(HL) ; $746D AND $7F ; $746F LD BC,$0110 ; $7472 LD HL,($6F16) ; @label=Screen_DrawColumn_69 *$7475 AND A ; $7476 SBC HL,BC ; $7478 DEC A ; $7479 JR NZ,$7475 ; $747B LD ($6F16),HL ; $747E POP DE ; $747F LD A,($9030) ; $7482 AND $7F ; $7484 LD L,A ; $7485 LD H,$00 ; $7487 CALL $6E8C ; For scenery items. $748A POP IX ; @label=S_DC_NextItem *$748C LD E,(IX+$04) ; $748F LD D,$00 ; $7491 ADD IX,DE ; $7493 LD L,(IX+$05) ; $7496 LD H,$00 ; $7498 ADD HL,HL ; $7499 ADD HL,HL ; $749A LD E,L ; $749B LD D,H ; $749C ADD HL,HL ; $749D ADD HL,DE ; $749E LD BC,$0006 ; $74A1 ADD HL,BC ; $74A2 EX DE,HL ; $74A3 ADD IX,DE ; $74A5 JP $722E ; ; _ @label=Screen_DrawColumn_70 *$74A8 LD IX,($DFE7) ; $74AC LD DE,$FFFC ; $74AF ADD IX,DE ; @label=Screen_DrawColumn_71 *$74B1 LD L,(IX+$04) ; $74B4 LD H,(IX+$05) ; $74B7 LD A,L ; $74B8 OR H ; $74B9 JR Z,$751B ; ; Draw an object if required. $74BB PUSH HL ; $74BC POP IX ; $74BE LD L,(IX+$02) ; $74C1 LD H,$00 ; $74C3 ADD HL,HL ; $74C4 ADD HL,HL ; $74C5 LD DE,$9037 ; $74C8 ADD HL,DE ; $74C9 LD A,(HL) ; $74CA LD ($6F18),A ; $74CD AND $7F ; $74CF CALL $6EC5 ; $74D2 JR C,$74B1 ; $74D4 LD A,($DFD2) ; $74D7 BIT 0,A ; $74D9 JR NZ,$74E4 ; $74DB LD DE,($DFC3) ; $74DF LD L,(IX+$00) ; $74E2 JR $74EB ; @label=Screen_DrawColumn_72 *$74E4 LD DE,($DFC5) ; $74E8 LD L,(IX+$01) ; @label=Screen_DrawColumn_73 *$74EB LD H,$00 ; $74ED LD A,($6F18) ; $74F0 RRCA ; $74F1 ADC HL,HL ; $74F3 CALL $6D30 ; $74F6 LD DE,$0004 ; $74F9 AND A ; $74FA SBC HL,DE ; $74FC JR NC,$74B1 ; $74FE LD A,($DFD2) ; $7501 RRCA ; $7502 RRCA ; $7503 LD HL,($6F18) ; $7506 XOR L ; $7507 AND $80 ; $7509 JR Z,$7513 ; $750B LD L,(IX+$02) ; $750E LD H,$00 ; $7510 CALL $751F ; @label=Screen_DrawColumn_74 *$7513 LD HL,$0005 ; $7516 CALL $6DE8 ; $7519 JR $74B1 ; @label=Screen_DrawColumn_75 *$751B RET ; ; Data block at 751C @label=Blit_Width b$751C DEFB $00,$00 @label=Blit_1 $751E DEFB $00 ; Mirror Bitmap. ; ; Used by the routines at #R$6CFC and #R$6F22. Input: HL Frame index @label=BitmapMirror c$751F ADD HL,HL ; Get correct sprite data address from index. $7520 ADD HL,HL ; $7521 LD DE,$9034 ; $7524 ADD HL,DE ; $7525 LD E,(HL) ; Get offset to bitmap $7526 INC HL ; $7527 LD D,(HL) ; $7528 INC HL ; $7529 LD A,(HL) ; Get height in chars. $752A AND $7F ; $752C LD C,A ; $752D INC HL ; $752E LD A,(HL) ; Get width in chars. $752F XOR $80 ; $7531 LD (HL),A ; $7532 AND $7F ; $7534 LD HL,$9436 ; Convert offset into true bitmap address $7537 ADD HL,DE ; $7538 EX DE,HL ; $7539 LD L,A ; $753A LD H,$00 ; $753C LD ($751C),HL ; $753F SRL A ; $7541 ADC A,$00 ; $7543 LD ($751E),A ; @label=BitmapMirror_0 *$7546 LD B,$08 ; @label=BitmapMirror_1 *$7548 PUSH BC ; $7549 LD HL,($751C) ; $754C ADD HL,DE ; $754D PUSH HL ; $754E LD A,($751E) ; $7551 LD B,A ; $7552 AND A ; @label=BitmapMirror_2 *$7553 DEC HL ; $7554 LD A,(DE) ; $7555 LD C,(HL) ; $7556 RLA ; $7557 RR C ; $7559 RLA ; $755A RR C ; $755C RLA ; $755D RR C ; $755F RLA ; $7560 RR C ; $7562 RLA ; $7563 RR C ; $7565 RLA ; $7566 RR C ; $7568 RLA ; $7569 RR C ; $756B RLA ; $756C RR C ; $756E RLA ; $756F LD (DE),A ; $7570 LD (HL),C ; $7571 INC DE ; $7572 DJNZ $7553 ; $7574 POP DE ; $7575 POP BC ; $7576 DJNZ $7548 ; $7578 DEC C ; $7579 JR NZ,$7546 ; $757B RET ; ; Data block at 757C b$757C DEFB $00,$00,$00,$00 ; Check for leaving the area. @label=ExitArea_ExitIndex b$7580 DEFB $00,$00 ; Exit Test variables. ; See if man is within a 20 units margin on the boundary of the area. ; ; Used by the routine at #R$6F22. @label=ExitAreaCheck c$7582 LD HL,($DFC3) ; Get current position on map. $7585 LD DE,($DFC5) ; $7589 LD A,($DFD2) ; $758C BIT 0,A ; Use the axis that hero is walking on. (If cam==N then use east/west). $758E JR NZ,$7591 ; $7590 EX DE,HL ; ; See if man is on boundary of area - Exit if not. @label=ExitArea_ExitIndex_0 *$7591 BIT 1,A ; Test for N/E or S/W facing. $7593 JR Z,$75A9 ; $7595 LD A,($DFD4) ; Test to see which way man is facing. $7598 CP $02 ; $759A JR Z,$75B0 ; @label=ExitArea_ExitIndex_1 *$759C LD BC,$0027 ; Facing right. $759F AND A ; $75A0 SBC HL,BC ; $75A2 RET P ; Exit if position is > $27 $75A3 LD BC,$0021 ; Offset position value again. $75A6 ADD HL,BC ; $75A7 JR $75C0 ; @label=ExitArea_ExitIndex_2 *$75A9 LD A,($DFD4) ; Test to see which way man is facing. $75AC CP $02 ; $75AE JR Z,$759C ; @label=ExitArea_ExitIndex_3 *$75B0 LD BC,$01DA ; Facing right. $75B3 AND A ; $75B4 SBC HL,BC ; $75B6 RET M ; Exit if position < $01da $75B7 ADD HL,BC ; Offset position value again. $75B8 LD C,L ; $75B9 LD B,H ; $75BA LD HL,$01FA ; $75BD AND A ; $75BE SBC HL,BC ; ; Is on boundary, see which area is next. @label=ExitArea_OnBoundary *$75C0 PUSH DE ; $75C1 PUSH HL ; $75C2 LD HL,$DFC3 ; Store current positions. $75C5 LD DE,$757C ; $75C8 LD BC,$0004 ; $75CB LDIR ; $75CD LD A,($DFDD) ; Store current area index. $75D0 LD ($7581),A ; $75D3 LD A,($DFD4) ; Using direction and compass we can workout the direction man is leaving an area. $75D6 OR $01 ; $75D8 LD HL,($DFD2) ; $75DB ADD A,L ; $75DC AND $03 ; $75DE LD ($7580),A ; Store as 'exit index'. $75E1 LD L,A ; $75E2 LD H,$00 ; $75E4 LD BC,$DFEF ; $75E7 ADD HL,BC ; $75E8 LD A,(HL) ; Get index of area the path exit leads to. $75E9 AND A ; $75EA JR Z,$765F ; zero means no exit. Do nothing. $75EC CALL $5E3C ; Get information on new area by temporary storing in heros information. $75EF POP DE ; $75F0 LD A,($DFD2) ; $75F3 BIT 1,A ; $75F5 JR NZ,$7604 ; $75F7 LD A,($DFD4) ; $75FA CP $02 ; $75FC JR NZ,$760B ; @label=ExitArea_ExitIndex_4 *$75FE LD HL,$01FA ; $7601 ADD HL,DE ; $7602 JR $7611 ; @label=ExitArea_ExitIndex_5 *$7604 LD A,($DFD4) ; $7607 CP $02 ; $7609 JR NZ,$75FE ; @label=ExitArea_ExitIndex_6 *$760B LD HL,$0006 ; $760E AND A ; $760F SBC HL,DE ; @label=ExitArea_ExitIndex_7 *$7611 EX DE,HL ; $7612 LD A,($DFD4) ; $7615 OR $01 ; $7617 LD BC,($DFD2) ; $761B ADD A,C ; $761C AND $03 ; $761E XOR $02 ; $7620 LD BC,($7580) ; $7624 XOR C ; $7625 CP $02 ; $7627 JR Z,$763A ; $7629 CP $03 ; $762B JR Z,$763A ; $762D LD HL,$0200 ; $7630 POP BC ; $7631 INC BC ; $7632 INC BC ; $7633 AND A ; $7634 SBC HL,BC ; $7636 DEC HL ; $7637 DEC HL ; $7638 JR $763B ; @label=ExitArea_ExitIndex_8 *$763A POP HL ; @label=ExitArea_ExitIndex_9 *$763B LD A,($DFD2) ; $763E BIT 0,A ; $7640 JR Z,$7643 ; $7642 EX DE,HL ; @label=ExitArea_ExitIndex_10 *$7643 LD ($DFC3),HL ; $7646 LD ($DFC5),DE ; $764A POP HL ; Get calling function from stack and retrn back as a call. $764B CALL $6D2F ; ; Get back originally stored position info. $764E LD HL,$757C ; $7651 LD DE,$DFC3 ; $7654 LD BC,$0004 ; $7657 LDIR ; $7659 LD A,($7581) ; Get temp stored area index (current) and update as current area. $765C JP $5E3C ; @label=ExitAreaCheck_End *$765F POP HL ; $7660 POP DE ; $7661 POP HL ; $7662 RET ; ; Scenery Action Data [bitmap index, function pointer] ; ; The follow structure is made up of [bitmap index, function pointer] @label=Actions_Data b$7663 DEFB $C5 ; Oracle's Rock $7664 DEFW $892B $7666 DEFB $5F ; Olc Weed $7667 DEFW $7A64 $7669 DEFB $19 ; Nathair $766A DEFW $7834 $766C DEFB $57 ; Tablet $766D DEFW $893A $766F DEFB $6F ; Half Horse Shoe / Half Torc $7670 DEFW $DF88 $7672 DEFB $7F ; Thing $7673 DEFW $DF88 $7675 DEFB $7E ; Scroll $7676 DEFW $DF88 $7678 DEFB $54 ; Waterfall $7679 DEFW $5E4B $767B DEFB $55 ; Blank bitmap. $767C DEFW $5E4B $767E DEFB $56 ; Rock $767F DEFW $5E4B $7681 DEFB $C4 ; Alter of the Seal $7682 DEFW $8934 $7684 DEFB $B2 ; Busk / Face $7685 DEFW $7B3F $7687 DEFB $92 ; Stone $7688 DEFW $DF88 ; Create Action for a Scenery Object ; ; Used by the routines at #R$6CFC and #R$6F22. Input: IX Pointer to scenery item. @label=Actions_CreateObj c$768A LD A,(IX+$02) ; Get item's bitmap index. $768D LD HL,($DFC1) ; Get address of first link in list. $7690 LD BC,$0000 ; Using BC to check to see if HL == 0. ; Search to ned of list / Check to see if action exits. @label=Actions_CreateObj_0 *$7693 AND A ; Check for end of list. $7694 ADC HL,BC ; $7696 JR Z,$76A1 ; $7698 LD E,(HL) ; If not end, get next link. $7699 INC HL ; $769A LD D,(HL) ; $769B INC HL ; $769C CP (HL) ; If bitmap is already in list, do nothing. $769D RET Z ; $769E EX DE,HL ; $769F JR $7693 ; ; Create a new action using bitmap. @label=Actions_CreateObj_1 *$76A1 PUSH IX ; Remember item's address. $76A3 LD L,(IX+$02) ; Get item's bitmap index and get the bitmap's width. $76A6 LD H,$00 ; $76A8 ADD HL,HL ; $76A9 ADD HL,HL ; $76AA LD DE,$9037 ; $76AD ADD HL,DE ; $76AE LD A,(HL) ; $76AF LD L,(IX+$01) ; Get item's secondary position. (Adding 1 if width is odd). $76B2 LD H,$00 ; $76B4 RRCA ; $76B5 ADC HL,HL ; $76B7 EX DE,HL ; $76B8 LD L,(IX+$00) ; $76BB LD H,$00 ; Get item's primary position. (Adding 1 if width is odd). $76BD RLCA ; $76BE ADC HL,HL ; $76C0 LD A,(IX+$02) ; Get bitmap index again. $76C3 PUSH AF ; Create an empty link and add to list. IX = address. $76C4 PUSH DE ; $76C5 PUSH HL ; $76C6 CALL $6D76 ; $76C9 POP HL ; Store item's primary position. (True value) $76CA LD (IX+$05),L ; $76CD LD (IX+$06),H ; $76D0 POP DE ; Store item's secondary position. (True value) $76D1 LD (IX+$07),E ; $76D4 LD (IX+$08),D ; $76D7 POP AF ; Store item's bitmap index. $76D8 LD (IX+$02),A ; $76DB LD (IX+$0B),A ; $76DE LD HL,$7663 ; Search through the action data and find the related function address. This is the function ; called when the action is triggered. $76E1 LD A,(IX+$02) ; @label=Actions_CreateObj_2 *$76E4 CPI ; $76E6 JR Z,$76EC ; $76E8 INC HL ; $76E9 INC HL ; $76EA JR $76E4 ; @label=Actions_CreateObj_3 *$76EC LD A,(HL) ; Store function pointer. $76ED INC HL ; $76EE LD (IX+$03),A ; $76F1 LD A,(HL) ; $76F2 LD (IX+$04),A ; $76F5 POP IX ; Restore item's address and return. $76F7 RET ; ; Scan in keyboard state ; ; Used by the routines at #R$6CFC and #R$770D. @label=KeyboardScan c$76F8 LD HL,$DFB9 ; Scan through all key states and store in memory as bit flags. $76FB LD E,$80 ; $76FD LD BC,$7FFE ; @label=KeyboardScan_0 *$7700 IN D,(C) ; $7702 LD (HL),D ; $7703 AND A ; $7704 RR E ; $7706 RET Z ; $7707 DEC HL ; $7708 LD A,B ; $7709 ADD A,E ; $770A LD B,A ; $770B JR $7700 ; ; Convert keybard states stored, into movement. ; ; Used by the routine at #R$6CFC. @label=UpdateKeyboardInput c$770D LD A,($DFB1) ; $7710 AND A ; $7711 JP NZ,$77A8 ; $7714 CALL $76F8 ; $7717 LD B,$00 ; $7719 LD IX,$DFB2 ; $771D LD A,(IX+$01) ; Get key states for F S H K Enter (Rotate landscape right) $7720 AND $15 ; $7722 LD C,A ; $7723 LD A,(IX+$06) ; $7726 AND $0A ; $7728 OR C ; $7729 XOR $1F ; $772B JR Z,$772F ; $772D SET 2,B ; @label=UpdateKeyboardInput_0 *$772F LD A,(IX+$01) ; Get key states for A D G J L (Rotate landscape left) $7732 AND $0A ; $7734 LD C,A ; $7735 LD A,(IX+$06) ; $7738 AND $15 ; $773A OR C ; $773B XOR $1F ; $773D JR Z,$7741 ; $773F SET 3,B ; @label=UpdateKeyboardInput_1 *$7741 LD A,(IX+$00) ; Get key states for X V N ss (Walk right) $7744 AND $0A ; $7746 LD C,A ; $7747 LD A,(IX+$07) ; $774A AND $14 ; $774C OR C ; $774D XOR $1E ; $774F JR Z,$7753 ; $7751 SET 1,B ; @label=UpdateKeyboardInput_2 *$7753 LD A,(IX+$00) ; Get key states for Z C B M (Walk left) $7756 AND $14 ; $7758 LD C,A ; $7759 LD A,(IX+$07) ; $775C AND $0A ; $775E OR C ; $775F XOR $1E ; $7761 JR Z,$7765 ; $7763 SET 0,B ; @label=UpdateKeyboardInput_3 *$7765 LD A,(IX+$02) ; Get key states for W R Y I P (Drop) $7768 AND $0A ; $776A LD C,A ; $776B LD A,(IX+$05) ; $776E AND $15 ; $7770 OR C ; $7771 XOR $1F ; $7773 JR Z,$7777 ; $7775 SET 6,B ; @label=UpdateKeyboardInput_4 *$7777 LD A,(IX+$02) ; Get key states for Q E T U O (Pick up) $777A AND $15 ; $777C LD C,A ; $777D LD A,(IX+$05) ; $7780 AND $0A ; $7782 OR C ; $7783 XOR $1F ; $7785 JR Z,$7789 ; $7787 SET 5,B ; @label=UpdateKeyboardInput_5 *$7789 LD A,(IX+$03) ; Get key states for top row. $778C XOR (IX+$04) ; $778F AND $1E ; $7791 JR Z,$7795 ; $7793 SET 7,B ; @label=UpdateKeyboardInput_6 *$7795 LD A,(IX+$00) ; $7798 AND (IX+$07) ; $779B AND (IX+$03) ; $779E AND (IX+$04) ; $77A1 AND $01 ; $77A3 JR NZ,$77A7 ; $77A5 SET 4,B ; @label=UpdateKeyboardInput_7 *$77A7 LD A,B ; Store as a bit flag. @label=UpdateKeyboardInput_8 *$77A8 LD ($DFBA),A ; $77AB RET ; ; Routine at 77AC ; ; Used by the routine at #R$6CFC. c$77AC LD L,A ; $77AD LD H,$00 ; $77AF ADD HL,HL ; $77B0 ADD HL,HL ; $77B1 LD DE,$9037 ; $77B4 ADD HL,DE ; $77B5 LD A,(HL) ; $77B6 AND $7F ; $77B8 LD ($9033),A ; $77BB DEC HL ; $77BC LD A,(HL) ; $77BD RLA ; $77BE RLA ; $77BF RLA ; $77C0 AND $F8 ; $77C2 LD ($9032),A ; $77C5 DEC HL ; $77C6 LD D,(HL) ; $77C7 DEC HL ; $77C8 LD E,(HL) ; $77C9 LD HL,$9436 ; $77CC ADD HL,DE ; $77CD LD ($9030),HL ; $77D0 LD L,B ; $77D1 LD H,$00 ; $77D3 ADD HL,HL ; $77D4 LD E,L ; $77D5 LD D,H ; $77D6 ADD HL,HL ; $77D7 ADD HL,HL ; $77D8 ADD HL,HL ; $77D9 ADD HL,HL ; $77DA ADD HL,DE ; $77DB LD E,C ; $77DC SRL E ; $77DE SRL E ; $77E0 SRL E ; $77E2 LD D,$00 ; $77E4 ADD HL,DE ; $77E5 LD DE,$F609 ; $77E8 ADD HL,DE ; $77E9 LD DE,($9030) ; $77ED BIT 2,C ; $77EF JR NZ,$7808 ; $77F1 LD BC,($9032) ; *$77F5 PUSH BC ; $77F6 PUSH HL ; *$77F7 LD A,(DE) ; $77F8 XOR (HL) ; $77F9 LD (HL),A ; $77FA INC DE ; $77FB INC HL ; $77FC DJNZ $77F7 ; $77FE POP HL ; $77FF LD BC,$0022 ; $7802 ADD HL,BC ; $7803 POP BC ; $7804 DEC C ; $7805 JR NZ,$77F5 ; $7807 RET ; *$7808 LD BC,($9032) ; *$780C PUSH BC ; $780D PUSH HL ; $780E EX DE,HL ; $780F XOR A ; *$7810 RRD ; $7812 LD C,A ; $7813 LD A,(DE) ; $7814 XOR (HL) ; $7815 LD (DE),A ; $7816 LD A,C ; $7817 RLD ; $7819 LD A,C ; $781A INC HL ; $781B INC DE ; $781C DJNZ $7810 ; $781E RLA ; $781F RLA ; $7820 RLA ; $7821 RLA ; $7822 AND $F0 ; $7824 LD C,A ; $7825 LD A,(DE) ; $7826 XOR C ; $7827 LD (DE),A ; $7828 POP DE ; $7829 EX DE,HL ; $782A LD BC,$0022 ; $782D ADD HL,BC ; $782E POP BC ; $782F DEC C ; $7830 JR NZ,$780C ; $7832 RET ; $7833 NOP ; ; Nathair Action Function Ptr. ; ; Used by the routine at #R$6CFC. @label=ActionNathair c$7834 LD A,(IX+$0D) ; $7837 AND A ; $7838 JP NZ,$78DD ; $783B LD (IX+$0B),$1E ; $783F LD HL,($DFC5) ; $7842 LD E,(IX+$07) ; $7845 LD D,(IX+$08) ; $7848 CALL $6D30 ; $784B LD DE,$0021 ; $784E AND A ; $784F SBC HL,DE ; $7851 JP NC,$78F9 ; $7854 LD A,($DFCE) ; $7857 BIT 3,A ; $7859 JR NZ,$7863 ; $785B LD A,($DFCB) ; $785E CP $6E ; $7860 JP Z,$78F9 ; @label=ActionNathair_0 *$7863 LD A,$01 ; $7865 LD ($7833),A ; $7868 LD (IX+$0D),A ; $786B CALL $8931 ; ; Data block at 786E b$786E DEFM "nathair!" $7876 DEFB $5E ; Routine at 7877 c$7877 PUSH IX ; $7879 LD L,(IX+$07) ; $787C LD H,(IX+$08) ; $787F PUSH HL ; $7880 CALL $6D76 ; $7883 LD HL,$792F ; $7886 LD (IX+$03),L ; $7889 LD (IX+$04),H ; $788C POP HL ; $788D PUSH HL ; $788E LD (IX+$07),L ; $7891 LD (IX+$08),H ; $7894 LD (IX+$0A),$01 ; $7898 LD (IX+$0B),$1C ; $789C CALL $6D76 ; $789F LD HL,$798F ; $78A2 LD (IX+$03),L ; $78A5 LD (IX+$04),H ; $78A8 POP HL ; $78A9 PUSH HL ; $78AA DEC HL ; $78AB DEC HL ; $78AC DEC HL ; $78AD LD (IX+$07),L ; $78B0 LD (IX+$08),H ; $78B3 LD (IX+$0A),$01 ; $78B7 LD (IX+$0B),$BF ; $78BB CALL $6D76 ; $78BE LD HL,$798F ; $78C1 LD (IX+$03),L ; $78C4 LD (IX+$04),H ; $78C7 POP HL ; $78C8 INC HL ; $78C9 INC HL ; $78CA INC HL ; $78CB LD (IX+$07),L ; $78CE LD (IX+$08),H ; $78D1 LD (IX+$0B),$BF ; $78D5 LD (IX+$0A),$01 ; $78D9 POP IX ; $78DB JR $78F2 ; ; This entry point is used by the routine at #R$7834. @label=ActionNathair_1 *$78DD DEC (IX+$0A) ; $78E0 JR NZ,$78F9 ; $78E2 LD A,(IX+$0B) ; $78E5 CP $1E ; $78E7 JR Z,$78F2 ; $78E9 INC (IX+$0B) ; $78EC LD (IX+$0A),$02 ; $78F0 JR $78F9 ; @label=ActionNathair_2 *$78F2 DEC (IX+$0B) ; $78F5 LD (IX+$0A),$30 ; ; This entry point is used by the routine at #R$7834. @label=ActionNathair_3 *$78F9 LD HL,($DFC5) ; $78FC LD E,(IX+$07) ; $78FF LD D,(IX+$08) ; $7902 CALL $6D30 ; $7905 LD DE,$0027 ; $7908 AND A ; $7909 SBC HL,DE ; $790B JR C,$7916 ; $790D RET Z ; $790E XOR A ; $790F LD (IX+$0B),A ; $7912 LD ($7833),A ; $7915 RET ; @label=ActionNathair_4 *$7916 LD A,($DFD2) ; $7919 CP $02 ; $791B RET NZ ; $791C LD (IX+$09),$08 ; $7920 LD (IX+$0C),$01 ; $7924 CALL $7B36 ; $7927 RET ; $7928 INC E ; $7929 DEC DE ; $792A LD A,(DE) ; $792B DEC DE ; $792C LD A,(DE) ; $792D DEC DE ; $792E INC E ; $792F LD A,($7833) ; $7932 AND A ; $7933 JR NZ,$7939 ; $7935 LD (IX+$0B),A ; $7938 RET ; @label=ActionNathair_5 *$7939 DEC (IX+$0A) ; $793C JR NZ,$7960 ; $793E LD A,(IX+$0D) ; $7941 CP $07 ; $7943 JR NZ,$794F ; $7945 LD (IX+$0D),$00 ; $7949 LD (IX+$0A),$18 ; $794D JR $7960 ; @label=ActionNathair_6 *$794F LD HL,$7928 ; $7952 LD C,A ; $7953 LD B,$00 ; $7955 ADD HL,BC ; $7956 LD A,(HL) ; $7957 LD (IX+$0B),A ; $795A INC (IX+$0D) ; $795D INC (IX+$0A) ; @label=ActionNathair_7 *$7960 LD HL,($DFC5) ; $7963 LD E,(IX+$07) ; $7966 LD D,(IX+$08) ; $7969 CALL $6D30 ; $796C LD DE,$0021 ; $796F AND A ; $7970 SBC HL,DE ; $7972 RET NC ; $7973 LD A,($DFD2) ; $7976 CP $02 ; $7978 RET NZ ; $7979 LD (IX+$09),$28 ; $797D LD (IX+$0C),$01 ; $7981 CALL $7B36 ; $7984 RET ; $7985 CP A ; $7986 RET NZ ; $7987 POP BC ; $7988 CP (HL) ; $7989 JP $C1C2 ; $798C RET NZ ; $798D CP A ; $798E NOP ; $798F LD A,($7833) ; $7992 AND A ; $7993 JR NZ,$7999 ; $7995 LD (IX+$0B),A ; $7998 RET ; @label=ActionNathair_8 *$7999 DEC (IX+$0A) ; $799C JR Z,$79CA ; $799E LD A,($798E) ; $79A1 AND A ; $79A2 JR NZ,$79C6 ; $79A4 LD A,($E003) ; $79A7 AND A ; $79A8 RET NZ ; $79A9 LD HL,($DFC5) ; $79AC LD E,(IX+$07) ; $79AF LD D,(IX+$08) ; $79B2 CALL $6D30 ; $79B5 LD DE,$0003 ; $79B8 AND A ; $79B9 SBC HL,DE ; $79BB RET NC ; $79BC LD A,$01 ; $79BE LD ($E003),A ; $79C1 LD ($798E),A ; $79C4 JR $79CA ; @label=ActionNathair_9 *$79C6 XOR A ; $79C7 LD ($798E),A ; @label=ActionNathair_10 *$79CA LD A,(IX+$0D) ; $79CD CP $09 ; $79CF JR NZ,$79DA ; $79D1 LD (IX+$0D),$00 ; $79D5 LD (IX+$0A),$40 ; $79D9 RET ; @label=ActionNathair_11 *$79DA LD HL,$7985 ; $79DD LD C,A ; $79DE LD B,$00 ; $79E0 ADD HL,BC ; $79E1 LD A,(HL) ; $79E2 LD (IX+$0B),A ; $79E5 INC (IX+$0D) ; $79E8 LD (IX+$0A),$01 ; $79EC LD HL,($DFC5) ; $79EF LD E,(IX+$07) ; $79F2 LD D,(IX+$08) ; $79F5 CALL $6D30 ; $79F8 LD DE,$0003 ; $79FB AND A ; $79FC SBC HL,DE ; $79FE JR NC,$7A0B ; $7A00 LD A,($E003) ; $7A03 AND A ; $7A04 JR NZ,$7A0B ; $7A06 LD A,$01 ; $7A08 LD ($E003),A ; @label=ActionNathair_12 *$7A0B ADD HL,DE ; $7A0C LD DE,$0022 ; $7A0F AND A ; $7A10 SBC HL,DE ; $7A12 RET NC ; $7A13 LD A,($DFD2) ; $7A16 BIT 0,A ; $7A18 RET NZ ; $7A19 LD B,$1F ; $7A1B LD A,(IX+$0D) ; $7A1E CP $07 ; $7A20 JR C,$7A2A ; $7A22 LD B,$27 ; $7A24 CP $08 ; $7A26 JR C,$7A2A ; $7A28 LD B,$2F ; @label=ActionNathair_13 *$7A2A LD (IX+$09),B ; $7A2D LD (IX+$0C),$01 ; $7A31 CALL $7B36 ; $7A34 RET ; ; Insert charcter bitmap into a sprite bitmap. (Key icon on a door). ; ; Used by the routines at #R$6CFC and #R$6F22. Input: A Ascii character of icon. HL - DE - BC - Width of bitmap ; (being written too). @label=Char_InsertIntoBitmap c$7A35 ADD HL,DE ; Calculate $7A36 LD DE,$3C00 ; $7A39 CP $51 ; $7A3B JR C,$7A40 ; $7A3D LD DE,$FC00 ; @label=Char_InsertIntoBitmap_0 *$7A40 PUSH HL ; Work out character bitmap address. $7A41 LD L,A ; $7A42 LD H,$00 ; $7A44 ADD HL,HL ; $7A45 ADD HL,HL ; $7A46 ADD HL,HL ; $7A47 ADD HL,DE ; $7A48 EX DE,HL ; $7A49 POP HL ; $7A4A DEC BC ; $7A4B LD A,$08 ; @label=Char_InsertIntoBitmap_1 *$7A4D EX AF,AF' ; Insert char bitmap into main bitmap by rotating nibbles around. $7A4E LD A,(DE) ; $7A4F RRD ; $7A51 RRA ; $7A52 RRA ; $7A53 RRA ; $7A54 RRA ; $7A55 RLD ; $7A57 INC HL ; $7A58 RLD ; $7A5A LD A,(HL) ; $7A5B RRD ; $7A5D ADD HL,BC ; $7A5E INC DE ; $7A5F EX AF,AF' ; $7A60 DEC A ; $7A61 JR NZ,$7A4D ; $7A63 RET ; ; Routine at 7A64 ; ; Used by the routine at #R$6CFC. @label=ActionOlcWeed c$7A64 LD A,($DFD2) ; $7A67 BIT 0,A ; $7A69 JR NZ,$7A80 ; $7A6B LD HL,($DFC5) ; $7A6E LD E,(IX+$07) ; $7A71 LD D,(IX+$08) ; $7A74 CALL $6D30 ; $7A77 LD DE,$0022 ; $7A7A AND A ; $7A7B SBC HL,DE ; $7A7D JR C,$7A85 ; $7A7F RET Z ; @label=ActionOlcWeed_0 *$7A80 LD (IX+$0B),$00 ; $7A84 RET ; @label=ActionOlcWeed_1 *$7A85 ADD HL,DE ; $7A86 EX DE,HL ; $7A87 LD HL,($5C78) ; $7A8A LD A,H ; $7A8B AND $3F ; $7A8D LD H,A ; $7A8E LD A,$5F ; $7A90 LD BC,$2004 ; $7A93 AND A ; $7A94 SBC HL,BC ; $7A96 JR NC,$7A9A ; $7A98 LD A,$64 ; @label=ActionOlcWeed_2 *$7A9A EX AF,AF' ; $7A9B LD A,(IX+$0B) ; $7A9E CP $5F ; $7AA0 JR NZ,$7AAC ; $7AA2 LD L,E ; $7AA3 LD H,D ; $7AA4 LD BC,$0008 ; $7AA7 AND A ; $7AA8 SBC HL,BC ; $7AAA JR C,$7AC7 ; @label=ActionOlcWeed_3 *$7AAC EX AF,AF' ; $7AAD BIT 0,(IX+$0D) ; $7AB1 JR NZ,$7AB8 ; $7AB3 LD (IX+$0B),A ; $7AB6 JR $7AC7 ; @label=ActionOlcWeed_4 *$7AB8 CP (IX+$0B) ; $7ABB JR Z,$7AC7 ; $7ABD JR C,$7AC4 ; $7ABF INC (IX+$0B) ; $7AC2 JR $7AC7 ; @label=ActionOlcWeed_5 *$7AC4 DEC (IX+$0B) ; @label=ActionOlcWeed_6 *$7AC7 LD A,($E003) ; $7ACA AND A ; $7ACB JR NZ,$7AE1 ; $7ACD LD A,(IX+$0B) ; $7AD0 CP $5F ; $7AD2 JR Z,$7AE1 ; $7AD4 LD HL,$0005 ; $7AD7 AND A ; $7AD8 SBC HL,DE ; $7ADA JR NZ,$7AE1 ; $7ADC LD A,$14 ; $7ADE LD ($E003),A ; @label=ActionOlcWeed_7 *$7AE1 LD A,(IX+$0B) ; $7AE4 LD B,$10 ; $7AE6 CP $61 ; $7AE8 JR C,$7AF2 ; $7AEA LD B,$18 ; $7AEC CP $63 ; $7AEE JR C,$7AF2 ; $7AF0 LD B,$20 ; @label=ActionOlcWeed_8 *$7AF2 LD (IX+$09),B ; $7AF5 LD (IX+$0D),$01 ; $7AF9 LD (IX+$0C),$01 ; $7AFD CALL $7B36 ; $7B00 RET ; ; Data block at 7B01 b$7B01 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $7B09 DEFB $00,$00,$00 ; Vectors @label=Vectors c$7B0C JP $DF82 ; ; This entry point is used by the routines at #R$638A and #R$6A61. @label=Vector_BlitBitmap *$7B0F JP $7B47 ; ; This entry point is used by the routine at #R$F489. @label=Vector_BackgroundAnimate *$7B12 JP $7BDF ; Vector Animate Background ; This entry point is used by the routine at #R$F489. @label=Vector_Screen_ClearLower *$7B15 JP $7C44 ; ; This entry point is used by the routine at #R$60EF. @label=Vector_UpdateInv *$7B18 JP $7C63 ; $7B1B JP $7D49 ; ; This entry point is used by the routine at #R$65BF. @label=Vector_ObjectPickUp *$7B1E JP $7DC5 ; Object Pick Up. ; This entry point is used by the routine at #R$65BF. @label=Vector_ObjectDrop *$7B21 JP $7E90 ; Object Drop. ; This entry point is used by the routine at #R$65BF. @label=Vector_HandleSelection *$7B24 JP $7F5D ; Vector Handle Selection ; This entry point is used by the routines at #R$638A and #R$65BF. @label=Vector_MobilesUpdate2 *$7B27 JP $7FAA ; ; This entry point is used by the routines at #R$638A and #R$65BF. @label=Vector_MobilesUpdate1 *$7B2A JP $7FA7 ; ; This entry point is used by the routine at #R$F489. @label=Vector_BgUpdate *$7B2D JP $80D0 ; Updates the background for hero and sidhe. @label=Vector_SidheBlitBg $7B30 JP $82F6 ; @label=Vector_7B33 $7B33 JP $859A ; ; This entry point is used by the routines at #R$6A18, #R$6C83, #R$7834, #R$7A64, #R$8D11 and #R$8D50. @label=Vector_SpriteBlit *$7B36 JP $85E4 ; $7B39 JP $8798 ; $7B3C JP $87BF ; @label=Vector_Action_FaceFunc $7B3F JP $88C7 ; $7B42 JP (HL) ; ; Routine at 7B43 @label=Temp_A c$7B43 LD L,B ; @label=Temp_W $7B44 LD L,A ; $7B45 LD (HL),A ; @label=Temp_H $7B46 LD H,L ; ; Routine at 7B47 ; ; Used by the routines at #R$7B0C and #R$7BDF. Input: A _todo L Index to Bitmap Data B Y position (in pixels). C ; X position (in pixels). @label=BlitBitmap_7B47 c$7B47 PUSH IX ; $7B49 LD ($7B43),A ; $7B4C LD A,B ; $7B4D LD ($9030),A ; $7B50 LD A,C ; $7B51 LD ($9031),A ; $7B54 LD H,$00 ; (Bitmap Data Index)*4(size) + Start Address $7B56 ADD HL,HL ; $7B57 ADD HL,HL ; $7B58 LD BC,$9034 ; $7B5B ADD HL,BC ; $7B5C LD E,(HL) ; Get bitmap offset address $7B5D INC HL ; $7B5E LD D,(HL) ; $7B5F INC HL ; $7B60 LD A,(HL) ; Get bitmaps height (in chars) $7B61 LD ($7B46),A ; $7B64 AND $7F ; Mask off flag for true height in chars. $7B66 LD ($9032),A ; $7B69 INC HL ; $7B6A LD A,(HL) ; Get width (in char blocks) $7B6B AND $7F ; $7B6D LD C,A ; $7B6E LD B,$00 ; $7B70 LD ($7B44),BC ; $7B74 LD ($9033),A ; $7B77 LD HL,$9436 ; Get true bitmap address. $7B7A ADD HL,DE ; $7B7B LD IX,$9030 ; $7B7F LD B,(IX+$02) ; ; Draw @label=BlitBitmap_7B47_0 *$7B82 PUSH BC ; $7B83 PUSH HL ; $7B84 CALL $6D02 ; $7B87 EX (SP),HL ; $7B88 PUSH HL ; $7B89 LD A,($7B43) ; $7B8C AND A ; $7B8D JR Z,$7B9F ; $7B8F LD B,(IX+$03) ; @label=BlitBitmap_7B47_1 *$7B92 LD (DE),A ; $7B93 INC DE ; $7B94 DJNZ $7B92 ; $7B96 LD A,($7B46) ; $7B99 BIT 7,A ; $7B9B JR NZ,$7BB7 ; $7B9D JR $7BAD ; @label=BlitBitmap_7B47_2 *$7B9F LD A,($7B46) ; $7BA2 BIT 7,A ; $7BA4 JR NZ,$7BB7 ; $7BA6 LD C,(IX+$03) ; Get number of columns to draw and blit 1 scan of bitmap $7BA9 LD B,$00 ; $7BAB LDIR ; @label=BlitBitmap_7B47_3 *$7BAD LD HL,($7B44) ; $7BB0 POP BC ; $7BB1 ADD HL,BC ; $7BB2 LD A,$08 ; $7BB4 POP DE ; $7BB5 JR $7BBB ; @label=BlitBitmap_7B47_4 *$7BB7 POP HL ; Get next bitmap address. $7BB8 LD A,$08 ; Draw for 8 scan lines down. $7BBA POP DE ; Get next screen address to blit to. ; Draw a block @label=BlitBitmap_7B47_5 *$7BBB PUSH DE ; $7BBC PUSH HL ; $7BBD LD C,(IX+$03) ; Get number of columns to blit. $7BC0 LD B,$00 ; $7BC2 LDIR ; Blit $7BC4 LD HL,($7B44) ; $7BC7 POP BC ; $7BC8 ADD HL,BC ; Get number of bytes per column and move onto next bitmap line. $7BC9 POP DE ; Get previous screen address and move down a scan. $7BCA INC D ; $7BCB DEC A ; $7BCC JR NZ,$7BBB ; $7BCE LD A,$08 ; Update Y position to next block down (8 scans) $7BD0 ADD A,(IX+$00) ; $7BD3 LD (IX+$00),A ; $7BD6 POP BC ; Number of blocks left to draw. $7BD7 DJNZ $7B82 ; $7BD9 POP IX ; $7BDB RET ; ; Data block at 7BDC b$7BDC DEFB $00 $7BDD DEFB $D7 $7BDE DEFB $DE ; Animate Background ; ; Used by the routine at #R$7B0C. @label=BackgroundAnimate c$7BDF LD A,($7BDC) ; Tick $7BE2 XOR $01 ; $7BE4 LD ($7BDC),A ; $7BE7 LD A,($DFEC) ; Get background type. Do nothing if type 0 $7BEA AND A ; $7BEB RET NZ ; $7BEC LD A,($DFD2) ; $7BEF LD HL,($DFE9) ; $7BF2 ADD A,L ; $7BF3 AND $03 ; $7BF5 CP $02 ; $7BF7 JP Z,$7C13 ; $7BFA LD HL,$7BDD ; $7BFD LD (HL),$D7 ; $7BFF AND A ; $7C00 JP Z,$7C2A ; $7C03 CP $01 ; $7C05 JR NZ,$7C0D ; $7C07 LD HL,$4020 ; Clouds facing east. There is a return in the next function. $7C0A JP $5E51 ; @label=BackgroundAnimate_0 *$7C0D LD HL,$403F ; Clouds facing west. There is a return in the next function. $7C10 JP $5E54 ; @label=BackgroundAnimate_1 *$7C13 LD B,$00 ; $7C15 LD C,$80 ; $7C17 LD A,($7BDD) ; $7C1A LD L,A ; $7C1B INC A ; $7C1C CP $DB ; $7C1E JR C,$7C22 ; $7C20 LD A,$D7 ; @label=BackgroundAnimate_2 *$7C22 LD ($7BDD),A ; ; This entry point is used by the routine at #R$7C30. @label=BackgroundAnimate_3 *$7C25 XOR A ; $7C26 CALL $7B47 ; $7C29 RET ; @label=BackgroundAnimate_4 *$7C2A LD A,($7BDC) ; $7C2D BIT 0,A ; $7C2F RET Z ; ; Routine at 7C30 c$7C30 LD A,($7BDE) ; $7C33 INC A ; $7C34 CP $E0 ; $7C36 JR NZ,$7C3A ; $7C38 LD A,$DE ; *$7C3A LD ($7BDE),A ; $7C3D LD L,A ; $7C3E LD B,$10 ; $7C40 LD C,$60 ; $7C42 JR $7C25 ; ; Clears the lower third screen area. ; ; Used by the routine at #R$7B0C. @label=Screen_ClearLowerThird c$7C44 XOR A ; $7C45 OUT ($FE),A ; $7C47 LD HL,$5000 ; $7C4A LD (HL),$00 ; $7C4C LD E,L ; $7C4D LD D,H ; $7C4E INC DE ; $7C4F LD BC,$07FF ; $7C52 LDIR ; $7C54 LD HL,$5A00 ; $7C57 LD (HL),$07 ; $7C59 LD E,L ; $7C5A LD D,H ; $7C5B INC DE ; $7C5C LD BC,$00FF ; $7C5F LDIR ; $7C61 RET ; ; Data block at 7C62 b$7C62 DEFB $00 ; Store ; Print out the inventory. ; ; Used by the routines at #R$7B0C, #R$7D49 and #R$7F5D. @label=UpdateInv_A c$7C63 XOR A ; ; This entry point is used by the routine at #R$7E90. @label=UpdateInv_B *$7C64 LD ($7C62),A ; $7C67 LD HL,$5A20 ; $7C6A LD A,$04 ; @label=UpdateInv_A_0 *$7C6C LD BC,$0010 ; $7C6F ADD HL,BC ; $7C70 EX DE,HL ; $7C71 LD HL,$DF91 ; $7C74 LDIR ; $7C76 EX DE,HL ; $7C77 DEC A ; $7C78 JR NZ,$7C6C ; $7C7A LD DE,$5AC0 ; $7C7D LD HL,$DF91 ; $7C80 LD BC,$0011 ; $7C83 LDIR ; $7C85 LD DE,$5AE0 ; $7C88 LD HL,$DF91 ; $7C8B LD BC,$0011 ; $7C8E LDIR ; $7C90 LD HL,($DFCE) ; $7C93 PUSH HL ; $7C94 LD HL,$0000 ; $7C97 LD ($DFCE),HL ; $7C9A XOR A ; $7C9B LD ($DFCB),A ; $7C9E LD DE,($DFC9) ; Get number if items and index of item selected. $7CA2 LD A,D ; Make sure the selection is not greater than the number of items in the inventory. $7CA3 CP E ; $7CA4 JR C,$7CAB ; $7CA6 XOR A ; $7CA7 LD D,A ; Now holds the inventory index for the item selected. $7CA8 LD ($DFCA),A ; @label=UpdateInv_A_1 *$7CAB CALL $6CFF ; Print string at next address (defined by stack) ; Data block at 7CAE b$7CAE DEFB $10 ; String for INK(3), PAPER(0), BRIGHT(1) $7CAF DEFB $03 $7CB0 DEFB $11 $7CB1 DEFB $00 $7CB2 DEFB $13 $7CB3 DEFB $01 $7CB4 DEFB $5E ; Routine at 7CB5 c$7CB5 LD E,$00 ; Return from print appears here. $7CB7 INC D ; $7CB8 LD IX,$DFC3 ; Man data holds pointer to first object carried. @label=UpdateInv_A_2 *$7CBC LD L,(IX+$04) ; This offset holds the object pointer. Either first one in man data or next one held in ; object data iteself. $7CBF LD H,(IX+$05) ; $7CC2 LD A,L ; zero means nothing carried. $7CC3 OR H ; $7CC4 JR Z,$7D39 ; $7CC6 PUSH HL ; Store object address $7CC7 PUSH HL ; And copy into IX $7CC8 POP IX ; $7CCA LD HL,$DFCE ; $7CCD LD A,(HL) ; $7CCE OR (IX+$03) ; $7CD1 LD (HL),A ; $7CD2 INC HL ; $7CD3 LD A,(IX+$03) ; $7CD6 AND $03 ; $7CD8 ADD A,(HL) ; $7CD9 LD (HL),A ; $7CDA POP HL ; $7CDB INC E ; $7CDC LD A,$16 ; $7CDE RST $10 ; $7CDF LD A,E ; $7CE0 RST $10 ; $7CE1 LD A,$10 ; $7CE3 RST $10 ; $7CE4 DEC D ; If D == 0 then we have hit the item which is selected. $7CE5 JR NZ,$7CF8 ; $7CE7 LD A,(IX+$02) ; $7CEA LD ($DFCB),A ; $7CED LD ($DFCC),IX ; $7CF1 LD A,$2A ; Print the '*' next to the selected item. $7CF3 CALL $8925 ; $7CF6 JR $7CFD ; @label=UpdateInv_A_3 *$7CF8 LD A,$20 ; Print the ' ' next to the unselected item. $7CFA CALL $8925 ; @label=UpdateInv_A_4 *$7CFD LD BC,$0006 ; Point to start of object string. $7D00 ADD HL,BC ; ; Print Object String. @label=UpdateInv_A_5 *$7D01 LD A,(HL) ; $7D02 INC HL ; $7D03 CP $5E ; '^' is end of string. $7D05 JR Z,$7CBC ; $7D07 CP $2B ; '+' is an extended message. $7D09 JR Z,$7D10 ; $7D0B CALL $8925 ; $7D0E JR $7D01 ; @label=UpdateInv_A_6 *$7D10 BIT 6,(IX+$03) ; $7D14 JR NZ,$7CBC ; $7D16 LD A,($7C62) ; $7D19 XOR $01 ; $7D1B JR Z,$7CBC ; $7D1D LD ($7C62),A ; $7D20 LD C,$06 ; @label=UpdateInv_A_7 *$7D22 LD A,$16 ; $7D24 RST $10 ; $7D25 LD A,C ; $7D26 RST $10 ; $7D27 XOR A ; $7D28 RST $10 ; $7D29 INC C ; @label=UpdateInv_A_8 *$7D2A LD A,(HL) ; $7D2B INC HL ; $7D2C CP $5E ; $7D2E JR Z,$7CBC ; $7D30 CP $2B ; $7D32 JR Z,$7D22 ; $7D34 CALL $8925 ; $7D37 JR $7D2A ; @label=UpdateInv_A_9 *$7D39 POP HL ; $7D3A LD A,($DFCE) ; $7D3D XOR L ; $7D3E BIT 7,A ; $7D40 RET Z ; $7D41 LD A,($E003) ; $7D44 AND A ; $7D45 CALL Z,$5E42 ; $7D48 RET ; ; Routine at 7D49 ; ; Used by the routines at #R$7B0C, #R$7DC5 and #R$7E90. c$7D49 LD L,(IX+$02) ; $7D4C LD H,$00 ; $7D4E ADD HL,HL ; $7D4F ADD HL,HL ; $7D50 LD DE,$9037 ; $7D53 ADD HL,DE ; $7D54 PUSH HL ; $7D55 LD A,($DFD2) ; $7D58 BIT 0,A ; $7D5A JR NZ,$7D66 ; $7D5C LD DE,($DFC5) ; $7D60 LD A,(HL) ; $7D61 LD L,(IX+$01) ; $7D64 JR $7D6E ; *$7D66 LD DE,($DFC3) ; $7D6A LD A,(HL) ; $7D6B LD L,(IX+$00) ; *$7D6E LD H,$00 ; $7D70 RRA ; $7D71 ADC HL,HL ; $7D73 LD A,($DFD2) ; $7D76 BIT 1,A ; $7D78 JR Z,$7D7B ; $7D7A EX DE,HL ; *$7D7B AND A ; $7D7C SBC HL,DE ; $7D7E LD DE,$0020 ; $7D81 ADD HL,DE ; $7D82 ADD HL,HL ; $7D83 ADD HL,HL ; $7D84 LD C,L ; $7D85 POP HL ; $7D86 LD A,($DFD2) ; $7D89 RRCA ; $7D8A RRCA ; $7D8B XOR (HL) ; $7D8C AND $80 ; $7D8E JR Z,$7D9C ; $7D90 PUSH HL ; $7D91 PUSH BC ; $7D92 LD L,(IX+$02) ; $7D95 LD H,$00 ; $7D97 CALL $6D29 ; $7D9A POP BC ; $7D9B POP HL ; *$7D9C LD A,(HL) ; $7D9D AND $7F ; $7D9F RLA ; $7DA0 RLA ; $7DA1 NEG ; $7DA3 ADD A,C ; $7DA4 LD C,A ; $7DA5 DEC HL ; $7DA6 LD A,(HL) ; $7DA7 AND $7F ; $7DA9 LD B,A ; $7DAA LD A,$3B ; *$7DAC SUB $08 ; $7DAE DJNZ $7DAC ; $7DB0 LD B,A ; $7DB1 LD A,(IX+$02) ; $7DB4 CALL $6D23 ; $7DB7 JP $7C63 ; $7DBA NOP ; $7DBB NOP ; $7DBC LD L,(HL) ; $7DBD LD (BC),A ; $7DBE NOP ; $7DBF NOP ; $7DC0 LD (HL),H ; $7DC1 LD L,A ; $7DC2 LD (HL),D ; $7DC3 LD H,E ; $7DC4 LD E,(HL) ; ; Pick up. ; ; Used by the routine at #R$7B0C. @label=ObjectPickUp c$7DC5 LD A,($DFC9) ; Can't carry more than four objects $7DC8 CP $04 ; $7DCA RET NC ; $7DCB LD HL,($DFD7) ; $7DCE LD C,(HL) ; $7DCF INC HL ; $7DD0 LD B,(HL) ; $7DD1 LD IX,($DFE7) ; Get pointer holding address of first object laying around in area. $7DD5 LD DE,$FFFC ; Offset so we get the value from the address. $7DD8 ADD IX,DE ; @label=ObjectPickUp_0 *$7DDA LD L,(IX+$04) ; Get pointer to next object in link list. $7DDD LD H,(IX+$05) ; $7DE0 LD A,L ; Zero is end of link list. $7DE1 OR H ; $7DE2 RET Z ; $7DE3 LD ($9030),IX ; Remember current object. $7DE7 PUSH HL ; Get pointer to next object. $7DE8 POP IX ; $7DEA LD DE,($DFC5) ; See if hero is standing close enough to pick up. $7DEE LD L,(IX+$01) ; $7DF1 LD H,$00 ; $7DF3 ADD HL,HL ; $7DF4 EXX ; $7DF5 LD DE,($DFC3) ; $7DF9 LD L,(IX+$00) ; $7DFC LD H,$00 ; $7DFE ADD HL,HL ; $7DFF LD A,($DFD2) ; $7E02 BIT 0,A ; $7E04 JR Z,$7E07 ; $7E06 EXX ; @label=ObjectPickUp_1 *$7E07 LD A,$02 ; $7E09 LD BC,$0004 ; @label=ObjectPickUp_2 *$7E0C EX AF,AF' ; $7E0D CALL $6D05 ; $7E10 AND A ; $7E11 SBC HL,BC ; $7E13 JR NC,$7DDA ; Not close enough move onto next object in list. $7E15 EXX ; $7E16 LD BC,$0003 ; $7E19 EX AF,AF' ; $7E1A DEC A ; $7E1B JR NZ,$7E0C ; $7E1D LD E,(IX+$04) ; Get pointer to next object in list. $7E20 LD D,(IX+$05) ; $7E23 PUSH IX ; $7E25 LD A,(IX+$02) ; $7E28 CP $6F ; $7E2A JR NZ,$7E63 ; $7E2C LD IX,$DFC3 ; @label=ObjectPickUp_3 *$7E30 LD L,(IX+$04) ; $7E33 LD H,(IX+$05) ; $7E36 LD A,L ; $7E37 OR H ; $7E38 JR Z,$7E5F ; $7E3A PUSH HL ; $7E3B EX (SP),IX ; $7E3D LD A,(IX+$02) ; $7E40 CP $6F ; $7E42 JR Z,$7E47 ; $7E44 POP HL ; $7E45 JR $7E30 ; @label=ObjectPickUp_4 *$7E47 LD L,(IX+$04) ; $7E4A LD H,(IX+$05) ; $7E4D POP IX ; $7E4F LD (IX+$04),L ; $7E52 LD (IX+$05),H ; $7E55 LD HL,$DFC9 ; $7E58 DEC (HL) ; $7E59 LD IX,$7DBA ; $7E5D JR $7E63 ; @label=ObjectPickUp_5 *$7E5F POP IX ; $7E61 PUSH IX ; @label=ObjectPickUp_6 *$7E63 LD HL,($DFC7) ; Add object to top of inventory linked list. $7E66 LD (IX+$04),L ; $7E69 LD (IX+$05),H ; $7E6C LD ($DFC7),IX ; $7E70 LD IX,($9030) ; Make next object in area list become the first. $7E74 LD (IX+$04),E ; $7E77 LD (IX+$05),D ; $7E7A LD HL,$DFC9 ; Increase number of objects carried. $7E7D INC (HL) ; $7E7E XOR A ; $7E7F LD ($DFCA),A ; $7E82 LD DE,$0005 ; $7E85 LD HL,$0320 ; $7E88 CALL $03B5 ; Beep $7E8B POP IX ; $7E8D JP $7D49 ; ; Drop object ; ; Used by the routine at #R$7B0C. @label=ObjectDrop c$7E90 LD A,($DFC9) ; Cannot drop if carrying no items. $7E93 AND A ; $7E94 RET Z ; $7E95 LD DE,$0005 ; Beep $7E98 LD HL,$0190 ; $7E9B CALL $03B5 ; $7E9E LD IX,$DFC3 ; IX if offset so that we can get to the start of the inventory linked list. $7EA2 LD A,($DFCA) ; Get index of selected object. Run through the linked list until we get to the selected ; object. $7EA5 LD B,A ; $7EA6 INC B ; @label=ObjectDrop_0 *$7EA7 LD L,(IX+$04) ; $7EAA LD H,(IX+$05) ; $7EAD LD ($9030),IX ; Remember object before. $7EB1 PUSH HL ; $7EB2 POP IX ; $7EB4 DJNZ $7EA7 ; $7EB6 PUSH HL ; Ix nows points to the selected object. $7EB7 LD ($E00B),HL ; $7EBA LD E,(IX+$04) ; $7EBD LD D,(IX+$05) ; $7EC0 LD A,($DFDD) ; Are we in Cnoc Suil? $7EC3 CP $0D ; $7EC5 JR NZ,$7ECD ; $7EC7 BIT 6,(IX+$03) ; ... and is the 'Oracle' flag set? $7ECB JR NZ,$7F00 ; @label=ObjectDrop_1 *$7ECD LD HL,$E007 ; Not an oracle object. $7ED0 LD A,(HL) ; $7ED1 AND A ; $7ED2 JR Z,$7EEF ; $7ED4 CP (IX+$02) ; $7ED7 JR Z,$7EDE ; $7ED9 INC HL ; $7EDA SET 7,(HL) ; $7EDC JR $7EEF ; @label=ObjectDrop_2 *$7EDE LD (HL),$00 ; $7EE0 INC HL ; $7EE1 SET 6,(HL) ; $7EE3 LD HL,($E009) ; $7EE6 LD A,L ; $7EE7 OR H ; $7EE8 JR Z,$7EEF ; $7EEA POP BC ; $7EEB PUSH HL ; $7EEC PUSH HL ; $7EED POP IX ; @label=ObjectDrop_3 *$7EEF LD HL,($DFE7) ; $7EF2 LD A,(HL) ; $7EF3 LD (IX+$04),A ; $7EF6 INC HL ; $7EF7 LD A,(HL) ; $7EF8 LD (IX+$05),A ; $7EFB POP BC ; $7EFC PUSH BC ; $7EFD LD (HL),B ; $7EFE DEC HL ; $7EFF LD (HL),C ; @label=ObjectDrop_4 *$7F00 LD IX,($9030) ; $7F04 LD (IX+$04),E ; $7F07 LD (IX+$05),D ; $7F0A POP IX ; Put selected object onto path at players location. $7F0C LD HL,($DFC3) ; $7F0F SRL H ; $7F11 RR L ; $7F13 LD (IX+$00),L ; $7F16 LD HL,($DFC5) ; $7F19 SRL H ; $7F1B RR L ; $7F1D LD (IX+$01),L ; $7F20 LD HL,$DFC9 ; Decrease number of objects carried. $7F23 DEC (HL) ; $7F24 LD A,($DFDD) ; Are we in Cnoc Suil? $7F27 CP $0D ; $7F29 JP NZ,$7D49 ; $7F2C BIT 6,(IX+$03) ; ... and is the 'Oracle' flag set? $7F30 JP Z,$7D49 ; $7F33 PUSH IX ; Update inventory display. $7F35 LD A,$01 ; $7F37 CALL $7C64 ; $7F3A POP HL ; Find objects message and display on screen. $7F3B LD DE,$0006 ; $7F3E ADD HL,DE ; $7F3F LD A,$2B ; @label=ObjectDrop_5 *$7F41 CPIR ; $7F43 JR NZ,$7F41 ; $7F45 LD C,$06 ; @label=ObjectDrop_6 *$7F47 LD A,$16 ; $7F49 RST $10 ; $7F4A LD A,C ; $7F4B RST $10 ; $7F4C XOR A ; $7F4D RST $10 ; $7F4E INC C ; @label=ObjectDrop_7 *$7F4F LD A,(HL) ; $7F50 INC HL ; $7F51 CP $5E ; $7F53 RET Z ; $7F54 CP $2B ; $7F56 JR Z,$7F47 ; $7F58 CALL $8925 ; $7F5B JR $7F4F ; ; 'Select' key pressed. ; ; Used by the routine at #R$7B0C. @label=HandleSelectInput c$7F5D LD A,($DFC9) ; Get number of items carried $7F60 AND A ; Do nothing if no items carried. $7F61 RET Z ; $7F62 LD B,A ; $7F63 LD A,($DFCA) ; Move selection onto next item, wrapping round if max reached. $7F66 INC A ; $7F67 CP B ; $7F68 JR C,$7F6B ; $7F6A XOR A ; @label=HandleSelectInput_0 *$7F6B LD ($DFCA),A ; $7F6E CALL $7C63 ; $7F71 RET ; ; Direction of each frame for hero. (1 right, 2 left). @label=HeroFrameDir b$7F72 DEFB $00,$01,$01,$01,$01,$01,$01,$01 $7F7A DEFB $01,$01,$01,$01 ; Data block at 7F7E b$7F7E DEFB $01,$01,$01,$01,$01,$01,$03,$03 $7F86 DEFB $01 ; Data block at 7F87 b$7F87 DEFB $00,$1F,$20,$21,$22,$23,$24,$25 $7F8F DEFB $1F,$20,$21,$22,$23,$24,$25,$26 $7F97 DEFB $26,$26,$27,$27,$28,$00,$01,$01 $7F9F DEFB $01,$01,$01,$01,$01,$01,$03,$01 ; Copy background into hero's background store and draw correct frame for hero. ; ; Used by the routine at #R$7B0C. @label=HeroDraw() c$7FA7 LD A,($DFBF) ; ; This entry point is used by the routine at #R$7B0C. @label=HeroDraw(a) *$7FAA LD ($DFBF),A ; $7FAD CALL $5E36 ; $7FB0 CALL $859A ; $7FB3 LD A,($DFBF) ; $7FB6 AND A ; $7FB7 RET Z ; $7FB8 LD DE,$5B00 ; $7FBB LD A,($DFBF) ; $7FBE LD ($DFBF),A ; $7FC1 CP $14 ; $7FC3 JR NZ,$8006 ; $7FC5 LD HL,$F78C ; $7FC8 LD A,($DFD4) ; $7FCB LD ($DFC0),A ; $7FCE CP $02 ; $7FD0 JR Z,$7FD3 ; $7FD2 INC HL ; @label=HeroDraw()_0 *$7FD3 LD A,$18 ; @label=HeroDraw()_1 *$7FD5 LDI ; $7FD7 LDI ; $7FD9 LDI ; $7FDB LDI ; $7FDD LDI ; $7FDF LD BC,$001D ; $7FE2 ADD HL,BC ; $7FE3 DEC A ; $7FE4 JR NZ,$7FD5 ; $7FE6 LD A,($DFD4) ; $7FE9 CP $02 ; $7FEB JR Z,$7FF0 ; $7FED DEC HL ; $7FEE JR $7FF1 ; @label=HeroDraw()_2 *$7FF0 INC HL ; @label=HeroDraw()_3 *$7FF1 LD A,$18 ; @label=HeroDraw()_4 *$7FF3 LDI ; $7FF5 LDI ; $7FF7 LDI ; $7FF9 LDI ; $7FFB LDI ; $7FFD LD BC,$001D ; $8000 ADD HL,BC ; $8001 DEC A ; $8002 JR NZ,$7FF3 ; $8004 JR $801A ; @label=HeroDraw()_5 *$8006 LD HL,$F67D ; $8009 LD A,$38 ; @label=HeroDraw()_6 *$800B LDI ; $800D LDI ; $800F LDI ; $8011 LDI ; $8013 LD BC,$001E ; $8016 ADD HL,BC ; $8017 DEC A ; $8018 JR NZ,$800B ; @label=HeroDraw()_7 *$801A LD DE,($DFBF) ; $801E LD D,$00 ; $8020 LD HL,$7F72 ; $8023 ADD HL,DE ; $8024 LD A,($DFD4) ; $8027 AND (HL) ; $8028 JR NZ,$8032 ; $802A LD A,(HL) ; $802B XOR $03 ; $802D LD (HL),A ; $802E EX DE,HL ; $802F CALL $6D29 ; @label=HeroDraw()_8 *$8032 LD DE,($DFBF) ; $8036 LD D,$00 ; $8038 LD HL,$7F87 ; $803B ADD HL,DE ; $803C LD E,(HL) ; $803D PUSH DE ; $803E LD HL,$7F7E ; $8041 ADD HL,DE ; $8042 LD A,($DFD4) ; $8045 AND (HL) ; $8046 JR NZ,$8050 ; $8048 LD A,(HL) ; $8049 XOR $03 ; $804B LD (HL),A ; $804C EX DE,HL ; $804D CALL $6D29 ; @label=HeroDraw()_9 *$8050 LD HL,($DFBF) ; $8053 LD H,$00 ; $8055 ADD HL,HL ; $8056 ADD HL,HL ; $8057 LD DE,$9034 ; $805A ADD HL,DE ; $805B LD C,(HL) ; $805C INC HL ; $805D LD B,(HL) ; $805E LD HL,$9436 ; $8061 ADD HL,BC ; $8062 LD ($9030),HL ; $8065 POP HL ; $8066 ADD HL,HL ; $8067 ADD HL,HL ; $8068 ADD HL,DE ; $8069 LD E,(HL) ; $806A INC HL ; $806B LD D,(HL) ; $806C INC HL ; $806D LD A,(HL) ; $806E AND $7F ; $8070 RLA ; $8071 RLA ; $8072 RLA ; $8073 LD ($9032),A ; $8076 INC HL ; $8077 LD A,(HL) ; $8078 AND $7F ; $807A LD ($9033),A ; $807D LD HL,$9436 ; $8080 ADD HL,DE ; $8081 EX DE,HL ; $8082 LD HL,$F78C ; $8085 LD A,($DFBF) ; $8088 CP $14 ; $808A JR Z,$8097 ; $808C LD HL,$F67D ; $808F LD A,($9033) ; $8092 CP $02 ; $8094 JR NZ,$8097 ; $8096 INC HL ; @label=HeroDraw()_10 *$8097 LD BC,$B6DD ; $809A LD A,($DFCB) ; $809D CP $6E ; $809F JR NZ,$80AB ; $80A1 LD A,($DFCE) ; $80A4 BIT 3,A ; $80A6 JR NZ,$80AB ; $80A8 LD BC,$0000 ; @label=HeroDraw()_11 *$80AB LD ($80BC),BC ; $80AF LD IX,($9030) ; $80B3 LD BC,($9032) ; @label=HeroDraw()_12 *$80B7 PUSH BC ; $80B8 PUSH HL ; @label=HeroDraw()_13 *$80B9 LD A,(DE) ; $80BA CPL ; $80BB AND (HL) ; $80BC OR (IX+$00) ; $80BF LD (HL),A ; $80C0 INC HL ; $80C1 INC DE ; $80C2 INC IX ; $80C4 DJNZ $80B9 ; $80C6 POP HL ; $80C7 LD BC,$0022 ; $80CA ADD HL,BC ; $80CB POP BC ; $80CC DEC C ; $80CD JR NZ,$80B7 ; $80CF RET ; ; Updates bitmaps behind hero and sidhe. ; ; Used by the routine at #R$7B0C. @label=BgUpdate c$80D0 LD HL,$5B00 ; $80D3 LD A,($DFBF) ; $80D6 AND A ; $80D7 JP Z,$8136 ; $80DA CP $14 ; $80DC JR NZ,$8120 ; $80DE LD DE,$F78C ; Get correct part of offscreen for wide sprite (attacking frame). $80E1 LD A,($DFC0) ; $80E4 CP $02 ; $80E6 JR Z,$80E9 ; $80E8 INC DE ; @label=BgUpdate_0 *$80E9 LD A,$18 ; @label=BgUpdate_1 *$80EB LDI ; $80ED LDI ; $80EF LDI ; $80F1 LDI ; $80F3 LDI ; $80F5 EX DE,HL ; $80F6 LD BC,$001D ; $80F9 ADD HL,BC ; $80FA EX DE,HL ; $80FB DEC A ; $80FC JR NZ,$80EB ; $80FE LD A,($DFC0) ; $8101 CP $02 ; $8103 JR Z,$8108 ; $8105 DEC DE ; $8106 JR $8109 ; @label=BgUpdate_2 *$8108 INC DE ; @label=BgUpdate_3 *$8109 LD A,$18 ; @label=BgUpdate_4 *$810B LDI ; $810D LDI ; $810F LDI ; $8111 LDI ; $8113 LDI ; $8115 LD BC,$001D ; $8118 EX DE,HL ; $8119 ADD HL,BC ; $811A EX DE,HL ; $811B DEC A ; $811C JR NZ,$810B ; $811E JR $8136 ; @label=BgUpdate_5 *$8120 LD DE,$F67D ; $8123 LD A,$38 ; @label=BgUpdate_6 *$8125 LDI ; $8127 LDI ; $8129 LDI ; $812B LDI ; $812D LD BC,$001E ; $8130 EX DE,HL ; $8131 ADD HL,BC ; $8132 EX DE,HL ; $8133 DEC A ; $8134 JR NZ,$8125 ; @label=BgUpdate_7 *$8136 CALL $8798 ; $8139 JP $5E39 ; ; Routine at 813C ; ; Used by the routine at #R$8456. c$813C PUSH DE ; $813D LD A,(IX+$00) ; $8140 AND A ; $8141 JR Z,$814B ; $8143 LD A,($DFDD) ; $8146 CP (IX+$00) ; $8149 JR NZ,$815F ; *$814B LD L,(IX+$01) ; $814E LD H,$00 ; $8150 ADD HL,HL ; $8151 AND A ; $8152 SBC HL,DE ; $8154 JR NC,$8167 ; $8156 LD DE,$0004 ; $8159 AND A ; $815A ADC HL,DE ; $815C JP P,$8171 ; *$815F LD DE,$0004 ; $8162 ADD IX,DE ; $8164 POP DE ; $8165 JR $813C ; *$8167 LD DE,$0005 ; $816A SBC HL,DE ; $816C JR C,$8171 ; $816E POP DE ; $816F SCF ; $8170 RET ; *$8171 LD L,(IX+$02) ; $8174 LD H,$00 ; $8176 ADD HL,HL ; $8177 SCF ; $8178 SBC HL,BC ; $817A JR NC,$815F ; $817C LD L,(IX+$03) ; $817F LD H,$00 ; $8181 ADD HL,HL ; $8182 AND A ; $8183 SBC HL,BC ; $8185 JR C,$815F ; $8187 POP DE ; $8188 AND A ; $8189 RET ; ; Data block at 818A b$818A DEFB $00,$00,$00,$00 ; Routine at 818E ; ; Used by the routine at #R$8456. c$818E PUSH IX ; $8190 LD IX,($DFEA) ; $8194 BIT 0,A ; $8196 JR Z,$81A7 ; $8198 LD HL,($DFC3) ; $819B LD C,(IX+$05) ; $819E LD B,(IX+$06) ; $81A1 LD DE,($DFE3) ; $81A5 JR $81B4 ; *$81A7 LD HL,($DFC5) ; $81AA LD C,(IX+$07) ; $81AD LD B,(IX+$08) ; $81B0 LD DE,($DFE5) ; *$81B4 AND A ; $81B5 SBC HL,BC ; $81B7 BIT 7,A ; $81B9 JR Z,$81BC ; $81BB CCF ; *$81BC POP IX ; $81BE JR C,$81CB ; $81C0 LD L,(IX+$03) ; $81C3 LD A,$E9 ; $81C5 CP L ; $81C6 JR NC,$81D4 ; $81C8 LD L,A ; $81C9 JR $81D4 ; *$81CB LD L,(IX+$02) ; $81CE LD A,$17 ; $81D0 CP L ; $81D1 JR C,$81D4 ; $81D3 LD L,A ; *$81D4 LD H,$00 ; $81D6 ADD HL,HL ; $81D7 EX DE,HL ; $81D8 EXX ; $81D9 LD L,(IX+$01) ; $81DC LD H,$00 ; $81DE ADD HL,HL ; $81DF EX DE,HL ; $81E0 LD BC,$0004 ; $81E3 EXX ; $81E4 PUSH HL ; $81E5 POP IX ; $81E7 LD HL,$0000 ; $81EA LD ($818A),HL ; $81ED LD L,E ; $81EE LD H,D ; $81EF AND A ; $81F0 SBC HL,BC ; $81F2 JR NC,$81FB ; $81F4 LD A,L ; $81F5 CPL ; $81F6 LD L,A ; $81F7 LD A,H ; $81F8 CPL ; $81F9 LD H,A ; $81FA INC HL ; *$81FB LD ($818C),HL ; *$81FE LD A,(IX+$00) ; $8201 AND A ; $8202 JR Z,$820C ; $8204 LD A,($DFDD) ; $8207 CP (IX+$00) ; $820A JR NZ,$821D ; *$820C LD L,(IX+$01) ; $820F LD H,$00 ; $8211 ADD HL,HL ; $8212 AND A ; $8213 SBC HL,DE ; $8215 JR NC,$8223 ; $8217 ADD HL,DE ; $8218 AND A ; $8219 SBC HL,BC ; $821B JR NC,$8230 ; *$821D EXX ; *$821E ADD IX,BC ; $8220 EXX ; $8221 JR $81FE ; *$8223 ADD HL,DE ; $8224 AND A ; $8225 SBC HL,BC ; $8227 JR NC,$8266 ; $8229 LD A,L ; $822A CPL ; $822B LD L,A ; $822C LD A,H ; $822D CPL ; $822E LD H,A ; $822F INC HL ; *$8230 LD A,H ; $8231 AND A ; $8232 JR NZ,$8239 ; $8234 LD A,L ; $8235 CP $05 ; $8237 JR C,$821D ; *$8239 EXX ; $823A LD L,(IX+$02) ; $823D LD H,$00 ; $823F ADD HL,HL ; $8240 SCF ; $8241 SBC HL,DE ; $8243 JR NC,$821E ; $8245 LD L,(IX+$03) ; $8248 LD H,$00 ; $824A ADD HL,HL ; $824B AND A ; $824C SBC HL,DE ; $824E JR C,$821E ; $8250 EXX ; $8251 PUSH DE ; $8252 EX DE,HL ; $8253 LD HL,($818C) ; $8256 AND A ; $8257 SBC HL,DE ; $8259 EX DE,HL ; $825A POP DE ; $825B JR C,$821D ; $825D LD ($818C),HL ; $8260 LD ($818A),IX ; $8264 JR $821D ; *$8266 LD HL,($818A) ; $8269 LD A,L ; $826A OR H ; $826B RET NZ ; $826C SCF ; $826D RET ; ; Routine at 826E ; ; Used by the routine at #R$82F1. c$826E LD A,($DFBD) ; $8271 CP $14 ; $8273 RET NZ ; $8274 LD A,($DFCF) ; $8277 CP $02 ; $8279 RET C ; $827A LD HL,($DFD7) ; $827D LD E,(IX+$12) ; $8280 LD D,(IX+$13) ; $8283 AND A ; $8284 SBC HL,DE ; $8286 RET NZ ; $8287 LD A,($DFD2) ; $828A BIT 0,A ; $828C JR NZ,$8299 ; $828E LD HL,($DFC5) ; $8291 LD E,(IX+$07) ; $8294 LD D,(IX+$08) ; $8297 JR $82A2 ; *$8299 LD HL,($DFC3) ; $829C LD E,(IX+$05) ; $829F LD D,(IX+$06) ; *$82A2 LD BC,$0008 ; $82A5 BIT 1,A ; $82A7 JR Z,$82AC ; $82A9 LD BC,$FFF8 ; *$82AC LD A,($DFD4) ; $82AF CP $02 ; $82B1 JR NZ,$82B8 ; $82B3 AND A ; $82B4 SBC HL,BC ; $82B6 JR $82B9 ; *$82B8 ADD HL,BC ; *$82B9 CALL $6D05 ; $82BC LD DE,$0003 ; $82BF AND A ; $82C0 SBC HL,DE ; $82C2 RET NC ; $82C3 LD (IX+$0F),$1E ; $82C7 POP HL ; $82C8 POP HL ; $82C9 POP HL ; $82CA RET ; ; Routine at 82CB ; ; Used by the routine at #R$8456. c$82CB BIT 0,A ; $82CD JR Z,$82E0 ; $82CF LD E,(IX+$07) ; $82D2 LD D,(IX+$08) ; $82D5 LD C,(IX+$05) ; $82D8 LD B,(IX+$06) ; $82DB LD IX,($DFE5) ; $82DF RET ; *$82E0 LD E,(IX+$05) ; $82E3 LD D,(IX+$06) ; $82E6 LD C,(IX+$07) ; $82E9 LD B,(IX+$08) ; $82EC LD IX,($DFE3) ; $82F0 RET ; ; Routine at 82F1 @label=SidheMove_DataFrame b$82F1 DEFB $00 ; Frame counter (0 or 1). Sidhe moves when 1. $82F2 DEFB $00,$00,$00,$00 ; This entry point is used by the routines at #R$7B0C and #R$859A. ; ; Used by the routines at #R$7B0C and #R$859A. @label=SideMove c$82F6 LD A,($82F1) ; Only handle every other frame. $82F9 XOR $01 ; $82FB LD ($82F1),A ; $82FE RET Z ; $82FF LD IX,($DFEA) ; $8303 LD A,(IX+$0F) ; $8306 AND A ; $8307 JR Z,$830D ; $8309 DEC (IX+$0F) ; $830C RET ; @label=SidheMove_DataFrame_0 *$830D LD A,(IX+$0A) ; Decrease moves left. If zero then check to see where to move next. $8310 AND A ; $8311 JP Z,$8414 ; $8314 DEC (IX+$0A) ; $8317 INC (IX+$0C) ; $831A LD A,(IX+$0B) ; $831D INC A ; $831E CP $BB ; $8320 JR C,$8324 ; $8322 LD A,$B4 ; @label=SidheMove_DataFrame_1 *$8324 LD (IX+$0B),A ; $8327 LD A,(IX+$02) ; Get direction. $832A BIT 0,A ; $832C JR Z,$8336 ; $832E LD E,(IX+$07) ; Get E/W position $8331 LD D,(IX+$08) ; $8334 JR $833C ; @label=SidheMove_DataFrame_2 *$8336 LD E,(IX+$05) ; Get N/S position $8339 LD D,(IX+$06) ; ; Move in the correct direction. @label=SidheMove_DataFrame_3 *$833C CP $00 ; Moving north? $833E JR Z,$8347 ; $8340 CP $03 ; Moving west? $8342 JR Z,$8347 ; $8344 INC DE ; $8345 JR $8348 ; @label=SidheMove_DataFrame_4 *$8347 DEC DE ; @label=SidheMove_DataFrame_5 *$8348 BIT 0,A ; Test compass for N/E $834A JR Z,$8354 ; $834C LD (IX+$07),E ; $834F LD (IX+$08),D ; $8352 JR $835A ; @label=SidheMove_DataFrame_6 *$8354 LD (IX+$05),E ; $8357 LD (IX+$06),D ; ; N @label=SidheMove_DataFrame_7 *$835A LD A,($E003) ; $835D AND A ; $835E RET NZ ; $835F LD A,(IX+$0E) ; $8362 AND A ; $8363 JR Z,$8399 ; $8365 LD L,(IX+$05) ; $8368 LD H,(IX+$06) ; $836B LD DE,$00B4 ; $836E AND A ; $836F SBC HL,DE ; $8371 RET NZ ; $8372 LD L,(IX+$07) ; $8375 LD H,(IX+$08) ; $8378 LD DE,$0180 ; $837B AND A ; $837C SBC HL,DE ; $837E RET NZ ; $837F XOR A ; $8380 LD (IX+$0E),A ; $8383 LD (IX+$0A),A ; $8386 LD HL,$00B6 ; $8389 LD (IX+$05),L ; $838C LD (IX+$06),H ; $838F LD HL,$00B8 ; $8392 LD (IX+$07),L ; $8395 LD (IX+$08),H ; $8398 RET ; @label=SidheMove_Near *$8399 LD HL,($DFC3) ; See if the sidhe is with $14 units of the man. $839C LD E,(IX+$05) ; $839F LD D,(IX+$06) ; $83A2 CALL $6D05 ; $83A5 LD BC,$0014 ; $83A8 AND A ; $83A9 SBC HL,BC ; $83AB JR NC,$840F ; $83AD ADD HL,BC ; $83AE PUSH HL ; $83AF LD HL,($DFC5) ; Check again with the E/W position. $83B2 LD E,(IX+$07) ; $83B5 LD D,(IX+$08) ; $83B8 CALL $6D05 ; $83BB POP DE ; $83BC AND A ; $83BD SBC HL,BC ; $83BF JR NC,$840F ; $83C1 ADD HL,BC ; $83C2 PUSH HL ; $83C3 PUSH DE ; $83C4 LD A,(IX+$0D) ; See if the warning message has already been displayed. $83C7 AND A ; $83C8 JR NZ,$83D8 ; $83CA LD (IX+$0D),$01 ; If not display it and set the flag. $83CE CALL $8931 ; ; Data block at 83D1 b$83D1 DEFM "sidhe!" $83D7 DEFB $5E ; Routine at 83D8 ; ; Used by the routine at #R$82F6. @label=SidheMove_DataFrame_8 c$83D8 CALL $826E ; $83DB POP DE ; $83DC POP HL ; $83DD LD BC,$0006 ; $83E0 AND A ; $83E1 SBC HL,BC ; $83E3 RET NC ; $83E4 EX DE,HL ; $83E5 AND A ; $83E6 SBC HL,BC ; $83E8 RET NC ; $83E9 LD A,($DFDD) ; $83EC CP $03 ; $83EE JR NZ,$8400 ; $83F0 LD A,($DFCE) ; $83F3 BIT 5,A ; $83F5 JR Z,$8400 ; $83F7 LD (IX+$0E),$01 ; $83FB CALL $8931 ; $83FE LD E,(HL) ; $83FF RET ; @label=SidheMove_DataFrame_9 *$8400 LD A,($E004) ; $8403 AND A ; $8404 RET NZ ; $8405 LD A,$01 ; $8407 LD ($E003),A ; $840A XOR A ; $840B LD ($E005),A ; $840E RET ; ; This entry point is used by the routine at #R$82F6. @label=SidheMove_Exit *$840F LD (IX+$0D),$00 ; Clear message flag $8413 RET ; ; This entry point is used by the routine at #R$82F6. @label=SidheMove_WhatNext *$8414 LD A,(IX+$0E) ; Decide what to do next $8417 AND A ; $8418 JR Z,$8456 ; $841A LD HL,($DFC3) ; $841D PUSH HL ; $841E LD HL,($DFC5) ; $8421 PUSH HL ; $8422 LD HL,($DFDA) ; $8425 PUSH HL ; $8426 LD A,($DFDC) ; $8429 PUSH AF ; $842A LD HL,$00B4 ; $842D LD ($DFC3),HL ; $8430 LD HL,$0180 ; $8433 LD ($DFC5),HL ; $8436 LD HL,($E00D) ; $8439 LD ($DFDA),HL ; $843C LD A,($E00F) ; $843F LD ($DFDC),A ; $8442 CALL $8456 ; $8445 POP AF ; $8446 LD ($DFDC),A ; $8449 POP HL ; $844A LD ($DFDA),HL ; $844D POP HL ; $844E LD ($DFC5),HL ; $8451 POP HL ; $8452 LD ($DFC3),HL ; $8455 RET ; ; Routine at 8456 ; ; Used by the routine at #R$82F1. c$8456 LD A,($DFDC) ; $8459 CALL $82CB ; $845C LD HL,$0000 ; $845F LD ($82F2),HL ; $8462 CALL $813C ; $8465 JP C,$84EE ; $8468 LD ($82F2),IX ; $846C PUSH IX ; $846E POP DE ; $846F LD HL,($DFDA) ; $8472 AND A ; $8473 SBC HL,DE ; $8475 JR NZ,$84EE ; $8477 LD A,($DFDC) ; $847A CALL $818E ; $847D LD HL,($818C) ; $8480 LD DE,$0003 ; $8483 AND A ; $8484 SBC HL,DE ; $8486 JR C,$84EE ; *$8488 LD IX,($82F2) ; $848C LD A,($DFDC) ; $848F LD B,$00 ; $8491 LD C,$03 ; *$8493 LD L,(IX+$01) ; $8496 LD H,$00 ; $8498 ADD HL,HL ; $8499 PUSH IX ; $849B POP DE ; $849C LD IX,($DFEA) ; $84A0 LD (IX+$12),E ; $84A3 LD (IX+$13),D ; $84A6 BIT 0,A ; $84A8 JR Z,$84BC ; $84AA LD (IX+$07),L ; $84AD LD (IX+$08),H ; $84B0 LD E,(IX+$05) ; $84B3 LD D,(IX+$06) ; $84B6 LD HL,($DFC3) ; $84B9 LD A,B ; $84BA JR $84CC ; *$84BC LD (IX+$05),L ; $84BF LD (IX+$06),H ; $84C2 LD E,(IX+$07) ; $84C5 LD D,(IX+$08) ; $84C8 LD HL,($DFC5) ; $84CB LD A,C ; *$84CC AND A ; $84CD SBC HL,DE ; $84CF JR C,$84D3 ; $84D1 XOR $02 ; *$84D3 LD (IX+$02),A ; $84D6 LD HL,($818C) ; $84D9 BIT 7,H ; $84DB JR Z,$84E4 ; $84DD LD A,L ; $84DE CPL ; $84DF LD L,A ; $84E0 LD A,H ; $84E1 CPL ; $84E2 LD H,A ; $84E3 INC HL ; *$84E4 LD A,L ; $84E5 AND A ; $84E6 JR NZ,$84EA ; $84E8 LD A,$FF ; *$84EA LD (IX+$0A),A ; $84ED RET ; *$84EE LD IX,($DFEA) ; $84F2 LD A,($DFDC) ; $84F5 XOR $01 ; $84F7 CALL $82CB ; $84FA LD HL,$0000 ; $84FD LD ($82F4),HL ; $8500 CALL $813C ; $8503 JR C,$8523 ; $8505 LD ($82F4),IX ; $8509 LD A,($DFDC) ; $850C XOR $01 ; $850E CALL $818E ; $8511 JR C,$8523 ; $8513 LD IX,($82F4) ; $8517 LD A,($DFDC) ; $851A XOR $01 ; $851C LD B,$00 ; $851E LD C,$03 ; $8520 JP $8493 ; *$8523 LD HL,($82F2) ; $8526 LD A,L ; $8527 OR H ; $8528 JR Z,$857A ; $852A LD IX,($82F2) ; $852E LD A,($DFDC) ; $8531 CALL $818E ; $8534 JP NC,$8488 ; $8537 LD HL,($82F2) ; $853A LD IX,($DFEA) ; $853E LD E,(IX+$12) ; $8541 LD D,(IX+$13) ; $8544 AND A ; $8545 SBC HL,DE ; $8547 JR Z,$8565 ; *$8549 LD IX,($82F2) ; $854D LD A,($DFDC) ; $8550 OR $80 ; $8552 CALL $818E ; $8555 JR C,$857A ; $8557 LD IX,($82F2) ; $855B LD A,($DFDC) ; $855E LD B,$02 ; $8560 LD C,$01 ; $8562 JP $8493 ; *$8565 LD HL,($82F4) ; $8568 LD A,L ; $8569 OR H ; $856A JR Z,$8549 ; $856C LD IX,($DFEA) ; $8570 LD E,(IX+$12) ; $8573 LD D,(IX+$13) ; $8576 SBC HL,DE ; $8578 JR Z,$8549 ; *$857A LD IX,($82F4) ; $857E LD A,($DFDC) ; $8581 XOR $01 ; $8583 OR $80 ; $8585 CALL $818E ; $8588 JR C,$8549 ; $858A LD IX,($82F4) ; $858E LD A,($DFDC) ; $8591 XOR $01 ; $8593 LD B,$02 ; $8595 LD C,$01 ; $8597 JP $8493 ; ; Update Sidhe ; ; Used by the routines at #R$7B0C and #R$7FA7. @label=SidheUpdate c$859A LD HL,($DFEA) ; $859D LD A,L ; $859E OR H ; $859F RET Z ; $85A0 PUSH HL ; $85A1 CALL $82F6 ; $85A4 POP IX ; $85A6 LD A,(IX+$0F) ; $85A9 AND A ; $85AA RET NZ ; $85AB LD A,($DFD2) ; $85AE XOR (IX+$02) ; $85B1 BIT 0,A ; $85B3 RET Z ; $85B4 LD HL,($DFC5) ; $85B7 LD E,(IX+$07) ; $85BA LD D,(IX+$08) ; $85BD EXX ; $85BE LD HL,($DFC3) ; $85C1 LD E,(IX+$05) ; $85C4 LD D,(IX+$06) ; $85C7 BIT 0,(IX+$02) ; $85CB JR NZ,$85CE ; $85CD EXX ; @label=SidheUpdate_0 *$85CE AND A ; $85CF SBC HL,DE ; $85D1 RET NZ ; $85D2 EXX ; $85D3 CALL $6D05 ; $85D6 LD DE,$0024 ; $85D9 AND A ; $85DA SBC HL,DE ; $85DC RET NC ; $85DD CALL $85E4 ; $85E0 RET ; ; Baddy Sprite Blit @label=SpriteBlit_DataWidth b$85E1 DEFW $0000 @label=SpriteBlit_Data2 $85E3 DEFB $00 ; This entry point is used by the routines at #R$7B0C, #R$859A, #R$87BF and #R$88C7. ; ; Used by the routines at #R$7B0C, #R$859A, #R$87BF and #R$88C7. @label=SpriteBlit c$85E4 PUSH IX ; Store sprite data pointer $85E6 LD L,(IX+$0B) ; Index to bitmap data. data_width+(i*4) $85E9 LD H,$00 ; $85EB ADD HL,HL ; $85EC ADD HL,HL ; $85ED LD DE,$9037 ; $85F0 ADD HL,DE ; $85F1 LD A,(IX+$04) ; $85F4 AND A ; $85F5 JR Z,$8606 ; $85F7 LD A,$AE ; $85F9 LD ($872D),A ; $85FC LD ($876A),A ; $85FF LD A,$A9 ; $8601 LD ($8784),A ; $8604 JR $862C ; @label=SpriteBlit_DataWidth_0 *$8606 LD A,$B6 ; $8608 LD ($872D),A ; $860B LD ($876A),A ; $860E LD A,$B1 ; $8610 LD ($8784),A ; $8613 LD A,($DFD2) ; $8616 SUB (IX+$02) ; $8619 AND $03 ; $861B SUB $02 ; $861D XOR (HL) ; $861E AND $80 ; $8620 JR Z,$862C ; $8622 PUSH HL ; $8623 LD L,(IX+$0B) ; $8626 LD H,$00 ; $8628 CALL $6D29 ; $862B POP HL ; @label=SpriteBlit_DataWidth_1 *$862C LD A,(HL) ; Get bitmap width $862D AND $7F ; $862F LD ($9033),A ; $8632 LD E,A ; $8633 LD D,$00 ; $8635 LD ($85E1),DE ; $8639 DEC HL ; Get bitmap height $863A LD A,(HL) ; $863B AND $7F ; $863D LD ($9032),A ; $8640 DEC HL ; Get bitmap offset. $9436+(offset) $8641 LD D,(HL) ; $8642 DEC HL ; $8643 LD E,(HL) ; $8644 LD HL,$9436 ; $8647 ADD HL,DE ; $8648 PUSH HL ; $8649 LD A,($DFD2) ; $864C BIT 0,A ; $864E JR Z,$865B ; $8650 LD HL,($DFC3) ; Camera is E/W $8653 LD E,(IX+$05) ; $8656 LD D,(IX+$06) ; $8659 JR $8664 ; @label=SpriteBlit_DataWidth_2 *$865B LD HL,($DFC5) ; Camera is N/S $865E LD E,(IX+$07) ; $8661 LD D,(IX+$08) ; @label=SpriteBlit_DataWidth_3 *$8664 BIT 1,A ; Test camera for N/E or S/W $8666 JR NZ,$8669 ; $8668 EX DE,HL ; Camera is S/W @label=SpriteBlit_DataWidth_4 *$8669 AND A ; $866A SBC HL,DE ; $866C LD DE,$0020 ; $866F ADD HL,DE ; $8670 LD DE,($85E1) ; $8674 AND A ; $8675 SBC HL,DE ; $8677 JP P,$869A ; $867A LD A,$01 ; $867C LD ($85E3),A ; $867F LD E,L ; $8680 LD D,H ; $8681 LD A,L ; $8682 CPL ; $8683 LD C,A ; $8684 LD A,H ; $8685 CPL ; $8686 LD B,A ; $8687 INC BC ; $8688 INC BC ; $8689 SRA B ; $868B RR C ; $868D POP HL ; $868E ADD HL,BC ; $868F PUSH HL ; $8690 LD A,($9033) ; $8693 SUB C ; $8694 LD ($9033),A ; $8697 XOR A ; $8698 JR $86C4 ; @label=SpriteBlit_DataWidth_5 *$869A XOR A ; $869B LD ($85E3),A ; $869E LD E,L ; $869F LD D,H ; $86A0 SRA H ; $86A2 RR L ; $86A4 LD BC,$0020 ; $86A7 AND A ; $86A8 SBC HL,BC ; $86AA LD BC,($85E1) ; $86AE AND A ; $86AF ADC HL,BC ; $86B1 JP M,$86C0 ; $86B4 LD A,($9033) ; $86B7 SUB L ; $86B8 LD ($9033),A ; $86BB LD A,$02 ; $86BD LD ($85E3),A ; @label=SpriteBlit_DataWidth_6 *$86C0 LD A,E ; $86C1 AND $FE ; $86C3 RRA ; @label=SpriteBlit_DataWidth_7 *$86C4 LD L,(IX+$09) ; $86C7 LD H,$00 ; $86C9 ADD HL,HL ; $86CA LD C,L ; $86CB LD B,H ; $86CC ADD HL,HL ; $86CD ADD HL,HL ; $86CE ADD HL,HL ; $86CF ADD HL,HL ; $86D0 ADD HL,BC ; $86D1 LD C,A ; $86D2 LD B,$00 ; $86D4 ADD HL,BC ; $86D5 LD BC,$F609 ; $86D8 ADD HL,BC ; $86D9 LD A,(IX+$04) ; $86DC AND A ; $86DD JR NZ,$8716 ; $86DF PUSH DE ; $86E0 LD ($F536),HL ; $86E3 LD A,($9033) ; $86E6 LD C,A ; $86E7 BIT 0,E ; $86E9 JR Z,$86F3 ; $86EB LD A,($85E3) ; $86EE BIT 1,A ; $86F0 JR NZ,$86F3 ; $86F2 INC C ; @label=SpriteBlit_DataWidth_8 *$86F3 LD A,($9032) ; $86F6 RLA ; $86F7 RLA ; $86F8 RLA ; $86F9 AND $F8 ; $86FB LD B,A ; $86FC LD ($F538),BC ; $8700 LD DE,$F53A ; $8703 LD B,$00 ; @label=SpriteBlit_DataWidth_9 *$8705 PUSH BC ; $8706 PUSH HL ; $8707 LDIR ; $8709 POP HL ; $870A LD BC,$0022 ; $870D ADD HL,BC ; $870E POP BC ; $870F DEC A ; $8710 JR NZ,$8705 ; $8712 LD HL,($F536) ; $8715 POP DE ; @label=SpriteBlit_DataWidth_10 *$8716 BIT 0,E ; $8718 JP NZ,$8745 ; $871B LD A,($9032) ; $871E RLA ; $871F RLA ; $8720 RLA ; $8721 AND $F8 ; $8723 LD C,A ; $8724 LD A,($9033) ; $8727 LD B,A ; $8728 POP DE ; @label=SpriteBlit_DataWidth_11 *$8729 PUSH BC ; $872A PUSH HL ; $872B PUSH DE ; @label=SpriteBlit_DataWidth_12 *$872C LD A,(DE) ; $872D OR (HL) ; $872E LD (HL),A ; $872F INC HL ; $8730 INC DE ; $8731 DJNZ $872C ; $8733 POP DE ; $8734 LD HL,($85E1) ; $8737 ADD HL,DE ; $8738 EX DE,HL ; $8739 POP HL ; $873A LD BC,$0022 ; $873D ADD HL,BC ; $873E POP BC ; $873F DEC C ; $8740 JR NZ,$8729 ; $8742 POP IX ; $8744 RET ; @label=SpriteBlit_DataWidth_13 *$8745 LD A,($9032) ; $8748 RLA ; $8749 RLA ; $874A RLA ; $874B AND $F8 ; $874D LD C,A ; $874E LD A,($9033) ; $8751 LD B,A ; $8752 EX DE,HL ; $8753 POP HL ; @label=SpriteBlit_DataWidth_14 *$8754 PUSH BC ; $8755 PUSH HL ; $8756 PUSH DE ; $8757 LD A,($85E3) ; $875A AND $01 ; $875C JR Z,$8766 ; $875E DEC HL ; $875F LD C,(HL) ; $8760 INC HL ; $8761 LD A,B ; $8762 AND A ; $8763 JR Z,$877B ; $8765 LD A,C ; @label=SpriteBlit_DataWidth_15 *$8766 RRD ; $8768 LD C,A ; $8769 LD A,(DE) ; $876A OR (HL) ; $876B LD (DE),A ; $876C LD A,C ; $876D RLD ; $876F INC HL ; $8770 INC DE ; $8771 LD A,C ; $8772 DJNZ $8766 ; $8774 LD A,($85E3) ; $8777 BIT 1,A ; $8779 JR NZ,$8786 ; @label=SpriteBlit_DataWidth_16 *$877B LD A,C ; $877C RLA ; $877D RLA ; $877E RLA ; $877F RLA ; $8780 AND $F0 ; $8782 LD C,A ; $8783 LD A,(DE) ; $8784 OR C ; $8785 LD (DE),A ; @label=SpriteBlit_DataWidth_17 *$8786 POP DE ; $8787 LD HL,$0022 ; $878A ADD HL,DE ; $878B EX DE,HL ; $878C POP BC ; $878D LD HL,($85E1) ; $8790 ADD HL,BC ; $8791 POP BC ; $8792 DEC C ; $8793 JR NZ,$8754 ; $8795 POP IX ; $8797 RET ; ; Blit the background behind the Sidhe. ; ; Used by the routines at #R$7B0C and #R$80D0. @label=Sidhe_BlitBg c$8798 LD DE,($F536) ; Get where to blit on offscreen. $879C LD A,E ; $879D OR D ; $879E RET Z ; $879F LD BC,($F538) ; Get width and height of Sidhe. $87A3 LD A,B ; $87A4 LD B,$00 ; $87A6 LD HL,$F53A ; Get address of stored background. @label=Sidhe_BlitBg_0 *$87A9 PUSH BC ; $87AA PUSH DE ; $87AB LDIR ; $87AD POP DE ; $87AE EX DE,HL ; $87AF LD BC,$0022 ; $87B2 ADD HL,BC ; $87B3 EX DE,HL ; $87B4 POP BC ; $87B5 DEC A ; $87B6 JR NZ,$87A9 ; $87B8 LD HL,$0000 ; $87BB LD ($F536),HL ; $87BE RET ; ; Routine at 87BF ; ; Used by the routine at #R$7B0C. c$87BF LD A,(IX+$0D) ; $87C2 AND A ; $87C3 JR NZ,$87D9 ; $87C5 LD HL,($DFC5) ; $87C8 LD DE,$00B7 ; $87CB AND A ; $87CC SBC HL,DE ; $87CE RET NZ ; $87CF LD (IX+$0D),$01 ; $87D3 LD (IX+$0B),$BF ; $87D7 JR $883B ; *$87D9 CP $01 ; $87DB JR NZ,$87F5 ; $87DD INC (IX+$0B) ; $87E0 LD A,(IX+$0B) ; $87E3 CP $C4 ; $87E5 JR C,$883B ; $87E7 LD (IX+$0D),$02 ; $87EB LD (IX+$0B),$BC ; $87EF LD (IX+$0A),$12 ; $87F3 JR $8815 ; *$87F5 CP $02 ; $87F7 JR NZ,$882A ; $87F9 DEC (IX+$0A) ; $87FC JR NZ,$8815 ; $87FE LD A,$BC ; $8800 CP (IX+$0B) ; $8803 JR Z,$880E ; $8805 LD (IX+$0B),A ; $8808 LD (IX+$0A),$12 ; $880C JR $8815 ; *$880E INC (IX+$0B) ; $8811 LD (IX+$0A),$01 ; *$8815 LD A,($E003) ; $8818 CP $02 ; $881A JR Z,$8820 ; $881C CP $11 ; $881E JR NZ,$883B ; *$8820 LD (IX+$0D),$03 ; $8824 LD (IX+$0B),$C3 ; $8828 JR $883B ; *$882A DEC (IX+$0B) ; $882D LD A,(IX+$0B) ; $8830 CP $BE ; $8832 JR NZ,$883B ; $8834 LD (IX+$0B),$00 ; $8838 RET ; $8839 JR $883B ; *$883B LD A,($DFD2) ; $883E BIT 0,A ; $8840 RET NZ ; $8841 LD A,(IX+$0B) ; $8844 LD B,$10 ; $8846 CP $C2 ; $8848 JR NC,$8858 ; $884A LD B,$18 ; $884C CP $C1 ; $884E JR NC,$8858 ; $8850 LD B,$20 ; $8852 CP $BF ; $8854 JR NC,$8858 ; $8856 LD B,$00 ; *$8858 LD (IX+$09),B ; $885B LD (IX+$0C),$01 ; $885F CALL $85E4 ; $8862 LD A,($E003) ; $8865 AND A ; $8866 RET NZ ; $8867 LD HL,($DFC5) ; $886A LD DE,$00B6 ; $886D AND A ; $886E SBC HL,DE ; $8870 RET NZ ; $8871 LD A,$14 ; $8873 LD ($E003),A ; $8876 LD A,($DFEE) ; $8879 RRA ; $887A RRA ; $887B RRA ; $887C AND $07 ; $887E ADD A,$28 ; $8880 LD C,A ; $8881 LD HL,($DFC7) ; *$8884 LD A,L ; $8885 OR H ; $8886 JR Z,$889B ; $8888 LD DE,$0005 ; $888B ADD HL,DE ; $888C LD D,(HL) ; $888D DEC HL ; $888E LD E,(HL) ; $888F DEC HL ; $8890 EX DE,HL ; $8891 DEC DE ; $8892 LD A,(DE) ; $8893 CP C ; $8894 JR NZ,$8884 ; $8896 LD A,$0A ; $8898 LD ($E003),A ; *$889B PUSH IX ; $889D CALL $6D08 ; $88A0 LD (IX+$0B),$30 ; $88A4 LD HL,$8928 ; $88A7 LD (IX+$03),L ; $88AA LD (IX+$04),H ; $88AD LD (IX+$05),$64 ; $88B1 LD (IX+$07),$A9 ; $88B5 LD (IX+$0D),$01 ; $88B9 LD A,($E003) ; $88BC CP $14 ; $88BE JR Z,$88C4 ; $88C0 LD (IX+$0D),$03 ; *$88C4 POP IX ; $88C6 RET ; ; Face Action Function. ; ; Used by the routine at #R$7B0C. @label=Action_FaceFunc c$88C7 LD A,($DFD2) ; $88CA BIT 0,A ; $88CC JR NZ,$88E3 ; $88CE LD HL,($DFC5) ; $88D1 LD E,(IX+$07) ; $88D4 LD D,(IX+$08) ; $88D7 CALL $6D05 ; $88DA LD DE,$0022 ; $88DD AND A ; $88DE SBC HL,DE ; $88E0 RET Z ; $88E1 JR C,$88E8 ; @label=Action_FaceFunc_0 *$88E3 LD (IX+$0B),$00 ; $88E7 RET ; @label=Action_FaceFunc_1 *$88E8 ADD HL,DE ; $88E9 LD A,($5C79) ; $88EC RRA ; $88ED RET C ; $88EE LD A,($5C78) ; $88F1 CP $33 ; $88F3 RET NC ; $88F4 LD (IX+$0C),$01 ; $88F8 LD (IX+$09),$00 ; $88FC LD DE,$0005 ; $88FF AND A ; $8900 SBC HL,DE ; $8902 JP NC,$85E4 ; $8905 LD A,($DFCE) ; $8908 BIT 2,A ; $890A JP NZ,$85E4 ; $890D LD A,($E003) ; $8910 AND A ; $8911 JP NZ,$85E4 ; $8914 LD A,$14 ; $8916 LD ($E003),A ; $8919 JP $85E4 ; $891C JP $DF82 ; ; Vectors ; ; Used by the routine at #R$65BF. c$891F JP $89E0 ; ; This entry point is used by the routine at #R$65BF. *$8922 JP $8A93 ; ; This entry point is used by the routines at #R$6236, #R$638A, #R$6A61, #R$6D3C, #R$7C63 and #R$7E90. @label=Vector_PrintChar *$8925 JP $8CFE ; Vectors $8928 JP $8D11 ; @label=Vector_ActionOracle $892B JP $8D50 ; $892E JP $8DA6 ; ; This entry point is used by the routines at #R$6A61, #R$6CCC, #R$7834, #R$82F1 and #R$F395. @label=Vector_DisplayWarning *$8931 JP $89AF ; @label=Vector_ActionSeal $8934 JP $8DB6 ; ; This entry point is used by the routine at #R$F489. @label=Vector_DisplayMenu *$8937 JP $8EC0 ; @label=Vector_ActionTablet $893A JP $8DFC ; ; Data block at 893D b$893D DEFB $5D,$89,$5F,$89,$A2,$89,$A6,$89 $8945 DEFB $00,$00,$00,$00,$00,$01,$00,$00 ; Cave Data @label=CaveData b$894D DEFW $895D ; Scenery Item Data Ptr $894F DEFW $8976 ; Scenery Item String Ptr $8951 DEFW $89A8 ; Primary Path Ptr $8953 DEFW $89AC ; Secondary Path Ptr $8955 DEFW $0000 ; Objects Ptr $8957 DEFW $0000 $8959 DEFW $0200 $895B DEFW $0000 @label=CaveData_SceneryItems $895D DEFB $00,$00,$32,$2D,$08 ; Cave Scenery Item Data (Changed for each cave). $8962 DEFB $00,$03,$48,$47,$C8,$01,$32,$30 $896A DEFB $40,$31,$00,$00,$00,$00,$00,$00 $8972 DEFB $00,$00,$00,$00 @label=CaveData_SceneryString $8976 DEFB $32,$2D,$08,$00,$03,$48,$47,$C8 ; Cave Scenery String Data $897E DEFB $01,$32,$30,$40,$31,$00,$00,$00 @label=CaveDataSceneryString $8986 DEFB $00,$00 ; Position $8988 DEFB $00 ; Number of columns. $8989 DEFB $00 ; Compass $898A DEFB $00 ; Number of items. $898B DEFB $32,$67,$08,$00,$03,$48,$47,$C8 $8993 DEFB $01,$32,$64,$40,$11,$00 $8999 DEFB $00 $899A DEFB $00 $899B DEFB $00 $899C DEFB $00,$00,$00,$00,$00,$00,$00,$32 $89A4 DEFB $32,$62,$00,$FF @label=CaveData_PathPrimary $89A8 DEFB $00,$32,$32,$62 ; [Area, axis, start, end] @label=CaveData_PathSecondary $89AC DEFB $00,$FF $89AE DEFB $E9 ; Display Warning ; ; Used by the routines at #R$891F and #R$89E0. Input: SP Stack holds pointer to warning string. @label=DisplayWarning c$89AF PUSH IX ; $89B1 LD DE,$5A26 ; Clear text area. $89B4 LD HL,$DF91 ; $89B7 LD BC,$000A ; $89BA LDIR ; $89BC LD DE,$0005 ; $89BF LD HL,$02BC ; $89C2 CALL $03B5 ; $89C5 LD A,$2D ; Start timer. $89C7 LD ($E006),A ; $89CA CALL $6CFF ; Position cursor and set up text colours. ; Data block at 89CD b$89CD DEFB $16 $89CE DEFB $01 $89CF DEFB $06 $89D0 DEFB $11 $89D1 DEFB $00 $89D2 DEFB $10 $89D3 DEFB $05 $89D4 DEFB $13 $89D5 DEFB $01 $89D6 DEFB $5E ; Routine at 89D7 c$89D7 POP IX ; $89D9 JP $6CFF ; Display warning using next stack data as string address. ; Data block at 89DC @label=Routine_DataDirection b$89DC DEFB $CB @label=Routine_DataCompass $89DD DEFB $47 @label=Routine_Data2 $89DE DEFB $32 @label=Routine_Data3 $89DF DEFB $DC ; Checks for an exit when hero walks off a path edge / end. ; ; Used by the routine at #R$891F. Input: A Hero's direction. @label=ExitCheck c$89E0 LD ($89DC),A ; $89E3 LD A,($DFD2) ; $89E6 LD HL,($DFE9) ; $89E9 ADD A,L ; $89EA AND $03 ; $89EC LD ($89DD),A ; $89EF LD HL,($DFC5) ; $89F2 LD BC,$000C ; $89F5 LD A,($DFD2) ; $89F8 BIT 0,A ; $89FA JR Z,$89FF ; $89FC LD HL,($DFC3) ; @label=ExitCheck_0 *$89FF BIT 1,A ; $8A01 JR Z,$8A06 ; $8A03 LD BC,$FFF4 ; @label=ExitCheck_1 *$8A06 LD E,L ; $8A07 LD D,H ; $8A08 LD A,($89DC) ; $8A0B CP $02 ; $8A0D JR Z,$8A12 ; $8A0F ADD HL,BC ; $8A10 JR $8A15 ; @label=ExitCheck_2 *$8A12 AND A ; $8A13 SBC HL,BC ; @label=ExitCheck_3 *$8A15 AND A ; $8A16 SBC HL,DE ; $8A18 JR C,$8A1E ; $8A1A ADD HL,DE ; $8A1B EX DE,HL ; $8A1C JR $8A1F ; @label=ExitCheck_4 *$8A1E ADD HL,DE ; @label=ExitCheck_5 *$8A1F LD C,L ; $8A20 LD B,H ; $8A21 EXX ; $8A22 LD HL,$DFF9 ; $8A25 LD B,$02 ; @label=ExitCheck_6 *$8A27 LD E,(HL) ; $8A28 INC HL ; $8A29 LD D,(HL) ; $8A2A INC HL ; $8A2B LD A,E ; $8A2C OR D ; $8A2D RET Z ; $8A2E PUSH DE ; $8A2F POP IX ; $8A31 EXX ; $8A32 LD A,($DFD2) ; $8A35 BIT 0,A ; $8A37 JR NZ,$8A40 ; $8A39 LD L,(IX+$01) ; $8A3C LD H,$00 ; $8A3E JR $8A45 ; @label=ExitCheck_7 *$8A40 LD L,(IX+$00) ; $8A43 LD H,$00 ; @label=ExitCheck_8 *$8A45 ADD HL,HL ; $8A46 AND A ; $8A47 SBC HL,BC ; $8A49 JR C,$8A51 ; $8A4B ADD HL,BC ; $8A4C AND A ; $8A4D SBC HL,DE ; $8A4F JR C,$8A55 ; @label=ExitCheck_9 *$8A51 EXX ; $8A52 DJNZ $8A27 ; $8A54 RET ; @label=ExitCheck_10 *$8A55 LD ($89DE),IX ; $8A59 LD A,(IX+$05) ; See if door is locked. $8A5C AND A ; Zero means not. $8A5D JR Z,$8A87 ; ; Try match an object to unlock door. $8A5F LD B,A ; Lock number. $8A60 LD IX,$DFC3 ; Point to mand data for object carried. ; This entry point is used by the routine at #R$8A7D. @label=ExitCheck_11 *$8A64 LD L,(IX+$04) ; Get object point next in list. $8A67 LD H,(IX+$05) ; $8A6A LD A,L ; 0000 = End of list. $8A6B OR H ; $8A6C JR NZ,$8A7E ; $8A6E LD A,($E006) ; So just display warning. $8A71 AND A ; $8A72 RET NZ ; $8A73 CALL $89AF ; ; Data block at 8A76 b$8A76 DEFM "locked" $8A7C DEFB $5E ; Routine at 8A7D c$8A7D RET ; ; This entry point is used by the routine at #R$89E0. @label=ExitCheck_12 *$8A7E PUSH HL ; Does object's lock number match? $8A7F POP IX ; $8A81 LD A,(IX+$02) ; $8A84 CP B ; No, try next object. $8A85 JR NZ,$8A64 ; ; Go through door. @label=ExitCheck_13 *$8A87 LD A,$01 ; $8A89 LD ($E004),A ; $8A8C RET ; ; Cave Action Function Pointer. ; ; Data @label=CaveActionPtrs b$8A8D DEFW $7B3C $8A8F DEFW $5E45 $8A91 DEFW $5E48 ; Update data for new room. ; ; Used by the routine at #R$891F. @label=Exit_NewRoom c$8A93 CALL $DF8B ; Clear action links. $8A96 LD IX,($89DE) ; Get exit data man has walked through. $8A9A LD A,(IX+$04) ; Holds room type. >0 means a cave within an area. $8A9D AND $0F ; $8A9F AND A ; $8AA0 JR NZ,$8B1F ; ; New Area. $8AA2 LD L,(IX+$08) ; Get new position for man to appear at. $8AA5 LD H,$00 ; $8AA7 ADD HL,HL ; $8AA8 LD ($DFC3),HL ; $8AAB LD L,(IX+$09) ; $8AAE LD H,$00 ; $8AB0 ADD HL,HL ; $8AB1 LD ($DFC5),HL ; $8AB4 LD A,(IX+$07) ; Get index of new area. $8AB7 LD HL,($DFDD) ; Get and store old area index. $8ABA PUSH HL ; $8ABB CALL $5E3C ; Update everything for new area. $8ABE CALL $5E3F ; $8AC1 POP BC ; Get previous area index for comparison. $8AC2 LD A,(IX+$07) ; Is new area Glasmarsh? $8AC5 CP $11 ; $8AC7 JR NZ,$8B02 ; $8AC9 LD A,C ; Yes, so see which cave type we have come from. $8ACA CP $32 ; $8ACC JR Z,$8B02 ; $8ACE CP $33 ; $8AD0 JR Z,$8B02 ; $8AD2 CP $11 ; $8AD4 JR Z,$8B02 ; $8AD6 LD HL,($DFE1) ; $8AD9 LD DE,$0004 ; $8ADC ADD HL,DE ; $8ADD LD E,(HL) ; $8ADE LD D,$00 ; $8AE0 INC HL ; $8AE1 ADD HL,DE ; $8AE2 INC HL ; $8AE3 LD DE,$0005 ; $8AE6 ADD HL,DE ; $8AE7 LD A,(IX+$05) ; $8AEA LD (HL),A ; $8AEB INC HL ; $8AEC INC HL ; $8AED LD (HL),C ; $8AEE INC HL ; $8AEF EX DE,HL ; $8AF0 LD HL,($89DE) ; $8AF3 LD BC,$0002 ; $8AF6 LDIR ; $8AF8 LD A,(IX+$03) ; $8AFB RRA ; $8AFC RRA ; $8AFD RRA ; $8AFE RRA ; $8AFF AND $0F ; $8B01 LD (DE),A ; ; Enter room as normal. @label=Exit_NewRoom_0 *$8B02 LD A,(IX+$0A) ; $8B05 DEC A ; $8B06 AND $03 ; $8B08 LD ($DFD2),A ; $8B0B LD A,($DFD4) ; $8B0E CP $02 ; $8B10 JP Z,$5E2D ; $8B13 LD A,(IX+$0A) ; $8B16 INC A ; $8B17 AND $03 ; $8B19 LD ($DFD2),A ; $8B1C JP $5E2D ; ; Entered cave / passageway. @label=Exit_NewRoom_1 *$8B1F CP $01 ; $8B21 JP NZ,$8BFC ; $8B24 LD A,(IX+$0A) ; $8B27 AND A ; $8B28 JR Z,$8B57 ; $8B2A DEC A ; $8B2B ADD A,A ; $8B2C LD L,A ; $8B2D LD H,$00 ; $8B2F LD DE,$8A8D ; $8B32 ADD HL,DE ; $8B33 PUSH HL ; $8B34 CALL $6D08 ; $8B37 POP HL ; $8B38 LD A,(HL) ; $8B39 LD (IX+$03),A ; $8B3C INC HL ; $8B3D LD A,(HL) ; $8B3E LD (IX+$04),A ; $8B41 LD (IX+$0B),$BF ; $8B45 LD HL,$0064 ; $8B48 LD (IX+$05),L ; $8B4B LD (IX+$06),H ; $8B4E LD HL,$00A7 ; $8B51 LD (IX+$07),L ; $8B54 LD (IX+$08),H ; @label=Exit_NewRoom_2 *$8B57 LD IX,($89DE) ; $8B5B LD A,(IX+$05) ; $8B5E LD ($896D),A ; $8B61 LD A,($DFDD) ; $8B64 LD ($896F),A ; $8B67 LD A,$32 ; $8B69 LD ($DFDD),A ; $8B6C LD A,(IX+$02) ; $8B6F CP $4A ; $8B71 JR Z,$8B75 ; $8B73 LD A,$40 ; @label=Exit_NewRoom_3 *$8B75 LD ($896A),A ; $8B78 LD A,(IX+$00) ; $8B7B LD ($8970),A ; $8B7E LD A,(IX+$01) ; $8B81 LD ($8971),A ; $8B84 LD A,(IX+$03) ; $8B87 RRA ; $8B88 RRA ; $8B89 RRA ; $8B8A RRA ; $8B8B AND $03 ; $8B8D LD ($8972),A ; $8B90 LD L,(IX+$09) ; $8B93 ADD HL,HL ; $8B94 LD H,$00 ; $8B96 LD DE,($DFFF) ; $8B9A LD A,(IX+$06) ; $8B9D AND A ; $8B9E JR NZ,$8BA4 ; $8BA0 LD DE,($DFE7) ; @label=Exit_NewRoom_4 *$8BA4 ADD HL,DE ; $8BA5 LD ($8945),HL ; $8BA8 LD HL,$893D ; $8BAB LD DE,$DFDF ; $8BAE LD BC,$0010 ; $8BB1 LDIR ; $8BB3 LD HL,$DF91 ; $8BB6 LD BC,$000A ; $8BB9 LDIR ; $8BBB LD A,(IX+$07) ; $8BBE LD ($DFED),A ; $8BC1 LD A,(IX+$08) ; $8BC4 LD ($DFEE),A ; $8BC7 LD A,(IX+$0A) ; $8BCA CP $02 ; $8BCC JR C,$8BD3 ; $8BCE LD A,$02 ; $8BD0 LD ($DFEC),A ; @label=Exit_NewRoom_5 *$8BD3 LD HL,$0060 ; $8BD6 LD D,$00 ; $8BD8 LD E,$02 ; @label=Exit_NewRoom_6 *$8BDA LD ($DFC5),HL ; $8BDD LD HL,$0064 ; $8BE0 LD ($DFC3),HL ; $8BE3 LD L,E ; $8BE4 LD A,($89DC) ; $8BE7 CP $02 ; $8BE9 JR Z,$8BEC ; $8BEB LD L,D ; @label=Exit_NewRoom_7 *$8BEC LD A,L ; $8BED LD ($DFD2),A ; $8BF0 LD A,($89DD) ; $8BF3 SUB L ; $8BF4 AND $03 ; $8BF6 LD ($DFE9),A ; $8BF9 JP $5E2D ; @label=Exit_NewRoom_8 *$8BFC LD HL,$00C4 ; $8BFF CP $02 ; $8C01 JR Z,$8C10 ; $8C03 LD HL,$008C ; $8C06 CP $03 ; $8C08 JR Z,$8C10 ; $8C0A LD HL,$00DE ; $8C0D CP $04 ; $8C0F RET NZ ; @label=Exit_NewRoom_9 *$8C10 LD A,L ; $8C11 SRL A ; $8C13 LD ($89AB),A ; $8C16 ADD A,$02 ; $8C18 LD ($8995),A ; $8C1B ADD A,$03 ; $8C1D LD ($898C),A ; $8C20 LD A,(IX+$05) ; $8C23 LD ($8984),A ; $8C26 LD A,($DFDD) ; $8C29 LD ($8986),A ; $8C2C LD A,(IX+$02) ; $8C2F CP $4A ; $8C31 JR Z,$8C35 ; $8C33 LD A,$40 ; @label=Exit_NewRoom_10 *$8C35 LD ($8981),A ; $8C38 LD A,(IX+$00) ; $8C3B LD ($8987),A ; $8C3E LD A,(IX+$01) ; $8C41 LD ($8988),A ; $8C44 LD A,(IX+$03) ; $8C47 RRA ; $8C48 RRA ; $8C49 RRA ; $8C4A RRA ; $8C4B AND $03 ; $8C4D LD ($8989),A ; $8C50 LD L,(IX+$09) ; $8C53 ADD HL,HL ; $8C54 LD H,$00 ; $8C56 LD DE,($DFFF) ; $8C5A LD A,(IX+$06) ; $8C5D AND A ; $8C5E JR NZ,$8C64 ; $8C60 LD DE,($DFE7) ; @label=Exit_NewRoom_11 *$8C64 ADD HL,DE ; $8C65 LD ($8955),HL ; $8C68 LD HL,$894D ; $8C6B LD DE,$DFDF ; $8C6E LD BC,$0010 ; $8C71 LDIR ; $8C73 LD HL,$DF91 ; $8C76 LD BC,$000A ; $8C79 LDIR ; $8C7B LD A,(IX+$07) ; $8C7E LD ($DFED),A ; $8C81 LD A,(IX+$08) ; $8C84 LD ($DFEE),A ; $8C87 LD L,(IX+$0A) ; $8C8A LD H,(IX+$0B) ; $8C8D PUSH HL ; $8C8E POP IX ; $8C90 LD A,(IX+$05) ; $8C93 LD ($8999),A ; $8C96 LD A,(IX+$06) ; $8C99 AND A ; $8C9A JR NZ,$8C9F ; $8C9C LD A,($DFDD) ; @label=Exit_NewRoom_12 *$8C9F LD ($899B),A ; $8CA2 LD A,$33 ; $8CA4 LD ($DFDD),A ; $8CA7 LD A,(IX+$02) ; $8CAA CP $4A ; $8CAC JR Z,$8CB0 ; $8CAE LD A,$40 ; @label=Exit_NewRoom_13 *$8CB0 LD ($8996),A ; $8CB3 LD A,(IX+$00) ; $8CB6 LD ($899C),A ; $8CB9 LD A,(IX+$01) ; $8CBC LD ($899D),A ; $8CBF LD A,(IX+$03) ; $8CC2 RRA ; $8CC3 RRA ; $8CC4 RRA ; $8CC5 RRA ; $8CC6 AND $03 ; $8CC8 LD ($899E),A ; $8CCB LD HL,$0060 ; $8CCE LD D,$00 ; $8CD0 LD E,$02 ; $8CD2 BIT 7,(IX+$09) ; $8CD6 JP Z,$8BDA ; $8CD9 LD HL,$8981 ; $8CDC LD DE,$8996 ; $8CDF LD A,(DE) ; $8CE0 LD C,(HL) ; $8CE1 LD (HL),A ; $8CE2 LD A,C ; $8CE3 LD (DE),A ; $8CE4 INC DE ; $8CE5 INC HL ; $8CE6 LD B,$08 ; @label=Exit_NewRoom_14 *$8CE8 INC HL ; $8CE9 INC DE ; $8CEA LD A,(DE) ; $8CEB LD C,(HL) ; $8CEC LD (HL),A ; $8CED LD A,C ; $8CEE LD (DE),A ; $8CEF DJNZ $8CE8 ; $8CF1 LD HL,($8995) ; $8CF4 LD H,$00 ; $8CF6 ADD HL,HL ; $8CF7 LD D,$02 ; $8CF9 LD E,$00 ; $8CFB JP $8BDA ; ; Select character set and draw character. Anything less than 51 gets drawn in the ROM set, else it uses the special ; set. ; ; Used by the routine at #R$891F. Input: A Character code to print. @label=PrintChar c$8CFE PUSH HL ; $8CFF CP $51 ; $8D01 JR NC,$8D08 ; $8D03 LD HL,$3C00 ; $8D06 JR $8D0B ; @label=PrintChar_0 *$8D08 LD HL,$FC00 ; @label=PrintChar_1 *$8D0B LD ($5C36),HL ; $8D0E RST $10 ; $8D0F POP HL ; $8D10 RET ; ; Routine at 8D11 ; ; Used by the routine at #R$891F. c$8D11 BIT 0,(IX+$0D) ; $8D15 JR Z,$8D38 ; $8D17 LD A,(IX+$07) ; $8D1A INC A ; $8D1B INC A ; $8D1C LD (IX+$07),A ; $8D1F CP $B3 ; $8D21 JR NZ,$8D44 ; $8D23 RES 0,(IX+$0D) ; $8D27 BIT 1,(IX+$0D) ; $8D2B JR Z,$8D33 ; $8D2D LD (IX+$07),$AF ; $8D31 JR $8D44 ; *$8D33 LD (IX+$0B),$00 ; $8D37 RET ; *$8D38 LD A,(IX+$07) ; $8D3B DEC A ; $8D3C DEC A ; $8D3D CP $A9 ; $8D3F JR Z,$8D33 ; $8D41 LD (IX+$07),A ; *$8D44 LD (IX+$09),$18 ; $8D48 LD (IX+$0C),$01 ; $8D4C CALL $7B36 ; $8D4F RET ; ; Oracle Action Function. ; ; Used by the routine at #R$891F. @label=ActionOracle c$8D50 LD A,(IX+$0A) ; $8D53 AND A ; $8D54 JR Z,$8D62 ; $8D56 DEC (IX+$0A) ; $8D59 JR NZ,$8D74 ; $8D5B LD A,(IX+$0B) ; $8D5E CP $C6 ; $8D60 JR Z,$8D6C ; @label=ActionOracle_0 *$8D62 LD (IX+$0B),$C6 ; $8D66 LD (IX+$0A),$30 ; $8D6A JR $8D74 ; @label=ActionOracle_1 *$8D6C LD (IX+$0B),$C7 ; $8D70 LD (IX+$0A),$02 ; @label=ActionOracle_2 *$8D74 LD A,($DFD2) ; $8D77 BIT 0,A ; $8D79 RET NZ ; $8D7A LD HL,($DFC5) ; $8D7D LD E,(IX+$07) ; $8D80 LD D,(IX+$08) ; $8D83 CALL $6D05 ; $8D86 LD BC,$0022 ; $8D89 AND A ; $8D8A SBC HL,BC ; $8D8C JR C,$8D9A ; $8D8E LD DE,$0005 ; $8D91 AND A ; $8D92 SBC HL,DE ; $8D94 RET C ; $8D95 LD (IX+$0B),$00 ; $8D99 RET ; @label=ActionOracle_3 *$8D9A LD (IX+$09),$23 ; $8D9E LD (IX+$0C),$01 ; $8DA2 CALL $7B36 ; $8DA5 RET ; ; Data block at 8DA6 ; ; Used by the routine at #R$891F. b$8DA6 DEFB $C9 ; Alter of the Seal Extended Action Data @label=ActionAlterDataExt b$8DA7 DEFB $68,$6F,$29 $8DAA DEFB $67,$67,$2A $8DAD DEFB $92,$61,$51 $8DB0 DEFB $65,$6D,$52 ; Dagda's Cauldron $8DB3 DEFB $7F,$00,$00 ; Alter of the Seal Action Function. ; ; Used by the routine at #R$891F. @label=ActionSeal c$8DB6 LD A,($DFD2) ; Test for camera (00) $8DB9 CP $00 ; $8DBB JR NZ,$8E2E ; $8DBD LD HL,$8DA7 ; Set up for alter extended action data $8DC0 LD (IX+$0E),L ; $8DC3 LD (IX+$0F),H ; $8DC6 LD B,$05 ; $8DC8 LD DE,$0003 ; ; Look to see if all items are complete. @label=ActionSeal_0 *$8DCB LD A,(HL) ; $8DCC AND A ; $8DCD JR NZ,$8DD5 ; $8DCF ADD HL,DE ; $8DD0 DJNZ $8DCB ; $8DD2 JP $5E57 ; ; Still have objects left to drop. @label=ActionSeal_1 *$8DD5 LD HL,($9344) ; Point to the Alter's bitmap. $8DD8 LD (IX+$10),L ; $8DDB LD (IX+$11),H ; $8DDE LD (IX+$12),$05 ; Set the size for the Alter. $8DE2 LD HL,($DFC5) ; Get position for man and scenery ready... $8DE5 LD E,(IX+$07) ; $8DE8 LD D,(IX+$08) ; $8DEB JR $8E22 ; Jump to the Tablet code for checking for a correct drop and updating the Alter's bitmap. ; Tablet extended action data ; ; Shows which object gets changed into a compass letter on the tablet. @label=ActionTabletExt b$8DED DEFB $80,$6E,$10 ; Bottle, 'n' $8DF0 DEFB $6A,$65,$20 ; Candle, 'e' $8DF3 DEFB $71,$6E,$30 ; Bucket, 'n' $8DF6 DEFB $76,$65,$40 ; Goblet, 'e' ; Data block at 8DF9 b$8DF9 DEFB $00,$00,$00 ; Tablet / Alter Action Function. ; ; Checks for a dropped object, if it matches the expected items Input: IX Pointer to scenery item action data. @label=ActionTablet c$8DFC LD A,($DFD2) ; Only works if camera is facing (3) $8DFF CP $03 ; $8E01 JR NZ,$8E2E ; $8E03 LD HL,$8DED ; Store address for tablet. $8E06 LD (IX+$0E),L ; $8E09 LD (IX+$0F),H ; $8E0C LD HL,($9190) ; Store address of the tablet's bitmap. $8E0F LD (IX+$10),L ; $8E12 LD (IX+$11),H ; $8E15 LD (IX+$12),$02 ; Along with the width. $8E19 LD HL,($DFC3) ; $8E1C LD E,(IX+$05) ; $8E1F LD D,(IX+$06) ; ; This entry point is used by the routine at #R$8DB6. @label=ActionAlterEntry *$8E22 CALL $6D05 ; Get distance between man and scenery item. $8E25 LD DE,$0022 ; If distance less than 22 (within range)? $8E28 AND A ; $8E29 SBC HL,DE ; $8E2B JR C,$8E36 ; Yes. $8E2D RET Z ; No, so see if man is within 7 units of item. ; This entry point is used by the routine at #R$8DB6. @label=ActionTablet_0 *$8E2E XOR A ; If out of range, clear flags. $8E2F LD ($E007),A ; $8E32 LD (IX+$0B),A ; $8E35 RET ; ; Item within range. @label=ActionTablet_1 *$8E36 ADD HL,DE ; Get distance again. $8E37 LD A,(IX+$0D) ; Is man next to item flag set? $8E3A AND A ; $8E3B JR NZ,$8E52 ; $8E3D LD DE,$0007 ; $8E40 AND A ; $8E41 SBC HL,DE ; $8E43 RET NC ; If not just return. $8E44 LD HL,$E007 ; Set flags to show man is next to item, ready to drop an item. $8E47 LD (HL),$01 ; $8E49 INC HL ; $8E4A LD HL,$0000 ; $8E4D LD (IX+$0D),$01 ; $8E51 RET ; ; Man next to item. @label=ActionTablet_2 *$8E52 PUSH HL ; $8E53 LD A,($E008) ; Has an object just been dropped. $8E56 BIT 7,A ; $8E58 JR Z,$8E9B ; $8E5A RES 7,A ; Yes, reset flag. $8E5C LD ($E008),A ; $8E5F LD HL,($E00B) ; Get address of dropped object. $8E62 INC HL ; $8E63 INC HL ; $8E64 LD A,(HL) ; Get its bitmap index. $8E65 LD B,$05 ; $8E67 LD L,(IX+$0E) ; Get pointer to extended scenery data. $8E6A LD H,(IX+$0F) ; ; Look for object within extended data. @label=ActionTablet_3 *$8E6D CP (HL) ; $8E6E JR Z,$8E77 ; Object found. $8E70 INC HL ; $8E71 INC HL ; $8E72 INC HL ; $8E73 DJNZ $8E6D ; $8E75 JR $8E9B ; Object not found. ; Object found in list @label=ActionTablet_4 *$8E77 LD (HL),$00 ; Mark it off the list. $8E79 INC HL ; Get ascii value of icon to replace image on scenery $8E7A LD A,(HL) ; $8E7B AND A ; $8E7C JR Z,$8E9B ; Ignore if zero. $8E7E INC HL ; Get bitmap offset to draw icon onto. $8E7F LD L,(HL) ; $8E80 LD H,$00 ; $8E82 LD E,(IX+$10) ; Get bitmap address to offset from first bitmap. $8E85 LD D,(IX+$11) ; $8E88 ADD HL,DE ; Add the two together to get true offset. $8E89 LD DE,$9436 ; $8E8C LD C,(IX+$12) ; Get bitmap width. $8E8F LD B,$00 ; $8E91 PUSH IX ; Draw compass letter onto scenery item to replace image of object. $8E93 CALL $6D1A ; $8E96 CALL $5E42 ; Update everything. $8E99 POP IX ; @label=ActionTablet_5 *$8E9B POP HL ; If man is range just return. $8E9C LD DE,$0007 ; $8E9F AND A ; $8EA0 SBC HL,DE ; $8EA2 RET C ; $8EA3 XOR A ; $8EA4 LD ($E007),A ; If not then reset flags for this test. $8EA7 LD (IX+$0D),A ; $8EAA RET ; ; Data block at 8EAB b$8EAB DEFB $24,$5E,$12,$97,$03,$54,$4E,$4E $8EB3 DEFB $58,$20,$20,$20,$20,$20,$20,$00 $8EBB DEFB $00,$00,$00,$00,$00 ; Display Menu ; ; Used by the routines at #R$891F, #R$8F3E, #R$8F93 and #R$8FE5. @label=DisplayMenu c$8EC0 LD (IY+$31),$18 ; $8EC4 LD HL,$4000 ; $8EC7 LD DE,$4001 ; $8ECA LD BC,$1AFF ; $8ECD LD (HL),$00 ; $8ECF LDIR ; $8ED1 LD (IY+$0E),$07 ; $8ED5 XOR A ; $8ED6 OUT ($FE),A ; $8ED8 CALL $6CFF ; ; Data block at 8EDB b$8EDB DEFB $10 ; Menu Text $8EDC DEFB $03 $8EDD DEFB $11 $8EDE DEFB $00 $8EDF DEFB $16 $8EE0 DEFB $01 $8EE1 DEFB $0B $8EE2 DEFM "options" $8EE9 DEFB $16 $8EEA DEFB $05 $8EEB DEFB $05 $8EEC DEFM "1. enter tir na nog" $8EFF DEFB $16 $8F00 DEFB $07 $8F01 DEFB $05 $8F02 DEFM "2. save game" $8F0E DEFB $16 $8F0F DEFB $09 $8F10 DEFB $05 $8F11 DEFM "3. restore game" $8F20 DEFB $5E ; Routine at 8F21 @label=DisplayMenu_0 c$8F21 LD (IY-$32),$00 ; Code @label=DisplayMenu_1 *$8F25 LD A,(IY-$32) ; $8F28 AND A ; $8F29 JR Z,$8F25 ; $8F2B CP $31 ; $8F2D JR Z,$8F39 ; $8F2F CP $32 ; $8F31 JR Z,$8F3E ; $8F33 CP $33 ; $8F35 JR Z,$8F93 ; $8F37 JR $8F21 ; @label=DisplayMenu_2 *$8F39 LD (IY+$31),$08 ; $8F3D RET ; ; Display Start Tape ; ; Used by the routine at #R$8EC0. @label=Text_StartTape c$8F3E CALL $8FFF ; $8F41 CALL $6CFF ; ; Data block at 8F44 b$8F44 DEFB $16 ; Text $8F45 DEFB $0E $8F46 DEFB $02 $8F47 DEFM "start tape then press a key" $8F62 DEFB $5E ; Routine at 8F63 c$8F63 LD (IY-$32),$00 ; @label=Text_StartTape_0 *$8F67 LD A,(IY-$32) ; $8F6A AND A ; $8F6B JR Z,$8F67 ; $8F6D LD IX,$8EAF ; $8F71 LD DE,$0011 ; $8F74 XOR A ; $8F75 CALL $8FC6 ; $8F78 CALL NC,$8FE6 ; $8F7B LD B,$28 ; @label=Text_StartTape_1 *$8F7D HALT ; $8F7E DJNZ $8F7D ; $8F80 LD IX,($8EAB) ; $8F84 LD DE,($8EAD) ; $8F88 LD A,$FF ; $8F8A CALL $8FC6 ; $8F8D CALL NC,$8FE6 ; $8F90 JP $8EC0 ; ; Routine at 8F93 ; ; Used by the routine at #R$8EC0. c$8F93 CALL $8FFF ; *$8F96 LD IX,$F608 ; $8F9A LD DE,$0011 ; $8F9D XOR A ; $8F9E CALL $8FCB ; $8FA1 JR NC,$8F96 ; $8FA3 LD DE,$F608 ; $8FA6 LD HL,$8EAF ; $8FA9 LD B,$11 ; *$8FAB LD A,(DE) ; $8FAC CP (HL) ; $8FAD JR NZ,$8F96 ; $8FAF INC DE ; $8FB0 INC HL ; $8FB1 DJNZ $8FAB ; $8FB3 LD IX,($8EAB) ; $8FB7 LD DE,($8EAD) ; $8FBB LD A,$FF ; $8FBD CALL $8FCB ; $8FC0 CALL NC,$8FE6 ; $8FC3 JP $8EC0 ; ; Routine at 8FC6 ; ; Used by the routine at #R$8F3E. c$8FC6 CALL $04C6 ; $8FC9 JR $8FD7 ; ; This entry point is used by the routine at #R$8F93. *$8FCB SCF ; $8FCC INC D ; $8FCD EX AF,AF' ; $8FCE DEC D ; $8FCF DI ; $8FD0 LD A,$0F ; $8FD2 OUT ($FE),A ; $8FD4 CALL $0562 ; *$8FD7 PUSH AF ; $8FD8 XOR A ; $8FD9 OUT ($FE),A ; $8FDB EI ; $8FDC LD A,$7F ; $8FDE IN A,($FE) ; $8FE0 RRA ; $8FE1 JR NC,$8FE5 ; $8FE3 POP AF ; $8FE4 RET ; ; Display Abandonded ; ; Used by the routine at #R$8FC6. @label=Text_Abandonded c$8FE5 POP AF ; ; This entry point is used by the routines at #R$8F3E and #R$8F93. @label=Text_Abandonded_0 *$8FE6 CALL $6CFF ; ; Data block at 8FE9 b$8FE9 DEFB $16 $8FEA DEFB $12 $8FEB DEFB $05 $8FEC DEFM "abandoned" $8FF5 DEFB $5E ; Routine at 8FF6 c$8FF6 LD B,$FA ; @label=Text_Abandonded_1 *$8FF8 HALT ; $8FF9 DJNZ $8FF8 ; $8FFB POP HL ; $8FFC JP $8EC0 ; ; Display Enter Version Letter ; ; Used by the routines at #R$8F3E and #R$8F93. @label=Text_EnterVersionLetter c$8FFF CALL $6CFF ; ; Data block at 9002 b$9002 DEFB $16 $9003 DEFB $0E $9004 DEFB $05 $9005 DEFM "enter version letter" $9019 DEFB $5E ; Routine at 901A c$901A LD (IY-$32),$00 ; @label=Text_EnterVersionLetter_0 *$901E LD A,(IY-$32) ; $9021 AND $DF ; $9023 CP $41 ; $9025 JR C,$901E ; $9027 CP $5B ; $9029 JR NC,$901E ; $902B LD ($8EB3),A ; $902E RET ; $902F NOP ; ; Store; sprites [ y,x, height in pixels, width in chars] @label= s0 b$9030 DEFB $48 @label= s1 $9031 DEFB $78 @label= s2 $9032 DEFB $81 @label= s3 $9033 DEFB $01 ; Information on each bitmap. @label= BitmapData_E b$9034 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9036 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. @label=BitmapData_Width $9037 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_ManWalk $9038 DEFW $0008 ; Offset to bitmap image. Add $943e for absolute address. $903A DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $903B DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_951e $903C DEFW $00E8 ; Offset to bitmap image. Add $943e for absolute address. $903E DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $903F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_95fe $9040 DEFW $01C8 ; Offset to bitmap image. Add $943e for absolute address. $9042 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9043 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_96de $9044 DEFW $02A8 ; Offset to bitmap image. Add $943e for absolute address. $9046 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9047 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_97be $9048 DEFW $0388 ; Offset to bitmap image. Add $943e for absolute address. $904A DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $904B DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_989e $904C DEFW $0468 ; Offset to bitmap image. Add $943e for absolute address. $904E DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $904F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_997e $9050 DEFW $0548 ; Offset to bitmap image. Add $943e for absolute address. $9052 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9053 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_9a5e $9054 DEFW $0628 ; Offset to bitmap image. Add $943e for absolute address. $9056 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9057 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_9b3e $9058 DEFW $0708 ; Offset to bitmap image. Add $943e for absolute address. $905A DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $905B DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_9c1e $905C DEFW $07E8 ; Offset to bitmap image. Add $943e for absolute address. $905E DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $905F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_9cfe $9060 DEFW $08C8 ; Offset to bitmap image. Add $943e for absolute address. $9062 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9063 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_9dde $9064 DEFW $09A8 ; Offset to bitmap image. Add $943e for absolute address. $9066 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9067 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_9ebe $9068 DEFW $0A88 ; Offset to bitmap image. Add $943e for absolute address. $906A DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $906B DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_9f9e $906C DEFW $0B68 ; Offset to bitmap image. Add $943e for absolute address. $906E DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $906F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_ManStand $9070 DEFW $0C48 ; Offset to bitmap image. Add $943e for absolute address. $9072 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9073 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_a0ee $9074 DEFW $0CB8 ; Offset to bitmap image. Add $943e for absolute address. $9076 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9077 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_a15e $9078 DEFW $0D28 ; Offset to bitmap image. Add $943e for absolute address. $907A DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $907B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_ManFacingIn $907C DEFW $0D98 ; Offset to bitmap image. Add $943e for absolute address. $907E DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $907F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_ManFacingOut $9080 DEFW $0E78 ; Offset to bitmap image. Add $943e for absolute address. $9082 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9083 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_ManAttack $9084 DEFW $0F58 ; Offset to bitmap image. Add $943e for absolute address. $9086 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9087 DEFB $06 ; Width of bitmap inchar blocks. @label= BitmapData_Blank1 $9088 DEFW $1078 ; Offset to bitmap image. Add $943e for absolute address. $908A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $908B DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Turf $908C DEFW $1080 ; Offset to bitmap image. Add $943e for absolute address. $908E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $908F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_NathairMouth1 $9090 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9092 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9093 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_9436 $9094 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9096 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9097 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_a4c6 $9098 DEFW $1090 ; Offset to bitmap image. Add $943e for absolute address. $909A DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $909B DEFB $07 ; Width of bitmap inchar blocks. @label= BitmapData_a56e $909C DEFW $1138 ; Offset to bitmap image. Add $943e for absolute address. $909E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $909F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_NathairEyes1 $90A0 DEFW $1140 ; Offset to bitmap image. Add $943e for absolute address. $90A2 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90A3 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_MathairEyes2 $90A4 DEFW $1148 ; Offset to bitmap image. Add $943e for absolute address. $90A6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90A7 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_ManMask $90A8 DEFW $1150 ; Offset to bitmap image. Add $943e for absolute address. $90AA DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90AB DEFB $07 ; Width of bitmap inchar blocks. @label= BitmapData_a5f6 $90AC DEFW $11C0 ; Offset to bitmap image. Add $943e for absolute address. $90AE DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90AF DEFB $07 ; Width of bitmap inchar blocks. @label= BitmapData_a666 $90B0 DEFW $1230 ; Offset to bitmap image. Add $943e for absolute address. $90B2 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90B3 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_a746 $90B4 DEFW $1310 ; Offset to bitmap image. Add $943e for absolute address. $90B6 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90B7 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_a826 $90B8 DEFW $13F0 ; Offset to bitmap image. Add $943e for absolute address. $90BA DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90BB DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_a906 $90BC DEFW $14D0 ; Offset to bitmap image. Add $943e for absolute address. $90BE DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90BF DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_a9e6 $90C0 DEFW $15B0 ; Offset to bitmap image. Add $943e for absolute address. $90C2 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90C3 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_aac6 $90C4 DEFW $1690 ; Offset to bitmap image. Add $943e for absolute address. $90C6 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90C7 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_aba6 $90C8 DEFW $1770 ; Offset to bitmap image. Add $943e for absolute address. $90CA DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90CB DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_ac86 $90CC DEFW $1850 ; Offset to bitmap image. Add $943e for absolute address. $90CE DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90CF DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_acf6 $90D0 DEFW $18C0 ; Offset to bitmap image. Add $943e for absolute address. $90D2 DEFB $87 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90D3 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_add6 $90D4 DEFW $19A0 ; Offset to bitmap image. Add $943e for absolute address. $90D6 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90D7 DEFB $06 ; Width of bitmap inchar blocks. @label= BitmapData_Stone01 $90D8 DEFW $1AC0 ; Offset to bitmap image. Add $943e for absolute address. $90DA DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90DB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Stone02 $90DC DEFW $1AC8 ; Offset to bitmap image. Add $943e for absolute address. $90DE DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90DF DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Stone03 $90E0 DEFW $1AD0 ; Offset to bitmap image. Add $943e for absolute address. $90E2 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90E3 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Stone04 $90E4 DEFW $1AD8 ; Offset to bitmap image. Add $943e for absolute address. $90E6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90E7 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Stone05 $90E8 DEFW $1AE0 ; Offset to bitmap image. Add $943e for absolute address. $90EA DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90EB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Stone06 $90EC DEFW $1AE8 ; Offset to bitmap image. Add $943e for absolute address. $90EE DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90EF DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Stone07 $90F0 DEFW $1AF0 ; Offset to bitmap image. Add $943e for absolute address. $90F2 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90F3 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Bead $90F4 DEFW $1AF8 ; Offset to bitmap image. Add $943e for absolute address. $90F6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90F7 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Daisy $90F8 DEFW $1B00 ; Offset to bitmap image. Add $943e for absolute address. $90FA DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90FB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Blank2 $90FC DEFW $1B08 ; Offset to bitmap image. Add $943e for absolute address. $90FE DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $90FF DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Blank3 $9100 DEFW $1B18 ; Offset to bitmap image. Add $943e for absolute address. $9102 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9103 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Sting $9104 DEFW $1B38 ; Offset to bitmap image. Add $943e for absolute address. $9106 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9107 DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_Rock01 $9108 DEFW $1B50 ; Offset to bitmap image. Add $943e for absolute address. $910A DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $910B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Rock02 $910C DEFW $1BB0 ; Offset to bitmap image. Add $943e for absolute address. $910E DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $910F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Block01 $9110 DEFW $1C10 ; Offset to bitmap image. Add $943e for absolute address. $9112 DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9113 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_DoorThin $9114 DEFW $1C40 ; Offset to bitmap image. Add $943e for absolute address. $9116 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9117 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_DoorThinSide $9118 DEFW $1CA0 ; Offset to bitmap image. Add $943e for absolute address. $911A DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $911B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Rock03 $911C DEFW $1D00 ; Offset to bitmap image. Add $943e for absolute address. $911E DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $911F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Rock04 $9120 DEFW $1D60 ; Offset to bitmap image. Add $943e for absolute address. $9122 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9123 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_RockEdge $9124 DEFW $1DC0 ; Offset to bitmap image. Add $943e for absolute address. $9126 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9127 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_StoneLarge $9128 DEFW $1E20 ; Offset to bitmap image. Add $943e for absolute address. $912A DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $912B DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_StoneTwin $912C DEFW $1E50 ; Offset to bitmap image. Add $943e for absolute address. $912E DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $912F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Shrub01 $9130 DEFW $1E90 ; Offset to bitmap image. Add $943e for absolute address. $9132 DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9133 DEFB $05 ; Width of bitmap inchar blocks. @label= BitmapData_DoorLarge $9134 DEFW $1F58 ; Offset to bitmap image. Add $943e for absolute address. $9136 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9137 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_DoorLargeSide $9138 DEFW $2018 ; Offset to bitmap image. Add $943e for absolute address. $913A DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $913B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Plant01 $913C DEFW $2078 ; Offset to bitmap image. Add $943e for absolute address. $913E DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $913F DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_Wall01 $9140 DEFW $20D8 ; Offset to bitmap image. Add $943e for absolute address. $9142 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9143 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Block02 $9144 DEFW $2198 ; Offset to bitmap image. Add $943e for absolute address. $9146 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9147 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_BlockPanel $9148 DEFW $21F8 ; Offset to bitmap image. Add $943e for absolute address. $914A DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $914B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Shrub02 $914C DEFW $2258 ; Offset to bitmap image. Add $943e for absolute address. $914E DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $914F DEFB $06 ; Width of bitmap inchar blocks. @label= BitmapData_GorseMiddle $9150 DEFW $2348 ; Offset to bitmap image. Add $943e for absolute address. $9152 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9153 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_GorseEdge $9154 DEFW $2408 ; Offset to bitmap image. Add $943e for absolute address. $9156 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9157 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_StoneMedium $9158 DEFW $2468 ; Offset to bitmap image. Add $943e for absolute address. $915A DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $915B DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_GorseEntrance $915C DEFW $2498 ; Offset to bitmap image. Add $943e for absolute address. $915E DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $915F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_GorseEntranceSide $9160 DEFW $2558 ; Offset to bitmap image. Add $943e for absolute address. $9162 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9163 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Plant02 $9164 DEFW $25B8 ; Offset to bitmap image. Add $943e for absolute address. $9166 DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9167 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Plant03 $9168 DEFW $2638 ; Offset to bitmap image. Add $943e for absolute address. $916A DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $916B DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_Plant04 $916C DEFW $2698 ; Offset to bitmap image. Add $943e for absolute address. $916E DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $916F DEFB $06 ; Width of bitmap inchar blocks. @label= BitmapData_Plant05 $9170 DEFW $2728 ; Offset to bitmap image. Add $943e for absolute address. $9172 DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9173 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Plant06 $9174 DEFW $27A8 ; Offset to bitmap image. Add $943e for absolute address. $9176 DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9177 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Plant07 $9178 DEFW $2848 ; Offset to bitmap image. Add $943e for absolute address. $917A DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $917B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_StoneOther $917C DEFW $2898 ; Offset to bitmap image. Add $943e for absolute address. $917E DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. @label=BmpData_Rock1 $917F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Shrub0 $9180 DEFW $28B8 ; Offset to bitmap image. Add $943e for absolute address. $9182 DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9183 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_WaterFall $9184 DEFW $2958 ; Offset to bitmap image. Add $943e for absolute address. $9186 DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. @label=BmpData_Waterfall_width $9187 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Blank4 $9188 DEFW $29A8 ; Offset to bitmap image. Add $943e for absolute address. $918A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $918B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Lump $918C DEFW $29B8 ; Offset to bitmap image. Add $943e for absolute address. $918E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $918F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Tablet $9190 DEFW $29C8 ; Offset to bitmap image. Add $943e for absolute address. $9192 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9193 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Thing01 $9194 DEFW $2A28 ; Offset to bitmap image. Add $943e for absolute address. $9196 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9197 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Thing02 $9198 DEFW $2A30 ; Offset to bitmap image. Add $943e for absolute address. $919A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $919B DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Scorpian $919C DEFW $2A38 ; Offset to bitmap image. Add $943e for absolute address. $919E DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $919F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Tree01 $91A0 DEFW $2AB8 ; Offset to bitmap image. Add $943e for absolute address. $91A2 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91A3 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Tree02 $91A4 DEFW $2B78 ; Offset to bitmap image. Add $943e for absolute address. $91A6 DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91A7 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_Tree03 $91A8 DEFW $2C38 ; Offset to bitmap image. Add $943e for absolute address. $91AA DEFB $86 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91AB DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Cross $91AC DEFW $2C98 ; Offset to bitmap image. Add $943e for absolute address. $91AE DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91AF DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_OlcWeed01 $91B0 DEFW $2D10 ; Offset to bitmap image. Add $943e for absolute address. $91B2 DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91B3 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_OlcWeed02 $91B4 DEFW $2D50 ; Offset to bitmap image. Add $943e for absolute address. $91B6 DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91B7 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_OlcWeed03 $91B8 DEFW $2D90 ; Offset to bitmap image. Add $943e for absolute address. $91BA DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91BB DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_OlcWeed04 $91BC DEFW $2DC0 ; Offset to bitmap image. Add $943e for absolute address. $91BE DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91BF DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_OlcWeed05 $91C0 DEFW $2DF0 ; Offset to bitmap image. Add $943e for absolute address. $91C2 DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91C3 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_OlcWeed06 $91C4 DEFW $2E20 ; Offset to bitmap image. Add $943e for absolute address. $91C6 DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91C7 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Caudlron $91C8 DEFW $2E60 ; Offset to bitmap image. Add $943e for absolute address. $91CA DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91CB DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Blank5 $91CC DEFW $2E80 ; Offset to bitmap image. Add $943e for absolute address. $91CE DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91CF DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Spear $91D0 DEFW $2E88 ; Offset to bitmap image. Add $943e for absolute address. $91D2 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91D3 DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_Sword $91D4 DEFW $2EA0 ; Offset to bitmap image. Add $943e for absolute address. $91D6 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91D7 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Book $91D8 DEFW $2EC0 ; Offset to bitmap image. Add $943e for absolute address. $91DA DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91DB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Candle $91DC DEFW $2ED0 ; Offset to bitmap image. Add $943e for absolute address. $91DE DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91DF DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Axe $91E0 DEFW $2EF0 ; Offset to bitmap image. Add $943e for absolute address. $91E2 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91E3 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Mace $91E4 DEFW $2F10 ; Offset to bitmap image. Add $943e for absolute address. $91E6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91E7 DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_Spade $91E8 DEFW $2F28 ; Offset to bitmap image. Add $943e for absolute address. $91EA DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91EB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Torc $91EC DEFW $2F38 ; Offset to bitmap image. Add $943e for absolute address. $91EE DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91EF DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_TorcHalf01 $91F0 DEFW $2F58 ; Offset to bitmap image. Add $943e for absolute address. $91F2 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91F3 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Dagger $91F4 DEFW $2F68 ; Offset to bitmap image. Add $943e for absolute address. $91F6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91F7 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Bucket $91F8 DEFW $2F78 ; Offset to bitmap image. Add $943e for absolute address. $91FA DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91FB DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Harp $91FC DEFW $2F98 ; Offset to bitmap image. Add $943e for absolute address. $91FE DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $91FF DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_TabletSmall $9200 DEFW $2FB8 ; Offset to bitmap image. Add $943e for absolute address. $9202 DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9203 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Chain $9204 DEFW $2FE8 ; Offset to bitmap image. Add $943e for absolute address. $9206 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9207 DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_Feather $9208 DEFW $3000 ; Offset to bitmap image. Add $943e for absolute address. $920A DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $920B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Goblet $920C DEFW $3020 ; Offset to bitmap image. Add $943e for absolute address. $920E DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $920F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Hachett $9210 DEFW $3030 ; Offset to bitmap image. Add $943e for absolute address. $9212 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9213 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Scroll $9214 DEFW $3050 ; Offset to bitmap image. Add $943e for absolute address. $9216 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9217 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Antlers $9218 DEFW $3070 ; Offset to bitmap image. Add $943e for absolute address. $921A DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $921B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Blank6 $921C DEFW $3090 ; Offset to bitmap image. Add $943e for absolute address. $921E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $921F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Crown $9220 DEFW $3098 ; Offset to bitmap image. Add $943e for absolute address. $9222 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9223 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Crystal $9224 DEFW $30B8 ; Offset to bitmap image. Add $943e for absolute address. $9226 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9227 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Sword02 $9228 DEFW $30D8 ; Offset to bitmap image. Add $943e for absolute address. $922A DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $922B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_Leaf $922C DEFW $30F8 ; Offset to bitmap image. Add $943e for absolute address. $922E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $922F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Thing03 $9230 DEFW $3100 ; Offset to bitmap image. Add $943e for absolute address. $9232 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9233 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Bottle $9234 DEFW $3110 ; Offset to bitmap image. Add $943e for absolute address. $9236 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9237 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Gem01 $9238 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $923A DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $923B DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_StoneThing $923C DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $923E DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $923F DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_Flint? $9240 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9242 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9243 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_Bit01 $9244 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9246 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9247 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_Bit02 $9248 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $924A DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $924B DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_key $924C DEFW $3120 ; Offset to bitmap image. Add $943e for absolute address. $924E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $924F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Dot $9250 DEFW $3128 ; Offset to bitmap image. Add $943e for absolute address. $9252 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9253 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Gem02 $9254 DEFW $3130 ; Offset to bitmap image. Add $943e for absolute address. $9256 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9257 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Sand $9258 DEFW $3138 ; Offset to bitmap image. Add $943e for absolute address. $925A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $925B DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_EggLarge $925C DEFW $3140 ; Offset to bitmap image. Add $943e for absolute address. $925E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $925F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Iris $9260 DEFW $3148 ; Offset to bitmap image. Add $943e for absolute address. $9262 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9263 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Pin $9264 DEFW $3150 ; Offset to bitmap image. Add $943e for absolute address. $9266 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9267 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_EggSmall $9268 DEFW $3160 ; Offset to bitmap image. Add $943e for absolute address. $926A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $926B DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Ring $926C DEFW $3168 ; Offset to bitmap image. Add $943e for absolute address. $926E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $926F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_Weight $9270 DEFW $3170 ; Offset to bitmap image. Add $943e for absolute address. $9272 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9273 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_94361 $9274 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9276 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9277 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_94362 $9278 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $927A DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $927B DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c5ae $927C DEFW $3178 ; Offset to bitmap image. Add $943e for absolute address. $927E DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $927F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_94363 $9280 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9282 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9283 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_94364 $9284 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9286 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9287 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c5ce $9288 DEFW $3198 ; Offset to bitmap image. Add $943e for absolute address. $928A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $928B DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_94365 $928C DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $928E DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $928F DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_94366 $9290 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9292 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9293 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_94367 $9294 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9296 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9297 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c5d6 $9298 DEFW $31A0 ; Offset to bitmap image. Add $943e for absolute address. $929A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $929B DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c5de $929C DEFW $31A8 ; Offset to bitmap image. Add $943e for absolute address. $929E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $929F DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c5e6 $92A0 DEFW $31B0 ; Offset to bitmap image. Add $943e for absolute address. $92A2 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92A3 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_94368 $92A4 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92A6 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92A7 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c5ee $92A8 DEFW $31B8 ; Offset to bitmap image. Add $943e for absolute address. $92AA DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92AB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c5f6 $92AC DEFW $31C0 ; Offset to bitmap image. Add $943e for absolute address. $92AE DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92AF DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_94369 $92B0 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92B2 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92B3 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_943610 $92B4 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92B6 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92B7 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c5fe $92B8 DEFW $31C8 ; Offset to bitmap image. Add $943e for absolute address. $92BA DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92BB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_943611 $92BC DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92BE DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92BF DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_943612 $92C0 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92C2 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92C3 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c606 $92C4 DEFW $31D0 ; Offset to bitmap image. Add $943e for absolute address. $92C6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92C7 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c60e $92C8 DEFW $31D8 ; Offset to bitmap image. Add $943e for absolute address. $92CA DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92CB DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_943613 $92CC DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92CE DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92CF DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c616 $92D0 DEFW $31E0 ; Offset to bitmap image. Add $943e for absolute address. $92D2 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92D3 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c61e $92D4 DEFW $31E8 ; Offset to bitmap image. Add $943e for absolute address. $92D6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92D7 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_943614 $92D8 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92DA DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92DB DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_943615 $92DC DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92DE DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92DF DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_943616 $92E0 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92E2 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92E3 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_943617 $92E4 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $92E6 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92E7 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c626 $92E8 DEFW $31F0 ; Offset to bitmap image. Add $943e for absolute address. $92EA DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92EB DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_c63e $92EC DEFW $3208 ; Offset to bitmap image. Add $943e for absolute address. $92EE DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92EF DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c646 $92F0 DEFW $3210 ; Offset to bitmap image. Add $943e for absolute address. $92F2 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92F3 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c64e $92F4 DEFW $3218 ; Offset to bitmap image. Add $943e for absolute address. $92F6 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92F7 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_c656 $92F8 DEFW $3220 ; Offset to bitmap image. Add $943e for absolute address. $92FA DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92FB DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_c6a6 $92FC DEFW $3270 ; Offset to bitmap image. Add $943e for absolute address. $92FE DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $92FF DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_943618 $9300 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9302 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9303 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_c6e6 $9304 DEFW $32B0 ; Offset to bitmap image. Add $943e for absolute address. $9306 DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9307 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_c786 $9308 DEFW $3350 ; Offset to bitmap image. Add $943e for absolute address. $930A DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $930B DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_c826 $930C DEFW $33F0 ; Offset to bitmap image. Add $943e for absolute address. $930E DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $930F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_c8c6 $9310 DEFW $3490 ; Offset to bitmap image. Add $943e for absolute address. $9312 DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9313 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_c966 $9314 DEFW $3530 ; Offset to bitmap image. Add $943e for absolute address. $9316 DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9317 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_ca06 $9318 DEFW $35D0 ; Offset to bitmap image. Add $943e for absolute address. $931A DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $931B DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_caa6 $931C DEFW $3670 ; Offset to bitmap image. Add $943e for absolute address. $931E DEFB $85 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $931F DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_943619 $9320 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9322 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9323 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_cb46 $9324 DEFW $3710 ; Offset to bitmap image. Add $943e for absolute address. $9326 DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9327 DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_cba6 $9328 DEFW $3770 ; Offset to bitmap image. Add $943e for absolute address. $932A DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $932B DEFB $03 ; Width of bitmap inchar blocks. @label= BitmapData_cc06 $932C DEFW $37D0 ; Offset to bitmap image. Add $943e for absolute address. $932E DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $932F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cc36 $9330 DEFW $3800 ; Offset to bitmap image. Add $943e for absolute address. $9332 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9333 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cc46 $9334 DEFW $3810 ; Offset to bitmap image. Add $943e for absolute address. $9336 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9337 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cc56 $9338 DEFW $3820 ; Offset to bitmap image. Add $943e for absolute address. $933A DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $933B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cc76 $933C DEFW $3840 ; Offset to bitmap image. Add $943e for absolute address. $933E DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $933F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cca6 $9340 DEFW $3870 ; Offset to bitmap image. Add $943e for absolute address. $9342 DEFB $83 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9343 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_ccd6 $9344 DEFW $38A0 ; Offset to bitmap image. Add $943e for absolute address. $9346 DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9347 DEFB $05 ; Width of bitmap inchar blocks. @label= BitmapData_cd76 $9348 DEFW $3940 ; Offset to bitmap image. Add $943e for absolute address. $934A DEFB $84 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $934B DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_cdf6 $934C DEFW $39C0 ; Offset to bitmap image. Add $943e for absolute address. $934E DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $934F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_ce16 $9350 DEFW $39E0 ; Offset to bitmap image. Add $943e for absolute address. $9352 DEFB $82 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9353 DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_943620 $9354 DEFW $0000 ; Offset to bitmap image. Add $943e for absolute address. $9356 DEFB $00 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9357 DEFB $00 ; Width of bitmap inchar blocks. @label= BitmapData_Compass $9358 DEFW $3A00 ; Offset to bitmap image. Add $943e for absolute address. $935A DEFB $05 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $935B DEFB $05 ; Width of bitmap inchar blocks. @label= BitmapData_cf17 $935C DEFW $3AE1 ; Offset to bitmap image. Add $943e for absolute address. $935E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $935F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cf27 $9360 DEFW $3AF1 ; Offset to bitmap image. Add $943e for absolute address. $9362 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9363 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_cf47 $9364 DEFW $3B11 ; Offset to bitmap image. Add $943e for absolute address. $9366 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9367 DEFB $04 ; Width of bitmap inchar blocks. @label= BitmapData_cf67 $9368 DEFW $3B31 ; Offset to bitmap image. Add $943e for absolute address. $936A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $936B DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cf77 $936C DEFW $3B41 ; Offset to bitmap image. Add $943e for absolute address. $936E DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $936F DEFB $02 ; Width of bitmap inchar blocks. @label= BitmapData_cf87 $9370 DEFW $3B51 ; Offset to bitmap image. Add $943e for absolute address. $9372 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9373 DEFB $20 ; Width of bitmap inchar blocks. @label= BitmapData_d087 $9374 DEFW $3C51 ; Offset to bitmap image. Add $943e for absolute address. $9376 DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $9377 DEFB $01 ; Width of bitmap inchar blocks. @label= BitmapData_d08f $9378 DEFW $3C59 ; Offset to bitmap image. Add $943e for absolute address. $937A DEFB $81 ; Height of bitmap in number of char blocks. Bit 7 set means bitmap has ; been mirrored. $937B DEFB $20 ; Width of bitmap inchar blocks. @label= BitmapData_d18f $937C DEFW $3D59 $937E DEFW $2083 @label= BitmapData_d48f $9380 DEFW $4059 $9382 DEFW $2083 @label= BitmapData_d78f $9384 DEFW $4359 $9386 DEFW $2082 @label= BitmapData_d98f $9388 DEFW $4559 $938A DEFW $2083 @label= BitmapData_dc8f $938C DEFW $4859 $938E DEFW $0181 @label= BitmapData_dc97 $9390 DEFW $4861 $9392 DEFW $0283 @label= BitmapData_dcc7 $9394 DEFW $4891 $9396 DEFW $0283 @label= BitmapData_dcf7 $9398 DEFW $48C1 $939A DEFW $0283 @label= BitmapData_dd27 $939C DEFW $48F1 $939E DEFW $0283 @label= BitmapData_943621 $93A0 DEFW $0000 $93A2 DEFW $0000 @label= BitmapData_943622 $93A4 DEFW $0000 $93A6 DEFW $0000 @label= BitmapData_943623 $93A8 DEFW $0000 $93AA DEFW $0000 @label= BitmapData_dd57 $93AC DEFB $21,$49,$82,$03 ; Birds 1 @label= BitmapData_dd87 $93B0 DEFB $51,$49,$82,$03,$81,$49,$87,$05 ; Birds 2 @label= BitmapData_decf $93B8 DEFB $99,$4A,$81,$05,$C1,$4A,$81,$03 @label= BitmapData_df0f $93C0 DEFB $D9,$4A,$81,$03,$F1,$4A,$81,$05 @label= BitmapData_df4f $93C8 DEFB $19,$4B,$81,$03,$31,$4B,$81,$03 ; A link in the link list. @label=Link b$93D0 DEFW $0000 ; [0] Pointer to next link. $93D2 DEFB $00 ; [2] $93D3 DEFW $0000 ; [3] Address of function. $93D5 DEFB $00,$00,$00,$00 ; [5] $93D9 DEFB $00 ; [9] Y pos of offscreen. $93DA DEFB $00 ; [A] Movement left before next check. $93DB DEFB $00 ; [B] Bitmap index. $93DC DEFB $00 ; [C] Set if active $93DD DEFB $00 ; [D] $93DE DEFB $00,$00,$00,$00,$00,$00 ; Next Link b$93E4 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $93EC DEFB $00,$00,$00,$00,$00,$00,$00,$00 $93F4 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $93FC DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9404 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $940C DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9414 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $941C DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9424 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $942C DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9434 DEFB $49,$4B ; _9436 b$9436 DEFB $3E,$20,$20,$38,$20,$20,$3E,$00 ; _943e b$943E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9446 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $944E DEFB $00,$00,$01,$F0,$00,$00,$07,$78 $9456 DEFB $00,$00,$3E,$C4,$00,$01,$F6,$84 $945E DEFB $00,$00,$7F,$94,$00,$00,$FF,$84 $9466 DEFB $00,$00,$3D,$84,$00,$00,$62,$08 $946E DEFB $00,$00,$80,$70,$00,$03,$00,$80 $9476 DEFB $00,$04,$08,$80,$00,$08,$30,$80 $947E DEFB $00,$08,$C0,$80,$00,$11,$84,$80 $9486 DEFB $00,$22,$80,$80,$00,$23,$01,$00 $948E DEFB $00,$25,$01,$00,$00,$4A,$02,$00 $9496 DEFB $00,$4A,$06,$00,$00,$92,$05,$00 $949E DEFB $00,$97,$04,$F8,$01,$27,$CC,$04 $94A6 DEFB $02,$4D,$FB,$84,$04,$5B,$F8,$64 $94AE DEFB $04,$9B,$F0,$18,$03,$9B,$F0,$00 $94B6 DEFB $00,$1B,$E0,$00,$00,$19,$F0,$00 $94BE DEFB $00,$1D,$F0,$00,$00,$1D,$F8,$00 $94C6 DEFB $00,$3D,$F8,$00,$00,$3C,$F8,$00 $94CE DEFB $00,$7E,$FC,$00,$00,$7E,$FC,$00 $94D6 DEFB $00,$7F,$FC,$00,$00,$FE,$FC,$00 $94DE DEFB $00,$FC,$FE,$00,$01,$F8,$7E,$00 $94E6 DEFB $01,$70,$7F,$00,$02,$30,$39,$00 $94EE DEFB $04,$10,$31,$00,$06,$20,$21,$00 $94F6 DEFB $05,$40,$13,$00,$18,$80,$1D,$08 $94FE DEFB $21,$00,$08,$94,$41,$00,$04,$A4 $9506 DEFB $42,$00,$02,$48,$31,$80,$02,$08 $950E DEFB $08,$40,$02,$10,$04,$20,$02,$20 $9516 DEFB $03,$C0,$01,$40,$00,$00,$00,$80 ; _951e b$951E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9526 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $952E DEFB $00,$00,$00,$00,$00,$00,$03,$F0 $9536 DEFB $00,$01,$C7,$78,$00,$00,$7E,$C4 $953E DEFB $00,$01,$F6,$84,$00,$00,$7F,$94 $9546 DEFB $00,$00,$7F,$84,$00,$00,$3D,$84 $954E DEFB $00,$00,$62,$08,$00,$00,$80,$70 $9556 DEFB $00,$01,$00,$80,$00,$01,$18,$80 $955E DEFB $00,$02,$10,$80,$00,$04,$20,$80 $9566 DEFB $00,$04,$44,$80,$00,$08,$80,$80 $956E DEFB $00,$11,$01,$00,$00,$11,$01,$00 $9576 DEFB $00,$22,$02,$00,$00,$22,$06,$00 $957E DEFB $00,$26,$06,$00,$00,$47,$05,$00 $9586 DEFB $00,$4F,$C8,$80,$00,$4F,$F4,$80 $958E DEFB $00,$9F,$FA,$60,$01,$1F,$F9,$10 $9596 DEFB $01,$1B,$F9,$10,$01,$3B,$F8,$A0 $959E DEFB $00,$DB,$F0,$C0,$00,$1D,$F8,$00 $95A6 DEFB $00,$1D,$FC,$00,$00,$1E,$FE,$00 $95AE DEFB $00,$1E,$FE,$00,$00,$3E,$FE,$00 $95B6 DEFB $00,$3F,$7F,$00,$00,$3F,$FF,$00 $95BE DEFB $00,$7F,$3F,$80,$01,$FF,$1F,$80 $95C6 DEFB $02,$FE,$1F,$80,$04,$7E,$0F,$80 $95CE DEFB $04,$3C,$0F,$C0,$0E,$10,$08,$40 $95D6 DEFB $11,$60,$08,$40,$61,$80,$0F,$C0 $95DE DEFB $82,$00,$04,$80,$84,$00,$04,$80 $95E6 DEFB $44,$00,$08,$80,$43,$00,$04,$40 $95EE DEFB $20,$80,$04,$38,$1F,$00,$04,$04 $95F6 DEFB $00,$00,$02,$04,$00,$00,$03,$F8 ; _95fe b$95FE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9606 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $960E DEFB $00,$00,$00,$00,$00,$00,$40,$00 $9616 DEFB $00,$00,$23,$F0,$00,$01,$DF,$78 $961E DEFB $00,$00,$7E,$C4,$00,$00,$76,$84 $9626 DEFB $00,$00,$3F,$94,$00,$00,$1F,$84 $962E DEFB $00,$00,$3D,$84,$00,$00,$62,$08 $9636 DEFB $00,$00,$80,$70,$00,$01,$00,$80 $963E DEFB $00,$01,$18,$80,$00,$01,$10,$80 $9646 DEFB $00,$02,$20,$80,$00,$02,$24,$80 $964E DEFB $00,$02,$40,$80,$00,$04,$41,$00 $9656 DEFB $00,$04,$41,$00,$00,$04,$82,$00 $965E DEFB $00,$0C,$86,$00,$00,$0C,$86,$00 $9666 DEFB $00,$0C,$84,$00,$00,$0C,$C8,$00 $966E DEFB $00,$1C,$F4,$00,$00,$1C,$FB,$00 $9676 DEFB $00,$1E,$78,$80,$00,$1C,$7C,$80 $967E DEFB $00,$1E,$74,$80,$00,$1B,$FB,$00 $9686 DEFB $00,$1D,$F8,$00,$00,$1D,$FC,$00 $968E DEFB $00,$0E,$FE,$00,$00,$0E,$FE,$00 $9696 DEFB $00,$0F,$7F,$00,$00,$0F,$FF,$80 $969E DEFB $00,$1F,$DF,$C0,$00,$7F,$CF,$C0 $96A6 DEFB $03,$FF,$87,$E0,$04,$3F,$8F,$E0 $96AE DEFB $06,$1F,$0F,$E0,$19,$1C,$09,$C0 $96B6 DEFB $21,$10,$10,$40,$21,$E0,$1C,$20 $96BE DEFB $22,$00,$13,$40,$44,$00,$21,$80 $96C6 DEFB $44,$00,$42,$00,$44,$00,$4C,$00 $96CE DEFB $24,$00,$87,$00,$18,$00,$80,$80 $96D6 DEFB $00,$00,$80,$80,$00,$00,$7F,$00 ; _96de b$96DE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $96E6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $96EE DEFB $00,$00,$03,$F0,$00,$00,$3F,$78 $96F6 DEFB $00,$00,$7E,$C4,$00,$00,$B6,$84 $96FE DEFB $00,$00,$7F,$94,$00,$00,$9F,$84 $9706 DEFB $00,$00,$3D,$84,$00,$00,$62,$08 $970E DEFB $00,$00,$80,$70,$00,$00,$80,$80 $9716 DEFB $00,$01,$18,$80,$00,$01,$10,$80 $971E DEFB $00,$01,$20,$80,$00,$02,$24,$80 $9726 DEFB $00,$02,$40,$80,$00,$02,$41,$00 $972E DEFB $00,$02,$41,$00,$00,$02,$42,$00 $9736 DEFB $00,$02,$46,$00,$00,$06,$46,$00 $973E DEFB $00,$0E,$44,$00,$00,$0E,$48,$00 $9746 DEFB $00,$1E,$78,$00,$00,$1E,$7C,$00 $974E DEFB $00,$1F,$3A,$00,$00,$1F,$1A,$00 $9756 DEFB $00,$0F,$1E,$00,$00,$0B,$B8,$00 $975E DEFB $00,$05,$FC,$00,$00,$05,$FC,$00 $9766 DEFB $00,$02,$FC,$00,$00,$02,$FC,$00 $976E DEFB $00,$03,$7C,$00,$00,$03,$3E,$00 $9776 DEFB $00,$03,$BE,$00,$00,$07,$BE,$00 $977E DEFB $00,$1F,$BE,$00,$00,$FF,$BE,$00 $9786 DEFB $01,$0F,$FE,$00,$01,$87,$7C,$00 $978E DEFB $06,$47,$7C,$00,$08,$44,$98,$00 $9796 DEFB $08,$79,$08,$00,$08,$81,$84,$00 $979E DEFB $11,$01,$4C,$00,$11,$02,$38,$00 $97A6 DEFB $11,$02,$20,$00,$09,$02,$40,$00 $97AE DEFB $06,$04,$38,$00,$00,$04,$04,$00 $97B6 DEFB $00,$04,$04,$00,$00,$03,$F8,$00 ; _97be b$97BE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $97C6 DEFB $00,$00,$03,$F0,$00,$00,$0F,$78 $97CE DEFB $00,$00,$1E,$C4,$00,$00,$16,$84 $97D6 DEFB $00,$00,$7F,$94,$00,$00,$BF,$84 $97DE DEFB $00,$00,$7D,$84,$00,$00,$B2,$08 $97E6 DEFB $00,$00,$40,$70,$00,$00,$A2,$80 $97EE DEFB $00,$01,$42,$80,$00,$03,$44,$80 $97F6 DEFB $00,$05,$44,$80,$00,$0A,$8C,$80 $97FE DEFB $00,$12,$88,$80,$00,$12,$89,$00 $9806 DEFB $00,$12,$89,$00,$00,$12,$4A,$00 $980E DEFB $00,$0A,$4A,$00,$00,$0A,$4A,$00 $9816 DEFB $00,$06,$44,$00,$00,$06,$24,$00 $981E DEFB $00,$0F,$E4,$00,$00,$1F,$E4,$00 $9826 DEFB $00,$1F,$F3,$00,$00,$1F,$F0,$80 $982E DEFB $00,$0F,$E8,$80,$00,$0F,$EC,$80 $9836 DEFB $00,$0F,$EF,$00,$00,$07,$EC,$00 $983E DEFB $00,$07,$EE,$00,$00,$07,$DE,$00 $9846 DEFB $00,$07,$DF,$00,$00,$07,$DF,$00 $984E DEFB $00,$07,$DF,$80,$00,$07,$DF,$80 $9856 DEFB $00,$0F,$DF,$80,$00,$0F,$DF,$00 $985E DEFB $00,$0F,$DF,$00,$00,$7F,$BC,$00 $9866 DEFB $00,$9F,$70,$00,$00,$9F,$60,$00 $986E DEFB $00,$BF,$C0,$00,$00,$A1,$00,$00 $9876 DEFB $00,$A0,$80,$00,$00,$58,$80,$00 $987E DEFB $00,$57,$00,$00,$00,$31,$00,$00 $9886 DEFB $00,$12,$00,$00,$00,$0A,$00,$00 $988E DEFB $00,$11,$C0,$00,$00,$10,$30,$00 $9896 DEFB $00,$10,$10,$00,$00,$0F,$E0,$00 ; _989e b$989E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $98A6 DEFB $00,$00,$00,$00,$00,$00,$03,$F0 $98AE DEFB $00,$00,$07,$78,$00,$00,$1E,$C4 $98B6 DEFB $00,$00,$36,$84,$00,$00,$7F,$94 $98BE DEFB $00,$01,$FF,$84,$00,$00,$7D,$84 $98C6 DEFB $00,$00,$B2,$08,$00,$00,$40,$70 $98CE DEFB $00,$00,$A0,$80,$00,$01,$40,$80 $98D6 DEFB $00,$03,$44,$80,$00,$06,$44,$80 $98DE DEFB $00,$0A,$44,$80,$00,$12,$44,$80 $98E6 DEFB $00,$26,$45,$00,$00,$24,$45,$00 $98EE DEFB $00,$24,$46,$00,$00,$44,$46,$00 $98F6 DEFB $00,$4C,$46,$00,$00,$4C,$44,$00 $98FE DEFB $00,$4C,$22,$00,$00,$4F,$11,$00 $9906 DEFB $00,$9F,$F8,$80,$00,$9F,$FC,$60 $990E DEFB $00,$9F,$F7,$10,$00,$7F,$F5,$10 $9916 DEFB $00,$1F,$F7,$E0,$00,$0F,$F6,$00 $991E DEFB $00,$0F,$EF,$80,$00,$07,$EF,$C0 $9926 DEFB $00,$07,$EF,$E0,$00,$07,$FF,$E0 $992E DEFB $00,$0F,$E7,$E0,$00,$0F,$C7,$C0 $9936 DEFB $00,$0F,$CF,$C0,$00,$1F,$CF,$C0 $993E DEFB $00,$1F,$90,$80,$00,$1F,$90,$40 $9946 DEFB $00,$3F,$9C,$80,$00,$7F,$27,$00 $994E DEFB $00,$CE,$24,$00,$00,$82,$44,$00 $9956 DEFB $00,$82,$44,$00,$00,$F6,$43,$00 $995E DEFB $00,$4C,$20,$80,$00,$4C,$08,$80 $9966 DEFB $00,$48,$07,$00,$00,$48,$00,$00 $996E DEFB $00,$87,$00,$00,$00,$80,$80,$00 $9976 DEFB $00,$80,$80,$00,$00,$7F,$00,$00 ; _997e b$997E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9986 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $998E DEFB $00,$00,$03,$F0,$00,$00,$07,$78 $9996 DEFB $00,$00,$3E,$C4,$00,$01,$F6,$84 $999E DEFB $00,$00,$7F,$94,$00,$00,$FF,$84 $99A6 DEFB $00,$00,$1D,$84,$00,$00,$32,$08 $99AE DEFB $00,$00,$40,$70,$00,$00,$A0,$80 $99B6 DEFB $00,$01,$40,$80,$00,$03,$44,$80 $99BE DEFB $00,$06,$44,$80,$00,$0A,$44,$80 $99C6 DEFB $00,$12,$44,$80,$00,$26,$45,$00 $99CE DEFB $00,$24,$45,$00,$00,$24,$46,$00 $99D6 DEFB $00,$44,$26,$00,$00,$4C,$26,$00 $99DE DEFB $00,$8C,$24,$00,$00,$9C,$22,$00 $99E6 DEFB $00,$AF,$11,$C0,$01,$1F,$F8,$20 $99EE DEFB $02,$3F,$FE,$20,$02,$3F,$F5,$20 $99F6 DEFB $01,$DF,$F4,$C0,$00,$1F,$F6,$00 $99FE DEFB $00,$1F,$DE,$00,$00,$0F,$DF,$00 $9A06 DEFB $00,$0F,$DF,$00,$00,$0F,$DF,$80 $9A0E DEFB $00,$1F,$FF,$80,$00,$1F,$BF,$C0 $9A16 DEFB $00,$1F,$9F,$C0,$00,$3F,$8F,$C0 $9A1E DEFB $00,$7F,$0F,$E0,$00,$7F,$0F,$C0 $9A26 DEFB $00,$FE,$07,$E0,$01,$FC,$0E,$20 $9A2E DEFB $03,$38,$08,$20,$02,$08,$04,$E0 $9A36 DEFB $03,$08,$07,$A0,$03,$C8,$02,$2E $9A3E DEFB $02,$30,$01,$11,$04,$20,$01,$01 $9A46 DEFB $08,$40,$01,$06,$08,$40,$01,$18 $9A4E DEFB $08,$30,$00,$E0,$06,$08,$00,$00 $9A56 DEFB $01,$08,$00,$00,$00,$F0,$00,$00 ; _9a5e b$9A5E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9A66 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9A6E DEFB $00,$00,$01,$F0,$00,$00,$07,$78 $9A76 DEFB $00,$00,$3E,$C4,$00,$01,$F6,$84 $9A7E DEFB $00,$00,$7F,$94,$00,$00,$FF,$84 $9A86 DEFB $00,$00,$3D,$84,$00,$00,$62,$08 $9A8E DEFB $00,$00,$C0,$70,$00,$01,$42,$80 $9A96 DEFB $00,$02,$44,$80,$00,$04,$A4,$80 $9A9E DEFB $00,$08,$A2,$80,$00,$11,$A2,$80 $9AA6 DEFB $00,$22,$A2,$80,$00,$23,$23,$00 $9AAE DEFB $00,$25,$23,$00,$00,$4A,$12,$00 $9AB6 DEFB $00,$4A,$12,$00,$00,$92,$11,$00 $9ABE DEFB $00,$97,$10,$F8,$01,$27,$CC,$04 $9AC6 DEFB $02,$2F,$FF,$84,$02,$2F,$FC,$64 $9ACE DEFB $01,$DF,$F8,$18,$00,$1F,$F8,$00 $9AD6 DEFB $00,$1F,$D0,$00,$00,$1F,$D0,$00 $9ADE DEFB $00,$1F,$B0,$00,$00,$1F,$B8,$00 $9AE6 DEFB $00,$3F,$B8,$00,$00,$3F,$78,$00 $9AEE DEFB $00,$7F,$7C,$00,$00,$7F,$7C,$00 $9AF6 DEFB $00,$7F,$FC,$00,$00,$FE,$FC,$00 $9AFE DEFB $00,$FC,$FE,$00,$01,$F8,$7E,$00 $9B06 DEFB $01,$70,$7F,$00,$02,$30,$39,$00 $9B0E DEFB $04,$10,$31,$00,$06,$20,$21,$00 $9B16 DEFB $05,$40,$13,$00,$18,$80,$1D,$0C $9B1E DEFB $21,$00,$08,$92,$21,$00,$04,$E2 $9B26 DEFB $21,$00,$02,$04,$11,$80,$02,$08 $9B2E DEFB $08,$40,$02,$10,$04,$20,$01,$E0 $9B36 DEFB $02,$20,$00,$00,$01,$C0,$00,$00 ; _9b3e b$9B3E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9B46 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9B4E DEFB $00,$00,$00,$00,$00,$00,$03,$F0 $9B56 DEFB $00,$01,$C7,$78,$00,$00,$7E,$C4 $9B5E DEFB $00,$01,$F6,$84,$00,$00,$7F,$94 $9B66 DEFB $00,$00,$7F,$84,$00,$00,$3D,$84 $9B6E DEFB $00,$00,$62,$08,$00,$00,$D0,$70 $9B76 DEFB $00,$01,$A0,$80,$00,$01,$A2,$80 $9B7E DEFB $00,$02,$A4,$80,$00,$05,$44,$80 $9B86 DEFB $00,$05,$44,$80,$00,$09,$44,$80 $9B8E DEFB $00,$11,$45,$00,$00,$11,$25,$00 $9B96 DEFB $00,$22,$22,$00,$00,$22,$22,$00 $9B9E DEFB $00,$26,$22,$00,$00,$47,$21,$00 $9BA6 DEFB $00,$4F,$D8,$80,$00,$CF,$F4,$40 $9BAE DEFB $01,$1F,$FA,$20,$01,$3F,$F9,$10 $9BB6 DEFB $00,$DF,$E9,$10,$00,$1F,$E8,$90 $9BBE DEFB $00,$1F,$E8,$E0,$00,$1F,$D8,$00 $9BC6 DEFB $00,$1F,$DC,$00,$00,$1F,$DE,$00 $9BCE DEFB $00,$1F,$BE,$00,$00,$3F,$BE,$00 $9BD6 DEFB $00,$3F,$BF,$00,$00,$3F,$FF,$00 $9BDE DEFB $00,$7F,$3F,$80,$01,$FF,$1F,$80 $9BE6 DEFB $02,$FE,$1F,$80,$04,$7E,$0F,$80 $9BEE DEFB $04,$3C,$0F,$C0,$0E,$10,$08,$40 $9BF6 DEFB $11,$60,$08,$40,$61,$80,$0F,$C0 $9BFE DEFB $42,$00,$04,$80,$42,$00,$04,$80 $9C06 DEFB $42,$00,$08,$60,$33,$00,$04,$3C $9C0E DEFB $10,$80,$04,$02,$08,$40,$04,$02 $9C16 DEFB $04,$40,$03,$FC,$03,$80,$00,$00 ; _9c1e b$9C1E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9C26 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9C2E DEFB $00,$00,$00,$00,$00,$00,$40,$00 $9C36 DEFB $00,$00,$23,$F0,$00,$01,$DF,$78 $9C3E DEFB $00,$00,$7E,$C4,$00,$00,$76,$84 $9C46 DEFB $00,$00,$3F,$94,$00,$00,$1F,$84 $9C4E DEFB $00,$00,$3D,$84,$00,$00,$62,$08 $9C56 DEFB $00,$00,$80,$70,$00,$01,$04,$80 $9C5E DEFB $00,$02,$88,$80,$00,$05,$08,$80 $9C66 DEFB $00,$05,$10,$80,$00,$05,$14,$80 $9C6E DEFB $00,$05,$10,$80,$00,$05,$11,$00 $9C76 DEFB $00,$05,$11,$00,$00,$05,$12,$00 $9C7E DEFB $00,$09,$0A,$00,$00,$08,$8C,$00 $9C86 DEFB $00,$0E,$8C,$00,$00,$0F,$C8,$00 $9C8E DEFB $00,$1F,$E4,$00,$00,$1F,$F3,$00 $9C96 DEFB $00,$1F,$F8,$80,$00,$1F,$FC,$80 $9C9E DEFB $00,$1F,$EC,$80,$00,$0F,$EB,$00 $9CA6 DEFB $00,$0F,$E8,$00,$00,$0F,$EC,$00 $9CAE DEFB $00,$0F,$EE,$00,$00,$0F,$EE,$00 $9CB6 DEFB $00,$0F,$CF,$80,$00,$1F,$DF,$C0 $9CBE DEFB $00,$1F,$F7,$E0,$00,$1F,$C7,$E0 $9CC6 DEFB $00,$7F,$8F,$E0,$03,$FF,$09,$C0 $9CCE DEFB $04,$3E,$10,$40,$06,$1E,$1C,$20 $9CD6 DEFB $19,$1C,$13,$40,$21,$10,$21,$80 $9CDE DEFB $21,$E0,$42,$00,$22,$00,$4C,$00 $9CE6 DEFB $44,$00,$87,$00,$44,$00,$80,$80 $9CEE DEFB $44,$00,$80,$80,$24,$00,$7F,$00 $9CF6 DEFB $18,$00,$00,$00,$00,$00,$00,$00 ; _9cfe b$9CFE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9D06 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9D0E DEFB $00,$00,$03,$F0,$00,$00,$3F,$78 $9D16 DEFB $00,$00,$7E,$C4,$00,$00,$B6,$84 $9D1E DEFB $00,$00,$7F,$94,$00,$00,$9F,$84 $9D26 DEFB $00,$00,$3D,$84,$00,$00,$62,$08 $9D2E DEFB $00,$00,$A0,$70,$00,$00,$C4,$80 $9D36 DEFB $00,$01,$48,$80,$00,$01,$88,$80 $9D3E DEFB $00,$01,$90,$80,$00,$02,$94,$80 $9D46 DEFB $00,$02,$90,$80,$00,$02,$91,$00 $9D4E DEFB $00,$02,$91,$00,$00,$02,$92,$00 $9D56 DEFB $00,$02,$92,$00,$00,$06,$96,$00 $9D5E DEFB $00,$0F,$94,$00,$00,$0F,$C8,$00 $9D66 DEFB $00,$1F,$C8,$00,$00,$1F,$E6,$00 $9D6E DEFB $00,$1F,$F1,$00,$00,$1F,$F1,$00 $9D76 DEFB $00,$0F,$FE,$00,$00,$0F,$F8,$00 $9D7E DEFB $00,$07,$FC,$00,$00,$07,$F4,$00 $9D86 DEFB $00,$07,$F4,$00,$00,$03,$F4,$00 $9D8E DEFB $00,$03,$F4,$00,$00,$03,$EE,$00 $9D96 DEFB $00,$03,$EE,$00,$00,$03,$EE,$00 $9D9E DEFB $00,$07,$EE,$00,$00,$1F,$EE,$00 $9DA6 DEFB $00,$FF,$DC,$00,$01,$0F,$BC,$00 $9DAE DEFB $01,$87,$FC,$00,$06,$46,$9C,$00 $9DB6 DEFB $08,$45,$04,$00,$08,$78,$88,$00 $9DBE DEFB $08,$81,$70,$00,$11,$01,$10,$00 $9DC6 DEFB $11,$02,$20,$00,$11,$01,$3C,$00 $9DCE DEFB $09,$01,$02,$00,$06,$01,$02,$00 $9DD6 DEFB $00,$00,$FC,$00,$00,$00,$00,$00 ; _9dde b$9DDE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9DE6 DEFB $00,$00,$03,$F0,$00,$00,$0F,$78 $9DEE DEFB $00,$00,$1E,$C4,$00,$00,$76,$84 $9DF6 DEFB $00,$00,$FF,$94,$00,$01,$7F,$84 $9DFE DEFB $00,$00,$FD,$84,$00,$01,$62,$08 $9E06 DEFB $00,$00,$80,$70,$00,$01,$00,$80 $9E0E DEFB $00,$01,$18,$80,$00,$01,$10,$80 $9E16 DEFB $00,$02,$20,$80,$00,$02,$24,$80 $9E1E DEFB $00,$02,$40,$80,$00,$04,$41,$00 $9E26 DEFB $00,$04,$41,$00,$00,$04,$82,$00 $9E2E DEFB $00,$0C,$82,$00,$00,$0C,$86,$00 $9E36 DEFB $00,$0C,$84,$00,$00,$0C,$C8,$00 $9E3E DEFB $00,$1C,$F4,$00,$00,$1C,$FB,$00 $9E46 DEFB $00,$3E,$78,$80,$00,$3C,$7C,$80 $9E4E DEFB $00,$1E,$7B,$00,$00,$1B,$F8,$00 $9E56 DEFB $00,$0B,$F8,$00,$00,$0D,$F8,$00 $9E5E DEFB $00,$0D,$FC,$00,$00,$0D,$FC,$00 $9E66 DEFB $00,$0E,$FE,$00,$00,$07,$7E,$00 $9E6E DEFB $00,$07,$7F,$00,$00,$07,$7F,$00 $9E76 DEFB $00,$0F,$7F,$00,$00,$0C,$FE,$00 $9E7E DEFB $00,$3F,$FE,$00,$00,$43,$F8,$00 $9E86 DEFB $00,$61,$E0,$00,$01,$91,$C0,$00 $9E8E DEFB $02,$13,$80,$00,$02,$1E,$00,$00 $9E96 DEFB $02,$21,$00,$00,$04,$61,$00,$00 $9E9E DEFB $04,$5F,$00,$00,$04,$52,$00,$00 $9EA6 DEFB $02,$52,$00,$00,$01,$A1,$C0,$00 $9EAE DEFB $00,$10,$30,$00,$00,$10,$10,$00 $9EB6 DEFB $00,$0F,$E0,$00,$00,$00,$00,$00 ; _9ebe b$9EBE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9EC6 DEFB $00,$00,$00,$00,$00,$00,$03,$F0 $9ECE DEFB $00,$00,$07,$78,$00,$00,$1E,$C4 $9ED6 DEFB $00,$00,$76,$84,$00,$01,$FF,$94 $9EDE DEFB $00,$01,$7F,$84,$00,$00,$BD,$84 $9EE6 DEFB $00,$00,$62,$08,$00,$00,$80,$70 $9EEE DEFB $00,$01,$00,$80,$00,$01,$18,$80 $9EF6 DEFB $00,$02,$10,$80,$00,$04,$20,$80 $9EFE DEFB $00,$04,$44,$80,$00,$08,$80,$80 $9F06 DEFB $00,$11,$01,$00,$00,$11,$01,$00 $9F0E DEFB $00,$22,$02,$00,$00,$22,$02,$00 $9F16 DEFB $00,$26,$06,$00,$00,$47,$05,$00 $9F1E DEFB $00,$4F,$C8,$80,$00,$4F,$F4,$80 $9F26 DEFB $00,$9F,$FA,$60,$01,$1F,$F9,$10 $9F2E DEFB $01,$17,$F9,$10,$00,$B7,$F8,$A0 $9F36 DEFB $00,$7B,$F0,$00,$00,$3B,$FC,$00 $9F3E DEFB $00,$3B,$FE,$00,$00,$1C,$FF,$00 $9F46 DEFB $00,$1F,$7F,$80,$00,$1F,$FF,$80 $9F4E DEFB $00,$3F,$9F,$80,$00,$3F,$1F,$00 $9F56 DEFB $00,$3F,$3F,$00,$00,$7F,$3F,$00 $9F5E DEFB $00,$7E,$42,$00,$00,$7E,$41,$00 $9F66 DEFB $00,$FE,$72,$00,$01,$FC,$9C,$00 $9F6E DEFB $03,$38,$90,$00,$02,$09,$10,$00 $9F76 DEFB $02,$09,$10,$00,$03,$D9,$0C,$00 $9F7E DEFB $01,$30,$82,$00,$01,$20,$22,$00 $9F86 DEFB $01,$20,$1C,$00,$02,$1C,$00,$00 $9F8E DEFB $02,$02,$00,$00,$02,$02,$00,$00 $9F96 DEFB $01,$FC,$00,$00,$00,$00,$00,$00 ; _9f9e b$9F9E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9FA6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $9FAE DEFB $00,$00,$01,$F0,$00,$00,$07,$78 $9FB6 DEFB $00,$00,$3E,$C4,$00,$01,$F6,$84 $9FBE DEFB $00,$00,$7F,$94,$00,$00,$FF,$84 $9FC6 DEFB $00,$00,$3D,$84,$00,$00,$62,$08 $9FCE DEFB $00,$00,$80,$70,$00,$03,$00,$80 $9FD6 DEFB $00,$04,$08,$80,$00,$08,$30,$80 $9FDE DEFB $00,$08,$C0,$80,$00,$11,$84,$80 $9FE6 DEFB $00,$22,$80,$80,$00,$23,$01,$00 $9FEE DEFB $00,$25,$01,$00,$00,$4A,$02,$00 $9FF6 DEFB $00,$4A,$06,$00,$00,$92,$05,$00 $9FFE DEFB $00,$97,$05,$00,$00,$A7,$CC,$C0 $A006 DEFB $00,$AD,$FA,$20,$01,$1B,$F9,$20 $A00E DEFB $01,$1B,$F8,$A0,$00,$FB,$F8,$40 $A016 DEFB $00,$1B,$F0,$00,$00,$1B,$F0,$00 $A01E DEFB $00,$1D,$FC,$00,$00,$1E,$FE,$00 $A026 DEFB $00,$1E,$FE,$00,$00,$1F,$7F,$00 $A02E DEFB $00,$3F,$FF,$00,$00,$3F,$7F,$80 $A036 DEFB $00,$3F,$3F,$80,$00,$7F,$1F,$80 $A03E DEFB $00,$FE,$1F,$C0,$01,$FC,$1F,$C0 $A046 DEFB $03,$F8,$1F,$80,$06,$70,$0F,$C0 $A04E DEFB $04,$10,$1C,$40,$06,$10,$10,$40 $A056 DEFB $07,$90,$09,$C0,$04,$60,$0F,$40 $A05E DEFB $08,$40,$04,$5C,$10,$80,$02,$22 $A066 DEFB $10,$80,$02,$02,$10,$60,$02,$0C $A06E DEFB $0C,$10,$02,$30,$02,$10,$01,$C0 $A076 DEFB $01,$E0,$00,$00,$00,$00,$00,$00 ; _a07e b$A07E DEFB $00,$00,$00,$00,$00,$FC,$01,$FE $A086 DEFB $07,$B1,$0D,$A1,$0F,$E5,$37,$E1 $A08E DEFB $3F,$21,$1E,$82,$0C,$1C,$04,$10 $A096 DEFB $08,$88,$09,$08,$11,$08,$11,$28 $A09E DEFB $11,$08,$11,$08,$11,$08,$12,$10 $A0A6 DEFB $12,$10,$12,$10,$32,$10,$32,$20 $A0AE DEFB $32,$20,$33,$A0,$73,$E0,$79,$F0 $A0B6 DEFB $78,$E8,$7C,$68,$3C,$78,$2E,$E0 $A0BE DEFB $17,$F0,$17,$F0,$0B,$F0,$0B,$F0 $A0C6 DEFB $0D,$F0,$0C,$F8,$0E,$F8,$0E,$F8 $A0CE DEFB $1E,$F8,$1E,$F8,$3E,$F8,$46,$F0 $A0D6 DEFB $43,$F0,$72,$10,$5C,$08,$84,$08 $A0DE DEFB $4F,$C8,$8A,$30,$86,$20,$42,$40 $A0E6 DEFB $24,$38,$1C,$04,$04,$04,$03,$F8 ; _a0ee b$A0EE DEFB $00,$00,$00,$FC,$01,$DE,$03,$B1 $A0F6 DEFB $01,$A1,$07,$E5,$07,$E1,$0F,$E1 $A0FE DEFB $0F,$82,$06,$1C,$02,$10,$04,$08 $A106 DEFB $04,$44,$04,$44,$08,$94,$08,$84 $A10E DEFB $08,$84,$08,$84,$08,$88,$08,$88 $A116 DEFB $08,$88,$08,$88,$04,$98,$0C,$58 $A11E DEFB $0C,$56,$0E,$32,$1F,$1E,$1F,$83 $A126 DEFB $1F,$E1,$1F,$F2,$0F,$FC,$0F,$F8 $A12E DEFB $0F,$F8,$05,$F8,$05,$FC,$06,$FC $A136 DEFB $06,$7C,$07,$7C,$07,$7C,$07,$7C $A13E DEFB $03,$7C,$07,$7C,$0F,$7C,$0B,$78 $A146 DEFB $09,$F8,$09,$08,$06,$04,$06,$04 $A14E DEFB $07,$E4,$05,$18,$0D,$10,$09,$20 $A156 DEFB $0A,$1C,$06,$02,$02,$02,$01,$FC ; _a15e b$A15E DEFB $00,$00,$00,$00,$00,$FC,$01,$DE $A166 DEFB $07,$B1,$0D,$A1,$0F,$E5,$37,$E1 $A16E DEFB $3F,$61,$1E,$82,$0C,$1C,$04,$10 $A176 DEFB $08,$88,$09,$08,$11,$08,$11,$28 $A17E DEFB $11,$08,$11,$08,$11,$08,$12,$10 $A186 DEFB $12,$10,$12,$10,$32,$10,$32,$20 $A18E DEFB $32,$20,$33,$A0,$73,$E0,$79,$F0 $A196 DEFB $78,$E8,$7C,$68,$3C,$78,$3E,$E0 $A19E DEFB $1F,$F0,$1F,$F0,$0F,$F0,$0F,$F0 $A1A6 DEFB $0F,$F0,$0F,$F8,$0F,$D8,$0F,$D8 $A1AE DEFB $07,$D8,$0F,$D8,$0F,$B0,$1F,$B0 $A1B6 DEFB $37,$F0,$43,$88,$60,$88,$30,$E8 $A1BE DEFB $5D,$30,$86,$20,$4A,$40,$8A,$38 $A1C6 DEFB $86,$04,$42,$04,$23,$F8,$1C,$00 ; _a1ce b$A1CE DEFB $00,$00,$00,$00,$00,$03,$E0,$00 $A1D6 DEFB $00,$07,$F0,$00,$00,$07,$F0,$00 $A1DE DEFB $00,$0E,$D8,$00,$00,$0E,$D8,$00 $A1E6 DEFB $00,$0D,$F8,$00,$00,$0D,$F8,$00 $A1EE DEFB $00,$1F,$F8,$00,$00,$67,$F6,$00 $A1F6 DEFB $00,$8F,$E1,$00,$00,$83,$E1,$00 $A1FE DEFB $01,$03,$40,$80,$01,$02,$00,$80 $A206 DEFB $02,$42,$02,$40,$02,$40,$02,$40 $A20E DEFB $02,$40,$02,$40,$02,$40,$02,$40 $A216 DEFB $02,$40,$82,$40,$04,$A0,$05,$20 $A21E DEFB $04,$A0,$85,$20,$04,$A0,$05,$20 $A226 DEFB $04,$A0,$85,$20,$05,$20,$84,$A0 $A22E DEFB $05,$10,$08,$A0,$05,$1F,$F8,$A0 $A236 DEFB $09,$BF,$FD,$90,$08,$BF,$FF,$10 $A23E DEFB $08,$BF,$FF,$10,$07,$7F,$FE,$E0 $A246 DEFB $00,$7F,$FF,$00,$00,$FB,$DF,$00 $A24E DEFB $00,$FD,$FF,$00,$01,$FF,$BF,$80 $A256 DEFB $01,$FE,$7F,$80,$01,$FE,$7F,$80 $A25E DEFB $03,$FC,$3F,$C0,$03,$FC,$3F,$C0 $A266 DEFB $01,$F8,$1F,$80,$03,$F8,$1F,$C0 $A26E DEFB $03,$F0,$0F,$C0,$03,$F0,$0F,$C0 $A276 DEFB $07,$F0,$0F,$E0,$08,$10,$08,$10 $A27E DEFB $08,$08,$10,$10,$08,$18,$10,$10 $A286 DEFB $07,$70,$0E,$E0,$04,$40,$02,$20 $A28E DEFB $04,$40,$02,$20,$04,$40,$02,$20 $A296 DEFB $06,$80,$01,$60,$07,$80,$01,$E0 $A29E DEFB $08,$C0,$03,$10,$08,$40,$02,$10 $A2A6 DEFB $08,$40,$02,$10,$07,$C0,$03,$E0 ; _a2ae b$A2AE DEFB $00,$00,$00,$00,$00,$03,$E0,$00 $A2B6 DEFB $00,$07,$F0,$00,$00,$04,$10,$00 $A2BE DEFB $00,$0C,$18,$00,$00,$0D,$58,$00 $A2C6 DEFB $00,$0C,$18,$00,$00,$0E,$38,$00 $A2CE DEFB $00,$0C,$18,$00,$00,$62,$36,$00 $A2D6 DEFB $00,$81,$C1,$00,$00,$80,$01,$00 $A2DE DEFB $01,$00,$00,$80,$01,$00,$00,$80 $A2E6 DEFB $02,$40,$02,$40,$02,$50,$0A,$40 $A2EE DEFB $02,$40,$02,$40,$02,$42,$42,$40 $A2F6 DEFB $02,$4C,$32,$40,$04,$A0,$05,$20 $A2FE DEFB $04,$A0,$05,$20,$04,$A0,$05,$20 $A306 DEFB $04,$A0,$05,$20,$05,$20,$04,$A0 $A30E DEFB $05,$10,$08,$A0,$05,$1C,$38,$A0 $A316 DEFB $09,$BF,$FD,$90,$08,$BF,$FF,$10 $A31E DEFB $08,$BF,$FF,$10,$07,$7F,$FE,$E0 $A326 DEFB $00,$7F,$FF,$00,$00,$FB,$DF,$00 $A32E DEFB $00,$FD,$FF,$00,$01,$FF,$BF,$80 $A336 DEFB $01,$FE,$7F,$80,$01,$FE,$7F,$80 $A33E DEFB $03,$FC,$3F,$C0,$03,$FC,$3F,$C0 $A346 DEFB $01,$F8,$1F,$80,$03,$F8,$1F,$C0 $A34E DEFB $03,$F0,$0F,$C0,$03,$F0,$0F,$C0 $A356 DEFB $07,$F0,$0F,$E0,$08,$10,$08,$10 $A35E DEFB $08,$08,$10,$10,$08,$18,$10,$10 $A366 DEFB $07,$70,$0E,$E0,$04,$40,$02,$20 $A36E DEFB $04,$40,$02,$20,$04,$40,$02,$20 $A376 DEFB $06,$80,$01,$60,$07,$80,$01,$E0 $A37E DEFB $08,$C0,$03,$10,$08,$40,$02,$10 $A386 DEFB $08,$40,$02,$10,$07,$C0,$03,$E0 ; _a38e b$A38E DEFB $00,$00,$00,$08,$00,$00,$00,$00 $A396 DEFB $00,$04,$7E,$00,$00,$00,$00,$3B $A39E DEFB $EF,$00,$00,$00,$00,$0F,$D8,$80 $A3A6 DEFB $00,$00,$00,$0E,$D0,$80,$00,$00 $A3AE DEFB $00,$07,$F2,$80,$00,$00,$00,$03 $A3B6 DEFB $F0,$80,$00,$00,$00,$07,$B0,$80 $A3BE DEFB $00,$00,$00,$0C,$41,$00,$00,$00 $A3C6 DEFB $00,$08,$0E,$0C,$00,$00,$00,$10 $A3CE DEFB $58,$36,$00,$00,$00,$20,$37,$C9 $A3D6 DEFB $00,$00,$00,$20,$18,$31,$00,$00 $A3DE DEFB $00,$40,$0F,$C1,$00,$00,$00,$83 $A3E6 DEFB $80,$06,$00,$00,$01,$00,$C0,$38 $A3EE DEFB $00,$00,$01,$00,$70,$E0,$00,$00 $A3F6 DEFB $01,$00,$4F,$00,$00,$00,$02,$00 $A3FE DEFB $80,$00,$00,$00,$02,$01,$00,$00 $A406 DEFB $00,$00,$07,$02,$00,$00,$00,$00 $A40E DEFB $0F,$84,$00,$00,$00,$00,$0F,$F8 $A416 DEFB $00,$00,$00,$00,$1F,$FC,$00,$00 $A41E DEFB $00,$00,$1F,$FC,$00,$00,$00,$00 $A426 DEFB $1F,$FE,$00,$00,$00,$00,$1F,$FE $A42E DEFB $00,$00,$00,$00,$3F,$FF,$00,$00 $A436 DEFB $00,$00,$7F,$FF,$80,$00,$00,$00 $A43E DEFB $7F,$FF,$80,$00,$00,$00,$FF,$FF $A446 DEFB $C0,$00,$00,$01,$FF,$3F,$E0,$00 $A44E DEFB $00,$07,$FE,$0F,$E0,$00,$00,$0F $A456 DEFB $FC,$07,$E0,$00,$00,$7F,$F8,$07 $A45E DEFB $E0,$00,$00,$87,$E0,$0F,$C0,$00 $A466 DEFB $00,$C3,$C0,$1F,$C0,$00,$03,$23 $A46E DEFB $80,$13,$80,$00,$04,$22,$00,$20 $A476 DEFB $80,$00,$04,$3C,$00,$38,$40,$00 $A47E DEFB $04,$40,$00,$26,$80,$00,$08,$80 $A486 DEFB $00,$43,$00,$00,$08,$80,$00,$84 $A48E DEFB $00,$00,$08,$80,$00,$98,$00,$00 $A496 DEFB $04,$80,$01,$0E,$00,$00,$03,$00 $A49E DEFB $01,$01,$00,$00,$00,$00,$01,$01 $A4A6 DEFB $00,$00,$00,$00,$00,$FE,$00,$00 ; _a4ae b$A4AE DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _a4b6 b$A4B6 DEFB $02,$90,$07,$70,$52,$F1,$7B,$DA $A4BE DEFB $FF,$3D,$6F,$FF,$F7,$7B,$5D,$DE ; _a4c6 b$A4C6 DEFB $10,$0E,$78,$00,$7F,$C0,$04,$10 $A4CE DEFB $07,$18,$00,$F7,$80,$04,$08,$00 $A4D6 DEFB $8C,$00,$C7,$00,$04,$08,$00,$02 $A4DE DEFB $01,$88,$00,$08,$08,$00,$01,$01 $A4E6 DEFB $00,$00,$08,$04,$00,$01,$02,$00 $A4EE DEFB $00,$08,$04,$00,$00,$82,$00,$00 $A4F6 DEFB $10,$02,$02,$00,$84,$00,$00,$10 $A4FE DEFB $01,$02,$00,$84,$00,$10,$20,$00 $A506 DEFB $E1,$00,$04,$00,$20,$C0,$80,$1C $A50E DEFB $80,$00,$00,$21,$01,$C0,$03,$80 $A516 DEFB $00,$00,$62,$02,$30,$00,$40,$00 $A51E DEFB $00,$9C,$04,$08,$00,$20,$00,$03 $A526 DEFB $00,$0D,$06,$00,$10,$38,$04,$00 $A52E DEFB $18,$01,$80,$08,$7C,$18,$00,$70 $A536 DEFB $00,$20,$07,$E3,$E0,$01,$80,$00 $A53E DEFB $38,$00,$00,$00,$0E,$00,$00,$03 $A546 DEFB $00,$00,$00,$30,$00,$00,$00,$81 $A54E DEFB $7E,$00,$40,$00,$00,$00,$3F,$80 $A556 DEFB $C3,$80,$00,$00,$00,$00,$00,$38 $A55E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A566 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _a56e b$A56E DEFB $48,$08,$08,$FE,$08,$18,$34,$42 ; _a576 b$A576 DEFB $C8,$08,$08,$E8,$14,$22,$00,$00 ; _a57e b$A57E DEFB $E3,$00,$00,$7E,$80,$00,$00,$00 ; _a586 b$A586 DEFB $0C,$00,$00,$81,$80,$00,$00,$1E $A58E DEFB $00,$01,$C1,$C0,$00,$00,$33,$80 $A596 DEFB $00,$C3,$00,$00,$38,$23,$C0,$00 $A59E DEFB $42,$00,$00,$6C,$03,$F0,$00,$24 $A5A6 DEFB $00,$01,$84,$01,$F8,$00,$28,$00 $A5AE DEFB $07,$80,$01,$DC,$00,$28,$00,$0F $A5B6 DEFB $80,$00,$FB,$20,$10,$00,$1F,$80 $A5BE DEFB $00,$70,$E0,$10,$00,$7F,$00,$00 $A5C6 DEFB $00,$00,$10,$0D,$B7,$00,$00,$00 $A5CE DEFB $00,$00,$06,$3E,$00,$00,$00,$00 $A5D6 DEFB $00,$00,$1C,$00,$00,$07,$00,$00 $A5DE DEFB $00,$00,$00,$00,$1F,$C0,$00,$03 $A5E6 DEFB $80,$00,$00,$3F,$E0,$00,$1F,$C0 $A5EE DEFB $00,$10,$1F,$F0,$00,$3F,$E0,$00 ; _a5f6 b$A5F6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A5FE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A606 DEFB $00,$80,$C0,$00,$00,$00,$00,$01 $A60E DEFB $C1,$E0,$00,$00,$33,$80,$00,$C3 $A616 DEFB $00,$00,$00,$0C,$C0,$00,$42,$00 $A61E DEFB $00,$6C,$01,$F0,$00,$24,$00,$01 $A626 DEFB $94,$00,$FE,$00,$28,$00,$07,$80 $A62E DEFB $00,$11,$E0,$10,$00,$FF,$00,$00 $A636 DEFB $00,$20,$10,$03,$34,$00,$00,$00 $A63E DEFB $00,$00,$06,$00,$00,$00,$00,$00 $A646 DEFB $00,$00,$00,$00,$00,$07,$00,$00 $A64E DEFB $00,$00,$00,$00,$1F,$C0,$00,$03 $A656 DEFB $80,$00,$00,$3F,$E0,$00,$1F,$C0 $A65E DEFB $00,$10,$1F,$F0,$00,$3F,$E0,$00 ; _a666 b$A666 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A66E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A676 DEFB $00,$00,$01,$F0,$00,$00,$07,$F8 $A67E DEFB $00,$00,$3F,$FC,$00,$01,$FF,$FC $A686 DEFB $00,$00,$7F,$FC,$00,$00,$FF,$FC $A68E DEFB $00,$00,$3F,$FC,$00,$00,$7F,$F8 $A696 DEFB $00,$00,$FF,$F0,$00,$03,$FF,$80 $A69E DEFB $00,$07,$FF,$80,$00,$0F,$FF,$80 $A6A6 DEFB $00,$0F,$FF,$80,$00,$1F,$FF,$80 $A6AE DEFB $00,$3F,$FF,$80,$00,$3F,$FF,$00 $A6B6 DEFB $00,$3D,$FF,$00,$00,$7B,$FE,$00 $A6BE DEFB $00,$7B,$FE,$00,$00,$F3,$FF,$00 $A6C6 DEFB $00,$F7,$FF,$F8,$01,$E7,$FF,$FC $A6CE DEFB $03,$CF,$FB,$FC,$07,$DF,$F8,$7C $A6D6 DEFB $07,$9F,$F0,$18,$03,$9F,$F0,$00 $A6DE DEFB $00,$1F,$E0,$00,$00,$1F,$F0,$00 $A6E6 DEFB $00,$1F,$F0,$00,$00,$1F,$F8,$00 $A6EE DEFB $00,$3F,$F8,$00,$00,$3F,$F8,$00 $A6F6 DEFB $00,$7F,$FC,$00,$00,$7F,$FC,$00 $A6FE DEFB $00,$7F,$FC,$00,$00,$FE,$FC,$00 $A706 DEFB $00,$FC,$FE,$00,$01,$F8,$7E,$00 $A70E DEFB $01,$F0,$7F,$00,$03,$F0,$3F,$00 $A716 DEFB $07,$F0,$3F,$00,$07,$E0,$3F,$00 $A71E DEFB $07,$C0,$1F,$00,$1F,$80,$1F,$08 $A726 DEFB $3F,$00,$0F,$9C,$7F,$00,$07,$BC $A72E DEFB $7E,$00,$03,$F8,$3F,$80,$03,$F8 $A736 DEFB $0F,$C0,$03,$F0,$07,$E0,$03,$E0 $A73E DEFB $03,$C0,$01,$C0,$00,$00,$00,$80 ; _a746 b$A746 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A74E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A756 DEFB $00,$00,$00,$00,$00,$00,$03,$F0 $A75E DEFB $00,$01,$C7,$F8,$00,$00,$7F,$FC $A766 DEFB $00,$01,$FF,$FC,$00,$00,$7F,$FC $A76E DEFB $00,$00,$7F,$FC,$00,$00,$3F,$FC $A776 DEFB $00,$00,$7F,$F8,$00,$00,$FF,$F0 $A77E DEFB $00,$01,$FF,$80,$00,$01,$FF,$80 $A786 DEFB $00,$03,$FF,$80,$00,$07,$FF,$80 $A78E DEFB $00,$07,$FF,$80,$00,$0F,$FF,$80 $A796 DEFB $00,$1F,$FF,$00,$00,$1F,$FF,$00 $A79E DEFB $00,$3F,$FE,$00,$00,$3F,$FE,$00 $A7A6 DEFB $00,$3F,$FE,$00,$00,$7F,$FF,$00 $A7AE DEFB $00,$7F,$FF,$80,$00,$7F,$F7,$80 $A7B6 DEFB $00,$FF,$FB,$E0,$01,$FF,$F9,$F0 $A7BE DEFB $01,$FF,$F9,$F0,$01,$FF,$F8,$E0 $A7C6 DEFB $00,$DF,$F0,$C0,$00,$1F,$F8,$00 $A7CE DEFB $00,$1F,$FC,$00,$00,$1F,$FE,$00 $A7D6 DEFB $00,$1F,$FE,$00,$00,$3F,$FE,$00 $A7DE DEFB $00,$3F,$FF,$00,$00,$3F,$FF,$00 $A7E6 DEFB $00,$7F,$3F,$80,$01,$FF,$1F,$80 $A7EE DEFB $03,$FE,$1F,$80,$07,$FE,$0F,$80 $A7F6 DEFB $07,$FC,$0F,$C0,$0F,$F0,$0F,$C0 $A7FE DEFB $1F,$E0,$0F,$C0,$7F,$80,$0F,$C0 $A806 DEFB $FE,$00,$07,$80,$FC,$00,$07,$80 $A80E DEFB $7C,$00,$0F,$80,$7F,$00,$07,$C0 $A816 DEFB $3F,$80,$07,$F8,$1F,$00,$07,$FC $A81E DEFB $00,$00,$03,$FC,$00,$00,$03,$F8 ; _a826 b$A826 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A82E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A836 DEFB $00,$00,$00,$00,$00,$00,$40,$00 $A83E DEFB $00,$00,$23,$F0,$00,$01,$DF,$F8 $A846 DEFB $00,$00,$7F,$FC,$00,$00,$7F,$FC $A84E DEFB $00,$00,$3F,$FC,$00,$00,$1F,$FC $A856 DEFB $00,$00,$3F,$FC,$00,$00,$7F,$F8 $A85E DEFB $00,$00,$FF,$F0,$00,$01,$FF,$80 $A866 DEFB $00,$01,$FF,$80,$00,$01,$FF,$80 $A86E DEFB $00,$03,$FF,$80,$00,$03,$FF,$80 $A876 DEFB $00,$03,$FF,$80,$00,$07,$FF,$00 $A87E DEFB $00,$07,$FF,$00,$00,$07,$FE,$00 $A886 DEFB $00,$0F,$FE,$00,$00,$0F,$FE,$00 $A88E DEFB $00,$0F,$FC,$00,$00,$0F,$F8,$00 $A896 DEFB $00,$1F,$FC,$00,$00,$1F,$FF,$00 $A89E DEFB $00,$1F,$FF,$80,$00,$1F,$FF,$80 $A8A6 DEFB $00,$1F,$F7,$80,$00,$1F,$FB,$00 $A8AE DEFB $00,$1F,$F8,$00,$00,$1F,$FC,$00 $A8B6 DEFB $00,$0F,$FE,$00,$00,$0F,$FE,$00 $A8BE DEFB $00,$0F,$FF,$00,$00,$0F,$FF,$80 $A8C6 DEFB $00,$1F,$DF,$C0,$00,$7F,$CF,$C0 $A8CE DEFB $03,$FF,$87,$E0,$07,$FF,$8F,$E0 $A8D6 DEFB $07,$FF,$0F,$E0,$1F,$FC,$0F,$C0 $A8DE DEFB $3F,$F0,$1F,$C0,$3F,$E0,$1F,$E0 $A8E6 DEFB $3E,$00,$1F,$C0,$7C,$00,$3F,$80 $A8EE DEFB $7C,$00,$7E,$00,$7C,$00,$7C,$00 $A8F6 DEFB $3C,$00,$FF,$00,$18,$00,$FF,$80 $A8FE DEFB $00,$00,$FF,$80,$00,$00,$7F,$00 ; _a906 b$A906 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A90E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A916 DEFB $00,$00,$03,$F0,$00,$00,$3F,$F8 $A91E DEFB $00,$00,$7F,$FC,$00,$00,$BF,$FC $A926 DEFB $00,$00,$7F,$FC,$00,$00,$9F,$FC $A92E DEFB $00,$00,$3F,$FC,$00,$00,$7F,$F8 $A936 DEFB $00,$00,$FF,$F0,$00,$00,$FF,$80 $A93E DEFB $00,$01,$FF,$80,$00,$01,$FF,$80 $A946 DEFB $00,$01,$FF,$80,$00,$03,$FF,$80 $A94E DEFB $00,$03,$FF,$80,$00,$03,$FF,$00 $A956 DEFB $00,$03,$FF,$00,$00,$03,$FE,$00 $A95E DEFB $00,$03,$FE,$00,$00,$07,$FE,$00 $A966 DEFB $00,$0F,$FC,$00,$00,$0F,$F8,$00 $A96E DEFB $00,$1F,$F8,$00,$00,$1F,$FC,$00 $A976 DEFB $00,$1F,$FE,$00,$00,$1F,$FE,$00 $A97E DEFB $00,$0F,$FE,$00,$00,$0F,$F8,$00 $A986 DEFB $00,$07,$FC,$00,$00,$07,$FC,$00 $A98E DEFB $00,$03,$FC,$00,$00,$03,$FC,$00 $A996 DEFB $00,$03,$FC,$00,$00,$03,$FE,$00 $A99E DEFB $00,$03,$FE,$00,$00,$07,$FE,$00 $A9A6 DEFB $00,$1F,$FE,$00,$00,$FF,$FE,$00 $A9AE DEFB $01,$FF,$FE,$00,$01,$FF,$7C,$00 $A9B6 DEFB $07,$FF,$7C,$00,$0F,$FC,$F8,$00 $A9BE DEFB $0F,$F9,$F8,$00,$0F,$81,$FC,$00 $A9C6 DEFB $1F,$01,$FC,$00,$1F,$03,$F8,$00 $A9CE DEFB $1F,$03,$E0,$00,$0F,$03,$C0,$00 $A9D6 DEFB $06,$07,$F8,$00,$00,$07,$FC,$00 $A9DE DEFB $00,$07,$FC,$00,$00,$03,$F8,$00 ; _a9e6 b$A9E6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $A9EE DEFB $00,$00,$03,$F0,$00,$00,$0F,$F8 $A9F6 DEFB $00,$00,$1F,$FC,$00,$00,$1F,$FC $A9FE DEFB $00,$00,$7F,$FC,$00,$00,$BF,$FC $AA06 DEFB $00,$00,$7F,$FC,$00,$00,$BF,$F8 $AA0E DEFB $00,$00,$7F,$F0,$00,$00,$FF,$80 $AA16 DEFB $00,$01,$FF,$80,$00,$03,$FF,$80 $AA1E DEFB $00,$07,$FF,$80,$00,$0F,$FF,$80 $AA26 DEFB $00,$1F,$FF,$80,$00,$1F,$FF,$00 $AA2E DEFB $00,$1F,$FF,$00,$00,$1F,$FE,$00 $AA36 DEFB $00,$0F,$FE,$00,$00,$0F,$FE,$00 $AA3E DEFB $00,$07,$FC,$00,$00,$07,$FC,$00 $AA46 DEFB $00,$0F,$FC,$00,$00,$1F,$FC,$00 $AA4E DEFB $00,$1F,$FF,$00,$00,$1F,$FF,$80 $AA56 DEFB $00,$0F,$FF,$80,$00,$0F,$FF,$80 $AA5E DEFB $00,$0F,$FF,$00,$00,$07,$FC,$00 $AA66 DEFB $00,$07,$FE,$00,$00,$07,$FE,$00 $AA6E DEFB $00,$07,$FF,$00,$00,$07,$FF,$00 $AA76 DEFB $00,$07,$FF,$80,$00,$07,$FF,$80 $AA7E DEFB $00,$0F,$FF,$80,$00,$0F,$FF,$00 $AA86 DEFB $00,$1F,$FF,$00,$00,$3F,$FC,$00 $AA8E DEFB $00,$3F,$F0,$00,$00,$FF,$E0,$00 $AA96 DEFB $01,$FF,$C0,$00,$01,$FF,$00,$00 $AA9E DEFB $03,$FF,$80,$00,$03,$FF,$80,$00 $AAA6 DEFB $03,$EF,$80,$00,$03,$EF,$00,$00 $AAAE DEFB $01,$EF,$00,$00,$00,$DF,$E0,$00 $AAB6 DEFB $00,$0F,$F8,$00,$00,$0F,$F8,$00 $AABE DEFB $00,$07,$F0,$00,$00,$00,$00,$00 ; _aac6 b$AAC6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AACE DEFB $00,$00,$00,$00,$00,$00,$03,$F0 $AAD6 DEFB $00,$00,$07,$F8,$00,$00,$1F,$FC $AADE DEFB $00,$00,$3F,$FC,$00,$00,$7F,$FC $AAE6 DEFB $00,$01,$FF,$FC,$00,$00,$7F,$FC $AAEE DEFB $00,$00,$BF,$F8,$00,$00,$7F,$F0 $AAF6 DEFB $00,$00,$FF,$80,$00,$01,$FF,$80 $AAFE DEFB $00,$03,$FF,$80,$00,$03,$FF,$80 $AB06 DEFB $00,$07,$FF,$80,$00,$07,$FF,$80 $AB0E DEFB $00,$0F,$FF,$00,$00,$0F,$FF,$00 $AB16 DEFB $00,$1F,$FE,$00,$00,$1F,$FE,$00 $AB1E DEFB $00,$3F,$FE,$00,$00,$3F,$FC,$00 $AB26 DEFB $00,$7F,$FE,$00,$00,$7F,$FF,$00 $AB2E DEFB $00,$FF,$FF,$80,$00,$FF,$FF,$E0 $AB36 DEFB $00,$FF,$FD,$F0,$00,$7F,$FE,$F0 $AB3E DEFB $00,$1F,$FE,$70,$00,$0F,$FC,$00 $AB46 DEFB $00,$0F,$FE,$00,$00,$07,$FF,$00 $AB4E DEFB $00,$07,$FF,$80,$00,$07,$FF,$80 $AB56 DEFB $00,$0F,$E7,$C0,$00,$0F,$C7,$C0 $AB5E DEFB $00,$0F,$CF,$C0,$00,$1F,$CF,$C0 $AB66 DEFB $00,$1F,$9F,$80,$00,$1F,$9F,$00 $AB6E DEFB $00,$3F,$9F,$00,$00,$7F,$3E,$00 $AB76 DEFB $00,$FE,$3C,$00,$00,$FE,$7C,$00 $AB7E DEFB $00,$FE,$7C,$00,$00,$FE,$7F,$00 $AB86 DEFB $00,$7C,$3F,$80,$00,$7C,$1F,$80 $AB8E DEFB $00,$78,$07,$00,$00,$78,$00,$00 $AB96 DEFB $00,$FF,$00,$00,$00,$FF,$80,$00 $AB9E DEFB $00,$FF,$80,$00,$00,$7F,$00,$00 ; _aba6 b$ABA6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $ABAE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $ABB6 DEFB $00,$00,$03,$F0,$00,$00,$07,$F8 $ABBE DEFB $00,$00,$3F,$FC,$00,$01,$FF,$FC $ABC6 DEFB $00,$00,$7F,$FC,$00,$00,$FF,$FC $ABCE DEFB $00,$00,$1F,$FC,$00,$00,$3F,$F8 $ABD6 DEFB $00,$00,$7F,$F0,$00,$00,$FF,$80 $ABDE DEFB $00,$01,$FF,$80,$00,$03,$FF,$80 $ABE6 DEFB $00,$07,$FF,$80,$00,$0F,$FF,$80 $ABEE DEFB $00,$3F,$FF,$80,$00,$3F,$FF,$00 $ABF6 DEFB $00,$3F,$FF,$00,$00,$3F,$FE,$00 $ABFE DEFB $00,$7F,$FE,$00,$00,$7F,$FE,$00 $AC06 DEFB $00,$FF,$FC,$00,$00,$FF,$FE,$00 $AC0E DEFB $00,$FF,$FF,$C0,$01,$FF,$FF,$E0 $AC16 DEFB $03,$FF,$FF,$E0,$03,$FF,$FD,$E0 $AC1E DEFB $01,$DF,$FC,$C0,$00,$1F,$FE,$00 $AC26 DEFB $00,$1F,$FE,$00,$00,$0F,$FF,$00 $AC2E DEFB $00,$0F,$FF,$00,$00,$0F,$FF,$80 $AC36 DEFB $00,$1F,$FF,$80,$00,$1F,$BF,$C0 $AC3E DEFB $00,$1F,$9F,$C0,$00,$3F,$8F,$C0 $AC46 DEFB $00,$7F,$0F,$E0,$00,$7F,$0F,$C0 $AC4E DEFB $00,$FE,$07,$E0,$01,$FC,$0F,$E0 $AC56 DEFB $03,$F8,$1F,$E0,$03,$F8,$07,$E0 $AC5E DEFB $03,$F8,$07,$E0,$03,$F8,$03,$EE $AC66 DEFB $03,$F0,$01,$FF,$07,$E0,$01,$FF $AC6E DEFB $0F,$C0,$01,$FE,$0F,$C0,$01,$F8 $AC76 DEFB $0F,$F0,$00,$E0,$07,$F8,$00,$00 $AC7E DEFB $01,$F8,$00,$00,$00,$F0,$00,$00 ; _ac86 b$AC86 DEFB $00,$00,$00,$FC,$01,$FE,$03,$FF $AC8E DEFB $01,$FF,$07,$FF,$07,$FF,$0F,$FF $AC96 DEFB $0F,$FE,$07,$FC,$03,$F0,$07,$F8 $AC9E DEFB $0F,$FC,$0F,$FC,$0F,$FC,$0F,$FC $ACA6 DEFB $0F,$FC,$0F,$FC,$0F,$F8,$0F,$F8 $ACAE DEFB $0F,$F8,$0F,$F8,$07,$F8,$0F,$F8 $ACB6 DEFB $0F,$FE,$0F,$FE,$1F,$FE,$1F,$FF $ACBE DEFB $1F,$FF,$1F,$FE,$0F,$FC,$0F,$F8 $ACC6 DEFB $0F,$F8,$07,$F8,$07,$FC,$07,$FC $ACCE DEFB $07,$FC,$07,$FC,$07,$FC,$07,$FC $ACD6 DEFB $03,$FC,$07,$FC,$0F,$FC,$0F,$F8 $ACDE DEFB $0F,$F8,$0F,$F8,$03,$FC,$07,$FC $ACE6 DEFB $07,$FC,$07,$F8,$0F,$F0,$0F,$E0 $ACEE DEFB $0F,$FC,$07,$FE,$03,$FE,$01,$FC ; _acf6 b$ACF6 DEFB $00,$00,$00,$00,$00,$03,$E0,$00 $ACFE DEFB $00,$07,$F0,$00,$00,$07,$F0,$00 $AD06 DEFB $00,$0F,$F8,$00,$00,$0F,$F8,$00 $AD0E DEFB $00,$0F,$F8,$00,$00,$0F,$F8,$00 $AD16 DEFB $00,$1F,$F8,$00,$00,$7F,$FE,$00 $AD1E DEFB $00,$FF,$FF,$00,$00,$FF,$FF,$00 $AD26 DEFB $01,$FF,$FF,$80,$01,$FF,$FF,$80 $AD2E DEFB $03,$FF,$FF,$C0,$03,$FF,$FF,$C0 $AD36 DEFB $03,$FF,$FF,$C0,$03,$FF,$FF,$C0 $AD3E DEFB $03,$FF,$FF,$C0,$07,$BF,$FD,$E0 $AD46 DEFB $07,$BF,$FD,$E0,$07,$BF,$FD,$E0 $AD4E DEFB $07,$BF,$FD,$E0,$07,$3F,$FC,$E0 $AD56 DEFB $07,$1F,$F8,$E0,$07,$1F,$F8,$E0 $AD5E DEFB $0F,$BF,$FD,$F0,$0F,$BF,$FF,$F0 $AD66 DEFB $0F,$BF,$FF,$F0,$07,$7F,$FE,$E0 $AD6E DEFB $00,$7F,$FF,$00,$00,$FF,$FF,$00 $AD76 DEFB $00,$FF,$FF,$00,$01,$FF,$FF,$80 $AD7E DEFB $01,$FE,$7F,$80,$01,$FE,$7F,$80 $AD86 DEFB $03,$FC,$3F,$C0,$03,$FC,$3F,$C0 $AD8E DEFB $01,$F8,$1F,$80,$03,$F8,$1F,$C0 $AD96 DEFB $03,$F0,$0F,$C0,$03,$F0,$0F,$C0 $AD9E DEFB $07,$F0,$0F,$E0,$0F,$F0,$0F,$F0 $ADA6 DEFB $0F,$F8,$1F,$F0,$0F,$F8,$1F,$F0 $ADAE DEFB $07,$F0,$0F,$E0,$07,$C0,$03,$E0 $ADB6 DEFB $07,$C0,$03,$E0,$07,$C0,$03,$E0 $ADBE DEFB $07,$80,$01,$E0,$07,$80,$01,$E0 $ADC6 DEFB $0F,$C0,$03,$F0,$0F,$C0,$03,$F0 $ADCE DEFB $0F,$C0,$03,$F0,$07,$C0,$03,$E0 ; _add6 b$ADD6 DEFB $00,$00,$00,$08,$00,$00,$00,$00 $ADDE DEFB $00,$04,$7E,$00,$00,$00,$00,$3B $ADE6 DEFB $FF,$00,$00,$00,$00,$0F,$FF,$80 $ADEE DEFB $00,$00,$00,$0F,$FF,$80,$00,$00 $ADF6 DEFB $00,$07,$FF,$80,$00,$00,$00,$03 $ADFE DEFB $FF,$80,$00,$00,$00,$07,$FF,$80 $AE06 DEFB $00,$00,$00,$0F,$FF,$00,$00,$00 $AE0E DEFB $00,$0F,$FE,$0C,$00,$00,$00,$1F $AE16 DEFB $F8,$3E,$00,$00,$00,$3F,$F7,$FF $AE1E DEFB $00,$00,$00,$3F,$FF,$FF,$00,$00 $AE26 DEFB $00,$7F,$FF,$FF,$00,$00,$00,$FF $AE2E DEFB $FF,$FE,$00,$00,$01,$FF,$FF,$F8 $AE36 DEFB $00,$00,$01,$FF,$FF,$E0,$00,$00 $AE3E DEFB $01,$FF,$CF,$00,$00,$00,$03,$FF $AE46 DEFB $80,$00,$00,$00,$03,$FF,$00,$00 $AE4E DEFB $00,$00,$07,$FE,$00,$00,$00,$00 $AE56 DEFB $0F,$FC,$00,$00,$00,$00,$0F,$F8 $AE5E DEFB $00,$00,$00,$00,$1F,$FC,$00,$00 $AE66 DEFB $00,$00,$1F,$FC,$00,$00,$00,$00 $AE6E DEFB $1F,$FE,$00,$00,$00,$00,$1F,$FE $AE76 DEFB $00,$00,$00,$00,$3F,$FF,$00,$00 $AE7E DEFB $00,$00,$7F,$FF,$80,$00,$00,$00 $AE86 DEFB $7F,$FF,$80,$00,$00,$00,$FF,$FF $AE8E DEFB $C0,$00,$00,$00,$FF,$9F,$E0,$00 $AE96 DEFB $00,$03,$FF,$07,$E0,$00,$00,$07 $AE9E DEFB $FE,$0F,$C0,$00,$00,$1F,$FE,$1F $AEA6 DEFB $C0,$00,$00,$1F,$F8,$1F,$80,$00 $AEAE DEFB $00,$7F,$E0,$3F,$80,$00,$00,$FF $AEB6 DEFB $80,$3F,$C0,$00,$00,$FF,$00,$7F $AEBE DEFB $80,$00,$03,$FF,$00,$7F,$00,$00 $AEC6 DEFB $07,$FE,$00,$FC,$00,$00,$07,$FC $AECE DEFB $00,$F8,$00,$00,$07,$C0,$01,$FE $AED6 DEFB $00,$00,$0F,$80,$01,$FF,$00,$00 $AEDE DEFB $0F,$80,$01,$FF,$00,$00,$0F,$80 $AEE6 DEFB $00,$FE,$00,$00,$07,$80,$00,$00 $AEEE DEFB $00,$00,$03,$00,$00,$00,$00,$00 ; _aef6 b$AEF6 DEFB $00,$3C,$52,$A9,$DB,$A9,$52,$3C ; _aefe b$AEFE DEFB $00,$3C,$52,$A9,$DB,$A9,$52,$3C ; _af06 b$AF06 DEFB $00,$3C,$52,$A9,$DB,$A9,$52,$3C ; _af0e b$AF0E DEFB $00,$3C,$52,$A9,$DB,$A9,$52,$3C ; _af16 b$AF16 DEFB $00,$3C,$52,$A9,$DB,$A9,$52,$3C ; _af1e b$AF1E DEFB $00,$3C,$52,$A9,$DB,$A9,$52,$3C ; _af26 b$AF26 DEFB $00,$3C,$52,$A9,$DB,$A9,$52,$3C ; _af2e b$AF2E DEFB $00,$00,$70,$F8,$D8,$F8,$70,$00 ; _af36 b$AF36 DEFB $08,$14,$58,$BE,$7D,$1A,$28,$10 ; _af3e b$AF3E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AF46 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _af4e b$AF4E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AF56 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AF5E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AF66 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _af6e b$AF6E DEFB $00,$00,$00,$00,$3C,$00,$00,$7F $AF76 DEFB $03,$00,$67,$AE,$00,$07,$FF,$00 $AF7E DEFB $9E,$DF,$00,$FF,$FF,$00,$78,$7C ; _af86 b$AF86 DEFB $00,$F0,$C7,$FC,$F8,$3F,$71,$00 $AF8E DEFB $CA,$A1,$B5,$49,$0B,$87,$E1,$03 $AF96 DEFB $32,$07,$84,$69,$00,$AC,$E3,$E0 $AF9E DEFB $FF,$F0,$1C,$1E,$00,$07,$00,$00 $AFA6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AFAE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AFB6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AFBE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AFC6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AFCE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AFD6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $AFDE DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _afe6 b$AFE6 DEFB $0F,$60,$1B,$DC,$3D,$AE,$6C,$03 $AFEE DEFB $41,$03,$E0,$59,$C0,$8D,$EC,$3A $AFF6 DEFB $7C,$D5,$7E,$EE,$7F,$FA,$3F,$DC $AFFE DEFB $7D,$FC,$6F,$F2,$3F,$E6,$76,$3F $B006 DEFB $78,$07,$6D,$09,$35,$77,$6F,$87 $B00E DEFB $7F,$F7,$FF,$DE,$CE,$AA,$47,$52 $B016 DEFB $32,$AB,$CF,$53,$D1,$E9,$49,$F7 $B01E DEFB $67,$1E,$6B,$0E,$59,$D7,$6D,$25 $B026 DEFB $F8,$46,$DE,$36,$B8,$63,$D4,$46 $B02E DEFB $AF,$3D,$DD,$35,$BF,$01,$77,$CB $B036 DEFB $7B,$8A,$4F,$4E,$DF,$9D,$FF,$E1 $B03E DEFB $1F,$F6,$00,$F8,$00,$00,$00,$00 ; _b046 b$B046 DEFB $F1,$F8,$CF,$0F,$B2,$0E,$C0,$16 $B04E DEFB $C3,$07,$DA,$01,$E6,$B2,$BF,$9D $B056 DEFB $F1,$AA,$41,$17,$C1,$9F,$C5,$E2 $B05E DEFB $CB,$04,$7F,$03,$D1,$C3,$80,$73 $B066 DEFB $C3,$FF,$C7,$5D,$CA,$A9,$6F,$5B $B06E DEFB $7F,$AA,$F3,$D7,$00,$00,$00,$00 ; _b076 b$B076 DEFB $00,$00,$00,$38,$6D,$E4,$FA,$D6 $B07E DEFB $77,$39,$EA,$6F,$FD,$EF,$B1,$D6 $B086 DEFB $FF,$FF,$C0,$03,$BF,$FD,$A2,$05 $B08E DEFB $A2,$05,$A2,$05,$A2,$05,$BF,$FD $B096 DEFB $B0,$0D,$B0,$0D,$B0,$0D,$B0,$0D $B09E DEFB $B0,$0D,$B0,$0D,$B0,$0D,$B0,$0D $B0A6 DEFB $BF,$FD,$A2,$05,$A2,$05,$A2,$35 $B0AE DEFB $A2,$55,$A2,$55,$A2,$55,$A2,$75 $B0B6 DEFB $A2,$15,$A2,$05,$A2,$05,$A2,$05 $B0BE DEFB $A2,$05,$A2,$05,$A2,$05,$A2,$05 $B0C6 DEFB $A2,$05,$A2,$05,$A2,$05,$A2,$05 $B0CE DEFB $BF,$FD,$C0,$03,$00,$00,$00,$00 ; _b0d6 b$B0D6 DEFB $00,$00,$00,$00,$00,$00,$00,$0E $B0DE DEFB $00,$13,$00,$EF,$01,$11,$01,$FF $B0E6 DEFB $03,$07,$06,$FF,$06,$A7,$06,$A7 $B0EE DEFB $06,$A7,$0E,$A7,$0E,$B7,$06,$97 $B0F6 DEFB $06,$97,$06,$97,$06,$97,$06,$B7 $B0FE DEFB $06,$A7,$06,$A7,$06,$A7,$06,$A7 $B106 DEFB $06,$A7,$06,$B7,$06,$B7,$06,$A7 $B10E DEFB $06,$A7,$06,$B7,$06,$B7,$06,$A7 $B116 DEFB $06,$A7,$06,$A7,$0E,$A7,$0E,$A7 $B11E DEFB $0E,$A7,$0E,$A7,$0E,$A7,$06,$A7 $B126 DEFB $03,$A7,$00,$67,$00,$27,$00,$17 $B12E DEFB $00,$0F,$00,$03,$00,$00,$00,$00 ; _b136 b$B136 DEFB $2D,$E0,$5B,$DD,$C5,$AF,$44,$01 $B13E DEFB $21,$01,$F0,$50,$D8,$84,$8D,$32 $B146 DEFB $03,$00,$46,$80,$60,$88,$80,$00 $B14E DEFB $E2,$39,$FB,$FF,$BF,$FE,$D7,$BF $B156 DEFB $F8,$07,$6D,$09,$35,$17,$68,$07 $B15E DEFB $7A,$17,$F8,$4E,$C8,$0A,$45,$02 $B166 DEFB $30,$83,$CD,$03,$D0,$21,$48,$07 $B16E DEFB $67,$0E,$6B,$0E,$59,$C7,$67,$25 $B176 DEFB $FC,$46,$D0,$36,$A2,$A3,$C5,$42 $B17E DEFB $AB,$A9,$D5,$75,$AA,$A9,$75,$53 $B186 DEFB $6E,$A3,$77,$7F,$FA,$FD,$3F,$FE $B18E DEFB $0C,$DC,$00,$00,$00,$00,$00,$00 ; _b196 b$B196 DEFB $01,$F0,$0E,$AC,$10,$B6,$20,$1A $B19E DEFB $22,$1E,$2C,$7B,$44,$1D,$40,$2B $B1A6 DEFB $80,$F5,$CC,$BB,$C6,$FD,$C2,$EE $B1AE DEFB $C1,$FE,$E3,$F8,$7E,$F8,$67,$FC $B1B6 DEFB $FC,$6C,$A4,$36,$E3,$9A,$70,$46 $B1BE DEFB $78,$04,$EF,$02,$97,$83,$CE,$F1 $B1C6 DEFB $D5,$4E,$7A,$F1,$5D,$73,$7F,$FF $B1CE DEFB $EF,$FE,$E9,$F6,$FE,$EC,$90,$B6 $B1D6 DEFB $E0,$7E,$62,$4F,$69,$BB,$C0,$9D $B1DE DEFB $40,$2B,$80,$F5,$8C,$BB,$96,$FD $B1E6 DEFB $D2,$EE,$C1,$FE,$FB,$FE,$BE,$FF $B1EE DEFB $F7,$FC,$1E,$00,$00,$00,$00,$00 ; _b1f6 b$B1F6 DEFB $00,$00,$00,$00,$00,$00,$00,$06 $B1FE DEFB $00,$13,$00,$5B,$00,$7D,$01,$3D $B206 DEFB $03,$1D,$02,$E2,$02,$23,$03,$B6 $B20E DEFB $01,$66,$06,$17,$03,$09,$05,$77 $B216 DEFB $0F,$87,$1F,$F7,$1F,$DE,$0E,$AA $B21E DEFB $17,$52,$12,$AB,$1F,$53,$11,$E9 $B226 DEFB $0A,$F7,$11,$9E,$12,$6E,$19,$C7 $B22E DEFB $2C,$25,$76,$3F,$2F,$E6,$37,$7E $B236 DEFB $4A,$C7,$75,$83,$73,$43,$BD,$62 $B23E DEFB $D9,$32,$A7,$02,$62,$96,$67,$76 $B246 DEFB $52,$F3,$7B,$DA,$FF,$3C,$6F,$FE $B24E DEFB $F7,$7B,$1D,$DA,$00,$00,$00,$00 ; _b256 b$B256 DEFB $00,$00,$00,$00,$3C,$00,$00,$4B $B25E DEFB $80,$01,$C6,$F0,$02,$43,$50,$06 $B266 DEFB $39,$98,$07,$04,$6C,$07,$80,$54 $B26E DEFB $0E,$F0,$2A,$0D,$78,$35,$0E,$AF $B276 DEFB $19,$0D,$54,$83,$06,$AE,$0F,$05 $B27E DEFB $57,$3E,$03,$BF,$FC,$00,$FF,$E0 ; _b286 b$B286 DEFB $03,$E0,$07,$C0,$1D,$58,$0A,$B8 $B28E DEFB $1B,$47,$1C,$0C,$36,$07,$E2,$06 $B296 DEFB $3E,$13,$6C,$0B,$F7,$8E,$C4,$05 $B29E DEFB $AE,$06,$40,$23,$55,$02,$80,$85 $B2A6 DEFB $68,$01,$8C,$83,$D5,$4D,$80,$15 $B2AE DEFB $AC,$D9,$C0,$0F,$F9,$D1,$C4,$32 $B2B6 DEFB $73,$62,$FC,$42,$7F,$73,$B2,$17 $B2BE DEFB $3F,$DC,$7F,$FE,$0F,$F8,$3B,$30 ; _b2c6 b$B2C6 DEFB $00,$44,$06,$00,$00,$00,$8A,$09 $B2CE DEFB $00,$00,$00,$25,$85,$00,$00,$00 $B2D6 DEFB $14,$72,$00,$80,$04,$57,$42,$00 $B2DE DEFB $70,$05,$AD,$2C,$10,$40,$15,$10 $B2E6 DEFB $51,$11,$28,$0A,$93,$88,$21,$50 $B2EE DEFB $05,$57,$4C,$82,$88,$0B,$DA,$8A $B2F6 DEFB $45,$4C,$2D,$B5,$3D,$8B,$8A,$1C $B2FE DEFB $94,$1C,$2D,$3C,$5B,$DB,$53,$1C $B306 DEFB $1C,$AD,$ED,$BD,$5B,$52,$18,$32 $B30E DEFB $14,$AD,$BD,$05,$9F,$53,$18,$14 $B316 DEFB $22,$5D,$32,$05,$53,$51,$8B,$59 $B31E DEFB $22,$32,$25,$25,$AF,$51,$59,$29 $B326 DEFB $14,$A7,$A5,$AE,$4B,$53,$CF,$39 $B32E DEFB $A6,$35,$AD,$B5,$EB,$CE,$08,$F0 $B336 DEFB $19,$F5,$B4,$11,$B8,$A9,$48,$18 $B33E DEFB $AF,$5C,$6D,$D1,$A8,$53,$8E,$9B $B346 DEFB $AF,$6D,$5C,$27,$27,$D3,$9B,$75 $B34E DEFB $14,$94,$F4,$26,$4E,$53,$DB,$65 $B356 DEFB $94,$0C,$2D,$BD,$C2,$DA,$08,$11 $B35E DEFB $91,$C0,$3C,$00,$14,$81,$80,$10 $B366 DEFB $00,$28,$57,$00,$00,$00,$4E,$2E $B36E DEFB $00,$00,$00,$03,$B8,$00,$00,$00 $B376 DEFB $00,$F8,$00,$00,$00,$00,$1E,$00 $B37E DEFB $00,$00,$00,$1F,$00,$00,$00,$00 $B386 DEFB $34,$00,$00,$00,$00,$00,$00,$00 ; _b38e b$B38E DEFB $7B,$0F,$13,$BE,$FF,$FF,$FF,$FF $B396 DEFB $7F,$FF,$FF,$FF,$70,$00,$00,$0E $B39E DEFB $6F,$FF,$FF,$F6,$E8,$40,$42,$17 $B3A6 DEFB $E8,$40,$42,$17,$E8,$40,$42,$16 $B3AE DEFB $E8,$40,$42,$16,$68,$40,$42,$17 $B3B6 DEFB $68,$40,$42,$17,$68,$40,$42,$16 $B3BE DEFB $E8,$40,$42,$16,$68,$40,$42,$17 $B3C6 DEFB $E8,$40,$42,$17,$E8,$5F,$FA,$16 $B3CE DEFB $68,$50,$0A,$16,$68,$50,$0A,$16 $B3D6 DEFB $68,$50,$0A,$16,$E8,$50,$0A,$17 $B3DE DEFB $E8,$50,$08,$16,$68,$50,$0B,$96 $B3E6 DEFB $68,$50,$0B,$97,$E8,$50,$0B,$97 $B3EE DEFB $E8,$5F,$F9,$16,$E8,$40,$41,$17 $B3F6 DEFB $68,$40,$43,$97,$68,$40,$43,$97 $B3FE DEFB $E8,$40,$43,$97,$E8,$40,$40,$16 $B406 DEFB $E8,$40,$42,$16,$E8,$40,$42,$16 $B40E DEFB $68,$40,$42,$17,$68,$40,$42,$17 $B416 DEFB $E8,$40,$42,$17,$68,$40,$42,$17 $B41E DEFB $68,$40,$42,$16,$68,$40,$42,$16 $B426 DEFB $68,$40,$42,$17,$E8,$40,$42,$17 $B42E DEFB $E8,$40,$42,$17,$E8,$40,$42,$16 $B436 DEFB $68,$40,$42,$16,$68,$40,$42,$16 $B43E DEFB $68,$40,$42,$17,$E8,$40,$42,$17 $B446 DEFB $EF,$FF,$FF,$F7,$F0,$00,$00,$0F ; _b44e b$B44E DEFB $00,$DA,$03,$FF,$07,$FF,$07,$0F $B456 DEFB $0E,$FF,$0E,$A7,$1E,$A7,$0E,$A7 $B45E DEFB $1E,$A7,$1E,$A7,$1E,$A7,$0E,$A7 $B466 DEFB $0E,$A7,$0E,$A7,$1E,$A7,$1E,$A7 $B46E DEFB $1E,$A7,$1E,$A7,$1E,$A7,$1E,$A7 $B476 DEFB $0E,$A7,$0E,$A7,$1E,$87,$1E,$B7 $B47E DEFB $1E,$B7,$1E,$B7,$0E,$97,$1E,$97 $B486 DEFB $1E,$B7,$1E,$B7,$0E,$B7,$0E,$87 $B48E DEFB $1E,$A7,$1E,$A7,$1E,$A7,$0E,$A7 $B496 DEFB $0E,$A7,$1E,$A7,$1E,$A7,$0E,$A7 $B49E DEFB $06,$A7,$03,$A7,$00,$67,$00,$27 $B4A6 DEFB $00,$17,$00,$0F,$00,$07,$00,$00 ; _b4ae b$B4AE DEFB $40,$01,$00,$D0,$07,$00,$34,$02 $B4B6 DEFB $40,$55,$05,$84,$0D,$46,$16,$39 $B4BE DEFB $48,$58,$06,$49,$54,$1E,$AD,$60 $B4C6 DEFB $01,$45,$38,$07,$C4,$C0,$00,$2A $B4CE DEFB $F0,$03,$15,$00,$04,$97,$80,$51 $B4D6 DEFB $D8,$00,$34,$36,$00,$55,$08,$2C $B4DE DEFB $0D,$58,$B0,$39,$52,$A8,$06,$4A $B4E6 DEFB $C0,$1E,$AA,$70,$01,$49,$80,$07 $B4EE DEFB $D5,$E0,$00,$AA,$00,$00,$3E,$80 $B4F6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $B4FE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $B506 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _b50e b$B50E DEFB $7F,$FF,$FF,$FF,$81,$02,$04,$08 $B516 DEFB $81,$02,$04,$08,$81,$02,$04,$08 $B51E DEFB $7F,$FF,$FF,$FF,$90,$20,$20,$20 $B526 DEFB $90,$20,$20,$20,$90,$20,$20,$20 $B52E DEFB $7F,$FF,$FF,$FF,$84,$04,$04,$04 $B536 DEFB $84,$04,$04,$04,$84,$04,$04,$04 $B53E DEFB $84,$04,$04,$04,$7F,$FF,$FF,$FF $B546 DEFB $90,$10,$20,$40,$90,$10,$20,$40 $B54E DEFB $90,$10,$20,$40,$7F,$FF,$FF,$FF $B556 DEFB $80,$81,$01,$00,$80,$81,$01,$00 $B55E DEFB $80,$81,$01,$00,$7F,$FF,$FF,$FF $B566 DEFB $88,$08,$08,$08,$88,$08,$08,$08 $B56E DEFB $88,$08,$08,$08,$88,$08,$08,$08 $B576 DEFB $7F,$FF,$FF,$FF,$82,$02,$02,$02 $B57E DEFB $82,$02,$02,$02,$82,$02,$02,$02 $B586 DEFB $7F,$FF,$FF,$FF,$84,$08,$10,$20 $B58E DEFB $84,$08,$10,$20,$84,$08,$10,$20 $B596 DEFB $7F,$FF,$FF,$FF,$A0,$40,$40,$40 $B59E DEFB $A0,$40,$40,$40,$A0,$40,$40,$40 $B5A6 DEFB $A0,$40,$40,$40,$7F,$FF,$FF,$FF $B5AE DEFB $82,$04,$04,$08,$82,$04,$04,$08 $B5B6 DEFB $82,$04,$04,$08,$7F,$FF,$FF,$FF $B5BE DEFB $88,$10,$20,$40,$88,$10,$20,$40 $B5C6 DEFB $88,$10,$20,$40,$7F,$FF,$FF,$FF ; _b5ce b$B5CE DEFB $E3,$00,$BC,$9A,$6F,$3D,$C3,$C3 $B5D6 DEFB $42,$3F,$46,$01,$FA,$E1,$81,$FE $B5DE DEFB $80,$BF,$80,$AB,$71,$D5,$4F,$EB $B5E6 DEFB $80,$F6,$80,$EA,$BF,$56,$E0,$3C $B5EE DEFB $EF,$F2,$57,$9D,$2A,$62,$75,$99 $B5F6 DEFB $CF,$3D,$79,$EF,$80,$F2,$40,$69 $B5FE DEFB $8C,$D5,$FB,$CB,$E5,$7E,$AA,$B6 $B606 DEFB $D5,$53,$7A,$E3,$7F,$83,$8E,$01 $B60E DEFB $83,$8B,$C0,$FE,$80,$D7,$C7,$A9 $B616 DEFB $F9,$57,$EA,$AE,$55,$5F,$BA,$F9 $B61E DEFB $4F,$61,$80,$7A,$E0,$F7,$6F,$F7 $B626 DEFB $7F,$6D,$38,$F3,$1F,$1E,$00,$00 ; _b62e b$B62E DEFB $B9,$DD,$4D,$67,$87,$5B,$E0,$C3 $B636 DEFB $68,$03,$70,$4D,$F0,$F3,$DE,$1E $B63E DEFB $FF,$FF,$FF,$FF,$C0,$03,$DF,$FB $B646 DEFB $DF,$FB,$DF,$FB,$DF,$FB,$DE,$7B $B64E DEFB $D0,$0B,$DF,$FB,$DF,$FB,$DF,$FB $B656 DEFB $DF,$FB,$DF,$FB,$C0,$03,$FF,$FF $B65E DEFB $FF,$FF,$CF,$0F,$B2,$0E,$C0,$16 $B666 DEFB $C3,$07,$DA,$01,$E6,$B2,$BF,$9D $B66E DEFB $F1,$AA,$41,$17,$C1,$9F,$C5,$E2 $B676 DEFB $CB,$04,$7F,$03,$D1,$C3,$80,$73 $B67E DEFB $C3,$FF,$C7,$5D,$CA,$A9,$6F,$5B $B686 DEFB $7F,$AA,$F3,$D7,$00,$00,$00,$00 ; _b68e b$B68E DEFB $00,$00,$14,$40,$00,$00,$00,$04 $B696 DEFB $57,$40,$00,$00,$00,$05,$AD,$20 $B69E DEFB $00,$00,$00,$15,$10,$40,$00,$00 $B6A6 DEFB $00,$0A,$93,$80,$01,$80,$00,$05 $B6AE DEFB $57,$40,$02,$00,$00,$0B,$DA,$80 $B6B6 DEFB $05,$40,$00,$2D,$B5,$30,$0A,$00 $B6BE DEFB $00,$1C,$94,$18,$2D,$A0,$04,$5B $B6C6 DEFB $DB,$52,$1C,$90,$05,$AD,$ED,$BC $B6CE DEFB $1B,$D0,$15,$18,$32,$14,$AD,$E0 $B6D6 DEFB $0A,$45,$9F,$53,$18,$00,$05,$22 $B6DE DEFB $5D,$32,$05,$98,$0B,$51,$8B,$59 $B6E6 DEFB $22,$5A,$2D,$25,$25,$AF,$51,$88 $B6EE DEFB $1C,$29,$14,$A7,$A5,$24,$5B,$4B $B6F6 DEFB $53,$CF,$39,$15,$AD,$35,$AD,$B5 $B6FE DEFB $EB,$52,$18,$08,$F3,$0A,$75,$AC $B706 DEFB $05,$50,$BC,$11,$C8,$D2,$00,$69 $B70E DEFB $4A,$17,$27,$09,$01,$A8,$F1,$4C $B716 DEFB $C9,$38,$01,$53,$F6,$74,$90,$F0 $B71E DEFB $03,$A5,$BF,$5B,$BA,$44,$11,$22 $B726 DEFB $5D,$32,$D1,$8A,$2B,$51,$8B,$59 $B72E DEFB $A4,$A5,$27,$A5,$25,$AE,$28,$94 $B736 DEFB $CF,$29,$14,$A6,$CA,$D2,$B5,$CB $B73E DEFB $53,$CE,$B5,$AD,$19,$B5,$AD,$B5 $B746 DEFB $8A,$10,$29,$08,$F0,$18,$D9,$00 $B74E DEFB $6D,$11,$B8,$A8,$FA,$80,$1B,$AF $B756 DEFB $5C,$6D,$71,$00,$27,$53,$8E,$9B $B75E DEFB $F4,$25,$94,$14,$27,$26,$2C,$AE $B766 DEFB $5B,$25,$14,$94,$CF,$77,$3D,$0E $B76E DEFB $43,$DA,$B5,$B0,$11,$0C,$8D,$BC $B776 DEFB $88,$10,$00,$08,$01,$90,$30,$00 ; _b77e b$B77E DEFB $50,$40,$00,$18,$60,$29,$24,$04 $B786 DEFB $6C,$11,$F4,$0A,$F7,$FB,$DF,$1F $B78E DEFB $FE,$EE,$FD,$FD,$BF,$FF,$EF,$EF $B796 DEFB $FF,$FD,$FF,$F6,$F7,$F3,$FF,$FF $B79E DEFB $BD,$FF,$FB,$FB,$FF,$DF,$DF,$FF $B7A6 DEFB $DF,$FF,$FF,$FD,$FF,$EF,$FF,$EF $B7AE DEFB $EF,$FF,$7E,$7F,$BF,$FF,$F7,$FF $B7B6 DEFB $FE,$FF,$FF,$FB,$FF,$DF,$76,$7E $B7BE DEFB $FF,$F7,$FF,$FF,$BF,$FF,$FF,$BF $B7C6 DEFB $E7,$FD,$FB,$FB,$FF,$BF,$DF,$DF $B7CE DEFB $97,$FB,$FF,$F7,$FF,$7F,$FF,$DE $B7D6 DEFB $DF,$B7,$FF,$FF,$F7,$FF,$EF,$F4 $B7DE DEFB $FF,$FF,$FB,$FF,$EF,$EF,$BF,$BB $B7E6 DEFB $F7,$F7,$FB,$DF,$FE,$FE,$EE,$FD $B7EE DEFB $BF,$BF,$FF,$EF,$FB,$FB,$FD,$F6 $B7F6 DEFB $F7,$F7,$D3,$DF,$BD,$BD,$7E,$FB $B7FE DEFB $FF,$FF,$DF,$DF,$D7,$D7,$BD,$FD $B806 DEFB $7F,$7E,$EF,$EB,$ED,$EC,$73,$7E $B80E DEFB $BF,$BE,$BE,$F7,$F6,$F6,$EB,$4B $B816 DEFB $DF,$DF,$DD,$56,$E2,$6B,$D7,$FD $B81E DEFB $BA,$3F,$5F,$BF,$E5,$E5,$FD,$FB $B826 DEFB $FF,$3F,$BE,$E7,$98,$F7,$FF,$5F $B82E DEFB $F7,$FF,$7F,$5E,$F7,$FC,$37,$BF $B836 DEFB $3F,$F0,$0F,$F8,$0F,$80,$03,$E0 ; _b83e b$B83E DEFB $00,$00,$00,$01,$00,$01,$00,$01 $B846 DEFB $00,$02,$00,$03,$00,$05,$00,$03 $B84E DEFB $00,$0E,$00,$1F,$00,$3D,$00,$2F $B856 DEFB $00,$7F,$00,$BF,$00,$FF,$01,$DD $B85E DEFB $01,$F7,$01,$7F,$01,$FD,$03,$BF $B866 DEFB $03,$FB,$07,$7F,$07,$BF,$07,$FF $B86E DEFB $0F,$FF,$0F,$EF,$17,$F7,$1E,$FE $B876 DEFB $1F,$BF,$3B,$FB,$37,$F7,$3D,$BD $B87E DEFB $7B,$FF,$53,$D7,$7B,$7F,$ED,$ED $B886 DEFB $BD,$B3,$F4,$F6,$DF,$DF,$EA,$6B $B88E DEFB $BC,$BF,$E5,$C5,$FF,$23,$9F,$F7 $B896 DEFB $F3,$FF,$7C,$F7,$3F,$FE,$0F,$84 ; _b89e b$B89E DEFB $00,$1F,$00,$00,$EA,$C0,$01,$0B $B8A6 DEFB $60,$02,$01,$A0,$02,$21,$E0,$02 $B8AE DEFB $C7,$B0,$04,$41,$D0,$04,$02,$A8 $B8B6 DEFB $08,$0F,$58,$08,$CB,$AC,$08,$6F $B8BE DEFB $D4,$04,$2E,$FC,$04,$1F,$F8,$06 $B8C6 DEFB $3F,$F8,$03,$EF,$F0,$00,$7F,$C0 ; _b8ce b$B8CE DEFB $50,$40,$00,$18,$60,$29,$24,$04 $B8D6 DEFB $6C,$11,$F4,$0A,$F7,$FB,$DF,$1F $B8DE DEFB $FE,$EE,$FD,$FD,$BF,$FF,$EF,$EF $B8E6 DEFB $FF,$FD,$FF,$F6,$F7,$F3,$FF,$FF $B8EE DEFB $BD,$FF,$FB,$FB,$FF,$DF,$DF,$FF $B8F6 DEFB $DF,$FF,$FF,$FD,$FF,$EF,$FF,$EF $B8FE DEFB $EF,$FF,$7E,$7F,$BF,$FF,$F7,$FF $B906 DEFB $FE,$FF,$FF,$FB,$FF,$DF,$76,$7E $B90E DEFB $FF,$F7,$FF,$FF,$BF,$FF,$FF,$BF $B916 DEFB $E7,$FD,$FB,$FB,$FF,$BF,$DF,$DF $B91E DEFB $97,$FB,$FF,$F7,$FF,$7F,$27,$DE $B926 DEFB $DF,$B7,$FE,$7F,$F6,$FE,$EC,$F4 $B92E DEFB $FA,$7B,$BF,$EF,$FD,$CF,$D7,$7F $B936 DEFB $EF,$BF,$FB,$F7,$BF,$7F,$FC,$D9 $B93E DEFB $DE,$FF,$FE,$77,$D4,$FF,$FF,$75 $B946 DEFB $B9,$FF,$FF,$AF,$B3,$FF,$FF,$DF $B94E DEFB $EF,$FF,$FF,$EA,$FF,$FF,$FF,$E7 $B956 DEFB $EF,$FF,$FF,$FF,$DF,$FF,$FF,$FD $B95E DEFB $DF,$FF,$FF,$FF,$5F,$FF,$FF,$FD $B966 DEFB $BF,$FF,$FF,$FD,$3F,$FF,$FF,$FD $B96E DEFB $3F,$FE,$7F,$FE,$BF,$F0,$0F,$FE $B976 DEFB $FF,$80,$01,$FE,$FE,$00,$00,$3F $B97E DEFB $FC,$00,$00,$0F,$F0,$00,$00,$07 $B986 DEFB $00,$00,$00,$03,$00,$00,$00,$00 ; _b98e b$B98E DEFB $00,$00,$00,$09,$00,$07,$00,$07 $B996 DEFB $00,$3E,$00,$5F,$00,$BD,$00,$FB $B99E DEFB $01,$7E,$01,$FF,$03,$FD,$06,$EF $B9A6 DEFB $0E,$FF,$0D,$BF,$0F,$FF,$0D,$DD $B9AE DEFB $1F,$F7,$17,$7F,$1F,$F5,$3D,$BF $B9B6 DEFB $3F,$FB,$3F,$7F,$1B,$8F,$2B,$37 $B9BE DEFB $7E,$FB,$5B,$FD,$7E,$FB,$ED,$FD $B9C6 DEFB $FD,$FD,$DD,$FD,$5F,$FD,$ED,$FD $B9CE DEFB $EF,$FD,$7D,$FD,$3F,$FF,$0D,$FD $B9D6 DEFB $1F,$FF,$0D,$FD,$07,$FF,$01,$1D $B9DE DEFB $00,$03,$00,$03,$00,$03,$00,$03 $B9E6 DEFB $00,$03,$00,$00,$00,$00,$00,$00 ; _b9ee b$B9EE DEFB $00,$00,$00,$00,$00,$00,$20,$00 $B9F6 DEFB $00,$01,$20,$00,$02,$01,$B0,$00 $B9FE DEFB $01,$03,$40,$00,$01,$80,$65,$00 $BA06 DEFB $01,$04,$42,$00,$02,$AD,$86,$10 $BA0E DEFB $20,$46,$2C,$10,$48,$C6,$A4,$4A $BA16 DEFB $48,$62,$C6,$A4,$3C,$46,$A8,$84 $BA1E DEFB $10,$63,$4C,$86,$60,$42,$68,$D8 $BA26 DEFB $29,$47,$49,$A0,$30,$A4,$4D,$C0 $BA2E DEFB $13,$C4,$D1,$00,$31,$23,$55,$42 $BA36 DEFB $11,$03,$49,$96,$1B,$25,$29,$08 $BA3E DEFB $11,$45,$65,$88,$58,$82,$65,$10 $BA46 DEFB $69,$87,$2E,$98,$08,$D2,$34,$60 $BA4E DEFB $0C,$8B,$6C,$40,$05,$44,$28,$60 $BA56 DEFB $02,$24,$68,$C8,$1E,$60,$8F,$30 $BA5E DEFB $0E,$2F,$A5,$60,$0C,$3F,$DF,$A0 $BA66 DEFB $00,$87,$3B,$80,$01,$68,$1E,$00 ; _ba6e b$BA6E DEFB $00,$48,$00,$00,$50,$00,$00,$AB $BA76 DEFB $00,$00,$96,$00,$00,$7A,$24,$00 $BA7E DEFB $5C,$D3,$00,$F3,$5C,$00,$34,$7A $BA86 DEFB $24,$18,$96,$CB,$08,$AB,$3A,$0C $BA8E DEFB $D0,$5E,$ED,$C8,$69,$FD,$81,$D5 $BA96 DEFB $1F,$86,$0A,$0E,$6D,$12,$3E,$12 $BA9E DEFB $02,$67,$9C,$01,$D9,$62,$1A,$C7 $BAA6 DEFB $44,$0D,$CB,$C0,$0B,$0D,$20,$07 $BAAE DEFB $5A,$A0,$19,$09,$40,$04,$0E,$40 $BAB6 DEFB $00,$0C,$00,$00,$0E,$00,$00,$1F $BABE DEFB $00,$00,$7F,$E0,$00,$F8,$FC,$00 $BAC6 DEFB $88,$10,$00,$00,$00,$00,$00,$00 ; _bace b$BACE DEFB $00,$00,$14,$72,$00,$00,$00,$04 $BAD6 DEFB $57,$42,$01,$40,$00,$05,$AD,$2C $BADE DEFB $00,$90,$00,$15,$10,$51,$01,$E0 $BAE6 DEFB $00,$0A,$93,$88,$21,$B0,$00,$05 $BAEE DEFB $57,$4C,$82,$D0,$00,$0B,$DA,$8A $BAF6 DEFB $45,$54,$00,$2D,$B5,$3D,$8B,$D8 $BAFE DEFB $00,$1C,$94,$1C,$2D,$B4,$04,$5B $BB06 DEFB $DB,$53,$1C,$94,$05,$AD,$ED,$BD $BB0E DEFB $5B,$DA,$15,$18,$32,$14,$AD,$EC $BB16 DEFB $0A,$05,$9F,$53,$18,$32,$05,$22 $BB1E DEFB $5D,$32,$05,$9E,$0B,$51,$8B,$59 $BB26 DEFB $22,$5C,$2D,$25,$25,$AF,$51,$8A $BB2E DEFB $1C,$29,$14,$A7,$A5,$25,$5B,$4B $BB36 DEFB $53,$CF,$39,$14,$AD,$35,$AD,$B5 $BB3E DEFB $EB,$53,$18,$08,$F3,$00,$75,$AD $BB46 DEFB $05,$00,$38,$00,$48,$D0,$00,$00 $BB4E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $BB56 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _bb5e b$BB5E DEFB $02,$28,$00,$00,$02,$EA,$20,$00 $BB66 DEFB $04,$B5,$A0,$00,$02,$08,$A8,$00 $BB6E DEFB $01,$C9,$50,$00,$02,$EA,$A0,$00 $BB76 DEFB $01,$5B,$D0,$00,$0C,$AD,$B4,$00 $BB7E DEFB $18,$29,$38,$00,$4A,$DB,$DA,$20 $BB86 DEFB $3D,$B7,$B5,$A0,$28,$4C,$18,$A8 $BB8E DEFB $CA,$F9,$A2,$50,$4C,$BA,$44,$A0 $BB96 DEFB $1A,$D1,$9A,$D0,$75,$A4,$BC,$B4 $BB9E DEFB $65,$28,$9C,$38,$13,$CA,$DA,$DA $BBA6 DEFB $0D,$B5,$AC,$B5,$10,$CF,$10,$18 $BBAE DEFB $08,$3D,$0A,$A8,$68,$52,$96,$18 $BBB6 DEFB $32,$8F,$15,$DA,$2E,$6F,$CA,$F6 $BBBE DEFB $DA,$ED,$E5,$DC,$4C,$0A,$C4,$9A $BBC6 DEFB $98,$00,$0A,$04,$00,$00,$00,$00 $BBCE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $BBD6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _bbde b$BBDE DEFB $00,$00,$00,$00,$00,$50,$08,$00 $BBE6 DEFB $00,$20,$48,$00,$02,$B0,$35,$00 $BBEE DEFB $01,$54,$6A,$00,$01,$8E,$29,$00 $BBF6 DEFB $04,$25,$A4,$00,$0A,$14,$50,$80 $BBFE DEFB $0A,$57,$21,$C0,$15,$AD,$4E,$80 $BC06 DEFB $3A,$10,$F1,$C0,$12,$93,$C0,$60 $BC0E DEFB $44,$C1,$44,$54,$8A,$C5,$8A,$8A $BC16 DEFB $25,$69,$25,$35,$14,$79,$14,$34 $BC1E DEFB $57,$31,$57,$56,$2D,$3B,$AD,$AC $BC26 DEFB $50,$5F,$11,$10,$13,$47,$93,$94 $BC2E DEFB $04,$C6,$45,$28,$08,$A6,$A2,$80 $BC36 DEFB $1C,$56,$55,$C4,$09,$42,$6A,$A0 $BC3E DEFB $55,$76,$D2,$70,$4A,$D7,$B9,$28 $BC46 DEFB $21,$C3,$11,$8C,$05,$73,$82,$28 $BC4E DEFB $00,$87,$E0,$10,$00,$0D,$B0,$00 $BC56 DEFB $00,$01,$00,$00,$00,$00,$00,$00 $BC5E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $BC66 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $BC6E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $BC76 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _bc7e b$BC7E DEFB $00,$08,$00,$10,$00,$44,$01,$52 $BC86 DEFB $00,$2D,$00,$14,$02,$16,$15,$90 $BC8E DEFB $35,$D8,$0A,$B0,$1D,$E0,$09,$60 $BC96 DEFB $22,$54,$45,$8A,$12,$35,$0E,$B4 $BC9E DEFB $2D,$D6,$16,$AC,$2B,$10,$0B,$94 $BCA6 DEFB $02,$28,$14,$98,$0E,$D4,$04,$B0 $BCAE DEFB $2A,$70,$25,$2A,$11,$81,$03,$A8 $BCB6 DEFB $09,$D2,$03,$E0,$06,$A0,$00,$00 $BCBE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $BCC6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _bcce b$BCCE DEFB $03,$E0,$0D,$58,$1B,$44,$16,$04 $BCD6 DEFB $1E,$12,$37,$8E,$2E,$06,$55,$02 $BCDE DEFB $68,$01,$D5,$4D,$AC,$D9,$F9,$D1 $BCE6 DEFB $73,$62,$7F,$73,$3F,$DC,$0F,$F8 ; _bcee b$BCEE DEFB $00,$00,$14,$40,$00,$04,$57,$40 $BCF6 DEFB $00,$05,$AD,$20,$00,$15,$10,$40 $BCFE DEFB $00,$0A,$93,$80,$00,$05,$57,$40 $BD06 DEFB $00,$0B,$DA,$80,$00,$2D,$B5,$30 $BD0E DEFB $00,$1C,$94,$18,$04,$5B,$DB,$52 $BD16 DEFB $05,$AD,$ED,$BC,$15,$18,$32,$14 $BD1E DEFB $0A,$45,$9F,$53,$05,$22,$5D,$32 $BD26 DEFB $0B,$51,$8B,$59,$2D,$25,$25,$AF $BD2E DEFB $1C,$29,$14,$A4,$5B,$4B,$53,$CE $BD36 DEFB $AD,$35,$AD,$B4,$18,$08,$F3,$08 $BD3E DEFB $05,$50,$BC,$30,$00,$69,$4A,$14 $BD46 DEFB $0D,$A8,$F1,$4C,$0D,$53,$F6,$74 $BD4E DEFB $03,$A5,$BF,$5B,$11,$22,$5D,$32 $BD56 DEFB $2B,$51,$8B,$59,$27,$A5,$25,$AE $BD5E DEFB $CF,$29,$14,$A4,$B5,$CB,$53,$CC $BD66 DEFB $19,$B5,$AD,$B4,$29,$08,$F3,$18 $BD6E DEFB $6D,$11,$BA,$A8,$1B,$AF,$45,$6C $BD76 DEFB $27,$53,$86,$9A,$94,$14,$27,$26 $BD7E DEFB $5B,$25,$14,$94,$3D,$0E,$43,$DA $BD86 DEFB $11,$0C,$8D,$BC,$00,$08,$01,$90 ; _bd8e b$BD8E DEFB $4A,$4A,$91,$51,$49,$4A,$89,$29 $BD96 DEFB $52,$49,$49,$25,$52,$29,$89,$2A $BD9E DEFB $89,$29,$49,$49,$53,$25,$89,$29 $BDA6 DEFB $91,$2A,$53,$29,$92,$49,$51,$4A $BDAE DEFB $49,$51,$2A,$49,$91,$25,$52,$49 $BDB6 DEFB $51,$2A,$8A,$29,$49,$25,$25,$29 $BDBE DEFB $25,$45,$45,$28,$2A,$45,$49,$24 $BDC6 DEFB $25,$45,$49,$24,$45,$4C,$24,$25 $BDCE DEFB $29,$4D,$2A,$25,$45,$24,$00,$00 $BDD6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _bdde b$BDDE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $BDE6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _bdee b$BDEE DEFB $00,$F0,$07,$FC,$F8,$3C,$71,$12 $BDF6 DEFB $CE,$AE,$00,$00,$00,$00,$00,$00 ; _bdfe b$BDFE DEFB $00,$00,$7B,$FC,$8C,$02,$B0,$1B $BE06 DEFB $9B,$B3,$8E,$E3,$84,$43,$80,$03 $BE0E DEFB $83,$03,$83,$03,$87,$83,$85,$83 $BE16 DEFB $85,$83,$85,$83,$85,$83,$87,$83 $BE1E DEFB $80,$0B,$80,$07,$41,$02,$41,$03 $BE26 DEFB $41,$03,$41,$03,$43,$A3,$8F,$E3 $BE2E DEFB $80,$03,$81,$03,$81,$03,$47,$C3 $BE36 DEFB $47,$C3,$83,$83,$83,$83,$83,$87 $BE3E DEFB $80,$06,$87,$C6,$A5,$C6,$45,$C3 $BE46 DEFB $83,$83,$81,$03,$81,$03,$87,$C3 $BE4E DEFB $80,$03,$9E,$23,$84,$AB,$88,$73 $BE56 DEFB $90,$23,$80,$03,$7F,$FE,$00,$00 ; _be5e b$BE5E DEFB $00,$01,$07,$6F,$7C,$3C,$1F,$07 ; _be66 b$BE66 DEFB $00,$01,$07,$6F,$7C,$3C,$1F,$07 ; _be6e b$BE6E DEFB $00,$00,$00,$00,$3C,$00,$98,$00 $BE76 DEFB $7F,$03,$FF,$00,$67,$AE,$FF,$80 $BE7E DEFB $07,$FF,$FB,$C0,$9E,$DF,$FF,$C0 $BE86 DEFB $FF,$FF,$3F,$70,$78,$7C,$03,$F8 $BE8E DEFB $00,$00,$01,$F8,$00,$00,$00,$FC $BE96 DEFB $00,$38,$00,$6C,$00,$FE,$00,$7E $BE9E DEFB $00,$BF,$00,$3E,$01,$7D,$80,$36 $BEA6 DEFB $01,$FF,$60,$7E,$00,$FF,$F0,$7E $BEAE DEFB $E3,$FD,$D9,$FE,$BF,$FF,$BF,$DC $BEB6 DEFB $9E,$FF,$EF,$FC,$1C,$FF,$FF,$F8 $BEBE DEFB $03,$FF,$FF,$F0,$07,$DF,$FF,$E0 $BEC6 DEFB $47,$9F,$FF,$C0,$4C,$3B,$FF,$00 $BECE DEFB $7C,$63,$7C,$00,$38,$E6,$6C,$00 $BED6 DEFB $00,$C6,$6C,$00,$00,$46,$6C,$00 $BEDE DEFB $00,$46,$64,$00,$00,$42,$36,$00 $BEE6 DEFB $00,$22,$13,$00,$00,$01,$11,$00 ; _beee b$BEEE DEFB $30,$07,$24,$03,$38,$0F,$FC,$4F $BEF6 DEFB $18,$0F,$FC,$7E,$38,$0F,$FF,$F8 $BEFE DEFB $7C,$1F,$FF,$C0,$0F,$DF,$FE,$02 $BF06 DEFB $07,$FF,$FC,$0C,$02,$FF,$FC,$3E $BF0E DEFB $0F,$7F,$FC,$7B,$13,$9F,$FD,$F1 $BF16 DEFB $07,$9F,$FF,$C0,$03,$9F,$FF,$D8 $BF1E DEFB $03,$8F,$FF,$98,$0B,$87,$FF,$3B $BF26 DEFB $07,$87,$FF,$7E,$03,$97,$FE,$7E $BF2E DEFB $03,$E7,$FE,$FC,$03,$C7,$FE,$FC $BF36 DEFB $03,$87,$FE,$F8,$03,$C7,$FE,$F0 $BF3E DEFB $03,$C7,$FC,$F0,$03,$C7,$FD,$F0 $BF46 DEFB $03,$C7,$FD,$F0,$03,$C7,$FD,$F0 $BF4E DEFB $07,$CF,$FD,$F0,$03,$EF,$FD,$F0 $BF56 DEFB $06,$6F,$FD,$F0,$00,$1F,$FD,$F0 $BF5E DEFB $00,$0F,$FD,$F0,$00,$0F,$FD,$F0 $BF66 DEFB $00,$0F,$FC,$F0,$00,$0F,$FC,$F8 $BF6E DEFB $00,$0F,$FD,$FE,$00,$0F,$FD,$BE $BF76 DEFB $00,$0F,$FE,$F3,$00,$0F,$FC,$31 $BF7E DEFB $00,$0F,$FC,$60,$00,$0F,$FE,$40 $BF86 DEFB $00,$0F,$FE,$00,$00,$0F,$FE,$00 $BF8E DEFB $00,$0F,$FE,$00,$00,$0F,$FF,$00 $BF96 DEFB $00,$1F,$FF,$C0,$00,$1F,$F7,$E0 $BF9E DEFB $00,$3E,$70,$FC,$00,$F8,$18,$0E $BFA6 DEFB $03,$80,$0C,$01,$00,$00,$00,$00 ; _bfae b$BFAE DEFB $D8,$C2,$38,$01,$F0,$D2,$FF,$0F $BFB6 DEFB $7F,$BC,$FF,$0E,$3F,$F9,$FF,$BF $BFBE DEFB $0B,$FF,$FF,$F8,$0D,$FF,$FF,$F0 $BFC6 DEFB $9F,$9F,$FF,$C2,$FF,$07,$FF,$D4 $BFCE DEFB $7F,$81,$FF,$B4,$7F,$81,$FF,$B8 $BFD6 DEFB $3F,$80,$FF,$38,$1F,$80,$FF,$38 $BFDE DEFB $1F,$80,$FF,$70,$0F,$C6,$FF,$70 $BFE6 DEFB $0F,$FE,$FF,$30,$0F,$FC,$FF,$32 $BFEE DEFB $0F,$F8,$FF,$32,$0F,$E0,$FF,$AC $BFF6 DEFB $07,$C0,$FF,$D8,$0F,$C4,$FF,$F8 $BFFE DEFB $0F,$93,$FF,$F0,$0F,$93,$FF,$E0 $C006 DEFB $0F,$8F,$FF,$D0,$0F,$87,$FF,$B0 $C00E DEFB $0F,$87,$FF,$B0,$0F,$87,$FF,$30 $C016 DEFB $0F,$C3,$FF,$30,$07,$C3,$FF,$70 $C01E DEFB $0F,$C1,$FF,$78,$0F,$C1,$FF,$8C $C026 DEFB $0F,$C1,$FF,$00,$0F,$C1,$FF,$00 $C02E DEFB $0F,$C1,$FF,$00,$0F,$C1,$FF,$00 $C036 DEFB $1F,$C0,$FF,$00,$1F,$E1,$FF,$80 $C03E DEFB $7B,$FD,$FF,$80,$FB,$FF,$FF,$C0 $C046 DEFB $A1,$9F,$FF,$E0,$01,$01,$FF,$F0 $C04E DEFB $03,$03,$FF,$F0,$00,$07,$FF,$FC $C056 DEFB $00,$7F,$FF,$FF,$00,$FE,$1F,$06 $C05E DEFB $03,$C0,$07,$00,$00,$00,$03,$80 $C066 DEFB $00,$00,$01,$80,$00,$00,$00,$00 ; _c06e b$C06E DEFB $06,$C0,$27,$DC,$2B,$9A,$39,$DB $C076 DEFB $19,$FA,$58,$FB,$5D,$F1,$2F,$F9 $C07E DEFB $37,$FB,$3B,$FE,$39,$FE,$B1,$FC $C086 DEFB $71,$FC,$38,$FA,$38,$FA,$38,$FC $C08E DEFB $38,$FC,$3A,$F8,$1C,$F8,$19,$FE $C096 DEFB $39,$FF,$39,$FF,$39,$FD,$39,$FC $C09E DEFB $3D,$F8,$1A,$F8,$31,$F8,$39,$F0 $C0A6 DEFB $39,$F0,$39,$F8,$39,$F0,$39,$F8 $C0AE DEFB $3B,$F8,$3B,$F8,$7B,$F8,$D3,$FC $C0B6 DEFB $13,$FC,$07,$FE,$07,$FE,$0F,$FF $C0BE DEFB $3E,$F7,$E0,$E1,$80,$F1,$00,$18 $C0C6 DEFB $00,$06,$00,$00,$00,$00,$00,$00 ; _c0ce b$C0CE DEFB $00,$7E,$00,$00,$DB,$00,$00,$E7 $C0D6 DEFB $00,$00,$DB,$00,$00,$FF,$00,$00 $C0DE DEFB $DB,$00,$00,$BD,$00,$00,$E7,$00 $C0E6 DEFB $3F,$E7,$FC,$7B,$FF,$DE,$5B,$E7 $C0EE DEFB $DA,$56,$42,$6A,$56,$42,$6A,$5B $C0F6 DEFB $E7,$DA,$7B,$FF,$DE,$3F,$E7,$FC $C0FE DEFB $01,$E7,$80,$00,$FF,$00,$00,$99 $C106 DEFB $00,$00,$E7,$00,$00,$BD,$00,$00 $C10E DEFB $AD,$00,$00,$B5,$00,$00,$AD,$00 $C116 DEFB $00,$B5,$00,$00,$AD,$00,$00,$B5 $C11E DEFB $00,$00,$AD,$00,$00,$B5,$00,$00 $C126 DEFB $AD,$00,$00,$B5,$00,$00,$AD,$00 $C12E DEFB $00,$B5,$00,$00,$AD,$00,$00,$B5 $C136 DEFB $00,$00,$AD,$00,$00,$B5,$00,$00 $C13E DEFB $AD,$00,$00,$C3,$00,$00,$7E,$00 ; _c146 b$C146 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C14E DEFB $00,$88,$00,$65,$00,$54,$00,$56 $C156 DEFB $00,$AD,$00,$11,$00,$9A,$00,$70 $C15E DEFB $00,$10,$00,$1B,$00,$1E,$00,$0C $C166 DEFB $00,$0C,$00,$26,$00,$16,$00,$1D $C16E DEFB $00,$07,$00,$07,$00,$06,$00,$0B $C176 DEFB $00,$1C,$00,$2E,$00,$2C,$00,$3C $C17E DEFB $00,$38,$00,$58,$00,$78,$00,$70 ; _c186 b$C186 DEFB $11,$00,$0C,$A0,$0A,$80,$0A,$C0 $C18E DEFB $15,$A0,$02,$20,$13,$40,$0E,$C0 $C196 DEFB $00,$60,$00,$36,$00,$3C,$00,$18 $C19E DEFB $00,$18,$00,$4C,$00,$2C,$00,$3A $C1A6 DEFB $00,$0E,$00,$0E,$00,$0C,$00,$16 $C1AE DEFB $00,$1C,$00,$28,$00,$3C,$00,$34 $C1B6 DEFB $00,$1C,$00,$2C,$00,$3E,$00,$1C $C1BE DEFB $00,$38,$00,$58,$00,$78,$00,$70 ; _c1c6 b$C1C6 DEFB $44,$30,$32,$FA,$2A,$5F,$2B,$0C $C1CE DEFB $56,$8C,$08,$86,$4D,$16,$3B,$0D $C1D6 DEFB $00,$07,$00,$07,$00,$06,$00,$0B $C1DE DEFB $00,$0E,$00,$14,$00,$1E,$00,$1A $C1E6 DEFB $00,$1C,$00,$2C,$00,$2C,$00,$3C $C1EE DEFB $00,$38,$00,$58,$00,$78,$00,$70 ; _c1f6 b$C1F6 DEFB $00,$00,$00,$00,$01,$80,$00,$80 $C1FE DEFB $00,$E0,$23,$60,$1F,$D0,$06,$38 $C206 DEFB $47,$2C,$32,$1C,$2B,$0E,$2B,$0C $C20E DEFB $56,$9E,$08,$96,$4D,$1E,$3B,$0C $C216 DEFB $00,$1E,$00,$2C,$00,$1E,$00,$3C $C21E DEFB $00,$38,$00,$58,$00,$78,$00,$70 ; _c226 b$C226 DEFB $00,$EC,$01,$DA,$03,$7E,$03,$8A $C22E DEFB $0E,$CF,$0D,$46,$1E,$47,$26,$1D $C236 DEFB $25,$0E,$27,$1C,$13,$16,$03,$3C $C23E DEFB $06,$38,$0C,$6C,$4E,$78,$32,$70 $C246 DEFB $2B,$00,$2A,$00,$57,$00,$08,$00 $C24E DEFB $4D,$00,$3A,$00,$00,$00,$00,$00 ; _c256 b$C256 DEFB $00,$EC,$01,$DA,$0B,$7E,$37,$8A $C25E DEFB $0E,$CF,$0D,$06,$1E,$07,$26,$1D $C266 DEFB $25,$0E,$47,$1C,$23,$16,$33,$3C $C26E DEFB $06,$3E,$0C,$6C,$0C,$B4,$38,$F8 $C276 DEFB $48,$00,$1E,$00,$19,$80,$0C,$00 $C27E DEFB $4E,$00,$32,$80,$2B,$00,$2A,$00 $C286 DEFB $57,$00,$0A,$C0,$4D,$00,$3A,$00 $C28E DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _c296 b$C296 DEFB $00,$70,$01,$88,$02,$08,$04,$10 $C29E DEFB $3F,$FC,$1F,$F8,$08,$10,$3B,$FC $C2A6 DEFB $7F,$FE,$77,$FE,$77,$FE,$77,$FE $C2AE DEFB $3B,$FC,$1F,$F8,$0D,$B0,$19,$98 ; _c2b6 b$C2B6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _c2be b$C2BE DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C2C6 DEFB $00,$00,$00,$00,$00,$00,$F8,$6F $C2CE DEFB $6D,$B6,$5A,$DB,$CF,$00,$00,$F8 ; _c2d6 b$C2D6 DEFB $00,$00,$00,$02,$00,$0C,$00,$14 $C2DE DEFB $00,$28,$00,$70,$00,$A0,$21,$C0 $C2E6 DEFB $63,$80,$47,$00,$4E,$00,$3C,$00 $C2EE DEFB $38,$00,$F9,$80,$A7,$00,$E0,$00 ; _c2f6 b$C2F6 DEFB $90,$F0,$F0,$F0,$90,$F0,$F0,$F0 $C2FE DEFB $F0,$F0,$90,$F0,$F0,$F0,$F0,$90 ; _c306 b$C306 DEFB $00,$00,$00,$00,$00,$C0,$01,$E0 $C30E DEFB $01,$A0,$01,$A0,$01,$A0,$01,$A0 $C316 DEFB $01,$A0,$01,$A0,$01,$E0,$7B,$F0 $C31E DEFB $DB,$B0,$7F,$FF,$1F,$04,$0F,$F8 ; _c326 b$C326 DEFB $00,$80,$01,$80,$02,$80,$04,$98 $C32E DEFB $08,$78,$1E,$70,$11,$F0,$01,$CF $C336 DEFB $03,$C2,$07,$24,$0E,$28,$1C,$30 $C33E DEFB $28,$60,$50,$00,$E0,$00,$40,$00 ; _c346 b$C346 DEFB $00,$00,$3C,$00,$00,$76,$7F,$FF $C34E DEFB $FB,$DF,$FF,$FB,$D0,$00,$3B,$7F $C356 DEFB $FF,$FB,$00,$00,$76,$00,$00,$3C ; _c35e b$C35E DEFB $78,$30,$30,$30,$30,$30,$30,$30 $C366 DEFB $30,$30,$FC,$84,$84,$84,$48,$30 ; _c36e b$C36E DEFB $00,$00,$00,$00,$00,$00,$70,$38 $C376 DEFB $78,$78,$3C,$F0,$78,$78,$70,$38 $C37E DEFB $D0,$2C,$F0,$3C,$70,$38,$78,$78 $C386 DEFB $3F,$F0,$3C,$F0,$0F,$C0,$03,$00 ; _c38e b$C38E DEFB $00,$00,$1C,$3C,$78,$3C,$1C,$16 $C396 DEFB $1E,$1C,$3C,$F8,$78,$E0,$80,$00 ; _c39e b$C39E DEFB $00,$00,$0C,$00,$44,$00,$3B,$FF $C3A6 DEFB $3B,$FE,$44,$00,$06,$00,$00,$00 ; _c3ae b$C3AE DEFB $3E,$00,$5D,$80,$40,$60,$80,$30 $C3B6 DEFB $80,$18,$80,$08,$FF,$F8,$FF,$F8 $C3BE DEFB $6F,$F0,$77,$F0,$77,$F0,$3B,$E0 $C3C6 DEFB $3B,$E0,$19,$C0,$1F,$C0,$1F,$C0 ; _c3ce b$C3CE DEFB $3C,$00,$7F,$C0,$F7,$E0,$EA,$E0 $C3D6 DEFB $F5,$E0,$EA,$E0,$F4,$E0,$E9,$C0 $C3DE DEFB $F7,$C0,$EB,$80,$F7,$80,$EF,$00 $C3E6 DEFB $FE,$00,$FC,$00,$F8,$00,$70,$00 ; _c3ee b$C3EE DEFB $7F,$FE,$80,$07,$80,$3B,$C0,$FB $C3F6 DEFB $42,$FB,$87,$C3,$83,$F3,$8F,$E3 $C3FE DEFB $8F,$E3,$8D,$C3,$93,$83,$9F,$03 $C406 DEFB $B0,$13,$80,$23,$80,$43,$C0,$E7 $C40E DEFB $40,$44,$C0,$87,$81,$03,$83,$83 $C416 DEFB $81,$03,$82,$03,$80,$03,$FF,$FE ; _c41e b$C41E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C426 DEFB $00,$3C,$3C,$3C,$42,$42,$42,$E7 $C42E DEFB $E7,$E7,$42,$42,$42,$3C,$3C,$3C ; _c436 b$C436 DEFB $00,$00,$00,$07,$00,$1F,$00,$3F $C43E DEFB $01,$B8,$07,$FE,$0F,$FC,$07,$FC $C446 DEFB $1F,$F8,$1F,$F0,$1B,$20,$27,$E0 $C44E DEFB $3F,$C0,$6F,$00,$80,$00,$00,$00 ; _c456 b$C456 DEFB $7E,$DF,$FF,$DF,$DF,$DF,$DF,$6E $C45E DEFB $7E,$3C,$18,$18,$18,$18,$34,$FF ; _c466 b$C466 DEFB $00,$00,$00,$00,$00,$00,$03,$98 $C46E DEFB $07,$78,$01,$70,$01,$F0,$01,$CF $C476 DEFB $03,$C2,$07,$24,$0E,$28,$1C,$30 $C47E DEFB $28,$60,$50,$00,$E0,$00,$40,$00 ; _c486 b$C486 DEFB $40,$02,$E0,$07,$9F,$F9,$90,$09 $C48E DEFB $94,$A9,$96,$29,$94,$A9,$90,$09 $C496 DEFB $90,$09,$92,$A9,$92,$89,$94,$29 $C49E DEFB $90,$09,$9F,$F9,$E0,$07,$40,$02 ; _c4a6 b$C4A6 DEFB $48,$0A,$92,$8C,$93,$11,$A2,$22 $C4AE DEFB $63,$3C,$69,$20,$30,$C2,$18,$8E $C4B6 DEFB $4D,$98,$3F,$F0,$0F,$E0,$03,$80 $C4BE DEFB $0F,$C0,$3F,$80,$6F,$F0,$F3,$60 ; _c4c6 b$C4C6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _c4ce b$C4CE DEFB $02,$00,$07,$00,$42,$10,$E5,$38 $C4D6 DEFB $45,$10,$65,$30,$55,$50,$55,$50 $C4DE DEFB $48,$90,$42,$10,$27,$20,$22,$20 $C4E6 DEFB $20,$20,$1F,$C0,$37,$60,$1F,$C0 ; _c4ee b$C4EE DEFB $00,$00,$00,$00,$02,$00,$07,$00 $C4F6 DEFB $0A,$80,$12,$40,$22,$20,$42,$10 $C4FE DEFB $92,$28,$8A,$48,$86,$08,$85,$08 $C506 DEFB $88,$88,$52,$50,$22,$20,$1F,$C0 ; _c50e b$C50E DEFB $00,$00,$00,$03,$00,$05,$00,$0A $C516 DEFB $00,$1C,$00,$28,$00,$70,$00,$E0 $C51E DEFB $11,$C0,$13,$80,$0F,$00,$0A,$00 $C526 DEFB $3E,$00,$39,$80,$78,$00,$60,$00 ; _c52e b$C52E DEFB $00,$06,$1E,$1C,$7C,$78,$78,$80 ; _c536 b$C536 DEFB $38,$EE,$DE,$EE,$38,$10,$10,$10 $C53E DEFB $10,$10,$38,$28,$38,$28,$38,$10 ; _c546 b$C546 DEFB $30,$30,$10,$30,$30,$30,$78,$FC $C54E DEFB $FC,$DC,$DC,$DC,$DC,$DC,$FC,$78 ; _c556 b$C556 DEFB $00,$3C,$7E,$EF,$DF,$EF,$56,$3C ; _c55e b$C55E DEFB $00,$34,$7E,$E3,$D1,$EB,$56,$3C ; _c566 b$C566 DEFB $00,$0C,$1E,$1B,$F5,$FF,$78,$38 ; _c56e b$C56E DEFB $00,$00,$00,$70,$7C,$EC,$C4,$FC ; _c576 b$C576 DEFB $18,$58,$F8,$FC,$F8,$FC,$FC,$CC ; _c57e b$C57E DEFB $30,$48,$48,$B4,$A4,$A4,$58,$70 ; _c586 b$C586 DEFB $30,$00,$48,$00,$B7,$FF,$B4,$51 $C58E DEFB $B7,$FD,$48,$05,$30,$07,$00,$00 ; _c596 b$C596 DEFB $00,$00,$00,$00,$08,$00,$00,$00 ; _c59e b$C59E DEFB $18,$24,$66,$99,$99,$66,$24,$18 ; _c5a6 b$C5A6 DEFB $00,$00,$0C,$16,$3E,$6F,$FD,$EF ; _c5ae b$C5AE DEFB $00,$00,$00,$00,$00,$00,$03,$80 $C5B6 DEFB $0F,$C0,$1F,$C0,$37,$E0,$70,$E0 $C5BE DEFB $7D,$60,$E3,$E0,$F8,$A0,$F7,$A0 $C5C6 DEFB $F7,$40,$FF,$40,$7C,$80,$33,$00 ; _c5ce b$C5CE DEFB $08,$1C,$58,$E6,$67,$1A,$38,$10 ; _c5d6 b$C5D6 DEFB $03,$03,$04,$08,$10,$20,$40,$80 ; _c5de b$C5DE DEFB $00,$38,$46,$81,$81,$81,$46,$38 ; _c5e6 b$C5E6 DEFB $30,$48,$30,$78,$CC,$CC,$78,$30 ; _c5ee b$C5EE DEFB $10,$28,$38,$44,$BA,$92,$82,$FE ; _c5f6 b$C5F6 DEFB $FF,$81,$AD,$95,$89,$BD,$A1,$FF ; _c5fe b$C5FE DEFB $66,$A5,$C3,$81,$C3,$E7,$5A,$3C ; _c606 b$C606 DEFB $0C,$2C,$6F,$1F,$F8,$F6,$34,$30 ; _c60e b$C60E DEFB $DB,$FF,$DB,$66,$3C,$18,$18,$18 ; _c616 b$C616 DEFB $00,$3C,$7F,$67,$07,$9E,$FE,$78 ; _c61e b$C61E DEFB $00,$0C,$12,$2B,$41,$83,$9A,$EE ; _c626 b$C626 DEFB $00,$07,$00,$0C,$3B,$80,$3B,$F3 $C62E DEFB $C0,$3B,$BE,$E0,$7F,$BF,$60,$77 $C636 DEFB $BB,$B0,$EF,$99,$D0,$ED,$DD,$D0 ; _c63e b$C63E DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _c646 b$C646 DEFB $00,$78,$48,$F4,$E6,$E5,$5B,$77 ; _c64e b$C64E DEFB $00,$0C,$12,$2B,$41,$83,$9A,$EE ; _c656 b$C656 DEFB $00,$00,$00,$80,$01,$40,$01,$40 $C65E DEFB $01,$40,$01,$40,$01,$40,$02,$40 $C666 DEFB $02,$40,$02,$40,$02,$20,$02,$20 $C66E DEFB $02,$A0,$04,$A0,$04,$A0,$04,$20 $C676 DEFB $04,$20,$04,$A0,$08,$A0,$08,$10 $C67E DEFB $10,$90,$14,$10,$14,$50,$15,$50 $C686 DEFB $15,$50,$11,$50,$15,$50,$11,$50 $C68E DEFB $12,$50,$12,$48,$12,$48,$2A,$28 $C696 DEFB $2A,$28,$2A,$28,$22,$84,$28,$24 $C69E DEFB $42,$82,$38,$22,$44,$82,$38,$1C ; _c6a6 b$C6A6 DEFB $3F,$F8,$63,$1C,$C0,$86,$C1,$06 $C6AE DEFB $82,$02,$32,$32,$78,$7A,$6C,$D9 $C6B6 DEFB $3A,$71,$8A,$41,$82,$01,$80,$05 $C6BE DEFB $ED,$D6,$CC,$DE,$C2,$1E,$C2,$1E $C6C6 DEFB $A7,$8C,$F8,$4E,$70,$0E,$7B,$74 $C6CE DEFB $71,$7C,$7C,$FC,$1F,$FC,$1F,$F6 $C6D6 DEFB $35,$9F,$7F,$FF,$7F,$FF,$7F,$FF $C6DE DEFB $7B,$3F,$77,$DF,$1F,$FE,$7F,$FF ; _c6e6 b$C6E6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C6EE DEFB $00,$00,$00,$00,$00,$00,$03,$E0 $C6F6 DEFB $00,$00,$0F,$F0,$00,$00,$1F,$98 $C6FE DEFB $00,$00,$2F,$08,$00,$00,$7B,$28 $C706 DEFB $00,$00,$FF,$08,$00,$01,$FF,$88 $C70E DEFB $00,$03,$FF,$90,$00,$0F,$FF,$60 $C716 DEFB $00,$1F,$FF,$00,$00,$1F,$FF,$00 $C71E DEFB $00,$3D,$FE,$00,$00,$3B,$FE,$00 $C726 DEFB $00,$79,$FF,$80,$00,$7B,$FF,$FC $C72E DEFB $00,$F3,$FF,$FE,$01,$F7,$FF,$FE $C736 DEFB $01,$F7,$FE,$3E,$00,$EF,$FC,$0C $C73E DEFB $00,$0F,$FC,$00,$00,$1F,$FE,$00 $C746 DEFB $00,$3F,$FE,$00,$00,$3F,$BF,$00 $C74E DEFB $00,$3F,$3F,$80,$00,$7E,$1F,$80 $C756 DEFB $00,$FE,$1F,$80,$00,$FC,$1F,$80 $C75E DEFB $00,$F8,$0F,$80,$03,$F0,$0F,$80 $C766 DEFB $04,$60,$07,$CC,$04,$20,$03,$72 $C76E DEFB $04,$20,$01,$02,$02,$30,$01,$04 $C776 DEFB $01,$08,$01,$08,$00,$88,$00,$F0 $C77E DEFB $00,$70,$00,$00,$00,$00,$00,$00 ; _c786 b$C786 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C78E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C796 DEFB $00,$00,$07,$E0,$00,$00,$0F,$F0 $C79E DEFB $00,$00,$3F,$98,$00,$00,$57,$08 $C7A6 DEFB $00,$00,$7F,$28,$00,$00,$FF,$08 $C7AE DEFB $00,$01,$FF,$88,$00,$03,$FF,$90 $C7B6 DEFB $00,$07,$FF,$60,$00,$0F,$FF,$00 $C7BE DEFB $00,$1F,$FF,$00,$00,$3F,$FE,$00 $C7C6 DEFB $00,$3F,$FE,$00,$00,$7F,$FF,$00 $C7CE DEFB $00,$7F,$FF,$80,$00,$7F,$F7,$80 $C7D6 DEFB $00,$FF,$FB,$E0,$01,$FF,$FD,$F0 $C7DE DEFB $01,$FF,$FE,$F0,$01,$FF,$FE,$70 $C7E6 DEFB $00,$7F,$3F,$80,$01,$FF,$1F,$80 $C7EE DEFB $03,$FE,$1F,$80,$07,$FE,$0F,$80 $C7F6 DEFB $07,$FC,$0F,$C0,$0F,$F0,$0F,$C0 $C7FE DEFB $1F,$E0,$0F,$C0,$67,$80,$0F,$C0 $C806 DEFB $82,$00,$07,$80,$84,$00,$07,$80 $C80E DEFB $44,$00,$0E,$80,$43,$00,$04,$40 $C816 DEFB $20,$80,$04,$38,$1F,$00,$04,$04 $C81E DEFB $00,$00,$02,$04,$00,$00,$03,$F8 ; _c826 b$C826 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C82E DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C836 DEFB $00,$00,$00,$00,$00,$00,$07,$E0 $C83E DEFB $00,$00,$1F,$F0,$00,$00,$3F,$98 $C846 DEFB $00,$00,$2F,$08,$00,$00,$7F,$28 $C84E DEFB $00,$00,$BF,$08,$00,$00,$7F,$88 $C856 DEFB $00,$00,$FF,$90,$00,$03,$FF,$60 $C85E DEFB $00,$07,$FF,$00,$00,$07,$FF,$00 $C866 DEFB $00,$07,$FE,$00,$00,$0F,$FE,$00 $C86E DEFB $00,$0F,$FE,$00,$00,$0F,$FC,$00 $C876 DEFB $00,$0F,$F8,$00,$00,$1F,$FC,$00 $C87E DEFB $00,$1F,$FF,$00,$00,$1F,$FF,$80 $C886 DEFB $00,$1F,$FF,$80,$00,$7F,$CF,$C0 $C88E DEFB $03,$FF,$87,$E0,$07,$FF,$8F,$E0 $C896 DEFB $07,$FF,$0F,$E0,$1B,$FC,$0F,$C0 $C89E DEFB $21,$F0,$1F,$C0,$21,$E0,$1F,$C0 $C8A6 DEFB $22,$00,$1F,$C0,$44,$00,$3F,$80 $C8AE DEFB $44,$00,$7E,$00,$44,$00,$4C,$00 $C8B6 DEFB $24,$00,$87,$00,$18,$00,$80,$80 $C8BE DEFB $00,$00,$80,$80,$00,$00,$7F,$00 ; _c8c6 b$C8C6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $C8CE DEFB $00,$00,$00,$00,$00,$00,$07,$E0 $C8D6 DEFB $00,$00,$1F,$F0,$00,$00,$1F,$98 $C8DE DEFB $00,$00,$3F,$08,$00,$00,$F7,$28 $C8E6 DEFB $00,$00,$BF,$08,$00,$00,$FF,$88 $C8EE DEFB $00,$00,$FF,$90,$00,$01,$FF,$60 $C8F6 DEFB $00,$01,$FF,$00,$00,$03,$FF,$00 $C8FE DEFB $00,$03,$FE,$00,$00,$03,$FE,$00 $C906 DEFB $00,$07,$FE,$00,$00,$0F,$FC,$00 $C90E DEFB $00,$0F,$F8,$00,$00,$1F,$F8,$00 $C916 DEFB $00,$1F,$FC,$00,$00,$1F,$FE,$00 $C91E DEFB $00,$1F,$FE,$00,$00,$0F,$FE,$00 $C926 DEFB $00,$0F,$F8,$00,$00,$7F,$F8,$00 $C92E DEFB $03,$FF,$F8,$00,$07,$FD,$F8,$00 $C936 DEFB $08,$7D,$F8,$00,$08,$73,$F0,$00 $C93E DEFB $08,$E7,$F0,$00,$11,$07,$F0,$00 $C946 DEFB $11,$07,$E0,$00,$11,$0F,$E0,$00 $C94E DEFB $09,$0F,$80,$00,$06,$09,$00,$00 $C956 DEFB $00,$10,$E0,$00,$00,$10,$10,$00 $C95E DEFB $00,$10,$10,$00,$00,$0F,$E0,$00 ; _c966 b$C966 DEFB $00,$00,$00,$00,$00,$00,$07,$E0 $C96E DEFB $00,$00,$1F,$F0,$00,$00,$1F,$98 $C976 DEFB $00,$00,$37,$08,$00,$00,$5F,$28 $C97E DEFB $00,$00,$7F,$08,$00,$00,$7F,$88 $C986 DEFB $00,$00,$7F,$90,$00,$00,$FF,$60 $C98E DEFB $00,$01,$FF,$00,$00,$03,$FF,$00 $C996 DEFB $00,$07,$FF,$00,$00,$0F,$FF,$00 $C99E DEFB $00,$0F,$FE,$00,$00,$07,$FC,$00 $C9A6 DEFB $00,$07,$FC,$00,$00,$0F,$FC,$00 $C9AE DEFB $00,$1F,$FC,$00,$00,$1F,$FF,$00 $C9B6 DEFB $00,$1F,$FF,$80,$00,$0F,$FF,$80 $C9BE DEFB $00,$0F,$FF,$80,$00,$0F,$FF,$00 $C9C6 DEFB $00,$07,$FC,$00,$00,$7F,$FC,$00 $C9CE DEFB $00,$9F,$F0,$00,$00,$9F,$E0,$00 $C9D6 DEFB $00,$BF,$C0,$00,$00,$BF,$00,$00 $C9DE DEFB $00,$BF,$80,$00,$00,$5F,$80,$00 $C9E6 DEFB $00,$5F,$00,$00,$00,$3F,$00,$00 $C9EE DEFB $00,$12,$00,$00,$00,$0A,$00,$00 $C9F6 DEFB $00,$11,$C0,$00,$00,$10,$30,$00 $C9FE DEFB $00,$10,$10,$00,$00,$0F,$E0,$00 ; _ca06 b$CA06 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $CA0E DEFB $00,$00,$07,$E0,$00,$00,$0F,$F0 $CA16 DEFB $00,$00,$3F,$98,$00,$00,$2B,$08 $CA1E DEFB $00,$00,$3F,$28,$00,$00,$7F,$08 $CA26 DEFB $00,$00,$FF,$88,$00,$03,$FF,$90 $CA2E DEFB $00,$07,$FF,$60,$00,$0F,$FF,$00 $CA36 DEFB $00,$1F,$FF,$00,$00,$3F,$FF,$00 $CA3E DEFB $00,$7F,$FE,$00,$00,$7F,$FE,$00 $CA46 DEFB $00,$7F,$FC,$00,$00,$7F,$FE,$00 $CA4E DEFB $00,$7F,$FF,$00,$00,$FF,$FF,$80 $CA56 DEFB $00,$FF,$FF,$E0,$00,$FF,$FF,$F0 $CA5E DEFB $00,$7F,$FF,$F0,$00,$1F,$FF,$E0 $CA66 DEFB $00,$0F,$FF,$80,$00,$1F,$9F,$00 $CA6E DEFB $00,$3F,$9F,$00,$00,$7F,$3F,$00 $CA76 DEFB $00,$FE,$2E,$00,$00,$FE,$44,$00 $CA7E DEFB $00,$FE,$44,$00,$00,$FE,$43,$00 $CA86 DEFB $00,$7C,$20,$80,$00,$7C,$08,$80 $CA8E DEFB $00,$58,$07,$00,$00,$48,$00,$00 $CA96 DEFB $00,$87,$00,$00,$00,$80,$80,$00 $CA9E DEFB $00,$80,$80,$00,$00,$7F,$00,$00 ; _caa6 b$CAA6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $CAAE DEFB $00,$00,$00,$00,$00,$00,$07,$E0 $CAB6 DEFB $00,$00,$0F,$F0,$00,$00,$1F,$98 $CABE DEFB $00,$00,$37,$08,$00,$00,$5F,$28 $CAC6 DEFB $00,$00,$7F,$08,$00,$00,$7F,$88 $CACE DEFB $00,$00,$FF,$90,$00,$03,$FF,$60 $CAD6 DEFB $00,$07,$FF,$00,$00,$0F,$FF,$00 $CADE DEFB $00,$3F,$FE,$00,$00,$7F,$FE,$00 $CAE6 DEFB $00,$7F,$FE,$00,$00,$FF,$FC,$00 $CAEE DEFB $00,$FF,$FE,$00,$00,$EF,$FF,$C0 $CAF6 DEFB $01,$DF,$FF,$E0,$03,$FF,$FF,$E0 $CAFE DEFB $03,$FF,$FF,$E0,$01,$DF,$FF,$C0 $CB06 DEFB $00,$1F,$FF,$80,$00,$7F,$9F,$C0 $CB0E DEFB $00,$FF,$1F,$E0,$01,$FE,$0F,$E0 $CB16 DEFB $03,$FC,$0F,$E0,$03,$F8,$07,$E0 $CB1E DEFB $03,$F8,$07,$E0,$03,$F8,$03,$2E $CB26 DEFB $02,$F0,$01,$11,$04,$20,$01,$01 $CB2E DEFB $08,$40,$01,$06,$08,$40,$01,$18 $CB36 DEFB $08,$30,$00,$E0,$06,$08,$00,$00 $CB3E DEFB $01,$08,$00,$00,$00,$F0,$00,$00 ; _cb46 b$CB46 DEFB $00,$ED,$E0,$07,$FF,$20,$0F,$EF $CB4E DEFB $F8,$07,$7C,$F8,$07,$E2,$7C,$1F $CB56 DEFB $A2,$7C,$3F,$C0,$1E,$1F,$41,$1E $CB5E DEFB $1E,$80,$0E,$4E,$84,$86,$6F,$03 $CB66 DEFB $06,$6C,$32,$27,$7C,$78,$F3,$7C $CB6E DEFB $FD,$F9,$3C,$CD,$CB,$1C,$78,$72 $CB76 DEFB $1F,$18,$46,$1F,$00,$16,$3F,$82 $CB7E DEFB $9E,$3F,$AE,$D4,$7B,$EC,$CC,$2F $CB86 DEFB $E0,$0C,$07,$E0,$0C,$0F,$C6,$D4 $CB8E DEFB $1F,$CB,$BC,$1F,$C0,$38,$3F,$BA $CB96 DEFB $78,$37,$FA,$38,$3B,$FC,$F8,$1F $CB9E DEFB $FF,$E0,$05,$BF,$E0,$00,$66,$C0 ; _cba6 b$CBA6 DEFB $00,$ED,$E0,$07,$FF,$20,$0F,$EF $CBAE DEFB $F8,$07,$7C,$F8,$07,$E2,$7C,$1F $CBB6 DEFB $A2,$7C,$3F,$C0,$1E,$1F,$41,$1E $CBBE DEFB $1E,$80,$0E,$4E,$84,$86,$6F,$03 $CBC6 DEFB $06,$6C,$22,$27,$7C,$70,$73,$7C $CBCE DEFB $FC,$F9,$3C,$FC,$FB,$1C,$78,$72 $CBD6 DEFB $1F,$18,$46,$1F,$00,$16,$3F,$82 $CBDE DEFB $9E,$3F,$AE,$D4,$7B,$EC,$CC,$2F $CBE6 DEFB $E0,$0C,$07,$E0,$0C,$0F,$C6,$D4 $CBEE DEFB $1F,$CB,$BC,$1F,$C0,$38,$3F,$BA $CBF6 DEFB $78,$37,$FA,$38,$3B,$FC,$F8,$1F $CBFE DEFB $FF,$E0,$05,$BF,$E0,$00,$66,$C0 ; _cc06 b$CC06 DEFB $00,$00,$01,$A0,$03,$F0,$03,$F0 $CC0E DEFB $07,$F8,$07,$F0,$0F,$F8,$07,$FC $CC16 DEFB $1B,$FC,$3F,$FC,$3F,$FC,$3F,$F8 $CC1E DEFB $1F,$F8,$1F,$FC,$1F,$FE,$0F,$FE $CC26 DEFB $03,$FC,$03,$F0,$07,$F0,$01,$80 $CC2E DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _cc36 b$CC36 DEFB $00,$00,$00,$00,$00,$00,$00,$C0 $CC3E DEFB $07,$E0,$0F,$E0,$07,$C0,$05,$80 ; _cc46 b$CC46 DEFB $06,$00,$0F,$70,$0F,$F8,$1F,$FC $CC4E DEFB $1F,$FC,$0F,$F8,$05,$F0,$00,$C0 ; _cc56 b$CC56 DEFB $00,$00,$00,$00,$00,$00,$18,$00 $CC5E DEFB $3C,$E0,$3F,$F0,$3F,$F8,$1F,$F8 $CC66 DEFB $1F,$FC,$1F,$FE,$0F,$FE,$03,$FC $CC6E DEFB $03,$F0,$07,$F0,$01,$80,$00,$00 ; _cc76 b$CC76 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $CC7E DEFB $01,$80,$07,$F0,$03,$F0,$03,$FC $CC86 DEFB $0F,$FE,$1F,$FE,$1F,$FC,$1F,$F8 $CC8E DEFB $3F,$F8,$3F,$FC,$3F,$FC,$1B,$FC $CC96 DEFB $07,$FC,$0F,$F8,$07,$F0,$07,$F8 $CC9E DEFB $03,$F0,$03,$F0,$01,$A0,$00,$00 ; _cca6 b$CCA6 DEFB $06,$18,$0F,$B8,$0F,$FC,$0F,$FE $CCAE DEFB $1F,$FE,$17,$FC,$0F,$FF,$07,$FF $CCB6 DEFB $1B,$FE,$3F,$FF,$3F,$FF,$3F,$FA $CCBE DEFB $1F,$F8,$1F,$FC,$1F,$FE,$0F,$FE $CCC6 DEFB $03,$FC,$07,$FC,$07,$FC,$0F,$F8 $CCCE DEFB $07,$F8,$01,$F0,$01,$C0,$00,$00 ; _ccd6 b$CCD6 DEFB $FF,$E3,$FF,$FF,$7F,$40,$1C,$00 $CCDE DEFB $00,$82,$20,$00,$00,$00,$04,$1F $CCE6 DEFB $FF,$FF,$FF,$F8,$07,$FF,$FF,$FF $CCEE DEFB $E0,$0E,$00,$00,$00,$70,$04,$FF $CCF6 DEFB $FF,$FF,$20,$0D,$00,$00,$00,$B0 $CCFE DEFB $05,$30,$16,$06,$A0,$0D,$40,$26 $CD06 DEFB $08,$B0,$05,$40,$41,$08,$A0,$0D $CD0E DEFB $32,$80,$86,$B0,$05,$01,$00,$40 $CD16 DEFB $A0,$0D,$72,$80,$2E,$B0,$05,$70 $CD1E DEFB $08,$0E,$A0,$0D,$20,$00,$04,$B0 $CD26 DEFB $05,$20,$01,$04,$A0,$0D,$21,$E1 $CD2E DEFB $04,$B0,$05,$22,$97,$C4,$A0,$0D $CD36 DEFB $22,$F3,$84,$B0,$05,$02,$97,$C0 $CD3E DEFB $A0,$0D,$02,$97,$C0,$B0,$05,$03 $CD46 DEFB $F3,$80,$A0,$0D,$00,$00,$00,$B0 $CD4E DEFB $04,$FF,$FF,$FF,$20,$0E,$00,$00 $CD56 DEFB $00,$70,$08,$00,$00,$00,$10,$3F $CD5E DEFB $FF,$FF,$FF,$FC,$20,$00,$00,$00 $CD66 DEFB $04,$3F,$FF,$FF,$FF,$FC,$00,$00 $CD6E DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _cd76 b$CD76 DEFB $00,$FE,$FF,$00,$00,$D7,$57,$80 $CD7E DEFB $01,$AA,$AB,$C0,$01,$55,$57,$C0 $CD86 DEFB $01,$6A,$AB,$E0,$01,$95,$57,$E0 $CD8E DEFB $01,$6A,$AB,$E0,$03,$B5,$55,$E0 $CD96 DEFB $07,$00,$00,$E0,$05,$00,$00,$F0 $CD9E DEFB $06,$00,$00,$F0,$05,$00,$00,$F0 $CDA6 DEFB $06,$00,$00,$F0,$05,$00,$00,$F0 $CDAE DEFB $06,$00,$00,$F0,$05,$00,$00,$F8 $CDB6 DEFB $06,$00,$00,$F8,$05,$00,$00,$F8 $CDBE DEFB $06,$00,$00,$F8,$0D,$00,$00,$78 $CDC6 DEFB $0A,$00,$00,$F8,$0D,$00,$00,$7C $CDCE DEFB $0A,$00,$00,$FC,$0D,$00,$00,$7C $CDD6 DEFB $1A,$AA,$AA,$BC,$15,$55,$55,$7C $CDDE DEFB $1A,$AA,$AA,$BC,$15,$55,$55,$7C $CDE6 DEFB $1A,$EA,$BA,$B8,$15,$D5,$5D,$78 $CDEE DEFB $1A,$EB,$FA,$B0,$0F,$BF,$1E,$C0 ; _cdf6 b$CDF6 DEFB $AA,$AA,$D1,$55,$8E,$2A,$91,$C5 $CDFE DEFB $20,$3A,$47,$84,$1E,$F3,$7F,$EE $CE06 DEFB $5F,$E3,$8F,$C4,$C7,$9A,$B8,$61 $CE0E DEFB $47,$9A,$38,$61,$87,$8A,$50,$15 ; _ce16 b$CE16 DEFB $AA,$AA,$D5,$55,$A0,$AA,$CE,$15 $CE1E DEFB $91,$C2,$20,$39,$20,$04,$70,$7F $CE26 DEFB $8F,$84,$C0,$19,$B8,$62,$47,$9D $CE2E DEFB $B8,$62,$47,$D5,$A8,$AA,$55,$55 ; _ce36 b$CE36 DEFB $01,$01,$01,$01,$01,$00,$00,$18 $CE3E DEFB $00,$00,$00,$00,$3C,$00,$00,$00 $CE46 DEFB $00,$3C,$00,$00,$00,$00,$18,$00 $CE4E DEFB $00,$00,$00,$18,$00,$00,$00,$00 $CE56 DEFB $7E,$00,$00,$03,$80,$FF,$01,$C0 $CE5E DEFB $03,$80,$FF,$01,$C0,$01,$01,$04 $CE66 DEFB $01,$01,$03,$80,$00,$01,$C0,$00 $CE6E DEFB $40,$00,$02,$00,$00,$20,$3C,$04 $CE76 DEFB $00,$00,$10,$22,$08,$00,$00,$08 $CE7E DEFB $22,$10,$00,$00,$04,$22,$20,$00 $CE86 DEFB $00,$00,$22,$00,$00,$00,$00,$00 $CE8E DEFB $00,$00,$01,$04,$04,$04,$01,$03 $CE96 DEFB $00,$00,$00,$C0,$07,$00,$08,$00 $CE9E DEFB $E0,$67,$22,$1C,$1C,$E6,$FF,$2A $CEA6 DEFB $3E,$22,$FF,$FF,$2A,$08,$3C,$FF $CEAE DEFB $27,$2A,$08,$20,$E4,$07,$14,$08 $CEB6 DEFB $1E,$E0,$03,$00,$08,$00,$C0,$01 $CEBE DEFB $01,$04,$01,$01,$00,$00,$00,$00 $CEC6 DEFB $80,$00,$00,$00,$00,$00,$00,$04 $CECE DEFB $1C,$20,$00,$00,$08,$20,$10,$00 $CED6 DEFB $00,$10,$1C,$08,$00,$00,$20,$02 $CEDE DEFB $04,$00,$00,$40,$3C,$02,$00,$03 $CEE6 DEFB $80,$00,$01,$C0,$01,$01,$01,$01 $CEEE DEFB $01,$03,$80,$FF,$01,$C0,$03,$80 $CEF6 DEFB $FF,$01,$C0,$00,$00,$7E,$00,$00 $CEFE DEFB $00,$00,$18,$00,$00,$00,$00,$18 $CF06 DEFB $00,$00,$00,$00,$3C,$00,$00,$00 $CF0E DEFB $00,$3C,$00,$00,$00,$00,$18,$00 $CF16 DEFB $00 ; _cf17 b$CF17 DEFB $00,$00,$00,$00,$00,$00,$08,$10 $CF1F DEFB $30,$0C,$50,$0A,$60,$06,$C0,$03 ; _cf27 b$CF27 DEFB $00,$40,$02,$00,$01,$80,$01,$80 $CF2F DEFB $05,$00,$00,$A0,$03,$00,$00,$C0 $CF37 DEFB $12,$00,$00,$48,$14,$00,$00,$28 $CF3F DEFB $0C,$00,$00,$30,$08,$00,$00,$10 ; _cf47 b$CF47 DEFB $00,$00,$00,$00,$08,$00,$00,$10 $CF4F DEFB $D0,$00,$00,$0B,$A0,$00,$00,$05 $CF57 DEFB $20,$00,$00,$04,$60,$00,$00,$06 $CF5F DEFB $80,$00,$00,$01,$80,$00,$00,$01 ; _cf67 b$CF67 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $CF6F DEFB $00,$00,$00,$00,$AA,$49,$47,$6E ; _cf77 b$CF77 DEFB $00,$00,$00,$00,$00,$00,$AA,$49 $CF7F DEFB $47,$6E,$00,$00,$00,$00,$00,$00 ; _cf87 b$CF87 DEFB $00,$00,$00,$00,$1E,$00,$00,$70 $CF8F DEFB $00,$07,$00,$00,$00,$00,$00,$00 $CF97 DEFB $00,$00,$00,$00,$FF,$00,$00,$00 $CF9F DEFB $00,$00,$1F,$F0,$00,$1F,$00,$00 $CFA7 DEFB $00,$00,$00,$00,$3F,$80,$0F,$FC $CFAF DEFB $00,$1F,$C0,$06,$00,$00,$03,$86 $CFB7 DEFB $00,$00,$00,$00,$BF,$C0,$00,$00 $CFBF DEFB $00,$03,$FF,$FE,$00,$7F,$E0,$00 $CFC7 DEFB $87,$00,$00,$01,$FF,$E0,$7F,$FE $CFCF DEFB $00,$FF,$FC,$0F,$00,$00,$1F,$CF $CFD7 DEFB $C0,$00,$03,$80,$7F,$F8,$00,$06 $CFDF DEFB $00,$07,$FF,$FF,$00,$FF,$FC,$03 $CFE7 DEFB $C3,$80,$00,$07,$FF,$F0,$7F,$FF $CFEF DEFB $07,$FF,$FE,$03,$00,$70,$FF,$FF $CFF7 DEFB $F8,$00,$07,$80,$3F,$FC,$00,$0F $CFFF DEFB $00,$7F,$FF,$FE,$00,$3F,$FE,$01 $D007 DEFB $00,$0F,$00,$07,$FF,$E0,$7F,$FF $D00F DEFB $0F,$FF,$FF,$00,$0C,$78,$FF,$FF $D017 DEFB $F7,$E0,$01,$00,$7F,$F8,$00,$1F $D01F DEFB $C0,$1F,$FF,$FE,$00,$1F,$FF,$E0 $D027 DEFB $00,$7F,$C0,$03,$FF,$C3,$FF,$E8 $D02F DEFB $07,$FF,$FF,$00,$3E,$FF,$FF,$FF $D037 DEFB $FF,$F8,$00,$09,$FF,$F6,$01,$FF $D03F DEFB $03,$1F,$FF,$F8,$00,$7F,$FF,$F0 $D047 DEFB $18,$0F,$FF,$0C,$FF,$EF,$FF,$F0 $D04F DEFB $0F,$FF,$FE,$03,$FF,$FF,$FF,$FF $D057 DEFB $FF,$FF,$C0,$1F,$FF,$FF,$83,$FC $D05F DEFB $0F,$FF,$FF,$FE,$00,$FF,$FF,$F8 $D067 DEFB $7F,$1F,$FF,$DF,$FF,$FF,$FF,$FE $D06F DEFB $7F,$FF,$FC,$7F,$FF,$FF,$FF,$FF $D077 DEFB $FF,$FF,$E0,$4F,$FF,$FF,$CF,$FF $D07F DEFB $3F,$FF,$FF,$FF,$83,$FF,$FF,$C7 ; _d087 b$D087 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _d08f b$D08F DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D097 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D09F DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0A7 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0AF DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0B7 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0BF DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0C7 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0CF DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0D7 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$01,$FF $D0DF DEFB $FF,$C0,$FF,$FF,$FF,$FF,$FF,$FF $D0E7 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D0EF DEFB $FF,$C3,$FF,$FF,$FF,$FF,$FF,$FF $D0F7 DEFB $FF,$FF,$FF,$FF,$FF,$00,$00,$03 $D0FF DEFB $F0,$00,$3F,$FF,$F8,$1F,$FF,$F0 $D107 DEFB $FF,$FF,$FF,$FF,$07,$FF,$FF,$FF $D10F DEFB $FF,$80,$7F,$FF,$FF,$FF,$FF,$FF $D117 DEFB $FF,$FF,$FF,$FF,$F8,$00,$00,$00 $D11F DEFB $00,$00,$0F,$FE,$00,$00,$FF,$C0 $D127 DEFB $03,$FF,$FE,$00,$01,$FF,$FF,$FF $D12F DEFB $78,$00,$3F,$FF,$FF,$FF,$FE,$1F $D137 DEFB $FF,$FF,$FF,$FF,$00,$00,$00,$00 $D13F DEFB $00,$00,$07,$80,$00,$00,$03,$00 $D147 DEFB $00,$7F,$FC,$00,$00,$FF,$FF,$80 $D14F DEFB $00,$00,$07,$FF,$03,$F1,$F8,$00 $D157 DEFB $3F,$FF,$C3,$FC,$00,$00,$00,$00 $D15F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D167 DEFB $00,$3F,$80,$00,$00,$07,$C0,$00 $D16F DEFB $00,$00,$03,$F8,$00,$00,$E0,$00 $D177 DEFB $1F,$00,$01,$F8,$00,$00,$00,$00 $D17F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D187 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _d18f b$D18F DEFB $00,$00,$00,$00,$00,$00,$00,$05 $D197 DEFB $FA,$18,$00,$00,$00,$00,$00,$00 $D19F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D1A7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D1AF DEFB $00,$00,$00,$00,$00,$00,$00,$0F $D1B7 DEFB $FF,$98,$00,$00,$00,$00,$00,$00 $D1BF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D1C7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D1CF DEFB $00,$00,$00,$00,$00,$00,$80,$0F $D1D7 DEFB $FF,$98,$34,$C0,$00,$00,$00,$00 $D1DF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D1E7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D1EF DEFB $00,$00,$00,$00,$00,$00,$80,$0F $D1F7 DEFB $FF,$D8,$F4,$C0,$00,$00,$00,$00 $D1FF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D207 DEFB $00,$00,$00,$00,$00,$11,$00,$00 $D20F DEFB $00,$00,$00,$00,$00,$01,$C0,$1F $D217 DEFB $FF,$DB,$F5,$C0,$00,$00,$00,$00 $D21F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D227 DEFB $00,$00,$00,$00,$00,$2E,$C0,$00 $D22F DEFB $00,$00,$00,$00,$00,$01,$C0,$1D $D237 DEFB $FF,$FB,$FF,$40,$00,$00,$00,$00 $D23F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D247 DEFB $00,$00,$00,$00,$01,$D5,$A0,$00 $D24F DEFB $00,$00,$00,$00,$00,$01,$46,$DD $D257 DEFB $FD,$FF,$FF,$60,$00,$00,$00,$00 $D25F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D267 DEFB $00,$00,$00,$00,$0D,$A9,$DC,$01 $D26F DEFB $00,$00,$00,$00,$00,$03,$47,$DD $D277 DEFB $FD,$FF,$FF,$70,$00,$00,$00,$00 $D27F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D287 DEFB $00,$00,$00,$02,$BB,$56,$EE,$1F $D28F DEFB $00,$00,$00,$00,$00,$03,$C7,$FD $D297 DEFB $FF,$FF,$EB,$F8,$00,$00,$00,$00 $D29F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D2A7 DEFB $00,$00,$00,$FF,$66,$AD,$77,$F7 $D2AF DEFB $00,$00,$00,$00,$00,$03,$CF,$FF $D2B7 DEFB $FF,$FF,$FF,$F8,$00,$00,$00,$00 $D2BF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D2C7 DEFB $00,$00,$03,$D6,$DD,$5A,$AB,$BB $D2CF DEFB $00,$00,$00,$80,$00,$05,$CF,$FF $D2D7 DEFB $FF,$FF,$FF,$F8,$00,$00,$00,$00 $D2DF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D2E7 DEFB $00,$00,$03,$AD,$C2,$BD,$55,$5D $D2EF DEFB $00,$00,$01,$C0,$00,$07,$EF,$FF $D2F7 DEFB $FF,$FF,$FF,$FC,$00,$00,$00,$00 $D2FF DEFB $00,$00,$00,$00,$00,$00,$20,$00 $D307 DEFB $00,$00,$1F,$6B,$3D,$76,$AA,$EE $D30F DEFB $00,$00,$0F,$60,$00,$0F,$FF,$FF $D317 DEFB $FF,$FF,$FF,$FC,$01,$F8,$00,$00 $D31F DEFB $00,$00,$00,$00,$00,$00,$CC,$00 $D327 DEFB $00,$00,$FE,$DF,$72,$EB,$55,$75 $D32F DEFB $38,$00,$7C,$98,$07,$0E,$FF,$FF $D337 DEFB $FF,$FF,$FF,$FE,$7F,$BF,$00,$00 $D33F DEFB $00,$00,$00,$00,$00,$03,$8E,$00 $D347 DEFB $00,$0F,$FD,$7B,$DD,$DF,$AA,$AA $D34F DEFB $E8,$03,$BA,$34,$7D,$CE,$FF,$FF $D357 DEFB $FF,$FF,$FF,$FF,$FD,$55,$80,$00 $D35F DEFB $00,$00,$00,$00,$3B,$B8,$35,$E0 $D367 DEFB $01,$DE,$FA,$97,$AE,$EB,$D5,$5D $D36F DEFB $D5,$0F,$5D,$4B,$EA,$AF,$FF,$FF $D377 DEFB $FF,$FF,$FF,$FC,$FA,$AA,$70,$00 $D37F DEFB $00,$00,$1C,$3B,$F5,$75,$BA,$F0 $D387 DEFB $0F,$BD,$75,$6F,$D5,$75,$EA,$BE $D38F DEFB $7E,$BF,$AE,$B5,$55,$5F,$FF,$FF $D397 DEFB $FF,$FF,$FF,$00,$1F,$57,$7F,$FF $D39F DEFB $00,$00,$37,$F5,$EA,$EA,$55,$4C $D3A7 DEFB $73,$6A,$EA,$D5,$CA,$BE,$DD,$57 $D3AF DEFB $E7,$FF,$D5,$FA,$BA,$87,$FF,$FF $D3B7 DEFB $FF,$FF,$30,$78,$0F,$BB,$F3,$F8 $D3BF DEFB $FE,$FC,$FE,$AE,$F5,$D6,$EA,$B7 $D3C7 DEFB $F0,$D5,$D5,$AF,$B5,$71,$3E,$EA $D3CF DEFB $03,$E4,$EB,$3D,$3D,$78,$F8,$FF $D3D7 DEFB $FF,$FE,$1F,$B8,$01,$F8,$00,$06 $D3DF DEFB $7D,$77,$FF,$5D,$EB,$AD,$7D,$5A $D3E7 DEFB $A9,$AB,$AB,$5D,$6A,$A0,$AF,$FD $D3EF DEFB $01,$80,$7E,$0F,$0E,$DE,$00,$03 $D3F7 DEFB $FF,$FC,$A7,$E0,$01,$00,$00,$01 $D3FF DEFB $FA,$7E,$6E,$BB,$DF,$5A,$AE,$FD $D407 DEFB $56,$D5,$7E,$EA,$D5,$40,$56,$07 $D40F DEFB $00,$00,$0E,$0E,$03,$01,$FF,$00 $D417 DEFB $1F,$01,$C0,$00,$00,$00,$00,$00 $D41F DEFB $35,$C7,$FD,$74,$0F,$B7,$D7,$FF $D427 DEFB $EF,$2C,$DD,$57,$EA,$80,$00,$03 $D42F DEFB $00,$00,$00,$00,$00,$00,$1F,$FD $D437 DEFB $C0,$3E,$00,$00,$00,$00,$00,$00 $D43F DEFB $00,$00,$3E,$F8,$05,$7E,$FC,$60 $D447 DEFB $77,$32,$E8,$0F,$F5,$00,$00,$01 $D44F DEFB $00,$00,$00,$00,$00,$00,$01,$FF $D457 DEFB $FF,$FE,$00,$00,$00,$00,$00,$00 $D45F DEFB $00,$00,$1F,$E0,$00,$F0,$03,$80 $D467 DEFB $0B,$DD,$50,$00,$3E,$00,$00,$00 $D46F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D477 DEFB $3F,$C0,$00,$00,$00,$00,$00,$00 $D47F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D487 DEFB $00,$0B,$80,$00,$00,$00,$00,$00 ; _d48f b$D48F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D497 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D49F DEFB $00,$00,$00,$02,$00,$00,$00,$00 $D4A7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4AF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4B7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4BF DEFB $00,$00,$00,$07,$00,$00,$00,$00 $D4C7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4CF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4D7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4DF DEFB $00,$00,$00,$0F,$C0,$00,$00,$00 $D4E7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4EF DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4F7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D4FF DEFB $00,$00,$00,$1F,$E8,$00,$00,$00 $D507 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D50F DEFB $00,$00,$88,$00,$00,$00,$00,$00 $D517 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D51F DEFB $00,$00,$30,$7F,$FC,$00,$00,$00 $D527 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D52F DEFB $00,$03,$74,$00,$00,$00,$00,$00 $D537 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D53F DEFB $00,$00,$F9,$FF,$FE,$00,$01,$C0 $D547 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D54F DEFB $00,$05,$AB,$80,$00,$00,$00,$00 $D557 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D55F DEFB $00,$03,$FF,$FF,$FF,$00,$13,$E0 $D567 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D56F DEFB $80,$3B,$95,$B0,$00,$00,$00,$00 $D577 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D57F DEFB $00,$07,$FF,$FF,$FF,$A0,$7F,$FC $D587 DEFB $06,$00,$00,$00,$00,$00,$00,$00 $D58F DEFB $F8,$77,$6A,$DD,$40,$00,$00,$00 $D597 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D59F DEFB $06,$3F,$FF,$FF,$FF,$F0,$FF,$FE $D5A7 DEFB $4F,$E0,$00,$00,$00,$00,$00,$00 $D5AF DEFB $EF,$EE,$B5,$66,$FF,$00,$00,$00 $D5B7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D5BF DEFB $0F,$FF,$FF,$FF,$FF,$FB,$FF,$FF $D5C7 DEFB $FF,$F8,$00,$00,$00,$00,$00,$01 $D5CF DEFB $DD,$D5,$5A,$BB,$6B,$C0,$00,$00 $D5D7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D5DF DEFB $1F,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D5E7 DEFB $FF,$FC,$00,$00,$00,$00,$00,$3B $D5EF DEFB $BA,$AA,$BD,$43,$B5,$C0,$00,$00 $D5F7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D5FF DEFB $3F,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D607 DEFB $FF,$FF,$C0,$00,$01,$00,$00,$7F $D60F DEFB $77,$55,$6E,$BC,$D6,$F8,$00,$00 $D617 DEFB $00,$04,$00,$00,$00,$00,$00,$01 $D61F DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D627 DEFB $FF,$FF,$F0,$00,$03,$80,$01,$EA $D62F DEFB $AE,$AA,$D7,$4E,$FB,$7F,$00,$00 $D637 DEFB $00,$33,$00,$00,$00,$00,$00,$07 $D63F DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $D647 DEFB $FF,$FF,$F8,$00,$06,$F0,$07,$F5 $D64F DEFB $55,$55,$FB,$BB,$DE,$BF,$F0,$00 $D657 DEFB $00,$71,$C0,$00,$00,$00,$00,$7F $D65F DEFB $FF,$FF,$FD,$F7,$FF,$FF,$FF,$FF $D667 DEFB $FD,$FF,$DC,$E0,$19,$3E,$1F,$DB $D66F DEFB $BA,$AB,$D7,$75,$E9,$5F,$7B,$80 $D677 DEFB $07,$AC,$1D,$DC,$00,$00,$00,$FF $D67F DEFB $FF,$FF,$AA,$AB,$FF,$FF,$FF,$FF $D687 DEFB $D7,$D7,$23,$BE,$2C,$5D,$FE,$15 $D68F DEFB $7D,$57,$AE,$AB,$F6,$AE,$BD,$F0 $D697 DEFB $0F,$5D,$AE,$AF,$DC,$38,$07,$FF $D69F DEFB $FF,$FE,$55,$55,$3F,$FF,$FB,$9C $D6A7 DEFB $AE,$AA,$D5,$57,$D2,$BA,$F4,$AF $D6AF DEFB $EA,$BB,$7D,$53,$AB,$57,$56,$CE $D6B7 DEFB $32,$AA,$57,$57,$AF,$EC,$0F,$FE $D6BF DEFB $FF,$FE,$EA,$FA,$BE,$FD,$F6,$E7 $D6C7 DEFB $55,$57,$FA,$AA,$AD,$75,$FD,$7E $D6CF DEFB $57,$7C,$8E,$AD,$F5,$AB,$AB,$0F $D6D7 DEFB $ED,$57,$6B,$AF,$75,$7F,$3F,$63 $D6DF DEFB $1C,$CF,$DD,$FF,$5D,$72,$DD,$0A $D6E7 DEFB $AA,$AB,$E1,$5D,$5F,$AB,$FF,$E7 $D6EF DEFB $BF,$F5,$05,$56,$BA,$D5,$D5,$95 $D6F7 DEFB $5A,$BE,$B5,$D7,$BA,$FF,$EE,$B6 $D6FF DEFB $60,$00,$1F,$87,$EB,$F1,$7F,$F5 $D707 DEFB $54,$7D,$7E,$BC,$BC,$D7,$27,$C0 $D70F DEFB $E0,$6A,$02,$AB,$57,$7E,$AB,$6A $D717 DEFB $BF,$75,$5A,$FB,$DD,$76,$7E,$5F $D71F DEFB $80,$00,$00,$80,$F7,$8E,$FE,$6A $D727 DEFB $FB,$DB,$7B,$70,$F0,$7E,$01,$80 $D72F DEFB $C0,$00,$01,$57,$EA,$BB,$34,$F7 $D737 DEFB $FF,$EB,$ED,$F0,$2E,$BF,$E3,$AC $D73F DEFB $00,$00,$00,$00,$0F,$01,$E0,$07 $D747 DEFB $5C,$37,$80,$C0,$70,$70,$00,$00 $D74F DEFB $80,$00,$00,$AF,$F0,$17,$4C,$EE $D757 DEFB $06,$3F,$7E,$A0,$1F,$7C,$00,$00 $D75F DEFB $00,$00,$00,$00,$00,$00,$00,$07 $D767 DEFB $E0,$0E,$00,$00,$00,$00,$00,$00 $D76F DEFB $00,$00,$00,$7C,$00,$0A,$BB,$D0 $D777 DEFB $01,$C0,$0F,$00,$07,$F8,$00,$00 $D77F DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D787 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _d78f b$D78F DEFB $00,$00,$00,$00,$00,$00,$38,$00 $D797 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D79F DEFB $DD,$DD,$D8,$00,$00,$00,$00,$00 $D7A7 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D7AF DEFB $00,$00,$00,$00,$00,$00,$5C,$00 $D7B7 DEFB $00,$00,$00,$00,$00,$00,$00,$01 $D7BF DEFB $DB,$CE,$FE,$00,$00,$00,$00,$00 $D7C7 DEFB $00,$00,$38,$00,$00,$00,$00,$01 $D7CF DEFB $00,$00,$00,$00,$00,$0C,$BE,$00 $D7D7 DEFB $00,$00,$00,$00,$00,$00,$00,$01 $D7DF DEFB $DF,$AF,$FF,$00,$00,$00,$00,$00 $D7E7 DEFB $00,$00,$74,$00,$00,$00,$00,$03 $D7EF DEFB $00,$00,$00,$00,$30,$1F,$EF,$80 $D7F7 DEFB $00,$00,$00,$00,$1C,$00,$00,$03 $D7FF DEFB $BD,$AE,$EF,$C0,$00,$00,$00,$00 $D807 DEFB $00,$38,$FE,$00,$00,$00,$00,$E5 $D80F DEFB $00,$00,$00,$01,$FE,$3F,$FF,$C0 $D817 DEFB $00,$00,$00,$00,$3A,$00,$00,$03 $D81F DEFB $FD,$F7,$A8,$E0,$1C,$00,$00,$00 $D827 DEFB $00,$7F,$D7,$80,$00,$00,$03,$FF $D82F DEFB $00,$00,$00,$0E,$BD,$FF,$FF,$F0 $D837 DEFB $00,$00,$00,$00,$FF,$C0,$00,$0F $D83F DEFB $EF,$FF,$B6,$7C,$7F,$80,$00,$00 $D847 DEFB $01,$FF,$DF,$E0,$1E,$00,$3F,$FD $D84F DEFB $C0,$00,$00,$17,$EF,$7F,$FF,$FF $D857 DEFB $80,$00,$07,$01,$FF,$B0,$00,$76 $D85F DEFB $DF,$F3,$7F,$9F,$FF,$78,$00,$00 $D867 DEFB $03,$B5,$F3,$FC,$7F,$01,$FF,$EF $D86F DEFB $F0,$00,$07,$7F,$3D,$E7,$F7,$3F $D877 DEFB $F0,$1C,$0F,$C7,$F6,$EE,$03,$9D $D87F DEFB $F9,$7A,$FD,$7F,$D7,$F7,$C0,$00 $D887 DEFB $0F,$7C,$FC,$FB,$B2,$83,$BF,$FB $D88F DEFB $D9,$B1,$8F,$FB,$DF,$C1,$E6,$2A $D897 DEFB $FF,$3E,$3D,$FB,$FF,$3F,$1F,$FF $D89F DEFB $EF,$FF,$B0,$FF,$FE,$FF,$F0,$62 $D8A7 DEFB $1D,$FB,$FC,$0F,$FF,$C7,$F7,$FF $D8AF DEFB $FF,$7E,$FF,$DF,$F9,$C0,$06,$1B $D8B7 DEFB $FC,$FF,$FE,$7F,$E0,$FF,$FB,$FD $D8BF DEFB $4E,$E6,$98,$3F,$9F,$FF,$FE,$DD $D8C7 DEFB $7B,$FF,$CE,$01,$EE,$FF,$FF,$F7 $D8CF DEFB $FF,$FF,$BF,$FF,$F8,$80,$00,$07 $D8D7 DEFB $F7,$FF,$D8,$3F,$80,$1F,$F6,$E2 $D8DF DEFB $88,$E1,$04,$07,$07,$9E,$FF,$7F $D8E7 DEFB $DF,$77,$00,$00,$03,$FF,$B3,$3F $D8EF DEFB $FF,$FB,$FD,$77,$58,$00,$00,$00 $D8F7 DEFB $7F,$CF,$C0,$0C,$00,$07,$FC,$0F $D8FF DEFB $10,$40,$C3,$80,$00,$08,$97,$FB $D907 DEFB $FF,$00,$00,$00,$03,$7F,$82,$03 $D90F DEFB $5C,$F7,$FF,$FF,$88,$00,$00,$00 $D917 DEFB $1F,$C7,$80,$00,$00,$03,$E0,$1C $D91F DEFB $00,$41,$C0,$40,$00,$00,$07,$FF $D927 DEFB $FE,$00,$00,$00,$00,$1F,$00,$03 $D92F DEFB $00,$7F,$61,$7E,$00,$00,$00,$00 $D937 DEFB $07,$03,$00,$00,$00,$00,$80,$30 $D93F DEFB $00,$82,$00,$00,$00,$00,$00,$6F $D947 DEFB $F8,$00,$00,$00,$00,$07,$00,$00 $D94F DEFB $00,$3A,$80,$E0,$00,$00,$00,$00 $D957 DEFB $00,$01,$00,$00,$00,$00,$01,$E0 $D95F DEFB $00,$80,$00,$00,$00,$00,$00,$37 $D967 DEFB $C0,$00,$00,$00,$00,$00,$00,$00 $D96F DEFB $00,$0C,$00,$00,$00,$00,$00,$00 $D977 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $D97F DEFB $00,$00,$00,$00,$00,$00,$00,$0F $D987 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _d98f b$D98F DEFB $00,$2C,$6A,$00,$00,$00,$00,$00 $D997 DEFB $00,$38,$00,$00,$00,$00,$00,$00 $D99F DEFB $00,$00,$00,$00,$80,$00,$00,$00 $D9A7 DEFB $00,$1C,$00,$00,$00,$00,$00,$00 $D9AF DEFB $01,$77,$57,$40,$00,$00,$00,$00 $D9B7 DEFB $02,$7A,$00,$00,$00,$00,$00,$00 $D9BF DEFB $00,$00,$00,$00,$80,$00,$00,$00 $D9C7 DEFB $00,$5E,$40,$00,$00,$00,$00,$00 $D9CF DEFB $01,$B6,$BA,$80,$00,$00,$00,$00 $D9D7 DEFB $07,$F4,$40,$00,$00,$00,$00,$00 $D9DF DEFB $00,$00,$00,$01,$C0,$00,$00,$00 $D9E7 DEFB $02,$2F,$E0,$00,$00,$00,$00,$00 $D9EF DEFB $01,$5F,$C5,$80,$00,$00,$00,$00 $D9F7 DEFB $0A,$EE,$80,$00,$00,$00,$00,$00 $D9FF DEFB $00,$00,$00,$01,$C0,$00,$00,$00 $DA07 DEFB $01,$77,$50,$00,$00,$00,$00,$00 $DA0F DEFB $0F,$3B,$AF,$80,$00,$00,$00,$00 $DA17 DEFB $1D,$6D,$80,$00,$00,$00,$00,$00 $DA1F DEFB $00,$00,$00,$01,$C0,$00,$00,$00 $DA27 DEFB $01,$B6,$B8,$00,$00,$00,$00,$00 $DA2F DEFB $0F,$DF,$FF,$80,$00,$00,$00,$00 $DA37 DEFB $23,$FA,$80,$00,$00,$00,$00,$00 $DA3F DEFB $00,$00,$00,$01,$C0,$00,$00,$00 $DA47 DEFB $01,$5F,$C4,$00,$00,$00,$00,$00 $DA4F DEFB $01,$FF,$FF,$40,$00,$00,$00,$01 $DA57 DEFB $35,$DC,$F0,$00,$00,$00,$06,$80 $DA5F DEFB $18,$00,$00,$01,$C0,$00,$00,$00 $DA67 DEFB $0F,$3B,$AC,$80,$00,$00,$00,$00 $DA6F DEFB $A6,$7F,$EE,$A0,$00,$00,$00,$01 $DA77 DEFB $FF,$FB,$F0,$00,$00,$00,$0F,$4C $DA7F DEFB $7C,$00,$00,$01,$C0,$00,$00,$00 $DA87 DEFB $0F,$DF,$FF,$80,$00,$00,$00,$00 $DA8F DEFB $F7,$BF,$DF,$4C,$00,$00,$00,$00 $DA97 DEFB $DF,$FF,$A0,$00,$00,$01,$D2,$67 $DA9F DEFB $5C,$00,$00,$01,$C0,$00,$00,$00 $DAA7 DEFB $01,$FF,$FB,$00,$00,$00,$00,$00 $DAAF DEFB $FB,$FD,$3F,$9F,$19,$00,$00,$00 $DAB7 DEFB $27,$FE,$78,$00,$00,$03,$FF,$F6 $DABF DEFB $92,$00,$00,$01,$C0,$00,$00,$00 $DAC7 DEFB $06,$7F,$E4,$00,$00,$00,$00,$00 $DACF DEFB $B8,$FF,$F5,$1D,$73,$0D,$00,$30 $DAD7 DEFB $73,$FD,$EC,$00,$B0,$07,$DB,$BF $DADF DEFB $B9,$80,$00,$01,$C0,$00,$0D,$00 $DAE7 DEFB $37,$BF,$CE,$0C,$00,$B0,$00,$00 $DAEF DEFB $A5,$DF,$7A,$24,$B7,$1E,$98,$F8 $DAF7 DEFB $FC,$BF,$FF,$19,$78,$0E,$EB,$7D $DAFF DEFB $FF,$80,$00,$03,$C0,$00,$1E,$98 $DB07 DEFB $FB,$FD,$3F,$1F,$19,$78,$19,$78 $DB0F DEFB $73,$2B,$E6,$CE,$FE,$A4,$CE,$B8 $DB17 DEFB $AF,$FF,$FD,$73,$25,$9F,$FF,$7B $DB1F DEFB $ED,$E0,$00,$03,$C0,$01,$A4,$CE $DB27 DEFB $B8,$FF,$F5,$1D,$73,$25,$73,$25 $DB2F DEFB $FF,$27,$AA,$FF,$DF,$FF,$ED,$24 $DB37 DEFB $5E,$FB,$A4,$B7,$FF,$D7,$FE,$FF $DB3F DEFB $6B,$E0,$00,$03,$E0,$03,$FF,$ED $DB47 DEFB $25,$DF,$7A,$24,$B7,$FF,$B7,$FF $DB4F DEFB $DB,$DF,$F3,$DB,$EF,$B7,$7F,$73 $DB57 DEFB $67,$D5,$CE,$FE,$ED,$FF,$FA,$AF $DB5F DEFB $BF,$A0,$00,$03,$E0,$07,$B7,$7F $DB67 DEFB $73,$2B,$E6,$CE,$FE,$ED,$FE,$ED $DB6F DEFB $D7,$F7,$FF,$EB,$7F,$D6,$FB,$FF $DB77 DEFB $55,$E4,$FF,$DF,$6B,$DB,$FB,$FF $DB7F DEFB $BF,$D0,$E0,$1D,$E0,$0B,$D6,$FB $DB87 DEFB $FF,$27,$AA,$FF,$DF,$6B,$DF,$6B $DB8F DEFB $7F,$77,$C6,$FE,$FA,$FE,$F7,$DB $DB97 DEFB $CF,$FB,$DB,$EF,$7F,$FF,$6B,$66 $DB9F DEFB $AF,$DF,$7C,$7E,$E0,$3F,$FE,$F7 $DBA7 DEFB $DB,$DF,$F3,$DB,$EF,$7F,$EF,$7F $DBAF DEFB $7F,$B7,$CD,$FE,$FD,$FD,$FE,$D7 $DBB7 DEFB $FF,$EF,$EB,$7F,$BF,$B1,$6B,$6E $DBBF DEFB $BF,$AB,$EF,$AF,$EE,$6D,$FD,$FE $DBC7 DEFB $D7,$F7,$FF,$EB,$7F,$BF,$7F,$BF $DBCF DEFB $5F,$B3,$CD,$FA,$B3,$F4,$5F,$7F $DBD7 DEFB $63,$EE,$FE,$FA,$2F,$F3,$EB,$66 $DBDF DEFB $3B,$7F,$57,$F5,$7F,$FF,$F4,$5F $DBE7 DEFB $7F,$77,$C6,$FE,$FA,$2F,$FA,$2F $DBEF DEFB $4F,$23,$CC,$F2,$B9,$F4,$BF,$7F $DBF7 DEFB $B1,$ED,$FE,$FD,$2F,$E0,$42,$66 $DBFF DEFB $7F,$FF,$FF,$AB,$FE,$FF,$F4,$BF $DC07 DEFB $7F,$B7,$CD,$FE,$FD,$2F,$FD,$2F $DC0F DEFB $46,$07,$C8,$62,$30,$D4,$8D,$5F $DC17 DEFB $B3,$CD,$FA,$B1,$2B,$40,$03,$26 $DC1F DEFB $13,$30,$E0,$FD,$C1,$FA,$D4,$8D $DC27 DEFB $5F,$B3,$CD,$FA,$B1,$2B,$B1,$2B $DC2F DEFB $46,$07,$E0,$63,$30,$D4,$9D,$4F $DC37 DEFB $33,$E4,$F2,$B9,$2B,$80,$00,$0E $DC3F DEFB $01,$00,$00,$1E,$00,$01,$D4,$9D $DC47 DEFB $4F,$23,$CC,$F2,$B9,$2B,$B9,$2B $DC4F DEFB $06,$1F,$F0,$60,$30,$C4,$0C,$46 $DC57 DEFB $13,$E0,$62,$30,$23,$80,$00,$00 $DC5F DEFB $00,$00,$00,$00,$00,$01,$C4,$0C $DC67 DEFB $46,$03,$C8,$62,$30,$23,$30,$23 $DC6F DEFB $00,$0D,$B8,$00,$00,$80,$00,$06 $DC77 DEFB $06,$70,$63,$00,$01,$00,$00,$00 $DC7F DEFB $00,$00,$00,$00,$00,$00,$80,$0C $DC87 DEFB $C6,$00,$E0,$63,$30,$01,$30,$01 ; _dc8f b$DC8F DEFB $18,$18,$38,$3C,$7E,$7A,$7A,$7E ; _dc97 b$DC97 DEFB $FF,$FE,$FF,$FF,$7F,$FF,$1F,$FC $DC9F DEFB $01,$F8,$00,$30,$00,$00,$00,$00 $DCA7 DEFB $00,$E0,$03,$FC,$0B,$FE,$1F,$FF $DCAF DEFB $1F,$FF,$1F,$FE,$0C,$F8,$00,$30 $DCB7 DEFB $00,$00,$00,$00,$00,$E0,$01,$FC $DCBF DEFB $03,$FE,$03,$FE,$01,$FC,$00,$60 ; _dcc7 b$DCC7 DEFB $7F,$FF,$1F,$FC,$01,$F8,$00,$30 $DCCF DEFB $00,$00,$00,$00,$00,$E0,$03,$FC $DCD7 DEFB $0B,$FE,$1F,$FF,$1F,$FF,$1F,$FE $DCDF DEFB $0C,$F8,$00,$30,$00,$00,$00,$00 $DCE7 DEFB $00,$E0,$01,$FC,$03,$FE,$03,$FE $DCEF DEFB $01,$FC,$00,$60,$00,$00,$00,$00 ; _dcf7 b$DCF7 DEFB $01,$F8,$00,$30,$00,$00,$00,$00 $DCFF DEFB $01,$F8,$0F,$FE,$3F,$FF,$1F,$FF $DD07 DEFB $3F,$FF,$0F,$FE,$0C,$F8,$00,$30 $DD0F DEFB $00,$00,$00,$00,$00,$F8,$01,$FC $DD17 DEFB $03,$FE,$03,$FE,$01,$FC,$00,$60 $DD1F DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; _dd27 b$DD27 DEFB $00,$00,$00,$00,$00,$E0,$03,$FC $DD2F DEFB $1F,$FF,$3F,$FF,$3F,$FF,$3F,$FE $DD37 DEFB $0C,$F8,$00,$30,$00,$00,$00,$00 $DD3F DEFB $00,$E0,$07,$FC,$0F,$FF,$0F,$FF $DD47 DEFB $05,$FC,$00,$78,$00,$00,$00,$00 $DD4F DEFB $00,$20,$00,$F8,$00,$78,$00,$00 ; _dd57 b$DD57 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $DD5F DEFB $00,$00,$00,$00,$00,$00,$00,$18 $DD67 DEFB $00,$00,$00,$00,$00,$00,$28,$00 $DD6F DEFB $00,$10,$0C,$0A,$00,$00,$04,$00 $DD77 DEFB $00,$50,$01,$80,$20,$00,$00,$00 $DD7F DEFB $A0,$00,$00,$40,$00,$30,$00,$00 ; _dd87 b$DD87 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $DD8F DEFB $00,$00,$00,$00,$28,$00,$00,$10 $DD97 DEFB $00,$00,$00,$00,$00,$00,$00,$14 $DD9F DEFB $00,$18,$08,$00,$00,$00,$06,$02 $DDA7 DEFB $80,$00,$01,$00,$30,$00,$00,$00 $DDAF DEFB $00,$00,$28,$60,$00,$10,$00,$00 ; _ddb7 b$DDB7 DEFB $FF,$FF,$81,$FF,$FF,$FF,$FD,$28 $DDBF DEFB $8F,$FF,$FF,$F5,$40,$5F,$FF,$FF $DDC7 DEFB $BA,$E0,$AF,$FF,$FF,$D4,$00,$15 $DDCF DEFB $FF,$F5,$70,$00,$11,$5F,$EA,$88 $DDD7 DEFB $00,$0A,$AB,$F5,$50,$01,$05,$55 $DDDF DEFB $EE,$A0,$00,$02,$AB,$55,$50,$00 $DDE7 DEFB $15,$55,$BA,$A0,$40,$0A,$AB,$5D $DDEF DEFB $50,$00,$05,$55,$BA,$B8,$00,$0A $DDF7 DEFB $AA,$D5,$5C,$00,$15,$55,$AA,$A8 $DDFF DEFB $22,$0A,$FA,$DE,$54,$14,$0D,$75 $DE07 DEFB $AF,$E8,$14,$13,$FA,$7E,$FB,$10 $DE0F DEFB $6F,$FD,$BF,$FF,$C1,$FE,$7E,$F6 $DE17 DEFB $4F,$40,$F8,$5D,$FF,$F7,$C0,$FB $DE1F DEFB $86,$6F,$99,$E1,$AE,$62,$BD,$F5 $DE27 DEFB $E1,$D7,$DF,$7C,$E7,$E1,$F3,$93 $DE2F DEFB $FE,$1F,$E0,$7C,$31,$FD,$FD,$C1 $DE37 DEFB $F3,$C2,$FF,$8F,$C1,$D8,$50,$FF $DE3F DEFB $7F,$A0,$24,$01,$EE,$F7,$C0,$80 $DE47 DEFB $42,$7F,$DF,$E0,$01,$08,$FA,$1E $DE4F DEFB $C2,$00,$01,$FD,$BC,$60,$20,$01 $DE57 DEFB $FF,$F5,$81,$B1,$01,$D7,$CB,$D5 $DE5F DEFB $C8,$81,$CF,$A4,$9C,$88,$01,$F5 $DE67 DEFB $5C,$14,$08,$01,$EE,$B8,$94,$04 $DE6F DEFB $03,$F7,$51,$30,$02,$23,$FA,$EA $DE77 DEFB $BC,$01,$03,$F5,$D4,$08,$01,$11 $DE7F DEFB $FA,$21,$C3,$C0,$11,$F4,$9F,$FF $DE87 DEFB $F1,$03,$AB,$BC,$7E,$3F,$83,$F4 $DE8F DEFB $E0,$00,$0D,$13,$EA,$B8,$00,$0C $DE97 DEFB $23,$F5,$5F,$00,$38,$27,$FF,$AB $DE9F DEFB $FF,$E0,$27,$F5,$55,$00,$10,$0F $DEA7 DEFB $FB,$AB,$F8,$61,$0F,$FD,$D5,$FF $DEAF DEFB $C0,$7F,$FA,$AB,$A3,$C8,$BF,$FF $DEB7 DEFB $DD,$55,$F4,$FF,$FF,$8A,$BE,$EB $DEBF DEFB $FF,$FF,$E7,$7F,$57,$FF,$FF,$FA $DEC7 DEFB $FE,$AF,$FF,$FF,$FF,$F7,$FF,$FF ; _decf b$DECF DEFB $AF,$E8,$14,$13,$FA,$7E,$FB,$10 $DED7 DEFB $6F,$FD,$BF,$FF,$C1,$FF,$7E,$F6 $DEDF DEFB $DF,$40,$FA,$9D,$FA,$A7,$E0,$F9 $DEE7 DEFB $66,$6F,$5D,$E1,$AE,$B2,$BD,$F5 $DEEF DEFB $E1,$D7,$DF,$7C,$07,$E1,$F0,$13 ; _def7 b$DEF7 DEFB $21,$C3,$C0,$9F,$FF,$F1,$BC,$7E $DEFF DEFB $3D,$F8,$00,$1D,$B8,$00,$1C,$5F $DF07 DEFB $00,$38,$AB,$FF,$E0,$55,$00,$10 ; _df0f b$DF0F DEFB $20,$E7,$00,$53,$FF,$D0,$AF,$00 $DF17 DEFB $E8,$56,$00,$68,$BE,$00,$70,$4F $DF1F DEFB $00,$F8,$AB,$EF,$C0,$55,$FF,$10 ; _df27 b$DF27 DEFB $AF,$E8,$14,$13,$FA,$7E,$FB,$10 $DF2F DEFB $6F,$FD,$BF,$FF,$C1,$FE,$7E,$F6 $DF37 DEFB $4F,$40,$F8,$5D,$FF,$F7,$C0,$FB $DF3F DEFB $86,$6F,$99,$E1,$AE,$62,$BD,$F5 $DF47 DEFB $E1,$D7,$DF,$7C,$E7,$E1,$F3,$93 ; _df4f b$DF4F DEFB $22,$B6,$00,$53,$7F,$20,$AC,$E3 $DF57 DEFB $90,$55,$C1,$98,$AD,$C1,$D0,$4D $DF5F DEFB $63,$98,$AA,$FF,$80,$55,$3E,$00 ; _df67 b$DF67 DEFB $2A,$A0,$00,$95,$FF,$01,$A7,$FF $DF6F DEFB $D8,$FF,$AB,$F5,$B0,$7F,$64,$57 $DF77 DEFB $5A,$88,$AA,$A9,$40,$55,$52,$90 $DF7F DEFB $31,$D4,$00 ; Routine at DF82 ; ; Used by the routines at #R$6CFC, #R$7B0C and #R$88C7. c$DF82 JP $F51E ; ; This entry point is used by the routine at #R$638A. @label=Vector_OffScrBlit *$DF85 JP $F429 ; @label=Vector_ActionTreasure $DF88 JP $F395 ; ; This entry point is used by the routines at #R$6236 and #R$8A93. @label=Vector_LinkListInit *$DF8B JP $F472 ; $DF8E NOP ; $DF8F NOP ; ; Data block at DF90 b$DF90 DEFB $00 @label=Zeros $DF91 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $DF99 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $DFA1 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $DFA9 DEFB $00,$00,$00,$00,$00,$00,$00 $DFB0 DEFB $00 @label=FlagsDemoMode $DFB1 DEFB $00 ; Flags 2 = Demo @label=KeyStatesFirst $DFB2 DEFB $00,$00,$00,$00,$00,$00,$00 ; Store for keyboard states @label=KeyStatesLast $DFB9 DEFB $00 ; Last byte of stored keybaord states @label=InputFlags_DFBA $DFBA DEFB $00 ; Input flags - 01 = right, 02 = left, 04 = rotate cw, 08 = rotate ccw, ; 10 = Attack, 20 = Pick up, 40 = Drop @label=UnusedLinkListPtr $DFBB DEFW $0000 ; Pointer to start of list holding unused links. @label=Hero_Anim $DFBD DEFB $00 ; Hero's animation, $13 - Facing camera, $10 - Standing still ; (regardless of direction.) $DFBE DEFB $00 @label=Hero_AnimCount $DFBF DEFB $00 ; Animation count. (0x14 = Attack frame, 0x10 = At rest, ) @label=Hero_AttackDir $DFC0 DEFB $00 ; Hero attack direction (1 = right, 2 = left) @label=ActionsLinkListPtr $DFC1 DEFW $0000 ; Points to link list holding all the things. ; Man Data @label=ManData_PosPrimary_dfc3 b$DFC3 DEFW $0000 @label=ManData_PosSecondary_dfc5 $DFC5 DEFW $0000 @label=ManData_FirstObjectCarried $DFC7 DEFW $0000 ; Pointer to first object being carried. @label=ManData_InventoryCount_DFC9 $DFC9 DEFB $00 ; Inventory Count. Number of items being carried. @label=ManData_SelectIndex_DFCA $DFCA DEFB $00 ; Index of selected object within inventory @label=ManData_SelObj_02_DFCB $DFCB DEFB $00 ; Selected Object[0x02] value store. @label=ManData_SelectedObjectPtr $DFCC DEFW $0000 ; Address of selected object in inventory. $DFCE DEFB $00,$00,$00,$00 ; Directional Data @label=CamDirection_DFD2 b$DFD2 DEFB $00 ; Camera direction. This is local to the area and is an offset direction, not absolute. ; Calculated from $DFE9 $DFD3 DEFB $00 @label=ManWalkDirection_DFD4 $DFD4 DEFB $02 ; Direction of last walk; 1 = left; 2 = right @label=ManCamDirection_DFD5 $DFD5 DEFB $03 $DFD6 DEFB $00 @label=CurrentPathPtr $DFD7 DEFW $0000 ; Points to address of current path data structure. $DFD9 DEFB $00 @label=PathScopes_DFDA $DFDA DEFW $0000 ; Path Scopes $DFDC DEFB $00 @label=AreaDataCurrent_Index $DFDD DEFW $0005 ; Area Index? @label=AreaDataCurrent_SceneryPrimary $DFDF DEFW $ECB5 @label=AreaDataCurrent_ScenerySecondary $DFE1 DEFW $ECBF @label=AreaDataCurrent_Path_H $DFE3 DEFW $ECAF @label=AreaDataCurrent_Path_V $DFE5 DEFW $ECB3 @label=AreaDataCurrent_ObjectsPtr $DFE7 DEFW $EF25 ; Handle to first object in location. Objects are stored in a link list. @label=AreaDataCurrent_CompassOffset $DFE9 DEFB $00 ; Compass Direction offset; Seems to be a away of twisting paths. Camera compass, on ; screen, is calculated by (comp + cam) and 4 @label=Baddy_LinkPtr $DFEA DEFW $0000 ; Pointer to the Baddy link list. @label=BgType $DFEC DEFB $01 @label=BgColour $DFED DEFB $00 $DFEE DEFB $28 @label=CurrentAreaExits $DFEF DEFB $00,$00,$00,$00 ; Index of joining areas to current one. @label=CurrentAreaName $DFF3 DEFW $0000 $DFF5 DEFW $0000 $DFF7 DEFW $0000 @label=Exits $DFF9 DEFW $0000 ; Available exits along path. $DFFB DEFW $0000 $DFFD DEFW $0000 $DFFF DEFW $EF55 @label=AreaDataHandle_E001 $E001 DEFW $E010 ; Handle to start of area data @label=DeathMode $E003 DEFB $00 ; $02 = Death, pause then back to alter. @label=ThruDoorCounter_E004 $E004 DEFB $00 ; Counter for each step when walking through a doorway. (0 ~ 4) @label=ThruDoorGo_E005 $E005 DEFB $00 ; Door Go. @label=WarningTimer_E006 $E006 DEFB $00 ; Warning timer. @label=TripValue $E007 DEFB $00 ; Value check used when dropping an object for tripping actions etc. @label=ActionFlags $E008 DEFB $00 @label=TripObjPtr $E009 DEFW $0000 ; Pointer to object that appears when tripping action. @label=ActionObjectDroppedPtr $E00B DEFW $0000 ; Pointer to object being dropped. $E00D DEFW $E60D $E00F DEFB $01 ; Area Data ; ; This data is copied to $DFDF when the hero enters the area. @label=AreaData0 b$E010 DEFW $E44F ; -> $DFDF $E012 DEFW $E469 $E014 DEFW $E3E7 ; Paths N/S $E016 DEFW $E419 ; Paths E/W $E018 DEFW $EF15 ; Objects Link List Pointer $E01A DEFB $00 ; Compass Offset $E01B DEFW $E577 ; Baddies Link List Pointer $E01D DEFB $00 ; Background Type $E01E DEFB $00 ; Background Colour $E01F DEFB $00 $E020 DEFB $06,$07,$08,$04 ; Area Exits $E024 DEFW $E266 ; Location Description String $E026 DEFW $0000 $E028 DEFW $0000 ; Ceardach Calum $E02A DEFW $E617 ; -> $DFDF $E02C DEFW $E65D $E02E DEFW $E58B ; Paths N/S $E030 DEFW $E5BD ; Paths E/W $E032 DEFW $EF1D ; Objects Link List Pointer $E034 DEFB $03 ; Compass Offset $E035 DEFW $E88A ; Baddies Link List Pointer $E037 DEFB $02 ; Background Type $E038 DEFB $00 ; Background Colour $E039 DEFB $10 $E03A DEFB $00,$00,$00,$00 ; Area Exits $E03E DEFW $E274 ; Location Description String $E040 DEFW $E38A $E042 DEFW $E3B6 ; Forest of Cern $E044 DEFW $E617 ; -> $DFDF $E046 DEFW $E65D $E048 DEFW $E58B ; Paths N/S $E04A DEFW $E5BD ; Paths E/W $E04C DEFW $EF1F ; Objects Link List Pointer $E04E DEFB $00 ; Compass Offset $E04F DEFW $E88A ; Baddies Link List Pointer $E051 DEFB $02 ; Background Type $E052 DEFB $20 ; Background Colour $E053 DEFB $30 $E054 DEFB $00,$00,$00,$00 ; Area Exits $E058 DEFW $E283 ; Location Description String $E05A DEFW $0000 $E05C DEFW $0000 ; Plain of Lies $E05E DEFW $E93E ; -> $DFDF $E060 DEFW $E980 $E062 DEFW $E8B2 ; Paths N/S $E064 DEFW $E8FC ; Paths E/W $E066 DEFW $EF21 ; Objects Link List Pointer $E068 DEFB $00 ; Compass Offset $E069 DEFW $EC73 ; Baddies Link List Pointer $E06B DEFB $00 ; Background Type $E06C DEFB $00 ; Background Colour $E06D DEFB $00 $E06E DEFB $09,$01,$0C,$00 ; Area Exits $E072 DEFW $E292 ; Location Description String $E074 DEFW $0000 $E076 DEFW $0000 ; Alter of the Seal $E078 DEFW $ECB5 ; -> $DFDF $E07A DEFW $ECBF $E07C DEFW $ECAF ; Paths N/S $E07E DEFW $ECB3 ; Paths E/W $E080 DEFW $EF25 ; Objects Link List Pointer $E082 DEFB $00 ; Compass Offset $E083 DEFW $0000 ; Baddies Link List Pointer $E085 DEFB $01 ; Background Type $E086 DEFB $00 ; Background Colour $E087 DEFB $28 $E088 DEFB $00,$00,$00,$00 ; Area Exits $E08C DEFW $E2A0 ; Location Description String $E08E DEFW $0000 $E090 DEFW $0000 ; Lon Liath $E092 DEFW $E93E ; -> $DFDF $E094 DEFW $E980 $E096 DEFW $E8B2 ; Paths N/S $E098 DEFW $E8FC ; Paths E/W $E09A DEFW $EF27 ; Objects Link List Pointer $E09C DEFB $01 ; Compass Offset $E09D DEFW $EC87 ; Baddies Link List Pointer $E09F DEFB $00 ; Background Type $E0A0 DEFB $00 ; Background Colour $E0A1 DEFB $00 $E0A2 DEFB $0A,$01,$09,$00 ; Area Exits $E0A6 DEFW $E2B2 ; Location Description String $E0A8 DEFW $E3BE $E0AA DEFW $E3CA ; Tir Clachen $E0AC DEFW $E93E ; -> $DFDF $E0AE DEFW $E980 $E0B0 DEFW $E8B2 ; Paths N/S $E0B2 DEFW $E8FC ; Paths E/W $E0B4 DEFW $EF29 ; Objects Link List Pointer $E0B6 DEFB $02 ; Compass Offset $E0B7 DEFW $0000 ; Baddies Link List Pointer $E0B9 DEFB $00 ; Background Type $E0BA DEFB $00 ; Background Colour $E0BB DEFB $00 $E0BC DEFB $0B,$01,$0A,$00 ; Area Exits $E0C0 DEFW $E2BC ; Location Description String $E0C2 DEFW $E3BE $E0C4 DEFW $E3D3 ; Slige Warrens $E0C6 DEFW $E93E ; -> $DFDF $E0C8 DEFW $E980 $E0CA DEFW $E8B2 ; Paths N/S $E0CC DEFW $E8FC ; Paths E/W $E0CE DEFW $EF2B ; Objects Link List Pointer $E0D0 DEFB $03 ; Compass Offset $E0D1 DEFW $EC9B ; Baddies Link List Pointer $E0D3 DEFB $00 ; Background Type $E0D4 DEFB $00 ; Background Colour $E0D5 DEFB $00 $E0D6 DEFB $0C,$01,$0B,$00 ; Area Exits $E0DA DEFW $E2C8 ; Location Description String $E0DC DEFW $E3BE $E0DE DEFW $E3DC ; Badhelm $E0E0 DEFW $E617 ; -> $DFDF $E0E2 DEFW $E65D $E0E4 DEFW $E58B ; Paths N/S $E0E6 DEFW $E5BD ; Paths E/W $E0E8 DEFW $EF2D ; Objects Link List Pointer $E0EA DEFB $01 ; Compass Offset $E0EB DEFW $0000 ; Baddies Link List Pointer $E0ED DEFB $00 ; Background Type $E0EE DEFB $00 ; Background Colour $E0EF DEFB $00 $E0F0 DEFB $06,$04,$00,$00 ; Area Exits $E0F4 DEFW $E2D6 ; Location Description String $E0F6 DEFW $E38A $E0F8 DEFW $E396 ; Stormbase $E0FA DEFW $E617 ; -> $DFDF $E0FC DEFW $E65D $E0FE DEFW $E58B ; Paths N/S $E100 DEFW $E5BD ; Paths E/W $E102 DEFW $EF2F ; Objects Link List Pointer $E104 DEFB $02 ; Compass Offset $E105 DEFW $0000 ; Baddies Link List Pointer $E107 DEFB $00 ; Background Type $E108 DEFB $00 ; Background Colour $E109 DEFB $00 $E10A DEFB $07,$06,$00,$00 ; Area Exits $E10E DEFW $E2DE ; Location Description String $E110 DEFW $E38A $E112 DEFW $E39E ; Glasmarsh $E114 DEFW $E617 ; -> $DFDF $E116 DEFW $E65D $E118 DEFW $E58B ; Paths N/S $E11A DEFW $E5BD ; Paths E/W $E11C DEFW $EF31 ; Objects Link List Pointer $E11E DEFB $03 ; Compass Offset $E11F DEFW $E89E ; Baddies Link List Pointer $E121 DEFB $00 ; Background Type $E122 DEFB $00 ; Background Colour $E123 DEFB $00 $E124 DEFB $08,$07,$00,$00 ; Area Exits $E128 DEFW $E2E8 ; Location Description String $E12A DEFW $E38A $E12C DEFW $E3A6 ; Lava Flats $E12E DEFW $E617 ; -> $DFDF $E130 DEFW $E65D $E132 DEFW $E58B ; Paths N/S $E134 DEFW $E5BD ; Paths E/W $E136 DEFW $EF33 ; Objects Link List Pointer $E138 DEFB $00 ; Compass Offset $E139 DEFW $E89E ; Baddies Link List Pointer $E13B DEFB $00 ; Background Type $E13C DEFB $00 ; Background Colour $E13D DEFB $00 $E13E DEFB $04,$08,$00,$00 ; Area Exits $E142 DEFW $E2F2 ; Location Description String $E144 DEFW $E38A $E146 DEFW $E3AE ; Cnoc Suil $E148 DEFW $ECDC ; -> $DFDF $E14A DEFW $ECE6 $E14C DEFW $ECD6 ; Paths N/S $E14E DEFW $ECDA ; Paths E/W $E150 DEFW $EF35 ; Objects Link List Pointer $E152 DEFB $00 ; Compass Offset $E153 DEFW $0000 ; Baddies Link List Pointer $E155 DEFB $01 ; Background Type $E156 DEFB $00 ; Background Colour $E157 DEFB $38 $E158 DEFB $00,$00,$00,$00 ; Area Exits $E15C DEFW $E2FD ; Location Description String $E15E DEFW $0000 $E160 DEFW $0000 ; Dun Dhomnuil $E162 DEFW $E617 ; -> $DFDF $E164 DEFW $E65D $E166 DEFW $E58B ; Paths N/S $E168 DEFW $E5BD ; Paths E/W $E16A DEFW $EF37 ; Objects Link List Pointer $E16C DEFB $01 ; Compass Offset $E16D DEFW $E88A ; Baddies Link List Pointer $E16F DEFB $02 ; Background Type $E170 DEFB $00 ; Background Colour $E171 DEFB $28 $E172 DEFB $00,$00,$00,$00 ; Area Exits $E176 DEFW $E307 ; Location Description String $E178 DEFW $E38A $E17A DEFW $E3B6 ; An Lin, The Net $E17C DEFW $E617 ; -> $DFDF $E17E DEFW $E65D $E180 DEFW $E58B ; Paths N/S $E182 DEFW $E5BD ; Paths E/W $E184 DEFW $EF39 ; Objects Link List Pointer $E186 DEFB $03 ; Compass Offset $E187 DEFW $0000 ; Baddies Link List Pointer $E189 DEFB $02 ; Background Type $E18A DEFB $00 ; Background Colour $E18B DEFB $05 $E18C DEFB $00,$00,$00,$00 ; Area Exits $E190 DEFW $E314 ; Location Description String $E192 DEFW $E38A $E194 DEFW $E3B6 ; The Ice Cave $E196 DEFW $ED17 ; -> $DFDF $E198 DEFW $ED29 $E19A DEFW $ED07 ; Paths N/S $E19C DEFW $ED11 ; Paths E/W $E19E DEFW $EF3B ; Objects Link List Pointer $E1A0 DEFB $02 ; Compass Offset $E1A1 DEFW $0000 ; Baddies Link List Pointer $E1A3 DEFB $01 ; Background Type $E1A4 DEFB $28 ; Background Colour $E1A5 DEFB $38 $E1A6 DEFB $00,$00,$00,$00 ; Area Exits $E1AA DEFW $E323 ; Location Description String $E1AC DEFW $0000 $E1AE DEFW $0000 ; Tir Falamh, The Empty Lands $E1B0 DEFW $ED81 ; -> $DFDF $E1B2 DEFW $ED83 $E1B4 DEFW $E3E7 ; Paths N/S $E1B6 DEFW $E419 ; Paths E/W $E1B8 DEFW $EF3D ; Objects Link List Pointer $E1BA DEFB $01 ; Compass Offset $E1BB DEFW $0000 ; Baddies Link List Pointer $E1BD DEFB $01 ; Background Type $E1BE DEFB $09 ; Background Colour $E1BF DEFB $0D $E1C0 DEFB $00,$00,$00,$00 ; Area Exits $E1C4 DEFW $E330 ; Location Description String $E1C6 DEFW $0000 $E1C8 DEFW $0000 ; Ruads Retreat $E1CA DEFW $EDC3 ; -> $DFDF $E1CC DEFW $EDC5 $E1CE DEFW $EDAF ; Paths N/S $E1D0 DEFW $EDB9 ; Paths E/W $E1D2 DEFW $EF41 ; Objects Link List Pointer $E1D4 DEFB $00 ; Compass Offset $E1D5 DEFW $0000 ; Baddies Link List Pointer $E1D7 DEFB $01 ; Background Type $E1D8 DEFB $00 ; Background Colour $E1D9 DEFB $28 $E1DA DEFB $00,$00,$00,$00 ; Area Exits $E1DE DEFW $E34A ; Location Description String $E1E0 DEFW $0000 $E1E2 DEFW $0000 ; The Library $E1E4 DEFW $EE45 ; -> $DFDF $E1E6 DEFW $EE47 $E1E8 DEFW $EE43 ; Paths N/S $E1EA DEFW $EE3F ; Paths E/W $E1EC DEFW $EF47 ; Objects Link List Pointer $E1EE DEFB $00 ; Compass Offset $E1EF DEFW $0000 ; Baddies Link List Pointer $E1F1 DEFB $01 ; Background Type $E1F2 DEFB $00 ; Background Colour $E1F3 DEFB $38 $E1F4 DEFB $00,$00,$00,$00 ; Area Exits $E1F8 DEFW $E358 ; Location Description String $E1FA DEFW $0000 $E1FC DEFW $0000 ; ? $E1FE DEFW $E3E5 ; -> $DFDF $E200 DEFW $EE95 $E202 DEFW $EE8F ; Paths N/S $E204 DEFW $EE93 ; Paths E/W $E206 DEFW $EF4D ; Objects Link List Pointer $E208 DEFB $00 ; Compass Offset $E209 DEFW $0000 ; Baddies Link List Pointer $E20B DEFB $01 ; Background Type $E20C DEFB $00 ; Background Colour $E20D DEFB $20 $E20E DEFB $00,$00,$00,$00 ; Area Exits $E212 DEFW $0000 ; Location Description String $E214 DEFW $0000 $E216 DEFW $0000 ; Reading Room $E218 DEFW $E3E5 ; -> $DFDF $E21A DEFW $EED5 $E21C DEFW $EEC1 ; Paths N/S $E21E DEFW $EECB ; Paths E/W $E220 DEFW $EF4F ; Objects Link List Pointer $E222 DEFB $00 ; Compass Offset $E223 DEFW $EF01 ; Baddies Link List Pointer $E225 DEFB $01 ; Background Type $E226 DEFB $00 ; Background Colour $E227 DEFB $20 $E228 DEFB $00,$00,$00,$00 ; Area Exits $E22C DEFW $E364 ; Location Description String $E22E DEFW $0000 $E230 DEFW $0000 ; Storm Cave $E232 DEFW $E3E5 ; -> $DFDF $E234 DEFW $ED29 $E236 DEFW $ED07 ; Paths N/S $E238 DEFW $ED11 ; Paths E/W $E23A DEFW $EF51 ; Objects Link List Pointer $E23C DEFB $02 ; Compass Offset $E23D DEFW $ED6D ; Baddies Link List Pointer $E23F DEFB $01 ; Background Type $E240 DEFB $00 ; Background Colour $E241 DEFB $18 $E242 DEFB $00,$00,$00,$00 ; Area Exits $E246 DEFW $E371 ; Location Description String $E248 DEFW $0000 $E24A DEFW $0000 ; Badrigs Shrine $E24C DEFW $ECFD ; -> $DFDF $E24E DEFW $ED29 $E250 DEFW $ED07 ; Paths N/S $E252 DEFW $ED11 ; Paths E/W $E254 DEFW $EF53 ; Objects Link List Pointer $E256 DEFB $01 ; Compass Offset $E257 DEFW $0000 ; Baddies Link List Pointer $E259 DEFB $02 ; Background Type $E25A DEFB $00 ; Background Colour $E25B DEFB $38 $E25C DEFB $00,$00,$00,$00 ; Area Exits $E260 DEFW $E37B ; Location Description String $E262 DEFW $0000 $E264 DEFW $0000 ; Area Names @label=CentralPlain$ b$E266 DEFM "central plain" $E273 DEFB $5E @label=CeardachCalum$ $E274 DEFM "ceardach calum" $E282 DEFB $5E @label=ForestOfCern$ $E283 DEFM "forest of cern" $E291 DEFB $5E @label=PlainOfLies$ $E292 DEFM "plain of lies" $E29F DEFB $5E @label=AlterOfTheSeal$ $E2A0 DEFM "altar of the+seal" $E2B1 DEFB $5E @label=LonLiath$ $E2B2 DEFM "lon liath" $E2BB DEFB $5E @label=TirClachen$ $E2BC DEFM "tir clachan" $E2C7 DEFB $5E @label=SligeWarrens$ $E2C8 DEFM "slige warrens" $E2D5 DEFB $5E @label=Badhelm$ $E2D6 DEFM "badhelm" $E2DD DEFB $5E @label=Stormbase$ $E2DE DEFM "stormbase" $E2E7 DEFB $5E @label=Glasmarsh$ $E2E8 DEFM "glasmarsh" $E2F1 DEFB $5E @label=LavaFlats$ $E2F2 DEFM "lava flats" $E2FC DEFB $5E @label=CnocSuil$ $E2FD DEFM "cnoc suil" $E306 DEFB $5E @label=DunDhomnuil$ $E307 DEFM "dun dhomnuil" $E313 DEFB $5E @label=AnLin$ $E314 DEFM "an lin+the net" $E322 DEFB $5E @label=TheIceCave$ $E323 DEFM "the ice cave" $E32F DEFB $5E @label=TirFalamh$ $E330 DEFM "tir falamh+the empty land" $E349 DEFB $5E @label=RuadsRetreat$ $E34A DEFM "ruads retreat" $E357 DEFB $5E @label=TheLibrary$ $E358 DEFM "the library" $E363 DEFB $5E @label=ReadingRoom$ $E364 DEFM "reading room" $E370 DEFB $5E @label=StormCave$ $E371 DEFM "stormcave" $E37A DEFB $5E @label=BadrigsShrine$ $E37B DEFM "badrigs shrine" $E389 DEFB $5E ; Mappings @label=Mappings1 b$E38A DEFB $32,$5B,$5C,$5D,$4D,$44,$45,$55,$00,$00,$00,$00 @label=Mappings2 $E396 DEFB $51,$50,$53,$52,$42,$44,$45,$51 @label=Mappings3 $E39E DEFB $52,$53,$50,$51,$5E,$44,$45,$51 @label=Mappings4 $E3A6 DEFB $3B,$47,$47,$36,$49,$52,$32,$55 @label=Mappings5 $E3AE DEFB $5D,$3E,$33,$52,$3D,$44,$45,$52 @label=Mappings6 $E3B6 DEFB $36,$47,$47,$3B @label=Mappings7 $E3BA DEFB $3D,$36,$3B,$52 @label=Mappings8 $E3BE DEFB $36,$38,$3A,$3B,$3C,$47,$48,$51 @label=Mappings9 $E3C6 DEFB $52,$00,$00,$00 @label=Mappings10 $E3CA DEFB $45,$38,$44,$44,$44,$43,$16,$51 @label=Mappings11 $E3D2 DEFB $57 @label=Mappings12 $E3D3 DEFB $3A,$51,$35,$16,$16,$3E,$16,$3B,$51 @label=Mappings13 $E3DC DEFB $37,$37,$37,$37,$37,$53,$51,$52,$51 ; Scenery Data ; ; Reading Room @label=SceneryData19 b$E3E5 DEFB $00,$00 ; Paths @label=PathData1 $E3E7 DEFB $00,$11,$0F,$4F,$00,$2F,$0F,$4F $E3EF DEFB $01,$4D,$0F,$FF,$11,$4D,$2D,$E6 $E3F7 DEFB $00,$6B,$0F,$4F,$00,$71,$63,$EA $E3FF DEFB $00,$95,$5F,$8B,$00,$95,$9F,$D3 $E407 DEFB $01,$B1,$00,$4F,$00,$B9,$AF,$DD $E40F DEFB $00,$BD,$5F,$8B,$00,$E3,$13,$DD $E417 DEFB $00,$FF ; Paths @label=PathData2 $E419 DEFB $00,$11,$0F,$8A,$00,$2F,$0F,$8A $E421 DEFB $00,$2F,$AF,$E5,$01,$4D,$00,$B3 $E429 DEFB $11,$4D,$0F,$B3,$00,$61,$93,$BF $E431 DEFB $00,$89,$1D,$BF,$00,$AD,$60,$A2 $E439 DEFB $01,$B1,$B7,$FF,$11,$B1,$B7,$E5 $E441 DEFB $00,$D1,$1D,$7C,$00,$D1,$93,$BB $E449 DEFB $00,$DB,$B7,$E5,$00,$FF ; Central Plains @label=SceneryData1 $E44F DEFB $5C,$52,$3F,$00,$78,$48,$3D,$00 $E457 DEFB $DD,$AB,$3F,$00,$DE,$75,$49,$00 $E45F DEFB $DF,$8C,$5F,$40,$E7,$8C,$5F,$40 $E467 DEFB $00,$00 ; Central Plains @label=SceneryData2 $E469 DEFB $20,$20,$18,$00,$07,$48,$47,$47 ; _ $E471 DEFB $47,$47,$47,$C8,$00 $E476 DEFB $20,$3E,$18,$00,$07 $E47B DEFB $48,$47,$47,$47,$47,$47,$C8 $E482 DEFB $01 $E483 DEFB $15,$3E,$40,$23,$01,$00,$00 $E48A DEFB $00,$08,$02,$00,$00 $E48F DEFB $29,$AD,$42,$00,$0C,$4E,$46,$46 $E497 DEFB $CE,$C6,$4D,$CE,$4E,$42,$46,$CE $E49F DEFB $C6,$00,$3E,$3E,$18,$00,$07,$48 $E4A7 DEFB $47,$47,$47,$47,$47,$C8,$01,$3E $E4AF DEFB $49,$40,$33,$03,$00,$01,$00,$08 $E4B7 DEFB $01,$C8,$EC ; Example scenery data $E4BA DEFB $3E,$5C,$18,$00,$07 ; Pos, size in columns,area index,num items. $E4BF DEFB $48,$47,$47,$47,$47,$47,$C8 ; List of items bitmap indicies. $E4C6 DEFB $03,$3A,$51,$40,$12,$00,$00,$01 $E4CE DEFB $03,$9D,$B1,$01 $E4D2 DEFB $00,$3E,$51,$40,$13,$00,$8C,$01 $E4DA DEFB $02,$75,$BC,$03,$00,$42,$51,$40 $E4E2 DEFB $14,$00,$00,$01,$04,$CF,$79,$01 $E4EA DEFB $00,$5C,$20,$18,$00,$07,$48,$47 $E4F2 DEFB $47,$47,$47,$47,$C8,$00,$5F,$77 $E4FA DEFB $1E,$00,$06,$CD,$46,$4E,$C6,$4E $E502 DEFB $42,$00,$5F,$9B,$1E,$00,$06,$3F $E50A DEFB $4E,$46,$C6,$4D,$4C,$00,$5F,$BF $E512 DEFB $1E,$00,$05,$C6,$4E,$4E,$CE,$46 $E51A DEFB $00,$83,$9B,$1E,$00,$05,$4E,$46 $E522 DEFB $46,$C6,$CE,$00,$83,$BF,$1E,$00 $E52A DEFB $06,$4C,$46,$BF,$4E,$CE,$42,$00 $E532 DEFB $A7,$BF,$1E,$00,$06,$4E,$4D,$C6 $E53A DEFB $C2,$4E,$46,$00,$A9,$75,$22,$00 $E542 DEFB $07,$CC,$4E,$4E,$46,$CD,$C6,$42 $E54A DEFB $00,$CA,$48,$2C,$00,$08,$3F,$CE $E552 DEFB $CE,$46,$4C,$4E,$BF,$46,$00,$CE $E55A DEFB $C6,$24,$00,$0A,$48,$47,$47,$47 $E562 DEFB $47,$47,$47,$47,$47,$C8,$01,$C8 $E56A DEFB $B5,$4A,$13,$00,$00,$00,$0D,$32 $E572 DEFB $30,$03,$00,$00,$00 ; Central Plains sidhe Data. @label=CentralPlainsSidhe $E577 DEFB $00 ; [0] $E578 DEFB $00 ; [1] $E579 DEFB $00 ; [2] Direction n[0] e[1] s[2] w[3] $E57A DEFB $00 ; [3] $E57B DEFB $00 ; [4] $E57C DEFW $01C6 ; [5] N/S position. $E57E DEFW $005E ; [7] E/W position. $E580 DEFB $13 ; [9] $E581 DEFB $00 ; [A] $E582 DEFB $B4 ; [B] $E583 DEFB $00 ; [C] $E584 DEFB $00 ; [D] $E585 DEFB $00 ; [E] $E586 DEFB $00 ; [F] Count down. Baddy only acts when zero. $E587 DEFB $00,$00 ; [10]... $E589 DEFB $00,$00 ; Paths @label=PathData3 $E58B DEFB $00,$41,$AF,$DC,$00,$51,$AF,$C2 $E593 DEFB $00,$56,$5A,$AA,$00,$69,$A6,$C2 $E59B DEFB $00,$7C,$5A,$AA,$00,$81,$37,$59 $E5A3 DEFB $00,$81,$AB,$C2,$00,$95,$AB,$C2 $E5AB DEFB $00,$AD,$AB,$C7,$00,$CF,$C3,$FF $E5B3 DEFB $02,$D2,$14,$A0,$00,$D2,$14,$AF $E5BB DEFB $00,$FF ; Paths @label=PathData4 $E5BD DEFB $00,$39,$7F,$D4,$00,$57,$7F,$D4 $E5C5 DEFB $00,$5C,$54,$7E,$00,$82,$54,$7E $E5CD DEFB $00,$A8,$54,$7E,$09,$AD,$7F,$E6 $E5D5 DEFB $0A,$AD,$7F,$E6,$0B,$AD,$7F,$E6 $E5DD DEFB $0C,$AD,$7F,$E6,$02,$AD,$7F,$A0 $E5E5 DEFB $03,$AD,$7F,$A0,$0E,$AD,$7F,$A0 $E5ED DEFB $09,$B1,$00,$53,$0A,$B1,$00,$53 $E5F5 DEFB $0B,$B1,$00,$53,$0C,$B1,$00,$53 $E5FD DEFB $02,$B1,$1E,$53,$03,$B1,$1E,$53 $E605 DEFB $0E,$B1,$1E,$53,$0F,$B1,$1E,$53 $E60D DEFB $00,$C0,$3F,$97,$00,$C5,$AB,$D1 $E615 DEFB $00,$FF ; Caerdach Calum, Forest of Cern, Badhelm, Stormbase, Glasmarsh, Lava Flats, Dun Dhomnuil, An Lin @label=SceneryData3 $E617 DEFB $46,$BB,$5C,$03,$47,$B1,$92,$4F $E61F DEFB $47,$B5,$3C,$0F,$4C,$B6,$5B,$03 $E627 DEFB $67,$58,$54,$4B,$69,$58,$55,$4B $E62F DEFB $6B,$58,$56,$4B,$86,$BB,$5C,$03 $E637 DEFB $90,$BB,$5B,$03,$90,$B1,$4D,$00 $E63F DEFB $A2,$5B,$54,$4B,$AC,$A8,$54,$4B $E647 DEFB $B3,$AD,$7F,$4A,$CB,$D7,$5F,$40 $E64F DEFB $D3,$D7,$5F,$40,$CB,$7A,$19,$42 $E657 DEFB $D8,$7A,$19,$42,$00,$00 ; _ @label=SceneryData4 $E65D DEFB $22,$D0,$38,$00,$10 $E662 DEFB $5D,$5C,$5B,$32,$5C,$5B,$5C,$DB $E66A DEFB $5C,$DD,$5B,$5C,$DB,$DC,$5B,$DD $E672 DEFB $01 $E673 DEFB $3D,$CE,$4A,$07,$01,$00,$0B,$00 $E67B DEFB $38,$1C,$01,$00 ; _ $E67F DEFB $31,$8C,$44,$00,$14,$5D,$5B,$5C $E687 DEFB $32,$DB,$5D,$5B,$DC,$DB,$5C,$5B $E68F DEFB $DD,$5C,$5B,$5C,$32,$5C,$DB,$DC $E697 DEFB $DD,$00,$4B,$61,$10,$00,$05,$48 $E69F DEFB $47,$47,$47,$C8,$05,$52,$61,$40 $E6A7 DEFB $02,$00,$00,$0B,$0A,$75,$BC,$03 $E6AF DEFB $00,$52,$61,$4A,$02,$01,$00,$03 $E6B7 DEFB $00,$20,$09,$02,$00,$52,$61,$40 $E6BF DEFB $02,$02,$00,$02,$00,$10,$92,$2D $E6C7 DEFB $E8,$52,$5D,$40,$01,$04,$92,$0F $E6CF DEFB $00,$20,$96,$2D,$E7,$52,$65,$40 $E6D7 DEFB $03,$00,$00,$0F,$0F,$52,$65,$00 $E6DF DEFB $00,$5C,$DB,$30,$00,$0E,$5D,$5C $E6E7 DEFB $5B,$5C,$DB,$DD,$5C,$5B,$5D,$5C $E6EF DEFB $5B,$5C,$DB,$DD,$01,$5A,$C4,$5C $E6F7 DEFB $16,$81,$99,$03,$00,$04,$0A,$00 $E6FF DEFB $00,$5D,$B4,$12,$00,$06,$5D,$5C $E707 DEFB $5B,$5D,$5C,$DD,$00,$69,$44,$2A $E70F DEFB $00,$0F,$5D,$5D,$5C,$5B,$DC,$5D $E717 DEFB $55,$55,$55,$5D,$5B,$5C,$5B,$DD $E71F DEFB $DD,$02,$69,$58,$55,$37,$01,$00 $E727 DEFB $0B,$00,$28,$13,$00,$00,$7D,$4F $E72F DEFB $40,$0B,$04,$92,$0B,$00,$20,$16 $E737 DEFB $C8,$E6,$69,$6F,$20,$00,$0A,$5D $E73F DEFB $5C,$5B,$5D,$32,$DC,$5B,$5C,$DB $E747 DEFB $DD,$00,$69,$95,$20,$00,$0A,$5D $E74F DEFB $5B,$32,$5C,$5B,$5D,$5C,$5B,$DC $E757 DEFB $DD,$00,$75,$B4,$12,$00,$09,$3C $E75F DEFB $36,$3B,$3A,$3B,$36,$3A,$36,$BC $E767 DEFB $03,$75,$AC,$38,$14,$02,$00,$0E $E76F DEFB $00,$08,$88,$08,$E8,$6D,$B4,$38 $E777 DEFB $24,$02,$00,$02,$00,$18,$8C,$14 $E77F DEFB $E8,$7D,$B4,$38,$04,$01,$00,$0A $E787 DEFB $00,$20,$18,$01,$00,$8A,$D3,$20 $E78F DEFB $00,$0A,$5D,$5C,$5B,$DC,$32,$5B $E797 DEFB $5D,$5C,$5B,$DD,$00,$A1,$B9,$12 $E79F DEFB $00,$09,$44,$44,$44,$44,$C4,$44 $E7A7 DEFB $45,$C4,$C4,$04 ; Exits used by Forest Of Cern $E7AB DEFB $9D,$B1,$38,$12,$04,$00,$03,$00 $E7B3 DEFB $20,$03 $E7B5 DEFW $E98D $E7B7 DEFB $99,$B9,$38,$24,$01,$A4,$0E,$00 $E7BF DEFB $28,$0B,$03,$00 $E7C3 DEFB $99,$B9,$38,$24,$04,$00,$0C,$00 $E7CB DEFB $04,$94 $E7CD DEFW $E7CF $E7CF DEFB $99,$B9,$38,$24,$04,$00,$0A,$00 $E7D7 DEFB $04,$14 $E7D9 DEFW $E7C3 $E7DB DEFB $A7,$82,$50,$00,$18,$5D,$5D,$5B $E7E3 DEFB $5C,$5B,$DB,$5C,$5B,$DC,$5D,$55 $E7EB DEFB $5D,$5B,$5C,$5B,$DC,$5B,$5C,$5B $E7F3 DEFB $5C,$32,$5B,$5D,$DD,$00,$AA,$2A $E7FB DEFB $18,$00,$09,$3C,$36,$47,$3B,$47 $E803 DEFB $BB,$47,$36,$BC,$02,$AA,$35,$40 $E80B DEFB $34,$02,$00,$09,$00,$08,$08,$68 $E813 DEFB $E7,$AA,$35,$40,$34,$02,$00,$0C $E81B DEFB $00,$18,$0C,$74,$E7,$E1,$48,$18 $E823 DEFB $00,$07,$48,$47,$47,$47,$47,$47 $E82B DEFB $C8,$02,$D6,$48,$4A,$23,$02,$00 $E833 DEFB $02,$00,$10,$12,$BC,$E6,$D6,$4C $E83B DEFB $40,$22,$03,$8E,$09,$00,$28,$1B $E843 DEFB $4A,$ED,$E5,$8B,$20,$0A,$0A,$3A $E84B DEFB $47,$3A,$47,$BA,$47,$47,$47,$47 $E853 DEFB $BA,$01,$D6,$91,$4A,$23,$03,$00 $E85B DEFB $0A,$00,$10,$99,$3E,$ED,$F8,$86 $E863 DEFB $47,$02,$15,$48,$47,$47,$47,$47 $E86B DEFB $3B,$47,$47,$47,$3A,$47,$47,$C8 $E873 DEFB $19,$48,$47,$3A,$47,$3B,$47,$C8 $E87B DEFB $01,$D6,$86,$4A,$2A,$04,$00,$02 $E883 DEFB $00,$18,$8D,$1F,$EB,$00,$00 ; Ceardach Calum, Forest of Cern, Dun Dhomnuil, @label=SidheData2 $E88A DEFB $00,$00,$00,$00,$00,$B6,$00,$B8 $E892 DEFB $00,$13,$00,$B4,$00,$00,$00,$00 $E89A DEFB $00,$00,$00,$00 ; Glasmarsh, Lava Flats @label=SidheData6 $E89E DEFB $00,$00,$00,$00,$00,$B6,$00,$B8 $E8A6 DEFB $00,$13,$00,$B4,$00,$00,$00,$00 $E8AE DEFB $00,$00,$00,$00 ; Forest of Cern @label=PathData5 $E8B2 DEFB $00,$11,$79,$EF,$00,$2F,$0F,$5D $E8BA DEFB $00,$2F,$6F,$EF,$00,$45,$2D,$5D $E8C2 DEFB $00,$4B,$91,$E6,$00,$61,$91,$E6 $E8CA DEFB $00,$63,$45,$7B,$00,$81,$59,$7B $E8D2 DEFB $00,$93,$20,$4F,$00,$93,$9B,$D1 $E8DA DEFB $07,$9C,$4B,$9F,$04,$B1,$AF,$FF $E8E2 DEFB $06,$B1,$AF,$FF,$07,$B1,$AF,$FF $E8EA DEFB $08,$B1,$4B,$FF,$00,$CF,$20,$77 $E8F2 DEFB $00,$CF,$91,$E9,$00,$ED,$0F,$4F $E8FA DEFB $00,$FF ; _ @label=PathData6 $E8FC DEFB $00,$11,$0F,$EF,$00,$2F,$00,$95 $E904 DEFB $00,$4D,$91,$EF,$00,$5B,$18,$83 $E90C DEFB $00,$79,$2D,$83,$06,$93,$0F,$31 $E914 DEFB $08,$93,$2D,$B3,$00,$93,$C3,$EB $E91C DEFB $00,$9D,$5F,$A0,$00,$B1,$AF,$FF $E924 DEFB $06,$BF,$91,$B3,$00,$CF,$5F,$95 $E92C DEFB $00,$CF,$AF,$EF,$06,$D8,$2D,$63 $E934 DEFB $07,$DD,$5F,$B3,$00,$ED,$0F,$31 $E93C DEFB $00,$FF ; Plain of Lies, Lon Liath, Tir Clachen, Slige Warrens @label=SceneryData5 $E93E DEFB $29,$2F,$6F,$46 $E942 DEFB $2B,$87,$B2,$47 $E946 DEFB $33,$8F,$51,$00 $E94A DEFB $49,$4C,$B2,$47 $E94E DEFB $5D,$BA,$B2,$47 $E952 DEFB $5F,$75,$51,$00 $E956 DEFB $55,$75,$52,$00 $E95A DEFB $55,$75,$57,$46 $E95E DEFB $7D,$63,$B2,$47 $E962 DEFB $8F,$33,$51,$00 $E966 DEFB $A0,$8F,$51,$00 $E96A DEFB $AD,$CE,$B2,$47 $E96E DEFB $B5,$BA,$B2,$47 $E972 DEFB $B5,$DC,$B2,$47 $E976 DEFB $CB,$5A,$B2,$47 $E97A DEFB $CB,$AD,$51,$00 $E97E DEFB $00,$00 ; _ @label=SceneryData6 $E980 DEFB $20,$20,$18,$00,$07,$48,$47 $E987 DEFB $47,$47,$C7,$C7,$C8,$01 $E98D DEFB $20,$2B,$4A,$33,$04,$00,$04,$00 $E995 DEFB $20,$83,$AB,$E7 $E999 DEFB $20,$84,$18,$00,$05 $E99E DEFB $4D,$4E,$46,$CE,$42,$00 $E9A4 DEFB $20,$B2,$18,$00,$07,$48,$47,$47 $E9AC DEFB $47,$C7,$C7,$C8,$01,$15,$B2,$40 $E9B4 DEFB $23,$01,$A1,$06,$00,$10,$0E,$00 $E9BC DEFB $00,$20,$DE,$18,$00,$07,$48,$47 $E9C4 DEFB $47,$47,$C7,$C7,$C8,$00,$24,$3A $E9CC DEFB $10,$00,$08,$3C,$3B,$36,$3A,$B6 $E9D4 DEFB $3B,$3B,$BC,$02,$2B,$37,$38,$02 $E9DC DEFB $00,$00,$04,$11,$AA,$65,$01,$00 $E9E4 DEFB $23,$34,$38,$13,$01,$00,$06,$00 $E9EC DEFB $18,$0F,$01,$00,$24,$50,$10,$00 $E9F4 DEFB $08,$3C,$36,$3A,$B6,$3B,$3B,$3B $E9FC DEFB $BC,$01,$2B,$4D,$38,$02,$01,$9B $EA04 DEFB $04,$00,$20,$04,$00,$00,$3A,$3A $EA0C DEFB $10,$00,$08,$3C,$3B,$3B,$36,$3A $EA14 DEFB $B6,$BB,$BC,$01,$33,$3D,$38,$22 $EA1C DEFB $00,$00,$04,$04,$AD,$CE,$00,$00 $EA24 DEFB $3A,$50,$10,$00,$05,$48,$47,$47 $EA2C DEFB $C7,$C8,$01,$33,$54,$40,$21,$01 $EA34 DEFB $00,$04,$00,$10,$05,$01,$00,$3D $EA3C DEFB $A1,$16,$00,$0B,$3C,$BB,$36,$3A $EA44 DEFB $B6,$3B,$36,$3A,$B6,$BB,$BC,$01 $EA4C DEFB $33,$A1,$38,$25,$00,$00,$04,$04 $EA54 DEFB $AD,$CE,$00,$00,$3D,$C1,$16,$00 $EA5C DEFB $0B,$3C,$3B,$3B,$36,$3A,$B6,$3B $EA64 DEFB $36,$3A,$B6,$BC,$01,$33,$C1,$38 $EA6C DEFB $25,$00,$8F,$04,$04,$47,$C1,$00 $EA74 DEFB $00,$3E,$6A,$18,$00,$05,$4C,$4F $EA7C DEFB $50,$46,$4E,$00,$54,$4C,$18,$00 $EA84 DEFB $04,$4E,$C6,$46,$CE,$00,$56,$9F $EA8C DEFB $10,$00,$05,$48,$47,$47,$C7,$C8 $EA94 DEFB $01,$4F,$9F,$40,$22,$00,$00,$04 $EA9C DEFB $11,$BC,$D1,$02,$00,$56,$B5,$10 $EAA4 DEFB $00,$05,$51,$4C,$3E,$4F,$51,$01 $EAAC DEFB $4F,$B5,$40,$22,$80,$00,$04,$04 $EAB4 DEFB $5D,$B5,$00,$00,$56,$CD,$10,$00 $EABC DEFB $08,$3C,$3B,$36,$3A,$B6,$BB,$BB $EAC4 DEFB $BC,$01,$4F,$CE,$38,$23,$01,$00 $EACC DEFB $04,$00,$18,$06,$01,$00,$66,$20 $EAD4 DEFB $18,$00,$05,$46,$50,$51,$46,$4E $EADC DEFB $00,$72,$6A,$18,$00,$0C,$44,$44 $EAE4 DEFB $37,$B7,$C4,$C4,$44,$44,$44,$C4 $EAEC DEFB $44,$C4,$06,$7D,$6F,$38,$08,$00 $EAF4 DEFB $00,$04,$08,$7D,$6F,$00,$00,$7D $EAFC DEFB $6F,$38,$08,$00,$00,$06,$04,$7D $EB04 DEFB $6F,$00,$00,$7D,$6F,$38,$08,$00 $EB0C DEFB $00,$07,$06,$7D,$6F,$00,$00,$7D $EB14 DEFB $6F,$38,$08,$00,$00,$08,$07,$7D $EB1C DEFB $6F,$00,$00,$6F,$75,$38,$37,$84 $EB24 DEFB $95,$08,$00,$18,$0D,$7C,$E8,$67 $EB2C DEFB $6A,$38,$25,$00,$A7,$07,$0F,$52 $EB34 DEFB $65,$00,$00,$7A,$B6,$2C,$00,$16 $EB3C DEFB $3C,$3B,$3B,$36,$3A,$3A,$B6,$BB $EB44 DEFB $36,$3A,$B6,$3B,$3B,$3B,$3B,$3B $EB4C DEFB $36,$BA,$BA,$B6,$3B,$BC,$03,$83 $EB54 DEFB $CB,$38,$36,$00,$00,$04,$04,$AD $EB5C DEFB $CE,$00,$00,$71,$A1,$38,$16,$00 $EB64 DEFB $00,$04,$12,$6E,$7A,$03,$00,$83 $EB6C DEFB $A1,$38,$1F,$01,$9D,$06,$00,$20 $EB74 DEFB $10,$00,$00,$A2,$75,$18,$08,$07 $EB7C DEFB $48,$47,$47,$47,$47,$47,$C8,$01 $EB84 DEFB $AD,$75,$40,$03,$01,$A8,$08,$00 $EB8C DEFB $10,$1D,$00,$00,$A2,$CE,$18,$00 $EB94 DEFB $05,$46,$3F,$50,$4F,$3F,$00,$B1 $EB9C DEFB $2F,$36,$00,$0F,$48,$47,$47,$47 $EBA4 DEFB $47,$47,$47,$36,$C7,$C7,$C7,$C7 $EBAC DEFB $C7,$C7,$C8,$03,$B1,$15,$38,$17 $EBB4 DEFB $00,$9E,$04,$15,$64,$62,$03,$00 $EBBC DEFB $CB,$2F,$38,$07,$00,$00,$04,$13 $EBC4 DEFB $88,$64,$02,$00,$A6,$15,$40,$14 $EBCC DEFB $01,$A5,$06,$00,$20,$11,$00,$00 $EBD4 DEFB $C0,$5C,$18,$00,$04,$4E,$46,$46 $EBDC DEFB $CE,$00,$C0,$C0,$18,$00,$06,$49 $EBE4 DEFB $C6,$4F,$51,$4E,$3D,$00,$C0,$DE $EBEC DEFB $18,$00,$04,$4E,$46,$46,$4E,$00 ; Plain of lies; Scenery item list. $EBF4 DEFB $CE,$84 ; Position on map. $EBF6 DEFB $18 ; Number of screen columns (map unit) scenery takes. $EBF7 DEFB $04 $EBF8 DEFB $0C ; Number of scenery items in list. $EBF9 DEFB $3C,$3B,$BA,$3A,$3B,$3A,$3B,$BB ; List of items (bitmap indicies) in scenery. $EC01 DEFB $3A,$3A,$BB,$BC $EC05 DEFB $02 ; Number of data sets $EC06 DEFB $CF ; [0] $EC07 DEFB $8F ; [1] $EC08 DEFB $38 ; [2] Item bitmap index. $EC09 DEFB $35 ; [3] Camera / position in array (match) $EC0A DEFB $03 ; [4] Bit [7] - 0 = door. [0 ~ 3] - $EC0B DEFB $8C ; [5] [Door] Key bitmap index. Matched for door icon (8c = key char.) $EC0C DEFB $00 ; [6] $EC0D DEFB $00 ; [7] $EC0E DEFB $20 ; [8] Primary position when appearing out the other side of exit. $EC0F DEFB $01 ; [9] Secondary position. $EC10 DEFB $12 ; [A] $EC11 DEFB $EC ; [B] $EC12 DEFB $CF,$79,$38,$16,$03,$00,$00,$00 ; Data set 2 $EC1A DEFB $20,$81,$06,$EC ; _ $EC1E DEFB $DD,$67,$16,$07,$0B,$3C,$32,$3B $EC26 DEFB $32,$3A,$35,$BA,$32,$BB,$32,$BC $EC2E DEFB $01,$D3,$67,$38,$25,$83,$69,$07 $EC36 DEFB $00,$08,$95,$32,$ED,$DE,$20,$18 $EC3E DEFB $00,$07,$48,$47,$47,$47,$C7,$C7 $EC46 DEFB $C8,$00,$DE,$A2,$18,$00,$05,$49 $EC4E DEFB $4E,$4E,$46,$3D,$00,$DE,$C0,$18 $EC56 DEFB $00,$0C,$3C,$36,$3A,$B6,$3B,$3B $EC5E DEFB $3B,$3B,$36,$BA,$B6,$BC,$01,$DF $EC66 DEFB $CB,$38,$35,$01,$00,$04,$00,$08 $EC6E DEFB $07,$01,$00,$00,$00 ; Plain of Lies @label=SidheData3 $EC73 DEFB $00,$00,$00,$00,$00,$02,$01,$B4 $EC7B DEFB $00,$13,$00,$B4,$00,$00,$00,$00 $EC83 DEFB $00,$00,$00,$00 ; Lon Liath @label=SidheData4 $EC87 DEFB $00,$00,$00,$00,$00,$02,$01,$B6 $EC8F DEFB $00,$13,$00,$B4,$00,$00,$00,$00 $EC97 DEFB $00,$00,$00,$00 ; Slige Warrens @label=SidheData5 $EC9B DEFB $00,$00,$00,$00,$00,$02,$01,$B6 $ECA3 DEFB $00,$13,$00,$B4,$00,$00,$00,$00 $ECAB DEFB $00,$00,$00,$00 ; Alter of the Seal @label=PathData7 $ECAF DEFB $00 ; Area index (00 = anywhere). $ECB0 DEFB $32 ; Axis position. $ECB1 DEFB $32 ; Start path position. $ECB2 DEFB $5A ; End path postion. @label=PathData8 $ECB3 DEFB $00,$FF @label=SceneryItemData7 $ECB5 DEFB $2C ; Primary position $ECB6 DEFB $3C ; Secondary position $ECB7 DEFB $C4 ; Bitmap index (bit 7 = mirror image). $ECB8 DEFB $00 ; Area index (00 = anywhere). $ECB9 DEFB $2C,$3C,$C4,$45 $ECBD DEFB $00,$00 ; 00 - End of list. @label=SceneryStringData8 $ECBF DEFB $32 $ECC0 DEFB $5F ; Secondary position. $ECC1 DEFB $08 ; Total length of scenery (in map units). $ECC2 DEFB $00 $ECC3 DEFB $03 ; Number of bitmaps in scenery. $ECC4 DEFB $48,$47,$C8 ; Bitmap index [, bitmap index,...] $ECC7 DEFB $01 ; Number of exits $ECC8 DEFB $32,$5C,$40,$11,$03,$00,$05,$00 ; Exit data $ECD0 DEFB $08,$81,$AE,$E4 $ECD4 DEFB $00,$00 ; Next String, 00 = end. ; Cnoc Suil @label=PathData9 $ECD6 DEFB $00,$32,$32,$52 @label=PathData10 $ECDA DEFB $00,$FF @label=SceneryData9 $ECDC DEFB $32,$58,$C5,$00,$32,$58,$C5,$40 $ECE4 DEFB $00,$00 @label=SceneryData10 $ECE6 DEFB $32,$2D,$08,$00,$03,$48,$47,$C8 $ECEE DEFB $01,$32,$30,$4A,$31,$00,$00,$00 $ECF6 DEFB $01,$C8,$B5,$01,$00,$00,$00 ; Badrigs Shrine @label=SceneryData22 $ECFD DEFB $86,$68,$73,$00,$86,$64,$7E,$57 $ED05 DEFB $00,$00 ; The Ice Cave @label=PathData11 $ED07 DEFB $16,$66,$5A,$6E,$16,$92,$5A,$6E $ED0F DEFB $00,$FF ; _ @label=PathData12 $ED11 DEFB $00,$64,$64,$94,$00,$FF ; Ice Cave @label=SceneryData11 $ED17 DEFB $7D,$68,$B1,$00,$85,$60,$B1,$00 $ED1F DEFB $8A,$68,$B1,$00,$96,$64,$B1,$00 $ED27 DEFB $00,$00 ; _ @label=SceneryData12 $ED29 DEFB $5F,$64,$08,$00,$03,$48,$47,$C8 $ED31 DEFB $03,$62,$64,$4A,$01,$03,$00,$10 $ED39 DEFB $00,$08,$15,$2F,$EC,$62,$64,$4A $ED41 DEFB $01,$03,$00,$16,$00,$10,$19,$55 $ED49 DEFB $E8,$62,$64,$4A,$01,$03,$00,$17 $ED51 DEFB $00,$28,$9B,$39,$E8,$99,$64,$08 $ED59 DEFB $16,$03,$48,$47,$C8,$01,$96,$64 $ED61 DEFB $4A,$21,$01,$00,$16,$00,$03,$1A $ED69 DEFB $00,$00,$00,$00 ; Storm Cave Storm Cave @label=SidheData7 $ED6D DEFB $00,$00,$00,$00,$00,$FE,$00,$C8 $ED75 DEFB $00,$13,$00,$B4,$00,$00,$00,$00 $ED7D DEFB $00,$00,$00,$00 ; Tir Falamh @label=SceneryData13 $ED81 DEFB $00,$00 ; _ @label=SceneryData14 $ED83 DEFB $18,$18,$08,$00,$03,$48,$47,$C8 $ED8B DEFB $01,$18,$15,$40,$11,$00,$00,$00 $ED93 DEFB $04,$2B,$37,$00,$00,$DC,$28,$08 $ED9B DEFB $00,$03,$48,$47,$C8,$01,$DF,$28 $EDA3 DEFB $40,$01,$01,$9A,$00,$0D,$29,$01 $EDAB DEFB $00,$00,$00,$00 @label=PathData13 $EDAF DEFB $00,$64,$64,$80,$00,$7C,$64,$80 $EDB7 DEFB $00,$FF @label=PathData14 $EDB9 DEFB $00,$66,$62,$7E,$00,$7E,$62,$7E $EDC1 DEFB $00,$FF ; Ruads Retreat @label=SceneryData15 $EDC3 DEFB $00,$00 ; _ @label=SceneryData16 $EDC5 DEFB $70,$72,$12,$00,$09,$36,$38,$3B $EDCD DEFB $38,$36,$38,$3B,$38,$B6,$07,$6E $EDD5 DEFB $6A,$38,$13,$00,$00,$12,$11,$4D $EDDD DEFB $D1,$02,$00,$72,$6A,$38,$15,$01 $EDE5 DEFB $00,$00,$00,$18,$01,$00,$00,$68 $EDED DEFB $78,$38,$21,$00,$00,$00,$12,$68 $EDF5 DEFB $78,$02,$00,$68,$74,$38,$23,$04 $EDFD DEFB $00,$00,$00,$18,$82,$04,$EE,$78 $EE05 DEFB $74,$38,$03,$04,$00,$00,$00,$18 $EE0D DEFB $02,$F8,$ED,$72,$7A,$38,$33,$00 $EE15 DEFB $78,$00,$12,$78,$6C,$00,$00,$68 $EE1D DEFB $6E,$38,$26,$80,$00,$00,$12,$6A $EE25 DEFB $7A,$03,$00,$83,$72,$08,$00,$03 $EE2D DEFB $32,$33,$32,$01,$80,$72,$40,$21 $EE35 DEFB $80,$7C,$00,$04,$8F,$B6,$00,$00 $EE3D DEFB $00,$00 @label=PathData15 $EE3F DEFB $00,$64,$5E,$86 @label=PathData16 $EE43 DEFB $00,$FF ; The Library @label=SceneryData17 $EE45 DEFB $00,$00 ; _ @label=SceneryData18 $EE47 DEFB $72,$4D,$28,$00,$0B,$44,$43,$43 $EE4F DEFB $43,$43,$43,$43,$43,$C3,$C3,$C4 $EE57 DEFB $02,$6A,$60,$40,$37,$00,$00,$00 $EE5F DEFB $14,$32,$64,$01,$00,$7A,$60,$40 $EE67 DEFB $33,$01,$00,$00,$00,$30,$01,$00 $EE6F DEFB $00,$72,$7B,$28,$00,$0B,$44,$43 $EE77 DEFB $43,$43,$43,$43,$43,$43,$C3,$C3 $EE7F DEFB $C4,$01,$72,$68,$40,$15,$01,$00 $EE87 DEFB $00,$00,$08,$02,$00,$00,$00,$00 ; ? @label=PathData17 $EE8F DEFB $00,$32,$32,$62 ; _ @label=PathData18 $EE93 DEFB $00,$FF ; ? @label=SceneryData20 $EE95 DEFB $32,$2D,$08,$00,$03,$32,$33,$B2 $EE9D DEFB $01,$32,$30,$40,$31,$80,$00,$00 $EEA5 DEFB $15,$64,$81,$01,$00,$32,$67,$08 $EEAD DEFB $00,$03,$48,$47,$C8,$01,$32,$64 $EEB5 DEFB $40,$11,$00,$00,$00,$13,$6A,$60 $EEBD DEFB $03,$00,$00,$00 ; Reading Room @label=PathData19 $EEC1 DEFB $00,$64,$64,$7F,$00,$7B,$64,$7F $EEC9 DEFB $00,$FF @label=PathData20 $EECB DEFB $00,$66,$62,$7D,$00,$7D,$62,$7D $EED3 DEFB $00,$FF @label=SceneryData21 $EED5 DEFB $64,$5F,$08,$00,$03,$48,$47,$C8 $EEDD DEFB $01,$64,$62,$40,$31,$00,$9E,$00 $EEE5 DEFB $04,$B1,$15,$01,$00,$64,$84,$08 $EEED DEFB $00,$03,$48,$47,$C8,$01,$64,$81 $EEF5 DEFB $40,$11,$00,$00,$00,$14,$32,$30 $EEFD DEFB $03,$00,$00,$00 @label=SidheData8 $EF01 DEFB $00,$00,$00,$00,$00,$F6,$00,$CC $EF09 DEFB $00,$13,$00,$B4,$00,$00,$00,$00 $EF11 DEFB $00,$00,$00,$00 ; Pointers to list of objects in each area @label=ObjsCentralPlains b$EF15 DEFW $EF9B $EF17 DEFW $0000 $EF19 DEFW $EF91 $EF1B DEFW $0000 @label=ObjsCeardachCalum $EF1D DEFW $EFF6 @label=ObjsForestOfCern $EF1F DEFW $F00C ; Forest of Cern @label=ObjsPlainOfLies $EF21 DEFW $0000 ; Plain of Lies. $EF23 DEFW $0000 @label=ObjsAlterOfTheSeal $EF25 DEFW $0000 ; Alter of the Seal @label=ObjsLonLiath $EF27 DEFW $F088 ; Lon Liath @label=ObjsTirClachen $EF29 DEFW $F0E3 @label=ObjsSligeWarrens $EF2B DEFW $F131 ; Slige Warrens @label=ObjsBadHelm $EF2D DEFW $F184 ; Badhelm @label=ObjsStormbase $EF2F DEFW $F18F @label=ObjsGlasmarsh $EF31 DEFW $F1B6 @label=ObjsLavaFlats $EF33 DEFW $F1F3 @label=ObjsCnocSuil $EF35 DEFW $0000 @label=ObjsDunDhomnuil $EF37 DEFW $F217 @label=ObjsAnLin $EF39 DEFW $F227 @label=ObjsTheIceCave $EF3B DEFW $F253 @label=ObjsTirFalahm $EF3D DEFW $0000 ; Tir Falahm $EF3F DEFW $F26D @label=ObjsRuadsRetreat $EF41 DEFW $0000 $EF43 DEFW $F27B $EF45 DEFW $F285 @label=ObjsTheLibrary $EF47 DEFW $F296 $EF49 DEFW $F316 $EF4B DEFW $F321 @label=Objs? $EF4D DEFW $F330 @label=ObjsReadingRoom $EF4F DEFW $0000 @label=ObjsStormCave $EF51 DEFW $0000 @label=ObjsBadrigsShrine $EF53 DEFW $0000 $EF55 DEFW $0000 @label=ObjsAlterOfTheSeal2 $EF57 DEFW $F07E ; [33] Alter of the Seal (2) $EF59 DEFW $0000 $EF5B DEFW $0000 $EF5D DEFW $F028 $EF5F DEFW $F036 $EF61 DEFW $F04E $EF63 DEFW $F066 $EF65 DEFW $0000 $EF67 DEFW $0000 $EF69 DEFW $F016 $EF6B DEFW $0000 $EF6D DEFW $0000 $EF6F DEFW $0000 $EF71 DEFW $F0A3 $EF73 DEFW $F0B0 $EF75 DEFW $F0C9 $EF77 DEFW $F0D6 $EF79 DEFW $0000 $EF7B DEFW $F1C2 $EF7D DEFW $0000 $EF7F DEFW $0000 $EF81 DEFW $0000 $EF83 DEFW $0000 $EF85 DEFW $F19E $EF87 DEFW $0000 $EF89 DEFW $F33C $EF8B DEFW $0000 $EF8D DEFW $F1DC $EF8F DEFW $F164 ; Objects b$EF91 DEFB $32 ; [0] Position (NS) $EF92 DEFB $60 ; [1] Position (EW) $EF93 DEFB $8C ; [2] Bitmap Index. $EF94 DEFB $00 ; Flags [B6 = Oracle object] $EF95 DEFW $0000 ; Points the next object in list ; for which this object belongs ; to. This can be the inventory ; or an area. $EF97 DEFM "key" ; [0] $EF9A DEFB $5E $EF9B DEFB $2D,$D1,$86,$40,$C3,$EF,"quartz+words of power+in a shower",$5E ; [1] $EFC3 DEFB $6B,$4D,$87,$40,$EA,$EF,"feldspar+the backdoor key+is me!",$5E ; [2] $EFEA DEFB $E3,$5F,$7D,$01,$00,$00,"sword",$5E ; [3] $EFF6 DEFB $D2,$84,$65,$0A,$00,$00,"dagdas cauldron",$5E ; [4] $F00C DEFB $8C,$C0,$99,$00,$00,$00,"pin",$5E ; [5] $F016 DEFB $32,$60,$67,$02,$00,$00,"lughs spear",$5E ; [6] $F028 DEFB $32,$60,$79,$00,$00,$00,"antlers",$5E ; [7] $F036 DEFB $32,$60,$7D,$01,$42,$F0,"sword",$5E ; [8] $F042 DEFB $32,$56,$A4,$00,$00,$00,"bones",$5E ; [9] $F04E DEFB $32,$60,$74,$01,$5A,$F0,"chain",$5E ; [10] $F05A DEFB $32,$56,$A4,$00,$00,$00,"bones",$5E ; [11] $F066 DEFB $32,$56,$A4,$00,$72,$F0,"bones",$5E ; [12] $F072 DEFB $32,$5F,$7B,$00,$00,$00,"crown",$5E ; [13] $F07E DEFB $32,$3C,$6B,$01,$00,$00,"axe",$5E ; [14] $F088 DEFB $DC,$93,$6D,$10,$94,$F0,"spade",$5E ; [15] $F094 DEFB $CF,$6A,$2B,$00,$00,$00,"amethyst",$5E ; [16] $F0A3 DEFB $32,$60,$80,$00,$00,$00,"bottle",$5E ; [17] $F0B0 DEFB $32,$60,$76,$00,$BD,$F0,"goblet",$5E ; [18] $F0BD DEFB $32,$56,$A4,$00,$00,$00,"bones",$5E ; [19] $F0C9 DEFB $32,$60,$6A,$00,$00,$00,"candle",$5E ; [20] $F0D6 DEFB $32,$60,$71,$00,$00,$00,"bucket",$5E ; [21] $F0E3 DEFB $78,$11,$A1,$00,$F3,$F0,"horseshoe",$5E ; [22] $F0F3 DEFB $61,$96,$9D,$00,$00,$F1,"weight",$5E ; [23] $F100 DEFB $9C,$6E,$2C,$00,$0E,$F1,"emerald",$5E ; [24] $F10E DEFB $11,$E6,$88,$40,$00,$00,"mica+stones 2 n 2+go through",$5E ; [25] $F131 DEFB $B1,$9B,$31,$00,$3C,$F1,"iris",$5E ; [26] $F13C DEFB $4C,$D2,$8B,$40,$00,$00,"flint+key is cold+then net unfold",$5E ; [27] $F164 DEFB $32,$60,$A7,$00,$70,$F1,"sting",$5E ; [28] $F170 DEFB $32,$56,$70,$01,$7D,$F1,"dagger",$5E ; [29] $F17D DEFB $32,$66,$5A,$00,$00,$00,$5E ; [30] $F184 DEFB $B9,$AD,$6C,$01,$00,$00,"mace",$5E ; [31] $F18F DEFB $64,$82,$A5,$01,$00,$00,"catapult",$5E ; [32] $F19E DEFB $32,$60,$6D,$10,$AA,$F1,"spade",$5E ; [33] $F1AA DEFB $32,$56,$A4,$00,$00,$00,"bones",$5E ; [34] $F1B6 DEFB $BE,$C5,$95,$00,$00,$00,"daisy",$5E ; [35] $F1C2 DEFB $32,$60,$69,$04,$00,$00,"book+ciuin, clachan",$5E ; [36] $F1DC DEFB $32,$56,$A4,$00,$E8,$F1,"bones",$5E ; [37] $F1E8 DEFB $32,$60,$6C,$01,$00,$00,"club",$5E ; [38] $F1F3 DEFB $41,$C8,$9B,$00,$FE,$F1,"ring",$5E ; [39] $F1FE DEFB $D2,$5C,$2A,$00,$09,$F2,"ruby",$5E ; [40] $F209 DEFB $7C,$64,$2F,$00,$00,$00,"diamond",$5E ; [41] $F217 DEFB $69,$A8,$8E,$00,$00,$00,"honeycomb",$5E ; [42] $F227 DEFB $95,$B4,$77,$11,$35,$F2,"halberd",$5E ; [43] $F235 DEFB $7C,$73,$78,$00,$00,$00,"scroll+linger by finger",$5E ; [44] $F253 DEFB $8D,$64,$6F,$00,$63,$F2,"half torc",$5E ; [45] $F263 DEFB $91,$64,$A8,$00,$00,$00,"ice",$5E ; [46] $F26D DEFB $32,$60,$7C,$8A,$00,$00,"crystal",$5E ; [47] $F27B DEFB $32,$5F,$9A,$00,$00,$00,"egg",$5E ; [48] $F285 DEFB $32,$49,$78,$00,$00,$00,"scroll+oic",$5E ; [49] $F296 DEFB $7D,$64,$78,$00,$C5,$F2,"scroll+ykwbik mk koibr+qehi eixvq hbtxvq",$5E ; [50] $F2C5 DEFB $75,$64,$78,$00,$E4,$F2,"scroll++UVWXYYVWXZ[\\]Q__",$5E ; [51] $F2E4 DEFB $6E,$64,$9E,$00,$F3,$F2,"painting",$5E ; [52] $F2F3 DEFB $6C,$64,$9E,$00,$02,$F3,"painting",$5E ; [53] $F302 DEFB $67,$64,$78,$00,$00,$00,"scroll+be4ef3",$5E ; [54] $F316 DEFB $32,$4C,$8F,$00,$00,$00,"sand",$5E ; [55] $F321 DEFB $32,$4C,$29,$00,$00,$00,"sapphire",$5E ; [56] $F330 DEFB $32,$48,$16,$00,$00,$00,"grass",$5E ; [57] $F33C DEFB $32,$60,$75,$10,$00,$00,"feather",$5E ; [58] $F34A DEFB $E9,$6F,$00,$00,$6F,$00,$00,$00,"half torc",$5E ; [59] $F35C DEFB $7F,$00,$00,$7F,$02,$00,$00,"calums hammer",$5E ; [60] $F371 DEFB $92,$00,$00,$92,$02,$00,$00,"stone of fal",$5E ; [61] $F385 DEFB $7E,$00,$00,$7E,$00,$00,$00,"oak leaf",$5E ; [62] ; Treasure Action Function. ; ; Used by the routine at #R$DF82. @label=ActionTreasure c$F395 LD A,($DFD2) ; $F398 BIT 0,A ; $F39A JR Z,$F3B0 ; $F39C LD HL,($DFC3) ; $F39F LD E,(IX+$05) ; $F3A2 LD D,(IX+$06) ; $F3A5 CALL $6D05 ; $F3A8 LD DE,$0022 ; $F3AB AND A ; $F3AC SBC HL,DE ; $F3AE JR C,$F3B8 ; ; This entry point is used by the routine at #R$F417. @label=ActionTreasure_0 *$F3B0 XOR A ; Hot spot has come out of range, disable. $F3B1 LD ($E007),A ; $F3B4 LD (IX+$0B),A ; $F3B7 RET ; @label=ActionTreasure_1 *$F3B8 ADD HL,DE ; $F3B9 LD A,(IX+$0D) ; $F3BC AND A ; $F3BD JR NZ,$F3FE ; $F3BF LD DE,$0005 ; $F3C2 AND A ; $F3C3 SBC HL,DE ; $F3C5 RET NC ; $F3C6 LD HL,$F34B ; $F3C9 LD D,$04 ; @label=ActionTreasure_2 *$F3CB LD A,(IX+$02) ; $F3CE CP (HL) ; $F3CF JR Z,$F3E1 ; $F3D1 DEC D ; $F3D2 JR Z,$F3B0 ; $F3D4 LD BC,$0007 ; $F3D7 ADD HL,BC ; $F3D8 LD BC,$0064 ; $F3DB LD A,$5E ; $F3DD CPIR ; $F3DF JR $F3CB ; @label=ActionTreasure_3 *$F3E1 INC HL ; $F3E2 LD ($E009),HL ; ; This entry point is used by the routine at #R$F417. @label=ActionTreasure_4 *$F3E5 LD HL,($DFC7) ; $F3E8 LD A,L ; $F3E9 OR H ; $F3EA RET Z ; $F3EB INC HL ; $F3EC INC HL ; $F3ED LD A,(HL) ; $F3EE INC HL ; $F3EF BIT 4,(HL) ; $F3F1 RET Z ; $F3F2 LD HL,$E007 ; $F3F5 LD (HL),A ; $F3F6 INC HL ; $F3F7 LD (HL),$00 ; $F3F9 LD (IX+$0D),$01 ; $F3FD RET ; @label=ActionTreasure_5 *$F3FE LD A,($E008) ; $F401 BIT 6,A ; $F403 JR Z,$F419 ; $F405 LD HL,($E009) ; $F408 DEC HL ; $F409 LD (HL),$00 ; $F40B CALL $8931 ; ; Data block at F40E b$F40E DEFM "treasure" $F416 DEFB $5E ; Routine at F417 c$F417 JR $F3B0 ; ; This entry point is used by the routine at #R$F395. @label=ActionTreasure_6 *$F419 XOR A ; $F41A LD ($E007),A ; $F41D LD (IX+$0D),A ; $F420 LD DE,$0005 ; $F423 AND A ; $F424 SBC HL,DE ; $F426 JR C,$F3E5 ; $F428 RET ; ; Offscreen Blit to DF. ; ; Used by the routines at #R$DF82 and #R$F489. @label=OffScrBlit c$F429 DI ; $F42A LD DE,$4800 ; $F42D LD HL,$F609 ; $F430 LD B,$00 ; $F432 LD A,$08 ; @label=OffScrBlit_0 *$F434 EX AF,AF' ; $F435 PUSH DE ; $F436 LD A,$08 ; @label=OffScrBlit_1 *$F438 PUSH DE ; $F439 LD C,$20 ; @label=OffScrBlit_2 *$F43B LDI ; $F43D LDI ; $F43F LDI ; $F441 LDI ; $F443 LDI ; $F445 LDI ; $F447 LDI ; $F449 LDI ; $F44B JP PE,$F43B ; $F44E INC HL ; $F44F INC HL ; $F450 POP DE ; $F451 INC D ; $F452 DEC A ; $F453 JR NZ,$F438 ; $F455 POP DE ; $F456 EX DE,HL ; $F457 LD C,$20 ; $F459 ADD HL,BC ; $F45A EX DE,HL ; $F45B EX AF,AF' ; $F45C DEC A ; $F45D JR NZ,$F434 ; $F45F EI ; $F460 RET ; ; Creates a link list from a sequence of data blocks. The pointer to the next address (next block defined by C) is ; stored in the first word of the block. ; ; Used by the routine at #R$F472. Input: B Number of memory blocks to link. C Size of memory block DE Address of ; first block. @label=LinkListCreate c$F461 DEC B ; Less one for loop. @label=LinkListCreate_Next *$F462 LD L,C ; Get address of next block. $F463 LD H,$00 ; $F465 ADD HL,DE ; $F466 EX DE,HL ; $F467 LD (HL),E ; Store as link pointer in current block. $F468 INC HL ; $F469 LD (HL),D ; $F46A DJNZ $F462 ; ; ... $F46C EX DE,HL ; Terminate link pointer for last block. $F46D XOR A ; $F46E LD (HL),A ; $F46F INC HL ; $F470 LD (HL),A ; $F471 RET ; ; Initialise link lists. ; ; Used by the routines at #R$DF82 and #R$F489. @label=LinkListInit c$F472 LD HL,$0000 ; $F475 LD ($DFC1),HL ; $F478 LD DE,$93D0 ; $F47B LD ($DFBB),DE ; $F47F LD C,$14 ; $F481 LD B,$05 ; $F483 CALL $F461 ; $F486 RET ; ; Stack Pointer Store @label=StackPtrStore b$F487 DEFW $0000 ; Routine at F489 ; ; Used by the routine at #R$F515. @label=Start c$F489 LD ($F487),SP ; $F48D EI ; @label=StartInit *$F48E CALL $8937 ; $F491 CALL $7B15 ; $F494 CALL $F472 ; $F497 LD HL,$0000 ; $F49A LD ($F536),HL ; $F49D LD HL,($DFC3) ; $F4A0 LD A,L ; $F4A1 OR H ; $F4A2 JR Z,$F4A9 ; $F4A4 CALL $5E4E ; $F4A7 JR $F4AC ; @label=StartInitHero *$F4A9 CALL $5E2A ; @label=StartWarm *$F4AC LD A,(IY+$3E) ; $F4AF LD ($DF90),A ; ; Main loop @label=MainLoop *$F4B2 LD A,($DF90) ; $F4B5 CP (IY+$3E) ; $F4B8 JR Z,$F4B2 ; $F4BA LD BC,$EFFE ; Check for '6' key press. $F4BD IN A,(C) ; $F4BF BIT 4,A ; $F4C1 JR Z,$F48E ; If so goto to main menu. $F4C3 LD BC,$F7FE ; Check for key press 1~5 $F4C6 IN A,(C) ; $F4C8 BIT 4,A ; $F4CA JR NZ,$F4E0 ; ; Key press '5' (PAUSE) $F4CC DI ; @label=MainLoop_Pause *$F4CD IN A,(C) ; Wait for key up '5' $F4CF BIT 4,A ; $F4D1 JR Z,$F4CD ; @label=MainLoopPause1 *$F4D3 IN A,(C) ; Wait for press press '5' (UNPAUSE) $F4D5 BIT 4,A ; $F4D7 JR NZ,$F4D3 ; @label=MainLoopPause2 *$F4D9 IN A,(C) ; Wait for key up '5' again. $F4DB BIT 4,A ; $F4DD JR Z,$F4D9 ; $F4DF EI ; ; Key press '4' (DEMO MODE) @label=MainLoop_DemoMode *$F4E0 BIT 3,A ; $F4E2 JR NZ,$F4F4 ; $F4E4 LD A,($DFB1) ; Demo Mode on. $F4E7 XOR $02 ; $F4E9 LD ($DFB1),A ; $F4EC DI ; @label=Start_0 *$F4ED IN A,(C) ; Wait for key up '4' $F4EF BIT 3,A ; $F4F1 JR Z,$F4ED ; $F4F3 EI ; ; Update @label=MainLoop_Update *$F4F4 LD A,(IY+$3E) ; $F4F7 LD HL,($DF90) ; $F4FA SUB L ; $F4FB CP $04 ; $F4FD JR C,$F4B2 ; $F4FF LD A,($DF90) ; $F502 ADD A,$04 ; $F504 LD ($DF90),A ; $F507 CALL $F429 ; $F50A CALL $7B2D ; $F50D CALL $7B12 ; $F510 CALL $5E33 ; $F513 JR $F4B2 ; ; Main() & Run() @label=Run c$F515 LD A,$01 ; $F517 CALL $1601 ; System:Set PRINT channel $F51A CALL $F489 ; $F51D RET ; ; Main() @label=Main *$F51E LD ($DF8E),SP ; $F522 LD SP,$5E1F ; $F525 EI ; $F526 LD B,$20 ; $F528 LD HL,$DF91 ; @label=Main_Clr *$F52B LD (HL),$00 ; $F52D INC HL ; $F52E DJNZ $F52B ; $F530 CALL $F515 ; $F533 JP $0000 ; ; Baddy offscreen address. @label=Baddy_OffscreenPtr b$F536 DEFB $00,$00 ; Offscreen address (0 = not on screen.) @label=BaddyWidth $F538 DEFB $00 ; Width, Height of baddy frame. @label=BaddyHeight $F539 DEFB $00 $F53A DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F542 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F54A DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F552 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F55A DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F562 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F56A DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F572 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F57A DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F582 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F58A DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F592 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F59A DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5A2 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5AA DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5B2 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5BA DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5C2 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5CA DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5D2 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5DA DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5E2 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5EA DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5F2 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F5FA DEFB $00,$00,$00,$00,$00,$00,$00,$00 $F602 DEFB $00,$00,$00,$00,$00,$00,$00 ; Offscreen This is 34 columns wide to give an extra clipping column either end. @label=OffScreen0 b$F609 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F627 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F645 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F663 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F681 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F69F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F6BD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F6DB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F6F9 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F717 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F735 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F753 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F771 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F78F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F7AD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F7CB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F7E9 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F807 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F825 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F843 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F861 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F87F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F89D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F8BB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F8D9 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F8F7 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F915 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F933 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F951 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F96F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F98D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F9AB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F9C9 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $F9E7 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FA05 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FA23 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FA41 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FA5F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FA7D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FA9B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FAB9 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FAD7 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FAF5 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FB13 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FB31 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FB4F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FB6D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FB8B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FBA9 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FBC7 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 $FBE5 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; This is used to point the system charset to the defined bitmaps. @label=Charset_StartPtr b$FC00 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC08 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC10 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC18 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC20 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC28 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC30 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC38 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC40 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC48 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC50 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC58 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC60 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC68 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC70 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC78 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC80 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC88 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC90 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FC98 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCA8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCB0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCB8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCC8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCD0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCD8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCE0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCE8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCF0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FCF8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FD00 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $FD08 DEFB $00,$10,$10,$10,$10,$00,$10,$00 $FD10 DEFB $00,$24,$24,$00,$00,$00,$00,$00 $FD18 DEFB $00,$24,$7E,$24,$24,$7E,$24,$00 $FD20 DEFB $00,$08,$3E,$28,$3E,$0A,$3E,$08 $FD28 DEFB $00,$62,$64,$08,$10,$26,$46,$00 $FD30 DEFB $00,$10,$28,$10,$2A,$44,$3A,$00 $FD38 DEFB $00,$08,$10,$00,$00,$00,$00,$00 $FD40 DEFB $00,$04,$08,$08,$08,$08,$04,$00 $FD48 DEFB $00,$20,$10,$10,$10,$10,$20,$00 $FD50 DEFB $00,$00,$14,$08,$3E,$08,$14,$00 $FD58 DEFB $00,$00,$08,$08,$3E,$08,$08,$00 $FD60 DEFB $00,$00,$00,$00,$00,$08,$08,$10 $FD68 DEFB $00,$00,$00,$00,$3E,$00,$00,$00 $FD70 DEFB $00,$00,$00,$00,$00,$18,$18,$00 $FD78 DEFB $00,$00,$02,$04,$08,$10,$20,$00 $FD80 DEFB $00,$3C,$46,$4A,$52,$62,$3C,$00 $FD88 DEFB $00,$18,$28,$08,$08,$08,$3E,$00 $FD90 DEFB $00,$3C,$42,$02,$3C,$40,$7E,$00 $FD98 DEFB $00,$3C,$42,$0C,$02,$42,$3C,$00 $FDA0 DEFB $00,$08,$18,$28,$48,$7E,$08,$00 $FDA8 DEFB $00,$7E,$40,$7C,$02,$42,$3C,$00 $FDB0 DEFB $00,$3C,$40,$7C,$42,$42,$3C,$00 $FDB8 DEFB $00,$7E,$02,$04,$08,$10,$10,$00 $FDC0 DEFB $00,$3C,$42,$3C,$42,$42,$3C,$00 $FDC8 DEFB $00,$3C,$42,$42,$3E,$02,$3C,$00 $FDD0 DEFB $00,$00,$00,$10,$00,$00,$10,$00 $FDD8 DEFB $00,$00,$10,$00,$00,$10,$10,$20 $FDE0 DEFB $00,$00,$04,$08,$10,$08,$04,$00 $FDE8 DEFB $00,$00,$00,$3E,$00,$3E,$00,$00 $FDF0 DEFB $00,$00,$10,$08,$04,$08,$10,$00 $FDF8 DEFB $00,$3C,$42,$04,$08,$00,$08,$00 $FE00 DEFB $00,$3C,$4A,$56,$5E,$40,$3C,$00 $FE08 DEFB $00,$3C,$42,$42,$7E,$42,$42,$00 $FE10 DEFB $00,$7C,$42,$7C,$42,$42,$7C,$00 $FE18 DEFB $00,$3C,$42,$40,$40,$42,$3C,$00 $FE20 DEFB $00,$78,$44,$42,$42,$44,$78,$00 $FE28 DEFB $00,$7E,$40,$7C,$40,$40,$7E,$00 $FE30 DEFB $00,$7E,$40,$7C,$40,$40,$40,$00 $FE38 DEFB $00,$3C,$42,$40,$4E,$42,$3C,$00 $FE40 DEFB $00,$42,$42,$7E,$42,$42,$42,$00 $FE48 DEFB $00,$3E,$08,$08,$08,$08,$3E,$00 $FE50 DEFB $00,$02,$02,$02,$42,$42,$3C,$00 $FE58 DEFB $00,$44,$48,$70,$48,$44,$42,$00 $FE60 DEFB $00,$40,$40,$40,$40,$40,$7E,$00 $FE68 DEFB $00,$42,$66,$5A,$42,$42,$42,$00 $FE70 DEFB $00,$42,$62,$52,$4A,$46,$42,$00 $FE78 DEFB $00,$3C,$42,$42,$42,$42,$3C,$00 $FE80 DEFB $00,$7C,$42,$42,$7C,$40,$40,$00 $FE88 DEFB $50,$50,$50,$50,$50,$50,$50,$00 $FE90 DEFB $0A,$0A,$0A,$0A,$0A,$0A,$0A,$00 $FE98 DEFB $A8,$A8,$A8,$A8,$A8,$A9,$A8,$00 ; TirNaNog charset @label=Charset_Bitmaps b$FEA0 DEFB $05,$0A,$14,$28,$50,$A0,$40,$00 $FEA8 DEFB $AA,$AA,$AA,$AA,$AA,$00,$00,$00 $FEB0 DEFB $01,$02,$05,$0A,$15,$2A,$55,$00 $FEB8 DEFB $55,$AA,$54,$A8,$50,$A0,$40,$00 $FEC0 DEFB $14,$14,$14,$14,$14,$14,$14,$00 $FEC8 DEFB $00,$00,$00,$28,$28,$28,$28,$00 $FED0 DEFB $10,$10,$10,$10,$10,$10,$10,$00 $FED8 DEFB $28,$28,$28,$28,$28,$00,$00,$00 $FEE0 DEFB $2A,$2A,$2A,$2A,$2A,$00,$00,$00 $FEE8 DEFB $05,$05,$05,$05,$05,$05,$05,$00 $FEF0 DEFB $50,$50,$50,$50,$50,$50,$50,$00 $FEF8 DEFB $00,$00,$00,$10,$10,$10,$10,$00 $FF00 DEFB $00,$10,$28,$10,$10,$10,$18,$00 $FF08 DEFB $00,$00,$18,$24,$3C,$44,$3C,$00 $FF10 DEFB $00,$60,$20,$3C,$22,$22,$3C,$00 $FF18 DEFB $00,$00,$18,$24,$60,$24,$18,$00 $FF20 DEFB $00,$06,$04,$3C,$44,$44,$3C,$00 $FF28 DEFB $00,$00,$38,$44,$FC,$40,$38,$00 $FF30 DEFB $00,$0C,$10,$18,$10,$10,$10,$00 $FF38 DEFB $00,$00,$38,$46,$44,$3C,$44,$38 $FF40 DEFB $60,$40,$40,$78,$44,$44,$4C,$00 $FF48 DEFB $10,$20,$00,$30,$10,$10,$10,$10 $FF50 DEFB $00,$00,$0C,$04,$04,$0C,$24,$18 $FF58 DEFB $60,$20,$28,$30,$30,$28,$24,$00 $FF60 DEFB $00,$10,$10,$30,$10,$10,$1C,$00 $FF68 DEFB $00,$00,$E8,$54,$54,$54,$56,$00 $FF70 DEFB $00,$00,$F8,$44,$44,$4C,$48,$00 $FF78 DEFB $00,$00,$38,$44,$C6,$44,$38,$00 $FF80 DEFB $00,$00,$78,$44,$64,$78,$40,$60 $FF88 DEFB $00,$00,$3C,$46,$44,$3C,$04,$0E $FF90 DEFB $00,$00,$1C,$64,$24,$38,$24,$00 $FF98 DEFB $00,$04,$3C,$40,$7C,$04,$78,$00 $FFA0 DEFB $3C,$08,$10,$20,$20,$20,$18,$00 $FFA8 DEFB $00,$00,$64,$24,$44,$44,$38,$00 $FFB0 DEFB $00,$00,$4C,$44,$28,$38,$10,$00 $FFB8 DEFB $00,$00,$C4,$54,$54,$54,$68,$00 $FFC0 DEFB $00,$00,$44,$38,$10,$38,$44,$00 $FFC8 DEFB $00,$00,$44,$46,$44,$3C,$44,$38 $FFD0 DEFB $00,$40,$7C,$08,$10,$30,$7C,$00 $FFD8 DEFB $00,$3C,$7F,$67,$07,$9E,$FE,$78 $FFE0 DEFB $00,$00,$14,$08,$3E,$08,$14,$00 $FFE8 DEFB $00,$70,$10,$0C,$10,$10,$70,$00 $FFF0 DEFB $00,$14,$28,$00,$00,$00,$00,$00 $FFF8 DEFB $3C,$42,$99,$A1,$A1,$99,$42,$3C