; SkoolKit disassembly for Alien 8 ; v0.9a1 ; ; Copyright (c) 2019 Michael R. Cook (Skoolkit conversion) ; Copyright (c) 2016 tcdev (annotated disassembly) ; Copyright (c) 1985 Ultimate Play the Game (Alien 8) ; Alien 8 was designed and developed by Tim Stamper and Chris Stamper ; ; Memory Map: ; ; $4000-$57FF - spectrum video memory ; $5800-$5AFF - spectrum attribute memory ; $5B00-$6287 - variables ; $6288-$D1EA - code and data ; $D200-$D9FF - video buffer ; $F0FF - stack ; $F100-$FFFF - bit-shift & bit-reverse lookup tables ; - (built at run-time) @start=$A631 @org ; Data block at 5B00 @label=seed_1 s$5B00 DEFB $29,$00 ; Unused @label=seed_2 s$5B02 DEFS $02 ; Unused @label=user_input_method s$5B04 DEFS $01 ; Unused @label=seed_3 s$5B05 DEFS $01 ; Unused @label=tmp_input_method s$5B06 DEFS $02 ; variables from here are zeroed each game @label=objs_wiped_cnt s$5B08 DEFS $01 ; Unused @label=tmp_SP s$5B09 DEFB $F2,$F0 ; Unused @label=room_size_X s$5B0B DEFS $01 ; Unused @label=room_size_Y s$5B0C DEFS $01 ; Unused @label=curr_room_attrib s$5B0D DEFS $01 ; Unused @label=room_size_Z s$5B0E DEFS $04 ; Unused @label=not_1st_screen s$5B12 DEFS $01 ; Unused @label=pickup_drop_pressed s$5B13 DEFS $01 ; Unused @label=objects_carried_changed s$5B14 DEFS $01 ; Unused @label=user_input s$5B15 DEFS $01 ; Unused @label=tmp_attrib s$5B16 DEFS $01,$47 ; Unused @label=render_status_info s$5B17 DEFS $01 ; Unused @label=suppress_border s$5B18 DEFS $01,$01 ; Unused @label=unk_5B19 s$5B19 DEFS $01 ; Unused @label=lives s$5B1A DEFS $01,$05 ; Unused @label=tmp_XYZ s$5B1B DEFS $03 ; Unused @label=rendered_objs_cnt s$5B1E DEFS $02 ; Unused @label=block_type_tbl_base s$5B20 DEFS $01 ; Unused @label=tmp_dZ s$5B21 DEFS $02 ; Unused @label=byte_5B23 s$5B23 DEFS $01 ; Unused @label=byte_5B24 s$5B24 DEFS $01 ; Unused @label=byte_5B25 s$5B25 DEFS $02 ; Unused @label=gfxbase_8x8 s$5B27 DEFB $88,$61,$00,$00 ; Unused @label=tmp_objects_to_draw s$5B2B DEFS $02 ; Unused @label=render_obj_1 s$5B2D DEFS $02 ; Unused @label=render_obj_2 s$5B2F DEFS $01 ; Unused s$5B30 DEFB $00,$01 ; Unused @label=directional s$5B32 DEFS $01 ; Unused @label=cant_drop s$5B33 DEFS $01 ; Unused @label=word_5B34 s$5B34 DEFS $02 ; Unused @label=unk_5B36 s$5B36 DEFB $60,$00 ; Unused @label=unk_5B38 s$5B38 DEFS $01 ; Unused @label=unk_5B39 s$5B39 DEFS $01 ; Unused @label=unk_5B3A s$5B3A DEFS $01 ; Unused @label=byte_5B3B s$5B3B DEFS $01 ; Unused @label=unk_5B3C s$5B3C DEFS $01 ; Unused @label=unk_5B3D s$5B3D DEFS $01 ; Unused @label=unk_5B3E s$5B3E DEFS $01 ; Unused @label=unk_5B3F s$5B3F DEFS $01 ; Unused @label=unk_5B40 s$5B40 DEFS $01 ; Unused @label=byte_5B41 s$5B41 DEFS $01 ; Unused @label=unk_5B42 s$5B42 DEFS $01 ; Unused @label=byte_5B43 s$5B43 DEFS $01 ; Unused s$5B44 DEFS $14 ; Unused @label=scrn_visited s$5B58 DEFS $01 ; Unused s$5B59 DEFS $1F ; Unused @label=inventory s$5B78 DEFS $04 ; Unused @label=byte_5B7C s$5B7C DEFS $04 ; Unused @label=byte_5B80 s$5B80 DEFS $04 ; Unused @label=byte_5B84 s$5B84 DEFS $03 ; Unused @label=end_of_objects_carried s$5B87 DEFS $01 ; Unused @label=graphic_objs_tbl s$5B88 DEFS $40 ; Unused @label=special_objs_here s$5BC8 DEFS $20 ; Unused @label=byte_5BE8 s$5BE8 DEFS $20 ; Scratch memory @label=other_objs_here s$5C08 DEFS $0680 ; Data block at 6288 @label=font b$6288 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $6290 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $6298 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $62A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $62A8 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $62B0 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $62B8 DEFB $00,$00,$00,$00,$00,$00,$00,$C3 $62C0 DEFB $18,$C3,$18,$DB,$18,$24,$5D,$76 $62C8 DEFB $5D,$89,$16,$12,$16,$FF,$FF,$FF $62D0 DEFB $FF,$DB,$02,$4D,$00,$7B,$5D,$DB $62D8 DEFB $02,$4D,$00,$FF,$FF,$0D,$01,$00 $62E0 DEFB $00,$2E,$EB,$80,$EA,$2B,$2D,$65 $62E8 DEFB $33,$F0,$5C,$ED,$10,$0D,$00,$09 $62F0 DEFB $00,$85,$1C,$10,$1C,$52,$1B,$76 $62F8 DEFB $1B,$03,$13,$00,$3E,$00,$00,$00 $6300 DEFB $F3,$31,$00,$F1,$00,$C3,$31,$A6 ; Data block at 6308 @label=ascii_chars b$6308 DEFB $7E,$42,$42,$46,$46,$46,$7E,$00 ; '0' $6310 DEFB $08,$08,$08,$18,$18,$18,$18,$00 ; '1' $6318 DEFB $7E,$02,$02,$7E,$60,$60,$7E,$00 ; '2' $6320 DEFB $7C,$44,$04,$1E,$06,$46,$7E,$00 ; '3' $6328 DEFB $78,$48,$48,$48,$7E,$18,$18,$00 ; '4' $6330 DEFB $7E,$40,$40,$7E,$06,$46,$7E,$00 ; '5' $6338 DEFB $7E,$42,$40,$7E,$62,$62,$7E,$00 ; '6' $6340 DEFB $7E,$02,$02,$06,$06,$06,$06,$00 ; '7' $6348 DEFB $3C,$24,$24,$7E,$46,$46,$7E,$00 ; '8' $6350 DEFB $7E,$42,$42,$7E,$06,$06,$06,$00 ; '9' $6358 DEFB $7E,$42,$42,$46,$46,$46,$7E,$00 ; '0' $6360 DEFB $00,$00,$00,$00,$00,$18,$18,$00 ; '.' $6368 DEFB $00,$00,$7E,$7E,$00,$00,$00,$00 ; '-' $6370 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $6378 DEFB $3C,$42,$99,$A1,$A1,$99,$42,$3C ; (c) $6380 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $6388 DEFB $00,$00,$00,$00,$00,$00,$00,$00 $6390 DEFB $3C,$24,$24,$7E,$62,$62,$62,$00 ; 'A' $6398 DEFB $7C,$44,$44,$7E,$62,$62,$7E,$00 ; 'B' $63A0 DEFB $7E,$42,$40,$60,$60,$62,$7E,$00 ; 'C' $63A8 DEFB $7E,$42,$42,$62,$62,$62,$7E,$00 ; 'D' $63B0 DEFB $7E,$40,$40,$7E,$60,$60,$7E,$00 ; 'E' $63B8 DEFB $7E,$40,$40,$7E,$60,$60,$60,$00 ; 'F' $63C0 DEFB $7E,$42,$40,$66,$62,$62,$7E,$00 ; 'G' $63C8 DEFB $42,$42,$42,$7E,$62,$62,$62,$00 ; 'H' $63D0 DEFB $10,$10,$10,$18,$18,$18,$18,$00 ; 'I' $63D8 DEFB $04,$04,$04,$06,$46,$46,$7E,$00 ; 'J' $63E0 DEFB $44,$44,$44,$7E,$62,$62,$62,$00 ; 'K' $63E8 DEFB $40,$40,$40,$60,$60,$60,$7E,$00 ; 'L' $63F0 DEFB $7E,$4A,$4A,$6A,$6A,$6A,$6A,$00 ; 'M' $63F8 DEFB $7E,$42,$42,$62,$62,$62,$62,$00 ; 'N' $6400 DEFB $7E,$46,$42,$42,$42,$42,$7E,$00 ; 'O' $6408 DEFB $7E,$42,$42,$7E,$60,$60,$60,$00 ; 'P' $6410 DEFB $7E,$42,$42,$42,$42,$4E,$7E,$00 ; 'Q' $6418 DEFB $7C,$44,$44,$7E,$62,$62,$62,$00 ; 'R' $6420 DEFB $7E,$40,$40,$7E,$06,$06,$7E,$00 ; 'S' $6428 DEFB $7E,$10,$10,$18,$18,$18,$18,$00 ; 'T' $6430 DEFB $42,$42,$42,$62,$62,$62,$7E,$00 ; 'U' $6438 DEFB $62,$62,$62,$62,$24,$24,$3C,$00 ; 'V' $6440 DEFB $4A,$4A,$4A,$6A,$6A,$6A,$7E,$00 ; 'W' $6448 DEFB $42,$42,$42,$3C,$62,$62,$62,$00 ; 'X' $6450 DEFB $42,$42,$42,$7E,$18,$18,$18,$00 ; 'Y' $6458 DEFB $7E,$42,$02,$7E,$60,$62,$7F,$00 ; 'Z' ; room sizes @label=room_size_tbl b$6460 DEFB $40,$40,$40 $6463 DEFB $20,$40,$40 $6466 DEFB $40,$20,$40 ; Location (Room) Table +0 Location ID +1 Entry size (bytes) +2 Size and Attributes +3... bg objects until $FF fg ; objects until (entry size) bytes @label=location_tbl b$6469 DEFB $02,$20,$30 ; id=2 $646C DEFB $00,$0A,$0C,$04,$07,$FF,$0F,$40,$88,$78,$B0,$E7,$DF,$E8,$D0,$09 $647C DEFB $00,$38,$00,$30,$0B,$20,$18,$19,$21,$33,$22,$23,$1A,$1B $648A DEFB $03,$17,$20 ; id=3 $648D DEFB $00,$03,$0A,$0C,$06,$07,$FF,$5F,$24,$1C,$65,$5D,$A6,$9E,$E7,$DF $649D DEFB $3B,$22,$23,$1A,$1B $64A2 DEFB $04,$19,$28 ; id=4 $64A5 DEFB $00,$01,$03,$06,$07,$FF,$0B,$1C,$23,$1A,$13,$38,$1B,$7B,$63,$5A,$5C $64B6 DEFB $53,$BB,$12,$14,$22,$24 $64BC DEFB $05,$1A,$18 ; id=5 $64BF DEFB $00,$03,$06,$07,$FF,$0F,$22,$24,$12,$14,$63,$5C,$53,$5A,$09,$9B,$DB $64D0 DEFB $00,$30,$0B,$1B,$5B,$9B,$1C $64D7 DEFB $0A,$21,$18 ; id=10 $64DA DEFB $00,$01,$04,$07,$FF,$B5,$38,$39,$3A,$3D,$3E,$3F,$0F,$23,$24,$1B $64EA DEFB $1C,$00,$40,$80,$C0,$10,$63,$18,$A3,$00,$30,$08,$00,$D8,$40 $64F9 DEFB $0B,$23,$28 ; id=11 $64FC DEFB $00,$01,$03,$06,$07,$FF,$BF,$3D,$3E,$3F,$35,$36,$37,$2D,$2E,$B9 $650C DEFB $2F,$BF,$F1,$76,$31,$F8,$00,$28,$09,$08,$08,$10,$11,$18,$0A,$20 $651C DEFB $01 $651D DEFB $0C,$27,$20 ; id=12 $6520 DEFB $00,$01,$03,$06,$07,$FF,$AA,$00,$08,$10,$B2,$3D,$3E,$3F,$BB,$63,$65 $6531 DEFB $53,$55,$0F,$1D,$1B,$24,$14,$5B,$64,$5D,$54,$C0,$1C,$00,$30 $6540 DEFB $A3,$A4,$94,$9B,$9D $6545 DEFB $0D,$21,$30 ; id=13 $6548 DEFB $00,$03,$06,$07,$FF,$0A,$5B,$9C,$E4,$4A,$12,$13,$14,$42,$15,$1D $6558 DEFB $25,$5A,$2D,$2C,$2B,$52,$2A,$22,$1A,$38,$23,$00,$30,$08,$23 $6567 DEFB $12,$1C,$28 ; id=18 $656A DEFB $01,$0B,$0D,$04,$05,$FF,$09,$C3,$C4,$38,$00,$2A,$3A,$79,$B8,$54,$F0 $657B DEFB $E8,$E0,$D8,$D0,$00,$30,$31,$00,$40 $6584 DEFB $13,$20,$18 ; id=19 $6587 DEFB $00,$01,$02,$03,$06,$07,$FF,$BF,$3A,$32,$2A,$29,$28,$10,$11,$12,$BF $6598 DEFB $0A,$02,$3D,$35,$2D,$2E,$2F,$17,$BB,$16,$15,$0D,$05 $65A5 DEFB $14,$25,$30 ; id=20 $65A8 DEFB $00,$01,$02,$03,$06,$07,$FF,$0F,$2F,$2E,$26,$1E,$16,$17,$28,$29,$0B $65B9 DEFB $21,$19,$11,$10,$7F,$68,$69,$61,$59,$51,$50,$57,$56,$7B $65C7 DEFB $5E,$66,$6E,$6F $65CB DEFB $15,$1C,$28 ; id=21 $65CE DEFB $02,$03,$05,$06,$FF,$37,$3C,$74,$27,$66,$0C,$54,$21,$62,$34,$AC $65DE DEFB $A5,$A3,$9C,$E4,$3C,$23,$2C,$25,$1C,$24 $65E8 DEFB $1A,$1C,$28 ; id=26 $65EB DEFB $0A,$0B,$0C,$0D,$04,$05,$FF,$3B,$23,$24,$1C,$1B,$45,$C3,$C4,$8B $65FB DEFB $8C,$53,$54,$5D,$DF,$E7,$9E,$A6,$5D,$65 $6605 DEFB $1B,$1A,$30 ; id=27 $6608 DEFB $00,$01,$02,$03,$06,$07,$FF,$34,$55,$95,$94,$D4,$DC,$BB,$1C,$1D,$14 $6619 DEFB $15,$00,$30,$32,$1C,$1D,$5D $6620 DEFB $1C,$21,$18 ; id=28 $6623 DEFB $00,$01,$02,$03,$06,$07,$FF,$0F,$23,$63,$25,$65,$13,$53,$15,$55,$0F $6634 DEFB $A4,$E4,$9D,$DD,$94,$D4,$9B,$DB,$10,$1C,$18,$5C,$A0,$DC $6642 DEFB $1D,$2B,$28 ; id=29 $6645 DEFB $02,$03,$05,$06,$FF,$AA,$00,$08,$10,$0B,$FF,$06,$0E,$0F,$20,$F8,$3F,$30 $6657 DEFB $31,$39,$FE,$F7,$46,$4F,$4E,$57,$F9,$FA,$FB,$FC,$FD,$EF $6665 DEFB $E7,$DF,$51,$D7,$CF,$00,$30,$D0,$3F $666E DEFB $20,$1A,$28 ; id=32 $6671 DEFB $00,$04,$07,$FF,$0F,$1A,$5A,$9A,$DA,$1D,$5D,$9D,$DD,$09,$00,$07,$39 $6682 DEFB $1B,$1C,$31,$DB,$DC,$80,$40 $6689 DEFB $23,$23,$70 ; id=35 $668C DEFB $00,$02,$08,$FF,$0F,$22,$23,$24,$25,$1A,$1B,$1C,$1D,$52,$2B,$2C $669C DEFB $2D,$42,$13,$14,$15,$61,$2A,$12,$7F,$62,$63,$64,$65,$5A $66AA DEFB $5B,$5C,$5D $66AD DEFB $24,$0F,$60 ; id=36 $66B0 DEFB $00,$02,$08,$FF,$7F,$35,$2C,$2B,$22,$0A,$13,$14,$1D $66BD DEFB $27,$22,$30 ; id=39 $66C0 DEFB $00,$01,$04,$07,$FF,$0F,$00,$08,$48,$10,$50,$90,$18,$58,$09,$21,$61,$35 $66D2 DEFB $D8,$A0,$28,$68,$A8,$E8,$39,$98,$A1,$00,$30,$31,$28,$68 $66E0 DEFB $28,$2D,$30 ; id=40 $66E3 DEFB $00,$03,$06,$07,$FF,$A9,$00,$08,$0F,$46,$47,$06,$07,$86,$87,$C6,$C7,$0F $66F5 DEFB $1E,$1F,$5E,$5F,$9E,$9F,$DE,$DF,$0C,$1D,$5D,$9D,$DD,$D5 $6703 DEFB $C0,$17,$10,$31,$00,$30,$0B,$16,$17,$0E,$0F $670E DEFB $2B,$05,$60 ; id=43 $6711 DEFB $00,$02,$08 $6714 DEFB $2C,$05,$70 ; id=44 $6717 DEFB $00,$02,$08 $671A DEFB $2F,$22,$28 ; id=47 $671D DEFB $00,$04,$07,$FF,$0B,$1A,$5A,$9A,$9D,$0F,$5D,$1D,$1B,$1C,$28,$08 $672D DEFB $0F,$2F,$33,$9E,$9F,$98,$99,$7D,$68,$48,$4F,$6F,$5B,$5C $673B DEFB $88,$50 $673D DEFB $30,$16,$18 ; id=48 $6740 DEFB $00,$01,$02,$04,$07,$FF,$0E,$00,$40,$F8,$20,$18,$60,$58,$71,$E8,$C8 $6751 DEFB $79,$A0,$98 $6754 DEFB $31,$22,$20 ; id=49 $6757 DEFB $00,$03,$06,$07,$FF,$B5,$38,$39,$3A,$3D,$3E,$3F,$0A,$1C,$5C,$9C $6767 DEFB $33,$64,$5D,$54,$5B,$BF,$23,$24,$25,$1B,$1D,$13,$14,$15 $6775 DEFB $D0,$DC $6777 DEFB $33,$14,$68 ; id=51 $677A DEFB $00,$02,$08,$FF,$0F,$1A,$1B,$1C,$1D,$5A,$5D,$9A,$9D,$7B,$DA,$DD $678A DEFB $5B,$5C $678C DEFB $34,$25,$58 ; id=52 $678F DEFB $00,$02,$08,$FF,$0F,$3A,$7A,$22,$1A,$5A,$12,$52,$92,$0C,$0A,$33 $679F DEFB $4A,$BA,$2B,$63,$2A,$62,$9A,$D2,$7A,$FA,$73,$6B,$00,$30 $67AD DEFB $7B,$32,$6A,$A2,$DA $67B2 DEFB $36,$22,$20 ; id=54 $67B5 DEFB $00,$01,$04,$07,$FF,$0F,$3D,$35,$2D,$25,$1D,$5D,$1A,$5A,$09,$18,$19 $67C6 DEFB $21,$DC,$5B,$B9,$1B,$1C,$7F,$7D,$75,$6D,$65,$9D,$9A,$58 $67D4 DEFB $59 $67D5 DEFB $37,$1D,$28 ; id=55 $67D8 DEFB $00,$02,$03,$06,$07,$FF,$0F,$0F,$06,$46,$0E,$2F,$67,$9F,$D7,$BC,$17 $67E9 DEFB $07,$16,$4E,$86,$00,$30,$08,$0F,$18,$4F $67F3 DEFB $38,$24,$28 ; id=56 $67F6 DEFB $00,$01,$02,$04,$07,$FF,$0F,$05,$0D,$15,$1C,$23,$2A,$32,$38,$0B,$02,$0B $6808 DEFB $12,$19,$7F,$45,$4D,$55,$5C,$63,$6A,$72,$78,$7B,$42,$4B $6816 DEFB $52,$59 $6818 DEFB $39,$15,$20 ; id=57 $681B DEFB $00,$03,$06,$07,$FF,$0E,$07,$1F,$57,$8F,$04,$45,$86,$38,$47,$00,$30,$20 $682D DEFB $C7 $682E DEFB $3B,$27,$58 ; id=59 $6831 DEFB $00,$0B,$0D,$08,$FF,$0F,$23,$24,$63,$64,$A3,$A4,$E3,$E4,$09,$2B $6841 DEFB $2C,$4A,$C4,$CC,$D4,$5A,$C3,$CB,$D3,$31,$DB,$DC,$7F,$02 $684F DEFB $0A,$12,$1A,$05,$0D,$15,$1D $6856 DEFB $3C,$0B,$68 ; id=60 $6859 DEFB $00,$02,$08,$FF,$69,$2B,$13,$80,$23 $6862 DEFB $3E,$2A,$20 ; id=62 $6865 DEFB $00,$01,$04,$07,$FF,$37,$54,$55,$95,$5D,$9D,$DD,$65,$A5,$36,$E5 $6875 DEFB $64,$A4,$E4,$63,$A3,$E3,$3F,$23,$24,$25,$1B,$1D,$13,$14 $6883 DEFB $15,$00,$30,$35,$25,$24,$64,$23,$63,$A3 $688D DEFB $3F,$22,$18 ; id=63 $6890 DEFB $00,$0B,$0D,$03,$06,$07,$FF,$0F,$E3,$E4,$DB,$DC,$DD,$95,$4D,$05,$09 $68A1 DEFB $C3,$C4,$00,$30,$37,$13,$14,$1A,$22,$1D,$25,$2B,$2C,$E0 $68AF DEFB $63 $68B0 DEFB $40,$1B,$30 ; id=64 $68B3 DEFB $0A,$02,$0C,$04,$05,$FF,$0D,$20,$68,$B0,$FF,$E7,$DF,$4A,$F8,$F9 $68C3 DEFB $FA,$31,$FB,$FC,$3B,$3F,$3E,$3D,$3B $68CC DEFB $41,$28,$28 ; id=65 $68CF DEFB $00,$01,$02,$03,$06,$07,$FF,$AA,$00,$08,$10,$B2,$3D,$3E,$3F,$0B,$23,$63 $68E1 DEFB $A3,$E3,$12,$12,$2D,$92,$1A,$52,$6D,$D2,$BA,$06,$07,$0F,$00,$30 $68F1 DEFB $08,$23,$C8,$63 $68F5 DEFB $42,$16,$98 ; id=66 $68F8 DEFB $01,$03,$09,$FF,$0B,$2A,$2D,$12,$15,$BF,$6D,$65,$5D,$55,$6A,$62 $6908 DEFB $5A,$52,$E0,$23 $690C DEFB $43,$29,$20 ; id=67 $690F DEFB $0B,$0D,$03,$05,$06,$FF,$0F,$C3,$C4,$23,$24,$63,$64,$A3,$A4,$09 $691F DEFB $25,$22,$61,$2B,$2C,$7F,$62,$65,$1B,$1C,$13,$14,$0B,$0C $692D DEFB $49,$DC,$D4,$59,$DB,$D3,$31,$CB,$CC $6936 DEFB $44,$35,$30 ; id=68 $6939 DEFB $00,$01,$02,$04,$07,$FF,$37,$62,$A2,$E2,$5B,$9B,$DB,$52,$92,$35 $6949 DEFB $D2,$59,$99,$D9,$5A,$9A,$10,$0E,$00,$30,$08,$1A,$00,$00,$F0,$DA $6959 DEFB $F8,$00,$28,$1A,$08,$19,$10,$22,$18,$1B,$20,$12,$35,$2E,$2F $6968 DEFB $25,$1D,$16,$17 $696C DEFB $45,$19,$A8 ; id=69 $696F DEFB $01,$03,$09,$FF,$0B,$15,$2D,$2A,$12,$31,$AB,$AC,$7F,$55,$1D,$25 $697F DEFB $6D,$6A,$22,$1A,$52,$E0,$23 $6986 DEFB $46,$22,$18 ; id=70 $6989 DEFB $00,$02,$03,$06,$07,$FF,$0F,$27,$67,$A7,$E7,$1F,$5F,$9F,$DF,$0D,$2E $699A DEFB $2F,$25,$1D,$16,$17,$7D,$6E,$6F,$65,$5D,$56,$57,$31,$26 $69A8 DEFB $1E $69A9 DEFB $47,$05,$60 ; id=71 $69AC DEFB $00,$02,$08 $69AF DEFB $48,$25,$60 ; id=72 $69B2 DEFB $00,$02,$08,$FF,$0D,$3A,$32,$72,$02,$0A,$4A,$31,$A2,$9A,$49,$AA $69C2 DEFB $92,$7F,$2A,$2B,$2C,$2D,$22,$23,$24,$25,$7F,$1A,$1B,$1C $69D0 DEFB $1D,$12,$13,$14,$15 $69D5 DEFB $49,$0F,$18 ; id=73 $69D8 DEFB $00,$02,$0A,$0C,$04,$07,$FF,$11,$25,$65,$09,$DF,$E7 $69E5 DEFB $4A,$1B,$A8 ; id=74 $69E8 DEFB $0A,$03,$0C,$09,$FF,$09,$E7,$DF,$4F,$19,$21,$22,$1A,$24,$1C,$25 $69F8 DEFB $1D,$3B,$1B,$23,$26,$1E,$21,$E6,$5E $6A01 DEFB $4B,$30,$30 ; id=75 $6A04 DEFB $00,$02,$03,$06,$07,$FF,$AD,$00,$08,$10,$28,$30,$38,$0F,$FF,$BF,$7F,$3F $6A16 DEFB $37,$77,$B7,$2F,$0C,$6F,$AF,$27,$67,$1F,$11,$0F,$8F,$19 $6A24 DEFB $4F,$CF,$BC,$EF,$A7,$5F,$17,$F7,$00,$30,$D0,$3F,$10,$0F $6A32 DEFB $4C,$2B,$20 ; id=76 $6A35 DEFB $0A,$0B,$0C,$0D,$04,$05,$FF,$0D,$C3,$C4,$E7,$DF,$C0,$F8,$37,$D8 $6A45 DEFB $E0,$E8,$FA,$FD,$EF,$7B,$7C,$31,$F0,$F9,$3E,$33,$34,$18 $6A53 DEFB $20,$28,$3A,$3D,$00,$30,$08,$7F,$31,$3E,$37 $6A5E DEFB $4D,$09,$98 ; id=77 $6A61 DEFB $01,$03,$09,$FF,$E1,$23,$1C $6A68 DEFB $4E,$20,$28 ; id=78 $6A6B DEFB $00,$01,$02,$03,$06,$07,$FF,$0F,$3A,$32,$2A,$29,$28,$3D,$35,$2D,$0F $6A7C DEFB $2E,$2F,$17,$16,$15,$0D,$05,$02,$0B,$0A,$10,$11,$12 $6A89 DEFB $4F,$24,$30 ; id=79 $6A8C DEFB $02,$03,$05,$06,$FF,$AD,$00,$08,$10,$38,$30,$28,$0F,$05,$45,$06,$46,$86 $6A9E DEFB $07,$47,$87,$09,$C7,$FF,$39,$37,$2F,$71,$EF,$CF,$00,$30,$D8 $6AAD DEFB $3F $6AAE DEFB $51,$05,$60 ; id=81 $6AB1 DEFB $00,$02,$08 $6AB4 DEFB $54,$20,$68 ; id=84 $6AB7 DEFB $00,$02,$08,$FF,$0D,$3A,$3D,$33,$02,$05,$0B,$50,$34,$40,$0C,$7D,$42 $6AC8 DEFB $45,$4B,$73,$7A,$7D,$3B,$2C,$24,$1C,$14,$21,$E4,$5C $6AD5 DEFB $56,$2F,$30 ; id=86 $6AD8 DEFB $02,$04,$05,$FF,$09,$7A,$7D,$79,$BA,$BD,$F0,$09,$F8,$00,$28,$0E,$10 $6AE9 DEFB $16,$18,$0F,$20,$06,$08,$0D,$35,$38,$39,$3A,$3D,$3E,$3F,$37 $6AF8 DEFB $31,$32,$33,$34,$35,$36,$2A,$2B,$33,$2C,$2D,$23,$24 $6B05 DEFB $57,$12,$58 ; id=87 $6B08 DEFB $00,$02,$08,$FF,$0B,$0B,$0C,$33,$34,$3B,$0A,$0D,$32,$35,$80,$1C $6B18 DEFB $58,$2C,$58 ; id=88 $6B1B DEFB $00,$02,$08,$FF,$0F,$12,$13,$14,$15,$1A,$1B,$1C,$1D,$0F,$22,$23 $6B2B DEFB $24,$25,$2A,$2B,$2C,$2D,$00,$30,$A7,$12,$13,$14,$15,$1A $6B39 DEFB $1B,$1C,$1D,$A7,$22,$23,$24,$25,$2A,$2B,$2C,$2D $6B45 DEFB $59,$1C,$30 ; id=89 $6B48 DEFB $0B,$0D,$04,$05,$FF,$0B,$C3,$C4,$07,$46,$08,$85,$3C,$1C,$1B,$1D $6B58 DEFB $24,$14,$32,$5C,$9C,$DC,$00,$30,$30,$1C $6B62 DEFB $5B,$19,$68 ; id=91 $6B65 DEFB $00,$02,$08,$FF,$43,$12,$13,$14,$15,$53,$2A,$2B,$2C,$2D,$3F $6B74 DEFB $1A,$1B,$1C,$1D,$22,$23,$24,$25 $6B7C DEFB $5E,$08,$60 ; id=94 $6B7F DEFB $00,$02,$08,$FF,$E8,$24 $6B85 DEFB $61,$29,$30 ; id=97 $6B88 DEFB $01,$0B,$0D,$04,$05,$FF,$0F,$C3,$C4,$1A,$5A,$9A,$DA,$16,$56,$09 $6B98 DEFB $96,$D6,$11,$36,$B6,$19,$76,$F6,$BA,$06,$07,$0F,$00,$30,$08,$36 $6BA8 DEFB $68,$1A,$70,$16,$79,$56,$5A $6BAF DEFB $62,$29,$18 ; id=98 $6BB2 DEFB $00,$03,$06,$07,$FF,$B2,$3D,$3E,$3F,$0F,$23,$24,$25,$1B,$1D,$13 $6BC2 DEFB $14,$15,$0A,$9C,$DC,$09,$BF,$63,$64,$65,$5B,$5D,$53,$54,$55 $6BD1 DEFB $10,$49,$18,$89,$00,$30,$C8,$1C $6BD9 DEFB $64,$2B,$20 ; id=100 $6BDC DEFB $00,$01,$02,$04,$07,$FF,$0F,$30,$28,$68,$A8,$20,$60,$A0,$E0,$0C,$90 $6BED DEFB $D1,$D9,$C9,$98,$32,$80,$C0,$88,$39,$18,$08,$00,$30,$0D,$20 $6BFC DEFB $58,$48,$19,$11,$09,$32,$00,$40,$50 $6C05 DEFB $65,$26,$28 ; id=101 $6C08 DEFB $00,$03,$06,$07,$FF,$A9,$7A,$72,$B1,$68,$69,$0F,$02,$41,$80,$C8,$2F $6C19 DEFB $77,$BF,$FE,$0F,$28,$29,$2A,$32,$3A,$70,$71,$78,$0B,$79 $6C27 DEFB $B0,$B1,$B9,$D8,$B8 $6C2C DEFB $67,$12,$70 ; id=103 $6C2F DEFB $00,$02,$08,$FF,$0B,$2A,$2D,$12,$15,$BB,$6A,$6D,$52,$55,$88,$62 $6C3F DEFB $68,$05,$70 ; id=104 $6C42 DEFB $00,$02,$08 $6C45 DEFB $6A,$31,$28 ; id=106 $6C48 DEFB $00,$01,$04,$07,$FF,$0F,$19,$59,$12,$52,$09,$49,$10,$50,$09,$11,$51 $6C59 DEFB $F0,$0E,$F8,$00,$37,$3A,$32,$39,$31,$2B,$2C,$23,$24,$35,$3D $6C68 DEFB $35,$3E,$36,$2D,$2A,$28,$91,$08,$90,$10,$99,$18,$92,$20 $6C76 DEFB $89 $6C77 DEFB $6B,$2B,$20 ; id=107 $6C7A DEFB $00,$02,$03,$06,$07,$FF,$0F,$3F,$7F,$BF,$FF,$3A,$32,$33,$34,$09,$35 $6C8B DEFB $3D,$7D,$7A,$72,$73,$74,$75,$7D,$F0,$07,$10,$47,$F8,$00,$28 $6C9A DEFB $09,$08,$08,$10,$11,$18,$0A,$20,$01 $6CA3 DEFB $6D,$06,$18 ; id=109 $6CA6 DEFB $00,$01,$04,$07 $6CAA DEFB $6E,$2E,$30 ; id=110 $6CAD DEFB $02,$03,$05,$06,$FF,$AB,$00,$10,$28,$38,$0D,$15,$55,$14,$54,$94,$D4 $6CBE DEFB $08,$FC,$33,$B4,$AC,$A4,$9C,$BD,$3D,$3E,$3B,$3A,$39,$3F $6CCC DEFB $BF,$35,$2D,$25,$1D,$33,$2B,$23,$1B,$00,$30,$C8,$3C $6CD9 DEFB $72,$2C,$28 ; id=114 $6CDC DEFB $00,$02,$04,$07,$FF,$E1,$27,$18,$F8,$00,$37,$08,$09,$0A,$10,$11,$12,$1B $6CEE DEFB $1C,$37,$0D,$0E,$0F,$15,$16,$17,$23,$24,$37,$28,$29,$2A $6CFC DEFB $30,$31,$32,$2D,$2E,$33,$2F,$35,$36,$37 $6D06 DEFB $74,$34,$18 ; id=116 $6D09 DEFB $01,$02,$04,$05,$FF,$0F,$38,$30,$28,$29,$2A,$32,$33,$34,$0F,$2C $6D19 DEFB $24,$1C,$25,$1D,$26,$1E,$2E,$0A,$16,$2F,$17,$F0,$78,$F8 $6D27 DEFB $00,$37,$6F,$57,$6E,$56,$66,$5E,$65,$5D,$28,$09,$08,$08,$10,$11 $6D37 DEFB $18,$0A,$20,$01 $6D3B DEFB $75,$28,$30 ; id=117 $6D3E DEFB $01,$02,$03,$05,$06,$FF,$0F,$2B,$6B,$AB,$EB,$2C,$6C,$AC,$EC,$0F,$22 $6D4F DEFB $62,$A2,$25,$65,$A5,$1B,$5B,$09,$1C,$5C,$31,$A3,$A4,$39 $6D5D DEFB $23,$24,$00,$30,$09,$2B,$2C $6D64 DEFB $76,$22,$A0 ; id=118 $6D67 DEFB $01,$03,$09,$FF,$53,$6A,$6B,$6C,$6D,$43,$52,$53,$54,$55,$3F $6D76 DEFB $2A,$2B,$2C,$2D,$22,$23,$24,$25,$3F,$1A,$1B,$1C,$1D,$12 $6D84 DEFB $13,$14,$15 $6D87 DEFB $77,$2E,$28 ; id=119 $6D8A DEFB $00,$01,$02,$03,$06,$07,$FF,$0F,$16,$0D,$0A,$11,$29,$32,$35,$2E,$0F,$3F $6D9C DEFB $38,$00,$07,$23,$24,$1B,$1C,$3B,$7F,$78,$47,$40,$7F,$72,$69 $6DAB DEFB $51,$4A,$4D,$56,$6E,$75,$7B,$63,$64,$5B,$5C $6DB6 DEFB $78,$1C,$28 ; id=120 $6DB9 DEFB $00,$01,$02,$03,$06,$07,$FF,$0F,$00,$40,$38,$78,$3F,$7F,$07,$47,$0B,$23 $6DCB DEFB $24,$1B,$1C,$79,$80,$BF,$80,$5C $6DD3 DEFB $79,$05,$A0 ; id=121 $6DD6 DEFB $01,$03,$09 $6DD9 DEFB $7A,$21,$30 ; id=122 $6DDC DEFB $01,$02,$03,$05,$06,$FF,$AA,$00,$08,$10,$B4,$3B,$3C,$3D,$3E,$3F,$0D,$24 $6DEE DEFB $14,$1B,$1C,$1D,$DC,$10,$5C,$18,$9C,$00,$30,$C0,$1C $6DFB DEFB $7B,$1C,$18 ; id=123 $6DFE DEFB $02,$03,$05,$06,$FF,$0E,$0F,$4F,$27,$67,$A7,$16,$1E,$0B,$5E,$56 $6E0E DEFB $9E,$96,$32,$5F,$57,$8F,$98,$DF,$B8,$0E $6E18 DEFB $7D,$1E,$28 ; id=125 $6E1B DEFB $00,$02,$04,$07,$FF,$7F,$00,$11,$19,$21,$02,$1A,$32,$3A,$7F,$2B,$1B $6E2C DEFB $14,$2C,$3D,$25,$15,$0D,$7B,$05,$36,$26,$17 $6E37 DEFB $82,$22,$20 ; id=130 $6E3A DEFB $0A,$0B,$0C,$0D,$04,$05,$FF,$0F,$C3,$C4,$EF,$E7,$DF,$FE,$FB,$F8 $6E4A DEFB $09,$31,$D0,$29,$FC,$C0,$30,$D8,$98,$40,$18,$80,$00,$30,$08 $6E59 DEFB $3B $6E5A DEFB $83,$07,$30 ; id=131 $6E5D DEFB $00,$01,$03,$06,$07 $6E62 DEFB $84,$1D,$28 ; id=132 $6E65 DEFB $00,$01,$03,$06,$07,$FF,$AA,$00,$08,$10,$0E,$1C,$5C,$9C,$24,$14,$1B,$1D $6E77 DEFB $D0,$DC,$00,$30,$A3,$E4,$DB,$DD,$D4 $6E80 DEFB $85,$05,$98 ; id=133 $6E83 DEFB $01,$03,$09 $6E86 DEFB $86,$1F,$B0 ; id=134 $6E89 DEFB $01,$03,$09,$FF,$0D,$2C,$6C,$AC,$14,$54,$94,$7F,$2D,$25,$1D,$15 $6E99 DEFB $2B,$23,$1B,$13,$79,$EC,$D4,$39,$24,$1C,$21,$DC,$E4 $6EA6 DEFB $87,$2D,$20 ; id=135 $6EA9 DEFB $00,$01,$02,$03,$06,$07,$FF,$0F,$33,$34,$26,$1E,$0B,$0C,$21,$19,$37 $6EBA DEFB $2B,$6B,$2C,$6C,$25,$65,$1D,$5D,$37,$13,$53,$14,$54,$22 $6EC8 DEFB $62,$1A,$5A,$33,$A3,$A4,$9B,$9C,$3A,$1B,$1C,$24 $6ED4 DEFB $88,$20,$20 ; id=136 $6ED7 DEFB $00,$01,$02,$03,$06,$07,$FF,$3F,$3A,$32,$2A,$29,$28,$10,$11,$12,$3F $6EE8 DEFB $0A,$02,$05,$0D,$15,$16,$17,$2F,$3B,$2E,$2D,$35,$3D $6EF5 DEFB $89,$08,$B0 ; id=137 $6EF8 DEFB $01,$03,$09,$FF,$88,$5A $6EFE DEFB $8A,$11,$98 ; id=138 $6F01 DEFB $01,$03,$09,$FF,$3F,$2A,$22,$1A,$12,$2D,$25,$1D,$15,$88,$6B $6F10 DEFB $8B,$24,$28 ; id=139 $6F13 DEFB $00,$01,$03,$06,$07,$FF,$F0,$0E,$F8,$00,$28,$09,$08,$08,$10,$11,$18,$0A,$20 $6F26 DEFB $01,$37,$3A,$7A,$32,$72,$2B,$6B,$2C,$6C,$33,$35,$75,$3D $6F34 DEFB $7D $6F35 DEFB $8C,$21,$30 ; id=140 $6F38 DEFB $00,$01,$03,$06,$07,$FF,$AA,$00,$08,$10,$B2,$3D,$3E,$3F,$0B,$0E,$4E,$8E $6F4A DEFB $CE,$10,$0A,$18,$4A,$00,$30,$0A,$0E,$0F,$06,$D8,$4E $6F57 DEFB $8D,$2A,$20 ; id=141 $6F5A DEFB $02,$03,$05,$06,$FF,$AA,$10,$08,$00,$0F,$38,$39,$79,$3A,$7A,$BA,$7F $6F6B DEFB $17,$0C,$57,$97,$0F,$4F,$07,$BF,$3B,$3C,$3D,$35,$2D,$36,$3E $6F7A DEFB $2E,$BB,$37,$2F,$27,$1F,$D0,$BF $6F82 DEFB $93,$29,$18 ; id=147 $6F85 DEFB $0A,$0B,$0C,$0D,$04,$05,$FF,$0F,$03,$43,$83,$C3,$04,$44,$84,$C4,$0F $6F96 DEFB $1F,$5F,$9F,$DF,$27,$67,$A7,$E7,$60,$23,$09,$CB,$E6,$3F $6FA4 DEFB $2A,$2B,$2C,$1A,$1B,$1C,$22,$24 $6FAC DEFB $94,$21,$20 ; id=148 $6FAF DEFB $00,$02,$03,$06,$07,$FF,$AD,$00,$08,$10,$28,$30,$38,$0C,$8E,$16,$0D,$0F $6FC1 DEFB $06,$33,$56,$4F,$46,$4D,$BB,$15,$17,$05,$07,$D0,$CE $6FCE DEFB $95,$15,$30 ; id=149 $6FD1 DEFB $00,$01,$04,$07,$FF,$09,$1A,$5A,$28,$99,$32,$92,$9B,$A2,$3B,$19 $6FE1 DEFB $1B,$22,$12 $6FE4 DEFB $96,$2F,$18 ; id=150 $6FE7 DEFB $00,$03,$06,$07,$FF,$AA,$28,$30,$38,$B2,$3D,$3E,$3F,$0F,$88,$40 $6FF7 DEFB $00,$05,$45,$CD,$D6,$CE,$0B,$0E,$4E,$17,$57,$4B,$C9,$CA,$CB $7006 DEFB $CC,$BC,$85,$8E,$97,$86,$8F,$C8,$07,$00,$30,$11,$0D,$16 $7014 DEFB $97,$11,$58 ; id=151 $7017 DEFB $00,$02,$08,$FF,$F8,$00,$3F,$12,$13,$14,$15,$2A,$2B,$2C,$2D $7026 DEFB $98,$18,$58 ; id=152 $7029 DEFB $00,$02,$08,$FF,$0F,$1D,$13,$14,$15,$22,$2A,$2B,$2C,$7F,$5D,$55 $7039 DEFB $54,$53,$62,$6A,$6B,$6C $703F DEFB $99,$27,$18 ; id=153 $7042 DEFB $00,$01,$04,$07,$FF,$AF,$00,$08,$10,$18,$20,$28,$30,$38,$09,$17,$57 $7053 DEFB $B8,$97,$11,$15,$95,$19,$55,$D5,$00,$30,$10,$15,$18,$55 $7061 DEFB $0A,$95,$96,$97,$C0,$D7 $7067 DEFB $9A,$1B,$30 ; id=154 $706A DEFB $00,$03,$06,$07,$FF,$0F,$3F,$7F,$BF,$FF,$2D,$6D,$AD,$24,$09,$64,$1B $707B DEFB $32,$F6,$F7,$FE,$BA,$3E,$36,$37 $7083 DEFB $9B,$07,$20 ; id=155 $7086 DEFB $00,$01,$02,$04,$07 $708B DEFB $9C,$1D,$18 ; id=16 $708E DEFB $02,$03,$05,$06,$FF,$0D,$3E,$3F,$FE,$37,$77,$B7,$3A,$3C,$35,$36 $709E DEFB $13,$23,$24,$1B,$1C,$28,$FD,$30,$FF,$80,$7E $70A9 DEFB $A4,$2C,$30 ; id=164 $70AC DEFB $01,$0B,$0D,$04,$05,$FF,$29,$6B,$6C,$0F,$13,$14,$0B,$0C,$53,$54 $70BC DEFB $4B,$4C,$0B,$8B,$8C,$C3,$C4,$37,$23,$63,$24,$64,$1B,$5B $70CA DEFB $1C,$5C,$33,$9B,$DB,$9C,$DC,$7B,$93,$94,$CB,$CC $70D6 DEFB $A5,$2D,$18 ; id=165 $70D9 DEFB $00,$01,$02,$03,$06,$07,$FF,$A9,$00,$08,$B1,$3E,$3F,$0F,$12,$52,$92,$D2 $70EB DEFB $15,$55,$2D,$6D,$0C,$AD,$2A,$6A,$AA,$EA,$BF,$22,$1A,$2B $70F9 DEFB $2C,$25,$1D,$13,$14,$00,$30,$08,$12,$C0,$52 $7104 DEFB $A6,$11,$28 ; id=166 $7107 DEFB $0B,$0D,$03,$05,$06,$FF,$09,$C4,$C3,$62,$07,$06,$85,$90,$87 $7116 DEFB $A7,$1B,$70 ; id=167 $7119 DEFB $00,$02,$08,$FF,$0D,$0A,$0B,$0C,$0D,$3A,$3D,$3F,$1A,$1B,$1C,$1D $7129 DEFB $5B,$5C,$23,$24,$31,$5A,$5D,$80,$25 $7132 DEFB $A8,$05,$70 ; id=168 $7135 DEFB $00,$02,$08 $7138 DEFB $A9,$19,$28 ; id=169 $713B DEFB $01,$02,$04,$05,$FF,$E0,$2A,$F8,$00,$3F,$32,$33,$34,$2D,$25,$1D $714B DEFB $14,$13,$3B,$12,$19,$21,$29 $7152 DEFB $AA,$24,$18 ; id=170 $7155 DEFB $00,$01,$02,$03,$06,$07,$FF,$B5,$3F,$3E,$3D,$3A,$39,$38,$0F,$1B,$5B $7166 DEFB $1D,$5D,$24,$64,$14,$54,$08,$1C,$33,$A4,$9B,$9D,$94,$10 $7174 DEFB $DC,$C8,$5C $7177 DEFB $AB,$21,$30 ; id=171 $717A DEFB $02,$03,$05,$06,$FF,$0F,$BE,$B7,$AF,$A7,$F6,$EE,$E6,$1E,$0C,$16 $718A DEFB $0E,$0F,$27,$67,$7B,$5E,$56,$4E,$4F,$28,$FF,$00,$30,$88,$37 $7199 DEFB $B5,$2D,$28 ; id=181 $719C DEFB $0A,$02,$0C,$04,$05,$FF,$0F,$F8,$E8,$FA,$FF,$E7,$DF,$EF,$FD,$09 $71AC DEFB $FA,$FC,$2C,$00,$48,$90,$D8,$FB,$34,$E0,$F0,$F9,$FE,$F7 $71BA DEFB $BC,$38,$30,$39,$3F,$37,$00,$30,$BB,$28,$3A,$3D,$2F $71C7 DEFB $B6,$1C,$20 ; id=182 $71CA DEFB $00,$03,$06,$07,$FF,$AA,$10,$08,$00,$B2,$3D,$3E,$3F,$3D,$0F,$4F,$8F $71DB DEFB $06,$46,$86,$C0,$07,$10,$31,$30,$C7 $71E4 DEFB $B7,$12,$68 ; id=183 $71E7 DEFB $00,$02,$08,$FF,$09,$1B,$1C,$F8,$00,$3D,$13,$14,$1A,$1D,$23,$24 $71F7 DEFB $B8,$21,$68 ; id=184 $71FA DEFB $00,$02,$08,$FF,$37,$05,$4C,$93,$DA,$E2,$AB,$74,$3D,$7F,$2A,$2C $720A DEFB $23,$25,$1A,$1C,$13,$15,$7F,$2B,$2D,$22,$24,$1B,$1D,$12 $7218 DEFB $14 $7219 DEFB $B9,$1B,$20 ; id=185 $721C DEFB $00,$0A,$0C,$04,$07,$FF,$0B,$E7,$DF,$F8,$FA,$29,$90,$FF,$20,$F0 $722C DEFB $39,$08,$30,$00,$30,$08,$3D,$28,$20 $7235 DEFB $BA,$27,$28 ; id=186 $7238 DEFB $02,$03,$05,$06,$FF,$AD,$00,$08,$10,$28,$30,$38,$0F,$BF,$BE,$7D,$3C $7249 DEFB $C7,$47,$87,$07,$BB,$B7,$AF,$A7,$9F,$10,$F7,$00,$30,$10,$77 $7258 DEFB $19,$37,$B7,$D8,$07 $725D DEFB $C6,$2A,$18 ; id=198 $7260 DEFB $00,$02,$04,$07,$FF,$0F,$18,$58,$98,$19,$59,$1A,$5A,$9A,$0F,$1D $7270 DEFB $5D,$9D,$1E,$5E,$1F,$5F,$9F,$0B,$32,$35,$0A,$0D,$21,$DB $727E DEFB $5C,$BF,$D8,$99,$DA,$1B,$1C,$DD,$9E,$DF $7288 DEFB $C7,$1B,$30 ; id=199 $728B DEFB $00,$0B,$0D,$04,$07,$FF,$0B,$C3,$C4,$D0,$E8,$3E,$00,$28,$68,$A8 $729B DEFB $29,$69,$2A,$34,$A9,$6A,$2B,$C0,$80 $72A4 DEFB $C8,$1C,$30 ; id=200 $72A7 DEFB $00,$02,$04,$07,$FF,$0D,$3F,$3D,$35,$2D,$2E,$2F,$10,$31,$18,$71 $72B7 DEFB $3A,$3E,$36,$37,$BC,$7D,$75,$6D,$6E,$6F $72C1 DEFB $C9,$26,$18 ; id=201 $72C4 DEFB $00,$0B,$0D,$04,$07,$FF,$09,$C3,$C4,$47,$E3,$E4,$9B,$9C,$A3,$A4 $72D4 DEFB $DB,$DC,$47,$2B,$6B,$2C,$6C,$25,$65,$1D,$5D,$47,$13,$53 $72E2 DEFB $14,$54,$22,$62,$1A,$5A $72E8 DEFB $D6,$21,$20 ; id=214 $72EB DEFB $01,$02,$04,$05,$FF,$AD,$28,$20,$18,$10,$08,$00,$B5,$3A,$3B,$3C,$3D $72FC DEFB $3E,$3F,$0A,$39,$31,$30,$60,$F8,$C8,$38,$00,$30,$78,$38 $730A DEFB $D7,$1D,$28 ; id=215 $730D DEFB $00,$02,$03,$06,$07,$FF,$7F,$3D,$35,$2D,$25,$1D,$15,$0D,$05,$7F,$3A $731E DEFB $32,$2A,$29,$28,$10,$11,$12,$79,$0A,$02 $7328 DEFB $D8,$11,$28 ; id=216 $732B DEFB $00,$01,$02,$04,$07,$FF,$0B,$23,$24,$1B,$1C,$E8,$63,$E0,$15 $733A DEFB $D9,$27,$20 ; id=217 $733D DEFB $02,$03,$05,$06,$FF,$F0,$1B,$F8,$00,$28,$09,$08,$08,$10,$11,$18,$0A,$20 $734F DEFB $01,$37,$3B,$3C,$3D,$3E,$34,$35,$36,$37,$37,$2C,$2D,$2E $735D DEFB $2F,$25,$26,$27,$1F $7362 DEFB $E7,$1F,$70 ; id=231 $7365 DEFB $00,$02,$08,$FF,$0F,$1A,$1B,$1C,$1D,$5A,$5B,$5C,$5D,$09,$2B,$2C $7375 DEFB $7B,$9A,$9B,$9C,$9D,$21,$CC,$0B,$00,$30,$39,$6B,$6C $7382 DEFB $E8,$05,$70 ; id=232 $7385 DEFB $00,$02,$08 $7388 DEFB $F7,$1F,$18 ; id=247 $738B DEFB $0A,$0B,$0C,$0D,$04,$05,$FF,$0F,$C3,$C4,$85,$46,$07,$DF,$E7,$F8 $739B DEFB $41,$EF,$EE,$70,$F3,$00,$30,$30,$28,$28,$18,$48,$40 $73A8 DEFB $F8,$1F,$18 ; id=248 $73AB DEFB $02,$03,$05,$06,$FF,$AD,$38,$30,$28,$10,$08,$00,$09,$36,$76,$31,$3D $73BC DEFB $2F,$D8,$B6,$BD,$3C,$27,$2C,$25,$26,$35,$88,$6D ; Data block at 73C8 @label=block_type_tbl b$73C8 DEFW $0000 $73CA DEFW $7418 ; block $73CC DEFW $741E ; rhombus block fat bottom $73CE DEFW $7424 ; rhombus block fat top $73D0 DEFW $742A ; block moving up and down $73D2 DEFW $7430 ; block fall on contact $73D4 DEFW $7436 ; block_collapse $73D6 DEFW $743C ; broken egg - killer $73D8 DEFW $7442 $73DA DEFW $7448 $73DC DEFW $744E $73DE DEFW $7454 $73E0 DEFW $745A $73E2 DEFW $7460 $73E4 DEFW $7466 $73E6 DEFW $746C $73E8 DEFW $7472 $73EA DEFW $748E $73EC DEFW $7478 $73EE DEFW $7483 $73F0 DEFW $7499 $73F2 DEFW $749F $73F4 DEFW $74A5 $73F6 DEFW $74AB $73F8 DEFW $74B1 $73FA DEFW $74BC $73FC DEFW $74C7 $73FE DEFW $74D2 $7400 DEFW $74DD $7402 DEFW $74E3 $7404 DEFW $74E9 $7406 DEFW $0000 $7408 DEFW $0000 $740A DEFW $74EF $740C DEFW $74F5 $740E DEFW $74FB $7410 DEFW $7501 $7412 DEFW $7507 $7414 DEFW $750D $7416 DEFW $7513 ; Data block at 7418 @label=block b$7418 DEFB $1E,$08,$08,$0C,$10,$00 ; Data block at 741E @label=rhombus_fat_btm b$741E DEFB $1C,$07,$07,$0C,$14,$00 ; Data block at 7424 @label=rhombus_fat_top b$7424 DEFB $1D,$07,$07,$0C,$14,$00 ; Data block at 742A @label=block_UD b$742A DEFB $1F,$08,$08,$0C,$14,$00 ; Data block at 7430 @label=block_fall b$7430 DEFB $2C,$08,$08,$0C,$10,$00 ; Data block at 7436 @label=block_collapse b$7436 DEFB $2D,$08,$08,$0C,$10,$00 ; Data block at 743C @label=broken_egg b$743C DEFB $2E,$08,$08,$0C,$10,$00 ; Data block at 7442 @label=block_slide_N b$7442 DEFB $44,$08,$08,$0C,$10,$00 ; Data block at 7448 @label=block_slide_E b$7448 DEFB $45,$08,$08,$0C,$10,$00 ; Data block at 744E @label=block_slide_S b$744E DEFB $46,$08,$08,$0C,$10,$00 ; Data block at 7454 @label=block_slide_W b$7454 DEFB $47,$08,$08,$0C,$10,$00 ; Data block at 745A @label=block_plyr_UD b$745A DEFB $2F,$08,$08,$0C,$14,$00 ; Data block at 7460 @label=block_move_EW b$7460 DEFB $42,$08,$08,$0C,$10,$00 ; Data block at 7466 @label=block_move_NS b$7466 DEFB $43,$08,$08,$0C,$10,$00 ; Data block at 746C @label=pyramid b$746C DEFB $48,$08,$08,$0C,$10,$00 ; Data block at 7472 @label=stars b$7472 DEFB $4C,$08,$08,$0C,$10,$00 ; Data block at 7478 @label=mouse_move_EW b$7478 DEFB $56,$07,$07,$0C,$10,$0B,$07,$07,$0C,$10,$00 ; Data block at 7483 @label=mouse_move_NS b$7483 DEFB $57,$07,$07,$0C,$50,$0B,$07,$07,$0C,$50,$00 ; Data block at 748E @label=mouse_move_circuit b$748E DEFB $5E,$07,$07,$0C,$10,$0B,$07,$07,$0C,$10,$00 ; Data block at 7499 @label=broken_egg_top b$7499 DEFB $49,$08,$08,$0C,$14,$00 ; Data block at 749F @label=cryonaught_look_E b$749F DEFB $4A,$08,$08,$18,$10,$00 ; Data block at 74A5 @label=cryonaught_look_S b$74A5 DEFB $4A,$08,$08,$18,$50,$00 ; Data block at 74AB @label=tubes b$74AB DEFB $4B,$08,$08,$0C,$14,$00 ; Data block at 74B1 @label=obj_dropoff_cylinder b$74B1 DEFB $70,$08,$08,$0C,$10,$6C,$08,$08,$0C,$12,$00 ; Data block at 74BC @label=obj_dropoff_square b$74BC DEFB $71,$08,$08,$0C,$10,$6D,$08,$08,$0C,$12,$00 ; Data block at 74C7 @label=obj_dropoff_pyramid b$74C7 DEFB $72,$08,$08,$0C,$10,$6E,$08,$08,$0C,$12,$00 ; Data block at 74D2 @label=obj_dropoff_semisphere b$74D2 DEFB $73,$08,$08,$0C,$10,$6F,$08,$08,$0C,$12,$00 ; Data block at 74DD @label=clockwork_mouse b$74DD DEFB $74,$07,$07,$0C,$10,$00 ; Data block at 74E3 @label=cylinder b$74E3 DEFB $78,$06,$06,$0C,$10,$00 ; Data block at 74E9 @label=remote_ctrl_robot b$74E9 DEFB $7C,$07,$07,$0C,$10,$00 ; Data block at 74EF @label=remote_ctrl_arrow_W b$74EF DEFB $7A,$08,$08,$0C,$10,$00 ; Data block at 74F5 @label=remote_ctrl_arrow_N b$74F5 DEFB $7A,$08,$08,$0C,$50,$00 ; Data block at 74FB @label=remote_ctrl_arrow_E b$74FB DEFB $7B,$08,$08,$0C,$10,$00 ; Data block at 7501 @label=remote_ctrl_arrow_S b$7501 DEFB $7B,$08,$08,$0C,$50,$00 ; Data block at 7507 @label=remote_ctrl_block b$7507 DEFB $80,$08,$08,$0C,$10,$00 ; Data block at 750D @label=spikey_dome b$750D DEFB $81,$07,$07,$0C,$14,$00 ; Data block at 7513 @label=land_mine b$7513 DEFB $82,$08,$08,$0C,$10,$00 ; Data block at 7519 @label=background_type_tbl b$7519 DEFW $7535 $751B DEFW $7546 $751D DEFW $7579 $751F DEFW $75AC $7521 DEFW $75BD $7523 DEFW $75EE $7525 DEFW $761F $7527 DEFW $7640 $7529 DEFW $7661 $752B DEFW $76A2 $752D DEFW $7557 $752F DEFW $758A $7531 DEFW $7568 $7533 DEFW $759B ; Data block at 7535 @label=door_N b$7535 DEFB $02,$8D,$C5,$40,$03,$06,$30,$50 $753D DEFB $03,$73,$C5,$40,$03,$06,$30,$50 $7545 DEFB $00 ; Data block at 7546 @label=door_E b$7546 DEFB $02,$C5,$73,$40,$06,$03,$30,$10 $754E DEFB $03,$C5,$8D,$40,$06,$03,$30,$10 $7556 DEFB $00 ; Data block at 7557 @label=high_door_E b$7557 DEFB $02,$C5,$73,$70,$06,$03,$30,$10 $755F DEFB $03,$C5,$8D,$70,$06,$03,$30,$10 $7567 DEFB $00 ; Data block at 7568 @label=high_door_platform_E b$7568 DEFB $1E,$C8,$78,$64,$08,$08,$0C,$10 $7570 DEFB $1E,$C8,$88,$64,$08,$08,$0C,$10 $7578 DEFB $00 ; Data block at 7579 @label=door_S b$7579 DEFB $02,$8D,$3B,$40,$03,$06,$30,$50 $7581 DEFB $03,$73,$3B,$40,$03,$06,$30,$50 $7589 DEFB $00 ; Data block at 758A @label=high_door_S b$758A DEFB $02,$8D,$3B,$70,$03,$06,$30,$50 $7592 DEFB $03,$73,$3B,$70,$03,$06,$30,$50 $759A DEFB $00 ; Data block at 759B @label=high_door_platform_S b$759B DEFB $1E,$78,$38,$64,$08,$08,$0C,$10 $75A3 DEFB $1E,$88,$38,$64,$08,$08,$0C,$10 $75AB DEFB $00 ; Data block at 75AC @label=door_W b$75AC DEFB $02,$3B,$73,$40,$06,$03,$30,$10 $75B4 DEFB $03,$3B,$8D,$40,$06,$03,$30,$10 $75BC DEFB $00 ; Data block at 75BD @label=long_full_wall_W b$75BD DEFB $0E,$40,$44,$40,$00,$04,$30,$50 $75C5 DEFB $0D,$40,$54,$40,$00,$0C,$30,$50 $75CD DEFB $0D,$40,$6C,$40,$00,$0C,$30,$50 $75D5 DEFB $0D,$40,$84,$40,$00,$0C,$30,$50 $75DD DEFB $0D,$40,$9C,$40,$00,$0C,$30,$50 $75E5 DEFB $0D,$40,$B4,$40,$00,$0C,$30,$50 $75ED DEFB $00 ; Data block at 75EE @label=long_full_wall_N b$75EE DEFB $0D,$4C,$C0,$40,$0C,$00,$30,$10 $75F6 DEFB $0D,$64,$C0,$40,$0C,$00,$30,$10 $75FE DEFB $0D,$7C,$C0,$40,$0C,$00,$30,$10 $7606 DEFB $0D,$94,$C0,$40,$0C,$00,$30,$10 $760E DEFB $0D,$AC,$C0,$40,$0C,$00,$30,$10 $7616 DEFB $0E,$BC,$C0,$40,$04,$00,$30,$10 $761E DEFB $00 ; Data block at 761F @label=long_with_opening_W b$761F DEFB $0D,$40,$4C,$40,$00,$0C,$30,$50 $7627 DEFB $0D,$40,$64,$40,$00,$0C,$30,$50 $762F DEFB $0D,$40,$9C,$40,$00,$0C,$30,$50 $7637 DEFB $0D,$40,$B4,$40,$00,$0C,$30,$50 $763F DEFB $00 ; Data block at 7640 @label=long_with_opening_N b$7640 DEFB $0D,$4C,$C0,$40,$0C,$00,$30,$10 $7648 DEFB $0D,$64,$C0,$40,$0C,$00,$30,$10 $7650 DEFB $0D,$9C,$C0,$40,$0C,$00,$30,$10 $7658 DEFB $0D,$B4,$C0,$40,$0C,$00,$30,$10 $7660 DEFB $00 ; Data block at 7661 @label=thin_room_long_W b$7661 DEFB $0E,$60,$44,$40,$00,$04,$30,$50 $7669 DEFB $0D,$60,$54,$40,$00,$0C,$30,$50 $7671 DEFB $0D,$60,$6C,$40,$00,$0C,$30,$50 $7679 DEFB $0D,$60,$84,$40,$00,$0C,$30,$50 $7681 DEFB $0D,$60,$9C,$40,$00,$0C,$30,$50 $7689 DEFB $0D,$60,$B4,$40,$00,$0C,$30,$50 $7691 DEFB $0F,$68,$C0,$40,$04,$00,$30,$10 $7699 DEFB $0F,$98,$C0,$40,$04,$00,$30,$10 $76A1 DEFB $00 ; Data block at 76A2 @label=thin_room_long_N b$76A2 DEFB $0D,$4C,$A0,$40,$0C,$00,$30,$10 $76AA DEFB $0D,$64,$A0,$40,$0C,$00,$30,$10 $76B2 DEFB $0D,$7C,$A0,$40,$0C,$00,$30,$10 $76BA DEFB $0D,$94,$A0,$40,$0C,$00,$30,$10 $76C2 DEFB $0D,$AC,$A0,$40,$0C,$00,$30,$10 $76CA DEFB $0E,$BC,$A0,$40,$04,$00,$30,$10 $76D2 DEFB $0F,$40,$68,$40,$00,$04,$30,$50 $76DA DEFB $0F,$40,$98,$40,$00,$04,$30,$50 $76E2 DEFB $00 ; Special objects +0 object graphic no (dynamic $60-$67) +1 start X position (0x46-0xba) +2 start Y position ; (0x40-0x70 +/-0x0c) +3 start Z position (0x46-0xba) +4 start screen +5 current X +6 current Y +7 current Z +8 ; current screen @label=special_objs_tbl b$76E3 DEFB $00,$78,$78,$4C,$04,$00,$00,$00,$00 $76EC DEFB $00,$78,$78,$94,$05,$00,$00,$00,$00 $76F5 DEFB $00,$B8,$B8,$64,$0B,$00,$00,$00,$00 $76FE DEFB $00,$78,$88,$7C,$0D,$00,$00,$00,$00 $7707 DEFB $00,$88,$88,$70,$15,$00,$00,$00,$00 $7710 DEFB $00,$98,$78,$88,$1B,$00,$00,$00,$00 $7719 DEFB $00,$88,$78,$58,$1C,$00,$00,$00,$00 $7722 DEFB $00,$80,$78,$70,$20,$00,$00,$00,$00 $772B DEFB $00,$48,$88,$40,$27,$00,$00,$00,$00 $7734 DEFB $00,$B8,$78,$64,$2F,$00,$00,$00,$00 $773D DEFB $00,$48,$B8,$70,$30,$00,$00,$00,$00 $7746 DEFB $00,$68,$A8,$40,$34,$00,$00,$00,$00 $774F DEFB $00,$B8,$58,$4C,$37,$00,$00,$00,$00 $7758 DEFB $00,$B8,$48,$58,$39,$00,$00,$00,$00 $7761 DEFB $00,$78,$88,$94,$3E,$00,$00,$00,$00 $776A DEFB $00,$80,$98,$64,$45,$00,$00,$00,$00 $7773 DEFB $00,$B8,$80,$70,$46,$00,$00,$00,$00 $777C DEFB $00,$80,$B8,$40,$56,$00,$00,$00,$00 $7785 DEFB $00,$80,$80,$4C,$58,$00,$00,$00,$00 $778E DEFB $00,$88,$78,$7C,$59,$00,$00,$00,$00 $7797 DEFB $00,$A8,$A8,$7C,$61,$00,$00,$00,$00 $77A0 DEFB $00,$48,$78,$64,$64,$00,$00,$00,$00 $77A9 DEFB $00,$48,$48,$40,$6A,$00,$00,$00,$00 $77B2 DEFB $00,$B8,$B8,$70,$6B,$00,$00,$00,$00 $77BB DEFB $00,$80,$98,$7C,$75,$00,$00,$00,$00 $77C4 DEFB $00,$B8,$68,$40,$7B,$00,$00,$00,$00 $77CD DEFB $00,$78,$88,$40,$87,$00,$00,$00,$00 $77D6 DEFB $00,$80,$80,$40,$8A,$00,$00,$00,$00 $77DF DEFB $00,$68,$78,$58,$95,$00,$00,$00,$00 $77E8 DEFB $00,$B8,$B8,$70,$9A,$00,$00,$00,$00 $77F1 DEFB $00,$B8,$B8,$4C,$9C,$00,$00,$00,$00 $77FA DEFB $00,$78,$88,$40,$A9,$00,$00,$00,$00 $7803 DEFB $00,$B8,$78,$40,$AB,$00,$00,$00,$00 $780C DEFB $00,$80,$78,$4C,$B7,$00,$00,$00,$00 $7815 DEFB $00,$B8,$B8,$4C,$C8,$00,$00,$00,$00 $781E DEFB $00,$B8,$B8,$40,$D9,$00,$00,$00,$00 ; Data block at 7827 @label=sprite_tbl b$7827 DEFW $792F $7829 DEFW $792F $782B DEFW $8EE7 $782D DEFW $8FE1 $782F DEFW $9327 $7831 DEFW $945B $7833 DEFW $9429 $7835 DEFW $9475 $7837 DEFW $94A7 $7839 DEFW $94E9 $783B DEFW $9463 $783D DEFW $874B $783F DEFW $95CD $7841 DEFW $9103 $7843 DEFW $9FB7 $7845 DEFW $9255 $7847 DEFW $9C7B $7849 DEFW $9D8F $784B DEFW $9EA3 $784D DEFW $9D8F $784F DEFW $993F $7851 DEFW $9A53 $7853 DEFW $9B67 $7855 DEFW $9A53 $7857 DEFW $971F $7859 DEFW $9613 $785B DEFW $982B $785D DEFW $982B $785F DEFW $8AD7 $7861 DEFW $8BC1 $7863 DEFW $8C9B $7865 DEFW $8C9B $7867 DEFW $9D05 $7869 DEFW $9E19 $786B DEFW $9F2D $786D DEFW $9E19 $786F DEFW $99C9 $7871 DEFW $9ADD $7873 DEFW $9BF1 $7875 DEFW $9ADD $7877 DEFW $97A9 $7879 DEFW $969D $787B DEFW $98B5 $787D DEFW $98B5 $787F DEFW $8C9B $7881 DEFW $8C9B $7883 DEFW $8821 $7885 DEFW $8C9B $7887 DEFW $A2C3 $7889 DEFW $A231 $788B DEFW $A2C3 $788D DEFW $A231 $788F DEFW $A19F $7891 DEFW $A113 $7893 DEFW $A093 $7895 DEFW $A019 $7897 DEFW $A019 $7899 DEFW $A093 $789B DEFW $A113 $789D DEFW $A19F $789F DEFW $A231 $78A1 DEFW $A2C3 $78A3 DEFW $A231 $78A5 DEFW $A2C3 $78A7 DEFW $A2C3 $78A9 DEFW $A231 $78AB DEFW $8C9B $78AD DEFW $8C9B $78AF DEFW $8C9B $78B1 DEFW $8C9B $78B3 DEFW $8C9B $78B5 DEFW $8C9B $78B7 DEFW $950B $78B9 DEFW $87AD $78BB DEFW $897D $78BD DEFW $8E1D $78BF DEFW $A2C3 $78C1 DEFW $A231 $78C3 DEFW $A19F $78C5 DEFW $A231 $78C7 DEFW $8571 $78C9 DEFW $84DF $78CB DEFW $845D $78CD DEFW $85B5 $78CF DEFW $86C5 $78D1 DEFW $79AB $78D3 DEFW $8A3F $78D5 DEFW $8D85 $78D7 DEFW $8661 $78D9 DEFW $8693 $78DB DEFW $9613 $78DD DEFW $969D $78DF DEFW $9613 $78E1 DEFW $969D $78E3 DEFW $8A3F $78E5 DEFW $8D85 $78E7 DEFW $A41F $78E9 DEFW $A4B1 $78EB DEFW $A53D $78ED DEFW $A5B1 $78EF DEFW $A41F $78F1 DEFW $A4B1 $78F3 DEFW $A53D $78F5 DEFW $A5B1 $78F7 DEFW $A41F $78F9 DEFW $A4B1 $78FB DEFW $A53D $78FD DEFW $A5B1 $78FF DEFW $A19F $7901 DEFW $A231 $7903 DEFW $A2C3 $7905 DEFW $A231 $7907 DEFW $A355 $7909 DEFW $A355 $790B DEFW $A355 $790D DEFW $A355 $790F DEFW $8117 $7911 DEFW $81B5 $7913 DEFW $8079 $7915 DEFW $8253 $7917 DEFW $82F1 $7919 DEFW $83A7 $791B DEFW $7EA5 $791D DEFW $7F8F $791F DEFW $7C5D $7921 DEFW $7CEF $7923 DEFW $7D81 $7925 DEFW $7E13 $7927 DEFW $8C9B $7929 DEFW $7BC5 $792B DEFW $7B0B $792D DEFW $7931 ; Data block at 792F @label=spr_00 b$792F DEFB $00,$00 ; Data block at 7931 @label=spr_01 b$7931 DEFB $03,$14 $7933 DEFB $03,$00,$FF,$7E,$C0,$00,$0F,$03,$FF $793C DEFB $81,$F0,$C0,$1F,$0C,$FF,$7E,$F8,$30 $7945 DEFB $3F,$13,$FF,$FF,$FC,$C8,$7F,$23,$FF $794E DEFB $FF,$FE,$F4,$7F,$11,$FF,$FF,$FE,$F8 $7957 DEFB $7F,$39,$FF,$FF,$FE,$FC,$3F,$1C,$FF $7960 DEFB $C3,$FC,$F8,$3F,$0F,$FF,$3C,$F8,$F0 $7969 DEFB $0F,$04,$FF,$FF,$F0,$60,$07,$02,$FF $7972 DEFB $FF,$E0,$80,$07,$02,$FF,$FF,$E0,$C0 $797B DEFB $07,$02,$FF,$C3,$E0,$C0,$07,$02,$FF $7984 DEFB $3C,$E0,$C0,$07,$02,$FF,$FF,$E0,$40 $798D DEFB $07,$01,$FF,$BD,$E0,$80,$07,$03,$FF $7996 DEFB $3C,$E0,$C0,$03,$01,$FF,$E7,$C0,$80 $799F DEFB $01,$00,$FF,$E7,$80,$00,$00,$00,$FF $79A8 DEFB $3C,$00,$00 ; Data block at 79AB @label=spr_02 b$79AB DEFB $05,$23 $79AD DEFB $00,$00,$78,$00,$00,$00,$1E,$00,$00 $79B6 DEFB $00,$00,$00,$FC,$78,$00,$00,$3F,$1E $79BF DEFB $00,$00,$00,$00,$FC,$78,$00,$00,$3F $79C8 DEFB $1E,$00,$00,$00,$00,$7E,$3C,$00,$00 $79D1 DEFB $7E,$3C,$00,$00,$00,$00,$3F,$1E,$FF $79DA DEFB $00,$FC,$78,$00,$00,$00,$00,$3F,$11 $79E3 DEFB $FF,$DF,$FF,$88,$00,$00,$00,$00,$3F $79EC DEFB $0F,$FF,$3F,$FC,$F0,$00,$00,$00,$00 $79F5 DEFB $FF,$3E,$FF,$7F,$FF,$FC,$00,$00,$01 $79FE DEFB $00,$FF,$FC,$FF,$FF,$FF,$FF,$80,$00 $7A07 DEFB $03,$01,$FF,$F9,$FF,$FF,$FF,$FF,$C0 $7A10 DEFB $80,$07,$03,$FF,$F3,$FF,$FF,$FF,$FF $7A19 DEFB $E0,$C0,$0F,$07,$FF,$E7,$FF,$FF,$FF $7A22 DEFB $FF,$F0,$E0,$0F,$07,$FF,$C7,$FF,$FF $7A2B DEFB $FF,$FF,$F0,$E0,$1F,$0F,$FF,$87,$FF $7A34 DEFB $FF,$FF,$FF,$F8,$F0,$1F,$0F,$FF,$8F $7A3D DEFB $FF,$FF,$FF,$FF,$F8,$F0,$1F,$0F,$FF $7A46 DEFB $8F,$FF,$FF,$FF,$FF,$F8,$F0,$3F,$1F $7A4F DEFB $FF,$0F,$FF,$FF,$FF,$FF,$FC,$F8,$3F $7A58 DEFB $1F,$FF,$0F,$FF,$FF,$FF,$FF,$FC,$F8 $7A61 DEFB $3F,$1F,$FF,$0F,$FF,$FF,$FF,$FF,$FC $7A6A DEFB $F8,$3F,$1F,$FF,$0C,$FF,$61,$FF,$0F $7A73 DEFB $FC,$F8,$3F,$1F,$FF,$0B,$FF,$33,$FF $7A7C DEFB $3F,$FC,$F8,$3F,$1F,$FF,$0B,$FF,$33 $7A85 DEFB $FF,$3F,$FC,$F8,$3F,$1F,$FF,$0B,$FF $7A8E DEFB $33,$FF,$3F,$FC,$F8,$3F,$1F,$FF,$0B $7A97 DEFB $FF,$33,$FF,$3F,$FC,$F8,$3F,$1F,$FF $7AA0 DEFB $0C,$FF,$61,$FF,$3F,$FC,$F8,$3F,$1F $7AA9 DEFB $FF,$0F,$FF,$FF,$FF,$FF,$FC,$F8,$3F $7AB2 DEFB $1F,$FF,$0F,$FF,$FF,$FF,$FF,$FC,$F8 $7ABB DEFB $3F,$1F,$FF,$0F,$FF,$FF,$FF,$FF,$FC $7AC4 DEFB $F8,$3F,$1F,$FF,$0F,$FF,$FF,$FF,$FF $7ACD DEFB $FC,$F8,$3F,$1F,$FF,$0F,$FF,$FF,$FF $7AD6 DEFB $FF,$FC,$F8,$3F,$1E,$FF,$0F,$FF,$FF $7ADF DEFB $FF,$FF,$FC,$F8,$7F,$3E,$FF,$0F,$FF $7AE8 DEFB $FF,$FF,$FF,$FE,$FC,$7F,$3C,$FF,$1F $7AF1 DEFB $FF,$FF,$FF,$FF,$FE,$FC,$FF,$7F,$FF $7AFA DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FE,$7F,$00 $7B03 DEFB $FF,$00,$FF,$00,$FF,$00,$FE,$00 ; Data block at 7B0B @label=spr_03 b$7B0B DEFB $04,$17 $7B0D DEFB $00,$00,$01,$00,$80,$00,$00,$00,$00 $7B16 DEFB $00,$03,$01,$C0,$80,$00,$00,$01,$00 $7B1F DEFB $03,$01,$C0,$80,$80,$00,$03,$01,$83 $7B28 DEFB $01,$C1,$80,$C0,$80,$03,$01,$CF,$81 $7B31 DEFB $F3,$81,$C0,$80,$03,$01,$FF,$CD,$FF $7B3A DEFB $B3,$C0,$80,$03,$01,$FF,$ED,$FF,$B7 $7B43 DEFB $C0,$80,$3F,$01,$FF,$ED,$FF,$B7,$FC $7B4C DEFB $80,$7F,$3E,$FF,$ED,$FF,$B7,$FE,$7C $7B55 DEFB $7F,$3F,$FF,$6D,$FF,$B6,$FE,$FC,$7F $7B5E DEFB $3F,$FF,$28,$FF,$04,$FE,$FC,$7F,$3F $7B67 DEFB $FF,$47,$FF,$E2,$FE,$FC,$7F,$3F,$FF $7B70 DEFB $3F,$FF,$FC,$FE,$FC,$7F,$3F,$FF,$7F $7B79 DEFB $FF,$FE,$FE,$FC,$3F,$00,$FF,$7F,$FF $7B82 DEFB $FE,$FC,$00,$03,$01,$FF,$BF,$FF,$FD $7B8B DEFB $C0,$80,$03,$01,$FF,$E7,$FF,$E7,$C0 $7B94 DEFB $80,$03,$01,$E7,$C0,$F7,$03,$C0,$80 $7B9D DEFB $03,$01,$C3,$81,$C3,$81,$C0,$80,$03 $7BA6 DEFB $01,$83,$01,$C1,$80,$C0,$80,$01,$00 $7BAF DEFB $03,$01,$C0,$80,$80,$00,$00,$00,$03 $7BB8 DEFB $01,$C0,$80,$00,$00,$00,$00,$01,$00 $7BC1 DEFB $80,$00,$00,$00 ; Data block at 7BC5 @label=spr_04 b$7BC5 DEFB $03,$19 $7BC7 DEFB $00,$00,$7E,$00,$00,$00,$03,$00,$FF $7BD0 DEFB $7E,$C0,$00,$0F,$03,$FF,$FF,$F0,$C0 $7BD9 DEFB $1F,$03,$FF,$FF,$F8,$F0,$3F,$03,$FF $7BE2 DEFB $FF,$FC,$F8,$7F,$23,$FF,$FF,$FE,$FC $7BEB DEFB $FF,$63,$FF,$FF,$FF,$FE,$FF,$71,$FF $7BF4 DEFB $FF,$FF,$FE,$7F,$31,$FF,$FF,$FE,$FC $7BFD DEFB $7F,$38,$FF,$FF,$FE,$FC,$3F,$1C,$FF $7C06 DEFB $E7,$FC,$F8,$1F,$0E,$FF,$5B,$F8,$F0 $7C0F DEFB $0F,$07,$FF,$AD,$F0,$E0,$1F,$09,$FF $7C18 DEFB $AD,$F8,$90,$1F,$0A,$FF,$24,$F8,$70 $7C21 DEFB $3F,$17,$FF,$18,$FC,$B8,$7F,$2E,$7E $7C2A DEFB $3C,$FE,$5C,$FE,$5C,$7E,$18,$7F,$2A $7C33 DEFB $FC,$68,$7E,$24,$3F,$16,$78,$30,$7E $7C3C DEFB $2C,$1E,$0C,$30,$00,$7E,$2C,$0C,$00 $7C45 DEFB $00,$00,$7E,$08,$00,$00,$00,$00,$7E $7C4E DEFB $24,$00,$00,$00,$00,$3C,$18,$00,$00 $7C57 DEFB $00,$00,$18,$00,$00,$00 ; Data block at 7C5D @label=spr_05 b$7C5D DEFB $03,$18 $7C5F DEFB $00,$00,$FF,$00,$00,$00,$07,$00,$FF $7C68 DEFB $FF,$E0,$00,$1F,$07,$FF,$F8,$F8,$E0 $7C71 DEFB $3F,$19,$FF,$F8,$FC,$78,$7F,$31,$FF $7C7A DEFB $F8,$FE,$7C,$FF,$71,$FF,$FF,$FF,$7A $7C83 DEFB $FF,$77,$FF,$00,$FF,$FA,$FF,$7B,$FF $7C8C DEFB $FF,$FF,$1A,$FF,$61,$FF,$FF,$FF,$E6 $7C95 DEFB $FF,$51,$FF,$00,$FF,$FA,$7F,$38,$FF $7C9E DEFB $FF,$FE,$3C,$7F,$38,$FF,$FF,$FE,$DC $7CA7 DEFB $3F,$14,$FF,$FF,$FC,$E8,$1F,$0C,$FF $7CB0 DEFB $7F,$F8,$F0,$1F,$0E,$FF,$7F,$F8,$F0 $7CB9 DEFB $0F,$06,$FF,$3F,$F0,$E0,$0F,$07,$FF $7CC2 DEFB $1F,$F0,$E0,$07,$02,$FF,$FF,$E0,$C0 $7CCB DEFB $07,$03,$FF,$E7,$E0,$C0,$1F,$04,$FF $7CD4 DEFB $7E,$F8,$20,$3C,$18,$7E,$00,$3C,$18 $7CDD DEFB $3C,$18,$00,$00,$3C,$18,$18,$00,$00 $7CE6 DEFB $00,$18,$00,$00,$00,$00,$00,$00,$00 ; Data block at 7CEF @label=spr_06 b$7CEF DEFB $03,$18 $7CF1 DEFB $00,$00,$FF,$00,$00,$00,$07,$00,$FF $7CFA DEFB $FF,$E0,$00,$1F,$07,$FF,$7E,$F8,$E0 $7D03 DEFB $3F,$18,$FF,$7E,$FC,$18,$7F,$38,$FF $7D0C DEFB $7E,$FE,$1C,$FF,$78,$FF,$FF,$FF,$1E $7D15 DEFB $FF,$7F,$FF,$00,$FF,$FE,$FF,$78,$FF $7D1E DEFB $FF,$FF,$1E,$FF,$61,$FF,$FF,$FF,$E6 $7D27 DEFB $FF,$51,$FF,$00,$FF,$FA,$7F,$38,$FF $7D30 DEFB $FF,$FE,$3C,$7F,$38,$FF,$FF,$FE,$DC $7D39 DEFB $3F,$14,$FF,$FF,$FC,$E8,$1F,$0C,$FF $7D42 DEFB $7F,$F8,$F0,$1F,$0E,$FF,$7F,$F8,$F0 $7D4B DEFB $0F,$06,$FF,$3F,$F0,$E0,$0F,$07,$FF $7D54 DEFB $1F,$F0,$E0,$07,$02,$FF,$FF,$E0,$C0 $7D5D DEFB $1F,$03,$FF,$E7,$F8,$C0,$3F,$1C,$FF $7D66 DEFB $7E,$FC,$38,$7E,$3C,$7E,$00,$7E,$3C $7D6F DEFB $7E,$3C,$00,$00,$7E,$3C,$3C,$1C,$00 $7D78 DEFB $00,$3C,$18,$18,$00,$00,$00,$18,$00 ; Data block at 7D81 @label=spr_07 b$7D81 DEFB $03,$18 $7D83 DEFB $00,$00,$FF,$00,$00,$00,$07,$00,$FF $7D8C DEFB $FF,$E0,$00,$1F,$07,$FF,$1F,$F8,$E0 $7D95 DEFB $3F,$1E,$FF,$1F,$FC,$98,$7F,$3E,$FF $7D9E DEFB $1F,$FE,$8C,$FF,$5E,$FF,$FF,$FF,$8E $7DA7 DEFB $FF,$5F,$FF,$00,$FF,$EE,$FF,$58,$FF $7DB0 DEFB $FF,$FF,$1E,$FF,$61,$FF,$FF,$FF,$E6 $7DB9 DEFB $FF,$51,$FF,$00,$FF,$FA,$7F,$38,$FF $7DC2 DEFB $FF,$FE,$3C,$7F,$38,$FF,$FF,$FE,$DC $7DCB DEFB $3F,$14,$FF,$FF,$FC,$E8,$1F,$0C,$FF $7DD4 DEFB $7F,$F8,$F0,$1F,$0E,$FF,$7F,$F8,$F0 $7DDD DEFB $0F,$06,$FF,$3F,$F0,$E0,$0F,$07,$FF $7DE6 DEFB $1F,$F0,$E0,$07,$02,$FF,$FF,$E0,$C0 $7DEF DEFB $1F,$03,$FF,$E7,$F8,$C0,$3F,$1C,$FF $7DF8 DEFB $7E,$FC,$38,$7E,$3C,$7E,$00,$7E,$3C $7E01 DEFB $7E,$3C,$00,$00,$7E,$3C,$3C,$1C,$00 $7E0A DEFB $00,$3C,$38,$18,$00,$00,$00,$18,$00 ; Data block at 7E13 @label=spr_08 b$7E13 DEFB $03,$18 $7E15 DEFB $00,$00,$FF,$00,$00,$00,$07,$00,$FF $7E1E DEFB $FF,$E0,$00,$1F,$07,$FF,$C7,$F8,$E0 $7E27 DEFB $3F,$1F,$FF,$C7,$FC,$F8,$7F,$2F,$FF $7E30 DEFB $C7,$FE,$EC,$FF,$67,$FF,$FF,$FF,$E6 $7E39 DEFB $FF,$67,$FF,$00,$FF,$E6,$FF,$78,$FF $7E42 DEFB $FF,$FF,$1E,$FF,$61,$FF,$FF,$FF,$E6 $7E4B DEFB $FF,$51,$FF,$00,$FF,$FA,$7F,$38,$FF $7E54 DEFB $FF,$FE,$3C,$7F,$38,$FF,$FF,$FE,$DC $7E5D DEFB $3F,$14,$FF,$FF,$FC,$E8,$1F,$0C,$FF $7E66 DEFB $7F,$F8,$F0,$1F,$0E,$FF,$7F,$F8,$F0 $7E6F DEFB $0F,$06,$FF,$3F,$F0,$E0,$0F,$07,$FF $7E78 DEFB $1F,$F0,$E0,$07,$02,$FF,$FF,$E0,$C0 $7E81 DEFB $07,$03,$FF,$E7,$E0,$C0,$1F,$04,$FF $7E8A DEFB $7E,$F8,$20,$3C,$18,$7E,$00,$3C,$18 $7E93 DEFB $3C,$18,$00,$00,$3C,$18,$18,$00,$00 $7E9C DEFB $00,$18,$00,$00,$00,$00,$00,$00,$00 ; Data block at 7EA5 @label=spr_09 b$7EA5 DEFB $04,$1D $7EA7 DEFB $00,$00,$01,$00,$80,$00,$00,$00,$00 $7EB0 DEFB $00,$07,$01,$E0,$80,$00,$00,$00,$00 $7EB9 DEFB $1F,$02,$F8,$60,$00,$00,$00,$00,$7F $7EC2 DEFB $15,$FE,$78,$00,$00,$01,$00,$FF,$2A $7ECB DEFB $FF,$7E,$80,$00,$07,$01,$FF,$55,$FF $7ED4 DEFB $7F,$E0,$80,$1F,$02,$FF,$AA,$FF,$7F $7EDD DEFB $F8,$E0,$7F,$15,$FF,$55,$FF,$7F,$FE $7EE6 DEFB $F8,$FF,$2A,$FF,$AA,$FF,$7F,$FF,$FE $7EEF DEFB $FF,$55,$FF,$55,$FF,$7F,$FF,$FE,$FF $7EF8 DEFB $2A,$FF,$AA,$FF,$7F,$FF,$FE,$FF,$55 $7F01 DEFB $FF,$55,$FF,$FF,$FF,$FE,$FF,$2A,$FF $7F0A DEFB $AA,$FF,$7F,$FF,$FE,$FF,$55,$FF,$51 $7F13 DEFB $FF,$9F,$FF,$FE,$FF,$2A,$FF,$A7,$FF $7F1C DEFB $E7,$FF,$FE,$FF,$55,$FF,$1F,$FF,$F9 $7F25 DEFB $FF,$FE,$FF,$2E,$FF,$7F,$FF,$FE,$FF $7F2E DEFB $7E,$FF,$51,$FF,$E7,$FF,$9F,$FF,$9E $7F37 DEFB $FF,$27,$FF,$E1,$FF,$07,$FF,$E6,$FF $7F40 DEFB $5F,$FF,$E0,$FF,$03,$0F,$FA,$FF,$7F $7F49 DEFB $FF,$E0,$FF,$0F,$FF,$FE,$7F,$1F,$FF $7F52 DEFB $E0,$FF,$1F,$FE,$F8,$1F,$07,$FF,$E0 $7F5B DEFB $FF,$07,$F8,$E0,$07,$01,$FF,$E0,$FF $7F64 DEFB $03,$E0,$80,$01,$00,$FF,$7F,$FF,$FE $7F6D DEFB $80,$00,$00,$00,$7F,$1F,$FE,$F8,$00 $7F76 DEFB $00,$00,$00,$1F,$07,$F8,$E0,$00,$00 $7F7F DEFB $00,$00,$07,$01,$E0,$80,$00,$00,$00 $7F88 DEFB $00,$01,$00,$80,$00,$00,$00 ; Data block at 7F8F @label=spr_0A b$7F8F DEFB $04,$1D $7F91 DEFB $00,$00,$01,$00,$80,$00,$00,$00,$00 $7F9A DEFB $00,$07,$01,$E0,$80,$00,$00,$00,$00 $7FA3 DEFB $1F,$06,$F8,$40,$00,$00,$00,$00,$7F $7FAC DEFB $1E,$FE,$A8,$00,$00,$01,$00,$FF,$7E $7FB5 DEFB $FF,$54,$80,$00,$07,$01,$FF,$FE,$FF $7FBE DEFB $AA,$E0,$80,$1F,$07,$FF,$FE,$FF,$55 $7FC7 DEFB $F8,$40,$7F,$1F,$FF,$FE,$FF,$AA,$FE $7FD0 DEFB $A8,$FF,$7F,$FF,$FE,$FF,$55,$FF,$54 $7FD9 DEFB $FF,$7F,$FF,$FE,$FF,$AA,$FF,$AA,$FF $7FE2 DEFB $7F,$FF,$FE,$FF,$55,$FF,$54,$FF,$7F $7FEB DEFB $FF,$FF,$FF,$AA,$FF,$AA,$FF,$7F,$FF $7FF4 DEFB $FE,$FF,$55,$FF,$54,$FF,$7F,$FF,$F9 $7FFD DEFB $FF,$8A,$FF,$AA,$FF,$7F,$FF,$E7,$FF $8006 DEFB $E5,$FF,$54,$FF,$7F,$FF,$9F,$FF,$F8 $800F DEFB $FF,$AA,$FF,$7E,$FF,$7F,$FF,$FE,$FF $8018 DEFB $54,$FF,$79,$FF,$C0,$FF,$07,$FF,$8A $8021 DEFB $FF,$67,$FF,$E0,$FF,$07,$FF,$E4,$FF $802A DEFB $5F,$FF,$F8,$FF,$07,$FF,$F8,$FF,$7F $8033 DEFB $FF,$F0,$FF,$07,$FF,$FE,$7F,$1F,$FF $803C DEFB $C0,$FF,$07,$FE,$F8,$1F,$07,$FF,$E0 $8045 DEFB $FF,$87,$F8,$E0,$07,$01,$FF,$F9,$FF $804E DEFB $E7,$E0,$80,$01,$00,$FF,$7F,$FF,$FE $8057 DEFB $80,$00,$00,$00,$7F,$1F,$FE,$F8,$00 $8060 DEFB $00,$00,$00,$1F,$07,$F8,$E0,$00,$00 $8069 DEFB $00,$00,$07,$01,$E0,$80,$00,$00,$00 $8072 DEFB $00,$01,$00,$80,$00,$00,$00 ; Data block at 8079 @label=spr_0B b$8079 DEFB $03,$1A $807B DEFB $00,$00,$00,$00,$48,$00,$00,$00,$F8 $8084 DEFB $00,$FE,$48,$03,$00,$FF,$F8,$FF,$AA $808D DEFB $0F,$03,$FF,$07,$FE,$20,$1F,$0C,$FF $8096 DEFB $F8,$FF,$D6,$3F,$13,$FF,$FF,$FF,$FE $809F DEFB $7F,$2F,$FF,$FF,$FE,$DC,$FF,$57,$FF $80A8 DEFB $FF,$FC,$C8,$7F,$27,$FF,$FD,$FC,$F8 $80B1 DEFB $7F,$27,$FF,$FD,$F8,$F0,$FF,$67,$FF $80BA DEFB $FD,$FC,$B8,$FF,$73,$FF,$FD,$FC,$58 $80C3 DEFB $FF,$73,$FF,$FE,$FC,$C8,$7F,$39,$FF $80CC DEFB $FF,$C8,$80,$7F,$3E,$FF,$9F,$C0,$80 $80D5 DEFB $3F,$1F,$FF,$6F,$80,$00,$7F,$28,$FF $80DE DEFB $6E,$00,$00,$FF,$47,$FE,$68,$00,$00 $80E7 DEFB $5F,$0F,$F8,$E0,$00,$00,$1F,$0C,$FE $80F0 DEFB $F8,$00,$00,$1F,$0C,$FF,$FE,$00,$00 $80F9 DEFB $0F,$07,$FF,$E6,$00,$00,$07,$03,$FF $8102 DEFB $E6,$00,$00,$03,$00,$FF,$3E,$00,$00 $810B DEFB $00,$00,$3E,$1C,$00,$00,$00,$00,$1C $8114 DEFB $00,$00,$00 ; Data block at 8117 @label=spr_0C b$8117 DEFB $03,$1A $8119 DEFB $00,$00,$0F,$00,$C0,$00,$00,$00,$3F $8122 DEFB $0F,$F0,$C0,$00,$00,$FF,$30,$F8,$30 $812B DEFB $01,$00,$FF,$CF,$FC,$C8,$03,$01,$FF $8134 DEFB $3F,$FE,$F0,$07,$02,$FF,$DF,$FF,$F2 $813D DEFB $0F,$05,$FF,$9F,$FE,$E4,$0F,$05,$FF $8146 DEFB $9F,$FE,$D4,$1F,$0B,$FF,$9F,$FF,$DA $814F DEFB $3F,$17,$FF,$CF,$FF,$E6,$7F,$2F,$FF $8158 DEFB $CF,$FF,$FE,$FF,$5F,$FF,$E7,$FF,$FE $8161 DEFB $FF,$37,$FF,$F7,$FE,$FC,$FF,$65,$FF $816A DEFB $FB,$FE,$FC,$FF,$7B,$FF,$BC,$FC,$F8 $8173 DEFB $7F,$03,$FF,$BB,$F8,$60,$07,$03,$FF $817C DEFB $83,$E0,$00,$03,$01,$FF,$3B,$80,$00 $8185 DEFB $01,$00,$FF,$7F,$C0,$00,$00,$00,$FF $818E DEFB $67,$F0,$C0,$00,$00,$FF,$67,$F8,$F0 $8197 DEFB $00,$00,$7F,$3F,$F8,$30,$00,$00,$3F $81A0 DEFB $1F,$F8,$30,$00,$00,$1F,$01,$F8,$F0 $81A9 DEFB $00,$00,$01,$00,$F0,$E0,$00,$00,$00 $81B2 DEFB $00,$E0,$00 ; Data block at 81B5 @label=spr_0D b$81B5 DEFB $03,$1A $81B7 DEFB $00,$00,$0F,$00,$C0,$00,$00,$00,$3F $81C0 DEFB $0F,$F0,$C0,$00,$00,$FF,$30,$F8,$30 $81C9 DEFB $01,$00,$FF,$CF,$FE,$C8,$03,$01,$FF $81D2 DEFB $3F,$FF,$F2,$07,$02,$FF,$DF,$FF,$F2 $81DB DEFB $0F,$05,$FF,$9F,$FE,$E4,$0F,$05,$FF $81E4 DEFB $9F,$FE,$D4,$1F,$0B,$FF,$9F,$FF,$DA $81ED DEFB $3F,$17,$FF,$CF,$FF,$E6,$7F,$2F,$FF $81F6 DEFB $CF,$FF,$FE,$FF,$5F,$FF,$EF,$FF,$FE $81FF DEFB $FF,$37,$FF,$F7,$FE,$FC,$FF,$65,$FF $8208 DEFB $FB,$FE,$FC,$FF,$7B,$FF,$BC,$FC,$F8 $8211 DEFB $7F,$03,$FF,$BB,$F8,$60,$07,$03,$FF $821A DEFB $83,$F0,$00,$03,$01,$FF,$63,$F8,$70 $8223 DEFB $01,$00,$FF,$23,$FC,$F8,$00,$00,$3F $822C DEFB $0F,$FC,$98,$00,$00,$7F,$3F,$FC,$98 $8235 DEFB $00,$00,$7F,$33,$F8,$F0,$00,$00,$7F $823E DEFB $33,$F0,$E0,$00,$00,$7F,$3E,$E0,$00 $8247 DEFB $00,$00,$3E,$1C,$00,$00,$00,$00,$1C $8250 DEFB $00,$00,$00 ; Data block at 8253 @label=spr_0E b$8253 DEFB $03,$1A $8255 DEFB $00,$00,$00,$00,$48,$00,$00,$00,$F8 $825E DEFB $00,$FE,$48,$03,$00,$FF,$F8,$FF,$AA $8267 DEFB $0F,$03,$FF,$07,$FE,$20,$1F,$0C,$FF $8270 DEFB $F8,$FF,$D6,$3F,$13,$FF,$FF,$FF,$FE $8279 DEFB $7F,$1F,$FF,$FF,$FE,$DC,$FF,$57,$FF $8282 DEFB $FF,$FC,$C8,$7F,$27,$FF,$FD,$FC,$F8 $828B DEFB $7F,$27,$FF,$FD,$F8,$F0,$FF,$67,$FF $8294 DEFB $FD,$FC,$B8,$FF,$73,$FF,$FD,$FC,$58 $829D DEFB $FF,$73,$FF,$FE,$FC,$C8,$7F,$39,$FF $82A6 DEFB $FF,$C8,$80,$7F,$3E,$FF,$9F,$C0,$80 $82AF DEFB $3F,$1F,$FF,$6F,$80,$00,$7F,$2F,$FF $82B8 DEFB $60,$00,$00,$7F,$27,$FF,$6E,$00,$00 $82C1 DEFB $3F,$10,$FF,$7F,$80,$00,$1F,$01,$FF $82CA DEFB $F3,$80,$00,$0F,$07,$FF,$F3,$80,$00 $82D3 DEFB $0F,$06,$FF,$7E,$00,$00,$0F,$06,$FE $82DC DEFB $7E,$00,$00,$0F,$07,$FC,$C0,$00,$00 $82E5 DEFB $07,$03,$C0,$80,$00,$00,$03,$00,$80 $82EE DEFB $00,$00,$00 ; Data block at 82F1 @label=spr_0F b$82F1 DEFB $03,$1E $82F3 DEFB $00,$00,$7E,$00,$00,$00,$01,$00,$FF $82FC DEFB $7E,$80,$00,$03,$00,$FF,$FF,$C0,$80 $8305 DEFB $07,$00,$FF,$81,$E0,$C0,$0F,$04,$FF $830E DEFB $7E,$F0,$40,$0F,$03,$FF,$FF,$F0,$C0 $8317 DEFB $1F,$0F,$FF,$81,$F8,$F0,$3F,$1E,$FF $8320 DEFB $7E,$FC,$78,$7F,$3C,$FF,$FF,$FE,$BC $8329 DEFB $FF,$78,$FF,$FF,$FF,$DE,$FF,$74,$FF $8332 DEFB $FF,$FF,$EE,$FF,$74,$FF,$FF,$FF,$EE $833B DEFB $FF,$74,$FF,$FF,$FF,$EE,$7F,$34,$FF $8344 DEFB $81,$FE,$EC,$3F,$14,$FF,$7E,$FC,$28 $834D DEFB $1F,$03,$FF,$FF,$F8,$C0,$1F,$0F,$FF $8356 DEFB $81,$F8,$F0,$3F,$1E,$FF,$7F,$FC,$78 $835F DEFB $7F,$3C,$FF,$FF,$FE,$BC,$FF,$78,$FF $8368 DEFB $7F,$FF,$DE,$FF,$74,$FF,$7F,$FF,$EE $8371 DEFB $FF,$74,$FF,$7F,$FF,$EE,$FF,$76,$FF $837A DEFB $7F,$FF,$EE,$7F,$36,$FF,$3F,$FE,$EC $8383 DEFB $3F,$1B,$FF,$3F,$FC,$D8,$1F,$0B,$FF $838C DEFB $9F,$F8,$D0,$0B,$01,$FF,$CF,$D0,$80 $8395 DEFB $01,$00,$FF,$FF,$80,$00,$00,$00,$FF $839E DEFB $3C,$00,$00,$00,$00,$3C,$00,$00,$00 ; Data block at 83A7 @label=spr_10 b$83A7 DEFB $03,$1E $83A9 DEFB $00,$00,$7E,$00,$00,$00,$01,$00,$FF $83B2 DEFB $3E,$80,$00,$03,$00,$FF,$FF,$C0,$80 $83BB DEFB $07,$00,$FF,$FF,$E0,$C0,$0F,$04,$FF $83C4 DEFB $FF,$F0,$E0,$0F,$04,$FF,$81,$F0,$E0 $83CD DEFB $0F,$04,$FF,$7E,$F0,$20,$0F,$03,$FF $83D6 DEFB $FF,$F0,$C0,$1F,$0F,$FF,$81,$F8,$F0 $83DF DEFB $3F,$1E,$FF,$7E,$FC,$78,$7F,$3C,$FF $83E8 DEFB $FF,$FE,$BC,$FF,$78,$FF,$81,$FF,$DE $83F1 DEFB $FF,$74,$FF,$7E,$FF,$2E,$FF,$73,$FF $83FA DEFB $FF,$FF,$CE,$FF,$6F,$FF,$81,$FF,$F8 $8403 DEFB $7F,$1E,$FF,$7E,$FE,$78,$7F,$3C,$FF $840C DEFB $FF,$FE,$BC,$FF,$78,$FF,$FF,$FF,$DE $8415 DEFB $FF,$74,$FF,$FF,$FF,$EE,$FF,$74,$FF $841E DEFB $FF,$FF,$EE,$FF,$74,$FF,$7F,$FF,$EE $8427 DEFB $7F,$34,$FF,$7F,$FE,$EC,$3F,$16,$FF $8430 DEFB $7F,$FC,$E8,$1F,$06,$FF,$3F,$F8,$E0 $8439 DEFB $07,$03,$FF,$3F,$E0,$C0,$07,$03,$FF $8442 DEFB $9F,$E0,$C0,$03,$01,$FF,$CF,$C0,$80 $844B DEFB $01,$00,$FF,$FF,$80,$00,$00,$00,$FF $8454 DEFB $3C,$00,$00,$00,$00,$3C,$00,$00,$00 ; Data block at 845D @label=spr_11 b$845D DEFB $04,$10 $845F DEFB $1F,$00,$C0,$00,$00,$00,$00,$00,$3F $8468 DEFB $1B,$E0,$C0,$00,$00,$00,$00,$7F,$37 $8471 DEFB $F0,$E0,$00,$00,$00,$00,$7F,$00,$F0 $847A DEFB $00,$00,$00,$00,$00,$FF,$77,$F8,$F0 $8483 DEFB $00,$00,$00,$00,$FF,$77,$FF,$F0,$FF $848C DEFB $00,$FC,$00,$FF,$6F,$FF,$FF,$FF,$FF $8495 DEFB $FE,$FC,$FF,$6F,$FF,$F0,$FF,$00,$FF $849E DEFB $02,$FF,$6F,$FF,$FF,$FF,$FF,$FF,$FE $84A7 DEFB $FF,$6F,$FF,$FF,$FF,$FF,$FE,$FC,$FF $84B0 DEFB $77,$FF,$F0,$FF,$00,$FC,$00,$FF,$77 $84B9 DEFB $F8,$F0,$00,$00,$00,$00,$7F,$00,$F0 $84C2 DEFB $00,$00,$00,$00,$00,$7F,$37,$F0,$E0 $84CB DEFB $00,$00,$00,$00,$3F,$1B,$E0,$C0,$00 $84D4 DEFB $00,$00,$00,$1F,$00,$C0,$00,$00,$00 $84DD DEFB $00,$00 ; Data block at 84DF @label=spr_12 b$84DF DEFB $04,$12 $84E1 DEFB $00,$00,$7E,$00,$00,$00,$00,$00,$01 $84EA DEFB $00,$FF,$5E,$C0,$00,$00,$00,$03,$01 $84F3 DEFB $FF,$BF,$F1,$C0,$E0,$00,$07,$03,$FF $84FC DEFB $BF,$FF,$F1,$F0,$E0,$0F,$07,$FF,$DF $8505 DEFB $FF,$FF,$F8,$F0,$0F,$07,$FF,$EF,$FF $850E DEFB $FF,$F8,$F0,$1F,$0F,$FF,$F4,$FF,$FB $8517 DEFB $F8,$50,$1F,$0F,$FF,$F3,$FF,$7F,$F8 $8520 DEFB $F0,$1F,$0F,$FF,$F3,$FF,$B8,$F8,$00 $8529 DEFB $1F,$0F,$FF,$F7,$FF,$CF,$F8,$F0,$1F $8532 DEFB $0F,$FF,$F7,$FF,$F5,$F8,$50,$1F,$0F $853B DEFB $FF,$E7,$FF,$FF,$F8,$F0,$0F,$07,$FF $8544 DEFB $D7,$FF,$FF,$F0,$E0,$0F,$07,$FF,$BB $854D DEFB $FF,$FF,$E0,$80,$07,$03,$FF,$BC,$FF $8556 DEFB $FC,$80,$00,$03,$01,$FF,$DF,$FC,$30 $855F DEFB $00,$00,$01,$00,$FF,$6F,$F0,$80,$00 $8568 DEFB $00,$00,$00,$7F,$00,$80,$00,$00,$00 ; Data block at 8571 @label=spr_13 b$8571 DEFB $03,$0B $8573 DEFB $10,$00,$00,$00,$08,$00,$78,$10,$00 $857C DEFB $00,$1E,$08,$F0,$60,$00,$00,$0F,$06 $8585 DEFB $E0,$80,$00,$00,$07,$01,$84,$00,$00 $858E DEFB $00,$41,$00,$0E,$04,$44,$00,$E0,$40 $8597 DEFB $1C,$08,$EE,$44,$70,$20,$39,$10,$CE $85A0 DEFB $84,$C8,$10,$11,$00,$CE,$84,$10,$00 $85A9 DEFB $01,$00,$CE,$84,$00,$00,$00,$00,$84 $85B2 DEFB $00,$00,$00 ; Data block at 85B5 @label=spr_14 b$85B5 DEFB $05,$11 $85B7 DEFB $03,$00,$80,$00,$00,$00,$00,$00,$00 $85C0 DEFB $00,$0F,$03,$C0,$80,$00,$00,$00,$00 $85C9 DEFB $00,$00,$1F,$0F,$E0,$C0,$00,$00,$00 $85D2 DEFB $00,$00,$00,$3F,$1F,$E0,$C0,$00,$00 $85DB DEFB $00,$00,$00,$00,$7F,$3F,$C0,$80,$00 $85E4 DEFB $00,$00,$00,$00,$00,$7F,$3E,$80,$00 $85ED DEFB $00,$00,$00,$00,$00,$00,$FE,$7C,$00 $85F6 DEFB $00,$00,$00,$00,$00,$00,$00,$FC,$58 $85FF DEFB $00,$00,$00,$00,$00,$00,$00,$00,$FC $8608 DEFB $58,$00,$00,$00,$00,$00,$00,$00,$00 $8611 DEFB $FE,$5C,$00,$00,$00,$00,$00,$00,$00 $861A DEFB $00,$FF,$5E,$80,$00,$00,$00,$00,$00 $8623 DEFB $00,$00,$7F,$2F,$FF,$80,$FF,$00,$FF $862C DEFB $00,$FC,$00,$7F,$37,$FF,$FF,$FF,$FF $8635 DEFB $FF,$FF,$FE,$FC,$3F,$18,$FF,$FF,$FF $863E DEFB $FF,$FF,$FF,$FF,$FE,$1F,$07,$FF,$00 $8647 DEFB $FF,$00,$FF,$00,$FF,$02,$07,$00,$FF $8650 DEFB $FF,$FF,$FF,$FF,$FF,$FE,$FC,$00,$00 $8659 DEFB $FF,$00,$FF,$00,$FF,$00,$FC,$00 ; Data block at 8661 @label=spr_15 b$8661 DEFB $03,$08 $8663 DEFB $FC,$FC,$6F,$6F,$FF,$FF,$7C,$7C,$2F $866C DEFB $2F,$FF,$FF,$3E,$3E,$37,$37,$FF,$FF $8675 DEFB $1F,$1F,$17,$17,$FF,$FF,$07,$07,$8B $867E DEFB $8B,$FF,$FF,$01,$01,$80,$80,$00,$00 $8687 DEFB $00,$00,$65,$65,$FF,$FF,$00,$00,$65 $8690 DEFB $65,$FF,$FF ; Data block at 8693 @label=spr_16 b$8693 DEFB $03,$08 $8695 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $869E DEFB $FF,$FE,$FE,$FF,$FF,$FF,$FF,$FC,$FC $86A7 DEFB $FF,$FF,$FF,$FF,$F0,$F0,$FF,$FF,$FF $86B0 DEFB $FF,$C0,$C0,$00,$00,$03,$03,$00,$00 $86B9 DEFB $FF,$FF,$FC,$FC,$00,$00,$FF,$FF,$FC $86C2 DEFB $FC,$00,$00 ; Data block at 86C5 @label=spr_17 b$86C5 DEFB $03,$16 $86C7 DEFB $FF,$FF,$FF,$FF,$C0,$C0,$FF,$FF,$FF $86D0 DEFB $FF,$E0,$E0,$FF,$FF,$FF,$FF,$F0,$F0 $86D9 DEFB $00,$00,$00,$00,$78,$78,$FF,$FF,$FF $86E2 DEFB $FF,$3C,$3C,$FF,$FF,$FF,$FF,$9E,$9E $86EB DEFB $00,$00,$00,$00,$CE,$CE,$00,$00,$00 $86F4 DEFB $00,$6E,$6E,$00,$00,$00,$00,$6E,$6E $86FD DEFB $00,$00,$00,$00,$6E,$6E,$00,$00,$00 $8706 DEFB $00,$6E,$6E,$00,$00,$00,$00,$6E,$6E $870F DEFB $00,$00,$00,$00,$6E,$6E,$00,$00,$00 $8718 DEFB $00,$6E,$6E,$00,$00,$00,$00,$6E,$6E $8721 DEFB $00,$00,$00,$00,$CE,$CE,$FF,$FF,$FF $872A DEFB $FF,$9E,$9E,$FF,$FF,$FF,$FF,$3C,$3C $8733 DEFB $00,$00,$00,$00,$78,$78,$FF,$FF,$FF $873C DEFB $FF,$F0,$F0,$FF,$FF,$FF,$FF,$E0,$E0 $8745 DEFB $FF,$FF,$FF,$FF,$C0,$C0 ; Data block at 874B @label=spr_18 b$874B DEFB $03,$10 $874D DEFB $00,$00,$7E,$00,$00,$00,$03,$00,$FF $8756 DEFB $7E,$C0,$00,$0F,$03,$FF,$BD,$F0,$C0 $875F DEFB $1F,$0E,$FF,$3C,$F8,$70,$3F,$16,$FF $8768 DEFB $18,$FC,$68,$7F,$23,$FF,$18,$FE,$C4 $8771 DEFB $7F,$33,$FF,$FF,$FE,$CC,$3F,$13,$FF $877A DEFB $99,$FC,$C8,$3F,$1F,$FF,$18,$FC,$F8 $8783 DEFB $3F,$19,$FF,$18,$FC,$98,$1F,$09,$FF $878C DEFB $99,$F8,$90,$1F,$08,$FF,$FF,$F8,$10 $8795 DEFB $1F,$0D,$FF,$81,$F8,$B0,$0F,$06,$81 $879E DEFB $00,$F0,$60,$0E,$04,$00,$00,$70,$20 $87A7 DEFB $04,$00,$00,$00,$20,$00 ; Data block at 87AD @label=spr_19 b$87AD DEFB $03,$13 $87AF DEFB $00,$00,$08,$00,$00,$00,$02,$00,$1C $87B8 DEFB $08,$00,$00,$07,$02,$1E,$0C,$40,$00 $87C1 DEFB $07,$03,$BF,$1E,$E0,$40,$27,$03,$FF $87CA DEFB $3E,$E4,$40,$7F,$27,$FF,$BE,$EE,$C4 $87D3 DEFB $7F,$37,$FF,$FF,$FE,$CC,$7F,$37,$FF $87DC DEFB $FF,$FE,$DC,$7F,$3E,$FF,$FF,$FE,$FC $87E5 DEFB $7F,$38,$FF,$FF,$FE,$FC,$3F,$18,$FF $87EE DEFB $FF,$FC,$F8,$3F,$1C,$FF,$7F,$FC,$F8 $87F7 DEFB $1F,$0C,$FF,$7F,$F8,$F0,$1F,$0E,$FF $8800 DEFB $3F,$F8,$F0,$0F,$07,$FF,$3F,$F0,$E0 $8809 DEFB $07,$03,$FF,$9F,$E0,$C0,$03,$01,$FF $8812 DEFB $CF,$C0,$80,$01,$00,$FF,$7E,$80,$00 $881B DEFB $00,$00,$7E,$00,$00,$00 ; Data block at 8821 @label=spr_1A b$8821 DEFB $03,$18 $8823 DEFB $00,$00,$FF,$00,$00,$00,$07,$00,$FF $882C DEFB $FF,$E0,$00,$1F,$07,$FF,$FF,$F8,$E0 $8835 DEFB $3F,$17,$FF,$FF,$FC,$F8,$7F,$33,$FF $883E DEFB $00,$FE,$FC,$7F,$38,$FF,$FF,$FE,$3C $8847 DEFB $3F,$1B,$FF,$FF,$FC,$D8,$3F,$17,$FF $8850 DEFB $FF,$FC,$E8,$1F,$0F,$FF,$FF,$F8,$F0 $8859 DEFB $3F,$1F,$FF,$F7,$FC,$F8,$7F,$3F,$FF $8862 DEFB $F7,$FE,$FC,$7F,$3E,$FF,$F7,$FE,$BC $886B DEFB $FF,$7E,$FF,$73,$FF,$3E,$FF,$75,$FF $8874 DEFB $6A,$FF,$DE,$FF,$75,$FF,$AD,$FF,$DE $887D DEFB $FF,$6B,$FF,$DF,$FF,$EA,$FF,$6F,$FF $8886 DEFB $FF,$FF,$F2,$FF,$5D,$FF,$FF,$FF,$FA $888F DEFB $7F,$39,$FF,$EF,$FE,$F8,$3B,$11,$FF $8898 DEFB $EF,$F8,$70,$11,$00,$EF,$C7,$F0,$20 $88A1 DEFB $01,$00,$C7,$83,$A0,$00,$00,$00,$83 $88AA DEFB $01,$80,$00,$00,$00,$01,$00,$00,$00 $88B3 DEFB $04,$19,$00,$00,$01,$00,$20,$00,$00 $88BC DEFB $00,$00,$00,$13,$01,$F0,$20,$00,$00 $88C5 DEFB $00,$00,$3F,$11,$F2,$80,$00,$00,$01 $88CE DEFB $00,$3F,$07,$FF,$62,$00,$00,$03,$01 $88D7 DEFB $FF,$1F,$FF,$B8,$20,$00,$13,$00,$FF $88E0 DEFB $7F,$FF,$DE,$F4,$20,$3F,$11,$FF,$FF $88E9 DEFB $FF,$EF,$FE,$84,$3F,$07,$FF,$FF,$FF $88F2 DEFB $F7,$FE,$E4,$7F,$1F,$FF,$FF,$FF,$FB $88FB DEFB $FE,$F8,$7F,$3F,$FF,$FF,$FF,$FD,$FF $8904 DEFB $FE,$3F,$1F,$FF,$FF,$FF,$FE,$FF,$FE $890D DEFB $1F,$0F,$FF,$FF,$FF,$FF,$FF,$7E,$0F $8916 DEFB $07,$FF,$FF,$FF,$FF,$FF,$BE,$07,$03 $891F DEFB $FF,$FF,$FF,$FF,$FF,$DE,$03,$01,$FF $8928 DEFB $FF,$FF,$FF,$FF,$EE,$01,$00,$FF,$FF $8931 DEFB $FF,$FF,$FF,$F6,$00,$00,$FF,$7F,$FF $893A DEFB $FF,$FF,$FA,$00,$00,$7F,$3F,$FF,$FF $8943 DEFB $FF,$FC,$00,$00,$3F,$1F,$FF,$FF,$FE $894C DEFB $F8,$00,$00,$1F,$0F,$FF,$FF,$F8,$E0 $8955 DEFB $00,$00,$0F,$07,$FE,$FF,$E0,$80,$00 $895E DEFB $00,$07,$03,$F8,$FE,$80,$00,$00,$00 $8967 DEFB $03,$01,$E0,$F8,$00,$00,$00,$00,$01 $8970 DEFB $00,$80,$E0,$00,$00,$00,$00,$00,$00 $8979 DEFB $00,$00,$00,$00 ; Data block at 897D @label=spr_1B b$897D DEFB $03,$20 $897F DEFB $00,$00,$3E,$00,$00,$00,$00,$00,$FF $8988 DEFB $3E,$00,$00,$01,$00,$FF,$FF,$E0,$00 $8991 DEFB $03,$01,$FF,$FF,$F0,$60,$03,$01,$FF $899A DEFB $FE,$F8,$F0,$03,$01,$FF,$FD,$F8,$F0 $89A3 DEFB $03,$01,$FF,$1B,$F0,$E0,$03,$00,$FF $89AC DEFB $E3,$E0,$C0,$03,$01,$FF,$F8,$C0,$80 $89B5 DEFB $07,$00,$FF,$FB,$C0,$00,$0F,$07,$FF $89BE DEFB $7F,$C0,$80,$1F,$0A,$FF,$BF,$C0,$80 $89C7 DEFB $3F,$1F,$FF,$BF,$E0,$80,$3F,$1F,$FF $89D0 DEFB $67,$F0,$60,$3F,$1F,$FF,$61,$F8,$70 $89D9 DEFB $7F,$2F,$FF,$61,$F8,$B0,$7F,$2F,$FF $89E2 DEFB $61,$F8,$B0,$7F,$2F,$FF,$F9,$F8,$B0 $89EB DEFB $7F,$2F,$FF,$FF,$F8,$B0,$7F,$2F,$FF $89F4 DEFB $83,$F8,$70,$7F,$32,$FF,$7C,$F0,$E0 $89FD DEFB $7F,$3D,$FF,$FF,$E0,$40,$3F,$1B,$FF $8A06 DEFB $83,$C0,$80,$1F,$07,$FF,$80,$E0,$C0 $8A0F DEFB $0F,$05,$FF,$84,$E0,$40,$0F,$05,$FF $8A18 DEFB $88,$E0,$40,$0F,$05,$FF,$E0,$C0,$80 $8A21 DEFB $07,$02,$FF,$FD,$C0,$80,$07,$02,$FF $8A2A DEFB $FF,$80,$00,$03,$01,$FF,$3E,$00,$00 $8A33 DEFB $01,$00,$FE,$DC,$00,$00,$00,$00,$FC $8A3C DEFB $00,$00,$00 ; Data block at 8A3F @label=spr_1C b$8A3F DEFB $03,$19 $8A41 DEFB $00,$00,$3F,$00,$00,$00,$00,$00,$FF $8A4A DEFB $3F,$C0,$00,$01,$00,$FF,$FF,$E0,$C0 $8A53 DEFB $03,$01,$FF,$FF,$F0,$E0,$07,$03,$FF $8A5C DEFB $FF,$F8,$F0,$0F,$04,$FF,$7F,$F8,$F0 $8A65 DEFB $1F,$00,$FF,$3F,$FC,$F8,$3F,$14,$FF $8A6E DEFB $3F,$FC,$B8,$3F,$1F,$FF,$BF,$FC,$D8 $8A77 DEFB $3F,$19,$FF,$FF,$FC,$E8,$1F,$01,$FF $8A80 DEFB $FF,$F8,$F0,$1F,$05,$FF,$FF,$F8,$F0 $8A89 DEFB $3F,$1D,$FF,$FF,$F8,$F0,$3F,$1D,$FF $8A92 DEFB $FF,$F8,$F0,$1F,$0F,$FF,$FF,$F8,$F0 $8A9B DEFB $0F,$00,$FF,$FF,$F0,$E0,$0F,$01,$FF $8AA4 DEFB $FF,$F0,$E0,$1F,$0E,$FF,$BF,$E0,$C0 $8AAD DEFB $3F,$1F,$BF,$1F,$C0,$80,$3F,$17,$9F $8AB6 DEFB $0F,$E0,$00,$3F,$13,$8F,$00,$F0,$E0 $8ABF DEFB $1F,$0E,$03,$01,$F8,$70,$0E,$00,$03 $8AC8 DEFB $01,$F8,$30,$00,$00,$01,$00,$F0,$E0 $8AD1 DEFB $00,$00,$00,$00,$E0,$00 ; Data block at 8AD7 @label=spr_1D b$8AD7 DEFB $04,$1D $8AD9 DEFB $00,$00,$01,$00,$80,$00,$00,$00,$00 $8AE2 DEFB $00,$07,$00,$E0,$00,$00,$00,$00,$00 $8AEB DEFB $1F,$06,$F8,$20,$00,$00,$00,$00,$7F $8AF4 DEFB $1E,$FE,$58,$00,$00,$01,$00,$FF,$7D $8AFD DEFB $FF,$AA,$80,$00,$07,$01,$FF,$FD,$FF $8B06 DEFB $95,$E0,$00,$1F,$07,$FF,$FD,$FF,$AA $8B0F DEFB $F8,$A0,$7F,$1F,$FF,$FD,$FF,$95,$FE $8B18 DEFB $50,$FF,$7F,$FF,$FB,$FF,$CA,$FF,$AA $8B21 DEFB $7F,$3F,$FF,$FB,$FF,$D5,$FE,$54,$7F $8B2A DEFB $3F,$FF,$FB,$FF,$CA,$FE,$A8,$7F,$1F $8B33 DEFB $FF,$FB,$FF,$D5,$FE,$50,$7F,$2F,$FF $8B3C DEFB $F7,$FF,$EA,$FE,$A4,$3F,$0F,$FF,$F7 $8B45 DEFB $FF,$E5,$FC,$50,$3F,$17,$FF,$F7,$FF $8B4E DEFB $EA,$FC,$A8,$3F,$1B,$FF,$C0,$FF,$01 $8B57 DEFB $FC,$58,$1F,$0B,$FF,$3F,$FF,$FC,$F8 $8B60 DEFB $90,$1F,$0C,$FF,$FF,$FF,$FF,$F8,$30 $8B69 DEFB $0F,$05,$FF,$FF,$FF,$FF,$F0,$A0,$0F $8B72 DEFB $05,$FF,$FF,$FF,$FF,$F0,$A0,$0F,$05 $8B7B DEFB $FF,$FF,$FF,$FF,$F0,$A0,$07,$01,$FF $8B84 DEFB $FF,$FF,$FF,$E0,$80,$03,$01,$FF,$FF $8B8D DEFB $FF,$FF,$C0,$80,$01,$00,$FF,$FF,$FF $8B96 DEFB $FF,$C0,$00,$00,$00,$FF,$3F,$FF,$FC $8B9F DEFB $00,$00,$00,$00,$3F,$00,$FC,$00,$00 $8BA8 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $8BB1 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $8BBA DEFB $00,$00,$00,$00,$00,$00,$00 ; Data block at 8BC1 @label=spr_1E b$8BC1 DEFB $04,$1B $8BC3 DEFB $00,$00,$3F,$00,$FC,$00,$00,$00,$00 $8BCC DEFB $00,$FF,$2F,$FF,$F4,$00,$00,$01,$00 $8BD5 DEFB $FF,$EF,$FF,$F5,$80,$00,$03,$01,$FF $8BDE DEFB $E7,$FF,$F2,$C0,$80,$03,$01,$FF,$F7 $8BE7 DEFB $FF,$E5,$C0,$00,$07,$03,$FF,$FB,$FF $8BF0 DEFB $CA,$E0,$80,$07,$03,$FF,$FB,$FF,$D5 $8BF9 DEFB $E0,$40,$0F,$07,$FF,$FD,$FF,$AA,$F0 $8C02 DEFB $A0,$0F,$07,$FF,$FD,$FF,$95,$F0,$40 $8C0B DEFB $1F,$0F,$FF,$FE,$FF,$2A,$F8,$B0,$1F $8C14 DEFB $0F,$FF,$FE,$FF,$55,$F8,$50,$3F,$1F $8C1D DEFB $FF,$F9,$FF,$8A,$FC,$A8,$3F,$1F,$FF $8C26 DEFB $E7,$FF,$E5,$FC,$50,$7F,$3F,$FF,$9F $8C2F DEFB $FF,$F8,$FE,$A8,$7F,$3E,$FF,$7F,$FF $8C38 DEFB $FE,$FE,$54,$FF,$79,$FF,$FF,$FF,$FF $8C41 DEFB $FF,$9A,$FF,$67,$FF,$FF,$FF,$FF,$FF $8C4A DEFB $E4,$FF,$1F,$FF,$FF,$FF,$FF,$FF,$F8 $8C53 DEFB $FF,$7F,$FF,$FF,$FF,$FF,$FF,$FE,$7F $8C5C DEFB $1F,$FF,$FF,$FF,$FF,$FE,$F8,$1F,$07 $8C65 DEFB $FF,$FF,$FF,$FF,$F8,$E0,$07,$01,$FF $8C6E DEFB $FF,$FF,$FF,$E0,$80,$01,$00,$FF,$7F $8C77 DEFB $FF,$FE,$80,$00,$00,$00,$7F,$1F,$FE $8C80 DEFB $F8,$00,$00,$00,$00,$1F,$07,$F8,$E0 $8C89 DEFB $00,$00,$00,$00,$07,$01,$E0,$80,$00 $8C92 DEFB $00,$00,$00,$01,$00,$80,$00,$00,$00 ; Data block at 8C9B @label=spr_1F b$8C9B DEFB $04,$1D $8C9D DEFB $00,$00,$01,$00,$80,$00,$00,$00,$00 $8CA6 DEFB $00,$07,$01,$E0,$80,$00,$00,$00,$00 $8CAF DEFB $1F,$05,$F8,$20,$00,$00,$00,$00,$7F $8CB8 DEFB $1D,$FE,$50,$00,$00,$01,$00,$FF,$7B $8CC1 DEFB $FF,$AA,$80,$00,$07,$01,$FF,$FB,$FF $8CCA DEFB $95,$E0,$00,$1F,$07,$FF,$F7,$FF,$CA $8CD3 DEFB $F8,$A0,$7F,$1F,$FF,$F0,$FF,$15,$FE $8CDC DEFB $50,$FF,$7F,$FF,$F7,$FF,$CA,$FF,$AA $8CE5 DEFB $7F,$3F,$FF,$FB,$FF,$95,$FE,$54,$7F $8CEE DEFB $3F,$FF,$FB,$FF,$AA,$FE,$A8,$3F,$1F $8CF7 DEFB $FF,$FD,$FF,$55,$FC,$50,$3F,$1F,$FF $8D00 DEFB $FC,$FF,$AA,$FC,$A8,$1F,$0F,$FF,$F9 $8D09 DEFB $FF,$95,$F8,$50,$3F,$1F,$FF,$E7,$FF $8D12 DEFB $E2,$FC,$A0,$3F,$1F,$FF,$9F,$FF,$F9 $8D1B DEFB $FC,$50,$7F,$3E,$FF,$7F,$FF,$FE,$FE $8D24 DEFB $28,$7F,$39,$FF,$FF,$FF,$FF,$FE,$94 $8D2D DEFB $FF,$67,$FF,$FF,$FF,$FF,$FF,$E2,$FF $8D36 DEFB $1F,$FF,$FF,$FF,$FF,$FF,$F8,$FF,$7F $8D3F DEFB $FF,$FF,$FF,$FF,$FF,$FE,$7F,$1F,$FF $8D48 DEFB $FF,$FF,$FF,$FE,$F8,$1F,$07,$FF,$FF $8D51 DEFB $FF,$FF,$F8,$E0,$07,$01,$FF,$FF,$FF $8D5A DEFB $FF,$E0,$80,$01,$00,$FF,$7F,$FF,$FE $8D63 DEFB $80,$00,$00,$00,$7F,$1F,$FE,$F8,$00 $8D6C DEFB $00,$00,$00,$1F,$07,$F8,$E0,$00,$00 $8D75 DEFB $00,$00,$07,$01,$E0,$80,$00,$00,$00 $8D7E DEFB $00,$01,$00,$80,$00,$00,$00 ; Data block at 8D85 @label=spr_20 b$8D85 DEFB $03,$19 $8D87 DEFB $00,$00,$7E,$00,$00,$00,$01,$00,$FF $8D90 DEFB $7E,$80,$00,$03,$01,$FF,$F7,$E0,$80 $8D99 DEFB $07,$03,$FF,$FB,$F4,$E0,$0F,$07,$FF $8DA2 DEFB $83,$FE,$F4,$0F,$07,$FF,$07,$FF,$F2 $8DAB DEFB $0F,$06,$FF,$3F,$FF,$F6,$07,$02,$FF $8DB4 DEFB $47,$FE,$F4,$07,$03,$FF,$BF,$FC,$A0 $8DBD DEFB $03,$01,$FF,$7E,$FC,$58,$01,$00,$FF $8DC6 DEFB $FD,$FE,$BC,$03,$01,$FF,$FF,$FE,$BC $8DCF DEFB $03,$01,$FF,$FF,$FC,$D8,$03,$01,$FF $8DD8 DEFB $B7,$F8,$E0,$03,$01,$FF,$72,$E0,$C0 $8DE1 DEFB $07,$00,$FF,$FE,$E0,$40,$0F,$07,$FF $8DEA DEFB $5F,$C0,$80,$1F,$0F,$FF,$BF,$80,$00 $8DF3 DEFB $1F,$0B,$FF,$9C,$C0,$80,$1F,$09,$FF $8DFC DEFB $81,$E0,$00,$0F,$07,$83,$00,$F0,$E0 $8E05 DEFB $07,$00,$03,$01,$F8,$70,$00,$00,$03 $8E0E DEFB $01,$F8,$30,$00,$00,$01,$00,$F0,$E0 $8E17 DEFB $00,$00,$00,$00,$E0,$00 ; Data block at 8E1D @label=spr_21 b$8E1D DEFB $04,$19 $8E1F DEFB $00,$00,$01,$00,$80,$00,$00,$00,$00 $8E28 DEFB $00,$07,$01,$E0,$80,$00,$00,$00,$00 $8E31 DEFB $1F,$07,$F8,$E0,$00,$00,$00,$00,$7F $8E3A DEFB $1E,$FE,$78,$00,$00,$01,$00,$FF,$79 $8E43 DEFB $FF,$9E,$80,$00,$07,$01,$FF,$E7,$FF $8E4C DEFB $E7,$E0,$80,$1F,$07,$FF,$9C,$FF,$39 $8E55 DEFB $F8,$E0,$7F,$1E,$FF,$78,$FF,$CE,$FE $8E5E DEFB $78,$FF,$79,$FF,$F4,$FF,$EF,$FF,$9E $8E67 DEFB $FF,$66,$FF,$14,$FF,$28,$FF,$66,$FF $8E70 DEFB $1C,$FF,$63,$FF,$C1,$FF,$B8,$FF,$7A $8E79 DEFB $FF,$77,$FF,$E9,$FF,$DE,$7F,$1A,$FF $8E82 DEFB $77,$FF,$E9,$FE,$D8,$1F,$02,$FF,$73 $8E8B DEFB $FF,$C9,$F8,$C0,$07,$02,$FF,$70,$FF $8E94 DEFB $09,$E0,$C0,$07,$02,$FF,$71,$FF,$C9 $8E9D DEFB $E0,$C0,$07,$02,$FF,$11,$FF,$C9,$E0 $8EA6 DEFB $C0,$07,$01,$FF,$E1,$FF,$C9,$E0,$C0 $8EAF DEFB $07,$03,$FF,$F1,$FF,$C9,$E0,$C0,$07 $8EB8 DEFB $03,$FF,$F0,$FF,$48,$E0,$40,$03,$01 $8EC1 DEFB $FF,$E7,$FF,$87,$E0,$80,$01,$00,$FF $8ECA DEFB $0F,$FF,$CF,$E0,$C0,$00,$00,$1F,$0F $8ED3 DEFB $FF,$CF,$E0,$C0,$00,$00,$0F,$07,$CF $8EDC DEFB $87,$C0,$80,$00,$00,$07,$00,$87,$00 $8EE5 DEFB $80,$00 ; Data block at 8EE7 @label=spr_22 b$8EE7 DEFB $02,$3E $8EE9 DEFB $0F,$00,$80,$00,$1F,$0B,$E0,$00,$3F $8EF2 DEFB $1B,$F8,$60,$3F,$1B,$FE,$78,$3F,$1B $8EFB DEFB $FF,$7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF $8F04 DEFB $7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E $8F0D DEFB $3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E,$3F $8F16 DEFB $1B,$FF,$7E,$3F,$1B,$FF,$7E,$3F,$1B $8F1F DEFB $FF,$7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF $8F28 DEFB $7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E $8F31 DEFB $3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E,$3F $8F3A DEFB $1B,$FF,$7E,$3F,$1B,$FF,$7E,$3F,$1B $8F43 DEFB $FF,$7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF $8F4C DEFB $7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E $8F55 DEFB $3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E,$3F $8F5E DEFB $1B,$FF,$7E,$3F,$1B,$FF,$7E,$3F,$1B $8F67 DEFB $FF,$7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF $8F70 DEFB $7E,$3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E $8F79 DEFB $3F,$1B,$FF,$7E,$3F,$1B,$FF,$7E,$3F $8F82 DEFB $1B,$FF,$7F,$3F,$1B,$FF,$7F,$3F,$1B $8F8B DEFB $FF,$7F,$3F,$1A,$FF,$7F,$3F,$19,$FF $8F94 DEFB $BF,$3F,$03,$FF,$BF,$1F,$0D,$FF,$DF $8F9D DEFB $1F,$0D,$FF,$EF,$0F,$06,$FF,$EF,$07 $8FA6 DEFB $03,$FF,$77,$07,$03,$FF,$7B,$03,$01 $8FAF DEFB $FF,$B9,$01,$00,$FF,$D6,$01,$00,$FF $8FB8 DEFB $CF,$00,$00,$FF,$33,$00,$00,$7F,$1C $8FC1 DEFB $00,$00,$1F,$07,$00,$00,$07,$01,$00 $8FCA DEFB $00,$01,$00,$00,$00,$00,$00,$00,$00 $8FD3 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $8FDC DEFB $00,$00,$00,$00,$00 ; Data block at 8FE1 @label=spr_23 b$8FE1 DEFB $03,$30 $8FE3 DEFB $00,$00,$00,$00,$1C,$00,$00,$00,$00 $8FEC DEFB $00,$7E,$14,$00,$00,$01,$00,$FF,$56 $8FF5 DEFB $00,$00,$07,$01,$FF,$D6,$00,$00,$1F $8FFE DEFB $07,$FF,$D6,$00,$00,$3F,$1F,$FF,$D6 $9007 DEFB $00,$00,$3F,$1F,$FF,$D6,$00,$00,$3F $9010 DEFB $1F,$FF,$D6,$00,$00,$3F,$1F,$FF,$D6 $9019 DEFB $00,$00,$3F,$1F,$FF,$D6,$00,$00,$3F $9022 DEFB $1F,$FF,$D6,$00,$00,$3F,$1F,$FF,$D6 $902B DEFB $00,$00,$3F,$1F,$FF,$D6,$00,$00,$3F $9034 DEFB $1F,$FF,$D6,$00,$00,$3F,$1F,$FF,$D6 $903D DEFB $00,$00,$3F,$1F,$FF,$D6,$00,$00,$3F $9046 DEFB $1F,$FF,$D6,$00,$00,$3F,$1F,$FF,$D6 $904F DEFB $00,$00,$3F,$1F,$FF,$D6,$00,$00,$3F $9058 DEFB $1F,$FF,$D6,$00,$00,$3F,$1E,$FF,$D6 $9061 DEFB $00,$00,$3F,$18,$FF,$D6,$00,$00,$3F $906A DEFB $12,$FF,$D6,$80,$00,$3F,$14,$FF,$D6 $9073 DEFB $C0,$80,$3F,$12,$FF,$D6,$C0,$80,$3F $907C DEFB $14,$FF,$D6,$E0,$C0,$3F,$11,$FF,$D6 $9085 DEFB $E0,$C0,$3F,$17,$FF,$D6,$F8,$E0,$3F $908E DEFB $1F,$FF,$D6,$FE,$F8,$3F,$1F,$FF,$D6 $9097 DEFB $FF,$FE,$BF,$1F,$FF,$D6,$FF,$FF,$FF $90A0 DEFB $9F,$FF,$AE,$FF,$FF,$FF,$E7,$FF,$5E $90A9 DEFB $FF,$FF,$FF,$F8,$FF,$BE,$FF,$FF,$FF $90B2 DEFB $FE,$FF,$7E,$FF,$7F,$FF,$FF,$FF,$FE $90BB DEFB $FF,$9F,$FF,$FF,$FF,$FE,$FF,$E7,$FF $90C4 DEFB $FF,$FF,$FC,$FF,$F9,$FF,$FF,$FF,$FA $90CD DEFB $FF,$3E,$FF,$7F,$FE,$F4,$FF,$CF,$FF $90D6 DEFB $9F,$FE,$EC,$FF,$73,$FF,$E7,$FC,$D8 $90DF DEFB $7F,$1C,$FF,$F9,$F8,$B0,$1F,$07,$FF $90E8 DEFB $3E,$F0,$60,$07,$01,$FF,$CF,$E0,$40 $90F1 DEFB $01,$00,$FF,$72,$C0,$00,$00,$00,$7E $90FA DEFB $1C,$00,$00,$00,$00,$1C,$00,$00,$00 ; Data block at 9103 @label=spr_24 b$9103 DEFB $03,$38 $9105 DEFB $00,$00,$00,$00,$03,$00,$00,$00,$00 $910E DEFB $00,$0F,$03,$00,$00,$00,$00,$3F,$0F $9117 DEFB $00,$00,$00,$00,$FF,$3F,$00,$00,$03 $9120 DEFB $00,$FF,$FF,$00,$00,$0F,$03,$FF,$FF $9129 DEFB $00,$00,$3F,$07,$FF,$FF,$00,$00,$FF $9132 DEFB $3B,$FF,$FC,$03,$00,$FF,$FD,$FF,$F3 $913B DEFB $0F,$03,$FF,$FE,$FF,$CF,$3F,$07,$FF $9144 DEFB $FF,$FF,$3F,$FF,$2F,$FF,$FF,$FF,$7F $914D DEFB $FF,$EF,$FF,$FE,$FF,$FF,$FF,$DF,$FF $9156 DEFB $FE,$FF,$FF,$FF,$DF,$FF,$FD,$FF,$FF $915F DEFB $FF,$BF,$FF,$FD,$FF,$FF,$FF,$BF,$FF $9168 DEFB $FB,$FF,$FF,$FF,$7F,$FF,$FB,$FF,$FF $9171 DEFB $FF,$7F,$FF,$F7,$FF,$FF,$FF,$7F,$FF $917A DEFB $F7,$FF,$FF,$FF,$BF,$FF,$CB,$FF,$FC $9183 DEFB $FF,$DF,$FF,$3D,$FF,$F3,$FF,$EC,$FF $918C DEFB $FE,$FF,$CF,$FF,$F3,$FF,$FF,$FF,$3F $9195 DEFB $FF,$EF,$FF,$FF,$FF,$7F,$FF,$EF,$FF $919E DEFB $FE,$FF,$FF,$FF,$DF,$FF,$FE,$FF,$FF $91A7 DEFB $FF,$DF,$FF,$FD,$FF,$FF,$FF,$BF,$FF $91B0 DEFB $FD,$FF,$FF,$FF,$BF,$FF,$FB,$FF,$FF $91B9 DEFB $FF,$7F,$FF,$FB,$FF,$FF,$FF,$7F,$FF $91C2 DEFB $F7,$FF,$FF,$FF,$7F,$FF,$F7,$FF,$FF $91CB DEFB $FF,$BF,$FF,$CB,$FF,$FC,$FF,$DF,$FF $91D4 DEFB $3D,$FF,$F3,$FF,$EC,$FF,$FE,$FF,$CC $91DD DEFB $FF,$E3,$FF,$FF,$FC,$30,$FF,$EF,$FF $91E6 DEFB $FF,$F0,$40,$FF,$EF,$FF,$FE,$C0,$80 $91EF DEFB $FF,$DF,$FF,$FE,$C0,$80,$FF,$DF,$FF $91F8 DEFB $FD,$80,$00,$FF,$BF,$FF,$FD,$80,$00 $9201 DEFB $FF,$BF,$FF,$FA,$00,$00,$FF,$7F,$FF $920A DEFB $FA,$00,$00,$FF,$7F,$FE,$F4,$00,$00 $9213 DEFB $FF,$7F,$FE,$F4,$00,$00,$FF,$BF,$FE $921C DEFB $C4,$00,$00,$FF,$5F,$FF,$3A,$00,$00 $9225 DEFB $7F,$2C,$FF,$C5,$80,$00,$3F,$13,$C5 $922E DEFB $00,$00,$00,$7F,$2C,$00,$00,$00,$00 $9237 DEFB $7C,$28,$00,$00,$00,$00,$F8,$50,$00 $9240 DEFB $00,$00,$00,$F8,$50,$00,$00,$00,$00 $9249 DEFB $F0,$A0,$00,$00,$00,$00,$E0,$00,$00 $9252 DEFB $00,$00,$00 ; Data block at 9255 @label=spr_25 b$9255 DEFB $02,$34 $9257 DEFB $00,$00,$03,$00,$00,$00,$0F,$03,$00 $9260 DEFB $00,$3F,$07,$00,$00,$FF,$3B,$03,$00 $9269 DEFB $FF,$FD,$0F,$03,$FF,$FE,$3F,$07,$FF $9272 DEFB $FF,$FF,$2F,$FF,$FF,$FF,$EF,$FF,$FE $927B DEFB $FF,$DF,$FF,$FE,$FF,$DF,$FF,$FD,$FF $9284 DEFB $BF,$FF,$FD,$FF,$BF,$FF,$FB,$FF,$7F $928D DEFB $FF,$FB,$FF,$7F,$FF,$F7,$FF,$7F,$FF $9296 DEFB $F7,$FF,$BF,$FF,$CB,$FF,$DF,$FF,$3D $929F DEFB $FF,$EC,$FF,$FE,$FF,$F3,$FF,$FF,$FF $92A8 DEFB $EF,$FF,$FF,$FF,$EF,$FF,$FE,$FF,$DF $92B1 DEFB $FF,$FE,$FF,$DF,$FF,$FD,$FF,$BF,$FF $92BA DEFB $FD,$FF,$BF,$FF,$FB,$FF,$7F,$FF,$FB $92C3 DEFB $FF,$7F,$FF,$F7,$FF,$7F,$FF,$F7,$FF $92CC DEFB $BF,$FF,$CB,$FF,$DF,$FF,$3D,$FF,$EC $92D5 DEFB $FF,$FE,$FF,$E3,$FF,$FF,$FF,$EF,$FF $92DE DEFB $FF,$FF,$EF,$FF,$FE,$FF,$DF,$FF,$FE $92E7 DEFB $FF,$DF,$FF,$FD,$FF,$BF,$FF,$FD,$FF $92F0 DEFB $BF,$FF,$FA,$FF,$7F,$FF,$FA,$FF,$7F $92F9 DEFB $FE,$F4,$FF,$7F,$FE,$F4,$FF,$BF,$FE $9302 DEFB $C4,$FF,$5F,$FF,$3A,$7F,$2C,$FF,$C5 $930B DEFB $3F,$13,$C5,$00,$7F,$2C,$00,$00,$7C $9314 DEFB $28,$00,$00,$F8,$50,$00,$00,$F8,$50 $931D DEFB $00,$00,$F0,$A0,$00,$00,$E0,$00,$00 $9326 DEFB $00 ; Data block at 9327 @label=spr_26 b$9327 DEFB $84,$20 $9329 DEFB $00,$00,$02,$02,$82,$82,$0F,$0F,$00 $9332 DEFB $00,$06,$06,$C7,$C7,$17,$17,$00,$00 $933B DEFB $0E,$0E,$EF,$EF,$B7,$B7,$00,$00,$1E $9344 DEFB $1E,$7F,$7F,$F4,$F4,$00,$00,$3D,$3D $934D DEFB $6F,$6F,$B7,$B7,$00,$00,$7B,$7B,$B7 $9356 DEFB $B7,$B7,$B7,$00,$00,$F7,$F7,$B7,$B7 $935F DEFB $B7,$B7,$01,$01,$EF,$EF,$D3,$D3,$B7 $9368 DEFB $B7,$03,$03,$DF,$DF,$DB,$DB,$B7,$B7 $9371 DEFB $07,$07,$BF,$BF,$EB,$EB,$D7,$D7,$0F $937A DEFB $0F,$7F,$7F,$ED,$ED,$D7,$D7,$1E,$1E $9383 DEFB $FF,$FF,$F5,$F5,$D7,$D7,$3D,$3D,$FF $938C DEFB $FF,$F5,$F5,$D7,$D7,$7B,$7B,$FF,$FF $9395 DEFB $FA,$FA,$D7,$D7,$F7,$F7,$FF,$FF,$FA $939E DEFB $FA,$E7,$E7,$0F,$0F,$FF,$FF,$FD,$FD $93A7 DEFB $E7,$E7,$E7,$E7,$FF,$FF,$FD,$FD,$64 $93B0 DEFB $64,$79,$79,$FF,$FF,$FC,$FC,$67,$67 $93B9 DEFB $3E,$3E,$7F,$7F,$FA,$FA,$EF,$EF,$17 $93C2 DEFB $17,$9F,$9F,$F7,$F7,$57,$57,$38,$38 $93CB DEFB $E7,$E7,$EF,$EF,$00,$00,$7E,$7E,$39 $93D4 DEFB $39,$DE,$DE,$00,$00,$FF,$FF,$C6,$C6 $93DD DEFB $3C,$3C,$00,$00,$7F,$7F,$F9,$F9,$98 $93E6 DEFB $98,$00,$00,$3F,$3F,$FF,$FF,$20,$20 $93EF DEFB $00,$00,$10,$10,$7F,$7F,$F0,$F0,$00 $93F8 DEFB $00,$3F,$3F,$83,$83,$E0,$E0,$00,$00 $9401 DEFB $7F,$7F,$FC,$FC,$10,$10,$00,$00,$80 $940A DEFB $80,$00,$00,$20,$20,$00,$00,$FF,$FF $9413 DEFB $FF,$FF,$F0,$F0,$00,$00,$EF,$EF,$FF $941C DEFB $FF,$70,$70,$00,$00,$EF,$EF,$FF,$FF $9425 DEFB $70,$70,$00,$00 ; Data block at 9429 @label=spr_27 b$9429 DEFB $81,$18 $942B DEFB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00,$FF $9434 DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $943D DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF $9446 DEFB $FF,$FF,$FF,$FF,$FF,$00,$00,$FF,$FF $944F DEFB $FF,$FF,$FF,$FF,$00,$00,$00,$00,$00 $9458 DEFB $00,$00,$00 ; Data block at 945B @label=spr_28 b$945B DEFB $43,$01 $945D DEFB $0E,$0E,$FF,$FF,$F7,$F7 ; Data block at 9463 @label=spr_29 b$9463 DEFB $01,$08 $9465 DEFB $FF,$FF,$FF,$FF,$C3,$C3,$C3,$C3,$C3 $946E DEFB $C3,$C3,$C3,$FF,$FF,$FF,$FF ; Data block at 9475 @label=spr_2A b$9475 DEFB $02,$0C $9477 DEFB $FB,$FB,$00,$00,$F1,$F1,$C0,$C0,$E0 $9480 DEFB $E0,$E0,$E0,$70,$70,$70,$70,$38,$38 $9489 DEFB $F8,$F8,$1D,$1D,$FC,$FC,$0F,$0F,$FE $9492 DEFB $FE,$07,$07,$FF,$FF,$03,$03,$FF,$FF $949B DEFB $01,$01,$FC,$FC,$00,$00,$F0,$F0,$00 $94A4 DEFB $00,$40,$40 ; Data block at 94A7 @label=spr_2B b$94A7 DEFB $02,$10 $94A9 DEFB $FF,$FF,$F0,$F0,$1F,$1F,$F0,$F0,$1F $94B2 DEFB $1F,$38,$38,$0E,$0E,$38,$38,$0E,$0E $94BB DEFB $1C,$1C,$07,$07,$1C,$1C,$07,$07,$0E $94C4 DEFB $0E,$03,$03,$9E,$9E,$03,$03,$FF,$FF $94CD DEFB $01,$01,$FC,$FC,$01,$01,$F0,$F0,$00 $94D6 DEFB $00,$C0,$C0,$03,$03,$00,$00,$0C,$0C $94DF DEFB $00,$00,$30,$30,$00,$00,$C0,$C0,$00 $94E8 DEFB $00 ; Data block at 94E9 @label=spr_2C b$94E9 DEFB $02,$08 $94EB DEFB $00,$00,$03,$03,$00,$00,$0C,$0C,$00 $94F4 DEFB $00,$30,$30,$00,$00,$C0,$C0,$03,$03 $94FD DEFB $00,$00,$0C,$0C,$00,$00,$30,$30,$00 $9506 DEFB $00,$C0,$C0,$00,$00 ; Data block at 950B @label=spr_2D b$950B DEFB $04,$18 $950D DEFB $00,$00,$01,$00,$80,$00,$00,$00,$00 $9516 DEFB $00,$07,$01,$E0,$80,$00,$00,$00,$00 $951F DEFB $1F,$06,$F8,$E0,$00,$00,$00,$00,$7F $9528 DEFB $1E,$FE,$F8,$00,$00,$01,$00,$FF,$7E $9531 DEFB $FF,$FE,$80,$00,$07,$01,$FF,$FA,$FF $953A DEFB $FF,$E0,$80,$1F,$07,$FF,$E2,$FF,$FF $9543 DEFB $F8,$E0,$7F,$1F,$FF,$9A,$FF,$FF,$FE $954C DEFB $F8,$FF,$7E,$FF,$7A,$FF,$FF,$FF,$FE $9555 DEFB $7F,$38,$FF,$FA,$FF,$FF,$FE,$FC,$3F $955E DEFB $1D,$FF,$7A,$FF,$FF,$FC,$F8,$1F,$0E $9567 DEFB $FF,$9A,$FF,$FF,$F8,$F0,$0F,$07,$FF $9570 DEFB $6A,$FF,$FF,$F0,$E0,$07,$03,$FF,$BA $9579 DEFB $FF,$FF,$E0,$C0,$03,$01,$FF,$DA,$FF $9582 DEFB $FF,$C0,$80,$01,$00,$FF,$EA,$FF,$FF $958B DEFB $80,$00,$00,$00,$FF,$72,$FF,$FE,$00 $9594 DEFB $00,$00,$00,$7F,$3A,$FE,$FC,$00,$00 $959D DEFB $00,$00,$3F,$1E,$FC,$F8,$00,$00,$00 $95A6 DEFB $00,$1F,$0E,$F8,$F0,$00,$00,$00,$00 $95AF DEFB $0F,$06,$F0,$E0,$00,$00,$00,$00,$07 $95B8 DEFB $02,$E0,$C0,$00,$00,$00,$00,$03,$01 $95C1 DEFB $C0,$80,$00,$00,$00,$00,$01,$00,$80 $95CA DEFB $00,$00,$00 ; Data block at 95CD @label=spr_2E b$95CD DEFB $02,$11 $95CF DEFB $0E,$00,$38,$00,$1F,$0E,$7C,$38,$1F $95D8 DEFB $0B,$FC,$78,$0F,$05,$F8,$70,$07,$03 $95E1 DEFB $F0,$60,$0F,$03,$F8,$E0,$1F,$0D,$FC $95EA DEFB $F8,$1F,$0D,$FC,$F8,$1F,$0D,$FC,$F8 $95F3 DEFB $1F,$0D,$FC,$F8,$1F,$0E,$FC,$38,$0F $95FC DEFB $01,$F8,$C0,$0F,$07,$F8,$F0,$0F,$07 $9605 DEFB $F8,$F0,$07,$02,$F0,$A0,$07,$03,$F0 $960E DEFB $E0,$03,$00,$E0,$00 ; Data block at 9613 @label=spr_2F b$9613 DEFB $04,$11 $9615 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $961E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9627 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9630 DEFB $00,$00,$00,$00,$00,$03,$00,$FC,$00 $9639 DEFB $3F,$00,$C0,$00,$07,$03,$FE,$FC,$7F $9642 DEFB $3F,$E0,$C0,$03,$01,$FC,$F8,$3F,$1F $964B DEFB $C0,$80,$01,$00,$F8,$F0,$1F,$0F,$80 $9654 DEFB $00,$03,$00,$FF,$00,$FF,$00,$C0,$00 $965D DEFB $07,$03,$FF,$FF,$FF,$FF,$E0,$C0,$0F $9666 DEFB $03,$FF,$FF,$FF,$FF,$F0,$C0,$1F,$0B $966F DEFB $FF,$F0,$FF,$0F,$F8,$D0,$1F,$0B,$FF $9678 DEFB $F7,$FF,$EF,$F8,$D0,$1F,$0B,$FF,$F7 $9681 DEFB $FF,$EF,$F8,$D0,$1F,$09,$FF,$F0,$FF $968A DEFB $0F,$F8,$B0,$1F,$0D,$FF,$F8,$FF,$1F $9693 DEFB $F8,$B0,$1F,$0D,$FF,$FB,$FF,$DF,$F8 $969C DEFB $B0 ; Data block at 969D @label=spr_30 b$969D DEFB $04,$10 $969F DEFB $1F,$0D,$FF,$F8,$FF,$1F,$F8,$B0,$1F $96A8 DEFB $0D,$FF,$FF,$FF,$FF,$F8,$B0,$0F,$05 $96B1 DEFB $FF,$00,$FF,$00,$F0,$A0,$05,$00,$FF $96BA DEFB $FF,$FF,$FF,$A0,$00,$00,$00,$FF,$00 $96C3 DEFB $FF,$00,$80,$00,$01,$00,$FF,$FF,$FF $96CC DEFB $FF,$80,$00,$01,$00,$FF,$F9,$FF,$9F $96D5 DEFB $80,$00,$00,$00,$FF,$74,$FF,$2E,$00 $96DE DEFB $00,$00,$00,$FF,$76,$FF,$6E,$00,$00 $96E7 DEFB $00,$00,$7F,$39,$FE,$9C,$00,$00,$00 $96F0 DEFB $00,$7F,$3F,$FE,$FC,$00,$00,$00,$00 $96F9 DEFB $7F,$20,$FE,$04,$00,$00,$00,$00,$3F $9702 DEFB $1F,$FC,$F8,$00,$00,$00,$00,$3F,$1F $970B DEFB $FC,$F8,$00,$00,$00,$00,$1F,$00,$F8 $9714 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $971D DEFB $00,$00 ; Data block at 971F @label=spr_31 b$971F DEFB $04,$11 $9721 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $972A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9733 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $973C DEFB $00,$00,$00,$00,$00,$03,$00,$FC,$00 $9745 DEFB $3F,$00,$C0,$00,$07,$03,$FE,$FC,$7F $974E DEFB $3F,$E0,$C0,$03,$01,$FC,$F8,$3F,$1F $9757 DEFB $C0,$80,$01,$00,$F8,$F0,$1F,$0F,$80 $9760 DEFB $00,$03,$00,$FF,$00,$FF,$00,$C0,$00 $9769 DEFB $07,$03,$FF,$FF,$FF,$FF,$E0,$C0,$0F $9772 DEFB $03,$FF,$FF,$FF,$FF,$F0,$C0,$1F,$0B $977B DEFB $FF,$FF,$FF,$FF,$F8,$D0,$1F,$0B,$FF $9784 DEFB $FF,$FF,$FF,$F8,$D0,$1F,$0B,$FF,$FF $978D DEFB $FF,$FF,$F8,$D0,$1F,$09,$FF,$FF,$FF $9796 DEFB $FF,$F8,$B0,$1F,$0D,$FF,$FF,$FF,$FF $979F DEFB $F8,$B0,$1F,$0D,$FF,$FF,$FF,$FF,$F8 $97A8 DEFB $B0 ; Data block at 97A9 @label=spr_32 b$97A9 DEFB $04,$10 $97AB DEFB $1F,$0D,$FF,$FF,$FF,$FF,$F8,$B0,$1F $97B4 DEFB $0D,$FF,$FF,$FF,$FF,$F8,$B0,$0F,$05 $97BD DEFB $FF,$00,$FF,$00,$F0,$A0,$05,$00,$FF $97C6 DEFB $FF,$FF,$FF,$A0,$00,$00,$00,$FF,$00 $97CF DEFB $FF,$00,$00,$00,$01,$00,$FF,$FF,$FF $97D8 DEFB $FF,$80,$00,$01,$00,$FF,$FF,$FF,$FF $97E1 DEFB $80,$00,$00,$00,$FF,$7F,$FF,$FE,$00 $97EA DEFB $00,$00,$00,$FF,$7F,$FF,$FE,$00,$00 $97F3 DEFB $00,$00,$7F,$3F,$FE,$FC,$00,$00,$00 $97FC DEFB $00,$7F,$3F,$FE,$FC,$00,$00,$00,$00 $9805 DEFB $7F,$20,$FE,$04,$00,$00,$00,$00,$3F $980E DEFB $1F,$FC,$F8,$00,$00,$00,$00,$3F,$1F $9817 DEFB $FC,$F8,$00,$00,$00,$00,$1F,$00,$F8 $9820 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9829 DEFB $00,$00 ; Data block at 982B @label=spr_33 b$982B DEFB $04,$11 $982D DEFB $00,$00,$7F,$00,$FE,$00,$00,$00,$00 $9836 DEFB $00,$FF,$7F,$FF,$FE,$00,$00,$00,$00 $983F DEFB $FF,$3F,$FF,$FA,$00,$00,$00,$00,$FF $9848 DEFB $5F,$FE,$E4,$00,$00,$00,$00,$7F,$2F $9851 DEFB $FC,$B8,$00,$00,$00,$00,$FF,$00,$FF $985A DEFB $00,$00,$00,$01,$00,$FF,$FF,$FF,$FF $9863 DEFB $80,$00,$01,$00,$FF,$FF,$FF,$FF,$80 $986C DEFB $00,$01,$00,$FF,$FC,$FF,$3F,$80,$00 $9875 DEFB $01,$00,$FF,$FC,$FF,$1F,$80,$00,$01 $987E DEFB $00,$FF,$FE,$FF,$5F,$80,$00,$01,$00 $9887 DEFB $FF,$FE,$FF,$5E,$00,$00,$00,$00,$FF $9890 DEFB $7C,$FF,$5E,$00,$00,$00,$00,$FF,$7C $9899 DEFB $FF,$BE,$00,$00,$01,$00,$FF,$FC,$FF $98A2 DEFB $BF,$80,$00,$01,$00,$FF,$FC,$FF,$BF $98AB DEFB $80,$00,$01,$00,$FF,$FD,$FF,$BF,$80 $98B4 DEFB $00 ; Data block at 98B5 @label=spr_34 b$98B5 DEFB $04,$11 $98B7 DEFB $01,$00,$FF,$BC,$FF,$7D,$80,$00,$01 $98C0 DEFB $00,$FF,$BF,$FF,$FD,$80,$00,$00,$00 $98C9 DEFB $FF,$7F,$FF,$FE,$00,$00,$00,$00,$FF $98D2 DEFB $40,$FF,$02,$00,$00,$00,$00,$FF,$5F $98DB DEFB $FF,$FA,$00,$00,$00,$00,$FF,$40,$FF $98E4 DEFB $02,$00,$00,$00,$00,$7F,$3F,$FE,$FC $98ED DEFB $00,$00,$00,$00,$7F,$3F,$FE,$FC,$00 $98F6 DEFB $00,$00,$00,$7F,$3F,$FE,$FC,$00,$00 $98FF DEFB $00,$00,$7F,$2F,$FE,$F4,$00,$00,$00 $9908 DEFB $00,$7F,$37,$FE,$EC,$00,$00,$00,$00 $9911 DEFB $7F,$37,$FE,$EC,$00,$00,$00,$00,$3F $991A DEFB $18,$FC,$18,$00,$00,$00,$00,$3F,$1B $9923 DEFB $FC,$D8,$00,$00,$00,$00,$1F,$0B,$F8 $992C DEFB $D0,$00,$00,$00,$00,$1F,$0F,$F8,$F0 $9935 DEFB $00,$00,$00,$00,$0F,$00,$F0,$00,$00 $993E DEFB $00 ; Data block at 993F @label=spr_35 b$993F DEFB $04,$11 $9941 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $994A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9953 DEFB $1E,$00,$00,$00,$00,$00,$00,$00,$7F $995C DEFB $1A,$80,$00,$00,$00,$01,$00,$FF,$77 $9965 DEFB $E3,$80,$80,$00,$07,$01,$FF,$E3,$FF $996E DEFB $E3,$F0,$80,$0F,$07,$FF,$CC,$FF,$CF $9977 DEFB $FC,$70,$07,$03,$FF,$3B,$FF,$1C,$FE $9980 DEFB $FC,$03,$00,$FF,$FB,$FF,$CB,$FC,$F8 $9989 DEFB $07,$03,$FF,$FB,$FF,$F3,$F8,$F0,$0F $9992 DEFB $07,$FF,$C3,$FF,$1C,$F0,$E0,$1F,$0F $999B DEFB $FF,$C3,$FF,$27,$E0,$00,$1F,$0F,$FF $99A4 DEFB $93,$FF,$33,$E0,$C0,$1F,$0F,$FF,$13 $99AD DEFB $FF,$19,$F0,$E0,$1F,$0E,$FF,$2B,$FF $99B6 DEFB $09,$F0,$E0,$1F,$0E,$FF,$2B,$FF,$A1 $99BF DEFB $E0,$C0,$1F,$0E,$FF,$DB,$FF,$B9,$E0 $99C8 DEFB $C0 ; Data block at 99C9 @label=spr_36 b$99C9 DEFB $04,$11 $99CB DEFB $1F,$0E,$FF,$31,$FF,$CB,$E0,$C0,$0F $99D4 DEFB $07,$FF,$CE,$FF,$73,$C0,$80,$0F,$07 $99DD DEFB $FF,$3F,$FF,$9F,$C0,$80,$0F,$04,$FF $99E6 DEFB $F1,$FF,$E7,$C0,$80,$07,$03,$FF,$CE $99EF DEFB $FF,$79,$C0,$80,$0F,$07,$FF,$3B,$FF $99F8 DEFB $9E,$80,$00,$07,$00,$FF,$FB,$FF,$E7 $9A01 DEFB $80,$00,$07,$03,$FF,$FB,$FF,$38,$00 $9A0A DEFB $00,$0F,$07,$FF,$F6,$FF,$9E,$80,$00 $9A13 DEFB $07,$03,$FF,$F6,$FF,$E7,$C0,$80,$03 $9A1C DEFB $01,$FF,$EB,$FF,$37,$80,$00,$01,$00 $9A25 DEFB $FF,$9C,$FF,$C6,$00,$00,$00,$00,$FF $9A2E DEFB $7F,$FE,$3C,$00,$00,$00,$00,$7F,$1F $9A37 DEFB $FC,$C8,$00,$00,$00,$00,$1F,$07,$F8 $9A40 DEFB $E0,$00,$00,$00,$00,$07,$01,$E0,$80 $9A49 DEFB $00,$00,$00,$00,$01,$00,$80,$00,$00 $9A52 DEFB $00 ; Data block at 9A53 @label=spr_37 b$9A53 DEFB $04,$11 $9A55 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9A5E DEFB $00,$0F,$00,$00,$00,$00,$00,$00,$00 $9A67 DEFB $3F,$0D,$C0,$00,$00,$00,$00,$00,$FF $9A70 DEFB $3B,$F0,$C0,$00,$00,$03,$00,$FF,$F7 $9A79 DEFB $F8,$F0,$00,$00,$07,$03,$FF,$F3,$FF $9A82 DEFB $E0,$00,$00,$03,$01,$FF,$CC,$FF,$C7 $9A8B DEFB $E0,$00,$01,$00,$FF,$3B,$FF,$1E,$F8 $9A94 DEFB $E0,$03,$00,$FF,$FB,$FF,$C9,$FC,$F8 $9A9D DEFB $07,$03,$FF,$9B,$FF,$F3,$F8,$F0,$0F $9AA6 DEFB $06,$FF,$5B,$FF,$1C,$F0,$E0,$1F,$0E $9AAF DEFB $FF,$5B,$FF,$27,$E0,$00,$1F,$0E,$FF $9AB8 DEFB $3B,$FF,$33,$E0,$C0,$1F,$0F,$FF,$3B $9AC1 DEFB $FF,$19,$F0,$E0,$1F,$0E,$FF,$5B,$FF $9ACA DEFB $09,$F0,$E0,$1F,$0E,$FF,$5B,$FF,$A1 $9AD3 DEFB $E0,$C0,$1F,$0E,$FF,$BB,$FF,$B9,$E0 $9ADC DEFB $C0 ; Data block at 9ADD @label=spr_38 b$9ADD DEFB $04,$11 $9ADF DEFB $1F,$0E,$FF,$71,$FF,$CB,$E0,$C0,$0F $9AE8 DEFB $07,$FF,$CE,$FF,$73,$C0,$80,$0F,$07 $9AF1 DEFB $FF,$3F,$FF,$9F,$C0,$80,$0F,$04,$FF $9AFA DEFB $F1,$FF,$E7,$C0,$80,$07,$03,$FF,$CE $9B03 DEFB $FF,$79,$C0,$80,$0F,$07,$FF,$3B,$FF $9B0C DEFB $9E,$80,$00,$07,$00,$FF,$FB,$FF,$E7 $9B15 DEFB $80,$00,$07,$03,$FF,$FB,$FF,$38,$00 $9B1E DEFB $00,$0F,$07,$FF,$F6,$FF,$9E,$80,$00 $9B27 DEFB $07,$03,$FF,$F6,$FF,$E7,$C0,$80,$03 $9B30 DEFB $01,$FF,$EB,$FF,$37,$80,$00,$01,$00 $9B39 DEFB $FF,$9C,$FF,$C6,$00,$00,$00,$00,$FF $9B42 DEFB $7F,$FE,$3C,$00,$00,$00,$00,$7F,$1F $9B4B DEFB $FC,$C8,$00,$00,$00,$00,$1F,$07,$F8 $9B54 DEFB $E0,$00,$00,$00,$00,$07,$01,$E0,$80 $9B5D DEFB $00,$00,$00,$00,$01,$00,$80,$00,$00 $9B66 DEFB $00 ; Data block at 9B67 @label=spr_39 b$9B67 DEFB $04,$11 $9B69 DEFB $00,$00,$07,$00,$80,$00,$00,$00,$00 $9B72 DEFB $00,$1F,$06,$E0,$80,$00,$00,$00,$00 $9B7B DEFB $7F,$1D,$F8,$E0,$00,$00,$01,$00,$FF $9B84 DEFB $7B,$FC,$F8,$00,$00,$03,$01,$FF,$F7 $9B8D DEFB $F8,$F0,$00,$00,$01,$00,$FF,$F3,$F0 $9B96 DEFB $E0,$00,$00,$00,$00,$FF,$4C,$FE,$C0 $9B9F DEFB $00,$00,$00,$00,$FF,$3B,$FF,$0E,$C0 $9BA8 DEFB $00,$03,$00,$FF,$FB,$FF,$DD,$F0,$C0 $9BB1 DEFB $07,$03,$FF,$FB,$FF,$F3,$F8,$F0,$0F $9BBA DEFB $07,$FF,$FB,$FF,$1C,$F0,$E0,$1F,$0F $9BC3 DEFB $FF,$FB,$FF,$27,$E0,$00,$1F,$08,$FF $9BCC DEFB $FB,$FF,$3B,$E0,$C0,$1F,$00,$FF,$3B $9BD5 DEFB $FF,$19,$F0,$E0,$1F,$00,$FF,$5B,$FF $9BDE DEFB $09,$F0,$E0,$1F,$0C,$FF,$5B,$FF,$A1 $9BE7 DEFB $F8,$D0,$1F,$0E,$FF,$BB,$FF,$B9,$F8 $9BF0 DEFB $D0 ; Data block at 9BF1 @label=spr_3A b$9BF1 DEFB $04,$11 $9BF3 DEFB $1F,$0F,$FF,$71,$FF,$CB,$F8,$D0,$0F $9BFC DEFB $07,$FF,$CE,$FF,$73,$F8,$B0,$0F,$07 $9C05 DEFB $FF,$3F,$FF,$9F,$F0,$A0,$0F,$04,$FF $9C0E DEFB $F1,$FF,$E7,$E0,$80,$07,$03,$FF,$CE $9C17 DEFB $FF,$79,$C0,$80,$0F,$07,$FF,$3B,$FF $9C20 DEFB $9E,$80,$00,$07,$00,$FF,$FB,$FF,$E7 $9C29 DEFB $80,$00,$07,$03,$FF,$FB,$FF,$38,$00 $9C32 DEFB $00,$0F,$07,$FF,$F6,$FF,$9E,$80,$00 $9C3B DEFB $07,$03,$FF,$F6,$FF,$E7,$C0,$80,$03 $9C44 DEFB $01,$FF,$CB,$FF,$37,$80,$00,$01,$00 $9C4D DEFB $FF,$9C,$FF,$C6,$00,$00,$00,$00,$FF $9C56 DEFB $7F,$FE,$3C,$00,$00,$00,$00,$7F,$1F $9C5F DEFB $FC,$C8,$00,$00,$00,$00,$1F,$07,$F8 $9C68 DEFB $E0,$00,$00,$00,$00,$07,$01,$E0,$80 $9C71 DEFB $00,$00,$00,$00,$01,$00,$80,$00,$00 $9C7A DEFB $00 ; Data block at 9C7B @label=spr_3B b$9C7B DEFB $04,$11 $9C7D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9C86 DEFB $00,$0D,$00,$00,$00,$00,$00,$00,$00 $9C8F DEFB $3F,$0D,$C0,$00,$00,$00,$00,$00,$FF $9C98 DEFB $3D,$F0,$C0,$00,$00,$03,$00,$FF,$FD $9CA1 DEFB $F8,$F0,$00,$00,$07,$03,$FF,$F3,$F8 $9CAA DEFB $F0,$00,$00,$03,$00,$FF,$CC,$F0,$E0 $9CB3 DEFB $00,$00,$00,$00,$FF,$3B,$FC,$00,$00 $9CBC DEFB $00,$03,$00,$FF,$FB,$FF,$D4,$00,$00 $9CC5 DEFB $07,$03,$FF,$FB,$FF,$F3,$C0,$00,$0F $9CCE DEFB $07,$FF,$C3,$FF,$FC,$E0,$C0,$1F,$0F $9CD7 DEFB $FF,$D3,$FF,$FF,$C0,$00,$1F,$0F,$FF $9CE0 DEFB $D3,$FF,$FF,$E0,$C0,$1F,$0F,$FF,$13 $9CE9 DEFB $FF,$FF,$F0,$E0,$1F,$0E,$FF,$2B,$FF $9CF2 DEFB $FF,$F0,$E0,$1F,$0E,$FF,$2B,$FF,$FF $9CFB DEFB $E0,$C0,$1F,$0E,$FF,$DB,$FF,$FF,$E0 $9D04 DEFB $C0 ; Data block at 9D05 @label=spr_3C b$9D05 DEFB $04,$11 $9D07 DEFB $1F,$0E,$FF,$31,$FF,$FF,$E0,$C0,$0F $9D10 DEFB $07,$FF,$CE,$FF,$7F,$C0,$80,$0F,$07 $9D19 DEFB $FF,$3F,$FF,$9F,$C0,$80,$0F,$04,$FF $9D22 DEFB $F1,$FF,$E7,$C0,$80,$07,$03,$FF,$CE $9D2B DEFB $FF,$79,$C0,$80,$0F,$07,$FF,$3B,$FF $9D34 DEFB $9E,$80,$00,$07,$00,$FF,$FB,$FF,$E7 $9D3D DEFB $80,$00,$07,$03,$FF,$FB,$FF,$F8,$00 $9D46 DEFB $00,$0F,$07,$FF,$F7,$FF,$FE,$80,$00 $9D4F DEFB $07,$03,$FF,$F7,$FF,$FF,$C0,$80,$03 $9D58 DEFB $01,$FF,$EB,$FF,$FF,$80,$00,$01,$00 $9D61 DEFB $FF,$9C,$FF,$FE,$00,$00,$00,$00,$FF $9D6A DEFB $7F,$FE,$3C,$00,$00,$00,$00,$7F,$1F $9D73 DEFB $FC,$C8,$00,$00,$00,$00,$1F,$07,$F8 $9D7C DEFB $E0,$00,$00,$00,$00,$07,$01,$E0,$80 $9D85 DEFB $00,$00,$00,$00,$01,$00,$80,$00,$00 $9D8E DEFB $00 ; Data block at 9D8F @label=spr_3D b$9D8F DEFB $04,$11 $9D91 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9D9A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9DA3 DEFB $1A,$00,$00,$00,$00,$00,$00,$00,$7F $9DAC DEFB $1A,$80,$00,$00,$00,$01,$00,$FF,$7B $9DB5 DEFB $E0,$80,$00,$00,$07,$01,$FF,$F3,$F0 $9DBE DEFB $E0,$00,$00,$0F,$07,$FF,$CC,$FA,$E0 $9DC7 DEFB $00,$00,$07,$01,$FF,$3B,$FF,$0A,$80 $9DD0 DEFB $00,$03,$00,$FF,$FB,$FF,$CB,$E0,$80 $9DD9 DEFB $07,$03,$FF,$9B,$FF,$F3,$F0,$E0,$0F $9DE2 DEFB $06,$FF,$1B,$FF,$FC,$F0,$E0,$1F,$0E $9DEB DEFB $FF,$5B,$FF,$FF,$E0,$00,$1F,$0F,$FF $9DF4 DEFB $3B,$FF,$FF,$E0,$C0,$1F,$0F,$FF,$5B $9DFD DEFB $FF,$FF,$F0,$E0,$1F,$0E,$FF,$5B,$FF $9E06 DEFB $FF,$F0,$E0,$1F,$0E,$FF,$5B,$FF,$FF $9E0F DEFB $E0,$C0,$1F,$0E,$FF,$BB,$FF,$FF,$E0 $9E18 DEFB $C0 ; Data block at 9E19 @label=spr_3E b$9E19 DEFB $04,$11 $9E1B DEFB $1F,$0E,$FF,$71,$FF,$FF,$E0,$C0,$0F $9E24 DEFB $07,$FF,$CE,$FF,$7F,$C0,$80,$0F,$07 $9E2D DEFB $FF,$3F,$FF,$9F,$C0,$80,$0F,$04,$FF $9E36 DEFB $F1,$FF,$E7,$C0,$80,$07,$03,$FF,$CE $9E3F DEFB $FF,$79,$C0,$80,$0F,$07,$FF,$3B,$FF $9E48 DEFB $9E,$80,$00,$07,$00,$FF,$FB,$FF,$E7 $9E51 DEFB $80,$00,$0F,$03,$FF,$FB,$FF,$F8,$00 $9E5A DEFB $00,$0F,$07,$FF,$F7,$FF,$FE,$80,$00 $9E63 DEFB $07,$03,$FF,$F7,$FF,$FF,$C0,$80,$03 $9E6C DEFB $01,$FF,$EB,$FF,$FF,$80,$00,$01,$00 $9E75 DEFB $FF,$9C,$FF,$FE,$00,$00,$00,$00,$FF $9E7E DEFB $7F,$FE,$3C,$00,$00,$00,$00,$7F,$1F $9E87 DEFB $FC,$C8,$00,$00,$00,$00,$1F,$07,$F8 $9E90 DEFB $E0,$00,$00,$00,$00,$07,$01,$E0,$80 $9E99 DEFB $00,$00,$00,$00,$01,$00,$80,$00,$00 $9EA2 DEFB $00 ; Data block at 9EA3 @label=spr_3F b$9EA3 DEFB $04,$11 $9EA5 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9EAE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $9EB7 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$34 $9EC0 DEFB $00,$00,$00,$00,$00,$00,$00,$FF,$34 $9EC9 DEFB $00,$00,$00,$00,$03,$00,$FF,$F3,$C5 $9ED2 DEFB $00,$00,$00,$0F,$03,$FF,$CC,$FF,$C5 $9EDB DEFB $C0,$00,$1F,$0F,$FF,$3B,$FF,$1D,$F0 $9EE4 DEFB $C0,$0F,$00,$FF,$FB,$FF,$CD,$F8,$F0 $9EED DEFB $07,$03,$FF,$FB,$FF,$F0,$F8,$70,$0F $9EF6 DEFB $07,$FF,$FB,$FF,$FC,$F0,$20,$1F,$0F $9EFF DEFB $FF,$FB,$FF,$FF,$E0,$00,$1F,$08,$FF $9F08 DEFB $FB,$FF,$FF,$E0,$C0,$0F,$00,$FF,$3B $9F11 DEFB $FF,$FF,$F0,$E0,$0F,$00,$FF,$5B,$FF $9F1A DEFB $FF,$F0,$E0,$1F,$0C,$FF,$5B,$FF,$FF $9F23 DEFB $F8,$D0,$1F,$0E,$FF,$BB,$FF,$FF,$FC $9F2C DEFB $D8 ; Data block at 9F2D @label=spr_40 b$9F2D DEFB $04,$11 $9F2F DEFB $1F,$0F,$FF,$71,$FF,$FF,$FC,$D8,$0F $9F38 DEFB $07,$FF,$CE,$FF,$7F,$F8,$B0,$0F,$07 $9F41 DEFB $FF,$3F,$FF,$9F,$F0,$A0,$0F,$04,$FF $9F4A DEFB $F1,$FF,$E7,$E0,$80,$07,$03,$FF,$CE $9F53 DEFB $FF,$79,$C0,$80,$0F,$07,$FF,$3B,$FF $9F5C DEFB $9E,$80,$00,$07,$00,$FF,$FB,$FF,$E7 $9F65 DEFB $80,$00,$07,$03,$FF,$FB,$FF,$F8,$00 $9F6E DEFB $00,$0F,$07,$FF,$F7,$FF,$FE,$80,$00 $9F77 DEFB $07,$03,$FF,$F7,$FF,$FF,$C0,$80,$03 $9F80 DEFB $01,$FF,$EB,$FF,$FF,$80,$00,$01,$00 $9F89 DEFB $FF,$9C,$FF,$FE,$00,$00,$00,$00,$FF $9F92 DEFB $7F,$FE,$3C,$00,$00,$00,$00,$7F,$1F $9F9B DEFB $FC,$C8,$00,$00,$00,$00,$1F,$07,$F8 $9FA4 DEFB $E0,$00,$00,$00,$00,$07,$01,$E0,$80 $9FAD DEFB $00,$00,$00,$00,$01,$00,$80,$00,$00 $9FB6 DEFB $00 ; Data block at 9FB7 @label=spr_41 b$9FB7 DEFB $01,$30 $9FB9 DEFB $03,$00,$0F,$03,$3F,$07,$FF,$2F,$FF $9FC2 DEFB $EF,$FF,$DF,$FF,$DF,$FF,$BF,$FF,$BF $9FCB DEFB $FF,$7F,$FF,$7F,$FF,$7F,$FF,$BF,$FF $9FD4 DEFB $DF,$FF,$EC,$FF,$F3,$FF,$EF,$FF,$EF $9FDD DEFB $FF,$DF,$FF,$DF,$FF,$BF,$FF,$BF,$FF $9FE6 DEFB $7F,$FF,$7F,$FF,$7F,$FF,$BF,$FF,$DF $9FEF DEFB $FF,$EC,$FF,$E3,$FF,$EF,$FF,$EF,$FF $9FF8 DEFB $DF,$FF,$DF,$FF,$BF,$FF,$BF,$FF,$7F $A001 DEFB $FF,$7F,$FF,$7F,$FF,$BF,$FF,$5F,$7F $A00A DEFB $2C,$3F,$13,$7F,$2C,$7C,$28,$F8,$50 $A013 DEFB $F8,$50,$F0,$A0,$E0,$00 ; Data block at A019 @label=spr_42 b$A019 DEFB $03,$14 $A01B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $A024 DEFB $00,$00,$00,$08,$00,$00,$00,$00,$00 $A02D DEFB $1C,$08,$00,$00,$00,$00,$08,$00,$00 $A036 DEFB $00,$00,$00,$00,$00,$00,$00,$20,$00 $A03F DEFB $00,$00,$00,$00,$70,$20,$00,$00,$00 $A048 DEFB $00,$20,$00,$00,$00,$00,$00,$00,$00 $A051 DEFB $00,$00,$00,$00,$00,$00,$10,$00,$00 $A05A DEFB $00,$00,$00,$38,$10,$00,$00,$80,$00 $A063 DEFB $10,$00,$11,$00,$C0,$80,$00,$00,$38 $A06C DEFB $10,$80,$00,$00,$00,$7C,$38,$00,$00 $A075 DEFB $00,$00,$38,$10,$00,$00,$00,$00,$10 $A07E DEFB $00,$00,$00,$01,$00,$00,$00,$00,$00 $A087 DEFB $03,$01,$80,$00,$00,$00,$01,$00,$00 $A090 DEFB $00,$00,$00 ; Data block at A093 @label=spr_43 b$A093 DEFB $03,$15 $A095 DEFB $00,$00,$00,$00,$00,$00,$08,$00,$00 $A09E DEFB $00,$00,$00,$1C,$08,$00,$00,$00,$00 $A0A7 DEFB $3E,$1C,$00,$00,$00,$00,$1C,$08,$00 $A0B0 DEFB $00,$00,$00,$08,$00,$1C,$08,$70,$20 $A0B9 DEFB $00,$00,$3E,$1C,$F8,$70,$01,$00,$1C $A0C2 DEFB $08,$70,$20,$03,$01,$88,$00,$20,$00 $A0CB DEFB $11,$00,$00,$00,$00,$00,$38,$10,$00 $A0D4 DEFB $00,$80,$00,$7C,$38,$11,$00,$C0,$80 $A0DD DEFB $38,$10,$3B,$11,$E0,$C0,$10,$00,$7D $A0E6 DEFB $38,$C0,$80,$00,$00,$FE,$7C,$80,$00 $A0EF DEFB $00,$00,$7C,$38,$00,$00,$01,$00,$38 $A0F8 DEFB $10,$00,$00,$03,$01,$90,$00,$00,$00 $A101 DEFB $07,$03,$C0,$80,$00,$00,$03,$01,$80 $A10A DEFB $00,$00,$00,$01,$00,$00,$00,$00,$00 ; Data block at A113 @label=spr_44 b$A113 DEFB $03,$17 $A115 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 $A11E DEFB $00,$00,$00,$08,$00,$00,$00,$00,$00 $A127 DEFB $1C,$08,$08,$00,$00,$00,$08,$00,$1C $A130 DEFB $08,$00,$00,$00,$00,$3E,$1C,$20,$00 $A139 DEFB $01,$00,$7F,$3E,$70,$20,$03,$01,$BE $A142 DEFB $1C,$20,$00,$17,$03,$DC,$88,$00,$00 $A14B DEFB $3B,$11,$88,$00,$80,$00,$7D,$38,$11 $A154 DEFB $00,$C0,$80,$FE,$7C,$3B,$11,$E0,$C0 $A15D DEFB $7C,$38,$7F,$3B,$F0,$E0,$38,$10,$FF $A166 DEFB $7D,$E0,$C0,$11,$00,$FF,$FE,$C0,$80 $A16F DEFB $00,$00,$FE,$7C,$80,$00,$00,$00,$7C $A178 DEFB $38,$00,$00,$01,$00,$38,$10,$00,$00 $A181 DEFB $03,$01,$90,$00,$00,$00,$01,$00,$00 $A18A DEFB $00,$00,$00,$00,$00,$00,$00,$80,$00 $A193 DEFB $00,$00,$01,$00,$C0,$80,$00,$00,$00 $A19C DEFB $00,$80,$00 ; Data block at A19F @label=spr_45 b$A19F DEFB $03,$18 $A1A1 DEFB $00,$00,$00,$00,$00,$00,$08,$00,$00 $A1AA DEFB $00,$00,$00,$1C,$08,$08,$00,$00,$00 $A1B3 DEFB $3E,$1C,$1C,$01,$00,$00,$1C,$08,$3E $A1BC DEFB $1C,$20,$00,$09,$00,$7F,$3E,$70,$20 $A1C5 DEFB $03,$01,$FF,$7F,$F8,$70,$17,$03,$FF $A1CE DEFB $BE,$70,$20,$3F,$17,$FE,$DC,$20,$00 $A1D7 DEFB $7F,$3B,$DC,$88,$00,$00,$FF,$7D,$88 $A1E0 DEFB $00,$80,$00,$FF,$FE,$01,$00,$C0,$80 $A1E9 DEFB $FE,$7C,$13,$01,$E0,$C0,$7C,$38,$39 $A1F2 DEFB $10,$C8,$80,$38,$10,$7C,$38,$9C,$08 $A1FB DEFB $10,$00,$38,$10,$08,$00,$01,$00,$10 $A204 DEFB $00,$00,$00,$03,$10,$80,$00,$00,$00 $A20D DEFB $07,$03,$C0,$80,$00,$00,$03,$10,$80 $A216 DEFB $00,$80,$00,$01,$00,$09,$00,$C0,$80 $A21F DEFB $00,$00,$1F,$09,$E0,$C0,$00,$00,$09 $A228 DEFB $00,$C0,$80,$00,$00,$00,$00,$80,$00 ; Data block at A231 @label=spr_46 b$A231 DEFB $03,$18 $A233 DEFB $08,$00,$70,$20,$00,$00,$1C,$08,$F8 $A23C DEFB $70,$08,$00,$3F,$1C,$FC,$F8,$3C,$08 $A245 DEFB $7F,$36,$F8,$70,$78,$20,$3E,$1C,$78 $A24E DEFB $20,$F8,$70,$1C,$08,$3D,$08,$FC,$F8 $A257 DEFB $08,$00,$3F,$1D,$FE,$FC,$01,$00,$1D $A260 DEFB $08,$FC,$F8,$13,$01,$C8,$00,$F8,$70 $A269 DEFB $39,$10,$E0,$40,$70,$40,$7C,$38,$50 $A272 DEFB $00,$20,$00,$FE,$7C,$38,$10,$80,$00 $A27B DEFB $7F,$3A,$7D,$38,$C8,$80,$3A,$10,$FE $A284 DEFB $7C,$9C,$08,$11,$00,$FF,$FE,$3E,$1C $A28D DEFB $01,$00,$FF,$7C,$1C,$08,$03,$01,$FF $A296 DEFB $39,$88,$00,$07,$03,$F9,$90,$00,$00 $A29F DEFB $0F,$07,$F0,$C0,$80,$00,$07,$03,$C1 $A2A8 DEFB $80,$C0,$80,$03,$01,$8B,$01,$E0,$C0 $A2B1 DEFB $01,$00,$1F,$0B,$F0,$E0,$00,$00,$0B $A2BA DEFB $01,$E0,$C0,$00,$00,$01,$00,$C0,$80 ; Data block at A2C3 @label=spr_47 b$A2C3 DEFB $03,$18 $A2C5 DEFB $1C,$08,$00,$00,$08,$00,$3E,$1C,$20 $A2CE DEFB $00,$1C,$08,$7F,$3E,$78,$20,$3E,$1C $A2D7 DEFB $FF,$7F,$BC,$08,$1C,$08,$7F,$3E,$3E $A2E0 DEFB $1C,$28,$00,$3F,$1C,$7F,$3E,$70,$20 $A2E9 DEFB $1F,$09,$FF,$7F,$F8,$70,$0F,$03,$FF $A2F2 DEFB $BE,$70,$20,$0F,$07,$FE,$DC,$A0,$00 $A2FB DEFB $07,$03,$DD,$88,$C0,$80,$13,$01,$8B $A304 DEFB $01,$E0,$C0,$3B,$10,$07,$03,$F8,$E0 $A30D DEFB $17,$02,$13,$01,$FC,$C8,$0F,$07,$B9 $A316 DEFB $10,$FE,$9C,$07,$02,$7D,$38,$FF,$3E $A31F DEFB $03,$01,$BB,$11,$BE,$1C,$07,$03,$D7 $A328 DEFB $83,$DC,$11,$0F,$07,$E3,$C1,$88,$00 $A331 DEFB $1F,$0F,$F9,$E0,$00,$00,$0F,$07,$FC $A33A DEFB $C8,$80,$00,$07,$03,$FF,$9C,$C0,$80 $A343 DEFB $03,$01,$FF,$3F,$E0,$C0,$01,$00,$BF $A34C DEFB $1C,$C0,$80,$00,$00,$1C,$08,$80,$00 ; Data block at A355 @label=spr_48 b$A355 DEFB $04,$19 $A357 DEFB $00,$00,$1F,$00,$F8,$00,$00,$00,$00 $A360 DEFB $00,$FF,$1F,$FF,$F8,$00,$00,$03,$00 $A369 DEFB $FF,$FF,$FF,$FF,$C0,$00,$07,$03,$FF $A372 DEFB $E0,$FF,$07,$E0,$C0,$0F,$07,$FF,$1F $A37B DEFB $FF,$F8,$F0,$E0,$1F,$0C,$FF,$FF,$FF $A384 DEFB $FF,$F8,$30,$3F,$18,$FF,$7F,$FF,$FF $A38D DEFB $FC,$D8,$3F,$10,$FF,$7F,$FF,$FF,$FC $A396 DEFB $E8,$3F,$08,$FF,$7F,$FF,$FF,$FC,$F0 $A39F DEFB $3F,$1C,$FF,$3F,$FF,$FF,$FC,$F8,$3F $A3A8 DEFB $1E,$FF,$3C,$FF,$3F,$FC,$F8,$3F,$1E $A3B1 DEFB $FF,$23,$FF,$C7,$FC,$F8,$1F,$0F,$FF $A3BA DEFB $5F,$FF,$F9,$F8,$F0,$0F,$07,$FF,$9F $A3C3 DEFB $FF,$FE,$F0,$E0,$07,$02,$FF,$9C,$FF $A3CC DEFB $3F,$E0,$40,$03,$00,$FF,$83,$FF,$C7 $A3D5 DEFB $C0,$00,$03,$01,$FF,$9E,$FF,$79,$C0 $A3DE DEFB $80,$03,$01,$FF,$7C,$FF,$3E,$C0,$80 $A3E7 DEFB $03,$01,$FF,$7F,$FF,$FE,$C0,$80,$03 $A3F0 DEFB $00,$FF,$E7,$FF,$E7,$C0,$00,$01,$00 $A3F9 DEFB $FF,$E3,$FF,$C7,$80,$00,$00,$00,$FF $A402 DEFB $73,$FF,$CE,$00,$00,$00,$00,$7F,$1F $A40B DEFB $FE,$F8,$00,$00,$00,$00,$1F,$03,$F8 $A414 DEFB $C0,$00,$00,$00,$00,$03,$00,$C0,$00 $A41D DEFB $00,$00 ; Data block at A41F @label=spr_49 b$A41F DEFB $03,$18 $A421 DEFB $00,$00,$3C,$00,$00,$00,$03,$00,$7E $A42A DEFB $3C,$C0,$00,$07,$03,$FF,$7E,$E0,$C0 $A433 DEFB $0F,$07,$FF,$42,$F0,$E0,$0F,$06,$FF $A43C DEFB $3C,$F0,$60,$0F,$01,$FF,$FF,$F0,$80 $A445 DEFB $0F,$03,$FF,$7F,$F0,$E0,$1F,$0C,$FF $A44E DEFB $7F,$F8,$F0,$3F,$1C,$FF,$7F,$FC,$F8 $A457 DEFB $3F,$1C,$FF,$7F,$FC,$F8,$3F,$1C,$FF $A460 DEFB $7F,$FC,$F8,$3F,$1C,$FF,$43,$FC,$F8 $A469 DEFB $3F,$1D,$FF,$BC,$FC,$78,$3F,$1A,$FF $A472 DEFB $7F,$FC,$98,$3F,$14,$FF,$3F,$FC,$E8 $A47B DEFB $3F,$0F,$FF,$1F,$FC,$F0,$3F,$1F,$FF $A484 DEFB $8F,$FC,$F8,$3F,$1F,$FF,$EF,$FC,$F8 $A48D DEFB $3F,$1F,$FF,$FF,$FC,$F8,$1F,$0F,$FF $A496 DEFB $FF,$F8,$F0,$0F,$07,$FF,$FF,$F0,$E0 $A49F DEFB $07,$01,$FF,$FF,$E0,$80,$01,$00,$FF $A4A8 DEFB $3C,$80,$00,$00,$00,$3C,$00,$00,$00 ; Data block at A4B1 @label=spr_4A b$A4B1 DEFB $03,$17 $A4B3 DEFB $00,$00,$18,$00,$00,$00,$00,$00,$3C $A4BC DEFB $18,$00,$00,$01,$00,$FF,$3C,$80,$00 $A4C5 DEFB $03,$01,$FF,$BD,$C0,$80,$07,$03,$FF $A4CE DEFB $A5,$E0,$C0,$07,$03,$FF,$99,$E0,$C0 $A4D7 DEFB $07,$02,$FF,$6E,$E0,$40,$07,$01,$FF $A4E0 DEFB $EF,$E0,$80,$1F,$07,$FF,$EF,$F8,$E0 $A4E9 DEFB $3F,$1F,$FF,$EF,$FC,$F8,$3F,$1F,$FF $A4F2 DEFB $EF,$FC,$F8,$3F,$1F,$FF,$EF,$FC,$F8 $A4FB DEFB $3F,$1F,$FF,$EF,$FC,$F8,$3F,$1F,$FF $A504 DEFB $99,$FC,$F8,$3F,$1E,$FF,$7E,$FC,$78 $A50D DEFB $3F,$19,$FF,$FF,$FC,$98,$3F,$17,$FF $A516 DEFB $FF,$FC,$E8,$3F,$1F,$FF,$FF,$FC,$F8 $A51F DEFB $1F,$07,$FF,$FF,$F8,$E0,$07,$01,$FF $A528 DEFB $FF,$E0,$80,$01,$00,$FF,$7E,$80,$00 $A531 DEFB $00,$00,$7E,$18,$00,$00,$00,$00,$18 $A53A DEFB $00,$00,$00 ; Data block at A53D @label=spr_4B b$A53D DEFB $03,$13 $A53F DEFB $00,$00,$18,$00,$00,$00,$00,$00,$3C $A548 DEFB $18,$00,$00,$01,$00,$FF,$3C,$80,$00 $A551 DEFB $03,$01,$FF,$BD,$C0,$80,$07,$03,$FF $A55A DEFB $A5,$E0,$C0,$07,$03,$FF,$99,$E0,$C0 $A563 DEFB $07,$02,$FF,$6E,$E0,$40,$0F,$01,$FF $A56C DEFB $EF,$F0,$80,$3F,$07,$FF,$EF,$FC,$E0 $A575 DEFB $3F,$1F,$FF,$EF,$FC,$F8,$1F,$0F,$FF $A57E DEFB $EF,$F8,$F0,$0F,$07,$FF,$EF,$F0,$E0 $A587 DEFB $07,$03,$FF,$EF,$E0,$C0,$03,$01,$FF $A590 DEFB $EF,$C0,$80,$01,$00,$FF,$EF,$80,$00 $A599 DEFB $00,$00,$FF,$6E,$00,$00,$00,$00,$7E $A5A2 DEFB $2C,$00,$00,$00,$00,$3C,$18,$00,$00 $A5AB DEFB $00,$00,$18,$00,$00,$00 ; Data block at A5B1 @label=spr_4C b$A5B1 DEFB $03,$15 $A5B3 DEFB $00,$00,$3C,$00,$00,$00,$03,$00,$7E $A5BC DEFB $3C,$C0,$00,$07,$03,$FF,$7E,$E0,$C0 $A5C5 DEFB $0F,$07,$FF,$42,$F0,$E0,$0F,$06,$FF $A5CE DEFB $3C,$F0,$60,$0F,$01,$FF,$FF,$F0,$80 $A5D7 DEFB $0F,$07,$FF,$FF,$F0,$E0,$1F,$0F,$FF $A5E0 DEFB $FF,$F8,$F0,$3F,$1F,$FF,$FF,$FC,$F8 $A5E9 DEFB $3F,$1F,$FF,$3F,$FC,$F8,$3F,$1E,$FF $A5F2 DEFB $3F,$FC,$F8,$3F,$1C,$FF,$3F,$FC,$F8 $A5FB DEFB $1F,$0C,$FF,$3F,$F8,$F0,$1F,$0E,$FF $A604 DEFB $1F,$F8,$F0,$0F,$06,$FF,$1F,$F0,$E0 $A60D DEFB $0F,$07,$FF,$0F,$F0,$E0,$07,$03,$FF $A616 DEFB $8F,$E0,$C0,$03,$01,$FF,$CF,$C0,$80 $A61F DEFB $01,$00,$FF,$7E,$80,$00,$00,$00,$7E $A628 DEFB $18,$00,$00,$00,$00,$18,$00,$00,$00 ; Routine at A631 @label=START c$A631 LD HL,$5B00 ; $A634 LD BC,$0788 ; {number of bytes to clear $A637 LD A,($5C78) ; $A63A PUSH AF ; $A63B CALL $CE56 ; $A63E POP AF ; $A63F LD ($5B00),A ; $A642 CALL $A8F1 ; $A645 JR $A650 ; } ; Routine at A647 ; ; Used by the routines at #R$A9A8, #R$AB61 and #R$ABC6. @label=start_menu c$A647 LD HL,$5B08 ; $A64A LD BC,$0780 ; {number of bytes to clear $A64D CALL $CE56 ; } ; Routine at A650 ; ; Used by the routine at #R$A631. @label=loc_A650 c$A650 CALL $CFA7 ; $A653 XOR A ; $A654 LD ($5B12),A ; $A657 LD ($CA29),A ; in player sprite 1 $A65A LD A,$05 ; {5 lives_to_start $A65C LD ($5B1A),A ; } $A65F LD HL,$0060 ; {'`' $A662 LD ($5B36),HL ; $A665 LD HL,$0000 ; $A668 LD ($5B38),HL ; $A66B LD HL,$5B00 ; $A66E LD A,($5B02) ; $A671 ADD A,(HL) ; $A672 LD (HL),A ; $A673 CALL $CE73 ; $A676 CALL $BA7E ; $A679 LD DE,$B3C5 ; $A67C CALL $B4BA ; $A67F CALL $CA6D ; $A682 CALL $AF3F ; $A685 CALL $CAD2 ; } ; Routine at A688 ; ; Used by the routine at #R$A72E. @label=player_dies c$A688 CALL $CA07 ; ; Routine at A68B ; ; Used by the routine at #R$C3B7. @label=game_loop c$A68B CALL $CAA2 ; ; lose_life ; ; Used by the routines at #R$A72E and #R$B7E5. @label=onscreen_loop c$A68E LD IX,$5B88 ; ; Routine at A692 ; ; Used by the routine at #R$A6C0. @label=update_sprite_loop c$A692 LD SP,$F100 ; $A695 LD HL,$A6C0 ; return address $A698 PUSH HL ; save on stack $A699 LD A,(IX+$18) ; sprite data width (bytes) $A69C LD (IX+$1C),A ; old sprite data width (bytes) $A69F LD A,(IX+$19) ; sprite data height (lines) $A6A2 LD (IX+$1D),A ; old sprite data height (lines) $A6A5 LD A,(IX+$1A) ; pixel X $A6A8 LD (IX+$1E),A ; old pixel X $A6AB LD A,(IX+$1B) ; pixel Y $A6AE LD (IX+$1F),A ; old pixel Y ; Routine at A6B1 ; ; Used by the routine at #R$BC83. @label=jump_to_upd_object c$A6B1 LD L,(IX+$00) ; graphic no $A6B4 LD BC,$A7EA ; ; Routine at A6B7 ; ; Used by the routines at #R$C312 and #R$C82C. @label=jump_to_tbl_entry c$A6B7 LD H,$00 ; $A6B9 ADD HL,HL ; $A6BA ADD HL,BC ; $A6BB LD A,(HL) ; $A6BC INC HL ; $A6BD LD H,(HL) ; $A6BE LD L,A ; $A6BF JP (HL) ; ; Routine at A6C0 @label=ret_from_tbl_jp c$A6C0 LD A,R ; $A6C2 LD C,A ; $A6C3 LD A,($5B05) ; $A6C6 ADD A,C ; $A6C7 LD ($5B05),A ; $A6CA LD BC,$0020 ; $A6CD ADD IX,BC ; next sprite to update $A6CF PUSH IX ; $A6D1 POP HL ; $A6D2 LD BC,$6288 ; {end of table? $A6D5 AND A ; $A6D6 SBC HL,BC ; } $A6D8 JR NC,$A6DC ; {yes, exit $A6DA JR $A692 ; } ; Routine at A6DC ; ; Used by the routine at #R$A6C0. @label=done_sprite_updates c$A6DC LD HL,($5B02) ; $A6DF INC HL ; $A6E0 LD ($5B02),HL ; $A6E3 LD A,($5B05) ; $A6E6 ADD A,(HL) ; $A6E7 ADD A,L ; $A6E8 ADD A,H ; $A6E9 LD ($5B05),A ; $A6EC LD HL,$5B12 ; $A6EF SET 0,(HL) ; update special objs tbl next time $A6F1 CALL $C71C ; $A6F4 CALL $CEAB ; $A6F7 LD A,($5B24) ; $A6FA AND A ; $A6FB JP NZ,$A741 ; $A6FE LD A,($5B1E) ; $A701 NEG ; $A703 ADD A,$06 ; $A705 LD B,A ; $A706 JP M,$A715 ; $A709 JR Z,$A715 ; ; Routine at A70B ; ; Used by the routine at #R$A70E. @label=game_delay c$A70B LD HL,$0300 ; ; Routine at A70E @label=loc_A70E c$A70E DEC HL ; $A70F LD A,L ; $A710 OR H ; $A711 JR NZ,$A70E ; $A713 DJNZ $A70B ; ; Routine at A715 ; ; Used by the routine at #R$A6DC. @label=loc_A715 c$A715 CALL $AD66 ; WTF??? $A718 LD A,($5B17) ; $A71B AND A ; $A71C JR Z,$A72E ; $A71E CALL $CB0F ; $A721 CALL $A749 ; ; Routine at A724 ; ; Used by the routine at #R$A741. @label=loc_A724 c$A724 XOR A ; $A725 LD ($5B17),A ; $A728 CALL $CE85 ; $A72B CALL $A7DC ; ; Routine at A72E ; ; Used by the routines at #R$A715 and #R$A741. @label=loc_A72E c$A72E CALL $CE22 ; $A731 LD IX,$5B88 ; $A735 LD A,(IX+$00) ; $A738 OR (IX+$20) ; $A73B JP Z,$A688 ; $A73E JP $A68E ; ; Routine at A741 ; ; Used by the routine at #R$A6DC. @label=loc_A741 c$A741 LD A,($5B17) ; $A744 AND A ; $A745 JR Z,$A72E ; $A747 JR $A724 ; ; Routine at A749 ; ; Used by the routines at #R$A715 and #R$B021. @label=colour_something c$A749 LD A,($5B0D) ; $A74C OR $40 ; {'@' ; set bright $A74E CALL $CE6A ; } $A751 LD A,$47 ; {'G' $A753 LD DE,$5ACE ; $A756 LD B,$02 ; $A758 CALL $CE1D ; $A75B LD DE,$5AEE ; $A75E LD B,$04 ; $A760 CALL $CE1D ; $A763 CALL $A7AE ; $A766 CALL $BCAB ; $A769 LD A,($5B0D) ; $A76C CPL ; $A76D AND $07 ; } $A76F ADD A,$42 ; {'B' $A771 LD ($A797),A ; $A774 LD DE,$A797 ; $A777 LD HL,$07A0 ; $A77A CALL $BBB1 ; $A77D CALL $A7A3 ; $A780 LD HL,$5A84 ; } $A783 LD (HL),$47 ; {'G' $A785 INC HL ; } $A786 LD (HL),$47 ; {'G' $A788 LD HL,$5A41 ; $A78B LD BC,$0303 ; $A78E LD A,($A797) ; $A791 CALL $BF83 ; $A794 JP $BA57 ; } ; Data block at A797 @label=light_years_attr b$A797 DEFB $45 ; Message at A798 @label=aLightYear t$A798 DEFB $4C $A799 DEFM "IGHT YEAR",$D3 ; Routine at A7A3 ; ; Used by the routines at #R$A749 and #R$B04C. @label=sub_A7A3 c$A7A3 LD DE,$5B40 ; $A7A6 LD HL,$D5E4 ; $A7A9 LD B,$01 ; $A7AB JP $BA62 ; ; Routine at A7AE ; ; Used by the routine at #R$A749. @label=sub_A7AE c$A7AE LD HL,$5A99 ; $A7B1 LD DE,$A7CA ; $A7B4 LD BC,$0603 ; ; Routine at A7B7 ; ; Used by the routine at #R$A7B9. @label=loc_A7B7 c$A7B7 PUSH BC ; $A7B8 PUSH HL ; ; Routine at A7B9 @label=loc_A7B9 c$A7B9 LD A,(DE) ; $A7BA INC DE ; $A7BB LD (HL),A ; $A7BC INC HL ; $A7BD DJNZ $A7B9 ; $A7BF POP HL ; $A7C0 LD A,$20 ; $A7C2 CALL $CE06 ; $A7C5 POP BC ; $A7C6 DEC C ; $A7C7 JR NZ,$A7B7 ; $A7C9 RET ; ; Data block at A7CA @label=byte_A7CA b$A7CA DEFB $42,$42,$42,$42,$42,$42,$42,$47,$47,$47,$47,$42,$42,$42 $A7D8 DEFB $42,$42,$42,$42 ; Routine at A7DC ; ; Used by the routine at #R$A724. @label=reset_objs_wipe_flag c$A7DC LD B,$38 ; $A7DE LD DE,$0020 ; $A7E1 LD HL,$5B8F ; ; Routine at A7E4 @label=loc_A7E4 c$A7E4 RES 5,(HL) ; $A7E6 ADD HL,DE ; $A7E7 DJNZ $A7E4 ; $A7E9 RET ; ; Data block at A7EA @label=upd_sprite_jmp_tbl b$A7EA DEFW $A8F0 $A7EC DEFW $A8F0 $A7EE DEFW $BFEA ; arch (near side) $A7F0 DEFW $BFD8 ; arch (far side) $A7F2 DEFW $A8F0 ; menu $A7F4 DEFW $A8F0 ; menu $A7F6 DEFW $A8F0 ; menu $A7F8 DEFW $A8F0 ; panel $A7FA DEFW $A8F0 ; panel $A7FC DEFW $A8F0 ; panel $A7FE DEFW $A8F0 ; panel $A800 DEFW $B055 $A802 DEFW $BEE0 ; extra life $A804 DEFW $BF51 ; wall $A806 DEFW $BF74 ; wall $A808 DEFW $BF65 ; wall $A80A DEFW $C0BE ; player (bottom half) $A80C DEFW $C0BE ; " $A80E DEFW $C0BE ; " $A810 DEFW $C0BE ; " $A812 DEFW $C0BE ; " $A814 DEFW $C0BE ; " $A816 DEFW $C0BE ; " $A818 DEFW $C0BE ; " $A81A DEFW $C1E2 ; player (bottom half) facing front $A81C DEFW $C1E2 ; " $A81E DEFW $C1E2 ; player (bottom half) facing side $A820 DEFW $C1E2 ; " $A822 DEFW $B2FF ; rhombus block fat bottom $A824 DEFW $B31A ; rhombus block fat top $A826 DEFW $BF3D ; block $A828 DEFW $B33F ; block moving up and down $A82A DEFW $C6E4 ; player (top half) $A82C DEFW $C6E4 ; " $A82E DEFW $C6E4 ; " $A830 DEFW $C6E4 ; " $A832 DEFW $C6E4 ; " $A834 DEFW $C6E4 ; " $A836 DEFW $C6E4 ; " $A838 DEFW $C6E4 ; " $A83A DEFW $C6E4 ; " $A83C DEFW $C6E4 ; " $A83E DEFW $C6E4 ; " $A840 DEFW $C6E4 ; " $A842 DEFW $B2B6 ; block fall on contact $A844 DEFW $B28C ; block collapse $A846 DEFW $B2A4 ; broken egg - killer $A848 DEFW $B31F ; block move up/down while player on $A84A DEFW $B3A4 ; sparkles $A84C DEFW $B3A4 ; " $A84E DEFW $B3A4 ; " $A850 DEFW $B3A4 ; " $A852 DEFW $B3A4 ; " $A854 DEFW $B3A4 ; " $A856 DEFW $B3A4 ; " $A858 DEFW $B3B8 ; sparkles $A85A DEFW $BC70 ; sparkles $A85C DEFW $BC70 ; " $A85E DEFW $BC70 ; " $A860 DEFW $BC70 ; " $A862 DEFW $BC70 ; " $A864 DEFW $BC70 ; " $A866 DEFW $BC70 ; " $A868 DEFW $BC83 ; sparkles $A86A DEFW $B3A4 ; sparkles $A86C DEFW $B3B0 $A86E DEFW $B224 ; block move east-west $A870 DEFW $B21C ; block move north-south $A872 DEFW $B267 ; block slide off north $A874 DEFW $B27A ; block slide off east $A876 DEFW $B280 ; block slide off south $A878 DEFW $B286 ; block slide off west $A87A DEFW $B29F ; pyramid-killer $A87C DEFW $AD13 ; top of broken egg - killer $A87E DEFW $AE96 ; cryonaught looking east/west $A880 DEFW $B29F ; tubes-killer $A882 DEFW $B19C ; sparkles $A884 DEFW $B19C ; " $A886 DEFW $B19C ; " $A888 DEFW $B19C ; " $A88A DEFW $ABF5 $A88C DEFW $AB61 $A88E DEFW $AB61 $A890 DEFW $AB61 $A892 DEFW $A8F0 ; panel $A894 DEFW $AC21 ; oil $A896 DEFW $B110 ; robot mouse moving circuit $A898 DEFW $B110 ; robot mouse moving east-west $A89A DEFW $AC21 $A89C DEFW $AC21 $A89E DEFW $AC21 $A8A0 DEFW $AC21 $A8A2 DEFW $A971 $A8A4 DEFW $A95A $A8A6 DEFW $B06B ; robot mouse moving north-south $A8A8 DEFW $B06B $A8AA DEFW $AF79 ; cylinder $A8AC DEFW $AF79 ; square $A8AE DEFW $AF79 ; pyramid $A8B0 DEFW $AF79 ; semisphere $A8B2 DEFW $AE5D ; cylinder $A8B4 DEFW $AE5D ; square $A8B6 DEFW $AE5D ; pyramid $A8B8 DEFW $AE5D ; semisphere $A8BA DEFW $AE17 ; cylinder $A8BC DEFW $AE17 ; square $A8BE DEFW $AE17 ; pyramid $A8C0 DEFW $AE17 ; semisphere $A8C2 DEFW $AE33 ; sparkles $A8C4 DEFW $AE33 ; " $A8C6 DEFW $AE33 ; " $A8C8 DEFW $AE33 ; " $A8CA DEFW $AE68 ; object dropoff for cylinder $A8CC DEFW $AE68 ; object dropoff for square $A8CE DEFW $AE68 ; object dropoff for pyramid $A8D0 DEFW $AE68 ; object dropoff for semi-sphere $A8D2 DEFW $AAA1 ; clockwork mouse $A8D4 DEFW $AAA1 ; " $A8D6 DEFW $AAA1 ; " $A8D8 DEFW $AAA1 ; " $A8DA DEFW $AA89 ; cylinder ??? $A8DC DEFW $AA89 ; cylinder ??? $A8DE DEFW $AA63 ; remote control arrow - west/north $A8E0 DEFW $AA63 ; remote control arrow - east/south $A8E2 DEFW $A9C7 ; remote control robot $A8E4 DEFW $A9C7 ; " $A8E6 DEFW $A9C7 ; " $A8E8 DEFW $A9C7 ; " $A8EA DEFW $AA4D ; remote control block $A8EC DEFW $A9B1 ; spikey domed - killer $A8EE DEFW $A8F9 ; land mine - killer ; Routine at A8F0 @label=no_update c$A8F0 RET ; ; Routine at A8F1 ; ; Used by the routine at #R$A631. @label=sub_A8F1 c$A8F1 LD HL,$0000 ; $A8F4 LD A,R ; $A8F6 RLA ; $A8F7 RET C ; ; Routine at A8F8 c$A8F8 JP (HL) ; ; Routine at A8F9 @label=upd_82 c$A8F9 CALL $BF3D ; $A8FC CALL $B2A7 ; $A8FF BIT 0,(IX+$10) ; $A903 JR NZ,$A921 ; $A905 LD A,($5B43) ; $A908 AND A ; $A909 RET NZ ; $A90A LD A,($5B05) ; $A90D INC A ; $A90E AND $03 ; $A910 RET NZ ; $A911 LD A,$01 ; $A913 LD ($5B43),A ; $A916 LD (IX+$10),A ; $A919 LD A,(IX+$03) ; $A91C ADD A,$30 ; {'0' $A91E LD (IX+$11),A ; } ; Routine at A921 ; ; Used by the routine at #R$A8F9. @label=loc_A921 c$A921 BIT 1,(IX+$10) ; $A925 JR Z,$A93D ; $A927 CALL $BFB6 ; $A92A BIT 2,(IX+$0C) ; $A92E JR Z,$A937 ; $A930 XOR A ; $A931 LD (IX+$10),A ; $A934 LD ($5B43),A ; ; Routine at A937 ; ; Used by the routines at #R$A921, #R$A93D and #R$A954. @label=loc_A937 c$A937 CALL $B63C ; $A93A JP $BFAB ; ; Routine at A93D ; ; Used by the routine at #R$A921. @label=loc_A93D c$A93D LD (IX+$0B),$03 ; $A941 CALL $BFB6 ; $A944 LD A,(IX+$03) ; $A947 CP (IX+$11) ; $A94A JR NC,$A954 ; $A94C BIT 2,(IX+$0C) ; $A950 JR NZ,$A954 ; $A952 JR $A937 ; ; Routine at A954 ; ; Used by the routine at #R$A93D. @label=loc_A954 c$A954 SET 1,(IX+$10) ; $A958 JR $A937 ; ; Routine at A95A @label=upd_5D c$A95A LD A,(IX-$05) ; $A95D ADD A,$10 ; $A95F LD (IX+$1B),A ; $A962 LD A,(IX-$10) ; $A965 LD (IX+$10),A ; $A968 LD A,(IX-$19) ; $A96B LD (IX+$07),A ; $A96E JP $AC21 ; ; Routine at A971 @label=upd_5C c$A971 LD A,(IX+$11) ; $A974 CP $40 ; {'@' $A976 JR C,$A991 ; } $A978 CP $80 ; {'€' $A97A JR NC,$A996 ; $A97C LD A,(IX+$1B) ; } $A97F CP $28 ; {'(' $A981 JR C,$A991 ; $A983 SUB $03 ; $A985 LD (IX+$1B),A ; } ; Routine at A988 ; ; Used by the routine at #R$A996. @label=loc_A988 c$A988 CALL $B63F ; $A98B CALL $BFAB ; ; Routine at A98E ; ; Used by the routine at #R$A991. @label=loc_A98E c$A98E JP $AC21 ; ; Routine at A991 ; ; Used by the routine at #R$A971. @label=loc_A991 c$A991 INC (IX+$11) ; $A994 JR $A98E ; ; Routine at A996 ; ; Used by the routine at #R$A971. @label=loc_A996 c$A996 LD A,(IX+$1B) ; $A999 CP $80 ; {'€' $A99B JR NC,$A9A8 ; $A99D ADD A,$03 ; $A99F LD (IX+$1B),A ; } $A9A2 LD (IX+$10),$47 ; {'G' $A9A6 JR $A988 ; } ; Routine at A9A8 ; ; Used by the routine at #R$A996. @label=loc_A9A8 c$A9A8 LD DE,$B3D7 ; $A9AB CALL $B4BA ; $A9AE JP $A647 ; ; Routine at A9B1 @label=upd_81 c$A9B1 CALL $BF6A ; $A9B4 LD A,(IX+$09) ; $A9B7 OR (IX+$0A) ; $A9BA OR (IX+$0B) ; $A9BD JP Z,$B2A7 ; $A9C0 LD (IX+$00),$36 ; {'6' $A9C4 JP $B2B0 ; } ; Routine at A9C7 @label=upd_7C_to_7F c$A9C7 CALL $BF3D ; $A9CA LD HL,$5B42 ; $A9CD LD A,(HL) ; $A9CE AND $80 ; {'€' $A9D0 JR Z,$A9FE ; $A9D2 LD A,(IX+$10) ; } $A9D5 AND $C0 ; {'À' $A9D7 JR Z,$A9F1 ; $A9D9 BIT 7,(IX+$10) ; $A9DD JR NZ,$AA06 ; $A9DF LD A,(HL) ; } $A9E0 AND $3F ; {'?' $A9E2 JR NZ,$AA15 ; $A9E4 RES 7,(HL) ; $A9E6 RES 6,(IX+$10) ; $A9EA XOR A ; $A9EB LD (IX+$09),A ; $A9EE LD (IX+$0A),A ; } ; Routine at A9F1 ; ; Used by the routines at #R$A9C7, #R$A9FE and #R$AA06. @label=loc_A9F1 c$A9F1 CALL $BFB6 ; $A9F4 CALL $BED6 ; $A9F7 RET Z ; $A9F8 CALL $B63C ; $A9FB JP $BFAB ; ; Routine at A9FE ; ; Used by the routine at #R$A9C7. @label=loc_A9FE c$A9FE SET 7,(HL) ; $AA00 SET 7,(IX+$10) ; $AA04 JR $A9F1 ; ; Routine at AA06 ; ; Used by the routine at #R$A9C7. @label=loc_AA06 c$AA06 LD A,(HL) ; $AA07 AND $7F ; {'' $AA09 JR Z,$A9F1 ; $AA0B LD A,(IX+$10) ; } $AA0E AND $3F ; '?' $AA10 OR $40 ; {'@' $AA12 LD (IX+$10),A ; } ; Routine at AA15 ; ; Used by the routine at #R$A9C7. @label=loc_AA15 c$AA15 LD A,(HL) ; $AA16 LD (HL),$80 ; {'€' $AA18 DEC A ; $AA19 RLCA ; } $AA1A AND $7E ; {'~' $AA1C LD HL,$AA43 ; $AA1F CALL $CE06 ; $AA22 LD A,(HL) ; $AA23 INC HL ; $AA24 LD (IX+$09),A ; $AA27 LD A,(HL) ; $AA28 DEC HL ; $AA29 LD (IX+$0A),A ; $AA2C CALL $B18C ; $AA2F LD A,(IX+$09) ; $AA32 OR (IX+$0A) ; $AA35 JR Z,$AA3A ; $AA37 CALL $BFB6 ; } ; Routine at AA3A ; ; Used by the routine at #R$AA15. @label=loc_AA3A c$AA3A LD HL,$B6A9 ; $AA3D CALL $B690 ; $AA40 JP $BFAB ; ; Data block at AA43 @label=byte_AA43 b$AA43 DEFB $00,$00,$FE,$00,$00,$02,$02,$00,$00,$FE ; Routine at AA4D @label=upd_80 c$AA4D CALL $BF3D ; $AA50 LD A,(IX+$0B) ; $AA53 AND A ; $AA54 RET Z ; $AA55 XOR A ; $AA56 LD (IX+$0B),A ; $AA59 LD HL,$5B42 ; $AA5C LD A,(HL) ; $AA5D AND $80 ; {'€' $AA5F OR $01 ; $AA61 LD (HL),A ; $AA62 RET ; } ; Routine at AA63 @label=upd_7A_7B c$AA63 CALL $BF3D ; $AA66 LD A,(IX+$0B) ; $AA69 AND A ; $AA6A RET Z ; $AA6B XOR A ; $AA6C LD (IX+$0B),A ; $AA6F LD A,(IX+$07) ; $AA72 RLCA ; $AA73 AND $80 ; {'€' $AA75 LD C,A ; $AA76 LD A,(IX+$00) ; $AA79 AND $01 ; $AA7B OR C ; $AA7C RLCA ; $AA7D ADD A,$02 ; $AA7F LD C,A ; $AA80 LD HL,$5B42 ; $AA83 LD A,(HL) ; } $AA84 AND $80 ; {'€' $AA86 OR C ; $AA87 LD (HL),A ; $AA88 RET ; } ; Routine at AA89 @label=upd_78_79 c$AA89 CALL $BF6A ; $AA8C LD BC,$0101 ; $AA8F CALL $B165 ; $AA92 CALL $BFB6 ; $AA95 CALL $B185 ; $AA98 LD HL,$B6AD ; $AA9B CALL $B690 ; $AA9E JP $B2B0 ; ; Routine at AAA1 @label=upd_74_to_77 c$AAA1 CALL $BF5B ; $AAA4 CALL $BFB6 ; $AAA7 LD A,(IX+$09) ; $AAAA OR (IX+$0A) ; $AAAD JR Z,$AAC1 ; $AAAF LD A,(IX+$0C) ; $AAB2 AND $03 ; $AAB4 JR NZ,$AAC1 ; $AAB6 DEC (IX+$10) ; $AAB9 JR Z,$AAC1 ; ; Routine at AABB ; ; Used by the routines at #R$AAFD and #R$AB14. @label=loc_AABB c$AABB CALL $B185 ; $AABE JP $B2B0 ; ; Routine at AAC1 ; ; Used by the routine at #R$AAA1. @label=loc_AAC1 c$AAC1 CALL $B6BB ; $AAC4 LD A,($5B03) ; $AAC7 LD C,A ; $AAC8 LD A,($5B05) ; $AACB XOR C ; $AACC AND $0F ; $AACE LD (IX+$10),A ; $AAD1 LD A,(IX+$07) ; $AAD4 XOR $40 ; {'@' $AAD6 LD (IX+$07),A ; $AAD9 LD A,($5B05) ; $AADC AND $01 ; $AADE JR Z,$AB0C ; $AAE0 BIT 6,(IX+$07) ; $AAE4 JR Z,$AAEE ; } ; Routine at AAE6 ; ; Used by the routine at #R$AB0C. @label=loc_AAE6 c$AAE6 LD A,(IX+$00) ; $AAE9 XOR $02 ; $AAEB LD (IX+$00),A ; ; Routine at AAEE ; ; Used by the routines at #R$AAC1 and #R$AB0C. @label=loc_AAEE c$AAEE LD A,($5B02) ; $AAF1 AND $03 ; $AAF3 ADD A,$02 ; $AAF5 BIT 1,(IX+$00) ; $AAF9 JR NZ,$AAFD ; $AAFB NEG ; ; Routine at AAFD ; ; Used by the routine at #R$AAEE. @label=loc_AAFD c$AAFD BIT 6,(IX+$07) ; $AB01 JR NZ,$AB14 ; $AB03 LD (IX+$09),A ; $AB06 LD (IX+$0A),$00 ; $AB0A JR $AABB ; ; Routine at AB0C ; ; Used by the routine at #R$AAC1. @label=loc_AB0C c$AB0C BIT 6,(IX+$07) ; $AB10 JR Z,$AAE6 ; $AB12 JR $AAEE ; ; Routine at AB14 ; ; Used by the routine at #R$AAFD. @label=loc_AB14 c$AB14 NEG ; $AB16 LD (IX+$0A),A ; $AB19 LD (IX+$09),$00 ; $AB1D JR $AABB ; $AB1F LD A,(IX+$09) ; $AB22 AND A ; $AB23 JP P,$AB28 ; $AB26 NEG ; ; Routine at AB28 ; ; Used by the routine at #R$AB14. @label=loc_AB28 c$AB28 LD C,A ; $AB29 LD A,(IX+$0A) ; $AB2C AND A ; $AB2D JP P,$AB32 ; $AB30 NEG ; ; Routine at AB32 ; ; Used by the routine at #R$AB28. @label=loc_AB32 c$AB32 CP C ; $AB33 JR C,$AB4B ; $AB35 LD A,(IX+$09) ; $AB38 AND A ; $AB39 JP P,$AB45 ; $AB3C RES 1,(IX+$00) ; ; Routine at AB40 ; ; Used by the routine at #R$AB45. @label=loc_AB40 c$AB40 RES 6,(IX+$07) ; $AB44 RET ; ; Routine at AB45 ; ; Used by the routine at #R$AB32. @label=loc_AB45 c$AB45 SET 1,(IX+$00) ; $AB49 JR $AB40 ; ; Routine at AB4B ; ; Used by the routine at #R$AB32. @label=loc_AB4B c$AB4B LD A,(IX+$0A) ; $AB4E AND A ; $AB4F JP P,$AB5B ; $AB52 SET 1,(IX+$00) ; ; Routine at AB56 ; ; Used by the routine at #R$AB5B. @label=loc_AB56 c$AB56 SET 6,(IX+$07) ; $AB5A RET ; ; Routine at AB5B ; ; Used by the routine at #R$AB4B. @label=loc_AB5B c$AB5B RES 1,(IX+$00) ; $AB5F JR $AB56 ; ; Routine at AB61 @label=upd_51_to_53 c$AB61 LD HL,$5B41 ; $AB64 LD A,(HL) ; $AB65 AND A ; $AB66 JR Z,$ABDA ; $AB68 LD A,$E7 ; {'ç' $AB6A CALL $B759 ; $AB6D JP NZ,$A647 ; $AB70 BIT 0,(IX+$11) ; $AB74 JR NZ,$AB91 ; $AB76 BIT 7,(HL) ; $AB78 JR NZ,$ABDA ; $AB7A LD A,($5B05) ; $AB7D CPL ; $AB7E AND $03 ; $AB80 JR NZ,$ABDA ; $AB82 PUSH HL ; $AB83 CALL $B619 ; $AB86 POP HL ; $AB87 SET 0,(IX+$11) ; $AB8B SET 7,(HL) ; $AB8D LD (IX+$0F),$06 ; } ; Routine at AB91 ; ; Used by the routine at #R$AB61. @label=loc_AB91 c$AB91 LD A,(IX+$00) ; $AB94 AND $01 ; $AB96 JR Z,$ABDD ; $AB98 LD A,(IX+$1A) ; $AB9B XOR (IX+$11) ; $AB9E AND $80 ; {'€' $ABA0 LD A,$08 ; $ABA2 JR Z,$ABA6 ; $ABA4 NEG ; } ; Routine at ABA6 ; ; Used by the routine at #R$AB91. @label=loc_ABA6 c$ABA6 ADD A,(IX+$1A) ; $ABA9 LD (IX+$1A),A ; ; Routine at ABAC ; ; Used by the routine at #R$ABED. @label=loc_ABAC c$ABAC DEC (IX+$0F) ; $ABAF JR NZ,$ABD7 ; $ABB1 LD (IX+$0F),$06 ; $ABB5 LD A,(IX+$11) ; $ABB8 XOR $80 ; {'€' $ABBA LD (IX+$11),A ; } $ABBD AND $80 ; {'€' $ABBF JR Z,$ABC6 ; $ABC1 CALL $B676 ; $ABC4 JR $ABD7 ; } ; Routine at ABC6 ; ; Used by the routine at #R$ABAC. @label=loc_ABC6 c$ABC6 RES 0,(IX+$11) ; $ABCA RES 7,(HL) ; $ABCC INC (HL) ; $ABCD LD A,(HL) ; $ABCE AND $7F ; {'' $ABD0 CP $10 ; $ABD2 JR NZ,$ABD7 ; $ABD4 JP $A647 ; } ; Routine at ABD7 ; ; Used by the routines at #R$ABAC and #R$ABC6. @label=loc_ABD7 c$ABD7 CALL $BFAB ; ; Routine at ABDA ; ; Used by the routine at #R$AB61. @label=loc_ABDA c$ABDA JP $AC21 ; ; Routine at ABDD ; ; Used by the routine at #R$AB91. @label=loc_ABDD c$ABDD LD A,(IX+$1B) ; $ABE0 ADD A,$20 ; {' ' $ABE2 XOR (IX+$11) ; } $ABE5 AND $80 ; {'€' $ABE7 LD A,$04 ; $ABE9 JR Z,$ABED ; $ABEB NEG ; } ; Routine at ABED ; ; Used by the routine at #R$ABDD. @label=loc_ABED c$ABED ADD A,(IX+$1B) ; $ABF0 LD (IX+$1B),A ; $ABF3 JR $ABAC ; ; Routine at ABF5 @label=upd_50 c$ABF5 LD A,($5B02) ; $ABF8 LD C,A ; $ABF9 AND $07 ; $ABFB JR NZ,$AC21 ; $ABFD BIT 3,C ; $ABFF JR Z,$AC03 ; $AC01 ADD A,$46 ; 'F' ; Routine at AC03 ; ; Used by the routine at #R$ABF5. @label=loc_AC03 c$AC03 LD (IX+$10),A ; $AC06 CALL $B6B1 ; $AC09 INC (IX+$11) ; $AC0C LD A,(IX+$11) ; $AC0F CP $10 ; $AC11 JR NZ,$AC21 ; $AC13 LD A,$01 ; $AC15 LD ($5B41),A ; $AC18 LD (IX+$00),A ; $AC1B CALL $AC21 ; $AC1E JP $BFAB ; ; Routine at AC21 ; ; Used by the routines at #R$A95A, #R$A98E, #R$ABDA, #R$ABF5 and #R$AC03. @label=upd_55_58_to_5B c$AC21 LD A,(IX+$18) ; $AC24 OR (IX+$19) ; $AC27 RET Z ; $AC28 LD L,(IX+$1A) ; $AC2B LD B,(IX+$18) ; $AC2E LD A,L ; $AC2F AND $07 ; $AC31 JR Z,$AC34 ; $AC33 INC B ; ; Routine at AC34 ; ; Used by the routine at #R$AC21. @label=loc_AC34 c$AC34 LD H,(IX+$1B) ; $AC37 LD A,H ; $AC38 RRCA ; $AC39 RRCA ; $AC3A RRCA ; $AC3B AND $1F ; $AC3D LD C,A ; $AC3E LD A,(IX+$19) ; $AC41 DEC A ; $AC42 ADD A,H ; $AC43 RRCA ; $AC44 RRCA ; $AC45 RRCA ; $AC46 AND $1F ; $AC48 SUB C ; $AC49 INC A ; $AC4A LD C,A ; $AC4B CALL $D157 ; $AC4E EX DE,HL ; $AC4F LD A,(IX+$10) ; $AC52 LD DE,$0020 ; ' ' ; Routine at AC55 ; ; Used by the routine at #R$AC5E. @label=loc_AC55 c$AC55 PUSH BC ; $AC56 PUSH HL ; $AC57 LD C,A ; ; Routine at AC58 ; ; Used by the routine at #R$AC5E. @label=loc_AC58 c$AC58 LD A,(HL) ; $AC59 CP $44 ; {'D' $AC5B JR Z,$AC5E ; $AC5D LD (HL),C ; } ; Routine at AC5E ; ; Used by the routine at #R$AC58. @label=loc_AC5E c$AC5E INC L ; $AC5F DJNZ $AC58 ; $AC61 LD A,C ; $AC62 POP HL ; $AC63 POP BC ; $AC64 AND A ; $AC65 SBC HL,DE ; $AC67 DEC C ; $AC68 JR NZ,$AC55 ; $AC6A RET ; ; Routine at AC6B ; ; Used by the routine at #R$B76B. ; ; very different to Knight Lore @label=something_with_special_objs c$AC6B LD DE,$5B3C ; $AC6E LD B,$04 ; $AC70 CALL $CE1C ; $AC73 LD HL,$6469 ; ; Routine at AC76 ; ; Used by the routine at #R$AC80. @label=loc_AC76 c$AC76 LD C,(HL) ; id $AC77 INC HL ; $AC78 LD B,(HL) ; entry size ; Routine at AC79 @label=loc_AC79 c$AC79 LD A,(HL) ; entry size $AC7A INC HL ; $AC7B INC A ; end of bg blocks? $AC7C JR Z,$AC8A ; {yes, skip $AC7E DJNZ $AC79 ; } ; Routine at AC80 ; ; Used by the routines at #R$AC96 and #R$AD07. @label=loc_AC80 c$AC80 LD BC,$73C8 ; end of table $AC83 AND A ; $AC84 SBC HL,BC ; done? $AC86 RET NC ; yes, exit $AC87 ADD HL,BC ; next entry $AC88 JR $AC76 ; ; Routine at AC8A ; ; Used by the routine at #R$AC79. @label=check_1st_fg_block c$AC8A DEC B ; entry size $AC8B LD A,(HL) ; fg object $AC8C AND $F8 ; 'ø' $AC8E CP $A8 ; {'¨' $AC90 JR Z,$AC9C ; } $AC92 CP $B0 ; {'°' $AC94 JR Z,$AC9C ; } ; Routine at AC96 ; ; Used by the routine at #R$ACC2. @label=loc_AC96 c$AC96 LD A,B ; $AC97 CALL $CE06 ; {next entry $AC9A JR $AC80 ; } ; Routine at AC9C ; ; Used by the routine at #R$AC8A. @label=loc_AC9C c$AC9C LD IY,$76E3 ; ; Routine at ACA0 ; ; Used by the routine at #R$ACA6. @label=loc_ACA0 c$ACA0 LD A,(IY+$08) ; special obj current screen $ACA3 CP C ; same as current screen? $ACA4 JR Z,$ACC2 ; yes, go ; Routine at ACA6 ; ; Used by the routine at #R$ACC2. @label=loc_ACA6 c$ACA6 LD DE,$0009 ; $ACA9 ADD IY,DE ; next entry $ACAB PUSH HL ; $ACAC PUSH IY ; $ACAE POP HL ; $ACAF LD DE,$7827 ; {end of table $ACB2 AND A ; } $ACB3 SBC HL,DE ; done? $ACB5 PUSH HL ; $ACB6 POP IY ; $ACB8 POP HL ; $ACB9 JR NC,$ACD6 ; {no, skip $ACBB LD DE,$7827 ; } $ACBE ADD IY,DE ; fix iy $ACC0 JR $ACA0 ; next special object ; Routine at ACC2 ; ; Used by the routine at #R$ACA0. @label=loc_ACC2 c$ACC2 LD A,(IY+$00) ; graphic no $ACC5 SUB $64 ; {'d' $ACC7 CP $04 ; $ACC9 JR NC,$ACA6 ; $ACCB LD A,($5B3E) ; $ACCE ADD A,$01 ; $ACD0 DAA ; $ACD1 LD ($5B3E),A ; $ACD4 JR $AC96 ; } ; Routine at ACD6 ; ; Used by the routine at #R$ACA6. @label=loc_ACD6 c$ACD6 LD DE,$5B3D ; $ACD9 EX DE,HL ; $ACDA LD A,(DE) ; $ACDB AND $07 ; $ACDD INC A ; $ACDE ADD A,(HL) ; $ACDF DAA ; $ACE0 LD (HL),A ; $ACE1 DEC HL ; $ACE2 LD A,(HL) ; $ACE3 ADC A,$00 ; $ACE5 DAA ; $ACE6 LD (HL),A ; $ACE7 EX DE,HL ; $ACE8 LD A,(HL) ; $ACE9 AND $07 ; $ACEB ADD A,$02 ; $ACED LD E,A ; $ACEE CALL $CE06 ; $ACF1 LD A,E ; $ACF2 NEG ; $ACF4 ADD A,B ; $ACF5 LD B,A ; $ACF6 JR Z,$AD07 ; $ACF8 LD A,(HL) ; $ACF9 AND $F8 ; 'ø' $ACFB CP $A8 ; {'¨' $ACFD JR Z,$ACD6 ; } $ACFF CP $B0 ; {'°' $AD01 JR Z,$ACD6 ; $AD03 LD A,B ; $AD04 CALL $CE06 ; } ; Routine at AD07 ; ; Used by the routine at #R$ACD6. @label=loc_AD07 c$AD07 LD A,($5B3F) ; $AD0A ADD A,$01 ; $AD0C DAA ; $AD0D LD ($5B3F),A ; $AD10 JP $AC80 ; ; Routine at AD13 @label=upd_49 c$AD13 CALL $B2A7 ; $AD16 CALL $BF47 ; $AD19 LD A,($5B3B) ; $AD1C AND A ; $AD1D RET NZ ; $AD1E BIT 2,(IX+$0D) ; $AD22 JR NZ,$AD37 ; $AD24 LD HL,$5B3A ; $AD27 LD A,(HL) ; $AD28 AND A ; $AD29 RET NZ ; $AD2A LD A,($5B05) ; $AD2D CP $10 ; $AD2F RET NC ; $AD30 SET 2,(IX+$0D) ; $AD34 LD (HL),$01 ; $AD36 RET ; ; Routine at AD37 ; ; Used by the routine at #R$AD13. @label=loc_AD37 c$AD37 CALL $BFB6 ; $AD3A CALL $AD54 ; $AD3D BIT 2,(IX+$0C) ; $AD41 JR NZ,$AD49 ; $AD43 CALL $B63C ; ; Routine at AD46 ; ; Used by the routine at #R$AD49. @label=loc_AD46 c$AD46 JP $BFAB ; ; Routine at AD49 ; ; Used by the routine at #R$AD37. @label=loc_AD49 c$AD49 RES 2,(IX+$0D) ; $AD4D LD HL,$5B3A ; $AD50 LD (HL),$00 ; $AD52 JR $AD46 ; ; Routine at AD54 ; ; Used by the routine at #R$AD37. @label=sub_AD54 c$AD54 LD A,(IX+$0C) ; $AD57 AND $04 ; $AD59 LD C,A ; $AD5A RET Z ; $AD5B LD A,(IX+$0F) ; $AD5E CP C ; $AD5F LD (IX+$0F),C ; $AD62 CALL NZ,$B676 ; $AD65 RET ; ; Routine at AD66 ; ; Used by the routine at #R$A715. @label=sub_AD66 c$AD66 CALL $ADC9 ; $AD69 CALL $ADE5 ; $AD6C LD HL,$D4FA ; $AD6F LD DE,$5B36 ; $AD72 LD B,$04 ; $AD74 PUSH HL ; $AD75 LD HL,$6308 ; $AD78 LD ($5B27),HL ; $AD7B POP HL ; ; Routine at AD7C @label=loc_AD7C c$AD7C LD A,(DE) ; $AD7D INC DE ; $AD7E CALL $ADB0 ; $AD81 DJNZ $AD7C ; $AD83 LD HL,$D41D ; $AD86 LD B,$08 ; $AD88 LD DE,$0020 ; ' ' ; Routine at AD8B @label=loc_AD8B c$AD8B LD A,(HL) ; $AD8C CPL ; $AD8D LD (HL),A ; $AD8E ADD HL,DE ; $AD8F DJNZ $AD8B ; $AD91 LD BC,$10D0 ; $AD94 CALL $D135 ; $AD97 CALL $D120 ; $AD9A LD L,C ; $AD9B LD H,B ; $AD9C LD BC,$0804 ; $AD9F CALL $CF85 ; $ADA2 LD HL,$5B36 ; $ADA5 LD B,$04 ; $ADA7 XOR A ; ; Routine at ADA8 @label=loc_ADA8 c$ADA8 OR (HL) ; $ADA9 INC HL ; $ADAA DJNZ $ADA8 ; $ADAC JP Z,$B761 ; $ADAF RET ; ; Routine at ADB0 ; ; Used by the routine at #R$AD7C. @label=sub_ADB0 c$ADB0 PUSH BC ; $ADB1 PUSH DE ; $ADB2 PUSH HL ; $ADB3 LD L,A ; $ADB4 SRL L ; $ADB6 SRL L ; $ADB8 SRL L ; $ADBA SRL L ; L=A/16 $ADBC LD H,$00 ; $ADBE ADD HL,HL ; $ADBF ADD HL,HL ; $ADC0 ADD HL,HL ; HL=L*8=(A/16)*8=A/2??? $ADC1 AND $0F ; $ADC3 CALL $CE06 ; {HL=A*3/2??? $ADC6 JP $BBFA ; } ; Routine at ADC9 ; ; Used by the routine at #R$AD66. @label=sub_ADC9 c$ADC9 LD HL,$5B39 ; $ADCC LD B,$04 ; $ADCE LD A,(HL) ; $ADCF AND $07 ; $ADD1 RET NZ ; ; Routine at ADD2 ; ; Used by the routine at #R$ADDE. @label=loc_ADD2 c$ADD2 LD A,(HL) ; $ADD3 LD C,A ; $ADD4 AND $F0 ; {'ð' $ADD6 JR Z,$ADDE ; $ADD8 SUB $10 ; $ADDA OR $07 ; $ADDC LD (HL),A ; $ADDD RET ; } ; Routine at ADDE ; ; Used by the routine at #R$ADD2. @label=loc_ADDE c$ADDE LD A,$97 ; {'—' $ADE0 LD (HL),A ; $ADE1 DEC HL ; $ADE2 DJNZ $ADD2 ; $ADE4 RET ; } ; Routine at ADE5 ; ; Used by the routine at #R$AD66. @label=sub_ADE5 c$ADE5 LD HL,$5B39 ; $ADE8 LD B,$04 ; ; Routine at ADEA @label=loc_ADEA c$ADEA LD A,(HL) ; $ADEB AND $07 ; $ADED RET Z ; $ADEE DEC (HL) ; $ADEF DEC HL ; $ADF0 DJNZ $ADEA ; $ADF2 RET ; ; Routine at ADF3 ; ; Used by the routine at #R$BE76. @label=set_wipe_and_draw_IY c$ADF3 PUSH IY ; $ADF5 PUSH IX ; $ADF7 PUSH IY ; $ADF9 POP IX ; $ADFB CALL $BFAB ; $ADFE POP IX ; $AE00 POP IY ; $AE02 RET ; ; Routine at AE03 ; ; Used by the routine at #R$AF79. @label=sub_AE03 c$AE03 LD IY,$5C08 ; $AE07 LD DE,$0020 ; ' ' $AE0A LD B,$34 ; '4' ; Routine at AE0C @label=loc_AE0C c$AE0C LD A,(IY+$00) ; $AE0F SUB L ; $AE10 CP H ; $AE11 RET C ; $AE12 ADD IY,DE ; $AE14 DJNZ $AE0C ; $AE16 RET ; ; Routine at AE17 @label=upd_68_to_6B c$AE17 CALL $BF60 ; $AE1A CALL $AE81 ; $AE1D JP NZ,$B3BB ; $AE20 LD A,(IX-$1D) ; $AE23 ADD A,$0D ; $AE25 LD (IX+$03),A ; $AE28 DEC (IX+$10) ; $AE2B RET NZ ; $AE2C SET 2,(IX+$00) ; $AE30 JP $BFAB ; ; Routine at AE33 @label=upd_6C_to_6F c$AE33 CALL $BF60 ; $AE36 CALL $AE81 ; $AE39 JP NZ,$B3BB ; $AE3C LD A,(IX-$1D) ; $AE3F ADD A,$0D ; $AE41 LD (IX+$03),A ; $AE44 CALL $B18C ; $AE47 AND $03 ; $AE49 LD C,A ; $AE4A LD A,(IX-$20) ; $AE4D AND $03 ; $AE4F CP C ; $AE50 JR NZ,$AE5A ; $AE52 RES 2,(IX+$00) ; $AE56 LD (IX+$10),$02 ; ; Routine at AE5A ; ; Used by the routine at #R$AE33. @label=loc_AE5A c$AE5A JP $BFAB ; ; Routine at AE5D @label=upd_64_to_67 c$AE5D CALL $BF60 ; $AE60 XOR A ; $AE61 LD (IX+$09),A ; $AE64 LD (IX+$0A),A ; $AE67 RET ; ; Routine at AE68 @label=upd_70_to_73 c$AE68 CALL $BF4C ; $AE6B CALL $AE81 ; $AE6E RET NZ ; $AE6F LD A,(IX+$20) ; $AE72 AND A ; $AE73 RET NZ ; $AE74 LD A,(IX+$00) ; $AE77 AND $03 ; $AE79 OR $6C ; {'l' $AE7B LD (IX+$20),A ; $AE7E JP $AE8A ; } ; Routine at AE81 ; ; Used by the routines at #R$AE17, #R$AE33 and #R$AE68. @label=sub_AE81 c$AE81 LD A,($5BC8) ; $AE84 LD C,A ; $AE85 LD A,($5BE8) ; $AE88 OR C ; $AE89 RET ; ; Routine at AE8A ; ; Used by the routines at #R$AE68 and #R$BE06. @label=calc_pixel_XY_IY c$AE8A PUSH IX ; $AE8C PUSH IY ; $AE8E POP IX ; $AE90 CALL $CFD2 ; $AE93 POP IX ; $AE95 RET ; ; Routine at AE96 @label=upd_4A c$AE96 JP $BF6A ; ; Routine at AE99 ; ; Used by the routine at #R$CAAB. @label=find_special_objs_here c$AE99 LD DE,$5BC8 ; $AE9C EXX ; $AE9D LD IY,$76E3 ; $AEA1 LD B,(IX+$08) ; ; Routine at AEA4 ; ; Used by the routine at #R$AEE6. @label=loc_AEA4 c$AEA4 LD A,(IY+$00) ; $AEA7 AND A ; $AEA8 JR Z,$AEE6 ; $AEAA LD A,(IY+$08) ; $AEAD CP B ; $AEAE JR NZ,$AEE6 ; $AEB0 PUSH IY ; $AEB2 EXX ; $AEB3 POP HL ; $AEB4 PUSH HL ; $AEB5 LD A,(HL) ; $AEB6 INC HL ; $AEB7 LD (DE),A ; $AEB8 INC DE ; $AEB9 INC HL ; $AEBA INC HL ; $AEBB INC HL ; $AEBC INC HL ; $AEBD LD BC,$0003 ; $AEC0 LDIR ; $AEC2 EX DE,HL ; $AEC3 LD (HL),$05 ; $AEC5 INC HL ; $AEC6 LD (HL),$05 ; $AEC8 INC HL ; $AEC9 LD (HL),$0C ; $AECB INC HL ; $AECC LD (HL),$14 ; $AECE INC HL ; $AECF EX DE,HL ; $AED0 LD A,(HL) ; $AED1 INC HL ; $AED2 LD (DE),A ; $AED3 INC DE ; $AED4 LD B,$07 ; $AED6 CALL $CE1C ; $AED9 POP BC ; $AEDA LD A,C ; $AEDB LD (DE),A ; $AEDC INC DE ; $AEDD LD A,B ; $AEDE LD (DE),A ; $AEDF INC DE ; $AEE0 LD B,$0E ; $AEE2 CALL $CE1C ; $AEE5 EXX ; ; Routine at AEE6 ; ; Used by the routine at #R$AEA4. @label=loc_AEE6 c$AEE6 LD DE,$0009 ; $AEE9 ADD IY,DE ; $AEEB PUSH IY ; $AEED POP HL ; $AEEE LD DE,$7827 ; $AEF1 AND A ; $AEF2 SBC HL,DE ; $AEF4 JR C,$AEA4 ; $AEF6 EXX ; ; Routine at AEF7 @label=loc_AEF7 c$AEF7 LD HL,$5C08 ; $AEFA AND A ; $AEFB SBC HL,DE ; $AEFD RET Z ; $AEFE LD B,$20 ; {' ' $AF00 CALL $CE1C ; $AF03 JR $AEF7 ; } ; Routine at AF05 ; ; Used by the routines at #R$B761 and #R$CAA2. @label=update_special_objs c$AF05 LD IY,$5BC8 ; ; Routine at AF09 ; ; Used by the routine at #R$AF2E. @label=loc_AF09 c$AF09 LD A,(IY+$00) ; graphic no. $AF0C SUB $60 ; {'`' $AF0E CP $08 ; $AF10 JR NC,$AF2E ; $AF12 LD E,(IY+$10) ; $AF15 LD D,(IY+$11) ; $AF18 LD A,(IY+$00) ; $AF1B LD (DE),A ; $AF1C INC DE ; $AF1D INC DE ; $AF1E INC DE ; $AF1F INC DE ; $AF20 INC DE ; $AF21 PUSH IY ; $AF23 POP HL ; $AF24 INC HL ; $AF25 LD BC,$0003 ; $AF28 LDIR ; $AF2A LD A,(IY+$08) ; $AF2D LD (DE),A ; } ; Routine at AF2E ; ; Used by the routine at #R$AF09. @label=loc_AF2E c$AF2E LD BC,$0020 ; $AF31 ADD IY,BC ; $AF33 PUSH IY ; $AF35 POP HL ; $AF36 LD BC,$5C08 ; $AF39 AND A ; $AF3A SBC HL,BC ; $AF3C JR C,$AF09 ; $AF3E RET ; ; Routine at AF3F ; ; Used by the routine at #R$A650. ; ; almost the same as Knight Lore @label=init_special_objects c$AF3F LD HL,$76E3 ; $AF42 LD A,($5B00) ; $AF45 LD E,A ; $AF46 LD A,R ; $AF48 ADD A,E ; $AF49 LD E,A ; $AF4A LD A,($5B05) ; $AF4D LD D,A ; ; Routine at AF4E ; ; Used by the routine at #R$AF59. @label=loc_AF4E c$AF4E DEC D ; $AF4F LD A,D ; $AF50 AND $0F ; $AF52 JR Z,$AF75 ; $AF54 LD A,E ; $AF55 AND $03 ; $AF57 OR $60 ; '`' ; Routine at AF59 ; ; Used by the routine at #R$AF75. @label=loc_AF59 c$AF59 LD (HL),A ; $AF5A INC HL ; $AF5B INC E ; $AF5C PUSH DE ; $AF5D EX DE,HL ; $AF5E LD HL,$0004 ; $AF61 ADD HL,DE ; $AF62 EX DE,HL ; $AF63 LD BC,$0004 ; $AF66 LDIR ; $AF68 EX DE,HL ; $AF69 PUSH HL ; $AF6A LD BC,$7827 ; {end of special objs? $AF6D AND A ; $AF6E SBC HL,BC ; $AF70 POP HL ; $AF71 POP DE ; } $AF72 JR C,$AF4E ; {no, loop $AF74 RET ; } ; Routine at AF75 ; ; Used by the routine at #R$AF4E. @label=loc_AF75 c$AF75 LD A,$0C ; $AF77 JR $AF59 ; ; Routine at AF79 @label=upd_60_to_63 c$AF79 CALL $BF60 ; $AF7C LD HL,$0470 ; $AF7F CALL $AE03 ; $AF82 JR NC,$AFD0 ; $AF84 LD A,(IY+$00) ; $AF87 AND $03 ; $AF89 LD C,A ; $AF8A LD A,(IX+$00) ; $AF8D AND $03 ; $AF8F CP C ; $AF90 JR NZ,$AFD0 ; $AF92 LD A,(IX+$01) ; $AF95 SUB (IY+$01) ; $AF98 JR Z,$AFA1 ; $AF9A LD A,$01 ; $AF9C JP M,$AFA1 ; $AF9F NEG ; ; Routine at AFA1 ; ; Used by the routine at #R$AF79. @label=loc_AFA1 c$AFA1 LD (IX+$09),A ; $AFA4 LD A,(IX+$02) ; $AFA7 SUB (IY+$02) ; $AFAA JR Z,$AFB3 ; $AFAC LD A,$01 ; $AFAE JP M,$AFB3 ; $AFB1 NEG ; ; Routine at AFB3 ; ; Used by the routine at #R$AFA1. @label=loc_AFB3 c$AFB3 LD (IX+$0A),A ; $AFB6 LD A,(IX+$01) ; $AFB9 CP (IY+$01) ; $AFBC JR NZ,$AFD0 ; $AFBE LD A,(IX+$02) ; $AFC1 CP (IY+$02) ; $AFC4 JR NZ,$AFD0 ; $AFC6 LD A,(IY+$03) ; $AFC9 ADD A,$0C ; $AFCB CP (IX+$03) ; $AFCE JR Z,$AFE7 ; ; Routine at AFD0 ; ; Used by the routines at #R$AF79 and #R$AFB3. @label=loc_AFD0 c$AFD0 CALL $BFB6 ; $AFD3 BIT 0,(IX+$0D) ; $AFD7 JR NZ,$AFDD ; $AFD9 CALL $BED6 ; $AFDC RET Z ; ; Routine at AFDD ; ; Used by the routine at #R$AFD0. @label=loc_AFDD c$AFDD RES 0,(IX+$0D) ; $AFE1 CALL $C2EE ; $AFE4 JP $B3BF ; ; Routine at AFE7 ; ; Used by the routine at #R$AFB3. @label=loc_AFE7 c$AFE7 LD A,(IX+$00) ; $AFEA XOR (IY+$00) ; $AFED AND $03 ; $AFEF JR Z,$AFF8 ; $AFF1 LD (IX+$00),$40 ; {'@' $AFF5 JP $BFAB ; } ; Routine at AFF8 ; ; Used by the routine at #R$AFE7. @label=loc_AFF8 c$AFF8 LD A,(IX+$00) ; $AFFB OR $04 ; $AFFD LD (IX+$00),A ; $B000 CALL $B3BF ; $B003 LD D,$10 ; ; Routine at B005 ; ; Used by the routine at #R$B021. @label=loc_B005 c$B005 LD HL,$5800 ; $B008 LD BC,$0300 ; ; Routine at B00B @label=loc_B00B c$B00B LD A,(HL) ; $B00C AND $F8 ; {'ø' $B00E LD E,A ; $B00F LD A,(HL) ; $B010 INC A ; $B011 AND $07 ; $B013 OR E ; $B014 LD (HL),A ; $B015 INC HL ; $B016 DEC BC ; $B017 LD A,B ; $B018 OR C ; $B019 JR NZ,$B00B ; $B01B CALL $B5EE ; $B01E LD BC,$0200 ; } ; Routine at B021 @label=loc_B021 c$B021 DEC BC ; $B022 LD A,B ; $B023 OR C ; $B024 JR NZ,$B021 ; $B026 DEC D ; $B027 JR NZ,$B005 ; $B029 LD HL,($5B34) ; $B02C LD A,(HL) ; $B02D OR $07 ; $B02F LD (HL),A ; $B030 AND $07 ; $B032 LD ($5B0D),A ; $B035 CALL $A749 ; $B038 LD HL,$5B40 ; $B03B LD A,(HL) ; $B03C ADD A,$01 ; $B03E DAA ; $B03F LD (HL),A ; $B040 CP $24 ; {'$' $B042 JR NZ,$B04C ; $B044 LD A,$01 ; $B046 LD ($5B23),A ; $B049 JP $B761 ; } ; Routine at B04C ; ; Used by the routine at #R$B021. @label=loc_B04C c$B04C CALL $A7A3 ; $B04F LD BC,$1820 ; $B052 JP $BF2F ; ; Routine at B055 @label=upd_0B c$B055 CALL $BF5B ; $B058 CALL $B1E5 ; $B05B LD A,(IX-$17) ; dX? $B05E OR (IX-$16) ; dY? $B061 OR (IX-$15) ; {dZ? $B064 RET Z ; $B065 CALL $B6C0 ; $B068 JP $BFAB ; } ; Routine at B06B @label=upd_5E_5F c$B06B CALL $BF5B ; $B06E CALL $B1FA ; $B071 LD A,(IX+$09) ; $B074 OR (IX+$0A) ; $B077 JR Z,$B08A ; $B079 CALL $BFB6 ; $B07C LD A,(IX+$0B) ; $B07F AND A ; $B080 CALL NZ,$B63C ; $B083 LD A,(IX+$0C) ; $B086 AND $03 ; $B088 JR Z,$B0A2 ; ; Routine at B08A ; ; Used by the routine at #R$B06B. @label=loc_B08A c$B08A CALL $B619 ; $B08D LD A,($5B05) ; $B090 AND $01 ; $B092 JR Z,$B0A8 ; $B094 CALL $B0DD ; ; Routine at B097 ; ; Used by the routine at #R$B0A8. @label=loc_B097 c$B097 CALL $B0E7 ; $B09A SLA (IX+$09) ; $B09E SLA (IX+$0A) ; ; Routine at B0A2 ; ; Used by the routine at #R$B06B. @label=loc_B0A2 c$B0A2 CALL $B20B ; $B0A5 JP $B2B0 ; ; Routine at B0A8 ; ; Used by the routine at #R$B08A. @label=loc_B0A8 c$B0A8 CALL $B0AD ; $B0AB JR $B097 ; ; Routine at B0AD ; ; Used by the routines at #R$B0A8 and #R$B0DD. @label=sub_B0AD c$B0AD BIT 0,(IX+$00) ; $B0B1 JR NZ,$B0C2 ; $B0B3 BIT 6,(IX+$07) ; $B0B7 JR NZ,$B0CE ; $B0B9 SET 0,(IX+$00) ; ; Routine at B0BD ; ; Used by the routine at #R$B0C2. @label=loc_B0BD c$B0BD SET 6,(IX+$07) ; $B0C1 RET ; ; Routine at B0C2 ; ; Used by the routine at #R$B0AD. @label=loc_B0C2 c$B0C2 BIT 6,(IX+$07) ; $B0C6 JR NZ,$B0D7 ; $B0C8 RES 0,(IX+$00) ; $B0CC JR $B0BD ; ; Routine at B0CE ; ; Used by the routine at #R$B0AD. @label=loc_B0CE c$B0CE RES 0,(IX+$00) ; ; Routine at B0D2 ; ; Used by the routine at #R$B0D7. @label=loc_B0D2 c$B0D2 RES 6,(IX+$07) ; $B0D6 RET ; ; Routine at B0D7 ; ; Used by the routine at #R$B0C2. @label=loc_B0D7 c$B0D7 SET 0,(IX+$00) ; $B0DB JR $B0D2 ; ; Routine at B0DD ; ; Used by the routine at #R$B08A. @label=sub_B0DD c$B0DD LD A,(IX+$00) ; $B0E0 XOR $01 ; $B0E2 LD (IX+$00),A ; $B0E5 JR $B0AD ; ; Routine at B0E7 ; ; Used by the routines at #R$B097 and #R$B158. @label=sub_B0E7 c$B0E7 LD A,(IX+$07) ; $B0EA RLCA ; $B0EB RLCA ; $B0EC RLCA ; $B0ED AND $02 ; $B0EF LD B,A ; $B0F0 LD A,(IX+$00) ; $B0F3 AND $01 ; $B0F5 OR B ; $B0F6 SLA A ; $B0F8 LD HL,$B108 ; $B0FB CALL $CE06 ; $B0FE LD A,(HL) ; $B0FF INC HL ; $B100 LD (IX+$09),A ; $B103 LD A,(HL) ; $B104 LD (IX+$0A),A ; $B107 RET ; ; Data block at B108 b$B108 DEFB $FF,$00,$01,$00,$00,$01,$00,$FF ; Routine at B110 @label=upd_56_57 c$B110 CALL $BF5B ; $B113 CALL $B1FA ; ; Routine at B116 ; ; Used by the routine at #R$B158. @label=loc_B116 c$B116 LD A,(IX+$09) ; $B119 AND A ; $B11A JR Z,$B13C ; $B11C LD (IX+$10),A ; $B11F CALL $BFB6 ; $B122 BIT 0,(IX+$0C) ; $B126 JR Z,$B136 ; $B128 LD A,(IX+$10) ; $B12B NEG ; $B12D LD (IX+$09),A ; ; Routine at B130 ; ; Used by the routine at #R$B13C. @label=loc_B130 c$B130 CALL $B619 ; $B133 CALL $B1AE ; ; Routine at B136 ; ; Used by the routines at #R$B116 and #R$B13C. @label=loc_B136 c$B136 CALL $B20B ; $B139 JP $B2B0 ; ; Routine at B13C ; ; Used by the routine at #R$B116. @label=loc_B13C c$B13C LD A,(IX+$0A) ; $B13F AND A ; $B140 JR Z,$B158 ; $B142 LD (IX+$10),A ; $B145 CALL $BFB6 ; $B148 BIT 1,(IX+$0C) ; $B14C JR Z,$B136 ; $B14E LD A,(IX+$10) ; $B151 NEG ; $B153 LD (IX+$0A),A ; $B156 JR $B130 ; ; Routine at B158 ; ; Used by the routine at #R$B13C. @label=loc_B158 c$B158 CALL $B0E7 ; $B15B SLA (IX+$09) ; $B15F SLA (IX+$0A) ; $B163 JR $B116 ; ; Routine at B165 ; ; Used by the routines at #R$AA89 and #R$B19C. @label=sub_B165 c$B165 LD HL,$5B89 ; $B168 LD A,(IX+$01) ; Y $B16B SUB (HL) ; sub X $B16C INC HL ; $B16D LD A,C ; $B16E JP M,$B173 ; $B171 NEG ; ; Routine at B173 ; ; Used by the routine at #R$B165. @label=loc_B173 c$B173 LD (IX+$09),A ; $B176 LD A,(IX+$02) ; $B179 SUB (HL) ; $B17A INC HL ; $B17B LD A,B ; $B17C JP M,$B181 ; $B17F NEG ; ; Routine at B181 ; ; Used by the routine at #R$B173. @label=loc_B181 c$B181 LD (IX+$0A),A ; $B184 RET ; ; Routine at B185 ; ; Used by the routines at #R$AA89 and #R$AABB. @label=sub_B185 c$B185 LD A,(IX+$00) ; $B188 XOR $01 ; $B18A JR $B198 ; ; Routine at B18C ; ; Used by the routines at #R$AA15, #R$AE33 and #R$B19C. @label=sub_B18C c$B18C LD A,(IX+$00) ; $B18F LD C,A ; $B190 AND $FC ; {'ü' $B192 LD B,A ; $B193 LD A,C ; $B194 INC A ; $B195 AND $03 ; $B197 OR B ; } ; Routine at B198 ; ; Used by the routine at #R$B185. @label=loc_B198 c$B198 LD (IX+$00),A ; $B19B RET ; ; Routine at B19C @label=upd_4C_4F c$B19C CALL $BF6A ; $B19F LD BC,$0404 ; $B1A2 CALL $B165 ; $B1A5 CALL $BFB6 ; $B1A8 CALL $B18C ; $B1AB JP $B3BF ; ; Routine at B1AE ; ; Used by the routine at #R$B130. @label=sub_B1AE c$B1AE LD A,(IX+$09) ; $B1B1 OR (IX+$0A) ; $B1B4 RET Z ; $B1B5 LD A,(IX+$09) ; $B1B8 CP (IX+$0A) ; $B1BB JR C,$B1D0 ; $B1BD BIT 7,A ; $B1BF JR NZ,$B1CA ; $B1C1 SET 0,(IX+$00) ; ; Routine at B1C5 ; ; Used by the routine at #R$B1CA. @label=loc_B1C5 c$B1C5 RES 6,(IX+$07) ; $B1C9 RET ; ; Routine at B1CA ; ; Used by the routine at #R$B1AE. @label=loc_B1CA c$B1CA RES 0,(IX+$00) ; $B1CE JR $B1C5 ; ; Routine at B1D0 ; ; Used by the routine at #R$B1AE. @label=loc_B1D0 c$B1D0 BIT 7,(IX+$0A) ; $B1D4 JR Z,$B1DF ; $B1D6 SET 0,(IX+$00) ; ; Routine at B1DA ; ; Used by the routine at #R$B1DF. @label=loc_B1DA c$B1DA SET 6,(IX+$07) ; $B1DE RET ; ; Routine at B1DF ; ; Used by the routine at #R$B1D0. @label=loc_B1DF c$B1DF RES 0,(IX+$00) ; $B1E3 JR $B1DA ; ; Routine at B1E5 ; ; Used by the routine at #R$B055. @label=sub_B1E5 c$B1E5 LD A,(IX-$1F) ; $B1E8 LD (IX+$01),A ; {X $B1EB LD A,(IX-$1E) ; } $B1EE LD (IX+$02),A ; {Y $B1F1 LD A,(IX-$1D) ; $B1F4 SUB $0C ; } $B1F6 LD (IX+$03),A ; {Z $B1F9 RET ; } ; Routine at B1FA ; ; Used by the routines at #R$B06B and #R$B110. @label=sub_B1FA c$B1FA LD A,(IX+$03) ; $B1FD SUB $0C ; $B1FF LD (IX+$03),A ; $B202 SLA (IX+$06) ; $B206 SET 1,(IX+$27) ; $B20A RET ; ; Routine at B20B ; ; Used by the routines at #R$B0A2 and #R$B136. @label=sub_B20B c$B20B LD A,(IX+$03) ; $B20E ADD A,$0C ; $B210 LD (IX+$03),A ; $B213 SRL (IX+$06) ; $B217 RES 1,(IX+$27) ; $B21B RET ; ; Routine at B21C @label=upd_43 c$B21C CALL $B64F ; $B21F LD HL,$020A ; $B222 JR $B22A ; ; Routine at B224 @label=upd_42 c$B224 CALL $B64A ; $B227 LD HL,$0109 ; ; Routine at B22A ; ; Used by the routine at #R$B21C. @label=loc_B22A c$B22A LD A,H ; $B22B LD ($B24B),A ; $B22E LD A,L ; $B22F LD ($B25C),A ; $B232 CALL $BF3D ; $B235 PUSH IX ; $B237 POP BC ; $B238 LD A,C ; $B239 RRCA ; $B23A AND $10 ; $B23C LD C,A ; $B23D LD A,($5B02) ; $B240 ADD A,C ; $B241 BIT 4,A ; $B243 JR Z,$B246 ; $B245 CPL ; ; Routine at B246 ; ; Used by the routine at #R$B22A. @label=loc_B246 c$B246 AND $0F ; $B248 LD C,A ; ; Routine at B249 @label=loc_B249 c$B249 LD A,(IX+$01) ; $B24C ADD A,$08 ; $B24E AND $0F ; $B250 CP C ; $B251 JP Z,$BFAB ; $B254 LD A,$01 ; $B256 JR C,$B25A ; $B258 NEG ; ; Routine at B25A ; ; Used by the routine at #R$B249. @label=loc_B25A c$B25A LD (IX+$09),A ; $B25D LD (IX+$0B),$01 ; $B261 CALL $BFB6 ; $B264 JP $BFAB ; ; Routine at B267 @label=upd_44 c$B267 LD (IX+$0A),$02 ; ; Routine at B26B ; ; Used by the routines at #R$B27A, #R$B280 and #R$B286. @label=loc_B26B c$B26B CALL $BF3D ; $B26E LD A,(IX+$0B) ; $B271 AND A ; $B272 CALL NZ,$B6BB ; $B275 XOR A ; $B276 LD (IX+$0B),A ; $B279 RET ; ; Routine at B27A @label=upd_45 c$B27A LD (IX+$09),$02 ; $B27E JR $B26B ; ; Routine at B280 @label=upd_46 c$B280 LD (IX+$0A),$FE ; {'þ' $B284 JR $B26B ; } ; Routine at B286 @label=upd_47 c$B286 LD (IX+$09),$FE ; {'þ' $B28A JR $B26B ; } ; Routine at B28C @label=upd_2D c$B28C CALL $BF3D ; $B28F BIT 3,(IX+$0D) ; $B293 RES 3,(IX+$0D) ; $B297 RET Z ; $B298 LD (IX+$00),$40 ; {'@' $B29C JP $B3A4 ; } ; Routine at B29F @label=upd_48_4B c$B29F CALL $BF3D ; $B2A2 JR $B2A7 ; ; Routine at B2A4 @label=upd_2E c$B2A4 CALL $BF6A ; ; Routine at B2A7 ; ; Used by the routines at #R$A8F9, #R$A9B1, #R$AD13, #R$B29F and #R$B2B0. @label=set_both_deadly_flags c$B2A7 LD A,(IX+$0D) ; flags13 $B2AA OR $A0 ; {' ' $B2AC LD (IX+$0D),A ; $B2AF RET ; } ; Routine at B2B0 ; ; Used by the routines at #R$A9B1, #R$AA89, #R$AABB, #R$B0A2 and #R$B136. @label=set_deadly_wipe_and_draw_flags c$B2B0 CALL $B2A7 ; $B2B3 JP $BFAB ; ; Routine at B2B6 @label=upd_2C c$B2B6 CALL $BF3D ; $B2B9 BIT 3,(IX+$0D) ; $B2BD RES 3,(IX+$0D) ; $B2C1 RET Z ; $B2C2 LD (IX+$0B),$00 ; {dZ=0 $B2C6 CALL $BFB6 ; } $B2C9 LD (IX+$0B),$00 ; {dZ=0 $B2CD BIT 2,(IX+$0C) ; $B2D1 JR NZ,$B2D6 ; $B2D3 CALL $B63C ; } ; Routine at B2D6 ; ; Used by the routine at #R$B2B6. @label=loc_B2D6 c$B2D6 JP $BFAB ; ; Routine at B2D9 ; ; Used by the routine at #R$B302. @label=save_XYZ c$B2D9 LD HL,$5B1B ; $B2DC LD A,(IX+$01) ; {X $B2DF LD (HL),A ; $B2E0 INC HL ; } $B2E1 LD A,(IX+$02) ; {Y $B2E4 LD (HL),A ; $B2E5 INC HL ; } $B2E6 LD A,(IX+$03) ; {Z $B2E9 LD (HL),A ; $B2EA RET ; } ; Routine at B2EB ; ; Used by the routine at #R$B302. ; ; compare object X,Y,Z with tmp copies - returns Z=same, NZ=not @label=cmp_tmp_XYZ c$B2EB LD HL,$5B1B ; $B2EE LD A,(IX+$01) ; X $B2F1 CP (HL) ; same as tmp? $B2F2 RET NZ ; no, exit $B2F3 INC HL ; $B2F4 LD A,(IX+$02) ; Y $B2F7 CP (HL) ; same as tmp? $B2F8 RET NZ ; no, exit $B2F9 INC HL ; $B2FA LD A,(IX+$03) ; Z $B2FD CP (HL) ; same as tmp? $B2FE RET ; ; Routine at B2FF @label=upd_1C c$B2FF CALL $BF3D ; ; Routine at B302 ; ; Used by the routine at #R$B31A. @label=loc_B302 c$B302 CALL $B2D9 ; $B305 CALL $BFB6 ; $B308 CALL $BED6 ; $B30B JR NZ,$B314 ; yes, skip $B30D CALL $B2EB ; has it moved? $B310 RET Z ; no, exit $B311 JP $BFAB ; ; Routine at B314 ; ; Used by the routine at #R$B302. @label=loc_B314 c$B314 CALL $C2EE ; $B317 JP $B3BF ; ; Routine at B31A @label=upd_1D c$B31A CALL $BF56 ; $B31D JR $B302 ; ; Routine at B31F @label=upd_2F c$B31F CALL $BF3D ; $B322 LD A,($5B25) ; $B325 AND A ; $B326 JR NZ,$B330 ; $B328 LD A,(IX+$03) ; $B32B ADD A,$30 ; {'0' $B32D LD ($5B25),A ; } ; Routine at B330 ; ; Used by the routine at #R$B31F. @label=loc_B330 c$B330 BIT 3,(IX+$0D) ; $B334 RES 3,(IX+$0D) ; $B338 JR NZ,$B34E ; $B33A BIT 2,(IX+$0C) ; $B33E RET Z ; ; Routine at B33F @label=upd_1F c$B33F CALL $BF3D ; $B342 LD A,($5B25) ; $B345 AND A ; $B346 JR NZ,$B34E ; $B348 LD A,(IX+$03) ; $B34B LD ($5B25),A ; ; Routine at B34E ; ; Used by the routines at #R$B330 and #R$B33F. @label=loc_B34E c$B34E CALL $B63C ; $B351 XOR A ; $B352 LD (IX+$09),A ; $B355 LD (IX+$0A),A ; $B358 BIT 2,(IX+$0D) ; $B35C JR NZ,$B371 ; $B35E LD (IX+$0B),A ; $B361 CALL $BFB6 ; $B364 BIT 2,(IX+$0C) ; $B368 JR Z,$B36E ; $B36A SET 2,(IX+$0D) ; ; Routine at B36E ; ; Used by the routines at #R$B34E and #R$B38C. @label=loc_B36E c$B36E JP $BFAB ; ; Routine at B371 ; ; Used by the routine at #R$B34E. @label=loc_B371 c$B371 LD (IX+$0B),$03 ; $B375 CALL $BFB6 ; $B378 BIT 2,(IX+$0C) ; $B37C JR Z,$B38C ; $B37E LD (IX+$0B),$04 ; $B382 XOR A ; $B383 LD (IX+$09),A ; $B386 LD (IX+$0A),A ; $B389 CALL $BFB6 ; ; Routine at B38C ; ; Used by the routine at #R$B371. @label=loc_B38C c$B38C LD A,($5B25) ; $B38F CP (IX+$03) ; $B392 JR NC,$B36E ; $B394 RES 2,(IX+$0D) ; $B398 JR $B36E ; ; Routine at B39A ; ; Used by the routines at #R$C0BE and #R$C6E4. @label=loc_B39A c$B39A LD (IX+$00),$30 ; {'0' $B39E SET 1,(IX+$07) ; $B3A2 JR $B3AA ; } ; Routine at B3A4 ; ; Used by the routine at #R$B28C. @label=upd_30_to_36_40 c$B3A4 CALL $BF6A ; $B3A7 INC (IX+$00) ; ; Routine at B3AA ; ; Used by the routine at #R$B39A. @label=loc_B3AA c$B3AA CALL $B5EE ; $B3AD JP $BFAB ; ; Routine at B3B0 @label=upd_41 c$B3B0 LD L,(IX+$10) ; $B3B3 LD H,(IX+$11) ; $B3B6 LD (HL),$00 ; ; Routine at B3B8 @label=upd_37 c$B3B8 CALL $BF6A ; ; Routine at B3BB ; ; Used by the routines at #R$AE17 and #R$AE33. @label=loc_B3BB c$B3BB LD (IX+$00),$01 ; ; Routine at B3BF ; ; Used by the routines at #R$AFDD, #R$AFF8, #R$B19C, #R$B314 and #R$BF22. @label=audio_set_wipe_draw_flags c$B3BF CALL $B654 ; $B3C2 JP $BFAB ; ; Data block at B3C5 @label=start_game_tune b$B3C5 DEFB $25,$28,$2C,$25,$2A,$2D,$2C,$2A $B3CD DEFB $28,$2C,$2A,$28,$27,$2A,$28,$27 $B3D5 DEFB $65,$FF ; Data block at B3D7 @label=obj_5C_tune b$B3D7 DEFB $25,$28,$2C,$25,$2A,$2D,$2C,$2A $B3DF DEFB $28,$2C,$2A,$28,$27,$2A,$28,$27 $B3E7 DEFB $25,$28,$2C,$25,$2A,$2D,$2C,$2A $B3EF DEFB $28,$25,$27,$2C,$28,$25,$65,$FF ; Data block at B3F7 @label=game_over_tune b$B3F7 DEFB $25,$29,$2C,$29,$24,$29,$2C,$29 $B3FF DEFB $22,$27,$2A,$27,$21,$27,$2A,$27 $B407 DEFB $20,$25,$29,$25,$1F,$25,$29,$25 $B40F DEFB $1E,$24,$27,$24,$20,$24,$27,$24 $B417 DEFB $25,$29,$2C,$29,$24,$29,$2C,$29 $B41F DEFB $22,$27,$2A,$27,$21,$27,$2A,$27 $B427 DEFB $20,$25,$29,$25,$1F,$25,$29,$25 $B42F DEFB $1E,$24,$27,$24,$25,$29,$65,$FF ; Data block at B437 @label=game_complete_tune b$B437 DEFB $1B,$1D,$1E,$1B,$1D,$1E,$20,$1D $B43F DEFB $1E,$20,$22,$1E,$1D,$1E,$20,$1D $B447 DEFB $1B,$1D,$1E,$1B,$1A,$1B,$1D,$1A $B44F DEFB $9B,$FF ; Data block at B451 @label=menu_tune b$B451 DEFB $19,$25,$19,$25,$19,$19,$25,$19 $B459 DEFB $25,$19,$19,$25,$19,$25,$19,$1B $B461 DEFB $1C,$28,$1C,$28,$1C,$28,$1C,$28 $B469 DEFB $1B,$27,$1B,$27,$17,$23,$17,$23 $B471 DEFB $19,$25,$19,$25,$19,$19,$25,$19 $B479 DEFB $25,$19,$19,$25,$19,$25,$19,$1B $B481 DEFB $1C,$2F,$1C,$2F,$1C,$2F,$1C,$2F $B489 DEFB $1B,$2A,$1B,$2A,$17,$2A,$17,$2A $B491 DEFB $19,$2C,$19,$2C,$19,$19,$2C,$19 $B499 DEFB $2C,$19,$19,$2C,$19,$2C,$19,$FF ; Routine at B4A1 ; ; Used by the routine at #R$BA95. @label=play_audio_wait_key c$B4A1 LD HL,$5B31 ; $B4A4 LD A,(HL) ; $B4A5 AND A ; $B4A6 RET NZ ; $B4A7 SET 0,(HL) ; ; Routine at B4A9 ; ; Used by the routines at #R$B4B0 and #R$B7AE. @label=play_audio_until_keypress c$B4A9 XOR A ; $B4AA CALL $B759 ; $B4AD JR Z,$B4B0 ; $B4AF RET ; ; Routine at B4B0 ; ; Used by the routine at #R$B4A9. @label=loc_B4B0 c$B4B0 LD A,(DE) ; $B4B1 CP $FF ; $B4B3 JR Z,$B4C4 ; $B4B5 CALL $B4C5 ; $B4B8 JR $B4A9 ; ; Routine at B4BA ; ; Used by the routines at #R$A650, #R$A9A8 and #R$B8A9. @label=play_audio c$B4BA LD A,(DE) ; $B4BB CP $FF ; $B4BD JR Z,$B4C4 ; $B4BF CALL $B4C5 ; $B4C2 JR $B4BA ; ; Routine at B4C4 ; ; Used by the routines at #R$B4B0 and #R$B4BA. @label=end_audio c$B4C4 RET ; ; Routine at B4C5 ; ; Used by the routines at #R$B4B0 and #R$B4BA. @label=sub_B4C5 c$B4C5 AND $3F ; {'?' $B4C7 JR Z,$B507 ; $B4C9 LD L,A ; $B4CA LD H,$00 ; $B4CC ADD HL,HL ; $B4CD CALL $CE06 ; $B4D0 LD BC,$B51D ; $B4D3 ADD HL,BC ; $B4D4 LD B,(HL) ; $B4D5 INC HL ; $B4D6 LD C,(HL) ; $B4D7 INC HL ; $B4D8 LD L,(HL) ; $B4D9 LD H,$00 ; $B4DB LD A,(DE) ; $B4DC RLCA ; $B4DD RLCA ; $B4DE AND $03 ; $B4E0 INC A ; $B4E1 PUSH DE ; $B4E2 LD E,L ; $B4E3 LD D,H ; } ; Routine at B4E4 @label=loc_B4E4 c$B4E4 DEC A ; $B4E5 JR Z,$B4EA ; $B4E7 ADD HL,DE ; $B4E8 JR $B4E4 ; ; Routine at B4EA ; ; Used by the routine at #R$B4E4. @label=loc_B4EA c$B4EA POP DE ; ; Routine at B4EB ; ; Used by the routine at #R$B4FA. @label=loc_B4EB c$B4EB PUSH BC ; $B4EC XOR A ; $B4ED OUT ($FE),A ; ; Routine at B4EF @label=loc_B4EF c$B4EF DJNZ $B4EF ; $B4F1 DEC C ; $B4F2 JR NZ,$B4EF ; $B4F4 POP BC ; $B4F5 PUSH BC ; $B4F6 LD A,$10 ; $B4F8 OUT ($FE),A ; ; Routine at B4FA @label=loc_B4FA c$B4FA DJNZ $B4FA ; $B4FC DEC C ; $B4FD JR NZ,$B4FA ; $B4FF POP BC ; $B500 DEC HL ; $B501 LD A,H ; $B502 OR L ; $B503 JR NZ,$B4EB ; $B505 INC DE ; $B506 RET ; ; Routine at B507 ; ; Used by the routine at #R$B4C5. @label=loc_B507 c$B507 LD A,(DE) ; $B508 INC DE ; $B509 RLCA ; $B50A RLCA ; $B50B AND $03 ; $B50D INC A ; $B50E LD L,A ; $B50F LD BC,$430B ; ; Routine at B512 ; ; Used by the routine at #R$B513. @label=loc_B512 c$B512 PUSH BC ; ; Routine at B513 @label=loc_B513 c$B513 DEC BC ; $B514 LD A,B ; $B515 OR C ; $B516 JR NZ,$B513 ; $B518 POP BC ; $B519 DEC L ; $B51A JR NZ,$B512 ; $B51C RET ; ; Data block at B51D @label=freq_tbl b$B51D DEFB $00,$00,$00 $B520 DEFB $F4,$0A,$08 $B523 DEFB $65,$0A,$09 $B526 DEFB $DE,$09,$09 $B529 DEFB $5E,$09,$0A $B52C DEFB $E7,$08,$0A $B52F DEFB $75,$08,$0B $B532 DEFB $0A,$08,$0C $B535 DEFB $A5,$07,$0C $B538 DEFB $45,$07,$0D $B53B DEFB $EB,$06,$0E $B53E DEFB $96,$06,$0F $B541 DEFB $46,$06,$0F $B544 DEFB $FA,$05,$10 $B547 DEFB $B3,$05,$11 $B54A DEFB $6F,$05,$12 $B54D DEFB $2F,$05,$13 $B550 DEFB $F3,$04,$15 $B553 DEFB $F3,$04,$16 $B556 DEFB $85,$04,$17 $B559 DEFB $52,$04,$19 $B55C DEFB $23,$04,$1A $B55F DEFB $F6,$03,$1C $B562 DEFB $CB,$03,$1D $B565 DEFB $A3,$03,$1F $B568 DEFB $7D,$03,$21 $B56B DEFB $59,$03,$23 $B56E DEFB $38,$03,$25 $B571 DEFB $18,$03,$27 $B574 DEFB $FA,$02,$29 $B577 DEFB $DD,$02,$2C $B57A DEFB $C2,$02,$2E $B57D DEFB $A9,$02,$31 $B580 DEFB $91,$02,$34 $B583 DEFB $7B,$02,$37 $B586 DEFB $66,$02,$3A $B589 DEFB $51,$02,$3E $B58C DEFB $3F,$02,$41 $B58F DEFB $2D,$02,$45 $B592 DEFB $1C,$02,$49 $B595 DEFB $0C,$02,$4E $B598 DEFB $FD,$01,$52 $B59B DEFB $EF,$01,$57 $B59E DEFB $E2,$01,$5D $B5A1 DEFB $D5,$01,$62 $B5A4 DEFB $C9,$01,$68 $B5A7 DEFB $BD,$01,$6E $B5AA DEFB $B3,$01,$75 $B5AD DEFB $A9,$01,$7B $B5B0 DEFB $9F,$01,$83 $B5B3 DEFB $96,$01,$8B $B5B6 DEFB $8E,$01,$93 $B5B9 DEFB $86,$01,$9C $B5BC DEFB $7E,$01,$A5 $B5BF DEFB $77,$01,$AF $B5C2 DEFB $71,$01,$B9 $B5C5 DEFB $6A,$01,$C4 $B5C8 DEFB $64,$01,$D0 $B5CB DEFB $5F,$01,$DC $B5CE DEFB $59,$01,$E9 $B5D1 DEFB $54,$01,$F7 $B5D4 DEFB $3A,$02,$5B $B5D7 DEFB $E6,$07,$6F $B5DA DEFB $26,$00,$01 $B5DD DEFB $E6,$B5,$09 $B5E0 DEFB $46,$0E,$04 $B5E3 DEFB $C3,$FB,$B6 ; Data block at B5E6 @label=byte_B5E6 b$B5E6 DEFB $A0,$B0,$C0,$90,$A0,$E0,$80,$60 ; Routine at B5EE ; ; Used by the routines at #R$B00B and #R$B3AA. @label=sub_B5EE c$B5EE LD A,(IX+$00) ; $B5F1 CPL ; $B5F2 AND $1F ; $B5F4 LD E,A ; $B5F5 LD HL,$1234 ; ; Routine at B5F8 @label=loc_B5F8 c$B5F8 LD A,(HL) ; $B5F9 INC HL ; $B5FA LD B,A ; $B5FB LD C,$02 ; $B5FD CALL $B6FB ; $B600 DEC E ; $B601 JR NZ,$B5F8 ; $B603 RET ; ; Routine at B604 ; ; Used by the routine at #R$BC70. @label=sub_B604 c$B604 LD A,(IX+$00) ; $B607 RLCA ; $B608 RLCA ; $B609 AND $1F ; $B60B OR $03 ; $B60D LD C,A ; ; Routine at B60E @label=loc_B60E c$B60E LD A,C ; $B60F RLCA ; $B610 RLCA ; $B611 LD B,A ; $B612 CALL $B702 ; $B615 DEC C ; $B616 JR NZ,$B60E ; $B618 RET ; ; Routine at B619 ; ; Used by the routines at #R$AB61, #R$B08A and #R$B130. @label=sub_B619 c$B619 LD HL,$0000 ; $B61C LD E,$04 ; ; Routine at B61E @label=loc_B61E c$B61E LD C,$03 ; $B620 LD A,(HL) ; $B621 INC HL ; $B622 OR $C0 ; {'À' $B624 LD B,A ; $B625 CALL $B6FB ; $B628 DEC E ; $B629 JR NZ,$B61E ; $B62B RET ; } ; Routine at B62C ; ; Used by the routine at #R$C23D. @label=audio_B62C c$B62C LD C,$20 ; ' ' ; Routine at B62E @label=loc_B62E c$B62E LD A,C ; $B62F RRCA ; $B630 RRCA ; $B631 RRCA ; $B632 RRCA ; $B633 RRCA ; $B634 LD B,A ; $B635 CALL $B702 ; $B638 DEC C ; $B639 JR NZ,$B62E ; $B63B RET ; ; Routine at B63C ; ; Used by the routines at #R$A937, #R$A9F1, #R$AD37, #R$B06B, #R$B2B6, #R$B34E and #R$C2C8. @label=audio_B63C c$B63C LD A,(IX+$03) ; ; Routine at B63F ; ; Used by the routines at #R$A988, #R$B64A, #R$B64F and #R$B654. @label=audio_B63F c$B63F ADD A,$40 ; {'@' $B641 CPL ; $B642 RLCA ; $B643 RLCA ; $B644 LD B,A ; $B645 LD C,$06 ; $B647 JP $B6FB ; } ; Routine at B64A ; ; Used by the routine at #R$B224. @label=audio_B64A c$B64A LD A,(IX+$01) ; $B64D JR $B63F ; ; Routine at B64F ; ; Used by the routine at #R$B21C. @label=audio_B64F c$B64F LD A,(IX+$02) ; $B652 JR $B63F ; ; Routine at B654 ; ; Used by the routine at #R$B3BF. @label=audio_B654 c$B654 LD A,(IX+$01) ; X $B657 ADD A,(IX+$02) ; +Y $B65A ADD A,(IX+$03) ; {+Z $B65D JR $B63F ; $B65F LD A,(IX+$00) ; $B662 RLCA ; $B663 RLCA ; $B664 RLCA ; $B665 AND $18 ; $B667 ADD A,$10 ; $B669 LD C,A ; } ; Routine at B66A @label=audio_B66A c$B66A LD A,C ; $B66B XOR $55 ; {'U' $B66D ADD A,C ; $B66E LD B,A ; $B66F CALL $B702 ; $B672 DEC C ; $B673 JR NZ,$B66A ; $B675 RET ; } ; Routine at B676 ; ; Used by the routines at #R$ABAC and #R$AD54. @label=sub_B676 c$B676 LD A,($5B05) ; $B679 LD L,A ; $B67A LD A,($5B02) ; $B67D AND $1F ; $B67F LD H,A ; $B680 LD E,$10 ; ; Routine at B682 @label=loc_B682 c$B682 LD A,(HL) ; $B683 INC HL ; $B684 AND $7F ; {'' $B686 LD B,A ; $B687 LD C,$02 ; $B689 CALL $B6FB ; $B68C DEC E ; $B68D JR NZ,$B682 ; $B68F RET ; } ; Routine at B690 ; ; Used by the routines at #R$AA3A and #R$AA89. @label=audio_B690 c$B690 LD A,($5B02) ; $B693 AND $03 ; $B695 CALL $CE06 ; $B698 LD C,(HL) ; ; Routine at B699 @label=loc_B699 c$B699 LD A,($5B02) ; $B69C XOR C ; $B69D AND $1F ; $B69F OR $40 ; {'@' $B6A1 LD B,A ; $B6A2 CALL $B702 ; $B6A5 DEC C ; $B6A6 JR NZ,$B699 ; $B6A8 RET ; } ; Data block at B6A9 @label=byte_B6A9 b$B6A9 DEFB $08,$0C,$10,$14,$18,$14,$10,$0C ; Routine at B6B1 ; ; Used by the routines at #R$AC03, #R$BADE, #R$BD9E and #R$BEE0. @label=toggle_FE_bit4_x16 c$B6B1 LD BC,$8010 ; $B6B4 JR $B6FB ; ; Routine at B6B6 ; ; Used by the routines at #R$CE2D and #R$CE42. @label=toggle_FE_bit4_x24 c$B6B6 LD BC,$5018 ; $B6B9 JR $B6FB ; ; Routine at B6BB ; ; Used by the routines at #R$AAC1 and #R$B26B. @label=toggle_FE_bit4_x32 c$B6BB LD BC,$3020 ; $B6BE JR $B6FB ; ; Routine at B6C0 ; ; Used by the routine at #R$B055. @label=loc_B6C0 c$B6C0 LD A,(IX+$00) ; $B6C3 AND $01 ; $B6C5 RET NZ ; $B6C6 LD B,$80 ; {'€' $B6C8 LD A,($5B02) ; $B6CB CPL ; $B6CC JR $B6D9 ; } ; Routine at B6CE ; ; Used by the routine at #R$C277. @label=audio_B6CE c$B6CE LD A,(IX+$00) ; $B6D1 AND $01 ; $B6D3 RET NZ ; ; Routine at B6D4 ; ; Used by the routine at #R$C211. @label=loc_B6D4 c$B6D4 LD B,$60 ; {'`' $B6D6 LD A,($5B02) ; } ; Routine at B6D9 ; ; Used by the routine at #R$B6C0. @label=loc_B6D9 c$B6D9 BIT 1,A ; $B6DB JR Z,$B6E6 ; $B6DD LD A,(IX+$03) ; $B6E0 ADD A,$40 ; {'@' $B6E2 CPL ; $B6E3 SRL A ; $B6E5 LD B,A ; } ; Routine at B6E6 ; ; Used by the routine at #R$B6D9. @label=loc_B6E6 c$B6E6 LD A,(IX+$01) ; $B6E9 SRL A ; $B6EB LD C,A ; $B6EC LD A,(IX+$02) ; $B6EF NEG ; $B6F1 SRL A ; $B6F3 ADD A,C ; $B6F4 RRCA ; $B6F5 RRCA ; $B6F6 RRCA ; $B6F7 RRCA ; $B6F8 AND $0F ; $B6FA LD C,A ; ; Routine at B6FB ; ; Used by the routines at #R$B5F8, #R$B61E, #R$B63F, #R$B682, #R$B6B1, #R$B6B6 and #R$B6BB. @label=toggle_FE_bit4_xC c$B6FB CALL $B702 ; $B6FE DEC C ; $B6FF JR NZ,$B6FB ; $B701 RET ; ; Routine at B702 ; ; Used by the routines at #R$B60E, #R$B62E, #R$B66A, #R$B699 and #R$B6FB. @label=toggle_FE_bit4 c$B702 LD A,$10 ; $B704 OUT ($FE),A ; $B706 LD A,B ; ; Routine at B707 @label=loc_B707 c$B707 DJNZ $B707 ; $B709 LD B,A ; $B70A XOR A ; $B70B OUT ($FE),A ; $B70D LD A,B ; ; Routine at B70E @label=loc_B70E c$B70E DJNZ $B70E ; $B710 LD B,A ; $B711 RET ; ; Routine at B712 ; ; Used by the routine at #R$BD6B. ; ; Identical to Knight Lore (except #objs) @label=do_any_objs_intersect c$B712 PUSH BC ; $B713 PUSH DE ; $B714 PUSH HL ; $B715 PUSH IY ; $B717 LD IY,$5B88 ; $B71B LD B,$38 ; $B71D LD C,$00 ; $B71F LD L,C ; $B720 LD H,C ; $B721 SET 1,(IX+$07) ; ; Routine at B725 ; ; Used by the routine at #R$B743. @label=loc_B725 c$B725 CALL $B74D ; $B728 JR Z,$B743 ; $B72A CALL $C5A9 ; $B72D JR NC,$B743 ; $B72F CALL $C5BE ; $B732 JR NC,$B743 ; $B734 CALL $C5D3 ; $B737 JR NC,$B743 ; ; Routine at B739 ; ; Used by the routine at #R$B743. @label=loc_B739 c$B739 POP IY ; $B73B POP HL ; $B73C POP DE ; $B73D POP BC ; $B73E RES 1,(IX+$07) ; $B742 RET ; ; Routine at B743 ; ; Used by the routine at #R$B725. @label=loc_B743 c$B743 LD DE,$0020 ; $B746 ADD IY,DE ; $B748 DJNZ $B725 ; $B74A AND A ; $B74B JR $B739 ; ; Routine at B74D ; ; Used by the routines at #R$B725, #R$C49D, #R$C4EC and #R$C53B. ; ; identical to Knight Lore @label=is_object_not_ignored c$B74D LD A,(IY+$00) ; $B750 AND A ; $B751 RET Z ; $B752 LD A,(IY+$07) ; $B755 CPL ; $B756 AND $02 ; $B758 RET ; ; Routine at B759 ; ; Used by the routines at #R$AB61, #R$B4A9, #R$B7AE, #R$B89C, #R$BA95, #R$BADE, #R$C91B, #R$C923, #R$C979, #R$C986, ; #R$C9A5, #R$C9D3, #R$C9DC, #R$C9E5, #R$C9EE, #R$CE22, #R$CE2D, #R$CE39 and #R$CE42. @label=read_key c$B759 OUT ($FD),A ; $B75B IN A,($FE) ; $B75D CPL ; $B75E AND $1F ; $B760 RET ; ; lose_life ; ; Used by the routines at #R$ADA8, #R$B021 and #R$CA07. @label=game_over c$B761 CALL $AF05 ; $B764 LD A,($5B23) ; $B767 AND A ; $B768 JP NZ,$B8A9 ; ; Routine at B76B ; ; Used by the routine at #R$B8A9. @label=loc_B76B c$B76B CALL $CE7B ; $B76E CALL $CE73 ; $B771 LD DE,$B94F ; $B774 EXX ; $B775 LD HL,$B956 ; $B778 LD DE,$B964 ; {"GAME OVEÒ" $B77B LD B,$07 ; $B77D CALL $BC31 ; $B780 CALL $B881 ; $B783 RLCA ; } $B784 AND $C0 ; {'À' $B786 LD C,A ; $B787 LD A,($5B23) ; $B78A AND $01 ; $B78C OR C ; $B78D RLCA ; $B78E RLCA ; $B78F RLCA ; $B790 AND $0E ; $B792 LD L,A ; $B793 LD H,$00 ; $B795 LD BC,$B9DD ; } $B798 ADD HL,BC ; get entry $B799 LD E,(HL) ; $B79A INC HL ; $B79B LD D,(HL) ; DE=ptr message $B79C LD HL,$2758 ; $B79F CALL $BBB1 ; $B7A2 CALL $AC6B ; $B7A5 CALL $BA36 ; $B7A8 CALL $CB8A ; $B7AB CALL $CE85 ; ; Routine at B7AE @label=loc_B7AE c$B7AE XOR A ; $B7AF CALL $B759 ; $B7B2 JR NZ,$B7AE ; $B7B4 LD DE,$B3F7 ; $B7B7 CALL $B4A9 ; $B7BA LD B,$08 ; $B7BC CALL $B899 ; $B7BF LD A,$01 ; $B7C1 LD ($5B24),A ; $B7C4 CALL $CE7B ; $B7C7 CALL $CB8A ; $B7CA CALL $CE85 ; $B7CD CALL $CE4E ; $B7D0 CALL $CE68 ; $B7D3 LD A,($5B23) ; $B7D6 AND A ; $B7D7 JR NZ,$B7F0 ; $B7D9 LD HL,$9F48 ; $B7DC LD DE,$B7F5 ; $B7DF CALL $BBB1 ; $B7E2 LD DE,$B82A ; ; Routine at B7E5 ; ; Used by the routine at #R$B7F0. @label=loc_B7E5 c$B7E5 CALL $B804 ; $B7E8 LD A,$01 ; $B7EA LD ($5B17),A ; $B7ED JP $A68E ; ; Routine at B7F0 ; ; Used by the routine at #R$B7AE. @label=loc_B7F0 c$B7F0 LD DE,$B853 ; $B7F3 JR $B7E5 ; ; Data block at B7F5 @label=msg_Reprogramming b$B7F5 DEFB $C6 ; Æ ; Message at B7F6 @label=aReProgramming t$B7F6 DEFB $52 $B7F7 DEFM "Elow nibble $BA6F AND $0F ; $BA71 CALL $BBEB ; ; Routine at BA74 ; ; Used by the routine at #R$BA36. @label=print_BCD_lsd c$BA74 LD A,(DE) ; get char $BA75 AND $0F ; {low nibble $BA77 CALL $BBEB ; $BA7A INC DE ; $BA7B DJNZ $BA6A ; $BA7D RET ; } ; Routine at BA7E ; ; Used by the routine at #R$A650. ; ; Identical to Knight Lore @label=do_menu_selection c$BA7E XOR A ; $BA7F LD ($5B18),A ; $BA82 LD HL,$BB14 ; $BA85 LD B,$08 ; ; Routine at BA87 @label=loc_BA87 c$BA87 RES 7,(HL) ; $BA89 INC HL ; $BA8A DJNZ $BA87 ; $BA8C CALL $CE7B ; $BA8F CALL $BC25 ; $BA92 CALL $BAFB ; ; Routine at BA95 ; ; Used by the routine at #R$BADE. @label=menu_loop c$BA95 CALL $BC25 ; $BA98 LD DE,$B451 ; $BA9B CALL $B4A1 ; $BA9E LD A,$F7 ; {'÷' $BAA0 CALL $B759 ; $BAA3 LD E,A ; $BAA4 LD A,($5B04) ; $BAA7 LD ($5B06),A ; $BAAA BIT 0,E ; $BAAC JR Z,$BAB0 ; } $BAAE AND $F9 ; 'ù' ; Routine at BAB0 ; ; Used by the routine at #R$BA95. @label=check_for_kempston_jpystick c$BAB0 BIT 1,E ; $BAB2 JR Z,$BAB8 ; $BAB4 AND $F9 ; {'ù' $BAB6 OR $02 ; } ; Routine at BAB8 ; ; Used by the routine at #R$BAB0. @label=check_for_cursor_joystick c$BAB8 BIT 2,E ; $BABA JR Z,$BAC0 ; $BABC AND $F9 ; {'ù' $BABE OR $04 ; } ; Routine at BAC0 ; ; Used by the routine at #R$BAB8. @label=check_for_interface_ii c$BAC0 BIT 3,E ; $BAC2 JR Z,$BAC6 ; $BAC4 OR $06 ; ; Routine at BAC6 ; ; Used by the routine at #R$BAC0. @label=check_for_dierctional_control c$BAC6 LD ($5B04),A ; $BAC9 LD HL,$5B32 ; $BACC BIT 4,E ; $BACE JR Z,$BAF7 ; $BAD0 BIT 0,(HL) ; $BAD2 JR NZ,$BADE ; $BAD4 SET 0,(HL) ; $BAD6 LD A,($5B04) ; $BAD9 XOR $08 ; $BADB LD ($5B04),A ; ; Routine at BADE ; ; Used by the routines at #R$BAC6 and #R$BAF7. @label=check_for_start_game c$BADE LD HL,$5B06 ; $BAE1 CP (HL) ; $BAE2 CALL NZ,$B6B1 ; $BAE5 LD A,$EF ; {'ï' $BAE7 CALL $B759 ; $BAEA BIT 0,A ; $BAEC RET NZ ; $BAED LD HL,$5B00 ; $BAF0 INC (HL) ; $BAF1 CALL $BAFB ; $BAF4 JP $BA95 ; } ; Routine at BAF7 ; ; Used by the routine at #R$BAC6. @label=unset_directional c$BAF7 RES 0,(HL) ; $BAF9 JR $BADE ; ; Routine at BAFB ; ; Used by the routines at #R$BA87 and #R$BADE. ; ; Identical to Knight Lore @label=flash_menu c$BAFB LD HL,$BB15 ; $BAFE LD A,($5B04) ; $BB01 RRCA ; $BB02 AND $03 ; $BB04 LD B,$04 ; $BB06 CALL $BC15 ; $BB09 RES 7,(HL) ; $BB0B LD A,($5B04) ; $BB0E AND $08 ; $BB10 RET Z ; $BB11 SET 7,(HL) ; $BB13 RET ; ; Data block at BB14 @label=menu_colours b$BB14 DEFB $43,$C4,$44,$44,$44,$45,$47,$47 ; Data block at BB1C @label=menu_xy b$BB1C DEFB $68,$9F $BB1E DEFB $30,$8F $BB20 DEFB $30,$7F $BB22 DEFB $30,$6F $BB24 DEFB $30,$5F $BB26 DEFB $30,$4F $BB28 DEFB $30,$3F $BB2A DEFB $50,$27 ; Message at BB2C @label=aAlien t$BB2C DEFB $41 $BB2D DEFM "LIEN ",$B8 ; Message at BB33 @label=a1Keyboard t$BB33 DEFB $31 $BB34 DEFM " KEYBOAR",$C4 ; Message at BB3D @label=a2KempstonJoystick t$BB3D DEFB $32 $BB3E DEFM " KEMPSTON JOYSTIC",$CB ; Message at BB50 @label=a3CursorJoystick t$BB50 DEFB $33 $BB51 DEFM " CURSOR JOYSTIC",$CB ; Message at BB61 @label=a4InterfaceII t$BB61 DEFB $34 $BB62 DEFM " INTERFACE I",$C9 ; Message at BB6F @label=a5DirectionalControl t$BB6F DEFB $35 $BB70 DEFM " DIRECTIONAL CONTRO",$CC ; Message at BB84 @label=a0StartGame t$BB84 DEFB $30 $BB85 DEFM " START GAM",$C5 ; Message at BB90 @label=a1985ACG t$BB90 DEFB $3E $BB91 DEFM " 1985 A;C;G",$BB ; Routine at BB9D ; ; Used by the routine at #R$BC31. @label=print_text_in_colour c$BB9D PUSH HL ; $BB9E LD HL,$6188 ; {so we can use ASCII $BBA1 LD ($5B27),HL ; $BBA4 POP BC ; $BBA5 PUSH BC ; $BBA6 CALL $D120 ; $BBA9 LD L,C ; $BBAA LD H,B ; $BBAB LD A,($5B16) ; $BBAE EX AF,AF' ; $BBAF JR $BBC2 ; } ; Routine at BBB1 ; ; Used by the routines at #R$A749, #R$B76B and #R$B7AE. @label=print_text c$BBB1 PUSH HL ; $BBB2 LD HL,$6188 ; {sp we can use ASCII $BBB5 LD ($5B27),HL ; $BBB8 POP BC ; $BBB9 PUSH BC ; $BBBA CALL $D120 ; $BBBD LD L,C ; $BBBE LD H,B ; $BBBF LD A,(DE) ; $BBC0 EX AF,AF' ; $BBC1 INC DE ; } ; Routine at BBC2 ; ; Used by the routine at #R$BB9D. @label=loc_BBC2 c$BBC2 EXX ; $BBC3 POP HL ; $BBC4 PUSH DE ; $BBC5 CALL $D157 ; $BBC8 LD L,E ; $BBC9 LD H,D ; $BBCA POP DE ; ; Routine at BBCB @label=loc_BBCB c$BBCB EXX ; $BBCC LD A,(DE) ; $BBCD BIT 7,A ; $BBCF JR NZ,$BBDE ; $BBD1 PUSH DE ; $BBD2 CALL $BBEB ; $BBD5 POP DE ; $BBD6 INC DE ; $BBD7 EXX ; $BBD8 EX AF,AF' ; $BBD9 LD (HL),A ; $BBDA INC L ; $BBDB EX AF,AF' ; $BBDC JR $BBCB ; ; Routine at BBDE ; ; Used by the routine at #R$BBCB. @label=loc_BBDE c$BBDE AND $7F ; {'' $BBE0 PUSH DE ; $BBE1 CALL $BBEB ; $BBE4 POP DE ; $BBE5 INC DE ; $BBE6 EXX ; $BBE7 EX AF,AF' ; $BBE8 LD (HL),A ; $BBE9 EXX ; $BBEA RET ; } ; Routine at BBEB ; ; Used by the routines at #R$BA6A, #R$BA74, #R$BBCB and #R$BBDE. @label=print_8x8 c$BBEB CP $20 ; {' ' $BBED JR NZ,$BBF1 ; } $BBEF LD A,$3D ; '=' ; Routine at BBF1 ; ; Used by the routine at #R$BBEB. @label=loc_BBF1 c$BBF1 PUSH BC ; $BBF2 PUSH DE ; $BBF3 PUSH HL ; $BBF4 LD L,A ; $BBF5 LD H,$00 ; $BBF7 ADD HL,HL ; $BBF8 ADD HL,HL ; $BBF9 ADD HL,HL ; ; Routine at BBFA ; ; Used by the routine at #R$ADB0. @label=loc_BBFA c$BBFA LD DE,($5B27) ; $BBFE ADD HL,DE ; $BBFF EX DE,HL ; $BC00 POP HL ; $BC01 LD B,$08 ; ; Routine at BC03 @label=loc_BC03 c$BC03 LD A,(DE) ; $BC04 LD (HL),A ; $BC05 INC DE ; $BC06 PUSH BC ; $BC07 LD BC,$FFE0 ; $BC0A ADD HL,BC ; $BC0B POP BC ; $BC0C DJNZ $BC03 ; $BC0E POP DE ; $BC0F LD BC,$0101 ; $BC12 ADD HL,BC ; $BC13 POP BC ; $BC14 RET ; ; Routine at BC15 ; ; Used by the routine at #R$BAFB. @label=toggle_selected c$BC15 AND A ; $BC16 JR NZ,$BC1F ; ; Routine at BC18 ; ; Used by the routine at #R$BC1C. @label=loc_BC18 c$BC18 SET 7,(HL) ; $BC1A JR $BC21 ; ; Routine at BC1C ; ; Used by the routine at #R$BC21. @label=loc_BC1C c$BC1C DEC A ; $BC1D JR Z,$BC18 ; ; Routine at BC1F ; ; Used by the routine at #R$BC15. @label=loc_BC1F c$BC1F RES 7,(HL) ; ; Routine at BC21 ; ; Used by the routine at #R$BC18. @label=loc_BC21 c$BC21 INC HL ; $BC22 DJNZ $BC1C ; $BC24 RET ; ; Routine at BC25 ; ; Used by the routines at #R$BA87 and #R$BA95. @label=display_menu c$BC25 LD DE,$BB14 ; $BC28 EXX ; $BC29 LD HL,$BB1C ; $BC2C LD DE,$BB2C ; {"ALIEN ¸" $BC2F LD B,$08 ; } ; Routine at BC31 ; ; Used by the routines at #R$B76B and #R$B8A9. @label=display_text_list c$BC31 EXX ; $BC32 LD A,(DE) ; $BC33 LD ($5B16),A ; $BC36 INC DE ; $BC37 EXX ; $BC38 PUSH BC ; $BC39 LD A,(HL) ; $BC3A INC HL ; $BC3B INC HL ; $BC3C PUSH HL ; $BC3D DEC HL ; $BC3E LD H,(HL) ; $BC3F LD L,A ; $BC40 CALL $BB9D ; $BC43 POP HL ; $BC44 POP BC ; $BC45 DJNZ $BC31 ; $BC47 LD A,($5B18) ; $BC4A AND A ; $BC4B RET NZ ; $BC4C INC A ; $BC4D LD ($5B18),A ; $BC50 CALL $CB8A ; $BC53 JP $CE85 ; ; Routine at BC56 ; ; Used by the routines at #R$CB0F and #R$CB8A. @label=multiple_print_sprite c$BC56 PUSH BC ; $BC57 PUSH DE ; $BC58 PUSH HL ; $BC59 CALL $D027 ; $BC5C POP HL ; $BC5D POP DE ; $BC5E POP BC ; $BC5F LD A,(IX+$1A) ; $BC62 ADD A,E ; $BC63 LD (IX+$1A),A ; $BC66 LD A,(IX+$1B) ; $BC69 ADD A,D ; $BC6A LD (IX+$1B),A ; $BC6D DJNZ $BC56 ; $BC6F RET ; ; Routine at BC70 @label=upd_38_to_3E c$BC70 CALL $BF47 ; $BC73 LD A,($5B02) ; $BC76 CPL ; $BC77 AND $01 ; $BC79 RET NZ ; $BC7A INC (IX+$00) ; $BC7D CALL $B604 ; $BC80 JP $BFAB ; ; Routine at BC83 @label=upd_3F c$BC83 CALL $BF47 ; $BC86 XOR A ; $BC87 LD (IX+$09),A ; $BC8A LD (IX+$0A),A ; $BC8D LD (IX+$0B),A ; $BC90 RES 6,(IX+$0D) ; $BC94 LD A,(IX+$10) ; $BC97 LD (IX+$00),A ; $BC9A JP $A6B1 ; ; Routine at BC9D ; ; Used by the routine at #R$CF5F. @label=display_objects_carried c$BC9D LD A,($5B23) ; $BCA0 AND A ; $BCA1 RET NZ ; $BCA2 LD A,($5B14) ; $BCA5 AND A ; $BCA6 RET Z ; $BCA7 XOR A ; $BCA8 LD ($5B14),A ; ; Routine at BCAB ; ; Used by the routine at #R$A749. @label=sub_BCAB c$BCAB PUSH IX ; $BCAD LD IX,$BD38 ; $BCB1 LD B,$03 ; $BCB3 LD HL,$5B7C ; ; Routine at BCB6 ; ; Used by the routine at #R$BCF2. @label=loc_BCB6 c$BCB6 PUSH BC ; $BCB7 PUSH HL ; $BCB8 LD A,B ; $BCB9 NEG ; $BCBB ADD A,$03 ; $BCBD SLA A ; $BCBF SLA A ; $BCC1 SLA A ; $BCC3 LD C,A ; $BCC4 SLA A ; $BCC6 ADD A,C ; $BCC7 ADD A,$08 ; $BCC9 LD (IX+$1A),A ; pixelX $BCCC LD (IX+$1B),$00 ; pixelY $BCD0 LD C,(IX+$1A) ; pixelX $BCD3 LD B,(IX+$1B) ; {pixelY $BCD6 PUSH HL ; $BCD7 CALL $D120 ; $BCDA LD L,C ; $BCDB LD H,B ; $BCDC LD BC,$0318 ; $BCDF XOR A ; $BCE0 CALL $BF83 ; $BCE3 POP HL ; $BCE4 LD A,(HL) ; $BCE5 AND A ; $BCE6 JR Z,$BCF2 ; $BCE8 RES 6,(IX+$07) ; $BCEC LD (IX+$00),A ; $BCEF CALL $D027 ; } ; Routine at BCF2 ; ; Used by the routine at #R$BCB6. @label=loc_BCF2 c$BCF2 LD C,(IX+$1A) ; $BCF5 LD B,(IX+$1B) ; $BCF8 CALL $D135 ; $BCFB CALL $D120 ; $BCFE LD L,C ; $BCFF LD H,B ; $BD00 LD BC,$1803 ; $BD03 CALL $CF85 ; $BD06 POP HL ; $BD07 POP BC ; $BD08 PUSH BC ; $BD09 PUSH HL ; $BD0A LD A,(HL) ; $BD0B AND $0F ; $BD0D LD E,A ; $BD0E LD D,$00 ; $BD10 LD HL,$BD34 ; $BD13 ADD HL,DE ; $BD14 LD C,(HL) ; $BD15 LD L,(IX+$1A) ; $BD18 LD A,(IX+$1B) ; $BD1B ADD A,$17 ; $BD1D LD H,A ; $BD1E CALL $D157 ; $BD21 EX DE,HL ; $BD22 LD A,C ; $BD23 LD BC,$0303 ; $BD26 CALL $BF83 ; $BD29 POP HL ; $BD2A POP BC ; $BD2B INC HL ; $BD2C INC HL ; $BD2D INC HL ; $BD2E INC HL ; $BD2F DJNZ $BCB6 ; $BD31 POP IX ; $BD33 RET ; ; Data block at BD34 @label=byte_BD34 b$BD34 DEFB $42,$43,$45,$47 ; Data block at BD38 @label=sprite_scratchpad b$BD38 DEFB $05,$00,$00,$00,$00,$00,$00,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$01,$E8 $BD53 DEFB $A0,$00,$00,$00,$00 ; Routine at BD58 ; ; Used by the routines at #R$BD6B, #R$BDCC and #R$BDFD. ; ; Identical to Knight Lore @label=chk_pickup_drop c$BD58 LD HL,$5B04 ; $BD5B LD A,(HL) ; $BD5C AND $06 ; $BD5E LD A,($5B15) ; $BD61 JR Z,$BD68 ; $BD63 BIT 3,(HL) ; $BD65 JR Z,$BD68 ; $BD67 RRCA ; ; Routine at BD68 ; ; Used by the routine at #R$BD58. @label=loc_BD68 c$BD68 AND $10 ; $BD6A RET ; ; Routine at BD6B ; ; Used by the routine at #R$C0CE. ; ; Identical to Knight Lore - almost - no handling of cauldron room - very slightly different call @label=handle_pickup_drop c$BD6B LD A,($5B13) ; $BD6E AND A ; $BD6F JP NZ,$BDFD ; $BD72 CALL $BD58 ; $BD75 RET Z ; $BD76 CALL $C117 ; $BD79 RET NC ; $BD7A BIT 3,(IX+$0C) ; $BD7E RET NZ ; $BD7F BIT 2,(IX+$0C) ; $BD83 RET Z ; $BD84 XOR A ; $BD85 LD ($5B33),A ; $BD88 LD A,(IX+$03) ; $BD8B LD B,A ; $BD8C ADD A,$0C ; $BD8E LD (IX+$03),A ; $BD91 CALL $B712 ; $BD94 LD (IX+$03),B ; $BD97 JR NC,$BD9E ; $BD99 LD A,$01 ; $BD9B LD ($5B33),A ; ; Routine at BD9E ; ; Used by the routine at #R$BD6B. @label=loc_BD9E c$BD9E CALL $B6B1 ; $BDA1 LD A,$01 ; $BDA3 LD ($5B13),A ; $BDA6 LD ($5B14),A ; $BDA9 LD B,$02 ; $BDAB LD L,(IX+$04) ; $BDAE LD A,L ; $BDAF ADD A,$04 ; $BDB1 LD (IX+$04),A ; $BDB4 LD H,(IX+$05) ; $BDB7 LD A,H ; $BDB8 ADD A,$04 ; $BDBA LD (IX+$05),A ; $BDBD PUSH HL ; $BDBE LD L,(IX+$06) ; $BDC1 LD A,L ; $BDC2 ADD A,$04 ; $BDC4 LD (IX+$06),A ; $BDC7 PUSH HL ; $BDC8 LD IY,$5BC8 ; ; Routine at BDCC @label=loc_BDCC c$BDCC CALL $BEA7 ; $BDCF JP C,$BE76 ; $BDD2 LD DE,$0020 ; $BDD5 ADD IY,DE ; $BDD7 DJNZ $BDCC ; $BDD9 CALL $BD58 ; $BDDC JR Z,$BDF1 ; $BDDE LD B,$02 ; $BDE0 LD IY,$5BC8 ; $BDE4 LD DE,$0020 ; ; Routine at BDE7 @label=loc_BDE7 c$BDE7 LD A,(IY+$00) ; $BDEA AND A ; $BDEB JR Z,$BE06 ; $BDED ADD IY,DE ; $BDEF DJNZ $BDE7 ; ; Routine at BDF1 ; ; Used by the routines at #R$BDCC, #R$BE06 and #R$BE60. @label=done_pickup_drop c$BDF1 POP HL ; $BDF2 LD (IX+$06),L ; $BDF5 POP HL ; $BDF6 LD (IX+$04),L ; $BDF9 LD (IX+$05),H ; $BDFC RET ; ; Routine at BDFD ; ; Used by the routine at #R$BD6B. @label=loc_BDFD c$BDFD CALL $BD58 ; $BE00 RET NZ ; $BE01 XOR A ; $BE02 LD ($5B13),A ; $BE05 RET ; ; Routine at BE06 ; ; Used by the routine at #R$BDE7. @label=loc_BE06 c$BE06 LD HL,$5B84 ; $BE09 LD A,(HL) ; $BE0A INC HL ; $BE0B AND A ; $BE0C JR Z,$BE60 ; $BE0E LD A,($5B33) ; $BE11 AND A ; $BE12 JR NZ,$BDF1 ; $BE14 DEC HL ; $BE15 LD A,(HL) ; $BE16 INC HL ; $BE17 LD (IY+$00),A ; $BE1A PUSH HL ; $BE1B LD BC,$0003 ; $BE1E PUSH IX ; $BE20 POP HL ; $BE21 PUSH IY ; $BE23 POP DE ; $BE24 INC DE ; $BE25 INC HL ; $BE26 LDIR ; $BE28 LD A,(IX+$03) ; $BE2B ADD A,$0C ; $BE2D LD (IX+$03),A ; $BE30 LD A,(IX+$23) ; $BE33 ADD A,$0C ; $BE35 LD (IX+$23),A ; $BE38 CALL $AE8A ; ; Routine at BE3B ; ; Used by the routine at #R$BE76. @label=drop_object c$BE3B LD (IY+$04),$05 ; $BE3F LD (IY+$05),$05 ; $BE43 LD (IY+$06),$0C ; $BE47 POP HL ; $BE48 LD A,(HL) ; $BE49 INC HL ; $BE4A LD (IY+$07),A ; $BE4D LD A,(IX+$08) ; $BE50 LD (IY+$08),A ; $BE53 LD A,(HL) ; $BE54 INC HL ; $BE55 LD (IY+$10),A ; $BE58 LD A,(HL) ; $BE59 LD (IY+$11),A ; $BE5C SET 0,(IY+$0D) ; ; Routine at BE60 ; ; Used by the routines at #R$BE06 and #R$BE76. @label=adjust_carried c$BE60 LD HL,$5B83 ; $BE63 LD DE,$5B87 ; $BE66 LD BC,$000C ; $BE69 LDDR ; $BE6B LD DE,$5B78 ; $BE6E LD B,$04 ; $BE70 CALL $CE1C ; $BE73 JP $BDF1 ; ; Routine at BE76 ; ; Used by the routine at #R$BDCC. @label=pickup_object c$BE76 LD HL,$5B78 ; $BE79 XOR A ; $BE7A LD ($5B3B),A ; $BE7D LD A,(IY+$00) ; $BE80 LD (HL),A ; $BE81 INC HL ; $BE82 LD A,(IY+$07) ; $BE85 LD (HL),A ; $BE86 INC HL ; $BE87 LD E,(IY+$10) ; $BE8A LD D,(IY+$11) ; $BE8D XOR A ; $BE8E LD (DE),A ; $BE8F LD (HL),E ; $BE90 INC HL ; $BE91 LD (HL),D ; $BE92 CALL $ADF3 ; $BE95 LD (IY+$00),$01 ; $BE99 LD HL,$5B84 ; $BE9C LD A,(HL) ; $BE9D INC HL ; $BE9E AND A ; $BE9F JR Z,$BE60 ; $BEA1 LD (IY+$00),A ; $BEA4 PUSH HL ; $BEA5 JR $BE3B ; ; Routine at BEA7 ; ; Used by the routine at #R$BDCC. ; ; Identical to Knight Lore (except #special objs) @label=can_pickup_spec_obj c$BEA7 LD A,(IY+$00) ; $BEAA SUB $60 ; {'`' $BEAC CP $04 ; $BEAE RET NC ; } ; Identical to Knight Lore - sets C flag if TRUE ; ; Used by the routine at #R$BEE0. @label=is_on_or_near_obj c$BEAF PUSH BC ; $BEB0 LD BC,$0000 ; $BEB3 LD L,C ; $BEB4 LD H,C ; $BEB5 CALL $C5A9 ; $BEB8 JR NC,$BED4 ; $BEBA CALL $C5BE ; $BEBD JR NC,$BED4 ; $BEBF LD A,(IX+$03) ; $BEC2 SUB $04 ; $BEC4 LD (IX+$03),A ; $BEC7 CALL $C5D3 ; $BECA PUSH AF ; $BECB LD A,(IX+$03) ; $BECE ADD A,$04 ; $BED0 LD (IX+$03),A ; $BED3 POP AF ; ; Routine at BED4 ; ; Used by the routine at #R$BEAF. @label=loc_BED4 c$BED4 POP BC ; $BED5 RET ; ; Routine at BED6 ; ; Used by the routines at #R$A9F1, #R$AFD0, #R$B302 and #R$BF22. @label=is_obj_moving c$BED6 LD A,(IX+$09) ; dX $BED9 OR (IX+$0A) ; dY $BEDC OR (IX+$0B) ; {dZ $BEDF RET ; } ; extra life @label=upd_0C c$BEE0 CALL $BF7E ; $BEE3 PUSH IX ; $BEE5 POP IY ; $BEE7 LD IX,$5B88 ; $BEEB INC (IX+$04) ; plyr bottom width $BEEE INC (IX+$05) ; {plyr bottom depth $BEF1 CALL $BEAF ; } $BEF4 DEC (IX+$04) ; plyr bottom width $BEF7 DEC (IX+$05) ; {plyr bottom depth $BEFA PUSH IY ; $BEFC POP IX ; } $BEFE JR NC,$BF22 ; not close, skip $BF00 LD (IX+$00),$40 ; {'@' ; sparkles $BF04 CALL $BF6A ; $BF07 LD L,(IX+$10) ; $BF0A LD H,(IX+$11) ; $BF0D XOR A ; } $BF0E LD (HL),A ; plyr graphic $BF0F LD ($5B3B),A ; $BF12 LD HL,$5B1A ; $BF15 INC (HL) ; extra life! $BF16 CALL $B6B1 ; $BF19 CALL $BA57 ; $BF1C LD BC,$0080 ; {'€' $BF1F CALL $BF2F ; } ; Routine at BF22 ; ; Used by the routine at #R$BEE0. @label=loc_BF22 c$BF22 CALL $BFB6 ; $BF25 CALL $BED6 ; $BF28 RET Z ; $BF29 CALL $C2EE ; $BF2C JP $B3BF ; ; Routine at BF2F ; ; Used by the routines at #R$B04C and #R$BEE0. @label=sub_BF2F c$BF2F CALL $D135 ; $BF32 CALL $D120 ; $BF35 LD L,C ; $BF36 LD H,B ; $BF37 LD BC,$0802 ; $BF3A JP $CF85 ; ; Routine at BF3D ; ; Used by the routines at #R$A8F9, #R$A9C7, #R$AA4D, #R$AA63, #R$B22A, #R$B26B, #R$B28C, #R$B29F, #R$B2B6, #R$B2FF, ; #R$B31F and #R$B33F. @label=upd_1E c$BF3D LD HL,$F7F0 ; $BF40 JR $BF77 ; $BF42 LD HL,$F7F4 ; $BF45 JR $BF77 ; ; Used by the routines at #R$AD13, #R$BC70 and #R$BC83. ; ; Used by the routines at #R$AD13, #R$BC70 and #R$BC83. @label=sub_BF47 c$BF47 LD HL,$F8F4 ; $BF4A JR $BF77 ; ; Routine at BF4C ; ; Used by the routines at #R$AE68, #R$C0BE and #R$C1E2. @label=adj_m7_m16 c$BF4C LD HL,$F9F0 ; {-7,-16 $BF4F JR $BF77 ; } ; Routine at BF51 @label=upd_0D c$BF51 LD HL,$F9F4 ; -7,-12 $BF54 JR $BF77 ; ; Routine at BF56 ; ; Used by the routine at #R$B31A. @label=adj_m6_m16 c$BF56 LD HL,$FAF0 ; -6,-16 $BF59 JR $BF77 ; ; Routine at BF5B ; ; Used by the routines at #R$AAA1, #R$B055, #R$B06B and #R$B110. @label=adj_m6_m12 c$BF5B LD HL,$FAF4 ; -6,-12 $BF5E JR $BF77 ; ; Routine at BF60 ; ; Used by the routines at #R$AE17, #R$AE33, #R$AE5D and #R$AF79. @label=adj_m5_m12 c$BF60 LD HL,$FBF4 ; -5,-12 $BF63 JR $BF77 ; ; Routine at BF65 @label=upd_0F c$BF65 LD HL,$FBF8 ; -5,-8 $BF68 JR $BF77 ; ; Routine at BF6A ; ; Used by the routines at #R$A9B1, #R$AA89, #R$AE96, #R$B19C, #R$B2A4, #R$B3A4, #R$B3B8 and #R$BEE0. @label=adj_m4_m12 c$BF6A LD HL,$FCF4 ; -4,-12 $BF6D JR $BF77 ; ; Routine at BF6F ; ; Used by the routine at #R$C6E4. @label=adj_m3_m16 c$BF6F LD HL,$FDF0 ; -3,-16 $BF72 JR $BF77 ; ; Routine at BF74 @label=upd_0E c$BF74 LD HL,$FDFC ; -3,-4 ; Identical to Knight Lore ; ; Used by the routines at #R$BF3D, #R$BF47, #R$BF4C, #R$BF51, #R$BF56, #R$BF5B, #R$BF60, #R$BF65, #R$BF6A, #R$BF6F, ; #R$BF7E, #R$BFD8, #R$BFE4, #R$BFEA and #R$C013. @label=set_pixel_adj c$BF77 LD (IX+$12),L ; $BF7A LD (IX+$13),H ; $BF7D RET ; ; Routine at BF7E ; ; Used by the routine at #R$BEE0. @label=adj_m2_m8 c$BF7E LD HL,$FEF8 ; {-2,-8 $BF81 JR $BF77 ; } ; Different to Knight Lore - unrolled the loop and using self-modifying code ; ; Used by the routines at #R$A749, #R$BCB6, #R$BCF2, #R$CBE3 and #R$CF38. @label=fill_window c$BF83 PUSH AF ; $BF84 LD A,B ; #bytes $BF85 NEG ; $BF87 AND $07 ; $BF89 ADD A,A ; calc JR operand $BF8A LD ($BF96),A ; patch code $BF8D LD A,$20 ; 32 bytes/line $BF8F SUB B ; sub #bytes for offset $BF90 LD E,A ; $BF91 LD D,$00 ; $BF93 LD B,C ; #lines $BF94 POP AF ; ; Routine at BF95 @label=loc_BF95 c$BF95 JR $BF95 ; patched $BF97 LD (HL),A ; $BF98 INC HL ; $BF99 LD (HL),A ; $BF9A INC HL ; $BF9B LD (HL),A ; $BF9C INC HL ; $BF9D LD (HL),A ; $BF9E INC HL ; $BF9F LD (HL),A ; $BFA0 INC HL ; $BFA1 LD (HL),A ; $BFA2 INC HL ; $BFA3 LD (HL),A ; $BFA4 INC HL ; $BFA5 LD (HL),A ; $BFA6 INC HL ; $BFA7 ADD HL,DE ; $BFA8 DJNZ $BF95 ; $BFAA RET ; ; Identical to Knight Lore ; ; Used by the routines at #R$A937, #R$A988, #R$A9F1, #R$AA3A, #R$ABD7, #R$AC03, #R$AD46, #R$ADF3, #R$AE17, #R$AE5A, ; #R$AFE7, #R$B055, #R$B249, #R$B25A, #R$B2B0, #R$B2D6, #R$B302, #R$B36E, #R$B3AA, #R$B3BF, #R$BC70 and #R$C0FF. @label=set_wipe_and_draw_flags c$BFAB LD A,(IX+$07) ; $BFAE OR $30 ; {'0' $BFB0 LD (IX+$07),A ; $BFB3 JP $C657 ; } ; Routine at BFB6 ; ; Used by the routines at #R$A921, #R$A93D, #R$A9F1, #R$AA15, #R$AA89, #R$AAA1, #R$AD37, #R$AFD0, #R$B06B, #R$B116, ; #R$B13C, #R$B19C, #R$B25A, #R$B2B6, #R$B302, #R$B34E, #R$B371 and #R$BF22. ; ; Identical to Knight Lore @label=dec_dZ_and_update_XYZ c$BFB6 DEC (IX+$0B) ; $BFB9 CALL $C442 ; ; Routine at BFBC ; ; Used by the routine at #R$C2C8. ; ; Identical to Knight Lore @label=add_dXYZ c$BFBC LD A,(IX+$01) ; $BFBF ADD A,(IX+$09) ; $BFC2 LD (IX+$01),A ; $BFC5 LD A,(IX+$02) ; $BFC8 ADD A,(IX+$0A) ; $BFCB LD (IX+$02),A ; $BFCE LD A,(IX+$03) ; $BFD1 ADD A,(IX+$0B) ; $BFD4 LD (IX+$03),A ; $BFD7 RET ; ; Routine at BFD8 @label=upd_03 c$BFD8 BIT 6,(IX+$07) ; $BFDC JR NZ,$BFE4 ; $BFDE LD HL,$FBF0 ; {-5,-16 $BFE1 JP $BF77 ; } ; Routine at BFE4 ; ; Used by the routine at #R$BFD8. @label=adj_m4_m8 c$BFE4 LD HL,$FCF8 ; -4,-8 $BFE7 JP $BF77 ; ; Routine at BFEA @label=upd_02 c$BFEA BIT 6,(IX+$07) ; $BFEE JR NZ,$C013 ; $BFF0 LD HL,$F9FA ; {-7,-6 $BFF3 CALL $BF77 ; } $BFF6 LD A,(IX+$02) ; Y $BFF9 ADD A,$0D ; Y+13 $BFFB LD (IX+$0A),A ; dY=Y+13 $BFFE LD A,(IX+$01) ; X $C001 LD (IX+$09),A ; {dX=X $C004 LD HL,$060F ; } ; Routine at C007 ; ; Used by the routine at #R$C013. @label=loc_C007 c$C007 LD A,(IX+$03) ; Z $C00A LD (IX+$0B),A ; {dZ=Z $C00D CALL $C082 ; $C010 JP $C02C ; } ; Routine at C013 ; ; Used by the routine at #R$BFEA. @label=loc_C013 c$C013 LD HL,$FAF6 ; -6,-10 $C016 CALL $BF77 ; $C019 LD A,(IX+$01) ; X $C01C SUB $0D ; X-13 $C01E LD (IX+$09),A ; dX=X-13 $C021 LD A,(IX+$02) ; Y $C024 LD (IX+$0A),A ; {dY=Y $C027 LD HL,$0F06 ; $C02A JR $C007 ; } ; Routine at C02C ; ; Used by the routine at #R$C007. @label=loc_C02C c$C02C LD HL,$0F0F ; $C02F LD IY,$5B88 ; $C033 LD A,(IY+$00) ; player graphic no. $C036 AND A ; zero? $C037 RET Z ; yes, exit $C038 BIT 3,(IY+$07) ; $C03C RET Z ; $C03D CALL $C099 ; $C040 RET NC ; $C041 PUSH BC ; $C042 LD BC,$C048 ; $C045 JP $C312 ; ; Data block at C048 @label=off_C048 b$C048 DEFW $C050 $C04A DEFW $C050 $C04C DEFW $C069 $C04E DEFW $C069 ; Routine at C050 @label=loc_C050 c$C050 BIT 6,(IY+$07) ; $C054 JR NZ,$C080 ; $C056 LD A,(IX+$0A) ; $C059 CP (IY+$02) ; $C05C JR Z,$C080 ; $C05E LD A,$01 ; $C060 JR NC,$C064 ; $C062 NEG ; ; Routine at C064 ; ; Used by the routine at #R$C050. @label=loc_C064 c$C064 LD (IY+$0F),A ; $C067 JR $C080 ; ; Routine at C069 @label=loc_C069 c$C069 BIT 6,(IY+$07) ; $C06D JR Z,$C080 ; $C06F LD A,(IX+$09) ; $C072 CP (IY+$01) ; $C075 JR Z,$C080 ; $C077 LD A,$01 ; $C079 JR NC,$C07D ; $C07B NEG ; ; Routine at C07D ; ; Used by the routine at #R$C069. @label=loc_C07D c$C07D LD (IY+$0E),A ; ; Routine at C080 ; ; Used by the routines at #R$C050, #R$C064 and #R$C069. @label=loc_C080 c$C080 POP BC ; $C081 RET ; ; Routine at C082 ; ; Used by the routine at #R$C007. @label=sub_C082 c$C082 LD IY,$5B88 ; $C086 LD A,(IY+$00) ; player graphic no. $C089 AND A ; zero? $C08A RET Z ; yes, exit $C08B BIT 3,(IY+$07) ; $C08F RET Z ; $C090 CALL $C099 ; $C093 RET NC ; $C094 SET 0,(IY+$07) ; $C098 RET ; ; Routine at C099 ; ; Used by the routines at #R$C02C and #R$C082. @label=sub_C099 c$C099 LD A,(IX+$09) ; $C09C SUB (IY+$01) ; $C09F JR NC,$C0A3 ; $C0A1 NEG ; ; Routine at C0A3 ; ; Used by the routine at #R$C099. @label=loc_C0A3 c$C0A3 CP L ; $C0A4 RET NC ; $C0A5 LD A,(IX+$0A) ; $C0A8 SUB (IY+$02) ; $C0AB JR NC,$C0AF ; $C0AD NEG ; ; Routine at C0AF ; ; Used by the routine at #R$C0A3. @label=loc_C0AF c$C0AF CP H ; $C0B0 RET NC ; $C0B1 LD A,(IX+$0B) ; $C0B4 SUB (IY+$03) ; $C0B7 JR NC,$C0BB ; $C0B9 NEG ; ; Routine at C0BB ; ; Used by the routine at #R$C0AF. @label=loc_C0BB c$C0BB CP $04 ; $C0BD RET ; ; player bottom @label=upd_10_to_17 c$C0BE CALL $BF4C ; $C0C1 BIT 6,(IX+$0D) ; $C0C5 JR Z,$C0CE ; $C0C7 SET 6,(IX+$2D) ; $C0CB JP $B39A ; ; Routine at C0CE ; ; Used by the routine at #R$C0BE. @label=loc_C0CE c$C0CE LD (IX+$06),$17 ; height=23 $C0D2 LD (IX+$26),$00 ; {height (next sprite)=0 $C0D6 CALL $C8FF ; $C0D9 CALL $BD6B ; $C0DC CALL $C13C ; $C0DF CALL $C23D ; $C0E2 CALL $C25E ; $C0E5 CALL $C117 ; $C0E8 JR NC,$C10A ; } ; Routine at C0EA ; ; Used by the routine at #R$C10A. @label=loc_C0EA c$C0EA SET 1,(IX+$27) ; $C0EE CALL $C296 ; $C0F1 RES 1,(IX+$27) ; $C0F5 LD A,(IX+$0C) ; $C0F8 SUB $10 ; $C0FA JR C,$C0FF ; $C0FC LD (IX+$0C),A ; ; Routine at C0FF ; ; Used by the routines at #R$C0EA and #R$C221. @label=loc_C0FF c$C0FF LD (IX+$06),$0C ; $C103 LD (IX+$26),$0B ; $C107 JP $BFAB ; ; Routine at C10A ; ; Used by the routine at #R$C0CE. @label=loc_C10A c$C10A LD A,(IX+$0B) ; $C10D AND A ; $C10E JP M,$C0EA ; $C111 XOR A ; $C112 LD (IX+$0B),A ; $C115 JR $C0EA ; ; Routine at C117 ; ; Used by the routines at #R$BD6B and #R$C0CE. ; ; Identical to Knight Lore @label=chk_plyr_OOB c$C117 LD HL,($5B0B) ; $C11A LD A,L ; $C11B SUB (IX+$04) ; $C11E LD L,A ; $C11F LD A,H ; $C120 SUB (IX+$05) ; $C123 LD H,A ; $C124 LD A,(IX+$01) ; $C127 SUB $80 ; $C129 JP P,$C12E ; $C12C NEG ; ; Routine at C12E ; ; Used by the routine at #R$C117. @label=loc_C12E c$C12E CP L ; $C12F RET NC ; $C130 LD A,(IX+$02) ; $C133 SUB $80 ; $C135 JP P,$C13A ; $C138 NEG ; ; Routine at C13A ; ; Used by the routine at #R$C12E. @label=loc_C13A c$C13A CP H ; $C13B RET ; ; Routine at C13C ; ; Used by the routine at #R$C0CE. ; ; Differs from Knight Lore in the latter half - eg. doesn't seem to debounce @label=handle_left_right c$C13C LD HL,$5B04 ; $C13F LD A,(HL) ; $C140 AND $06 ; $C142 JR Z,$C18F ; $C144 BIT 3,(HL) ; $C146 JR Z,$C18F ; $C148 LD A,(IX+$0C) ; $C14B AND $F0 ; {'ð' $C14D RET NZ ; $C14E BIT 2,(IX+$0C) ; $C152 RET Z ; $C153 BIT 0,C ; $C155 JR NZ,$C15B ; $C157 BIT 2,C ; $C159 JR NZ,$C16A ; } ; Routine at C15B ; ; Used by the routine at #R$C13C. @label=loc_C15B c$C15B BIT 1,C ; $C15D JR NZ,$C176 ; $C15F BIT 4,C ; $C161 JR NZ,$C17D ; $C163 BIT 0,C ; $C165 JR NZ,$C186 ; $C167 RES 2,C ; $C169 RET ; ; Routine at C16A ; ; Used by the routine at #R$C13C. @label=loc_C16A c$C16A CALL $C319 ; $C16D CP $02 ; ; Routine at C16F ; ; Used by the routine at #R$C176. @label=loc_C16F c$C16F JR Z,$C18C ; $C171 CPL ; ; Routine at C172 ; ; Used by the routine at #R$C182. @label=loc_C172 c$C172 AND $01 ; $C174 JR $C1A0 ; ; Routine at C176 ; ; Used by the routine at #R$C15B. @label=loc_C176 c$C176 CALL $C319 ; $C179 CP $01 ; $C17B JR $C16F ; ; Routine at C17D ; ; Used by the routine at #R$C15B. @label=loc_C17D c$C17D CALL $C319 ; $C180 CP $03 ; ; Routine at C182 ; ; Used by the routine at #R$C186. @label=loc_C182 c$C182 JR Z,$C18C ; $C184 JR $C172 ; ; Routine at C186 ; ; Used by the routine at #R$C15B. @label=loc_C186 c$C186 CALL $C319 ; $C189 AND A ; $C18A JR $C182 ; ; Routine at C18C ; ; Used by the routines at #R$C16F and #R$C182. @label=loc_C18C c$C18C SET 2,C ; $C18E RET ; ; Routine at C18F ; ; Used by the routine at #R$C13C. @label=loc_C18F c$C18F LD A,C ; $C190 AND $03 ; $C192 RET Z ; $C193 LD A,(IX+$0C) ; $C196 AND $F0 ; {'ð' $C198 RET NZ ; $C199 BIT 3,(IX+$0C) ; $C19D RET NZ ; $C19E BIT 1,C ; } ; Routine at C1A0 ; ; Used by the routine at #R$C172. @label=loc_C1A0 c$C1A0 JR NZ,$C1AB ; $C1A2 RES 0,(IX+$0D) ; $C1A6 LD HL,$C1DA ; $C1A9 JR $C1B2 ; ; Routine at C1AB ; ; Used by the routine at #R$C1A0. @label=loc_C1AB c$C1AB SET 0,(IX+$0D) ; $C1AF LD HL,$C1D2 ; ; Routine at C1B2 ; ; Used by the routine at #R$C1A0. @label=loc_C1B2 c$C1B2 LD A,(IX+$0D) ; $C1B5 OR $02 ; $C1B7 LD (IX+$0D),A ; $C1BA CALL $C319 ; ; Routine at C1BD ; ; Used by the routine at #R$C211. @label=sub_C1BD c$C1BD RLCA ; $C1BE AND $06 ; $C1C0 CALL $CE06 ; $C1C3 LD A,(HL) ; $C1C4 INC HL ; $C1C5 LD (IX+$00),A ; $C1C8 LD A,(IX+$07) ; $C1CB AND $BF ; {'¿' $C1CD OR (HL) ; $C1CE LD (IX+$07),A ; $C1D1 RET ; } ; Data block at C1D2 @label=byte_C1D2 b$C1D2 DEFB $18,$00,$19,$00,$1A,$00,$1B,$40 ; Data block at C1DA @label=byte_C1DA b$C1DA DEFB $1B,$40,$1A,$00,$18,$00,$19,$00 ; Routine at C1E2 @label=upd_18_to_1B c$C1E2 CALL $BF4C ; $C1E5 LD (IX+$06),$17 ; $C1E9 LD (IX+$26),$00 ; $C1ED CALL $C8FF ; $C1F0 LD A,(IX+$0D) ; $C1F3 AND $06 ; $C1F5 JR Z,$C208 ; $C1F7 LD A,(IX+$0D) ; $C1FA SUB $02 ; $C1FC LD (IX+$0D),A ; $C1FF SET 1,(IX+$27) ; $C203 CALL $C2BC ; $C206 JR $C221 ; ; Routine at C208 ; ; Used by the routine at #R$C1E2. @label=loc_C208 c$C208 BIT 0,(IX+$0D) ; $C20C JR Z,$C228 ; $C20E LD HL,$C22D ; ; Routine at C211 ; ; Used by the routine at #R$C228. @label=loc_C211 c$C211 LD A,(IX+$00) ; $C214 CALL $C1BD ; $C217 CALL $B6D4 ; $C21A SET 1,(IX+$27) ; $C21E CALL $C2B3 ; ; Routine at C221 ; ; Used by the routine at #R$C1E2. @label=loc_C221 c$C221 RES 1,(IX+$27) ; $C225 JP $C0FF ; ; Routine at C228 ; ; Used by the routine at #R$C208. @label=loc_C228 c$C228 LD HL,$C235 ; $C22B JR $C211 ; ; Data block at C22D @label=byte_C22D b$C22D DEFB $11,$40,$15,$40,$15,$00,$11,$00 ; Data block at C235 @label=byte_C235 b$C235 DEFB $11,$00,$15,$00,$11,$40,$15,$40 ; Routine at C23D ; ; Used by the routine at #R$C0CE. ; ; Identical to Knight Lore @label=handle_jump c$C23D BIT 3,C ; $C23F RET Z ; $C240 LD A,(IX+$0C) ; $C243 AND $F0 ; {'ð' $C245 RET NZ ; $C246 BIT 3,(IX+$0C) ; $C24A RET NZ ; $C24B LD A,(IX+$0B) ; $C24E INC A ; $C24F RET M ; $C250 SET 3,(IX+$0C) ; $C254 LD (IX+$0B),$08 ; $C258 PUSH BC ; $C259 CALL $B62C ; $C25C POP BC ; $C25D RET ; } ; Routine at C25E ; ; Used by the routine at #R$C0CE. ; ; Different to Knight Lore @label=handle_forward c$C25E LD A,(IX+$00) ; $C261 SUB $18 ; $C263 CP $04 ; $C265 RET C ; $C266 LD A,(IX+$0C) ; $C269 AND $F0 ; {'ð' $C26B JR NZ,$C277 ; $C26D BIT 3,(IX+$0C) ; $C271 JR NZ,$C277 ; $C273 BIT 2,C ; $C275 JR Z,$C28C ; } ; Routine at C277 ; ; Used by the routine at #R$C25E. @label=loc_C277 c$C277 PUSH BC ; $C278 CALL $B6CE ; $C27B POP BC ; ; Routine at C27C ; ; Used by the routine at #R$C28C. @label=loc_C27C c$C27C LD A,(IX+$00) ; $C27F LD E,A ; $C280 INC A ; $C281 AND $03 ; $C283 LD D,A ; $C284 LD A,E ; $C285 AND $FC ; {'ü' $C287 OR D ; $C288 LD (IX+$00),A ; $C28B RET ; } ; Routine at C28C ; ; Used by the routine at #R$C25E. @label=loc_C28C c$C28C LD A,(IX+$00) ; $C28F AND $03 ; $C291 CP $01 ; $C293 RET Z ; $C294 JR $C27C ; ; Routine at C296 ; ; Used by the routine at #R$C0EA. ; ; Similar but different to Knight Lore @label=move_player c$C296 LD A,($5B24) ; $C299 AND A ; $C29A JR Z,$C2A0 ; $C29C LD (IX+$0B),$02 ; ; Routine at C2A0 ; ; Used by the routine at #R$C296. @label=loc_C2A0 c$C2A0 BIT 3,(IX+$0C) ; $C2A4 JR NZ,$C2B7 ; $C2A6 LD A,(IX+$0C) ; $C2A9 AND $F0 ; {'ð' $C2AB JR NZ,$C2B7 ; $C2AD BIT 3,(IX+$00) ; $C2B1 JR NZ,$C2BC ; } ; Routine at C2B3 ; ; Used by the routine at #R$C211. @label=sub_C2B3 c$C2B3 BIT 2,C ; $C2B5 JR Z,$C2BC ; ; Routine at C2B7 ; ; Used by the routine at #R$C2A0. @label=loc_C2B7 c$C2B7 PUSH BC ; $C2B8 CALL $C2F6 ; $C2BB POP BC ; ; Routine at C2BC ; ; Used by the routines at #R$C1E2, #R$C2A0 and #R$C2B3. @label=sub_C2BC c$C2BC LD A,(IX+$0B) ; $C2BF AND A ; $C2C0 JP M,$C2C7 ; $C2C3 BIT 3,C ; $C2C5 JR NZ,$C2C8 ; ; Routine at C2C7 ; ; Used by the routine at #R$C2BC. @label=loc_C2C7 c$C2C7 DEC A ; ; Routine at C2C8 ; ; Used by the routine at #R$C2BC. @label=loc_C2C8 c$C2C8 DEC A ; $C2C9 LD (IX+$0B),A ; {dZ $C2CC LD ($5B21),A ; $C2CF ADD A,$02 ; $C2D1 CALL M,$B63C ; $C2D4 CALL $C442 ; $C2D7 CALL $C36D ; $C2DA CALL $BFBC ; $C2DD BIT 2,(IX+$0C) ; $C2E1 JR Z,$C2EE ; $C2E3 LD A,($5B21) ; $C2E6 AND A ; $C2E7 JP P,$C2EE ; $C2EA RES 3,(IX+$0C) ; } ; Identical to Knight Lore ; ; Used by the routines at #R$AFDD, #R$B314, #R$BF22 and #R$C2C8. @label=clear_dX_dY c$C2EE XOR A ; $C2EF LD (IX+$09),A ; dX=0 $C2F2 LD (IX+$0A),A ; {dY=0 $C2F5 RET ; } ; Routine at C2F6 ; ; Used by the routine at #R$C2B7. ; ; Identical to Knight Lore @label=calc_plyr_dXY c$C2F6 LD A,(IX+$09) ; $C2F9 ADD A,(IX+$0E) ; $C2FC LD (IX+$09),A ; $C2FF LD A,(IX+$0A) ; $C302 ADD A,(IX+$0F) ; $C305 LD (IX+$0A),A ; $C308 XOR A ; $C309 LD (IX+$0E),A ; $C30C LD (IX+$0F),A ; $C30F LD BC,$C32F ; ; Routine at C312 ; ; Used by the routines at #R$C02C and #R$C36D. @label=loc_C312 c$C312 CALL $C319 ; $C315 LD L,A ; $C316 JP $A6B7 ; ; Routine at C319 ; ; Used by the routines at #R$C16A, #R$C176, #R$C17D, #R$C186, #R$C1B2 and #R$C312. ; ; Different to Knight Lore @label=get_sprite_dir c$C319 PUSH HL ; $C31A LD A,(IX+$07) ; $C31D RRCA ; $C31E RRCA ; $C31F RRCA ; $C320 AND $08 ; $C322 LD L,A ; $C323 LD A,(IX+$00) ; $C326 AND $04 ; $C328 OR L ; $C329 RRCA ; $C32A RRCA ; $C32B AND $03 ; $C32D POP HL ; $C32E RET ; ; Data block at C32F @label=off_C32F b$C32F DEFW $C337 ; dX -= 3 $C331 DEFW $C340 ; dX += 3 $C333 DEFW $C347 ; dY += 3 $C335 DEFW $C350 ; dY -= 3 ; Identical to Knight Lore @label=move_plyr_W c$C337 LD A,(IX+$09) ; $C33A ADD A,$FD ; 'ý' ; Routine at C33C ; ; Used by the routine at #R$C340. @label=loc_C33C c$C33C LD (IX+$09),A ; $C33F RET ; ; Identical to Knight Lore @label=move_plyr_E c$C340 LD A,(IX+$09) ; $C343 ADD A,$03 ; $C345 JR $C33C ; ; Identical to Knight Lore @label=move_plyr_N c$C347 LD A,(IX+$0A) ; $C34A ADD A,$03 ; ; Routine at C34C ; ; Used by the routine at #R$C350. @label=loc_C34C c$C34C LD (IX+$0A),A ; $C34F RET ; ; Identical to Knight Lore @label=move_plyr_S c$C350 LD A,(IX+$0A) ; $C353 ADD A,$FD ; {'ý' $C355 JR $C34C ; } ; Routine at C357 ; ; Used by the routine at #R$C442. @label=adj_dZ_for_out_of_bounds c$C357 LD A,($5B0E) ; $C35A LD D,A ; ; Routine at C35B @label=loc_C35B c$C35B LD A,(IX+$03) ; $C35E ADD A,H ; $C35F CP D ; $C360 RET NC ; $C361 SET 2,(IX+$0C) ; $C365 LD A,H ; $C366 CALL $C386 ; $C369 LD H,A ; $C36A JR NZ,$C35B ; $C36C RET ; ; Routine at C36D ; ; Used by the routine at #R$C2C8. ; ; Identical to Knight Lore @label=handle_exit_screen c$C36D LD A,(IX+$0C) ; $C370 AND $F0 ; {'ð' $C372 RET NZ ; $C373 BIT 0,(IX+$07) ; $C377 RET Z ; $C378 RES 0,(IX+$07) ; $C37C LD BC,$C38F ; $C37F LD HL,($5B0B) ; $C382 PUSH HL ; $C383 JP $C312 ; } ; Routine at C386 ; ; Used by the routines at #R$C35B, #R$C4D6, #R$C525, #R$C599, #R$C602 and #R$C62C. ; ; Identical to Knight Lore @label=adj_d_for_out_of_bounds c$C386 AND A ; $C387 RET Z ; $C388 JP P,$C38D ; $C38B INC A ; $C38C INC A ; ; Routine at C38D ; ; Used by the routine at #R$C386. @label=loc_C38D c$C38D DEC A ; $C38E RET ; ; Data block at C38F @label=screen_move_tbl b$C38F DEFW $C397 $C391 DEFW $C3F0 $C393 DEFW $C40B $C395 DEFW $C426 ; Identical to Knight Lore @label=screen_west c$C397 POP HL ; $C398 LD A,$80 ; $C39A SUB L ; $C39B LD L,A ; $C39C LD A,(IX+$01) ; $C39F ADD A,(IX+$09) ; $C3A2 ADD A,(IX+$04) ; $C3A5 CP L ; $C3A6 RET NC ; $C3A7 LD (IX+$01),$00 ; $C3AB LD A,(IX+$08) ; $C3AE LD L,A ; $C3AF DEC A ; ; Identical to Knight Lore ; ; Used by the routine at #R$C3F0. @label=screen_e_w c$C3B0 AND $0F ; $C3B2 LD H,A ; $C3B3 LD A,L ; $C3B4 AND $F0 ; {'ð' $C3B6 OR H ; } ; Identical to Knight Lore (except sparkle sprite) ; ; Used by the routines at #R$C40B and #R$C426. @label=exit_screen c$C3B7 LD (IX+$08),A ; $C3BA LD A,(IX+$0C) ; $C3BD OR $40 ; {'@' $C3BF LD (IX+$0C),A ; $C3C2 LD A,(IX+$00) ; $C3C5 SUB $10 ; } $C3C7 CP $40 ; {'@' $C3C9 RET NC ; $C3CA INC SP ; $C3CB INC SP ; $C3CC INC SP ; $C3CD INC SP ; $C3CE PUSH IX ; $C3D0 POP HL ; $C3D1 LD DE,$CA1D ; $C3D4 LD BC,$0040 ; $C3D7 LDIR ; $C3D9 LD A,($CA1D) ; $C3DC LD ($CA2D),A ; $C3DF LD A,($CA3D) ; $C3E2 LD ($CA4D),A ; } $C3E5 LD A,$38 ; {'8' ; sparkles $C3E7 LD ($CA1D),A ; $C3EA LD ($CA3D),A ; $C3ED JP $A68B ; } ; Identical to Knight Lore @label=screen_east c$C3F0 POP HL ; $C3F1 LD A,L ; $C3F2 ADD A,$80 ; $C3F4 LD L,A ; $C3F5 LD A,(IX+$01) ; $C3F8 ADD A,(IX+$09) ; $C3FB SUB (IX+$04) ; $C3FE CP L ; $C3FF RET C ; $C400 LD (IX+$01),$FF ; $C404 LD A,(IX+$08) ; $C407 LD L,A ; $C408 INC A ; $C409 JR $C3B0 ; ; Identical to Knight Lore @label=screen_north c$C40B POP HL ; $C40C LD A,H ; $C40D ADD A,$80 ; $C40F LD H,A ; $C410 LD A,(IX+$02) ; $C413 ADD A,(IX+$0A) ; $C416 SUB (IX+$05) ; $C419 CP H ; $C41A RET C ; $C41B LD (IX+$02),$FF ; $C41F LD A,(IX+$08) ; $C422 ADD A,$10 ; $C424 JR $C3B7 ; ; Identical to Knight Lore @label=screen_south c$C426 POP HL ; $C427 LD A,$80 ; $C429 SUB H ; $C42A LD H,A ; $C42B LD A,(IX+$02) ; $C42E ADD A,(IX+$0A) ; $C431 ADD A,(IX+$05) ; $C434 CP H ; $C435 RET NC ; $C436 LD (IX+$02),$00 ; $C43A LD A,(IX+$08) ; $C43D SUB $10 ; $C43F JP $C3B7 ; ; Routine at C442 ; ; Used by the routines at #R$BFB6 and #R$C2C8. ; ; Identical to Knight Lore @label=adj_for_out_of_bounds c$C442 BIT 1,(IX+$07) ; $C446 RET NZ ; $C447 SET 1,(IX+$07) ; $C44B LD A,(IX+$0C) ; $C44E AND $F8 ; {'ø' $C450 LD (IX+$0C),A ; $C453 LD L,$00 ; $C455 LD C,L ; $C456 LD A,(IX+$0B) ; $C459 AND A ; $C45A LD H,A ; $C45B JR Z,$C467 ; $C45D CALL $C357 ; $C460 LD A,H ; $C461 AND A ; $C462 JR Z,$C467 ; $C464 CALL $C535 ; } ; Routine at C467 ; ; Used by the routine at #R$C442. @label=dZ_ok c$C467 LD A,(IX+$09) ; $C46A AND A ; $C46B LD C,A ; $C46C JR Z,$C478 ; $C46E CALL $C5E9 ; $C471 LD A,C ; $C472 AND A ; $C473 JR Z,$C478 ; $C475 CALL $C497 ; ; Routine at C478 ; ; Used by the routine at #R$C467. @label=loc_C478 c$C478 LD A,(IX+$0A) ; $C47B AND A ; $C47C LD L,A ; $C47D JR Z,$C489 ; $C47F CALL $C613 ; $C482 LD A,L ; $C483 AND A ; $C484 JR Z,$C489 ; $C486 CALL $C4E6 ; ; Routine at C489 ; ; Used by the routine at #R$C478. @label=loc_C489 c$C489 LD (IX+$09),C ; $C48C LD (IX+$0A),L ; $C48F LD (IX+$0B),H ; $C492 RES 1,(IX+$07) ; $C496 RET ; ; Routine at C497 ; ; Used by the routine at #R$C467. @label=adj_dX_for_obj_intersect c$C497 LD IY,$5B88 ; $C49B LD B,$38 ; ; Routine at C49D ; ; Used by the routine at #R$C4DE. @label=loc_C49D c$C49D CALL $B74D ; $C4A0 JR Z,$C4DE ; $C4A2 CALL $C5BE ; $C4A5 JR NC,$C4DE ; $C4A7 CALL $C5D3 ; $C4AA JR NC,$C4DE ; ; Routine at C4AC ; ; Used by the routine at #R$C4D6. @label=loc_C4AC c$C4AC CALL $C5A9 ; $C4AF JR NC,$C4DE ; $C4B1 SET 0,(IX+$0C) ; $C4B5 LD A,(IX+$0D) ; $C4B8 RRCA ; $C4B9 AND $40 ; {'@' $C4BB OR (IY+$0D) ; $C4BE LD (IY+$0D),A ; $C4C1 RLCA ; } $C4C2 AND $40 ; {'@' $C4C4 OR (IX+$0D) ; $C4C7 LD (IX+$0D),A ; $C4CA BIT 2,(IY+$07) ; $C4CE JR Z,$C4D6 ; $C4D0 LD A,(IX+$09) ; $C4D3 LD (IY+$09),A ; } ; Routine at C4D6 ; ; Used by the routine at #R$C4AC. @label=loc_C4D6 c$C4D6 LD A,C ; $C4D7 CALL $C386 ; $C4DA LD C,A ; $C4DB RET Z ; $C4DC JR $C4AC ; ; Routine at C4DE ; ; Used by the routines at #R$C49D and #R$C4AC. @label=loc_C4DE c$C4DE LD DE,$0020 ; $C4E1 ADD IY,DE ; $C4E3 DJNZ $C49D ; $C4E5 RET ; ; Routine at C4E6 ; ; Used by the routine at #R$C478. @label=adj_dY_for_obj_intersect c$C4E6 LD IY,$5B88 ; $C4EA LD B,$38 ; ; Routine at C4EC ; ; Used by the routine at #R$C52D. @label=loc_C4EC c$C4EC CALL $B74D ; $C4EF JR Z,$C52D ; $C4F1 CALL $C5A9 ; $C4F4 JR NC,$C52D ; $C4F6 CALL $C5D3 ; $C4F9 JR NC,$C52D ; ; Routine at C4FB ; ; Used by the routine at #R$C525. @label=loc_C4FB c$C4FB CALL $C5BE ; $C4FE JR NC,$C52D ; $C500 SET 1,(IX+$0C) ; $C504 LD A,(IX+$0D) ; $C507 RRCA ; $C508 AND $40 ; {'@' $C50A OR (IY+$0D) ; $C50D LD (IY+$0D),A ; $C510 RLCA ; } $C511 AND $40 ; {'@' $C513 OR (IX+$0D) ; $C516 LD (IX+$0D),A ; $C519 BIT 2,(IY+$07) ; $C51D JR Z,$C525 ; $C51F LD A,(IX+$0A) ; $C522 LD (IY+$0A),A ; } ; Routine at C525 ; ; Used by the routine at #R$C4FB. @label=loc_C525 c$C525 LD A,L ; $C526 CALL $C386 ; $C529 LD L,A ; $C52A RET Z ; $C52B JR $C4FB ; ; Routine at C52D ; ; Used by the routines at #R$C4EC and #R$C4FB. @label=loc_C52D c$C52D LD DE,$0020 ; $C530 ADD IY,DE ; $C532 DJNZ $C4EC ; $C534 RET ; ; Routine at C535 ; ; Used by the routine at #R$C442. @label=adj_dZ_for_obj_intersect c$C535 LD IY,$5B88 ; $C539 LD B,$38 ; ; Routine at C53B ; ; Used by the routine at #R$C5A1. @label=loc_C53B c$C53B CALL $B74D ; $C53E JR Z,$C5A1 ; $C540 CALL $C5A9 ; $C543 JR NC,$C5A1 ; $C545 CALL $C5BE ; $C548 JR NC,$C5A1 ; ; Routine at C54A ; ; Used by the routine at #R$C599. @label=loc_C54A c$C54A CALL $C5D3 ; $C54D JR NC,$C5A1 ; $C54F SET 2,(IX+$0C) ; $C553 LD A,(IX+$0D) ; $C556 RRCA ; $C557 AND $40 ; {'@' $C559 OR (IY+$0D) ; $C55C LD (IY+$0D),A ; $C55F RLCA ; } $C560 AND $40 ; {'@' $C562 OR (IX+$0D) ; $C565 LD (IX+$0D),A ; $C568 BIT 2,(IX+$07) ; $C56C JR Z,$C599 ; $C56E LD A,(IX+$00) ; $C571 SUB $10 ; } $C573 CP $20 ; {' ' $C575 JR NC,$C57B ; $C577 SET 3,(IY+$0D) ; } ; Routine at C57B ; ; Used by the routine at #R$C54A. @label=loc_C57B c$C57B LD A,(IX+$0B) ; $C57E LD (IY+$0B),A ; $C581 LD A,(IX+$09) ; $C584 AND A ; $C585 JR NZ,$C58D ; $C587 LD A,(IY+$09) ; $C58A LD (IX+$09),A ; ; Routine at C58D ; ; Used by the routine at #R$C57B. @label=loc_C58D c$C58D LD A,(IX+$0A) ; $C590 AND A ; $C591 JR NZ,$C599 ; $C593 LD A,(IY+$0A) ; $C596 LD (IX+$0A),A ; ; Routine at C599 ; ; Used by the routines at #R$C54A and #R$C58D. @label=loc_C599 c$C599 LD A,H ; $C59A CALL $C386 ; $C59D LD H,A ; $C59E RET Z ; $C59F JR $C54A ; ; Routine at C5A1 ; ; Used by the routines at #R$C53B and #R$C54A. @label=loc_C5A1 c$C5A1 LD DE,$0020 ; $C5A4 ADD IY,DE ; $C5A6 DJNZ $C53B ; $C5A8 RET ; ; Routine at C5A9 ; ; Used by the routines at #R$B725, #R$BEAF, #R$C4AC, #R$C4EC and #R$C53B. ; ; identical to Knight Lore @label=do_objs_intersect_on_x c$C5A9 LD A,(IX+$04) ; $C5AC ADD A,(IY+$04) ; $C5AF LD D,A ; $C5B0 LD A,(IX+$01) ; $C5B3 ADD A,C ; $C5B4 SUB (IY+$01) ; $C5B7 JP P,$C5BC ; $C5BA NEG ; ; Routine at C5BC ; ; Used by the routine at #R$C5A9. @label=loc_C5BC c$C5BC SUB D ; $C5BD RET ; ; Routine at C5BE ; ; Used by the routines at #R$B725, #R$BEAF, #R$C49D, #R$C4FB and #R$C53B. @label=do_objs_intersect_on_y c$C5BE LD A,(IX+$05) ; $C5C1 ADD A,(IY+$05) ; $C5C4 LD D,A ; $C5C5 LD A,(IX+$02) ; $C5C8 ADD A,L ; $C5C9 SUB (IY+$02) ; $C5CC JP P,$C5D1 ; $C5CF NEG ; ; Routine at C5D1 ; ; Used by the routine at #R$C5BE. @label=loc_C5D1 c$C5D1 SUB D ; $C5D2 RET ; ; Routine at C5D3 ; ; Used by the routines at #R$B725, #R$BEAF, #R$C49D, #R$C4EC and #R$C54A. @label=do_objs_intersect_on_z c$C5D3 LD A,(IX+$03) ; $C5D6 ADD A,H ; $C5D7 SUB (IY+$03) ; $C5DA JP P,$C5E4 ; $C5DD NEG ; $C5DF LD D,(IX+$06) ; ; Routine at C5E2 ; ; Used by the routine at #R$C5E4. @label=loc_C5E2 c$C5E2 SUB D ; $C5E3 RET ; ; Routine at C5E4 ; ; Used by the routine at #R$C5D3. @label=loc_C5E4 c$C5E4 LD D,(IY+$06) ; $C5E7 JR $C5E2 ; ; Routine at C5E9 ; ; Used by the routine at #R$C467. @label=adj_dX_for_out_of_bounds c$C5E9 LD A,(IX+$0C) ; $C5EC AND $F0 ; {'ð' $C5EE RET NZ ; $C5EF BIT 0,(IX+$07) ; $C5F3 RET NZ ; $C5F4 LD A,($5B0B) ; $C5F7 LD B,A ; } ; Routine at C5F8 ; ; Used by the routine at #R$C602. @label=loc_C5F8 c$C5F8 LD A,(IX+$01) ; $C5FB ADD A,C ; $C5FC SUB $80 ; $C5FE JR NC,$C602 ; $C600 NEG ; ; Routine at C602 ; ; Used by the routine at #R$C5F8. @label=loc_C602 c$C602 ADD A,(IX+$04) ; $C605 CP B ; $C606 RET C ; $C607 SET 0,(IX+$0C) ; $C60B LD A,C ; $C60C CALL $C386 ; $C60F LD C,A ; $C610 JR NZ,$C5F8 ; $C612 RET ; ; Routine at C613 ; ; Used by the routine at #R$C478. @label=adj_dY_for_out_of_bounds c$C613 LD A,(IX+$0C) ; $C616 AND $F0 ; {'ð' $C618 RET NZ ; $C619 BIT 0,(IX+$07) ; $C61D RET NZ ; $C61E LD A,($5B0C) ; $C621 LD B,A ; } ; Routine at C622 ; ; Used by the routine at #R$C62C. @label=loc_C622 c$C622 LD A,(IX+$02) ; $C625 ADD A,L ; $C626 SUB $80 ; {'€' $C628 JR NC,$C62C ; $C62A NEG ; } ; Routine at C62C ; ; Used by the routine at #R$C622. @label=loc_C62C c$C62C ADD A,(IX+$05) ; $C62F CP B ; $C630 RET C ; $C631 SET 1,(IX+$0C) ; $C635 LD A,L ; $C636 CALL $C386 ; $C639 LD L,A ; $C63A JR NZ,$C622 ; $C63C RET ; ; Routine at C63D ; ; Used by the routine at #R$C657. @label=calc_2d_info c$C63D CALL $CFD2 ; $C640 CALL $CFFE ; $C643 LD A,(IX+$1A) ; pixel X $C646 AND $07 ; bit offset $C648 LD A,(DE) ; ptr sprite data $C649 INC DE ; ptr height $C64A JR Z,$C64D ; $C64C INC A ; ; Routine at C64D ; ; Used by the routine at #R$C63D. @label=loc_C64D c$C64D AND $0F ; $C64F LD (IX+$18),A ; {sprite data width (bytes) $C652 LD A,(DE) ; } $C653 LD (IX+$19),A ; {sprite data height (lines) $C656 RET ; } ; Routine at C657 ; ; Used by the routines at #R$BFAB and #R$C6F4. @label=set_draw_objs_overlapped c$C657 LD IY,$5B88 ; $C65B CALL $C63D ; $C65E LD B,$38 ; max objects $C660 LD A,(IX+$1A) ; {pixel X $C663 RRCA ; $C664 RRCA ; $C665 RRCA ; $C666 AND $1F ; $C668 LD L,A ; $C669 LD A,(IX+$1E) ; $C66C RRCA ; $C66D RRCA ; $C66E RRCA ; $C66F AND $1F ; $C671 LD H,A ; $C672 CP L ; $C673 JR C,$C676 ; $C675 LD A,L ; } ; Routine at C676 ; ; Used by the routine at #R$C657. @label=loc_C676 c$C676 LD E,A ; $C677 LD A,L ; $C678 ADD A,(IX+$18) ; $C67B LD L,A ; $C67C LD A,H ; $C67D ADD A,(IX+$1C) ; $C680 CP L ; $C681 JR NC,$C684 ; $C683 LD A,L ; ; Routine at C684 ; ; Used by the routine at #R$C676. @label=loc_C684 c$C684 SUB E ; $C685 LD D,A ; $C686 LD A,(IX+$1B) ; $C689 CP (IX+$1F) ; $C68C JR C,$C691 ; $C68E LD A,(IX+$1F) ; ; Routine at C691 ; ; Used by the routine at #R$C684. @label=loc_C691 c$C691 LD L,A ; $C692 LD A,(IX+$1B) ; $C695 ADD A,(IX+$19) ; $C698 LD H,A ; $C699 LD A,(IX+$1F) ; $C69C ADD A,(IX+$1D) ; $C69F CP H ; $C6A0 JR NC,$C6A3 ; $C6A2 LD A,H ; ; Routine at C6A3 ; ; Used by the routine at #R$C691. @label=loc_C6A3 c$C6A3 SUB L ; $C6A4 LD H,A ; ; Routine at C6A5 ; ; Used by the routine at #R$C6CC. @label=loc_C6A5 c$C6A5 LD A,(IY+$00) ; $C6A8 AND A ; $C6A9 JR Z,$C6CC ; $C6AB BIT 4,(IY+$07) ; $C6AF JR NZ,$C6CC ; $C6B1 LD A,(IY+$1A) ; $C6B4 RRCA ; $C6B5 RRCA ; $C6B6 RRCA ; $C6B7 AND $1F ; $C6B9 SUB E ; $C6BA JR C,$C6D6 ; $C6BC CP D ; ; Routine at C6BD ; ; Used by the routine at #R$C6D6. @label=loc_C6BD c$C6BD JR NC,$C6CC ; $C6BF LD A,(IY+$1B) ; $C6C2 SUB L ; $C6C3 JR C,$C6DD ; $C6C5 CP H ; ; Routine at C6C6 ; ; Used by the routine at #R$C6DD. @label=loc_C6C6 c$C6C6 JR NC,$C6CC ; $C6C8 SET 4,(IY+$07) ; ; Routine at C6CC ; ; Used by the routines at #R$C6A5, #R$C6BD and #R$C6C6. @label=loc_C6CC c$C6CC EXX ; $C6CD LD DE,$0020 ; $C6D0 ADD IY,DE ; $C6D2 EXX ; $C6D3 DJNZ $C6A5 ; $C6D5 RET ; ; Routine at C6D6 ; ; Used by the routine at #R$C6A5. @label=loc_C6D6 c$C6D6 NEG ; $C6D8 CP (IY+$18) ; $C6DB JR $C6BD ; ; Routine at C6DD ; ; Used by the routine at #R$C6BD. @label=loc_C6DD c$C6DD NEG ; $C6DF CP (IY+$19) ; $C6E2 JR $C6C6 ; ; Routine at C6E4 @label=upd_20_to_2B c$C6E4 CALL $BF6F ; $C6E7 BIT 6,(IX+$0D) ; $C6EB JR Z,$C6F4 ; $C6ED SET 6,(IX-$13) ; $C6F1 JP $B39A ; ; Routine at C6F4 ; ; Used by the routine at #R$C6E4. @label=loc_C6F4 c$C6F4 PUSH IX ; $C6F6 POP DE ; $C6F7 LD HL,$FFE0 ; $C6FA ADD HL,DE ; $C6FB PUSH HL ; $C6FC POP IY ; $C6FE INC DE ; $C6FF INC HL ; $C700 LD BC,$0007 ; $C703 LDIR ; $C705 DEC (IX+$06) ; $C708 LD A,(IY+$00) ; $C70B ADD A,$10 ; $C70D LD (IX+$00),A ; $C710 LD A,(IY+$03) ; $C713 ADD A,$0C ; $C715 LD (IX+$03),A ; $C718 CALL $C657 ; $C71B RET ; ; Routine at C71C ; ; Used by the routine at #R$A6DC. @label=list_objects_to_draw c$C71C PUSH IX ; $C71E LD B,$38 ; {max objects $C720 LD DE,$0020 ; $C723 LD IX,$5B88 ; $C727 LD HL,$C745 ; $C72A LD C,$00 ; } ; Routine at C72C ; ; Used by the routine at #R$C73A. @label=loc_C72C c$C72C LD A,(IX+$00) ; $C72F AND A ; $C730 JR Z,$C73A ; $C732 BIT 4,(IX+$07) ; $C736 JR Z,$C73A ; $C738 LD (HL),C ; $C739 INC HL ; ; Routine at C73A ; ; Used by the routine at #R$C72C. @label=loc_C73A c$C73A INC C ; $C73B ADD IX,DE ; $C73D DJNZ $C72C ; $C73F LD A,$FF ; $C741 LD (HL),A ; $C742 POP IX ; $C744 RET ; ; Data block at C745 @label=objects_to_draw b$C745 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 $C760 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 $C77B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$AF,$32,$1E,$5B,$DD,$E5,$FD,$E5 ; Routine at C78D ; ; Used by the routines at #R$C89B and #R$C8D8. @label=calc_display_order_and_render c$C78D LD DE,$C745 ; ; Routine at C790 @label=loc_C790 c$C790 LD A,(DE) ; $C791 INC DE ; $C792 CP $FF ; $C794 JP Z,$C8EA ; $C797 BIT 7,A ; $C799 JR NZ,$C790 ; $C79B CALL $CC96 ; $C79E LD ($5B2D),DE ; $C7A2 PUSH HL ; $C7A3 POP IX ; ; Routine at C7A5 ; ; Used by the routines at #R$C869, #R$C86C, #R$C882, #R$C8AB and #R$C8D2. @label=loc_C7A5 c$C7A5 LD A,(DE) ; $C7A6 INC DE ; $C7A7 CP $FF ; $C7A9 JP Z,$C8D5 ; $C7AC BIT 7,A ; $C7AE JR NZ,$C7A5 ; $C7B0 CALL $CC96 ; $C7B3 LD ($5B2F),DE ; $C7B7 PUSH HL ; $C7B8 POP IY ; $C7BA PUSH IX ; $C7BC POP BC ; $C7BD AND A ; $C7BE SBC HL,BC ; $C7C0 JR Z,$C7A5 ; $C7C2 LD C,$00 ; $C7C4 LD A,(IY+$03) ; $C7C7 ADD A,(IY+$06) ; $C7CA LD L,A ; $C7CB LD A,(IX+$03) ; $C7CE SUB L ; $C7CF JR NC,$C7E0 ; $C7D1 LD A,(IX+$03) ; $C7D4 ADD A,(IX+$06) ; $C7D7 LD L,A ; $C7D8 LD A,(IY+$03) ; $C7DB SUB L ; $C7DC JR C,$C7DF ; $C7DE INC C ; ; Routine at C7DF ; ; Used by the routine at #R$C7A5. @label=loc_C7DF c$C7DF INC C ; ; Routine at C7E0 ; ; Used by the routine at #R$C7A5. @label=loc_C7E0 c$C7E0 LD A,(IY+$02) ; $C7E3 ADD A,(IY+$05) ; $C7E6 LD L,A ; $C7E7 LD A,(IX+$02) ; $C7EA SUB (IX+$05) ; $C7ED SUB L ; $C7EE JR NC,$C806 ; $C7F0 LD A,(IX+$02) ; $C7F3 ADD A,(IX+$05) ; $C7F6 LD L,A ; $C7F7 LD A,(IY+$02) ; $C7FA SUB (IY+$05) ; $C7FD SUB L ; $C7FE LD A,C ; $C7FF JR C,$C803 ; $C801 ADD A,$03 ; ; Routine at C803 ; ; Used by the routine at #R$C7E0. @label=loc_C803 c$C803 ADD A,$03 ; $C805 LD C,A ; ; Routine at C806 ; ; Used by the routine at #R$C7E0. @label=loc_C806 c$C806 LD A,(IY+$01) ; $C809 ADD A,(IY+$04) ; $C80C LD L,A ; $C80D LD A,(IX+$01) ; $C810 SUB (IX+$04) ; $C813 SUB L ; $C814 JR NC,$C82C ; $C816 LD A,(IX+$01) ; $C819 ADD A,(IX+$04) ; $C81C LD L,A ; $C81D LD A,(IY+$01) ; $C820 SUB (IY+$04) ; $C823 SUB L ; $C824 LD A,C ; $C825 JR C,$C829 ; $C827 ADD A,$09 ; ; Routine at C829 ; ; Used by the routine at #R$C806. @label=loc_C829 c$C829 ADD A,$09 ; $C82B LD C,A ; ; Routine at C82C ; ; Used by the routine at #R$C806. @label=loc_C82C c$C82C LD L,C ; $C82D LD BC,$C833 ; $C830 JP $A6B7 ; ; Data block at C833 @label=off_C833 b$C833 DEFW $C869 $C835 DEFW $C869 $C837 DEFW $C869 $C839 DEFW $C86F $C83B DEFW $C86F $C83D DEFW $C869 $C83F DEFW $C86F $C841 DEFW $C86F $C843 DEFW $C869 $C845 DEFW $C869 $C847 DEFW $C86C $C849 DEFW $C86C $C84B DEFW $C86F $C84D DEFW $C8AB $C84F DEFW $C86C $C851 DEFW $C86F $C853 DEFW $C86F $C855 DEFW $C869 $C857 DEFW $C869 $C859 DEFW $C86C $C85B DEFW $C86C $C85D DEFW $C869 $C85F DEFW $C86C $C861 DEFW $C86C $C863 DEFW $C869 $C865 DEFW $C869 $C867 DEFW $C869 ; Routine at C869 @label=continue_1 c$C869 JP $C7A5 ; ; Routine at C86C @label=continue_2 c$C86C JP $C7A5 ; ; Routine at C86F @label=d_3467121516 c$C86F LD HL,($5B2F) ; $C872 DEC HL ; $C873 LD C,(HL) ; $C874 LD DE,$C8EF ; ; Routine at C877 @label=loc_C877 c$C877 LD A,(DE) ; $C878 CP $FF ; $C87A JR Z,$C882 ; $C87C CP C ; $C87D JR Z,$C898 ; $C87F INC DE ; $C880 JR $C877 ; ; Routine at C882 ; ; Used by the routine at #R$C877. @label=loc_C882 c$C882 LD A,C ; $C883 LD (DE),A ; $C884 INC DE ; $C885 LD A,$FF ; $C887 LD (DE),A ; $C888 PUSH IY ; $C88A POP IX ; $C88C LD HL,($5B2F) ; $C88F LD ($5B2D),HL ; $C892 LD DE,$C745 ; $C895 JP $C7A5 ; ; Routine at C898 ; ; Used by the routine at #R$C877. @label=loc_C898 c$C898 LD HL,$C745 ; ; Routine at C89B @label=loc_C89B c$C89B LD A,(HL) ; $C89C INC HL ; $C89D CP $FF ; $C89F JP Z,$C78D ; $C8A2 CP C ; $C8A3 JR NZ,$C89B ; $C8A5 PUSH IY ; $C8A7 POP IX ; $C8A9 JR $C8D8 ; ; Routine at C8AB @label=objs_coincide c$C8AB LD A,(IX+$07) ; $C8AE OR (IY+$07) ; $C8B1 AND $02 ; $C8B3 JP NZ,$C7A5 ; $C8B6 LD A,(IX+$00) ; $C8B9 SUB $60 ; {'`' $C8BB CP $04 ; $C8BD JR NC,$C8C5 ; } $C8BF LD (IX+$00),$40 ; {'@' $C8C3 JR $C8D2 ; } ; Routine at C8C5 ; ; Used by the routine at #R$C8AB. @label=loc_C8C5 c$C8C5 LD A,(IY+$00) ; $C8C8 SUB $60 ; {'`' $C8CA CP $04 ; $C8CC JR NC,$C8D2 ; } $C8CE LD (IY+$00),$40 ; '@' ; Routine at C8D2 ; ; Used by the routines at #R$C8AB and #R$C8C5. @label=loc_C8D2 c$C8D2 JP $C7A5 ; ; Routine at C8D5 ; ; Used by the routine at #R$C7A5. @label=loc_C8D5 c$C8D5 LD HL,($5B2D) ; ; Routine at C8D8 ; ; Used by the routine at #R$C89B. @label=loc_C8D8 c$C8D8 DEC HL ; $C8D9 SET 7,(HL) ; $C8DB LD A,$FF ; $C8DD LD ($C8EF),A ; $C8E0 LD HL,$5B1E ; $C8E3 INC (HL) ; $C8E4 CALL $D013 ; $C8E7 JP $C78D ; ; Routine at C8EA ; ; Used by the routine at #R$C790. @label=loc_C8EA c$C8EA POP IY ; $C8EC POP IX ; $C8EE RET ; ; Data block at C8EF @label=render_list b$C8EF DEFB $FF $C8F0 DEFB $FF $C8F1 DEFB $FF $C8F2 DEFB $FF $C8F3 DEFB $FF $C8F4 DEFB $FF $C8F5 DEFB $FF $C8F6 DEFB $FF $C8F7 DEFB $FF $C8F8 DEFB $FF $C8F9 DEFB $FF $C8FA DEFB $FF $C8FB DEFB $FF $C8FC DEFB $FF $C8FD DEFB $FF $C8FE DEFB $FF ; Routine at C8FF ; ; Used by the routines at #R$C0CE and #R$C1E2. @label=check_user_input c$C8FF LD A,($5B23) ; $C902 LD C,A ; $C903 LD A,($5B24) ; $C906 OR C ; $C907 LD C,$00 ; $C909 JP NZ,$C9EE ; $C90C LD A,($5B04) ; $C90F RRCA ; $C910 AND $03 ; $C912 JP Z,$C9A5 ; $C915 DEC A ; $C916 JR Z,$C954 ; $C918 DEC A ; $C919 JR Z,$C979 ; ; Routine at C91B @label=interfaceii c$C91B LD A,$F7 ; {'÷' $C91D CALL $B759 ; $C920 PUSH BC ; $C921 LD B,$05 ; } ; Routine at C923 @label=loc_C923 c$C923 RRA ; $C924 RL C ; $C926 DJNZ $C923 ; $C928 LD A,C ; $C929 POP BC ; $C92A LD C,A ; $C92B LD A,$EF ; {'ï' $C92D CALL $B759 ; $C930 OR C ; $C931 LD C,$00 ; $C933 BIT 0,A ; $C935 JR Z,$C939 ; $C937 SET 3,C ; } ; Routine at C939 ; ; Used by the routine at #R$C923. @label=loc_C939 c$C939 BIT 1,A ; $C93B JR Z,$C93F ; $C93D SET 2,C ; ; Routine at C93F ; ; Used by the routine at #R$C939. @label=loc_C93F c$C93F BIT 2,A ; $C941 JR Z,$C945 ; $C943 SET 4,C ; ; Routine at C945 ; ; Used by the routine at #R$C93F. @label=loc_C945 c$C945 BIT 3,A ; $C947 JR Z,$C94B ; $C949 SET 1,C ; ; Routine at C94B ; ; Used by the routine at #R$C945. @label=loc_C94B c$C94B BIT 4,A ; $C94D JR Z,$C951 ; $C94F SET 0,C ; ; Routine at C951 ; ; Used by the routine at #R$C94B. @label=loc_C951 c$C951 JP $C9EE ; ; Routine at C954 ; ; Used by the routine at #R$C8FF. @label=kempston c$C954 IN A,($1F) ; $C956 LD C,$00 ; $C958 BIT 0,A ; $C95A JR Z,$C95E ; $C95C SET 1,C ; ; Routine at C95E ; ; Used by the routine at #R$C954. @label=loc_C95E c$C95E BIT 1,A ; $C960 JR Z,$C964 ; $C962 SET 0,C ; ; Routine at C964 ; ; Used by the routine at #R$C95E. @label=loc_C964 c$C964 BIT 2,A ; $C966 JR Z,$C96A ; $C968 SET 4,C ; ; Routine at C96A ; ; Used by the routine at #R$C964. @label=loc_C96A c$C96A BIT 3,A ; $C96C JR Z,$C970 ; $C96E SET 2,C ; ; Routine at C970 ; ; Used by the routine at #R$C96A. @label=loc_C970 c$C970 BIT 4,A ; $C972 JR Z,$C976 ; $C974 SET 3,C ; ; Routine at C976 ; ; Used by the routine at #R$C970. @label=loc_C976 c$C976 JP $C9EE ; ; Routine at C979 ; ; Used by the routine at #R$C8FF. @label=cursor c$C979 LD C,$00 ; $C97B LD A,$F7 ; {'÷' $C97D CALL $B759 ; $C980 BIT 4,A ; $C982 JR Z,$C986 ; $C984 SET 0,C ; } ; Routine at C986 ; ; Used by the routine at #R$C979. @label=loc_C986 c$C986 LD A,$EF ; {'ï' $C988 CALL $B759 ; $C98B BIT 0,A ; $C98D JR Z,$C991 ; $C98F SET 3,C ; } ; Routine at C991 ; ; Used by the routine at #R$C986. @label=loc_C991 c$C991 BIT 3,A ; $C993 JR Z,$C997 ; $C995 SET 2,C ; ; Routine at C997 ; ; Used by the routine at #R$C991. @label=loc_C997 c$C997 BIT 2,A ; $C999 JR Z,$C99D ; $C99B SET 1,C ; ; Routine at C99D ; ; Used by the routine at #R$C997. @label=loc_C99D c$C99D BIT 4,A ; $C99F JR Z,$C9EE ; $C9A1 SET 4,C ; $C9A3 JR $C9EE ; ; Routine at C9A5 ; ; Used by the routine at #R$C8FF. @label=keyboard c$C9A5 LD A,$FE ; {'þ' $C9A7 CALL $B759 ; $C9AA RRCA ; $C9AB LD C,A ; $C9AC AND $03 ; $C9AE SRL C ; $C9B0 SRL C ; $C9B2 OR C ; $C9B3 AND $03 ; $C9B5 LD C,A ; } $C9B6 LD A,$7F ; {'' $C9B8 CALL $B759 ; $C9BB BIT 1,A ; $C9BD JR Z,$C9C1 ; $C9BF SET 1,C ; } ; Routine at C9C1 ; ; Used by the routine at #R$C9A5. @label=loc_C9C1 c$C9C1 BIT 2,A ; $C9C3 JR Z,$C9C7 ; $C9C5 SET 0,C ; ; Routine at C9C7 ; ; Used by the routine at #R$C9C1. @label=loc_C9C7 c$C9C7 BIT 3,A ; $C9C9 JR Z,$C9CD ; $C9CB SET 1,C ; ; Routine at C9CD ; ; Used by the routine at #R$C9C7. @label=loc_C9CD c$C9CD BIT 4,A ; $C9CF JR Z,$C9D3 ; $C9D1 SET 0,C ; ; Routine at C9D3 ; ; Used by the routine at #R$C9CD. @label=loc_C9D3 c$C9D3 LD A,$BD ; {'½' $C9D5 CALL $B759 ; $C9D8 JR Z,$C9DC ; $C9DA SET 2,C ; } ; Routine at C9DC ; ; Used by the routine at #R$C9D3. @label=loc_C9DC c$C9DC LD A,$DB ; {'Û' $C9DE CALL $B759 ; $C9E1 JR Z,$C9E5 ; $C9E3 SET 3,C ; } ; Routine at C9E5 ; ; Used by the routine at #R$C9DC. @label=loc_C9E5 c$C9E5 LD A,$E7 ; {'ç' $C9E7 CALL $B759 ; $C9EA JR Z,$C9EE ; $C9EC SET 4,C ; } ; Routine at C9EE ; ; Used by the routines at #R$C8FF, #R$C951, #R$C976, #R$C99D and #R$C9E5. @label=finished_input c$C9EE LD A,$7E ; {'~' $C9F0 CALL $B759 ; $C9F3 AND $1E ; $C9F5 PUSH BC ; $C9F6 LD B,A ; } $C9F7 LD A,$99 ; {'™' $C9F9 CALL $B759 ; $C9FC OR B ; $C9FD POP BC ; $C9FE JR Z,$CA02 ; $CA00 SET 5,C ; } ; Routine at CA02 ; ; Used by the routine at #R$C9EE. @label=loc_CA02 c$CA02 LD A,C ; $CA03 LD ($5B15),A ; $CA06 RET ; ; Routine at CA07 ; ; Used by the routine at #R$A688. @label=lose_life c$CA07 LD HL,$CA1D ; $CA0A LD DE,$5B88 ; $CA0D PUSH DE ; $CA0E POP IX ; $CA10 LD BC,$0040 ; $CA13 LDIR ; $CA15 LD HL,$5B1A ; $CA18 DEC (HL) ; $CA19 JP M,$B761 ; $CA1C RET ; ; Data block at CA1D @label=plyr_spr_1_scratchpad b$CA1D DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; Data block at CA25 @label=start_loc_1 b$CA25 DEFB $00,$00,$00,$00 ; Data block at CA29 @label=flags12_1 b$CA29 DEFB $00,$00,$00,$00 ; Data block at CA2D @label=byte_CA2D b$CA2D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; Data block at CA3D @label=plyr_spr_2_scratchpad b$CA3D DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; Data block at CA45 @label=start_loc_2 b$CA45 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ; Data block at CA4D @label=byte_CA4D b$CA4D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; Data block at CA5D @label=plyr_spr_init_data b$CA5D DEFB $38,$80,$80,$40,$07,$07,$0C,$1C,$38,$80,$80,$4C,$07,$07,$0B,$1C ; Routine at CA6D ; ; Used by the routine at #R$A650. @label=init_start_location c$CA6D LD HL,$CA5D ; $CA70 LD DE,$CA1D ; $CA73 LD BC,$0008 ; $CA76 LDIR ; $CA78 LD DE,$CA3D ; $CA7B LD BC,$0008 ; $CA7E LDIR ; $CA80 LD A,$16 ; $CA82 LD ($CA2D),A ; $CA85 LD A,$26 ; $CA87 LD ($CA4D),A ; $CA8A LD A,($5B00) ; $CA8D AND $03 ; $CA8F LD L,A ; $CA90 LD H,$00 ; $CA92 LD BC,$CA9E ; $CA95 ADD HL,BC ; $CA96 LD A,(HL) ; $CA97 LD ($CA25),A ; $CA9A LD ($CA45),A ; $CA9D RET ; ; Data block at CA9E @label=start_locations b$CA9E DEFB $13,$4E,$88,$D7 ; Routine at CAA2 ; ; Used by the routine at #R$A68B. @label=build_screen_objects c$CAA2 LD A,($5B12) ; $CAA5 AND A ; $CAA6 JR Z,$CAAB ; $CAA8 CALL $AF05 ; ; Routine at CAAB ; ; Used by the routine at #R$CAA2. @label=loc_CAAB c$CAAB CALL $CCA7 ; $CAAE CALL $CE7B ; $CAB1 CALL $AE99 ; $CAB4 CALL $CC01 ; $CAB7 XOR A ; $CAB8 LD ($5B3A),A ; $CABB LD ($5B42),A ; $CABE LD ($5B43),A ; $CAC1 LD A,($5B90) ; $CAC4 CPL ; $CAC5 AND $01 ; $CAC7 LD ($5B3B),A ; $CACA LD A,$01 ; $CACC LD ($5B17),A ; $CACF JP $B863 ; ; Routine at CAD2 ; ; Used by the routine at #R$A650. @label=set_room_attrs c$CAD2 LD HL,$6469 ; $CAD5 LD BC,$73C8 ; {end of location table $CAD8 INC HL ; } ; Routine at CAD9 @label=loc_CAD9 c$CAD9 LD E,(HL) ; #bytes in entry $CADA INC HL ; $CADB LD A,(HL) ; size and attributes $CADC RRCA ; $CADD RRCA ; $CADE RRCA ; $CADF AND $07 ; {attr2 $CAE1 LD D,A ; } $CAE2 LD A,(HL) ; size and attributes $CAE3 AND $F8 ; 'ø' ; mask off attr1 $CAE5 OR D ; set attr1=attr2 $CAE6 LD (HL),A ; store $CAE7 LD D,$00 ; $CAE9 ADD HL,DE ; next entry $CAEA AND A ; $CAEB SBC HL,BC ; done? $CAED RET NC ; yes, return $CAEE ADD HL,BC ; $CAEF JR $CAD9 ; loop ; Routine at CAF1 ; ; Used by the routines at #R$CB06, #R$CB0F and #R$CB8A. @label=transfer_sprite c$CAF1 LD A,(HL) ; $CAF2 INC HL ; $CAF3 LD (IX+$00),A ; $CAF6 LD A,(HL) ; $CAF7 INC HL ; $CAF8 LD (IX+$07),A ; $CAFB LD A,(HL) ; $CAFC INC HL ; $CAFD LD (IX+$1A),A ; $CB00 LD A,(HL) ; $CB01 INC HL ; $CB02 LD (IX+$1B),A ; $CB05 RET ; ; Routine at CB06 ; ; Used by the routines at #R$CB0F and #R$CB8A. @label=transfer_sprite_and_print c$CB06 CALL $CAF1 ; $CB09 PUSH HL ; $CB0A CALL $D027 ; $CB0D POP HL ; $CB0E RET ; ; Routine at CB0F ; ; Used by the routine at #R$A715. @label=display_panel c$CB0F LD IX,$BD38 ; $CB13 LD HL,$CB5A ; $CB16 CALL $CAF1 ; $CB19 LD DE,$F810 ; $CB1C LD B,$05 ; $CB1E CALL $BC56 ; $CB21 CALL $CAF1 ; $CB24 LD DE,$0800 ; $CB27 LD B,$06 ; $CB29 CALL $BC56 ; $CB2C CALL $CB06 ; $CB2F CALL $CB06 ; $CB32 CALL $CAF1 ; $CB35 LD DE,$F8F0 ; $CB38 LD B,$05 ; $CB3A CALL $BC56 ; $CB3D CALL $CAF1 ; $CB40 LD DE,$0800 ; $CB43 LD B,$06 ; $CB45 CALL $BC56 ; $CB48 CALL $CB06 ; $CB4B CALL $CB06 ; $CB4E CALL $CB06 ; $CB51 CALL $CB06 ; $CB54 CALL $CB06 ; $CB57 JP $CB06 ; ; Data block at CB5A @label=panel_data b$CB5A DEFB $09,$00,$10,$30 $CB5E DEFB $0A,$00,$00,$00 $CB62 DEFB $07,$00,$00,$30 $CB66 DEFB $08,$00,$60,$00 $CB6A DEFB $09,$40,$E0,$30 $CB6E DEFB $0A,$40,$F8,$00 $CB72 DEFB $07,$40,$F0,$30 $CB76 DEFB $08,$40,$90,$00 $CB7A DEFB $0C,$00,$70,$00 $CB7E DEFB $54,$00,$E0,$09 $CB82 DEFB $54,$40,$C8,$09 $CB86 DEFB $83,$00,$08,$18 ; Routine at CB8A ; ; Used by the routines at #R$B76B, #R$B7AE and #R$BC31. @label=print_border c$CB8A LD IX,$BD38 ; $CB8E LD HL,$CBC3 ; $CB91 CALL $CB06 ; $CB94 CALL $CB06 ; $CB97 CALL $CB06 ; $CB9A CALL $CB06 ; $CB9D CALL $CAF1 ; $CBA0 LD DE,$0008 ; $CBA3 LD B,$18 ; $CBA5 CALL $BC56 ; $CBA8 CALL $CAF1 ; $CBAB LD B,$18 ; $CBAD CALL $BC56 ; $CBB0 CALL $CAF1 ; $CBB3 LD DE,$0100 ; $CBB6 LD B,$80 ; $CBB8 CALL $BC56 ; $CBBB CALL $CAF1 ; $CBBE LD B,$80 ; $CBC0 JP $BC56 ; ; Data block at CBC3 @label=border_data b$CBC3 DEFB $04,$00,$00,$A0 $CBC7 DEFB $04,$40,$E0,$A0 $CBCB DEFB $04,$C0,$E0,$00 $CBCF DEFB $04,$80,$00,$00 $CBD3 DEFB $06,$00,$20,$A8 $CBD7 DEFB $06,$80,$20,$00 $CBDB DEFB $05,$00,$00,$20 $CBDF DEFB $05,$40,$E8,$20 ; Routine at CBE3 @label=colour_panel c$CBE3 XOR A ; $CBE4 LD HL,$5AB6 ; $CBE7 LD BC,$0103 ; $CBEA CALL $BF83 ; $CBED LD HL,$5ABD ; $CBF0 LD BC,$0103 ; $CBF3 CALL $BF83 ; $CBF6 LD A,$42 ; {'B' $CBF8 LD HL,$5A97 ; $CBFB LD BC,$0604 ; $CBFE JP $BF83 ; } ; Routine at CC01 ; ; Used by the routine at #R$CAAB. @label=adjust_plyr_xyz_for_room_size c$CC01 LD A,($5B0B) ; $CC04 SUB $02 ; $CC06 LD L,A ; $CC07 LD A,($5B0C) ; $CC0A SUB $02 ; $CC0C LD H,A ; $CC0D LD A,(IX+$01) ; $CC10 AND A ; $CC11 JR Z,$CC60 ; $CC13 INC A ; $CC14 JR Z,$CC50 ; $CC16 LD A,(IX+$02) ; $CC19 AND A ; $CC1A JR Z,$CC43 ; $CC1C INC A ; $CC1D JR Z,$CC20 ; $CC1F RET ; ; Routine at CC20 ; ; Used by the routine at #R$CC01. @label=loc_CC20 c$CC20 LD C,$C8 ; {'È' $CC22 CALL $CC6D ; } $CC25 LD A,$80 ; {'€' $CC27 SUB H ; $CC28 SUB (IX+$05) ; } ; Routine at CC2B ; ; Used by the routine at #R$CC43. @label=loc_CC2B c$CC2B LD (IX+$02),A ; ; Routine at CC2E ; ; Used by the routine at #R$CC5B. @label=loc_CC2E c$CC2E SET 4,(IX+$07) ; $CC32 SET 4,(IX+$27) ; $CC36 LD A,(IX+$01) ; $CC39 LD (IX+$21),A ; $CC3C LD A,(IX+$02) ; $CC3F LD (IX+$22),A ; $CC42 RET ; ; Routine at CC43 ; ; Used by the routine at #R$CC01. @label=loc_CC43 c$CC43 LD C,$52 ; {'R' $CC45 CALL $CC6D ; $CC48 LD A,H ; } $CC49 ADD A,$80 ; {'€' $CC4B ADD A,(IX+$05) ; $CC4E JR $CC2B ; } ; Routine at CC50 ; ; Used by the routine at #R$CC01. @label=loc_CC50 c$CC50 LD C,$AE ; {'®' $CC52 CALL $CC6D ; } $CC55 LD A,$80 ; {'€' $CC57 SUB L ; $CC58 SUB (IX+$04) ; } ; Routine at CC5B ; ; Used by the routine at #R$CC60. @label=loc_CC5B c$CC5B LD (IX+$01),A ; $CC5E JR $CC2E ; ; Routine at CC60 ; ; Used by the routine at #R$CC01. @label=loc_CC60 c$CC60 LD C,$38 ; {'8' $CC62 CALL $CC6D ; $CC65 LD A,L ; } $CC66 ADD A,$80 ; {'€' $CC68 ADD A,(IX+$04) ; $CC6B JR $CC5B ; } ; Routine at CC6D ; ; Used by the routines at #R$CC20, #R$CC43, #R$CC50 and #R$CC60. @label=adjust_plyr_Z_for_arch c$CC6D LD IY,$5C08 ; $CC71 LD DE,$0040 ; {'@' $CC74 LD B,$04 ; } ; Routine at CC76 @label=loc_CC76 c$CC76 LD A,(IY+$00) ; $CC79 CP $04 ; $CC7B RET NC ; $CC7C LD A,(IY+$01) ; $CC7F ADD A,(IY+$02) ; $CC82 CP C ; $CC83 JR Z,$CC8A ; $CC85 ADD IY,DE ; $CC87 DJNZ $CC76 ; $CC89 RET ; ; Routine at CC8A ; ; Used by the routine at #R$CC76. @label=loc_CC8A c$CC8A LD A,(IY+$03) ; $CC8D LD (IX+$03),A ; $CC90 ADD A,$0C ; $CC92 LD (IX+$23),A ; $CC95 RET ; ; Routine at CC96 ; ; Used by the routines at #R$C790, #R$C7A5 and #R$CEBE. @label=get_ptr_object c$CC96 PUSH BC ; $CC97 AND $7F ; {'' $CC99 LD L,A ; $CC9A LD H,$00 ; $CC9C ADD HL,HL ; $CC9D ADD HL,HL ; $CC9E ADD HL,HL ; $CC9F ADD HL,HL ; $CCA0 ADD HL,HL ; $CCA1 LD BC,$5B88 ; $CCA4 ADD HL,BC ; $CCA5 POP BC ; $CCA6 RET ; } ; Routine at CCA7 ; ; Used by the routine at #R$CAAB. @label=retrieve_screen c$CCA7 LD HL,$73C8 ; $CCAA LD ($5B20),HL ; $CCAD XOR A ; $CCAE LD ($5B19),A ; $CCB1 LD ($5B25),A ; $CCB4 LD DE,$5C08 ; $CCB7 LD BC,$73C8 ; $CCBA LD HL,$6469 ; ; Routine at CCBD @label=find_screen c$CCBD LD A,(HL) ; $CCBE INC HL ; $CCBF CP (IX+$08) ; $CCC2 JR Z,$CCDE ; $CCC4 LD A,(HL) ; $CCC5 CALL $CE06 ; $CCC8 AND A ; $CCC9 SBC HL,BC ; $CCCB JR NC,$CCD0 ; $CCCD ADD HL,BC ; $CCCE JR $CCBD ; ; Routine at CCD0 ; ; Used by the routines at #R$CCBD, #R$CD20 and #R$CDE8. @label=zero_end_of_graphic_objs_tbl c$CCD0 LD HL,$6288 ; $CCD3 AND A ; $CCD4 SBC HL,DE ; $CCD6 RET Z ; $CCD7 LD B,$20 ; $CCD9 CALL $CE1C ; $CCDC JR $CCD0 ; ; Routine at CCDE ; ; Used by the routine at #R$CCBD. @label=found_screen c$CCDE LD B,(HL) ; $CCDF INC HL ; $CCE0 LD A,(HL) ; $CCE1 AND $07 ; $CCE3 LD ($5B0D),A ; $CCE6 LD ($5B34),HL ; $CCE9 PUSH DE ; $CCEA EX DE,HL ; $CCEB LD A,(DE) ; $CCEC INC DE ; $CCED RLCA ; $CCEE RLCA ; $CCEF AND $03 ; $CCF1 LD C,A ; $CCF2 ADD A,A ; $CCF3 ADD A,C ; $CCF4 LD HL,$6460 ; $CCF7 CALL $CE06 ; $CCFA LD A,(HL) ; $CCFB INC HL ; $CCFC LD ($5B0B),A ; $CCFF LD A,(HL) ; $CD00 INC HL ; $CD01 LD ($5B0C),A ; $CD04 LD A,(HL) ; $CD05 LD ($5B0E),A ; $CD08 DEC B ; $CD09 DEC B ; $CD0A EX DE,HL ; $CD0B POP DE ; ; Routine at CD0C ; ; Used by the routine at #R$CD20. @label=next_bg_obj c$CD0C LD A,(HL) ; $CD0D INC HL ; $CD0E CP $FF ; $CD10 JR Z,$CD3A ; $CD12 PUSH BC ; $CD13 PUSH HL ; $CD14 LD L,A ; $CD15 LD H,$00 ; $CD17 ADD HL,HL ; $CD18 LD BC,$7519 ; $CD1B ADD HL,BC ; $CD1C LD A,(HL) ; $CD1D INC HL ; $CD1E LD H,(HL) ; $CD1F LD L,A ; ; Routine at CD20 @label=next_bg_obj_sprite c$CD20 LD BC,$0008 ; $CD23 LDIR ; $CD25 LD A,(IX+$08) ; $CD28 LD (DE),A ; $CD29 INC DE ; $CD2A LD B,$17 ; $CD2C CALL $CE1C ; $CD2F LD A,(HL) ; $CD30 AND A ; $CD31 JR NZ,$CD20 ; $CD33 POP HL ; $CD34 POP BC ; $CD35 DJNZ $CD0C ; $CD37 JP $CCD0 ; ; Routine at CD3A ; ; Used by the routine at #R$CD0C. @label=find_fg_objs c$CD3A DEC B ; $CD3B PUSH IY ; $CD3D PUSH DE ; $CD3E POP IY ; ; Routine at CD40 ; ; Used by the routines at #R$CDCA and #R$CDFB. @label=next_fg_obj c$CD40 LD A,(HL) ; $CD41 AND $07 ; $CD43 INC A ; $CD44 LD C,A ; $CD45 LD A,(HL) ; $CD46 INC HL ; $CD47 DEC B ; $CD48 LD D,(HL) ; $CD49 INC HL ; $CD4A PUSH HL ; $CD4B RRCA ; $CD4C RRCA ; $CD4D AND $3E ; {'>' $CD4F JP Z,$CE00 ; } $CD52 CP $3E ; {'>' $CD54 JP Z,$CDF0 ; $CD57 LD HL,($5B20) ; $CD5A CALL $CE06 ; $CD5D LD A,(HL) ; $CD5E INC HL ; $CD5F LD H,(HL) ; $CD60 LD L,A ; } ; Routine at CD61 ; ; Used by the routine at #R$CDCA. @label=next_fg_obj_in_count c$CD61 PUSH HL ; ; Routine at CD62 ; ; Used by the routine at #R$CDCA. @label=next_fg_obj_sprite c$CD62 LD A,(HL) ; $CD63 INC HL ; $CD64 LD (IY+$00),A ; $CD67 LD A,(HL) ; $CD68 INC HL ; $CD69 LD (IY+$04),A ; $CD6C LD A,(HL) ; $CD6D INC HL ; $CD6E LD (IY+$05),A ; $CD71 LD A,(HL) ; $CD72 INC HL ; $CD73 LD (IY+$06),A ; $CD76 LD A,(HL) ; $CD77 INC HL ; $CD78 LD (IY+$07),A ; $CD7B LD A,(IX+$08) ; $CD7E LD (IY+$08),A ; $CD81 LD A,($5B19) ; $CD84 RLCA ; $CD85 RLCA ; $CD86 RLCA ; $CD87 AND $08 ; $CD89 LD E,A ; $CD8A LD A,D ; $CD8B RLCA ; $CD8C RLCA ; $CD8D RLCA ; $CD8E RLCA ; $CD8F AND $70 ; {'p' $CD91 ADD A,E ; } $CD92 ADD A,$48 ; {'H' $CD94 LD (IY+$01),A ; $CD97 LD A,($5B19) ; $CD9A RLCA ; $CD9B RLCA ; $CD9C AND $08 ; $CD9E LD E,A ; $CD9F LD A,D ; $CDA0 RLCA ; } $CDA1 AND $70 ; {'p' $CDA3 ADD A,E ; } $CDA4 ADD A,$48 ; {'H' $CDA6 LD (IY+$02),A ; $CDA9 LD A,D ; $CDAA RLCA ; $CDAB RLCA ; $CDAC AND $03 ; $CDAE ADD A,A ; $CDAF ADD A,A ; $CDB0 LD E,A ; $CDB1 ADD A,A ; $CDB2 ADD A,E ; $CDB3 LD E,A ; $CDB4 LD A,($5B19) ; $CDB7 ADD A,E ; } $CDB8 AND $FC ; {'ü' $CDBA LD E,A ; $CDBB LD A,($5B0E) ; $CDBE ADD A,E ; $CDBF LD (IY+$03),A ; $CDC2 PUSH BC ; $CDC3 LD BC,$0009 ; $CDC6 ADD IY,BC ; $CDC8 LD B,$17 ; } ; Routine at CDCA @label=loc_CDCA c$CDCA LD (IY+$00),$00 ; $CDCE INC IY ; $CDD0 DJNZ $CDCA ; $CDD2 POP BC ; $CDD3 LD A,(HL) ; $CDD4 AND A ; $CDD5 JR NZ,$CD62 ; $CDD7 POP DE ; $CDD8 POP HL ; $CDD9 DEC B ; $CDDA JR Z,$CDE8 ; $CDDC DEC C ; $CDDD JP Z,$CD40 ; $CDE0 LD A,(HL) ; $CDE1 INC HL ; $CDE2 PUSH HL ; $CDE3 EX DE,HL ; $CDE4 LD D,A ; $CDE5 JP $CD61 ; ; Routine at CDE8 ; ; Used by the routine at #R$CDCA. @label=loc_CDE8 c$CDE8 PUSH IY ; $CDEA POP DE ; $CDEB POP IY ; $CDED JP $CCD0 ; ; Routine at CDF0 ; ; Used by the routine at #R$CD40. @label=loc_CDF0 c$CDF0 LD HL,($5B20) ; $CDF3 LD A,$40 ; {'@' $CDF5 CALL $CE06 ; $CDF8 LD ($5B20),HL ; } ; Routine at CDFB ; ; Used by the routine at #R$CE00. @label=loc_CDFB c$CDFB DEC B ; $CDFC POP HL ; $CDFD JP $CD40 ; ; Routine at CE00 ; ; Used by the routine at #R$CD40. @label=loc_CE00 c$CE00 LD A,D ; $CE01 LD ($5B19),A ; $CE04 JR $CDFB ; ; Routine at CE06 ; ; Used by the routines at #R$A7B9, #R$AA15, #R$AC96, #R$ACD6, #R$ADB0, #R$B0E7, #R$B4C5, #R$B690, #R$C1BD, #R$CCBD, ; #R$CCDE, #R$CD40, #R$CDF0, #R$D174 and #R$D19C. @label=add_HL_A c$CE06 ADD A,L ; $CE07 LD L,A ; $CE08 LD A,H ; $CE09 ADC A,$00 ; $CE0B LD H,A ; $CE0C RET ; ; Routine at CE0D ; ; Used by the routine at #R$D174. @label=HL_equals_DE_x_A c$CE0D PUSH BC ; $CE0E LD HL,$0000 ; $CE11 LD B,$08 ; ; Routine at CE13 ; ; Used by the routine at #R$CE18. @label=loc_CE13 c$CE13 ADD HL,HL ; $CE14 RLCA ; $CE15 JR NC,$CE18 ; $CE17 ADD HL,DE ; ; Routine at CE18 ; ; Used by the routine at #R$CE13. @label=loc_CE18 c$CE18 DJNZ $CE13 ; $CE1A POP BC ; $CE1B RET ; ; Routine at CE1C ; ; Used by the routines at #R$AC6B, #R$AEA4, #R$AEF7, #R$BE60, #R$CCD0 and #R$CD20. @label=zero_DE c$CE1C XOR A ; ; Routine at CE1D ; ; Used by the routine at #R$A749. @label=fill_DE c$CE1D LD (DE),A ; $CE1E INC DE ; $CE1F DJNZ $CE1D ; $CE21 RET ; ; Routine at CE22 ; ; Used by the routine at #R$A72E. @label=audio_CE22 c$CE22 LD A,$7E ; {'~' $CE24 CALL $B759 ; $CE27 BIT 0,A ; $CE29 RET Z ; $CE2A AND $1E ; $CE2C RET NZ ; } ; Routine at CE2D @label=loc_CE2D c$CE2D LD A,$7E ; {'~' $CE2F CALL $B759 ; $CE32 BIT 0,A ; $CE34 JR NZ,$CE2D ; $CE36 CALL $B6B6 ; } ; Routine at CE39 @label=loc_CE39 c$CE39 LD A,$7E ; {'~' $CE3B CALL $B759 ; $CE3E BIT 0,A ; $CE40 JR Z,$CE39 ; } ; Routine at CE42 @label=loc_CE42 c$CE42 LD A,$7E ; {'~' $CE44 CALL $B759 ; $CE47 BIT 0,A ; $CE49 JR NZ,$CE42 ; $CE4B JP $B6B6 ; } ; Routine at CE4E ; ; Used by the routine at #R$B7AE. @label=clr_graphic_objs_tbl c$CE4E LD HL,$5B88 ; $CE51 LD BC,$0700 ; $CE54 JR $CE56 ; ; Routine at CE56 ; ; Used by the routines at #R$A631, #R$A647, #R$CE4E and #R$CE60. @label=clr_mem c$CE56 LD E,$00 ; ; Routine at CE58 ; ; Used by the routines at #R$CE6A and #R$CE7B. @label=fill_mem c$CE58 LD (HL),E ; $CE59 INC HL ; $CE5A DEC BC ; $CE5B LD A,B ; $CE5C OR C ; $CE5D JR NZ,$CE58 ; $CE5F RET ; ; clear_scrn ; ; Used by the routine at #R$CE73. @label=loc_CE60 c$CE60 LD HL,$4000 ; $CE63 LD BC,$1800 ; $CE66 JR $CE56 ; ; Routine at CE68 ; ; Used by the routines at #R$B7AE and #R$CE73. @label=clr_attr c$CE68 LD A,$42 ; 'B' ; Routine at CE6A ; ; Used by the routine at #R$A749. @label=fill_attr c$CE6A LD E,A ; $CE6B LD HL,$5800 ; $CE6E LD BC,$0300 ; $CE71 JR $CE58 ; ; Routine at CE73 ; ; Used by the routines at #R$A650, #R$B76B and #R$B8A9. ; ; FUNCTION CHUNK AT RAM:CE60 SIZE 00000008 BYTES @label=clear_scrn c$CE73 XOR A ; $CE74 OUT ($FE),A ; $CE76 CALL $CE68 ; $CE79 JR $CE60 ; ; Routine at CE7B ; ; Used by the routines at #R$B76B, #R$B7AE, #R$B8A9, #R$BA87 and #R$CAAB. @label=clear_scrn_buffer c$CE7B LD BC,$1800 ; $CE7E LD HL,$D200 ; $CE81 LD E,$00 ; $CE83 JR $CE58 ; ; Routine at CE85 ; ; Used by the routines at #R$A724, #R$B76B, #R$B7AE and #R$BC31. @label=update_screen c$CE85 LD HL,$D200 ; $CE88 LD DE,$57E0 ; $CE8B LD BC,$C020 ; ; Routine at CE8E ; ; Used by the routine at #R$CEA6. @label=loc_CE8E c$CE8E PUSH BC ; $CE8F PUSH DE ; $CE90 LD B,$00 ; $CE92 LDIR ; $CE94 POP DE ; $CE95 DEC D ; $CE96 LD A,D ; $CE97 CPL ; $CE98 AND $07 ; $CE9A JR NZ,$CEA6 ; $CE9C LD A,E ; $CE9D SUB $20 ; {' ' $CE9F LD E,A ; $CEA0 JR C,$CEA6 ; $CEA2 LD A,D ; $CEA3 ADD A,$08 ; $CEA5 LD D,A ; } ; Routine at CEA6 ; ; Used by the routine at #R$CE8E. @label=loc_CEA6 c$CEA6 POP BC ; $CEA7 DEC B ; $CEA8 JR NZ,$CE8E ; $CEAA RET ; ; Routine at CEAB ; ; Used by the routine at #R$A6DC. @label=render_dynamic_objects c$CEAB XOR A ; $CEAC LD ($5B08),A ; $CEAF PUSH IX ; $CEB1 LD A,($5B17) ; $CEB4 AND A ; $CEB5 JP NZ,$CF5F ; $CEB8 LD HL,$C745 ; $CEBB LD ($5B2B),HL ; ; Routine at CEBE ; ; Used by the routines at #R$CF28 and #R$CF38. @label=wipe_next_object c$CEBE LD HL,($5B2B) ; $CEC1 LD A,(HL) ; $CEC2 INC HL ; $CEC3 LD ($5B2B),HL ; $CEC6 CP $FF ; $CEC8 JP Z,$CF5F ; $CECB CALL $CC96 ; $CECE PUSH HL ; $CECF POP IX ; $CED1 BIT 5,(IX+$07) ; $CED5 JR Z,$CEBE ; $CED7 RES 5,(IX+$07) ; $CEDB LD A,(IX+$1A) ; $CEDE SUB (IX+$1E) ; $CEE1 JP C,$CF55 ; $CEE4 LD C,(IX+$1E) ; ; Routine at CEE7 ; ; Used by the routine at #R$CF55. @label=loc_CEE7 c$CEE7 LD A,(IX+$1E) ; $CEEA RRCA ; $CEEB RRCA ; $CEEC RRCA ; $CEED AND $1F ; $CEEF ADD A,(IX+$1C) ; $CEF2 LD E,A ; $CEF3 LD A,(IX+$1A) ; $CEF6 RRCA ; $CEF7 RRCA ; $CEF8 RRCA ; $CEF9 AND $1F ; $CEFB ADD A,(IX+$18) ; $CEFE CP E ; $CEFF JR C,$CF02 ; $CF01 LD E,A ; ; Routine at CF02 ; ; Used by the routine at #R$CEE7. @label=loc_CF02 c$CF02 LD A,C ; $CF03 RRCA ; $CF04 RRCA ; $CF05 RRCA ; $CF06 AND $1F ; $CF08 LD B,A ; $CF09 LD A,E ; $CF0A SUB B ; $CF0B LD H,A ; $CF0C LD A,(IX+$1B) ; $CF0F SUB (IX+$1F) ; $CF12 JR C,$CF5A ; $CF14 LD B,(IX+$1F) ; ; Routine at CF17 ; ; Used by the routine at #R$CF5A. @label=loc_CF17 c$CF17 LD A,(IX+$1F) ; $CF1A ADD A,(IX+$1D) ; $CF1D LD E,A ; $CF1E LD A,(IX+$1B) ; $CF21 ADD A,(IX+$19) ; $CF24 CP E ; $CF25 JR NC,$CF28 ; $CF27 LD A,E ; ; Routine at CF28 ; ; Used by the routine at #R$CF17. @label=loc_CF28 c$CF28 SUB B ; $CF29 LD L,A ; $CF2A LD A,B ; $CF2B CP $C0 ; {'À' $CF2D JR NC,$CEBE ; $CF2F ADD A,L ; } $CF30 SUB $C0 ; {'À' $CF32 JR C,$CF38 ; $CF34 NEG ; $CF36 ADD A,L ; $CF37 LD L,A ; } ; Routine at CF38 ; ; Used by the routine at #R$CF28. @label=loc_CF38 c$CF38 CALL $D135 ; $CF3B CALL $D120 ; $CF3E LD A,L ; $CF3F LD L,C ; $CF40 LD C,A ; $CF41 LD A,H ; $CF42 LD H,B ; $CF43 LD B,A ; $CF44 LD A,($5B08) ; $CF47 INC A ; $CF48 LD ($5B08),A ; $CF4B PUSH BC ; $CF4C PUSH DE ; $CF4D PUSH HL ; $CF4E XOR A ; $CF4F CALL $BF83 ; $CF52 JP $CEBE ; ; Routine at CF55 ; ; Used by the routine at #R$CEBE. @label=loc_CF55 c$CF55 LD C,(IX+$1A) ; $CF58 JR $CEE7 ; ; Routine at CF5A ; ; Used by the routine at #R$CF02. @label=loc_CF5A c$CF5A LD B,(IX+$1B) ; $CF5D JR $CF17 ; ; Routine at CF5F ; ; Used by the routines at #R$CEAB and #R$CEBE. @label=loc_CF5F c$CF5F CALL $C785 ; $CF62 CALL $BC9D ; $CF65 LD HL,$5B08 ; $CF68 LD A,($5B1E) ; $CF6B ADD A,(HL) ; $CF6C LD ($5B1E),A ; ; Routine at CF6F @label=loc_CF6F c$CF6F LD HL,$5B08 ; $CF72 LD A,(HL) ; $CF73 AND A ; $CF74 JR Z,$CF82 ; $CF76 DEC (HL) ; $CF77 POP HL ; $CF78 POP DE ; $CF79 POP BC ; $CF7A LD A,B ; $CF7B LD B,C ; $CF7C LD C,A ; $CF7D CALL $CF85 ; $CF80 JR $CF6F ; ; Routine at CF82 ; ; Used by the routine at #R$CF6F. @label=loc_CF82 c$CF82 POP IX ; $CF84 RET ; ; Routine at CF85 ; ; Used by the routines at #R$AD8B, #R$BCF2, #R$BF2F, #R$CF6F and #R$CFA3. @label=blit_to_screen c$CF85 PUSH BC ; $CF86 PUSH DE ; $CF87 PUSH HL ; $CF88 LD B,$00 ; $CF8A LDIR ; $CF8C POP HL ; $CF8D LD DE,$0020 ; {' ' $CF90 ADD HL,DE ; $CF91 POP DE ; $CF92 DEC D ; $CF93 LD A,D ; $CF94 CPL ; $CF95 AND $07 ; $CF97 JR NZ,$CFA3 ; $CF99 LD A,E ; } $CF9A SUB $20 ; {' ' $CF9C LD E,A ; $CF9D JR C,$CFA3 ; $CF9F LD A,D ; $CFA0 ADD A,$08 ; $CFA2 LD D,A ; } ; Routine at CFA3 ; ; Used by the routine at #R$CF85. @label=loc_CFA3 c$CFA3 POP BC ; $CFA4 DJNZ $CF85 ; $CFA6 RET ; ; Routine at CFA7 ; ; Used by the routine at #R$A650. @label=build_lookup_tbls c$CFA7 LD L,$00 ; ; Routine at CFA9 ; ; Used by the routine at #R$CFB0. @label=loc_CFA9 c$CFA9 LD D,$00 ; $CFAB LD E,L ; $CFAC LD H,$FF ; $CFAE LD B,$07 ; ; Routine at CFB0 @label=loc_CFB0 c$CFB0 SLA E ; $CFB2 RL D ; $CFB4 LD A,E ; $CFB5 CPL ; $CFB6 LD (HL),A ; $CFB7 DEC H ; $CFB8 LD A,D ; $CFB9 CPL ; $CFBA LD (HL),A ; $CFBB DEC H ; $CFBC DJNZ $CFB0 ; $CFBE INC L ; $CFBF JR NZ,$CFA9 ; $CFC1 LD HL,$F100 ; ; Routine at CFC4 ; ; Used by the routine at #R$CFC7. @label=loc_CFC4 c$CFC4 LD D,L ; $CFC5 LD B,$08 ; ; Routine at CFC7 @label=loc_CFC7 c$CFC7 SRL D ; $CFC9 RL E ; $CFCB DJNZ $CFC7 ; $CFCD LD (HL),E ; $CFCE INC L ; $CFCF JR NZ,$CFC4 ; $CFD1 RET ; ; Routine at CFD2 ; ; Used by the routines at #R$AE8A, #R$C63D and #R$D01F. ; ; Identical to Knight Lore with prelude (up to ret NZ) and sub 104->40 @label=calc_pixel_XY c$CFD2 LD A,($5B24) ; $CFD5 AND A ; $CFD6 SCF ; $CFD7 RET NZ ; $CFD8 LD A,(IX+$01) ; X $CFDB ADD A,(IX+$02) ; {add Y $CFDE SUB $80 ; } $CFE0 ADD A,(IX+$12) ; add pixel_x_adj $CFE3 LD (IX+$1A),A ; pixel X $CFE6 LD A,(IX+$02) ; Y $CFE9 SUB (IX+$01) ; {subtract X $CFEC ADD A,$80 ; $CFEE SRL A ; } $CFF0 ADD A,(IX+$03) ; {add Z $CFF3 SUB $28 ; } $CFF5 ADD A,(IX+$13) ; add pixel_y_adj $CFF8 LD (IX+$1B),A ; pixel Y $CFFB CP $C0 ; {bottom line of screen? $CFFD RET ; } ; Routine at CFFE ; ; Used by the routines at #R$C63D and #R$D027. @label=flip_sprite c$CFFE LD L,(IX+$00) ; $D001 LD H,$00 ; $D003 ADD HL,HL ; $D004 LD BC,$7827 ; $D007 ADD HL,BC ; $D008 LD E,(HL) ; $D009 INC HL ; $D00A LD D,(HL) ; $D00B LD A,(DE) ; $D00C AND A ; $D00D JP NZ,$D174 ; $D010 INC SP ; $D011 INC SP ; $D012 RET ; ; Routine at D013 ; ; Used by the routine at #R$C8D8. @label=loc_D013 c$D013 LD A,(IX+$00) ; $D016 CP $01 ; $D018 JR NZ,$D01F ; $D01A LD (IX+$00),$00 ; $D01E RET ; ; Routine at D01F ; ; Used by the routine at #R$D013. @label=loc_D01F c$D01F RES 4,(IX+$07) ; $D023 CALL $CFD2 ; $D026 RET NC ; ; Routine at D027 ; ; Used by the routines at #R$BC56, #R$BCB6 and #R$CB06. @label=print_sprite c$D027 CALL $CFFE ; $D02A LD A,(IX+$1A) ; $D02D AND $07 ; $D02F JR Z,$D07E ; $D031 RLCA ; $D032 AND $0E ; $D034 OR $F0 ; {'ð' $D036 LD H,A ; $D037 LD A,(DE) ; $D038 INC DE ; $D039 AND $07 ; $D03B INC A ; $D03C LD B,A ; $D03D LD (IX+$18),A ; $D040 DEC A ; $D041 AND $07 ; $D043 ADD A,A ; $D044 ADD A,A ; $D045 ADD A,A ; $D046 ADD A,A ; $D047 NEG ; } $D049 ADD A,$50 ; 'P' ; Routine at D04B ; ; Used by the routine at #R$D07E. @label=loc_D04B c$D04B LD ($D0BC),A ; $D04E LD A,B ; $D04F CPL ; $D050 ADD A,$22 ; {'"' $D052 LD ($D110),A ; $D055 LD A,(DE) ; $D056 INC DE ; $D057 LD (IX+$19),A ; $D05A ADD A,(IX+$1B) ; } $D05D SUB $C0 ; {'À' $D05F JR C,$D069 ; $D061 NEG ; $D063 ADD A,(IX+$19) ; $D066 LD (IX+$19),A ; } ; Routine at D069 ; ; Used by the routine at #R$D04B. @label=loc_D069 c$D069 LD C,(IX+$1A) ; $D06C LD B,(IX+$1B) ; $D06F CALL $D120 ; $D072 LD ($5B09),SP ; $D076 EX DE,HL ; $D077 LD SP,HL ; $D078 EX DE,HL ; $D079 LD A,(IX+$19) ; $D07C JR $D0B9 ; ; Routine at D07E ; ; Used by the routine at #R$D027. @label=loc_D07E c$D07E LD A,(DE) ; $D07F INC DE ; $D080 AND $0F ; $D082 LD (IX+$18),A ; $D085 LD B,A ; $D086 ADD A,A ; $D087 ADD A,A ; $D088 ADD A,A ; $D089 NEG ; $D08B SUB $06 ; $D08D JR $D04B ; ; Routine at D08F c$D08F POP DE ; $D090 LD A,(BC) ; $D091 CPL ; $D092 OR E ; $D093 CPL ; $D094 OR D ; $D095 LD (BC),A ; $D096 INC BC ; $D097 POP DE ; $D098 LD A,(BC) ; $D099 CPL ; $D09A OR E ; $D09B CPL ; $D09C OR D ; $D09D LD (BC),A ; $D09E INC BC ; ; This entry point is used by the routine at #R$D0BB. ; ; Used by the routine at #R$D0BB. c$D09F POP DE ; $D0A0 LD A,(BC) ; $D0A1 CPL ; $D0A2 OR E ; $D0A3 CPL ; $D0A4 OR D ; $D0A5 LD (BC),A ; $D0A6 INC BC ; $D0A7 POP DE ; $D0A8 LD A,(BC) ; $D0A9 CPL ; $D0AA OR E ; $D0AB CPL ; $D0AC OR D ; $D0AD LD (BC),A ; $D0AE INC BC ; $D0AF POP DE ; $D0B0 LD A,(BC) ; $D0B1 CPL ; $D0B2 OR E ; $D0B3 CPL ; $D0B4 OR D ; $D0B5 LD (BC),A ; $D0B6 JP $D10E ; ; Routine at D0B9 ; ; Used by the routines at #R$D069 and #R$D10F. @label=loc_D0B9 c$D0B9 EX AF,AF' ; $D0BA LD A,(BC) ; ; Routine at D0BB @label=loc_D0BB c$D0BB JR $D09F ; $D0BD POP DE ; $D0BE LD L,E ; $D0BF AND (HL) ; $D0C0 LD L,D ; $D0C1 XOR (HL) ; $D0C2 CPL ; $D0C3 LD (BC),A ; $D0C4 INC BC ; $D0C5 INC H ; $D0C6 LD L,E ; $D0C7 LD A,(BC) ; $D0C8 AND (HL) ; $D0C9 LD L,D ; $D0CA XOR (HL) ; $D0CB CPL ; $D0CC DEC H ; $D0CD POP DE ; $D0CE LD L,E ; $D0CF AND (HL) ; $D0D0 LD L,D ; $D0D1 XOR (HL) ; $D0D2 CPL ; $D0D3 LD (BC),A ; $D0D4 INC BC ; $D0D5 INC H ; $D0D6 LD L,E ; $D0D7 LD A,(BC) ; $D0D8 AND (HL) ; $D0D9 LD L,D ; $D0DA XOR (HL) ; $D0DB CPL ; $D0DC DEC H ; $D0DD POP DE ; $D0DE LD L,E ; $D0DF AND (HL) ; $D0E0 LD L,D ; $D0E1 XOR (HL) ; $D0E2 CPL ; $D0E3 LD (BC),A ; $D0E4 INC BC ; $D0E5 INC H ; $D0E6 LD L,E ; $D0E7 LD A,(BC) ; $D0E8 AND (HL) ; $D0E9 LD L,D ; $D0EA XOR (HL) ; $D0EB CPL ; $D0EC DEC H ; $D0ED POP DE ; $D0EE LD L,E ; $D0EF AND (HL) ; $D0F0 LD L,D ; $D0F1 XOR (HL) ; $D0F2 CPL ; $D0F3 LD (BC),A ; $D0F4 INC BC ; $D0F5 INC H ; $D0F6 LD L,E ; $D0F7 LD A,(BC) ; $D0F8 AND (HL) ; $D0F9 LD L,D ; $D0FA XOR (HL) ; $D0FB CPL ; $D0FC DEC H ; $D0FD POP DE ; $D0FE LD L,E ; $D0FF AND (HL) ; $D100 LD L,D ; $D101 XOR (HL) ; $D102 CPL ; $D103 LD (BC),A ; $D104 INC BC ; $D105 INC H ; $D106 LD L,E ; $D107 LD A,(BC) ; $D108 AND (HL) ; $D109 LD L,D ; $D10A XOR (HL) ; $D10B CPL ; $D10C DEC H ; $D10D LD (BC),A ; ; Routine at D10E ; ; Used by the routine at #R$D07E. @label=loc_D10E c$D10E LD A,C ; ; Routine at D10F @label=loc_D10F c$D10F ADD A,$1E ; $D111 LD C,A ; $D112 LD A,B ; $D113 ADC A,$00 ; $D115 LD B,A ; $D116 EX AF,AF' ; $D117 DEC A ; $D118 JP NZ,$D0B9 ; $D11B LD SP,($5B09) ; $D11F RET ; ; Routine at D120 ; ; Used by the routines at #R$AD8B, #R$BB9D, #R$BBB1, #R$BCB6, #R$BCF2, #R$BF2F, #R$CF38 and #R$D069. @label=calc_screen_buffer_addr c$D120 PUSH HL ; $D121 SRL B ; $D123 RR C ; $D125 SRL B ; $D127 RR C ; $D129 SRL B ; $D12B RR C ; $D12D LD HL,$D200 ; $D130 ADD HL,BC ; $D131 LD C,L ; $D132 LD B,H ; $D133 POP HL ; $D134 RET ; ; Routine at D135 ; ; Used by the routines at #R$AD8B, #R$BCF2, #R$BF2F and #R$CF38. @label=BC_to_Attr_In_DE c$D135 LD A,C ; $D136 RRCA ; $D137 RRCA ; $D138 RRCA ; $D139 AND $1F ; $D13B LD E,A ; $D13C LD A,B ; $D13D CPL ; $D13E AND $07 ; $D140 EX AF,AF' ; $D141 LD A,B ; $D142 CPL ; $D143 RLCA ; $D144 RLCA ; $D145 AND $E0 ; {'à' $D147 OR E ; $D148 LD E,A ; $D149 LD A,B ; $D14A CPL ; $D14B RRCA ; $D14C RRCA ; $D14D RRCA ; $D14E AND $18 ; $D150 LD D,A ; $D151 EX AF,AF' ; $D152 OR D ; } $D153 ADD A,$38 ; {'8' $D155 LD D,A ; $D156 RET ; } ; Routine at D157 ; ; Used by the routines at #R$AC34, #R$BBC2 and #R$BCF2. @label=calc_attrib_addr c$D157 PUSH HL ; $D158 LD A,H ; $D159 CPL ; $D15A LD H,A ; $D15B SRL H ; $D15D SRL H ; $D15F SRL H ; $D161 SRL H ; $D163 RR L ; $D165 SRL H ; $D167 RR L ; $D169 SRL H ; $D16B RR L ; $D16D LD DE,$5700 ; $D170 ADD HL,DE ; $D171 EX DE,HL ; $D172 POP HL ; $D173 RET ; ; flip_sprite ; ; Used by the routine at #R$CFFE. @label=vflip_sprite_data c$D174 PUSH DE ; $D175 LD A,(DE) ; $D176 XOR (IX+$07) ; $D179 AND $80 ; {'€' $D17B JR Z,$D1AF ; $D17D LD A,(DE) ; } $D17E XOR $80 ; {'€' $D180 LD (DE),A ; $D181 RLCA ; } $D182 AND $7E ; {'~' $D184 LD B,A ; $D185 INC DE ; $D186 LD A,(DE) ; $D187 LD C,A ; $D188 INC DE ; $D189 PUSH DE ; $D18A LD E,B ; $D18B LD D,$00 ; $D18D CALL $CE0D ; $D190 POP DE ; $D191 ADD HL,DE ; $D192 EX DE,HL ; $D193 LD A,B ; $D194 CALL $CE06 ; $D197 DEC DE ; $D198 DEC HL ; $D199 SRL C ; } ; Routine at D19B ; ; Used by the routine at #R$D19C. @label=loc_D19B c$D19B PUSH BC ; ; Routine at D19C @label=vflip_sprite_line_pair c$D19C LD A,(DE) ; $D19D LD C,(HL) ; $D19E LD (HL),A ; $D19F LD A,C ; $D1A0 LD (DE),A ; $D1A1 DEC HL ; $D1A2 DEC DE ; $D1A3 DJNZ $D19C ; $D1A5 POP BC ; $D1A6 LD A,B ; $D1A7 SLA A ; $D1A9 CALL $CE06 ; $D1AC DEC C ; $D1AD JR NZ,$D19B ; ; Routine at D1AF ; ; Used by the routine at #R$D174. @label=loc_D1AF c$D1AF POP DE ; $D1B0 PUSH DE ; $D1B1 LD A,(DE) ; $D1B2 XOR (IX+$07) ; $D1B5 AND $40 ; {'@' $D1B7 JR Z,$D1E9 ; $D1B9 LD A,(DE) ; } $D1BA XOR $40 ; {'@' $D1BC LD (DE),A ; $D1BD AND $0F ; $D1BF LD B,A ; $D1C0 LD C,A ; $D1C1 INC DE ; $D1C2 LD A,(DE) ; $D1C3 EX AF,AF' ; $D1C4 INC DE ; $D1C5 EX DE,HL ; $D1C6 PUSH HL ; $D1C7 EXX ; $D1C8 POP HL ; } $D1C9 LD B,$F1 ; {'ñ' $D1CB EXX ; } ; Routine at D1CC ; ; Used by the routine at #R$D1DA. @label=loc_D1CC c$D1CC EXX ; $D1CD LD C,(HL) ; $D1CE LD A,(BC) ; $D1CF LD E,A ; $D1D0 INC HL ; $D1D1 LD C,(HL) ; $D1D2 LD A,(BC) ; $D1D3 LD D,A ; $D1D4 INC HL ; $D1D5 PUSH DE ; $D1D6 EXX ; $D1D7 DJNZ $D1CC ; $D1D9 LD B,C ; ; Routine at D1DA @label=loc_D1DA c$D1DA POP DE ; $D1DB LD (HL),E ; $D1DC INC HL ; $D1DD LD (HL),D ; $D1DE INC HL ; $D1DF DJNZ $D1DA ; $D1E1 EX AF,AF' ; $D1E2 DEC A ; $D1E3 JR Z,$D1E9 ; $D1E5 EX AF,AF' ; $D1E6 LD B,C ; $D1E7 JR $D1CC ; ; Routine at D1E9 ; ; Used by the routines at #R$D1AF and #R$D1DA. @label=loc_D1E9 c$D1E9 POP DE ; $D1EA RET ;