4000: Screen
loading
4000 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Pixels
4020 DEFB $00,$00,$00,$00,$07,$80,$00,$04,$00,$00,$0C,$70,$00,$D2,$C0,$00,$02,$00,$00,$00,$B1,$60,$00,$1E,$00,$F8,$0B,$00,$00,$80,$00,$00
4040 DEFB $00,$00,$00,$00,$47,$E0,$00,$70,$00,$00,$78,$3C,$00,$7F,$C0,$00,$FF,$F8,$00,$00,$F0,$3F,$00,$0C,$00,$C7,$FC,$00,$FF,$80,$00,$00
4060 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4080 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
40A0 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,$19,$00,$00,$00,$00,$00,$00
40C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$BF,$F0,$07,$FF,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$BC,$C0,$00,$00,$00,$00,$00,$3F
40E0 DEFB $00,$00,$00,$00,$07,$FF,$DF,$FF,$FF,$F8,$0F,$FF,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$C2,$00,$00,$00,$00,$00,$3F,$BF
4100 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4120 DEFB $00,$00,$00,$00,$0F,$D0,$00,$0F,$E0,$00,$1C,$F8,$00,$FF,$F0,$00,$1F,$80,$00,$00,$7F,$F4,$00,$3E,$00,$F0,$1F,$00,$FF,$F8,$00,$00
4140 DEFB $00,$00,$00,$00,$C3,$E0,$00,$38,$00,$00,$70,$18,$00,$AB,$70,$00,$7F,$F0,$00,$00,$70,$1F,$00,$0E,$00,$FF,$FC,$00,$F8,$00,$00,$00
4160 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4180 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
41A0 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,$FF,$00,$00,$00,$00,$00,$00
41C0 DEFB $00,$00,$00,$00,$00,$00,$00,$7F,$FF,$FF,$F8,$7F,$FE,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$71,$80,$00,$00,$00,$00,$00,$FF
41E0 DEFB $00,$00,$00,$00,$0F,$FF,$BF,$FF,$FF,$E0,$03,$FF,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$C2,$00,$00,$00,$00,$00,$3C,$7F
4200 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4220 DEFB $00,$00,$00,$00,$7F,$F8,$00,$0F,$F0,$00,$18,$DC,$00,$76,$F0,$00,$3F,$C0,$00,$00,$7F,$FE,$00,$0F,$00,$78,$1E,$00,$FF,$F0,$00,$00
4240 DEFB $00,$00,$00,$00,$61,$F8,$00,$7C,$0C,$00,$FC,$38,$00,$F0,$78,$00,$7E,$78,$00,$00,$78,$3F,$00,$0E,$00,$FF,$F8,$00,$60,$00,$00,$00
4260 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4280 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,$03,$F0,$00,$00,$00,$00,$00,$00
42A0 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,$03,$36,$00,$00,$00,$00,$00,$00
42C0 DEFB $00,$00,$00,$00,$00,$00,$1F,$FF,$FF,$FF,$FF,$FF,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$71,$00,$00,$00,$00,$00,$01,$FF
42E0 DEFB $00,$00,$00,$00,$1F,$FF,$7B,$FF,$FE,$80,$01,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$09,$E6,$00,$00,$00,$00,$00,$73,$FF
4300 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4320 DEFB $00,$00,$00,$00,$7F,$FF,$00,$7F,$F8,$00,$78,$FC,$00,$70,$FC,$00,$3F,$F0,$00,$00,$7F,$FE,$00,$1E,$00,$7C,$3E,$00,$67,$F0,$00,$00
4340 DEFB $00,$00,$00,$00,$7F,$FC,$00,$7F,$74,$00,$7F,$30,$00,$F8,$7C,$00,$7A,$38,$00,$00,$70,$7F,$00,$1E,$00,$7F,$F8,$00,$70,$00,$00,$00
4360 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4380 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,$FC,$00,$00,$00,$00,$00,$00
43A0 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,$06,$66,$00,$00,$00,$00,$00,$00
43C0 DEFB $00,$00,$00,$00,$00,$00,$FF,$FF,$FF,$FF,$FF,$FF,$F8,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$F1,$00,$00,$00,$00,$00,$03,$FF
43E0 DEFB $00,$00,$00,$00,$7F,$FE,$FB,$FF,$F2,$80,$00,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$09,$FE,$00,$00,$00,$00,$00,$C7,$FF
4400 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4420 DEFB $00,$00,$00,$00,$7F,$FE,$00,$3E,$70,$00,$78,$38,$00,$F0,$F8,$00,$7D,$E0,$00,$00,$FD,$BF,$00,$0F,$00,$FE,$7F,$00,$E0,$78,$00,$00
4440 DEFB $00,$00,$00,$00,$7F,$FC,$00,$7F,$F8,$00,$7F,$F8,$00,$70,$F8,$00,$18,$78,$00,$00,$F1,$FF,$00,$0F,$00,$3F,$F0,$00,$76,$80,$00,$00
4460 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4480 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,$54,$00,$00,$00,$00,$00,$00
44A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0B,$E4,$00,$00,$00,$00,$00,$00
44C0 DEFB $00,$00,$00,$00,$00,$07,$FB,$FF,$FF,$FF,$FF,$FF,$F0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$F2,$00,$00,$00,$00,$00,$07,$FF
44E0 DEFB $00,$00,$00,$00,$FF,$FD,$F7,$FF,$FF,$00,$00,$7E,$00,$00,$00,$00,$00,$00,$00,$03,$F8,$00,$00,$09,$F9,$00,$00,$00,$00,$00,$9F,$FF
4500 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4520 DEFB $00,$00,$00,$00,$3E,$DE,$00,$78,$30,$00,$F8,$3C,$00,$F9,$E0,$00,$78,$78,$00,$00,$78,$3E,$00,$0E,$00,$FE,$3F,$00,$60,$00,$00,$00
4540 DEFB $00,$00,$00,$00,$7F,$FC,$00,$1F,$F8,$00,$3F,$FC,$00,$7C,$F0,$00,$70,$38,$00,$00,$7F,$FE,$00,$0E,$00,$1F,$F8,$00,$7F,$E0,$00,$00
4560 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4580 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,$34,$00,$00,$00,$00,$00,$00
45A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$13,$E8,$00,$00,$00,$00,$00,$03
45C0 DEFB $00,$00,$00,$00,$00,$3F,$F3,$FF,$FF,$FF,$FF,$FF,$E0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$F6,$00,$00,$00,$00,$00,$0F,$FB
45E0 DEFB $00,$00,$00,$01,$FF,$FB,$F7,$FE,$1F,$00,$00,$7E,$00,$00,$00,$00,$00,$00,$00,$1F,$FE,$00,$00,$09,$F9,$80,$00,$00,$00,$00,$FF,$FF
4600 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4620 DEFB $00,$00,$00,$00,$7E,$0E,$00,$70,$00,$00,$70,$18,$00,$7F,$E0,$00,$F8,$F8,$00,$00,$78,$3F,$00,$0E,$00,$7E,$7C,$00,$60,$00,$00,$00
4640 DEFB $00,$00,$00,$00,$7F,$F0,$00,$07,$E0,$00,$1F,$F0,$00,$7F,$E0,$00,$E0,$70,$00,$00,$7F,$FC,$00,$7F,$00,$1F,$F0,$00,$3F,$F0,$00,$00
4660 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4680 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,$1E,$00,$00,$00,$00,$00,$00
46A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$1F,$F0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$67,$30,$00,$00,$00,$00,$00,$07
46C0 DEFB $00,$00,$00,$00,$01,$FF,$EF,$FF,$FF,$FF,$FF,$FF,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$FE,$00,$00,$00,$00,$00,$0F,$E7
46E0 DEFB $00,$00,$00,$03,$FF,$CF,$FF,$F8,$03,$00,$00,$3E,$00,$00,$00,$00,$00,$00,$00,$60,$7F,$00,$00,$0F,$F9,$E0,$00,$00,$00,$03,$FF,$FF
4700 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4720 DEFB $00,$00,$00,$00,$7F,$02,$00,$E0,$00,$00,$78,$38,$00,$7F,$80,$00,$7B,$F0,$00,$00,$FC,$3F,$00,$0C,$00,$7E,$FC,$00,$6E,$00,$00,$00
4740 DEFB $00,$00,$00,$00,$1D,$98,$00,$02,$80,$00,$00,$C0,$00,$50,$40,$00,$60,$78,$00,$00,$CC,$EC,$00,$38,$00,$0A,$E0,$00,$01,$C0,$00,$00
4760 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
4780 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,$19,$00,$00,$00,$00,$00,$00
47A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$F0,$00,$7F,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$BE,$60,$00,$00,$00,$00,$00,$0F
47C0 DEFB $00,$00,$00,$00,$03,$FF,$CF,$FF,$FF,$FF,$3F,$FF,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$E2,$00,$00,$00,$00,$00,$1F,$DF
47E0 DEFB $00,$00,$00,$03,$FF,$BF,$EF,$E0,$00,$00,$00,$3C,$00,$00,$00,$00,$00,$00,$00,$8F,$0F,$80,$F0,$04,$F0,$F0,$00,$00,$00,$0F,$FF,$FF
4800 DEFB $00,$00,$00,$0F,$FF,$FF,$EF,$80,$00,$00,$00,$1C,$00,$00,$00,$00,$00,$00,$01,$FF,$C3,$0F,$FC,$04,$FE,$78,$00,$00,$01,$FF,$FF,$FF
4820 DEFB $00,$00,$00,$FF,$FF,$EE,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$58,$1F,$FE,$F3,$81,$6C,$00,$FF,$FC,$08,$C4,$FE,$1F,$00
4840 DEFB $7F,$FF,$FF,$FF,$FF,$FC,$00,$3F,$FF,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$17,$7F,$BF,$F7,$F9,$09,$F0,$00,$1F,$90,$FD,$FF,$F9,$BF
4860 DEFB $00,$00,$00,$7F,$34,$8F,$FF,$FF,$FF,$FF,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$03,$7E,$73,$C3,$FB,$CF,$BF,$FF,$FF,$FC,$B4,$E7,$FF
4880 DEFB $00,$00,$00,$00,$0F,$FF,$FF,$FF,$FE,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$7F,$E7,$F7,$BF,$DF,$BE,$00,$00,$0A,$5F,$4F,$E0
48A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$37,$F0,$00,$00,$00,$00,$00,$00,$00,$BF,$F7,$CF,$DF,$FB,$FE,$70,$00,$3D,$E0,$3C,$00
48C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1F,$EF,$80,$00,$00,$00,$01,$FF,$F8,$3B,$FF,$7E,$7F,$FF,$1B,$EF,$00,$16,$61,$E0,$00
48E0 DEFB $00,$00,$00,$3C,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$DF,$FF,$DF,$EF,$FF,$CF,$FF,$FF,$B9,$FB,$A7,$F3,$DD,$C0,$00,$1B,$F9,$00,$00
4900 DEFB $00,$00,$00,$0F,$FF,$F5,$EF,$00,$00,$00,$00,$1C,$00,$00,$00,$00,$00,$00,$03,$FF,$F9,$9F,$FE,$02,$BE,$7F,$00,$00,$0F,$FF,$FF,$F3
4920 DEFB $00,$00,$00,$FF,$FF,$ED,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$47,$BE,$FF,$F0,$60,$88,$00,$1F,$FF,$3F,$CF,$FC,$77,$00
4940 DEFB $FF,$FF,$FF,$FF,$FF,$C0,$3F,$FC,$FF,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$1E,$FF,$7F,$EF,$FD,$F0,$F8,$00,$FC,$10,$F9,$FF,$CF,$D3
4960 DEFB $00,$00,$00,$1F,$EB,$3F,$FF,$FF,$FF,$FF,$80,$00,$00,$00,$00,$00,$00,$00,$00,$07,$FE,$F7,$C1,$FD,$E7,$D3,$FF,$04,$13,$F0,$BF,$FF
4980 DEFB $00,$00,$00,$00,$07,$FF,$FF,$FF,$FD,$FF,$80,$00,$00,$00,$00,$00,$00,$00,$00,$03,$7F,$E7,$F7,$9F,$EF,$BF,$00,$00,$12,$9E,$5F,$C0
49A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FB,$F0,$00,$00,$00,$00,$00,$00,$00,$DF,$F7,$CF,$DF,$FB,$F8,$F0,$00,$2D,$E0,$FC,$00
49C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$F7,$C0,$00,$00,$00,$07,$FF,$FF,$8F,$FF,$7E,$FE,$FE,$0F,$1F,$00,$16,$77,$E0,$00
49E0 DEFB $00,$00,$00,$42,$00,$78,$42,$7C,$7E,$40,$40,$00,$07,$DF,$FF,$BF,$EF,$FF,$0F,$FF,$FF,$BB,$F4,$27,$E7,$BD,$80,$00,$6F,$F9,$00,$00
4A00 DEFB $00,$00,$00,$1F,$FF,$11,$DC,$00,$00,$00,$00,$0C,$00,$00,$00,$00,$00,$00,$0F,$FF,$FF,$7F,$FF,$01,$8F,$8F,$F0,$0F,$FF,$FF,$FF,$F7
4A20 DEFB $00,$00,$00,$FF,$FF,$EB,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5E,$7D,$FD,$F0,$03,$10,$00,$00,$FF,$FF,$FF,$E1,$87,$FF
4A40 DEFB $00,$3F,$FF,$FF,$FF,$01,$FF,$FA,$FF,$FF,$80,$00,$00,$00,$00,$00,$00,$00,$7D,$FE,$FF,$CF,$FB,$3E,$FC,$FF,$04,$10,$F9,$BF,$DF,$E0
4A60 DEFB $00,$00,$00,$0F,$F4,$7F,$FF,$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$BE,$EE,$40,$FD,$F3,$E0,$C2,$04,$1F,$E3,$AF,$FF
4A80 DEFB $00,$00,$00,$00,$00,$FF,$FF,$FF,$F8,$0F,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$03,$7F,$E7,$E7,$9F,$EF,$DF,$80,$00,$17,$3C,$4F,$80
4AA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$F9,$F8,$00,$00,$00,$00,$00,$00,$00,$5F,$F7,$CF,$FF,$FD,$F3,$F0,$00,$2D,$E0,$7C,$00
4AC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$F7,$E0,$00,$00,$00,$1F,$FF,$FF,$F0,$FE,$7E,$FE,$79,$98,$7F,$00,$17,$3F,$C0,$00
4AE0 DEFB $00,$00,$00,$99,$00,$44,$42,$42,$40,$40,$40,$00,$03,$EF,$FF,$BF,$EF,$FF,$BF,$FF,$FF,$BF,$F7,$F3,$C0,$7E,$00,$00,$9F,$FF,$C0,$00
4B00 DEFB $00,$00,$00,$1F,$FF,$ED,$B8,$00,$00,$00,$00,$0C,$00,$00,$00,$00,$00,$00,$13,$FF,$FE,$F8,$0F,$C0,$CF,$C3,$FF,$FF,$FF,$FF,$FF,$27
4B20 DEFB $00,$00,$01,$FF,$FF,$E7,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$4E,$FB,$FB,$EF,$E4,$70,$00,$00,$1F,$FF,$FF,$87,$3F,$10
4B40 DEFB $00,$03,$FF,$FF,$FE,$3F,$FF,$FD,$FE,$FF,$C0,$00,$00,$00,$00,$00,$00,$00,$9D,$EF,$FF,$9F,$CF,$5C,$7E,$40,$04,$3F,$C2,$4E,$FF,$E0
4B60 DEFB $00,$00,$00,$07,$F4,$FF,$FF,$D4,$55,$FE,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$3C,$FE,$E0,$FE,$F3,$E0,$C2,$04,$72,$EF,$AF,$FF
4B80 DEFB $00,$00,$00,$00,$00,$3F,$FF,$FF,$F0,$01,$F0,$00,$00,$00,$00,$00,$00,$00,$00,$03,$7F,$E7,$E7,$DF,$F7,$FF,$80,$00,$1F,$7C,$4F,$80
4BA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$FC,$F8,$00,$00,$00,$00,$00,$00,$00,$5F,$F7,$CF,$BF,$FD,$F7,$E8,$00,$2D,$E0,$78,$00
4BC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$FB,$F0,$00,$00,$00,$FF,$FF,$FF,$FC,$FE,$FD,$FF,$37,$03,$FE,$00,$0F,$DF,$80,$00
4BE0 DEFB $00,$00,$00,$A1,$00,$42,$42,$42,$7C,$40,$40,$00,$01,$F7,$FF,$DF,$FF,$FF,$BF,$FF,$FF,$B7,$E7,$F0,$01,$FE,$00,$03,$BF,$EE,$40,$00
4C00 DEFB $00,$00,$00,$3F,$FF,$F9,$B0,$00,$00,$00,$00,$0C,$00,$00,$00,$00,$00,$00,$2C,$FF,$FD,$E0,$03,$C0,$6F,$E3,$FF,$FF,$FF,$FF,$F4,$DF
4C20 DEFB $00,$00,$03,$BF,$FF,$E7,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5D,$F7,$FB,$F0,$28,$BC,$00,$00,$00,$FF,$FF,$FB,$87,$10
4C40 DEFB $00,$00,$3C,$FF,$FC,$7F,$FF,$FF,$FC,$FF,$E0,$00,$00,$00,$00,$00,$00,$00,$9D,$FD,$FF,$80,$0F,$A2,$7F,$43,$07,$FF,$DD,$3D,$FF,$F7
4C60 DEFB $00,$00,$00,$03,$F4,$FF,$F8,$00,$00,$5C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0E,$B3,$FD,$F4,$7F,$79,$F7,$FF,$FF,$84,$CF,$7F,$FF
4C80 DEFB $00,$00,$00,$00,$00,$0F,$FF,$FF,$80,$00,$78,$00,$00,$00,$00,$00,$00,$00,$00,$03,$7F,$E7,$E7,$DF,$F7,$FF,$80,$00,$2F,$78,$9F,$80
4CA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$FE,$7C,$00,$00,$00,$00,$00,$00,$00,$3F,$F7,$DF,$BF,$FD,$EF,$D8,$00,$2D,$E0,$78,$00
4CC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FD,$F8,$00,$00,$0B,$FF,$FF,$FF,$FE,$3C,$FD,$FF,$0F,$2F,$FE,$00,$0B,$9F,$80,$00
4CE0 DEFB $00,$00,$00,$A1,$00,$42,$42,$7C,$40,$40,$40,$00,$01,$FB,$FF,$BF,$F7,$FF,$7F,$1F,$FF,$E7,$EF,$FE,$05,$FE,$00,$04,$FC,$26,$40,$00
4D00 DEFB $00,$00,$00,$7F,$FF,$F7,$70,$00,$00,$00,$00,$0C,$00,$00,$00,$00,$00,$00,$26,$7F,$FB,$80,$03,$C0,$38,$F4,$3F,$FF,$FF,$FF,$84,$BF
4D20 DEFB $00,$00,$03,$BF,$FF,$FF,$E0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3B,$EF,$E7,$E0,$13,$07,$00,$00,$00,$00,$07,$CF,$FF,$11
4D40 DEFB $00,$00,$03,$1F,$FF,$FF,$FF,$FF,$F9,$FF,$E0,$00,$00,$00,$00,$00,$00,$00,$5D,$FC,$FF,$7C,$0F,$D1,$3F,$FF,$C7,$FF,$B1,$DF,$FF,$F8
4D60 DEFB $00,$00,$00,$01,$E4,$FF,$C3,$00,$00,$10,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0E,$CB,$F9,$F2,$7F,$BC,$F8,$07,$F0,$05,$DF,$4F,$FF
4D80 DEFB $00,$00,$00,$00,$00,$00,$FF,$FC,$00,$00,$0C,$00,$00,$00,$00,$00,$00,$00,$00,$03,$7F,$F7,$E7,$DF,$F3,$FF,$80,$00,$2D,$70,$BF,$00
4DA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$3E,$00,$00,$00,$00,$00,$00,$00,$3F,$F7,$9F,$BF,$FE,$1F,$B8,$00,$2F,$E1,$F0,$00
4DC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7E,$FC,$00,$00,$77,$FF,$FF,$FF,$FF,$3D,$FD,$FE,$2C,$67,$FC,$00,$0B,$FF,$00,$00
4DE0 DEFB $00,$00,$00,$99,$00,$44,$42,$44,$40,$40,$40,$00,$00,$FB,$FF,$DF,$FB,$FF,$7E,$60,$7F,$AF,$EF,$FF,$1F,$FF,$00,$09,$F8,$36,$20,$00
4E00 DEFB $00,$00,$00,$7F,$FF,$E7,$E0,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$55,$80,$07,$30,$01,$80,$04,$3E,$26,$3F,$FF,$C8,$07,$BF
4E20 DEFB $00,$00,$03,$7F,$FF,$FF,$F0,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$27,$DF,$DF,$E0,$17,$6B,$C0,$00,$00,$00,$7F,$C3,$8F,$FF
4E40 DEFB $00,$00,$01,$F3,$F0,$FF,$FF,$FF,$FF,$FF,$E0,$00,$00,$00,$00,$00,$00,$00,$73,$F0,$FF,$78,$0F,$E8,$9F,$FF,$FF,$FF,$6F,$17,$FF,$78
4E60 DEFB $00,$00,$00,$00,$7E,$FF,$FF,$F5,$00,$1C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$E3,$F3,$F6,$3F,$BC,$78,$00,$00,$07,$5F,$7F,$FC
4E80 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$02,$0E,$20,$00,$00,$00,$00,$00,$00,$01,$BF,$F7,$EF,$DF,$FB,$FF,$80,$00,$29,$70,$9E,$00
4EA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F,$BF,$00,$00,$00,$00,$00,$00,$00,$3F,$FF,$9F,$03,$FF,$1E,$72,$00,$2E,$E1,$F0,$00
4EC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3F,$FE,$00,$03,$F7,$FF,$FF,$80,$00,$3D,$FB,$F8,$E4,$F3,$F8,$00,$0F,$FF,$00,$00
4EE0 DEFB $00,$00,$00,$42,$00,$78,$3C,$42,$7E,$7E,$7E,$00,$00,$7D,$FF,$DF,$F9,$FF,$7C,$F8,$0F,$CF,$BF,$FF,$CE,$FF,$00,$1F,$E0,$13,$20,$00
4F00 DEFB $00,$00,$00,$FF,$FF,$EE,$E0,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$59,$80,$3F,$BC,$01,$58,$03,$3F,$FC,$E8,$FF,$88,$FF,$7F
4F20 DEFB $00,$3F,$C7,$FF,$FF,$FF,$FF,$FF,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$2F,$BF,$FF,$A7,$FD,$6B,$E0,$00,$00,$03,$FF,$C7,$AF,$FF
4F40 DEFB $00,$00,$00,$FC,$F2,$47,$FF,$FF,$FF,$FF,$C0,$00,$00,$00,$00,$00,$00,$00,$01,$E0,$7F,$78,$87,$F6,$8F,$FF,$FF,$FF,$99,$5F,$FF,$7C
4F60 DEFB $00,$00,$00,$00,$3F,$7F,$FF,$FF,$95,$3E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$7F,$F3,$F7,$3F,$DE,$7C,$00,$00,$0B,$5F,$4F,$F0
4F80 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$2F,$F0,$00,$00,$00,$00,$00,$00,$01,$BF,$F7,$EF,$DF,$FB,$FF,$20,$00,$29,$F0,$7E,$00
4FA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3F,$DF,$00,$00,$00,$00,$00,$7F,$00,$2F,$FF,$3F,$7C,$00,$5D,$F7,$00,$16,$E1,$F0,$00
4FC0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1F,$FF,$C1,$DF,$EF,$FF,$F3,$FF,$FF,$FD,$FB,$E1,$F1,$EB,$F0,$00,$09,$FD,$00,$00
4FE0 DEFB $00,$00,$00,$3C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3F,$78,$EF,$FD,$F8,$7B,$FF,$E7,$DF,$BF,$FF,$F2,$7F,$00,$7F,$80,$13,$20,$00
5000 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$C0,$00,$FE,$F0,$79,$FF,$F0,$9F,$FF,$FF,$FE,$7F,$00,$7E,$00,$13,$E0,$00
5020 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$EF,$C7,$F9,$FF,$FF,$FE,$F8,$1E,$00,$00,$07,$90,$00
5040 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$9E,$60,$00,$00,$00,$00,$17,$FC,$00,$1F,$80,$00
5060 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$FE,$1F,$EF,$F7,$FD,$0C,$00,$00,$00,$00,$0F,$3F,$C0,$00,$00
5080 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$FD,$00,$00,$07,$1F,$FF,$FF,$F9,$FC,$00,$00,$C0,$00,$00,$00,$00
50A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$FF,$FF,$60,$7F,$FF,$FF,$FE,$FF,$FC,$FF,$FE,$00,$00,$00,$00,$00,$00
50C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
50E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5100 DEFB $3C,$3C,$7E,$FE,$42,$3C,$7C,$7E,$00,$18,$3C,$3C,$3C,$02,$00,$00,$00,$00,$3C,$7F,$FD,$3F,$BF,$FF,$FE,$7F,$03,$FC,$00,$0F,$90,$00
5120 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$F7,$EF,$F3,$FF,$FF,$FE,$F8,$1C,$00,$00,$09,$30,$00
5140 DEFB $00,$00,$00,$00,$00,$00,$7C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$44,$F0,$00,$00,$00,$00,$09,$C8,$00,$79,$00,$00
5160 DEFB $42,$3E,$44,$7E,$00,$7C,$3E,$3C,$42,$3C,$7C,$78,$3C,$3C,$42,$00,$0F,$FF,$E3,$EF,$FC,$7D,$27,$00,$00,$00,$00,$0F,$E3,$00,$00,$00
5180 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$FD,$00,$0F,$60,$7F,$EE,$7F,$F9,$FC,$00,$00,$C0,$00,$00,$00,$00
51A0 DEFB $00,$00,$00,$40,$3C,$3C,$78,$3E,$42,$3C,$00,$00,$00,$00,$03,$FC,$1E,$E0,$7F,$FF,$FF,$FF,$7F,$FE,$FB,$FE,$00,$00,$00,$00,$00,$00
51C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
51E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5200 DEFB $40,$42,$40,$10,$42,$42,$42,$40,$00,$28,$42,$42,$42,$00,$00,$00,$00,$00,$3D,$9F,$FD,$3F,$AF,$FF,$FE,$7F,$02,$78,$00,$0C,$90,$00
5220 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FB,$DF,$F7,$FF,$FF,$FE,$F0,$3C,$00,$00,$09,$F0,$00
5240 DEFB $00,$00,$00,$00,$00,$00,$42,$44,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$20,$F0,$00,$00,$00,$00,$06,$18,$00,$59,$00,$00
5260 DEFB $66,$08,$48,$40,$00,$42,$08,$42,$42,$42,$42,$44,$40,$42,$62,$00,$1F,$FF,$FF,$DF,$FD,$9D,$2F,$80,$00,$00,$00,$13,$3C,$00,$00,$00
5280 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$FD,$00,$1F,$F0,$FD,$EF,$FF,$F9,$FE,$00,$00,$40,$00,$00,$00,$00
52A0 DEFB $00,$00,$00,$40,$42,$42,$44,$08,$62,$42,$00,$00,$00,$00,$07,$F3,$E1,$E0,$7F,$E7,$FF,$FF,$7F,$FF,$FB,$FF,$00,$00,$00,$00,$00,$00
52C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
52E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5300 DEFB $3C,$42,$7C,$10,$42,$42,$42,$7C,$00,$08,$42,$3C,$0C,$00,$00,$00,$00,$00,$1E,$CF,$FB,$7F,$27,$FF,$FE,$7F,$02,$C0,$00,$0C,$F0,$00
5320 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7D,$BF,$C7,$FF,$FF,$FD,$C0,$3C,$70,$00,$0F,$20,$00
5340 DEFB $00,$00,$00,$00,$00,$00,$7C,$44,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$14,$F8,$00,$00,$00,$00,$03,$E0,$01,$F6,$00,$00
5360 DEFB $5A,$08,$70,$7C,$00,$42,$08,$40,$7E,$42,$42,$42,$3C,$42,$52,$00,$7F,$C0,$1F,$DF,$DE,$ED,$4F,$C0,$00,$00,$00,$3F,$30,$00,$00,$00
5380 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$FC,$00,$7F,$EF,$FF,$E7,$FF,$FD,$FF,$E0,$00,$40,$00,$00,$00,$00
53A0 DEFB $00,$00,$00,$40,$42,$42,$42,$08,$52,$40,$00,$00,$00,$00,$07,$EF,$FF,$C0,$7F,$FB,$FF,$FF,$BF,$FF,$FB,$FF,$00,$00,$00,$00,$00,$00
53C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
53E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5400 DEFB $02,$42,$40,$10,$42,$7E,$7C,$40,$00,$08,$3E,$42,$02,$00,$00,$00,$00,$00,$1F,$63,$FA,$FE,$63,$FF,$FE,$FE,$07,$C0,$00,$0F,$90,$00
5420 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3E,$7F,$C0,$FF,$FF,$FD,$C0,$3C,$18,$00,$0F,$20,$00
5440 DEFB $00,$00,$00,$00,$00,$00,$42,$44,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$E0,$03,$8E,$F8,$00,$00,$00,$00,$00,$00,$03,$E4,$00,$00
5460 DEFB $42,$08,$48,$40,$00,$7C,$08,$40,$42,$7E,$7C,$42,$02,$42,$4A,$00,$FF,$7F,$F3,$DF,$CF,$F1,$4F,$FD,$30,$00,$00,$33,$C0,$00,$00,$00
5480 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$37,$FE,$00,$7F,$F3,$FB,$F7,$FF,$FD,$FF,$F0,$00,$00,$00,$00,$00,$00
54A0 DEFB $00,$00,$00,$40,$42,$7E,$42,$08,$4A,$4E,$00,$00,$00,$00,$0F,$FF,$FE,$00,$7F,$F9,$FF,$FF,$BF,$FF,$FB,$FF,$00,$00,$00,$00,$00,$00
54C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
54E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5500 DEFB $42,$42,$40,$10,$5A,$42,$44,$40,$00,$08,$02,$42,$42,$00,$00,$00,$00,$00,$0F,$B9,$F5,$FE,$78,$FF,$C8,$FE,$0F,$80,$00,$0C,$90,$00
5520 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1E,$BF,$80,$1F,$FF,$FD,$00,$3C,$0C,$00,$0B,$E0,$00
5540 DEFB $00,$00,$00,$00,$00,$00,$42,$3C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$FC,$07,$C7,$FF,$F0,$00,$00,$00,$00,$00,$1F,$F8,$00,$00
5560 DEFB $42,$08,$44,$40,$00,$44,$08,$42,$42,$42,$44,$44,$42,$42,$46,$01,$FE,$FF,$FF,$1F,$F7,$FD,$4F,$F7,$F8,$00,$00,$4F,$00,$00,$00,$00
5580 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3E,$CF,$40,$7F,$F9,$F7,$FB,$FF,$FC,$FF,$F8,$00,$00,$00,$00,$00,$00
55A0 DEFB $00,$00,$00,$40,$42,$42,$44,$08,$46,$42,$00,$00,$00,$00,$0F,$BF,$31,$00,$7F,$FC,$FF,$FF,$DF,$FF,$F7,$FF,$00,$00,$00,$00,$00,$00
55C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
55E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5600 DEFB $3C,$3C,$40,$10,$24,$42,$42,$7E,$00,$3E,$3C,$3C,$3C,$00,$00,$00,$00,$00,$07,$BC,$39,$FE,$FE,$F8,$00,$FC,$0B,$00,$00,$04,$90,$00
5620 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$BF,$00,$03,$FF,$F8,$00,$3C,$14,$00,$12,$40,$00
5640 DEFB $00,$00,$00,$00,$00,$00,$7C,$04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$FE,$07,$EF,$FF,$C8,$00,$00,$00,$00,$00,$E6,$30,$00,$00
5660 DEFB $42,$3E,$42,$7E,$00,$42,$3E,$3C,$42,$42,$42,$78,$3C,$3C,$42,$03,$FD,$FF,$FF,$0F,$A5,$1C,$CF,$F3,$F8,$00,$00,$78,$00,$00,$00,$00
5680 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$07,$A0,$7F,$FE,$0F,$FD,$FF,$FC,$FF,$FC,$00,$00,$00,$00,$00,$00
56A0 DEFB $00,$00,$00,$7E,$3C,$42,$78,$3E,$42,$3C,$00,$00,$00,$00,$0F,$FD,$00,$00,$FF,$FE,$7F,$FF,$DF,$FF,$F7,$FF,$00,$00,$00,$00,$00,$00
56C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
56E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5700 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$DF,$03,$FD,$FF,$20,$3E,$FC,$0F,$00,$00,$05,$F0,$00
5720 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$3F,$20,$00,$FF,$E0,$00,$36,$14,$00,$1E,$C0,$00
5740 DEFB $00,$00,$00,$00,$00,$00,$00,$38,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$FF,$0F,$F7,$FC,$6E,$00,$00,$00,$00,$00,$3E,$60,$00,$00
5760 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$FD,$8F,$F8,$0F,$6E,$0F,$DF,$F1,$FC,$01,$00,$50,$00,$00,$00,$00
5780 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$FF,$E7,$A0,$7F,$FF,$FF,$FC,$FF,$FC,$FF,$FE,$00,$00,$00,$00,$00,$00
57A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$7B,$00,$00,$FF,$FF,$3F,$FF,$DF,$FF,$F7,$FF,$00,$00,$00,$00,$00,$00
57C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
57E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5800 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41 Attributes
5820 DEFB $41,$41,$41,$41,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$41,$41
5840 DEFB $41,$41,$41,$41,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$46,$41,$41
5860 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41
5880 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$43,$43,$41,$41,$41,$41,$41,$41
58A0 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$43,$43,$41,$41,$41,$41,$41,$43
58C0 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$43,$43,$43,$41,$41,$41,$41,$43,$43
58E0 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$43,$43,$43,$41,$41,$41,$43,$43,$43
5900 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$42,$43,$43,$43,$43,$43,$43,$43,$43,$43
5920 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$42,$42,$42,$43,$43,$43,$43,$43,$43,$43
5940 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$42,$42,$42,$43,$43,$43,$43,$43,$43,$43
5960 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$42,$42,$43,$43,$43,$43,$43,$43,$43
5980 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$42,$42,$42,$42,$41,$43,$43,$43,$43
59A0 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$41,$41,$41,$41,$41,$42,$41,$42,$42,$42,$42,$42,$42,$42,$41,$43,$43,$43,$41
59C0 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$41,$43,$43,$43,$41
59E0 DEFB $41,$41,$41,$45,$45,$45,$45,$45,$45,$45,$45,$41,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$43,$43,$43,$43,$41
5A00 DEFB $45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$42,$43,$43,$43,$43,$43,$41
5A20 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$42,$42,$42,$42,$42,$42,$42,$42,$43,$43,$43,$43,$43,$41
5A40 DEFB $41,$41,$41,$41,$41,$41,$45,$45,$41,$41,$41,$41,$41,$41,$41,$41,$41,$47,$47,$42,$42,$42,$47,$41,$41,$41,$43,$43,$43,$43,$43,$41
5A60 DEFB $45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$45,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$41,$43,$43,$43,$41,$41
5A80 DEFB $41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$41,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$41,$43,$41,$41,$41,$41
5AA0 DEFB $41,$41,$41,$C4,$C4,$C4,$C4,$C4,$C4,$C4,$41,$41,$41,$41,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$47,$41,$41,$41,$41,$41,$41
5AC0 DEFB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F
5AE0 DEFB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F
5B00: Variables
5B00 DEFB $00 ???
5B01 DEFW $0000 ???
5B03 DEFW $0000 Screen position on mini-map (H = row, L = column)
RANDOM 5B05 DEFW $0167 Current number in pseudo-random sequence, see routine NextRandom
5B07 DEFW $0000 ???
5B09 DEFB $00 ???
5B0A DEFB $00 ???
5B0B DEFW $0000 ???
5B0D DEFB $08 Delay value: 7 / 5 / 3 / 1, depending on Game level 1..4
5B0E DEFB $08 Delay value for Octopus: 10 / 8 / 6 / 4, depending on Game level 1..4
5B0F DEFB $00 ???
LEVEL 5B10 DEFB $04 Game level selected: 1..4
5B11 DEFW $0000 ???
5B13 DEFB $19 Value 13 / 17 / 21 / 25, depending on Game level 1..4
5B14 DEFB $1E Value 13 / 17 / 21 / 25, depending on Game level 1..4
5B15 DEFB $38 Value 27 / 35 / 43 / 51, depending on Game level 1..4
5B16 DEFB $1E Value 18 / 22 / 26 / 31, depending on Game level 1..4
5B17 DEFB $32 Value 26 / 34 / 42 / 50, depending on Game level 1..4
5B18 DEFB $14 Value 5 / 10 / 15 / 20, depending on Game level 1..4
5B19 DEFB $46 Value 12 / 27 / 42 / 57, depending on Game level 1..4
5B1A DEFB $02 ???
5B1B DEFB $02 ???
5B1C DEFB $02 ???
5B1D DEFB $02 ???
5B1E DEFB $05 ???
5B1F DEFW $0000 ???
5B21 DEFW $0000 ???
5B23 DEFW $0000 ???
5B25 DEFW $0001 Value 150 / 100 / 50 / 1, depending on Game level 1..4
5B27 DEFW $0000,$0000,$0000,$0000 14 bytes copied from DDF0 + ([Game level] - 1) * 16
5B2F DEFW $0000,$0000,$0000
5B35 DEFW $DF45 ???
LIVES 5B37 DEFB $03 Number of lives
5B38 DEFW $FEFE Port for Clockwise key
5B3A DEFB $04 Bit mask for Clockwise key
5B3B DEFW $FEFE Port for Anticlockwise key
5B3D DEFB $02 Bit mask for Anticlockwise key
5B3E DEFW $7FFE Port for Accelerate key
5B40 DEFB $01 Bit mask for Accelerate key
5B41 DEFW $7FFE Port for Decelerate key
5B43 DEFB $02 Bit mask for Decelerate key
SCORE 5B44 DEFW $03E8 Score value
5B46 DEFW $0000 ??? $0000 at game start
5B48 DEFW $0000 ??? $0000 at game start
5B4A DEFB $00 Screen attribute, see routine DA39
HSCORE 5B4B DEFW $0000 High score value
5B4D: Data block at 5B4D
5B4D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B5D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B6D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B7D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B8D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B9D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BAD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BBD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BCD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BDD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BED DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BFD DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C05 DEFB $00,$00,$00
5C08 DEFB $00 LAST-K - Last key pressed
5C09 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C19 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C29 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C39 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C49 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C59 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C69 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C79 DEFB $00,$00
5C7B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C8B DEFB $00,$00
5C8D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5C9D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5CAD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5CBD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01
5CCD DEFB $5F,$00,$FD,$32,$34,$35,$37,$35,$0E,$00,$00,$FF,$5F,$00,$3A,$D9
5CDD DEFB $30,$0E,$00,$00,$00,$00,$00,$3A,$DA,$30,$0E,$00,$00,$00,$00,$00
5CED DEFB $3A,$E7,$31,$0E,$00,$00,$01,$00,$00,$3A,$FB,$3A,$EF,$22,$22,$AF
5CFD DEFB $3A,$F5,$AC,$32,$0E,$00,$00,$02,$00,$00,$2C,$30,$0E,$00,$00,$00
5D0D DEFB $00,$00,$3B,$3A,$EF,$22,$22,$AF,$3A,$F5,$AC,$32,$0E,$00,$00,$02
5D1D DEFB $00,$00,$2C,$30,$0E,$00,$00,$00,$00,$00,$3B,$3A,$EF,$22,$22,$AF
5D2D DEFB $0D,$00,$02,$3A,$00,$FA,$C0,$36,$30,$38,$39,$35,$0E,$00,$00,$DF
5D3D DEFB $ED,$00,$CB,$F8,$22,$53,$2F,$44,$20,$53,$43,$4F,$52,$45,$22,$AF
5D4D DEFB $35,$39,$38,$36,$36,$0E,$00,$00,$DA,$E9,$00,$2C,$31,$36,$30,$0E
5D5D DEFB $00,$00,$A0,$00,$00,$3A,$EC,$32,$0E,$00,$00,$02,$00,$00,$0D,$00
5D6D DEFB $03,$17,$00,$EF,$22,$53,$2F,$44,$20,$53,$43,$4F,$52,$45,$22,$AF
5D7D DEFB $3A,$EC,$32,$0E,$00,$00,$02,$00,$00,$0D,$00,$00,$00,$00,$00,$00
5D8D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5D9D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5DAD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5DBD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5DCD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5DDD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5DED DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5DFD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E0D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E1D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E2D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E3D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E4D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E5D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E6D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E7D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E8D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5E9D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5EAD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5EBD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5ECD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5EDD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5EED DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5EFD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F0D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F1D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F2D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F3D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F4D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F5D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F6D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F7D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F8D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5F9D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5FAD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5FBD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5FCD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5FDD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5FED DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5FFD DEFB $00,$00,$00
6000: Sprites
Small squid horizontal sprites; width 3 height 1 chars, 24 bytes each
6000 DEFB $0F,$00,$00,$50,$91,$C0,$2C,$6F,$E0,$73,$FF,$F8 smsquidh0
600C DEFB $99,$6F,$F0,$26,$93,$80,$1C,$80,$00,$03,$00,$00
6018 DEFB $00,$00,$00,$00,$00,$00,$00,$C2,$70,$3F,$3D,$FC smsquidh1
6024 DEFB $5B,$FF,$FF,$FD,$7D,$FE,$03,$C2,$38,$00,$00,$00
6030 DEFB $00,$00,$00,$00,$00,$00,$00,$02,$70,$70,$ED,$FE smsquidh2
603C DEFB $0F,$1F,$FF,$3F,$F5,$FC,$00,$02,$38,$00,$00,$00
6048 DEFB $9E,$00,$00,$69,$C4,$38,$67,$FB,$FC,$13,$FF,$FE smsquidh3
6054 DEFB $0C,$FB,$F8,$31,$84,$E0,$4E,$00,$00,$00,$00,$00
6060 DEFB $FF
6061 DEFB $00,$58,$00,$00,$A5,$30,$00,$12,$F8,$01,$6F,$FC smsquidh4
606D DEFB $00,$8A,$F8,$00,$55,$60,$00,$B4,$00,$00,$08,$00
6079 DEFB $00,$06,$00,$00,$09,$00,$00,$00,$A8,$00,$03,$5C smsquidh5
6085 DEFB $00,$04,$FE,$00,$03,$5C,$00,$04,$A8,$00,$03,$00
6091 DEFB $00,$00,$C3,$00,$00,$2A,$00,$00,$2C,$00,$00,$1E smsquidh6
609D DEFB $00,$00,$3D,$00,$00,$1A,$00,$00,$2A,$00,$01,$C2
60A9 DEFB $00,$00,$06,$00,$00,$09,$00,$01,$50,$00,$03,$AC smsquidh7
60B5 DEFB $00,$07,$F2,$00,$03,$AC,$00,$01,$52,$00,$00,$0C
60C1 DEFB $00,$00,$D0,$00,$65,$28,$00,$FA,$40,$01,$FF,$B4 smsquidh8
60CD DEFB $00,$FA,$88,$00,$35,$50,$00,$01,$68,$00,$00,$80
60D9 DEFB $00,$00,$F0,$03,$89,$0A,$07,$F6,$34,$1F,$FF,$CE smsquidh9
60E5 DEFB $0F,$F6,$98,$01,$C9,$64,$00,$01,$38,$00,$00,$C0
60F1 DEFB $00,$00,$00,$00,$00,$00,$0E,$43,$00,$3F,$BC,$FC smsquidhA
60FD DEFB $FF,$FF,$DA,$7F,$BE,$BF,$1C,$43,$C0,$00,$00,$00
6109 DEFB $00,$00,$00,$00,$00,$00,$0E,$40,$00,$7F,$B7,$0E smsquidhB
6115 DEFB $FF,$F8,$F0,$3F,$AF,$FC,$1C,$40,$00,$00,$00,$00
6121 DEFB $00,$00,$79,$1C,$23,$96,$3F,$DF,$E6,$7F,$FF,$C8 smsquidhC
612D DEFB $1F,$DF,$30,$07,$21,$8C,$00,$00,$72,$00,$00,$00
6139 DEFB $FF
613A DEFB $00,$1A,$00,$0C,$A5,$00,$1F,$48,$00,$3F,$F6,$80 smsquidhD
6146 DEFB $1F,$51,$00,$06,$AA,$00,$00,$2D,$00,$00,$10,$00
6152 DEFB $00,$60,$00,$00,$90,$00,$15,$00,$00,$3A,$C0,$00 smsquidhE
615E DEFB $7F,$20,$00,$3A,$C0,$00,$15,$20,$00,$00,$C0,$00
616A DEFB $43,$80,$00,$54,$00,$00,$58,$00,$00,$BC,$00,$00 smsquidhF
6176 DEFB $78,$00,$00,$34,$00,$00,$D4,$00,$00,$83,$00,$00
6182 DEFB $60,$00,$00,$90,$00,$00,$0A,$80,$00,$35,$C0,$00 smsquidhG
618E DEFB $4F,$E0,$00,$35,$C0,$00,$4A,$80,$00,$30,$00,$00
619A DEFB $0B,$00,$00,$14,$A6,$00,$02,$5F,$00,$2D,$FF,$80 smsquidhH
61A6 DEFB $11,$5F,$00,$0A,$AC,$00,$16,$80,$00,$01,$00,$00
Small squid vertical sprites; width 1 height 3 chars, 24 bytes each
61B2 DEFB $00,$00,$00,$10,$18,$38,$78,$7C smsquidv0
61BA DEFB $7C,$3C,$38,$38,$54,$38,$38,$56
61C2 DEFB $99,$95,$A6,$AA,$5A,$34,$50,$08
61CA DEFB $08,$0C,$1C,$1E,$3E,$3E,$3C,$1C smsquidv1
61D2 DEFB $1C,$2A,$1C,$1C,$1C,$1C,$2E,$2A
61DA DEFB $1E,$1A,$14,$1C,$1C,$14,$0C,$04
61E2 DEFB $08,$18,$1C,$1E,$3E,$3E,$3C,$1C smsquidv2
61EA DEFB $1C,$2A,$1C,$18,$0C,$14,$14,$14
61F2 DEFB $0C,$0C,$0C,$0C,$14,$14,$10,$00
61FA DEFB $00,$10,$30,$78,$78,$7C,$7C,$3C smsquidv3
6202 DEFB $38,$38,$54,$38,$38,$38,$78,$7C
620A DEFB $74,$B2,$AA,$CA,$94,$64,$62,$80
6212 DEFB $FF
6213 DEFB $00,$00,$10,$38,$78,$7C,$3C,$38 smsquidv4
621B DEFB $54,$38,$56,$99,$A6,$52,$94,$4A
6223 DEFB $10,$00,$00,$00,$00,$00,$00,$00
622B DEFB $00,$08,$1C,$3E,$1C,$2A,$1C,$2A smsquidv5
6233 DEFB $55,$95,$8A,$40,$00,$00,$00,$00
623B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6243 DEFB $88,$D7,$38,$7E,$1C,$6A,$81,$81 smsquidv6
624B DEFB $01,$00,$00,$00,$00,$00,$00,$00
6253 DEFB $00,$00,$00,$00,$00,$00,$00,$00
625B DEFB $40,$8A,$95,$55,$2A,$1C,$2A,$1C smsquidv7
6263 DEFB $3E,$1C,$08,$00,$00,$00,$00,$00
626B DEFB $00,$00,$00,$00,$00,$00,$00,$00
6273 DEFB $00,$00,$10,$4A,$94,$52,$A6,$99 smsquidv8
627B DEFB $56,$38,$54,$38,$3C,$7C,$78,$38
6283 DEFB $10,$00,$00,$00,$00,$00,$00,$00
628B DEFB $00,$50,$34,$5A,$AA,$A6,$95,$99 smsquidv9
6293 DEFB $56,$38,$38,$54,$38,$38,$3C,$7C
629B DEFB $7C,$78,$38,$18,$10,$00,$00,$00
62A3 DEFB $04,$0C,$14,$1C,$1C,$14,$1A,$1E smsquidvA
62AB DEFB $2A,$2E,$1C,$1C,$1C,$1C,$2A,$1C
62B3 DEFB $1C,$3C,$3E,$3E,$1E,$1C,$0C,$08
62BB DEFB $00,$10,$14,$14,$0C,$0C,$0C,$0C smsquidvB
62C3 DEFB $14,$14,$14,$0C,$18,$1C,$2A,$1C
62CB DEFB $1C,$3C,$3E,$3E,$1E,$1C,$18,$08
62D3 DEFB $80,$62,$64,$94,$CA,$AA,$B2,$74 smsquidvC
62DB DEFB $7C,$78,$38,$38,$38,$54,$38,$38
62E3 DEFB $3C,$3C,$7C,$78,$78,$30,$10,$00
62EB DEFB $FF
62EC DEFB $00,$00,$00,$00,$00,$00,$00,$10 smsquidvD
62F4 DEFB $4A,$94,$52,$A6,$99,$56,$38,$54
62FC DEFB $38,$3C,$7C,$78,$38,$10,$00,$00
6304 DEFB $00,$00,$00,$00,$00,$00,$00,$00 smsquidvE
630C DEFB $00,$00,$00,$00,$40,$8A,$95,$55
6314 DEFB $2A,$1C,$2A,$1C,$3E,$1C,$08,$00
631C DEFB $00,$00,$00,$00,$00,$00,$00,$00 smsquidvF
6324 DEFB $00,$00,$00,$00,$00,$00,$00,$80
632C DEFB $81,$81,$56,$38,$7E,$1C,$EA,$13
6334 DEFB $00,$00,$00,$00,$00,$00,$00,$00 smsquidvG
633C DEFB $00,$00,$00,$00,$00,$08,$1C,$3E
6344 DEFB $1C,$2A,$1C,$2A,$55,$95,$8A,$40
634C DEFB $00,$00,$00,$00,$00,$00,$00,$10 smsquidvH
6354 DEFB $38,$78,$7C,$3C,$38,$54,$38,$56
635C DEFB $99,$A6,$52,$94,$4A,$08,$00,$00
Fish sprites; width 6 height 3 chars, 96 bytes each
6364 DEFB $00,$00,$00,$00,$00,$00,$60,$00,$00,$10,$00,$00,$38,$00,$00,$18,$00,$00,$3E,$00,$00,$3C,$00,$00 fish0
637C DEFB $1F,$80,$80,$7F,$00,$00,$0F,$E1,$EF,$FF,$FF,$80,$07,$FF,$FF,$FF,$FF,$F8,$0F,$FF,$FF,$FF,$FF,$EF
6394 DEFB $1E,$00,$3F,$FD,$FF,$F8,$18,$00,$71,$FD,$EF,$00,$00,$00,$00,$01,$E0,$C0,$00,$00,$00,$01,$E0,$00
63AC DEFB $00,$00,$00,$01,$C0,$00,$00,$00,$00,$03,$80,$00,$00,$00,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00
63C4 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$18,$00,$00,$04,$00,$00,$3C,$00,$00 fish1
63DC DEFB $07,$00,$00,$7F,$00,$00,$07,$80,$EF,$FF,$F0,$00,$03,$C1,$FF,$FF,$FF,$80,$03,$EF,$FF,$FF,$FF,$F8
63F4 DEFB $03,$FF,$FF,$FD,$FF,$EE,$03,$FC,$71,$FD,$EF,$F8,$07,$80,$00,$01,$EF,$00,$06,$00,$00,$03,$C0,$80
640C DEFB $04,$00,$00,$03,$80,$40,$00,$00,$00,$07,$00,$00,$00,$00,$00,$06,$00,$00,$00,$00,$00,$00,$00,$00
6424 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$10,$00,$00,$60,$00,$00,$18,$00,$00,$38,$00,$00,$3C,$00,$00 fish2
643C DEFB $3E,$00,$80,$7F,$00,$00,$1F,$81,$EF,$FF,$FF,$80,$0F,$EF,$FF,$FF,$FF,$F8,$07,$FF,$FF,$FF,$FF,$EF
6454 DEFB $0F,$FC,$3F,$FE,$FF,$F8,$1E,$00,$71,$FD,$EF,$00,$18,$00,$00,$03,$E0,$C0,$00,$00,$00,$03,$80,$00
646C DEFB $00,$00,$00,$07,$00,$00,$00,$00,$00,$06,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6484 DEFB $04,$00,$00,$00,$00,$00,$06,$00,$00,$10,$00,$00,$07,$80,$00,$18,$00,$00,$03,$C0,$00,$3E,$00,$00 fish3
649C DEFB $03,$F0,$80,$7F,$FF,$80,$03,$FD,$EF,$FF,$FF,$F8,$03,$FF,$FF,$FF,$FF,$EE,$07,$8F,$FF,$FE,$FF,$F8
64B4 DEFB $06,$00,$3F,$FD,$FF,$C0,$00,$00,$71,$FD,$E0,$00,$00,$00,$00,$01,$E0,$00,$00,$00,$00,$03,$C0,$00
64CC DEFB $00,$00,$00,$03,$80,$00,$00,$00,$00,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
64E4 DEFB $FF
64E5 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$06,$00,$00,$18,$00,$00,$1C,$00,$00,$3C,$00,$00,$7C fish4
64FD DEFB $00,$00,$FE,$01,$01,$F8,$01,$FF,$FF,$F7,$87,$F0,$1F,$FF,$FF,$FF,$FF,$E0,$F7,$FF,$FF,$FF,$FF,$F0
6515 DEFB $1F,$FF,$BF,$FC,$00,$78,$00,$F7,$BF,$8E,$00,$18,$03,$07,$80,$00,$00,$00,$00,$07,$80,$00,$00,$00
652D DEFB $00,$03,$80,$00,$00,$00,$00,$01,$C0,$00,$00,$00,$00,$00,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00
6545 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$18,$00,$00,$00,$00,$00,$3C,$00,$00,$20 fish5
655D DEFB $00,$00,$FE,$00,$00,$E0,$00,$0F,$FF,$F7,$01,$E0,$01,$FF,$FF,$FF,$83,$C0,$1F,$FF,$FF,$FF,$F7,$C0
6575 DEFB $77,$FF,$BF,$FF,$FF,$C0,$1F,$F7,$BF,$8E,$3F,$C0,$00,$F7,$80,$00,$01,$E0,$01,$03,$C0,$00,$00,$60
658D DEFB $02,$01,$C0,$00,$00,$20,$00,$00,$E0,$00,$00,$00,$00,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00
65A5 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$18,$00,$00,$06,$00,$00,$3C,$00,$00,$1C fish6
65BD DEFB $00,$00,$FE,$01,$00,$7C,$01,$FF,$FF,$F7,$81,$F8,$1F,$FF,$FF,$FF,$F7,$F0,$F7,$FF,$FF,$FF,$FF,$E0
65D5 DEFB $1F,$FF,$7F,$FC,$3F,$F0,$00,$F7,$BF,$8E,$00,$78,$03,$07,$C0,$00,$00,$18,$00,$01,$C0,$00,$00,$00
65ED DEFB $00,$00,$E0,$00,$00,$00,$00,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6605 DEFB $00,$00,$00,$00,$00,$20,$00,$00,$08,$00,$00,$60,$00,$00,$18,$00,$01,$E0,$00,$00,$7C,$00,$03,$C0 fish7
661D DEFB $01,$FF,$FE,$01,$0F,$C0,$1F,$FF,$FF,$F7,$BF,$C0,$77,$FF,$FF,$FF,$FF,$C0,$1F,$FF,$7F,$FF,$F1,$E0
6635 DEFB $03,$FF,$BF,$FC,$00,$60,$00,$07,$BF,$1E,$00,$00,$00,$07,$80,$00,$00,$00,$00,$03,$C0,$00,$00,$00
664D DEFB $00,$01,$C0,$00,$00,$00,$00,$00,$E0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6665 DEFB $FF
6666 DEFB $00,$00,$00,$00,$00,$00,$00,$C0,$00,$00,$80,$00,$00,$70,$00,$01,$C0,$00,$00,$78,$00,$03,$E0,$00 fish8
667E DEFB $00,$3C,$04,$07,$F8,$00,$00,$3F,$0E,$FF,$FF,$C0,$00,$1F,$FF,$FF,$FF,$F8,$00,$1F,$FF,$FF,$FF,$BC
6696 DEFB $00,$3F,$C1,$FF,$DE,$F8,$00,$78,$00,$CF,$DD,$00,$00,$60,$00,$00,$1B,$E0,$00,$00,$00,$00,$38,$00
66AE DEFB $00,$00,$00,$00,$70,$00,$00,$00,$00,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
66C6 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$C0,$00,$04,$00,$00,$00,$60,$00,$0E,$00,$00,$00,$70,$00,$3E,$00 fish9
66DE DEFB $00,$00,$38,$00,$FF,$80,$00,$00,$3C,$31,$FF,$F0,$00,$00,$3F,$FF,$FF,$FC,$00,$00,$3F,$FF,$FF,$DE
66F6 DEFB $00,$00,$7F,$FF,$DE,$FE,$00,$00,$60,$1F,$DE,$E2,$00,$00,$40,$08,$1D,$FC,$00,$00,$00,$00,$38,$00
670E DEFB $00,$00,$00,$00,$30,$38,$00,$00,$00,$00,$60,$18,$00,$00,$00,$00,$40,$08,$00,$00,$00,$00,$00,$00
6726 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C1,$00,$00,$00,$00,$00,$C1,$00,$00,$00,$00,$00,$61,$00 fishA
673E DEFB $00,$00,$00,$00,$79,$80,$00,$00,$00,$00,$73,$C0,$00,$00,$00,$00,$6F,$F0,$00,$00,$00,$00,$5B,$D8
6756 DEFB $00,$00,$00,$00,$5F,$F8,$00,$00,$00,$00,$2C,$34,$00,$00,$00,$00,$77,$EC,$00,$00,$00,$00,$F0,$1E
676E DEFB $00,$00,$00,$01,$C0,$0E,$00,$00,$00,$03,$80,$03,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$00
6786 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$30,$80,$00,$00,$00,$00,$31,$80,$00,$00,$00,$00,$1B,$E0 fishB
679E DEFB $00,$00,$00,$00,$07,$F8,$00,$00,$00,$00,$3F,$FE,$00,$00,$00,$00,$FF,$FF,$00,$00,$00,$01,$EF,$FE
67B6 DEFB $00,$00,$00,$01,$FD,$EE,$00,$00,$00,$01,$1D,$EC,$00,$00,$00,$00,$FE,$E0,$00,$00,$00,$00,$00,$70
67CE DEFB $00,$00,$00,$00,$70,$30,$00,$00,$00,$00,$60,$18,$00,$00,$00,$00,$40,$08,$00,$00,$00,$00,$00,$00
67E6 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$C0,$00,$00,$00,$01,$80,$C0,$00,$00,$00,$03,$C0,$60 fishC
67FE DEFB $00,$00,$00,$0F,$E0,$70,$00,$00,$0F,$FF,$FF,$08,$00,$00,$7F,$FF,$FF,$F6,$00,$00,$F7,$FF,$FF,$FE
6816 DEFB $00,$00,$7F,$FD,$FF,$FC,$00,$00,$07,$FD,$FF,$10,$00,$00,$3C,$BD,$C0,$60,$00,$00,$00,$1C,$00,$60
682E DEFB $00,$00,$00,$1C,$00,$00,$00,$00,$00,$0C,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$00,$00
6846 DEFB $00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$03,$00,$00,$03,$80,$00,$0E,$00,$00,$07,$C0,$00,$1E,$00 fishD
685E DEFB $00,$1F,$E0,$20,$3C,$00,$03,$FF,$FF,$70,$FC,$00,$1F,$FF,$FF,$FF,$F8,$00,$3B,$FF,$FF,$FF,$F8,$00
6876 DEFB $1F,$7B,$FF,$83,$FC,$00,$00,$BB,$F3,$00,$1E,$00,$07,$D8,$00,$00,$06,$00,$00,$1C,$00,$00,$00,$00
688E DEFB $00,$0E,$00,$00,$00,$00,$00,$06,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
68A6 DEFB $00,$00,$00,$00,$00,$00,$00,$20,$00,$03,$00,$00,$00,$70,$00,$06,$00,$00,$00,$7C,$00,$0E,$00,$00 fishE
68BE DEFB $01,$FF,$00,$1C,$00,$00,$0F,$FF,$80,$3C,$00,$00,$3F,$FF,$FF,$FC,$00,$00,$7B,$FF,$FF,$FC,$00,$00
68D6 DEFB $7F,$7B,$FF,$FE,$00,$00,$47,$7B,$F8,$06,$00,$00,$3F,$B8,$00,$02,$00,$00,$00,$1C,$00,$00,$00,$00
68EE DEFB $1C,$0C,$00,$00,$00,$00,$18,$06,$00,$00,$00,$00,$10,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6906 DEFB $00,$00,$00,$00,$00,$00,$01,$03,$00,$00,$00,$00,$01,$03,$00,$00,$00,$00,$01,$06,$00,$00,$00,$00 fishF
691E DEFB $01,$9E,$00,$00,$00,$00,$03,$CE,$00,$00,$00,$00,$0F,$F6,$00,$00,$00,$00,$1B,$DA,$00,$00,$00,$00
6936 DEFB $1F,$FA,$00,$00,$00,$00,$2C,$34,$00,$00,$00,$00,$37,$EE,$00,$00,$00,$00,$78,$0F,$00,$00,$00,$00
694E DEFB $70,$03,$80,$00,$00,$00,$C0,$01,$C0,$00,$00,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6966 DEFB $00,$00,$00,$00,$00,$00,$01,$0C,$00,$00,$00,$00,$01,$8C,$00,$00,$00,$00,$07,$D8,$00,$00,$00,$00 fishG
697E DEFB $1F,$70,$00,$00,$00,$00,$7F,$FC,$00,$00,$00,$00,$FF,$FF,$00,$00,$00,$00,$7F,$F7,$80,$00,$00,$00
6996 DEFB $77,$BF,$80,$00,$00,$00,$37,$B8,$80,$00,$00,$00,$07,$7F,$00,$00,$00,$00,$0E,$00,$00,$00,$00,$00
69AE DEFB $0C,$0E,$00,$00,$00,$00,$18,$06,$00,$00,$00,$00,$10,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
69C6 DEFB $00,$00,$00,$00,$00,$00,$03,$01,$00,$00,$00,$00,$03,$01,$80,$00,$00,$00,$06,$03,$C0,$00,$00,$00 fishH
69DE DEFB $0E,$07,$F0,$00,$00,$00,$10,$FF,$FF,$F0,$00,$00,$6F,$FF,$FF,$FE,$00,$00,$7F,$FF,$FF,$EF,$00,$00
69F6 DEFB $3F,$FF,$BD,$FE,$00,$00,$08,$FF,$BD,$E0,$00,$00,$06,$03,$BD,$3C,$00,$00,$06,$00,$38,$00,$00,$00
6A0E DEFB $00,$00,$38,$00,$00,$00,$00,$00,$30,$00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00
Shark sprites; width 7 height 3 chars, 168 bytes each
6A26 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$00,$00,$00,$00,$00,$00,$E0,$00,$00 shark0
6A3B DEFB $00,$00,$00,$00,$F0,$00,$00,$C0,$00,$00,$00,$F8,$00,$00,$E0,$00,$00,$01,$FC,$00,$00
6A50 DEFB $F8,$00,$00,$03,$FE,$00,$00,$7C,$00,$00,$1F,$FF,$F0,$00,$7F,$00,$63,$FF,$FF,$FF,$80
6A65 DEFB $3F,$80,$FF,$FF,$FF,$FF,$F0,$3F,$C3,$FF,$FF,$FF,$AB,$FC,$1F,$FF,$FF,$FF,$FF,$AB,$EF
6A7A DEFB $1F,$FF,$FF,$FF,$FF,$B7,$FE,$1F,$FF,$FF,$FF,$FF,$D7,$E0,$1F,$01,$FF,$FF,$FF,$57,$C0
6A8F DEFB $1C,$03,$87,$FF,$FF,$57,$80,$38,$00,$0F,$FF,$7E,$57,$80,$70,$00,$03,$1F,$7D,$FF,$C0
6AA4 DEFB $20,$00,$00,$02,$FB,$C1,$F0,$00,$00,$00,$01,$E0,$00,$00,$00,$00,$00,$03,$C0,$00,$00
6AB9 DEFB $00,$00,$00,$07,$00,$00,$00,$00,$00,$00,$0E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6ACE DEFB $00,$00,$00,$00,$C0,$00,$00,$00,$00,$00,$00,$E0,$00,$00,$00,$00,$00,$00,$F0,$00,$00 shark1
6AE3 DEFB $00,$00,$00,$00,$F8,$00,$00,$00,$00,$00,$01,$FC,$00,$00,$00,$00,$00,$03,$FE,$00,$00
6AF8 DEFB $00,$00,$00,$1F,$FF,$E0,$00,$18,$00,$03,$FF,$FF,$FE,$00,$18,$00,$6F,$FF,$FF,$FF,$C0
6B0D DEFB $1C,$00,$FF,$FF,$FF,$BF,$F0,$1E,$03,$FF,$FF,$FF,$AB,$FC,$0F,$0F,$FF,$FF,$FF,$AB,$EF
6B22 DEFB $0F,$3F,$FF,$FF,$FF,$B7,$FE,$0F,$FF,$FF,$FF,$FF,$57,$E0,$07,$FB,$87,$FF,$FF,$57,$C0
6B37 DEFB $07,$E0,$0F,$FF,$FF,$57,$80,$07,$80,$03,$1F,$BF,$D7,$C0,$07,$00,$00,$03,$BE,$FF,$F0
6B4C DEFB $06,$00,$00,$01,$7E,$C0,$00,$06,$00,$00,$00,$7C,$00,$00,$0E,$00,$00,$00,$F0,$00,$00
6B61 DEFB $0C,$00,$00,$01,$E0,$00,$00,$00,$00,$00,$03,$80,$00,$00,$00,$00,$00,$03,$00,$00,$00
6B76 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$00,$00,$00,$00,$00,$00,$E0,$00,$00 shark2
6B8B DEFB $20,$00,$00,$00,$F0,$00,$00,$70,$00,$00,$00,$F8,$00,$00,$7C,$00,$00,$01,$FC,$00,$00
6BA0 DEFB $3E,$00,$00,$07,$FE,$00,$00,$3F,$00,$00,$1F,$FF,$E0,$00,$1F,$80,$63,$FF,$FF,$FE,$00
6BB5 DEFB $1F,$C0,$FF,$FF,$FF,$FF,$C0,$0F,$E3,$FF,$FF,$FF,$AF,$F0,$0F,$FF,$FF,$FF,$FF,$AB,$FC
6BCA DEFB $0F,$FF,$FF,$FF,$FF,$AB,$EF,$0F,$FF,$FF,$FF,$FF,$B7,$FE,$0F,$81,$FF,$FF,$FF,$D7,$F0
6BDF DEFB $1C,$03,$87,$FF,$FF,$57,$80,$38,$00,$0F,$FF,$7E,$57,$F8,$10,$00,$03,$1F,$7D,$FF,$80
6BF4 DEFB $00,$00,$00,$02,$FB,$C0,$00,$00,$00,$00,$01,$E0,$00,$00,$00,$00,$00,$03,$C0,$00,$00
6C09 DEFB $00,$00,$00,$07,$00,$00,$00,$00,$00,$00,$0E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6C1E DEFB $00,$00,$00,$00,$00,$00,$00,$18,$00,$00,$00,$00,$00,$00,$18,$00,$00,$00,$C0,$00,$00 shark3
6C33 DEFB $1C,$00,$00,$00,$E0,$00,$00,$1C,$00,$00,$00,$F0,$00,$00,$0E,$00,$00,$00,$F8,$00,$00
6C48 DEFB $0E,$00,$00,$01,$FC,$00,$00,$0F,$00,$00,$03,$FE,$00,$00,$07,$80,$00,$1F,$FF,$F0,$00
6C5D DEFB $07,$C0,$63,$FF,$FF,$FF,$80,$07,$E0,$FF,$FF,$FF,$FF,$F0,$07,$F3,$FF,$FF,$FF,$AF,$FC
6C72 DEFB $07,$FF,$FF,$FF,$FF,$AB,$EF,$07,$FF,$FF,$FF,$FF,$FB,$FE,$0E,$1F,$FF,$FF,$FF,$57,$E0
6C87 DEFB $0C,$00,$FF,$FF,$FF,$57,$C0,$00,$01,$C7,$FF,$FF,$57,$80,$00,$00,$0F,$FF,$FE,$57,$C0
6C9C DEFB $00,$00,$06,$1E,$FE,$FF,$F0,$00,$00,$00,$01,$F1,$C0,$00,$00,$00,$00,$07,$80,$00,$00
6CB1 DEFB $00,$00,$00,$1E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
6CC6 DEFB $FF
6CC7 DEFB $00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$0C,$00,$00 shark4
6CDC DEFB $00,$30,$00,$00,$0E,$00,$00,$00,$38,$00,$00,$0F,$00,$00,$00,$3E,$00,$00,$0F,$80,$00
6CF1 DEFB $00,$1F,$00,$00,$0F,$C0,$00,$00,$1F,$C0,$00,$1F,$FC,$00,$00,$0F,$E0,$30,$FF,$FF,$80
6D06 DEFB $00,$0F,$F0,$3F,$FF,$FF,$F0,$00,$07,$FF,$FF,$FF,$FA,$FC,$00,$07,$FF,$FF,$FF,$FA,$DF
6D1B DEFB $00,$07,$FF,$FF,$FF,$F5,$FF,$00,$07,$C0,$7F,$FF,$F5,$F0,$00,$07,$00,$DF,$FF,$FA,$C0
6D30 DEFB $00,$0E,$00,$03,$FF,$FA,$80,$00,$1C,$00,$07,$FF,$FF,$00,$00,$08,$00,$03,$1E,$FB,$80
6D45 DEFB $00,$00,$00,$00,$06,$F8,$F0,$00,$00,$00,$00,$01,$E6,$00,$00,$00,$00,$00,$03,$CE,$00
6D5A DEFB $00,$00,$00,$00,$07,$1C,$00,$00,$00,$00,$00,$06,$18,$00,$00,$00,$00,$00,$00,$00,$00
6D6F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$20,$00 shark5
6D84 DEFB $00,$00,$00,$00,$00,$30,$00,$00,$00,$00,$C0,$00,$30,$00,$00,$00,$00,$E0,$00,$38,$00
6D99 DEFB $00,$00,$00,$F0,$00,$38,$00,$00,$00,$00,$78,$00,$7C,$00,$00,$00,$00,$7C,$01,$FF,$80
6DAE DEFB $00,$00,$00,$3E,$27,$FF,$F0,$00,$00,$00,$3F,$3F,$FF,$FE,$00,$00,$00,$1F,$FF,$FF,$BF
6DC3 DEFB $00,$00,$00,$1F,$FF,$FD,$E7,$00,$00,$00,$1F,$FF,$F5,$CC,$00,$00,$00,$1E,$1F,$F7,$10
6DD8 DEFB $00,$00,$00,$1C,$1F,$FA,$20,$00,$00,$00,$38,$03,$FA,$20,$00,$00,$00,$70,$01,$FF,$10
6DED DEFB $00,$00,$00,$20,$00,$FC,$F0,$00,$00,$00,$00,$01,$F1,$00,$00,$00,$00,$00,$01,$C0,$F0
6E02 DEFB $00,$00,$00,$00,$03,$80,$70,$00,$00,$00,$00,$06,$00,$38,$00,$00,$00,$00,$04,$00,$08
6E17 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$08,$00 shark6
6E2C DEFB $00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$C0,$18,$00,$00,$00,$00,$00,$C0,$18,$00
6E41 DEFB $00,$00,$00,$00,$E0,$18,$00,$00,$00,$00,$00,$70,$1C,$00,$00,$00,$00,$00,$78,$3C,$00
6E56 DEFB $00,$00,$00,$00,$3C,$FF,$00,$00,$00,$00,$00,$3D,$BD,$80,$00,$00,$00,$00,$3D,$FF,$80
6E6B DEFB $00,$00,$00,$00,$3B,$E7,$C0,$00,$00,$00,$00,$3B,$81,$C0,$00,$00,$00,$00,$76,$00,$60
6E80 DEFB $00,$00,$00,$00,$74,$00,$20,$00,$00,$00,$00,$64,$00,$20,$00,$00,$00,$00,$DB,$00,$D8
6E95 DEFB $00,$00,$00,$00,$5C,$C3,$38,$00,$00,$00,$00,$3E,$3C,$7C,$00,$00,$00,$00,$3C,$00,$3C
6EAA DEFB $00,$00,$00,$00,$70,$00,$0E,$00,$00,$00,$00,$C0,$00,$03,$00,$00,$00,$00,$80,$00,$01
6EBF DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$02,$00,$00,$00,$00,$00,$00,$02,$00 shark7
6ED4 DEFB $00,$00,$00,$00,$01,$82,$00,$00,$00,$00,$00,$01,$86,$00,$00,$00,$00,$00,$01,$C6,$00
6EE9 DEFB $00,$00,$00,$00,$00,$E7,$00,$00,$00,$00,$00,$00,$8F,$80,$00,$00,$00,$00,$00,$7F,$F0
6EFE DEFB $00,$00,$00,$00,$03,$FF,$F8,$00,$00,$00,$00,$1F,$FF,$FC,$00,$00,$00,$00,$3F,$7F,$FE
6F13 DEFB $00,$00,$00,$00,$39,$EF,$FF,$00,$00,$00,$00,$0C,$EB,$FF,$00,$00,$00,$00,$02,$3B,$FE
6F28 DEFB $00,$00,$00,$00,$01,$17,$FC,$00,$00,$00,$00,$01,$17,$F8,$00,$00,$00,$00,$02,$3F,$F0
6F3D DEFB $00,$00,$00,$00,$03,$CF,$C0,$00,$00,$00,$00,$00,$23,$E0,$00,$00,$00,$00,$03,$C1,$F0
6F52 DEFB $00,$00,$00,$00,$03,$80,$F0,$00,$00,$00,$00,$07,$00,$78,$00,$00,$00,$00,$04,$00,$18
6F67 DEFB $00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$18,$00,$00 shark8
6F7C DEFB $00,$00,$00,$00,$38,$00,$10,$00,$00,$00,$00,$78,$00,$10,$00,$00,$00,$00,$F8,$00,$10
6F91 DEFB $00,$00,$00,$01,$F8,$00,$18,$00,$00,$00,$1F,$FC,$00,$0C,$00,$00,$00,$FF,$FF,$86,$0C
6FA6 DEFB $00,$00,$07,$FF,$FF,$FF,$00,$00,$00,$1F,$AF,$FF,$FF,$FC,$00,$00,$7D,$AF,$FF,$FF,$FE
6FBB DEFB $00,$00,$7F,$D7,$FF,$FF,$FC,$00,$00,$07,$D7,$FF,$FF,$30,$00,$00,$01,$AF,$FF,$FD,$8C
6FD0 DEFB $00,$00,$00,$AF,$FF,$E0,$18,$00,$00,$00,$7F,$FF,$F0,$10,$00,$00,$00,$EF,$BC,$60,$10
6FE5 DEFB $00,$00,$07,$8F,$B0,$00,$00,$00,$00,$00,$33,$C0,$00,$00,$00,$00,$00,$39,$E0,$00,$00
6FFA DEFB $00,$00,$00,$1C,$70,$00,$00,$00,$00,$00,$0C,$30,$00,$00,$00,$00,$00,$00,$00,$00,$00
700F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$00,$00 shark9
7024 DEFB $00,$00,$00,$07,$00,$00,$01,$00,$00,$00,$0F,$00,$00,$01,$00,$00,$00,$1F,$00,$00,$01
7039 DEFB $00,$00,$00,$3F,$80,$00,$01,$00,$00,$00,$7F,$C0,$00,$03,$00,$00,$0F,$FF,$F8,$00,$03
704E DEFB $00,$01,$FF,$FF,$FF,$C6,$03,$00,$0F,$FF,$FF,$FF,$FF,$07,$00,$3F,$F5,$FF,$FF,$FF,$CE
7063 DEFB $00,$F7,$D5,$FF,$FF,$FF,$FE,$00,$7F,$DF,$FF,$FF,$FF,$FE,$00,$07,$EA,$FF,$FF,$FF,$FA
7078 DEFB $00,$03,$EA,$FF,$FF,$FF,$03,$00,$01,$EA,$FF,$FF,$E3,$83,$00,$03,$EA,$7F,$FF,$F0,$01
708D DEFB $00,$0F,$FF,$7F,$78,$60,$00,$00,$00,$03,$8F,$80,$00,$00,$00,$00,$00,$01,$E0,$00,$00
70A2 DEFB $00,$00,$00,$00,$78,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
70B7 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$00,$00,$00,$00,$00,$07,$00,$00,$00,$00 sharkA
70CC DEFB $00,$00,$0F,$00,$00,$00,$00,$00,$00,$1F,$00,$00,$00,$03,$00,$00,$3F,$80,$00,$00,$07
70E1 DEFB $00,$00,$7F,$C0,$00,$00,$1F,$00,$0F,$FF,$F8,$00,$00,$3E,$01,$FF,$FF,$FF,$C6,$00,$FE
70F6 DEFB $0F,$FF,$FF,$FF,$FF,$01,$FC,$3F,$D5,$FF,$FF,$FF,$C3,$FC,$F7,$D5,$FF,$FF,$FF,$FF,$F8
710B DEFB $7F,$ED,$FF,$FF,$FF,$FF,$F8,$07,$EB,$FF,$FF,$FF,$FF,$F8,$03,$EA,$FF,$FF,$FF,$80,$F8
7120 DEFB $01,$EA,$FF,$FF,$E1,$C0,$38,$01,$EA,$7E,$FF,$F0,$00,$1C,$03,$FF,$BE,$F8,$C0,$00,$0E
7135 DEFB $0F,$83,$DF,$40,$00,$00,$04,$00,$00,$07,$80,$00,$00,$00,$00,$00,$03,$C0,$00,$00,$00
714A DEFB $00,$00,$00,$E0,$00,$00,$00,$00,$00,$00,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
715F DEFB $00,$00,$03,$00,$00,$00,$00,$00,$00,$07,$00,$00,$00,$00,$00,$00,$0F,$00,$00,$00,$00 sharkB
7174 DEFB $00,$00,$1F,$00,$00,$00,$00,$00,$00,$3F,$80,$00,$00,$00,$00,$00,$7F,$C0,$00,$00,$00
7189 DEFB $00,$07,$FF,$F8,$00,$00,$00,$00,$7F,$FF,$FF,$C0,$00,$18,$03,$FF,$FF,$FF,$F6,$00,$18
719E DEFB $0F,$FD,$FF,$FF,$FF,$00,$38,$3F,$D5,$FF,$FF,$FF,$C0,$78,$F7,$D5,$FF,$FF,$FF,$F0,$F0
71B3 DEFB $7F,$ED,$FF,$FF,$FF,$FC,$F0,$07,$EA,$FF,$FF,$FF,$FF,$F0,$03,$EA,$FF,$FF,$E1,$DF,$E0
71C8 DEFB $01,$EA,$FF,$FF,$F0,$07,$E0,$03,$EB,$FD,$F8,$C0,$01,$E0,$0F,$FF,$7D,$C0,$00,$00,$E0
71DD DEFB $00,$03,$7E,$80,$00,$00,$60,$00,$00,$3E,$00,$00,$00,$60,$00,$00,$0F,$00,$00,$00,$70
71F2 DEFB $00,$00,$07,$80,$00,$00,$30,$00,$00,$01,$C0,$00,$00,$00,$00,$00,$00,$C0,$00,$00,$00
7207 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$00,$00,$00,$00,$00,$07,$00,$00,$00,$00 sharkC
721C DEFB $00,$00,$0F,$00,$00,$00,$04,$00,$00,$1F,$00,$00,$00,$0E,$00,$00,$3F,$80,$00,$00,$3E
7231 DEFB $00,$00,$7F,$C0,$00,$00,$7C,$00,$07,$FF,$F8,$00,$00,$FC,$00,$7F,$FF,$FF,$C6,$01,$F8
7246 DEFB $03,$FF,$FF,$FF,$FF,$03,$F8,$0F,$F5,$FF,$FF,$FF,$C7,$F0,$3F,$D5,$FF,$FF,$FF,$FF,$F0
725B DEFB $F7,$D5,$FF,$FF,$FF,$FF,$F0,$7F,$ED,$FF,$FF,$FF,$FF,$F0,$0F,$EB,$FF,$FF,$FF,$81,$F0
7270 DEFB $01,$EA,$FF,$FF,$E1,$C0,$38,$1F,$EA,$7E,$FF,$F0,$00,$1C,$01,$FF,$BE,$F8,$C0,$00,$08
7285 DEFB $00,$03,$DF,$40,$00,$00,$00,$00,$00,$07,$80,$00,$00,$00,$00,$00,$03,$C0,$00,$00,$00
729A DEFB $00,$00,$00,$E0,$00,$00,$00,$00,$00,$00,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
72AF DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$18,$00,$00,$03,$00,$00,$00,$18 sharkD
72C4 DEFB $00,$00,$07,$00,$00,$00,$38,$00,$00,$0F,$00,$00,$00,$38,$00,$00,$1F,$00,$00,$00,$70
72D9 DEFB $00,$00,$3F,$80,$00,$00,$70,$00,$00,$7F,$C0,$00,$00,$F0,$00,$0F,$FF,$F8,$00,$01,$E0
72EE DEFB $01,$FF,$FF,$FF,$C6,$03,$E0,$0F,$FF,$FF,$FF,$FF,$07,$E0,$3F,$F5,$FF,$FF,$FF,$CF,$E0
7303 DEFB $F7,$D5,$FF,$FF,$FF,$FF,$E0,$7F,$DF,$FF,$FF,$FF,$FF,$E0,$07,$EA,$FF,$FF,$FF,$F8,$70
7318 DEFB $03,$EA,$FF,$FF,$FF,$00,$30,$01,$EA,$FF,$FF,$E3,$80,$00,$03,$EA,$7F,$FF,$F0,$00,$00
732D DEFB $0F,$FF,$7F,$78,$60,$00,$00,$00,$03,$8F,$80,$00,$00,$00,$00,$00,$01,$E0,$00,$00,$00
7342 DEFB $00,$00,$00,$78,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
7357 DEFB $FF
7358 DEFB $00,$00,$10,$00,$00,$00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$00,$30,$00,$00,$00,$00 sharkE
736D DEFB $00,$00,$70,$00,$00,$0C,$00,$00,$00,$F0,$00,$00,$1C,$00,$00,$01,$F0,$00,$00,$78,$00
7382 DEFB $00,$03,$F0,$00,$00,$F8,$00,$00,$3F,$F8,$00,$03,$F8,$00,$01,$FF,$FF,$0C,$07,$F0,$00
7397 DEFB $0F,$FF,$FF,$FC,$0F,$F0,$00,$3F,$5F,$FF,$FF,$FF,$E0,$00,$FB,$5F,$FF,$FF,$FF,$E0,$00
73AC DEFB $FF,$AF,$FF,$FF,$FF,$E0,$00,$0F,$AF,$FF,$FE,$03,$E0,$00,$03,$5F,$FF,$FB,$00,$E0,$00
73C1 DEFB $01,$5F,$FF,$C0,$00,$70,$00,$00,$FF,$FF,$E0,$00,$38,$00,$01,$DF,$78,$C0,$00,$10,$00
73D6 DEFB $0F,$1F,$60,$00,$00,$00,$00,$00,$67,$80,$00,$00,$00,$00,$00,$73,$C0,$00,$00,$00,$00
73EB DEFB $00,$38,$E0,$00,$00,$00,$00,$00,$18,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
7400 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00 sharkF
7415 DEFB $00,$0C,$00,$00,$00,$00,$00,$00,$0C,$00,$03,$00,$00,$00,$00,$1C,$00,$07,$00,$00,$00
742A DEFB $00,$1C,$00,$0F,$00,$00,$00,$00,$3E,$00,$1E,$00,$00,$00,$01,$FF,$80,$3E,$00,$00,$00
743F DEFB $0F,$FF,$E4,$7C,$00,$00,$00,$7F,$FF,$FC,$FC,$00,$00,$00,$FD,$FF,$FF,$F8,$00,$00,$00
7454 DEFB $E7,$BF,$FF,$F8,$00,$00,$00,$33,$AF,$FF,$F8,$00,$00,$00,$08,$EF,$F8,$78,$00,$00,$00
7469 DEFB $04,$5F,$F8,$38,$00,$00,$00,$04,$5F,$C0,$1C,$00,$00,$00,$08,$FF,$80,$0E,$00,$00,$00
747E DEFB $0F,$3F,$00,$04,$00,$00,$00,$00,$8F,$80,$00,$00,$00,$00,$0F,$03,$80,$00,$00,$00,$00
7493 DEFB $0E,$01,$C0,$00,$00,$00,$00,$1C,$00,$60,$00,$00,$00,$00,$10,$00,$20,$00,$00,$00,$00
74A8 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00 sharkG
74BD DEFB $00,$08,$00,$00,$00,$00,$00,$00,$18,$03,$00,$00,$00,$00,$00,$18,$03,$00,$00,$00,$00
74D2 DEFB $00,$18,$07,$00,$00,$00,$00,$00,$1C,$0E,$00,$00,$00,$00,$00,$3C,$1E,$00,$00,$00,$00
74E7 DEFB $00,$FF,$3C,$00,$00,$00,$00,$01,$BD,$BC,$00,$00,$00,$00,$01,$FF,$BC,$00,$00,$00,$00
74FC DEFB $03,$E7,$DC,$00,$00,$00,$00,$03,$81,$DC,$00,$00,$00,$00,$06,$00,$6E,$00,$00,$00,$00
7511 DEFB $04,$00,$2E,$00,$00,$00,$00,$04,$00,$26,$00,$00,$00,$00,$1B,$00,$DB,$00,$00,$00,$00
7526 DEFB $1C,$C3,$3A,$00,$00,$00,$00,$3E,$3C,$7C,$00,$00,$00,$00,$3C,$00,$3C,$00,$00,$00,$00
753B DEFB $70,$00,$0E,$00,$00,$00,$00,$C0,$00,$03,$00,$00,$00,$00,$80,$00,$01,$00,$00,$00,$00
7550 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$00,$00,$00,$00,$00,$40,$00,$00,$00,$00,$00 sharkH
7565 DEFB $00,$41,$80,$00,$00,$00,$00,$00,$61,$80,$00,$00,$00,$00,$00,$63,$80,$00,$00,$00,$00
757A DEFB $00,$E7,$00,$00,$00,$00,$00,$01,$F1,$00,$00,$00,$00,$00,$0F,$FE,$00,$00,$00,$00,$00
758F DEFB $1F,$FF,$C0,$00,$00,$00,$00,$3F,$FF,$F8,$00,$00,$00,$00,$7F,$FE,$FC,$00,$00,$00,$00
75A4 DEFB $FF,$FB,$9C,$00,$00,$00,$00,$FF,$D7,$30,$00,$00,$00,$00,$7F,$DC,$40,$00,$00,$00,$00
75B9 DEFB $3F,$E8,$80,$00,$00,$00,$00,$1F,$E8,$80,$00,$00,$00,$00,$0F,$FC,$40,$00,$00,$00,$00
75CE DEFB $03,$F3,$C0,$00,$00,$00,$00,$07,$C4,$00,$00,$00,$00,$00,$0F,$83,$C0,$00,$00,$00,$00
75E3 DEFB $0F,$01,$C0,$00,$00,$00,$00,$1E,$00,$E0,$00,$00,$00,$00,$18,$00,$20,$00,$00,$00,$00
75F8 DEFB $00,$00,$10,$00,$00,$00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$00,$18,$00,$00,$00,$00 sharkI
760D DEFB $08,$00,$1C,$00,$00,$00,$00,$08,$00,$1E,$00,$00,$00,$00,$08,$00,$1F,$00,$00,$00,$00
7622 DEFB $18,$00,$1F,$80,$00,$00,$00,$30,$00,$3F,$F8,$00,$00,$00,$30,$61,$FF,$FF,$00,$00,$00
7637 DEFB $00,$FF,$FF,$FF,$E0,$00,$00,$3F,$FF,$FF,$F5,$F8,$00,$00,$7F,$FF,$FF,$F5,$BE,$00,$00
764C DEFB $3F,$FF,$FF,$EB,$FE,$00,$00,$0C,$FF,$FF,$EB,$E0,$00,$00,$31,$BF,$FF,$F5,$80,$00,$00
7661 DEFB $18,$07,$FF,$F5,$00,$00,$00,$08,$0F,$FF,$FE,$00,$00,$00,$08,$06,$3D,$F7,$00,$00,$00
7676 DEFB $00,$00,$0D,$F1,$E0,$00,$00,$00,$00,$03,$CC,$00,$00,$00,$00,$00,$07,$9C,$00,$00,$00
768B DEFB $00,$00,$0E,$38,$00,$00,$00,$00,$00,$0C,$30,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
76A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$00,$00,$00 sharkJ
76B5 DEFB $80,$00,$00,$E0,$00,$00,$00,$80,$00,$00,$F0,$00,$00,$00,$80,$00,$00,$F8,$00,$00,$00
76CA DEFB $80,$00,$01,$FC,$00,$00,$00,$C0,$00,$03,$FE,$00,$00,$00,$C0,$00,$1F,$FF,$F0,$00,$00
76DF DEFB $C0,$63,$FF,$FF,$FF,$80,$00,$E0,$FF,$FF,$FF,$FF,$F0,$00,$73,$FF,$FF,$FF,$AF,$FC,$00
76F4 DEFB $7F,$FF,$FF,$FF,$AB,$EF,$00,$7F,$FF,$FF,$FF,$FB,$FE,$00,$5F,$FF,$FF,$FF,$57,$E0,$00
7709 DEFB $C0,$FF,$FF,$FF,$57,$C0,$00,$C1,$C7,$FF,$FF,$57,$80,$00,$80,$0F,$FF,$FE,$57,$C0,$00
771E DEFB $00,$06,$1E,$FE,$FF,$F0,$00,$00,$00,$01,$F1,$C0,$00,$00,$00,$00,$07,$80,$00,$00,$00
7733 DEFB $00,$00,$1E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Fish cloud sprites
7748 DEFB $00,$00,$00,$1C,$80,$00,$3F,$00,$00,$1E,$80,$00 fcloud0
7754 DEFB $00,$00,$00,$00,$D0,$00,$00,$00,$00,$00,$00,$00
7760 DEFB $00,$1B,$3A,$00,$2E,$00,$C0,$1B,$00,$02,$00,$00
776C DEFB $06,$50,$0C,$1F,$F0,$00,$02,$10,$01,$00,$00,$63
7778 DEFB $00,$00,$F6,$00,$61,$FC,$00,$00,$F6,$03,$A0,$60
7784 DEFB $00,$00,$00,$3D,$00,$00,$3D,$06,$00,$00,$00,$00
7790 DEFB $00,$00,$00,$00,$00,$00,$39,$00,$00,$7E,$00,$00 fcloud1
779C DEFB $3D,$00,$00,$00,$68,$00,$00,$00,$00,$00,$1B,$00
77A8 DEFB $00,$2E,$1D,$30,$1B,$00,$00,$00,$00,$01,$00,$18
77B4 DEFB $03,$28,$00,$0F,$F8,$00,$01,$08,$04,$00,$00,$64
77C0 DEFB $00,$00,$B4,$00,$19,$FC,$00,$00,$F4,$03,$A0,$60
77CC DEFB $00,$00,$00,$00,$00,$00,$3C,$00,$00,$3C,$06,$00
77D8 DEFB $00,$00,$00,$00,$00,$00,$1C,$80,$00,$3F,$00,$00 fcloud2
77E4 DEFB $1E,$80,$00,$00,$00,$00,$00,$D0,$00,$00,$00,$00
77F0 DEFB $00,$36,$00,$00,$5C,$3A,$60,$36,$00,$02,$00,$00
77FC DEFB $06,$50,$18,$1F,$F0,$00,$02,$10,$01,$00,$00,$63
7808 DEFB $00,$00,$B6,$00,$31,$FC,$00,$00,$F6,$07,$40,$60
7814 DEFB $00,$00,$00,$1E,$80,$00,$1E,$83,$00,$00,$00,$00
7820 DEFB $FF
7821 DEFB $00,$00,$00,$20,$00,$00,$70,$00,$00,$20,$00,$00 fcloud3
782D DEFB $00,$00,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00
7839 DEFB $00,$20,$60,$00,$70,$00,$40,$20,$00,$10,$00,$00
7845 DEFB $10,$00,$00,$38,$00,$08,$44,$00,$80,$00,$01,$00
7851 DEFB $00,$03,$80,$00,$87,$C0,$00,$03,$80,$04,$01,$00
785D DEFB $00,$00,$00,$60,$00,$00,$60,$08,$00,$00,$00,$00
7869 DEFB $00,$00,$00,$9C,$00,$00,$7E,$00,$00,$BC,$00,$00 fcloud4
7875 DEFB $00,$00,$00,$05,$80,$00,$00,$00,$00,$00,$00,$00
7881 DEFB $00,$6C,$2E,$00,$3A,$00,$30,$6C,$00,$00,$80,$00
788D DEFB $14,$C0,$00,$1F,$F0,$06,$10,$82,$00,$00,$03,$18
7899 DEFB $00,$01,$BC,$00,$C0,$FE,$00,$01,$BC,$05,$C0,$18
78A5 DEFB $00,$00,$00,$5E,$00,$00,$5E,$0C,$00,$00,$00,$00
78B1 DEFB $00,$00,$00,$00,$00,$00,$4E,$00,$00,$3F,$00,$00 fcloud5
78BD DEFB $5E,$00,$00,$00,$00,$00,$0B,$00,$00,$00,$6C,$00
78C9 DEFB $00,$3A,$2E,$00,$6C,$00,$18,$00,$00,$01,$00,$00
78D5 DEFB $29,$80,$00,$3F,$E0,$06,$21,$00,$00,$00,$01,$00
78E1 DEFB $00,$01,$8C,$01,$80,$DA,$00,$00,$7F,$00,$00,$DE
78ED DEFB $02,$E0,$0C,$00,$06,$00,$1E,$00,$00,$1E,$00,$00
78F9 DEFB $00,$00,$00,$4E,$00,$00,$3F,$00,$00,$5E,$00,$00 fcloud6
7905 DEFB $00,$00,$00,$00,$00,$00,$05,$80,$00,$00,$00,$00
7911 DEFB $00,$D8,$5C,$00,$74,$00,$30,$D8,$00,$00,$00,$00
791D DEFB $00,$80,$03,$14,$C0,$00,$1F,$F0,$40,$10,$80,$4C
7929 DEFB $01,$80,$5A,$00,$00,$7F,$05,$C0,$5E,$00,$00,$0C
7935 DEFB $00,$00,$00,$2F,$00,$00,$2F,$06,$00,$00,$00,$00
7941 DEFB $FF
7942 DEFB $00,$00,$00,$01,$00,$00,$03,$80,$00,$01,$00,$00 fcloud7
794E DEFB $00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$00,$00
795A DEFB $00,$10,$06,$00,$38,$00,$08,$10,$00,$00,$00,$00
7966 DEFB $00,$10,$01,$00,$10,$00,$00,$38,$08,$00,$44,$04
7972 DEFB $00,$00,$0E,$00,$20,$1F,$00,$00,$0E,$00,$40,$04
797E DEFB $00,$00,$00,$01,$80,$00,$01,$81,$00,$00,$00,$00
Electric eel horizontal sprites
798A DEFB $00,$00,$00,$01,$00,$02,$21,$0F,$C4,$10,$30,$30 elceelh0
7996 DEFB $0C,$C0,$0E,$03,$10,$40,$10,$08,$82,$20,$00,$01
79A2 DEFB $00,$00,$00,$00,$00,$00,$0E,$00,$08,$31,$80,$74 elceelh1
79AE DEFB $00,$61,$80,$00,$1E,$00,$00,$00,$00,$00,$00,$00
79BA DEFB $00,$00,$00,$00,$00,$00,$00,$3E,$00,$01,$C1,$00 elceelh2
79C6 DEFB $06,$00,$C4,$78,$00,$38,$00,$00,$00,$00,$00,$00
79D2 DEFB $FF
79D3 DEFB $00,$00,$00,$00,$00,$00,$00,$0F,$3C,$00,$09,$26 elceelh3
79DF DEFB $00,$01,$20,$00,$01,$E0,$00,$00,$00,$00,$00,$00
79EB DEFB $00,$00,$81,$00,$00,$42,$00,$00,$18,$00,$00,$78 elceelh4
79F7 DEFB $00,$00,$58,$00,$00,$40,$00,$00,$24,$00,$00,$42
7A03 DEFB $00,$00,$00,$00,$03,$C0,$00,$02,$40,$00,$32,$48 elceelh5
7A0F DEFB $00,$1E,$78,$00,$00,$00,$00,$00,$00,$00,$00,$00
7A1B DEFB $00,$00,$00,$40,$00,$80,$23,$F0,$84,$0C,$0C,$08 elceelh6
7A27 DEFB $70,$03,$30,$02,$08,$C0,$41,$10,$08,$80,$00,$04
7A33 DEFB $00,$00,$00,$00,$00,$00,$10,$00,$70,$2E,$01,$8C elceelh7
7A3F DEFB $01,$86,$00,$00,$78,$00,$00,$00,$00,$00,$00,$00
7A4B DEFB $00,$00,$00,$00,$00,$00,$00,$7C,$00,$00,$83,$80 elceelh8
7A57 DEFB $23,$00,$60,$1C,$00,$1E,$00,$00,$00,$00,$00,$00
7A63 DEFB $FF
7A64 DEFB $00,$00,$00,$00,$00,$00,$3C,$F0,$00,$64,$90,$00 elceelh9
7A70 DEFB $04,$80,$00,$07,$80,$00,$00,$00,$00,$00,$00,$00
7A7C DEFB $81,$00,$00,$42,$00,$00,$18,$00,$00,$1E,$00,$00 elceelhA
7A88 DEFB $1A,$00,$00,$02,$00,$00,$24,$00,$00,$42,$00,$00
7A94 DEFB $00,$00,$00,$03,$C0,$00,$02,$40,$00,$12,$4C,$00 elceelhB
7AA0 DEFB $1E,$78,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Electric eel vertical sprites
7AAC DEFB $01,$4A,$28,$08,$10,$10,$24,$22 elceelv0
7AB4 DEFB $20,$20,$20,$22,$14,$10,$08,$08
7ABC DEFB $64,$04,$08,$08,$12,$21,$00,$00
7AC4 DEFB $00,$00,$10,$20,$10,$10,$10,$08 elceelv1
7ACC DEFB $08,$04,$04,$04,$04,$08,$08,$10
7AD4 DEFB $10,$20,$20,$20,$10,$10,$00,$00
7ADC DEFB $00,$00,$08,$04,$04,$04,$08,$08 elceelv2
7AE4 DEFB $10,$20,$20,$20,$20,$20,$10,$10
7AEC DEFB $10,$08,$08,$04,$04,$04,$04,$00
7AF4 DEFB $FF
7AF5 DEFB $00,$00,$21,$12,$08,$08,$04,$64 elceelv3
7AFD DEFB $08,$08,$10,$14,$22,$20,$20,$20
7B05 DEFB $22,$24,$10,$10,$08,$28,$4A,$01
7B0D DEFB $00,$00,$10,$10,$20,$20,$20,$10 elceelv4
7B15 DEFB $10,$08,$08,$04,$04,$04,$04,$08
7B1D DEFB $08,$10,$10,$10,$20,$10,$00,$00
7B25 DEFB $00,$04,$04,$04,$04,$08,$08,$10 elceelv5
7B2D DEFB $10,$10,$20,$20,$20,$20,$20,$10
7B35 DEFB $08,$08,$04,$04,$04,$08,$00,$00
7B3D DEFB $FF
7B3E DEFB $00,$10,$30,$20,$20,$3C,$04,$04 elceelv6
7B46 DEFB $3C,$20,$20,$30,$00,$00,$00,$00
7B4E DEFB $00,$00,$00,$00,$00,$00,$00,$00
7B56 DEFB $80,$41,$02,$38,$38,$12,$5D,$80 elceelv7
7B5E DEFB $00,$00,$00,$00,$00,$00,$00,$00
7B66 DEFB $00,$00,$00,$00,$00,$00,$00,$00
7B6E DEFB $00,$00,$00,$18,$08,$08,$78,$40 elceelv8
7B76 DEFB $40,$78,$08,$08,$18,$10,$00,$00
7B7E DEFB $00,$00,$00,$00,$00,$00,$00,$00
7B86 DEFB $00,$00,$00,$00,$00,$00,$00,$00 elceelv9
7B8E DEFB $00,$00,$00,$00,$30,$20,$20,$3C
7B96 DEFB $04,$04,$3C,$20,$20,$30,$10,$00
7B9E DEFB $00,$00,$00,$00,$00,$00,$00,$00 elceelvA
7BA6 DEFB $00,$00,$00,$00,$00,$00,$00,$00
7BAE DEFB $80,$5D,$12,$38,$38,$02,$41,$80
7BB6 DEFB $00,$00,$00,$00,$00,$00,$00,$00 elceelvB
7BBE DEFB $00,$00,$10,$18,$08,$08,$78,$40
7BC6 DEFB $40,$78,$08,$08,$18,$00,$00,$00
Long fish sprites
7BCE DEFB $00,$0C,$00,$00,$00,$0E,$02,$04,$07,$FF,$FE,$0C,$3D,$FF,$FF,$DC longfish0
7BDE DEFB $07,$FF,$FF,$FE,$38,$08,$06,$1C,$00,$04,$00,$0C,$00,$00,$00,$00
7BEE DEFB $00,$0C,$00,$00,$00,$0E,$02,$00,$07,$FF,$FE,$10,$3D,$FF,$FF,$10 longfish1
7BFE DEFB $3F,$FF,$FF,$B0,$00,$08,$06,$F0,$00,$08,$00,$30,$00,$00,$00,$10
7C0E DEFB $00,$00,$00,$00,$00,$0C,$00,$04,$00,$0E,$02,$0C,$07,$FF,$FE,$1C longfish2
7C1E DEFB $3D,$FF,$FF,$F8,$3F,$FF,$FF,$DC,$00,$08,$06,$0C,$00,$04,$00,$00
7C2E DEFB $00,$00,$00,$10,$00,$0C,$00,$10,$00,$0E,$02,$30,$07,$FF,$FF,$F0 longfish3
7C3E DEFB $3D,$FF,$FF,$30,$07,$FF,$FE,$10,$38,$0C,$06,$00,$00,$00,$00,$00
7C4E DEFB $FF
7C4F DEFB $00,$00,$30,$00,$20,$40,$70,$00,$30,$7F,$FF,$E0,$3B,$FF,$FF,$BC longfish4
7C5F DEFB $1F,$FF,$FF,$E0,$38,$60,$10,$1C,$30,$00,$20,$00,$00,$00,$00,$00
7C6F DEFB $00,$00,$30,$00,$00,$40,$70,$00,$08,$7F,$FF,$E0,$08,$FF,$FF,$BC longfish5
7C7F DEFB $0D,$FF,$FF,$FC,$0F,$60,$10,$00,$0C,$00,$10,$00,$08,$00,$00,$00
7C8F DEFB $00,$00,$00,$00,$20,$00,$30,$00,$30,$40,$70,$00,$38,$7F,$FF,$E0 longfish6
7C9F DEFB $1F,$FF,$FF,$BC,$3B,$FF,$FF,$FC,$30,$60,$00,$00,$00,$00,$00,$00
7CAF DEFB $08,$00,$00,$00,$08,$00,$30,$00,$0C,$40,$70,$00,$0F,$FF,$FF,$E0 longfish7
7CBF DEFB $0C,$FF,$FF,$BC,$08,$7F,$FF,$E0,$00,$60,$30,$1C,$00,$00,$00,$00
7CCF DEFB $FF
7CD0 DEFB $01,$00,$00,$00,$01,$84,$04,$00,$1F,$FC,$0C,$00,$6F,$FF,$9C,$00 longfish8
7CE0 DEFB $1F,$FF,$F8,$00,$61,$00,$FC,$00,$01,$00,$0C,$00,$00,$00,$00,$00
7CF0 DEFB $20,$00,$00,$00,$20,$20,$00,$00,$20,$60,$00,$00,$76,$E0,$00,$00 longfish9
7D00 DEFB $8B,$C0,$00,$00,$70,$E0,$00,$00,$88,$60,$00,$00,$84,$00,$00,$00
7D10 DEFB $10,$20,$00,$00,$60,$60,$00,$00,$7F,$FC,$00,$00,$FF,$FB,$00,$00 longfishA
7D20 DEFB $7F,$FC,$00,$00,$60,$23,$00,$00,$10,$40,$00,$00,$00,$00,$00,$00
7D30 DEFB $80,$00,$00,$00,$80,$0C,$00,$00,$C4,$1C,$00,$00,$FF,$FF,$F8,$00 longfishB
7D40 DEFB $EF,$FF,$EF,$00,$87,$FF,$F8,$00,$04,$04,$07,$00,$00,$08,$00,$00
7D50 DEFB $00,$00,$00,$80,$00,$20,$21,$80,$00,$30,$3F,$F8,$00,$39,$FF,$F6 longfishC
7D60 DEFB $00,$1F,$FF,$F8,$00,$38,$00,$86,$00,$30,$00,$80,$00,$00,$00,$00
7D70 DEFB $00,$00,$00,$04,$00,$00,$04,$04,$00,$00,$06,$04,$00,$00,$07,$6E longfishD
7D80 DEFB $00,$00,$03,$D1,$00,$00,$07,$0E,$00,$00,$06,$11,$00,$00,$00,$21
7D90 DEFB $00,$00,$04,$08,$00,$00,$06,$06,$00,$00,$3F,$FE,$00,$00,$DF,$FF longfishE
7DA0 DEFB $00,$00,$3F,$FE,$00,$00,$C4,$06,$00,$00,$02,$08,$00,$00,$00,$00
7DB0 DEFB $00,$00,$00,$01,$00,$00,$30,$01,$00,$00,$38,$23,$00,$1F,$FF,$FF longfishF
7DC0 DEFB $00,$F7,$FF,$F7,$00,$1F,$FF,$E1,$00,$E0,$20,$20,$00,$00,$10,$00
Snake fish horizontal sprites
7DD0 DEFB $70,$0F,$00,$00,$50,$1F,$00,$38,$98,$19,$81,$EF,$08,$31,$C7,$F0 snakef0
7DE0 DEFB $0C,$30,$CE,$75,$04,$60,$EC,$1F,$07,$C0,$7C,$00,$03,$80,$38,$00
7DF0 DEFB $00,$70,$0F,$00,$00,$F8,$1F,$B8,$81,$8C,$3B,$EF,$83,$0E,$30,$F0 snakef1
7E00 DEFB $43,$06,$70,$75,$46,$07,$60,$1F,$6C,$03,$E0,$00,$38,$01,$C0,$00
7E10 DEFB $03,$80,$78,$00,$07,$C0,$FC,$00,$06,$61,$DC,$78,$0C,$61,$8C,$EF snakef2
7E20 DEFB $18,$33,$8F,$F0,$B0,$3B,$07,$9F,$B0,$1F,$00,$00,$60,$0E,$00,$00
7E30 DEFB $0E,$03,$C0,$00,$1F,$07,$E0,$38,$1B,$0E,$E1,$EF,$33,$0C,$63,$F0 snakef3
7E40 DEFB $61,$98,$67,$1F,$41,$D8,$76,$00,$80,$F8,$3E,$00,$00,$70,$1C,$00
7E50 DEFB $FF
7E51 DEFB $00,$00,$C3,$00,$00,$01,$E7,$B8,$00,$43,$67,$EF,$00,$43,$66,$F0 snakef4
7E61 DEFB $00,$26,$76,$75,$00,$26,$76,$1F,$00,$36,$3C,$00,$00,$1C,$1C,$00
7E71 DEFB $00,$00,$E1,$C0,$00,$01,$B3,$9E,$00,$01,$B7,$B7,$00,$09,$B6,$3F snakef5
7E81 DEFB $00,$05,$B6,$20,$00,$05,$B6,$15,$00,$07,$36,$0E,$00,$00,$1C,$00
7E91 DEFB $00,$00,$00,$03,$00,$00,$00,$F9,$00,$00,$01,$7A,$00,$00,$03,$FE snakef6
7EA1 DEFB $00,$00,$24,$00,$00,$00,$25,$54,$00,$00,$14,$F8,$00,$00,$1C,$00
7EB1 DEFB $00,$00,$01,$86,$00,$03,$C3,$C9,$00,$07,$67,$C9,$00,$07,$E6,$C2 snakef7
7EC1 DEFB $00,$00,$26,$C2,$00,$05,$5E,$6C,$00,$03,$9E,$6C,$00,$00,$0C,$78
7ED1 DEFB $00,$00,$70,$38,$00,$E0,$F8,$6C,$07,$B0,$D8,$C6,$00,$78,$D8,$C2 snakef8
7EE1 DEFB $05,$7D,$CD,$81,$07,$CD,$8D,$81,$00,$0F,$87,$80,$00,$07,$03,$00
7EF1 DEFB $00,$00,$F0,$0E,$1C,$00,$F8,$0A,$F7,$81,$98,$19,$0F,$E3,$8C,$10 snakef9
7F01 DEFB $AE,$73,$0C,$30,$F8,$37,$06,$20,$00,$3E,$03,$E0,$00,$1C,$01,$C0
7F11 DEFB $00,$F0,$0E,$00,$1D,$F8,$1F,$00,$F7,$DC,$31,$81,$0F,$0C,$70,$C1 snakefA
7F21 DEFB $AE,$0E,$60,$C2,$F8,$06,$E0,$62,$00,$07,$C0,$36,$00,$03,$80,$1C
7F31 DEFB $00,$1E,$03,$80,$00,$3F,$03,$E0,$1E,$3B,$86,$60,$F7,$31,$86,$30 snakefB
7F41 DEFB $0F,$F1,$CC,$18,$F9,$E0,$DC,$0D,$00,$00,$F8,$0D,$00,$00,$70,$06
7F51 DEFB $00,$03,$C0,$70,$1C,$07,$E0,$F8,$F7,$87,$70,$D8,$0F,$C6,$30,$CC snakefC
7F61 DEFB $F8,$E6,$19,$16,$00,$6E,$1B,$82,$00,$7C,$1F,$01,$00,$38,$0E,$00
7F71 DEFB $FF
7F72 DEFB $00,$C3,$00,$00,$1D,$E7,$80,$00,$F7,$E6,$C2,$00,$0F,$66,$C2,$00 snakefD
7F82 DEFB $AE,$6E,$64,$00,$F8,$6E,$64,$00,$00,$3C,$6C,$00,$00,$38,$38,$00
7F92 DEFB $03,$87,$00,$00,$79,$CD,$80,$00,$ED,$ED,$80,$00,$FC,$6D,$90,$00 snakefE
7FA2 DEFB $04,$6D,$A0,$00,$A8,$6D,$90,$00,$70,$6C,$E0,$00,$00,$38,$00,$00
7FB2 DEFB $C0,$00,$00,$00,$9F,$00,$00,$00,$2E,$80,$00,$00,$7F,$C0,$00,$00 snakefF
7FC2 DEFB $00,$24,$00,$00,$2A,$A4,$00,$00,$1F,$28,$00,$00,$00,$38,$00,$00
7FD2 DEFB $61,$80,$00,$00,$93,$C3,$C0,$00,$93,$E6,$E0,$00,$43,$67,$E0,$00 snakefG
7FE2 DEFB $43,$64,$00,$00,$36,$7A,$A0,$00,$36,$79,$C0,$00,$1E,$30,$00,$00
7FF2 DEFB $1C,$0E,$00,$00,$36,$1F,$07,$00,$63,$1B,$0D,$E0,$43,$1B,$1E,$00 snakefH
8002 DEFB $81,$B3,$BE,$A0,$81,$B1,$B3,$E0,$01,$E1,$F0,$00,$00,$C0,$E0,$00
Snake fish vertical sprites
8012 DEFB $2C,$24,$2C,$64,$5C,$78,$38,$30 snakefv0
801A DEFB $30,$18,$1E,$0F,$03,$07,$1E,$3C
8022 DEFB $F0,$C0,$C0,$E0,$78,$1C,$06,$03
802A DEFB $03,$03,$0E,$38,$E0,$80,$C0,$40
8032 DEFB $2C,$24,$2C,$64,$5C,$78,$38,$70 snakefv1
803A DEFB $E0,$E0,$C0,$E0,$78,$3E,$0F,$03
8042 DEFB $07,$1E,$3C,$70,$C0,$C0,$C0,$60
804A DEFB $38,$1C,$06,$03,$01,$03,$0E,$30
8052 DEFB $14,$14,$14,$34,$2C,$38,$38,$1C snakefv2
805A DEFB $0C,$0C,$7C,$F8,$E0,$C0,$E0,$78
8062 DEFB $3E,$0F,$03,$07,$0E,$3C,$70,$C0
806A DEFB $C0,$E0,$70,$18,$0E,$07,$01,$06
8072 DEFB $28,$28,$28,$68,$58,$70,$30,$30 snakefv3
807A DEFB $38,$1E,$0F,$03,$07,$7E,$FC,$E0
8082 DEFB $C0,$E0,$70,$3E,$0F,$03,$07,$0E
808A DEFB $7C,$F0,$C0,$E0,$70,$18,$0C,$02
8092 DEFB $FF
8093 DEFB $2C,$24,$2C,$64,$5C,$78,$38,$70 snakefv5
809B DEFB $E0,$FC,$7F,$03,$0F,$7E,$FC,$C0
80A3 DEFB $70,$3E,$0F,$01,$03,$0E,$C0,$00
80AB DEFB $00,$00,$00,$00,$00,$00,$00,$00
80B3 DEFB $34,$72,$76,$52,$74,$38,$80,$E0 snakefv6
80BB DEFB $E0,$7E,$3F,$01,$7F,$FE,$80,$FC
80C3 DEFB $7E,$02,$0E,$10,$00,$00,$00,$00
80CB DEFB $00,$00,$00,$00,$00,$00,$00,$00
80D3 DEFB $C0,$90,$34,$52,$76,$72,$76,$52 snakefv7
80DB DEFB $34,$10,$0F,$01,$03,$0C,$00,$00
80E3 DEFB $00,$00,$00,$00,$00,$00,$00,$00
80EB DEFB $00,$00,$00,$00,$00,$00,$00,$00
80F3 DEFB $60,$98,$86,$67,$01,$07,$7F,$F8 snakefv8
80FB DEFB $E0,$7E,$3F,$07,$06,$38,$74,$52
8103 DEFB $76,$72,$34,$00,$00,$00,$00,$00
810B DEFB $00,$00,$00,$00,$00,$00,$00,$00
8113 DEFB $0C,$30,$60,$C0,$80,$C0,$70,$3E snakefv9
811B DEFB $0F,$03,$0E,$7C,$F0,$C0,$F8,$7E
8123 DEFB $0F,$03,$0F,$1E,$38,$78,$5C,$64
812B DEFB $2C,$24,$2C,$00,$00,$00,$00,$00
8133 DEFB $20,$C0,$80,$E0,$38,$0E,$03,$03 snakefvA
813B DEFB $03,$06,$1C,$78,$E0,$C0,$C0,$F0
8143 DEFB $3C,$1E,$07,$03,$0F,$1E,$18,$30
814B DEFB $30,$38,$78,$5C,$64,$2C,$24,$2C
8153 DEFB $30,$0E,$03,$01,$03,$06,$1C,$38 snakefvB
815B DEFB $60,$C0,$C0,$C0,$70,$3C,$1E,$07
8163 DEFB $03,$0F,$3E,$78,$E0,$C0,$E0,$E0
816B DEFB $70,$38,$78,$5C,$64,$2C,$24,$2C
8173 DEFB $06,$01,$07,$0E,$18,$70,$60,$C0 snakefvC
817B DEFB $C0,$F0,$3C,$0E,$07,$03,$0F,$3E
8183 DEFB $78,$E0,$C0,$E0,$F8,$7C,$0C,$0C
818B DEFB $1C,$38,$38,$2C,$34,$14,$14,$14
8193 DEFB $02,$0C,$18,$70,$E0,$C0,$F0,$7C snakefvD
819B DEFB $0E,$07,$03,$0F,$3E,$70,$E0,$C0
81A3 DEFB $E0,$FC,$7E,$07,$03,$0F,$1E,$38
81AB DEFB $30,$30,$70,$58,$68,$28,$28,$28
81B3 DEFB $FF
81B4 DEFB $00,$00,$00,$00,$00,$00,$00,$00 snakefvE
81BC DEFB $00,$30,$0E,$03,$01,$0F,$3E,$70
81C4 DEFB $C0,$FC,$7E,$0F,$03,$7F,$FC,$E0
81CC DEFB $70,$38,$78,$5C,$64,$2C,$24,$2C
81D4 DEFB $00,$00,$00,$00,$00,$00,$00,$00 snakefvF
81DC DEFB $00,$00,$00,$00,$10,$0E,$02,$7E
81E4 DEFB $FC,$80,$FE,$7F,$01,$3F,$7E,$E0
81EC DEFB $E0,$80,$38,$74,$52,$76,$72,$34
81F4 DEFB $00,$00,$00,$00,$00,$00,$00,$00 snakefvG
81FC DEFB $00,$00,$00,$00,$00,$00,$00,$00
8204 DEFB $00,$00,$0C,$03,$01,$0F,$10,$34
820C DEFB $52,$76,$72,$76,$52,$34,$90,$C0
8214 DEFB $00,$00,$00,$00,$00,$00,$00,$00 snakefvH
821C DEFB $00,$00,$00,$00,$00,$34,$72,$76
8224 DEFB $52,$74,$3A,$06,$07,$3F,$7E,$E0
822C DEFB $F8,$7F,$07,$01,$67,$86,$98,$60
8234 DEFB $00,$00,$00,$00,$00,$2C,$24,$2C snakefvI
823C DEFB $64,$5C,$78,$38,$1E,$0F,$03,$0F
8244 DEFB $7E,$F8,$C0,$F0,$7C,$0E,$03,$0F
824C DEFB $3E,$70,$C0,$80,$C0,$60,$30,$0C
Round fish sprites
8254 DEFB $00,$18,$3C,$3C,$5F,$FE,$4F,$FF roundf0
825C DEFB $5F,$FF,$30,$FE,$00,$3E,$00,$1C
8264 DEFB $00,$1C,$07,$FE,$0B,$FF,$09,$FF roundf1
826C DEFB $0B,$FF,$0C,$FE,$00,$3C,$00,$1C
8274 DEFB $03,$E0,$05,$F0,$08,$F8,$08,$F8 roundf2
827C DEFB $08,$F8,$08,$F0,$05,$F0,$03,$E0
8284 DEFB $FF
8285 DEFB $18,$00,$3C,$3C,$7F,$FA,$FF,$F2 roundf3
828D DEFB $FF,$FA,$7F,$0C,$7C,$00,$38,$00
8295 DEFB $38,$00,$7F,$E0,$FF,$D0,$FF,$90 roundf4
829D DEFB $FF,$D0,$7F,$30,$3C,$00,$38,$00
82A5 DEFB $07,$C0,$0F,$A0,$1F,$10,$1F,$10 roundf5
82AD DEFB $1F,$10,$0F,$10,$0F,$A0,$07,$C0
82B5 DEFB $FF
82B6 DEFB $00,$60,$00,$B8,$01,$1C,$02,$0C roundf6
82BE DEFB $02,$0C,$01,$18,$00,$B8,$00,$60
82C6 DEFB $00,$F0,$01,$F8,$03,$9C,$03,$0C roundf7
82CE DEFB $03,$0C,$03,$9C,$01,$F8,$00,$F0
82D6 DEFB $03,$00,$0E,$80,$1C,$40,$18,$20 roundf8
82DE DEFB $18,$20,$0C,$40,$0E,$80,$03,$00
82E6 DEFB $06,$00,$1D,$00,$30,$80,$30,$40 roundf9
82EE DEFB $30,$40,$18,$80,$1D,$00,$06,$00
82F6 DEFB $0F,$00,$1F,$80,$39,$C0,$30,$C0 roundfA
82FE DEFB $30,$C0,$39,$C0,$1F,$80,$0F,$00
8306 DEFB $01,$80,$02,$E0,$04,$70,$08,$30 roundfB
830E DEFB $08,$30,$04,$60,$02,$E0,$01,$80
Round fish vertical sprites
8316 DEFB $18,$3E,$7F,$FF,$FF,$7E,$3C,$3C roundv0
831E DEFB $38,$38,$78,$78,$6C,$44,$38,$00
8326 DEFB $38,$7C,$FF,$FF,$FF,$7E,$7C,$7C roundv1
832E DEFB $78,$68,$44,$3C,$00,$00,$00,$00
8336 DEFB $00,$00,$00,$38,$7E,$FF,$FF,$FF roundv2
833E DEFB $C3,$81,$42,$3C,$00,$00,$00,$00
8346 DEFB $FF
8347 DEFB $00,$38,$44,$6C,$78,$78,$38,$38 roundv3
834F DEFB $3C,$3C,$7E,$FF,$FF,$7F,$3E,$18
8357 DEFB $00,$00,$00,$00,$3C,$44,$68,$78 roundv4
835F DEFB $7C,$7C,$7E,$FF,$FF,$FF,$7C,$38
8367 DEFB $00,$00,$00,$00,$3C,$42,$81,$C3 roundv5
836F DEFB $FF,$FF,$FF,$7E,$38,$00,$00,$00
8377 DEFB $FF
8378 DEFB $00,$00,$38,$7E,$66,$C3,$81,$42 roundv6
8380 DEFB $24,$18,$00,$00,$00,$00,$00,$00
8388 DEFB $00,$00,$3C,$7E,$E7,$C3,$C3,$E7 roundv7
8390 DEFB $7E,$3C,$00,$00,$00,$00,$00,$00
8398 DEFB $00,$00,$00,$00,$00,$18,$24,$42 roundv8
83A0 DEFB $81,$C3,$66,$7E,$38,$00,$00,$00
83A8 DEFB $00,$00,$00,$00,$00,$00,$18,$24 roundv9
83B0 DEFB $42,$81,$C3,$46,$7E,$38,$00,$00
83B8 DEFB $00,$00,$00,$00,$00,$00,$3C,$7E roundvA
83C0 DEFB $E7,$C3,$C3,$E7,$7E,$3C,$00,$00
83C8 DEFB $00,$00,$00,$00,$38,$7E,$66,$C3 roundvB
83D0 DEFB $81,$42,$24,$18,$00,$00,$00,$00
Squid sprites; width 7 height 2 chars; 112 bytes each
83D8 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$7C,$18,$00,$00,$00,$00,$03,$83,$A4,$00,$00,$00 squid0
83ED DEFB $00,$0C,$18,$73,$1D,$C0,$00,$00,$30,$67,$BF,$ED,$FC,$00,$00,$43,$3C,$FB,$FB,$FF,$30
8402 DEFB $00,$98,$C7,$9F,$FB,$FF,$DC,$01,$87,$1C,$F3,$FD,$FF,$EF,$03,$80,$F3,$6D,$20,$00,$38
8417 DEFB $07,$01,$8C,$B0,$C0,$00,$00,$0E,$06,$71,$40,$00,$00,$00,$1C,$19,$8F,$80,$00,$00,$00
842C DEFB $00,$62,$14,$00,$00,$00,$00,$1F,$80,$28,$00,$00,$00,$00,$3E,$00,$24,$00,$00,$00,$00
8441 DEFB $00,$00,$10,$00,$00,$00,$00
8448 DEFB $00,$03,$C0,$00,$00,$00,$00,$00,$07,$30,$00,$00,$00,$00,$00,$18,$88,$00,$00,$00,$00 squid1
845D DEFB $00,$60,$84,$00,$00,$00,$00,$F9,$86,$63,$38,$00,$00,$00,$7E,$31,$B8,$C6,$3B,$F8,$60
8472 DEFB $00,$0E,$CF,$7F,$D7,$FF,$B8,$00,$03,$B9,$F7,$F7,$FF,$DC,$00,$04,$6E,$7F,$FB,$FE,$70
8487 DEFB $00,$08,$39,$E7,$FB,$80,$00,$00,$30,$E2,$3C,$80,$00,$00,$00,$C3,$04,$C3,$00,$00,$00
849C DEFB $3F,$0C,$0B,$00,$00,$00,$00,$7C,$00,$1C,$00,$00,$00,$00,$00,$01,$60,$00,$00,$00,$00
84B1 DEFB $00,$00,$C0,$00,$00,$00,$00
84B8 DEFB $70,$01,$C0,$00,$00,$00,$00,$38,$06,$30,$00,$00,$00,$00,$1E,$08,$08,$00,$00,$00,$00 squid2
84CD DEFB $06,$12,$04,$00,$00,$00,$00,$02,$61,$E2,$00,$00,$00,$00,$31,$86,$19,$00,$00,$00,$00
84E2 DEFB $00,$31,$86,$B0,$00,$00,$E0,$00,$0F,$71,$EC,$3B,$FF,$B8,$00,$07,$8C,$7F,$D7,$FF,$70
84F7 DEFB $F8,$08,$E3,$B7,$F7,$FC,$C0,$7E,$30,$3F,$FF,$FB,$F0,$00,$01,$C1,$CC,$F7,$FB,$80,$00
850C DEFB $00,$03,$03,$9D,$00,$00,$00,$00,$04,$CC,$66,$00,$00,$00,$00,$00,$31,$80,$00,$00,$00
8521 DEFB $00,$01,$CE,$00,$00,$00,$00
8528 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 squid3
853D DEFB $00,$07,$80,$00,$00,$00,$00,$7C,$38,$78,$06,$00,$00,$00,$3F,$C2,$37,$99,$80,$00,$00
8552 DEFB $00,$31,$8C,$70,$67,$70,$00,$00,$0E,$73,$CF,$FB,$7F,$9C,$08,$01,$CF,$76,$FE,$FF,$F7
8567 DEFB $0C,$00,$3D,$CF,$FE,$FF,$EE,$0E,$00,$73,$F9,$FF,$7E,$18,$07,$07,$8F,$0F,$08,$00,$00
857C DEFB $03,$B8,$71,$F0,$90,$00,$00,$01,$C1,$BE,$E0,$60,$00,$00,$00,$02,$43,$00,$00,$00,$00
8591 DEFB $00,$00,$2C,$00,$00,$00,$00
8598 DEFB $FF
8599 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1E,$00,$00,$00,$00,$00 squid4
85AE DEFB $00,$0F,$81,$00,$00,$00,$00,$00,$00,$79,$38,$60,$00,$00,$00,$00,$07,$C6,$91,$BC,$30
85C3 DEFB $00,$00,$00,$C1,$FE,$BF,$DC,$00,$00,$07,$2C,$3F,$7F,$EE,$00,$00,$00,$FB,$EB,$7F,$38
85D8 DEFB $00,$00,$03,$8F,$3F,$B0,$00,$00,$00,$1C,$35,$D4,$00,$00,$00,$00,$61,$CE,$08,$00,$00
85ED DEFB $00,$07,$80,$14,$00,$00,$00,$00,$0F,$00,$24,$00,$00,$00,$00,$00,$00,$12,$00,$00,$00
8602 DEFB $00,$00,$00,$00,$00,$00,$00
8609 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$F0,$00,$00,$00 squid5
861E DEFB $00,$00,$00,$7E,$04,$00,$00,$00,$00,$00,$09,$EA,$D0,$00,$00,$00,$00,$04,$1F,$5E,$20
8633 DEFB $00,$00,$00,$1E,$F5,$DF,$F8,$00,$00,$00,$03,$FF,$DF,$FE,$00,$00,$00,$07,$5F,$DC,$20
8648 DEFB $00,$00,$00,$18,$EE,$80,$00,$00,$00,$00,$07,$93,$00,$00,$00,$00,$00,$F9,$24,$00,$00
865D DEFB $00,$00,$01,$C2,$28,$00,$00,$00,$00,$00,$00,$48,$00,$00,$00,$00,$00,$00,$44,$00,$00
8672 DEFB $00,$00,$00,$00,$00,$00,$00
8679 DEFB $00,$00,$00,$00,$00,$1C,$09,$00,$00,$00,$00,$00,$0E,$29,$00,$00,$00,$00,$00,$01,$2A squid6
868E DEFB $00,$00,$00,$00,$00,$00,$9C,$00,$00,$00,$00,$00,$06,$6C,$00,$00,$00,$00,$00,$01,$18
86A3 DEFB $00,$00,$00,$00,$00,$0D,$BC,$00,$00,$00,$00,$00,$03,$FF,$00,$00,$00,$00,$00,$0E,$FC
86B8 DEFB $00,$00,$00,$00,$00,$03,$58,$00,$00,$00,$00,$00,$00,$96,$00,$00,$00,$00,$00,$03,$21
86CD DEFB $00,$00,$00,$00,$00,$3C,$50,$00,$00,$00,$00,$00,$38,$48,$00,$00,$00,$00,$00,$00,$40
86E2 DEFB $00,$00,$00,$00,$00,$00,$00
86E9 DEFB $00,$00,$00,$00,$00,$00,$86,$00,$00,$00,$00,$00,$0E,$51,$00,$00,$00,$00,$00,$0F,$A9 squid7
86FE DEFB $00,$00,$00,$00,$00,$00,$6A,$00,$00,$00,$00,$00,$00,$2A,$00,$00,$00,$00,$00,$73,$5C
8713 DEFB $00,$00,$00,$00,$01,$FA,$B4,$00,$00,$00,$00,$03,$FD,$F9,$00,$00,$00,$00,$01,$FF,$9A
8728 DEFB $00,$00,$00,$00,$00,$7B,$E4,$00,$00,$00,$00,$00,$03,$9E,$00,$00,$00,$00,$00,$00,$51
873D DEFB $00,$00,$00,$00,$00,$00,$48,$00,$00,$00,$00,$00,$1E,$24,$00,$00,$00,$00,$00,$1D,$24
8752 DEFB $00,$00,$00,$00,$00,$00,$C8
8759 DEFB $00,$00,$00,$00,$00,$00,$1C,$00,$00,$00,$00,$00,$00,$0C,$00,$00,$00,$00,$00,$00,$02 squid8
876E DEFB $00,$00,$00,$00,$00,$00,$0C,$00,$00,$00,$00,$00,$00,$F0,$00,$00,$00,$18,$7B,$1F,$60
8783 DEFB $00,$00,$00,$77,$FA,$F1,$99,$00,$00,$00,$EF,$FF,$BE,$06,$00,$00,$00,$39,$FF,$FB,$38
8798 DEFB $00,$00,$00,$00,$1B,$FC,$C6,$00,$00,$00,$00,$00,$CF,$30,$00,$00,$00,$00,$00,$36,$CC
87AD DEFB $00,$00,$00,$00,$00,$01,$B2,$00,$00,$00,$00,$00,$00,$4C,$00,$00,$00,$00,$00,$00,$47
87C2 DEFB $00,$00,$00,$00,$00,$00,$27
87C9 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$60,$1F,$00,$00,$00,$00,$01,$98,$3E squid9
87DE DEFB $00,$00,$00,$00,$66,$07,$C0,$00,$00,$00,$01,$99,$90,$00,$00,$18,$7E,$E3,$EE,$67,$00
87F3 DEFB $00,$77,$FE,$DF,$69,$98,$00,$00,$EF,$FF,$7F,$F0,$03,$80,$00,$39,$FF,$7E,$DF,$1C,$00
8808 DEFB $00,$00,$0E,$FF,$B5,$F8,$00,$00,$00,$00,$00,$FA,$07,$00,$00,$00,$00,$00,$1F,$C0,$00
881D DEFB $00,$00,$00,$00,$07,$3F,$FE,$00,$00,$00,$00,$01,$80,$1E,$00,$00,$00,$00,$01,$40,$00
8832 DEFB $00,$00,$00,$00,$02,$20,$00
8839 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$18,$3E,$00,$00,$00,$00,$00,$25,$C1,$C0,$00 squidA
884E DEFB $00,$03,$B8,$CE,$18,$30,$00,$00,$3F,$B7,$FD,$E6,$0C,$00,$0C,$FF,$DF,$DF,$3C,$C2,$00
8863 DEFB $3B,$FF,$DF,$F9,$E3,$19,$00,$F7,$FF,$BF,$CF,$B8,$E1,$80,$1C,$00,$04,$B6,$CF,$01,$C0
8878 DEFB $00,$00,$03,$0D,$31,$80,$E0,$00,$00,$00,$02,$8E,$60,$70,$00,$00,$00,$01,$F1,$98,$38
888D DEFB $00,$00,$00,$00,$28,$46,$00,$00,$00,$00,$00,$14,$01,$F8,$00,$00,$00,$00,$24,$00,$7C
88A2 DEFB $00,$00,$00,$00,$08,$00,$00
88A9 DEFB $00,$00,$00,$00,$03,$C0,$00,$00,$00,$00,$00,$0C,$E0,$00,$00,$00,$00,$00,$11,$18,$00 squidB
88BE DEFB $00,$00,$00,$00,$21,$06,$00,$00,$00,$00,$1C,$C6,$61,$9F,$06,$1F,$DC,$63,$1D,$8C,$7E
88D3 DEFB $1D,$FF,$EB,$FE,$F3,$70,$00,$3B,$FF,$EF,$EF,$9D,$C0,$00,$0E,$7F,$DF,$FE,$76,$20,$00
88E8 DEFB $00,$01,$DF,$E7,$9C,$10,$00,$00,$00,$01,$3C,$47,$0C,$00,$00,$00,$00,$C3,$20,$C3,$00
88FD DEFB $00,$00,$00,$00,$D0,$30,$FC,$00,$00,$00,$00,$38,$00,$3E,$00,$00,$00,$00,$06,$80,$00
8912 DEFB $00,$00,$00,$00,$03,$00,$00
8919 DEFB $00,$00,$00,$00,$03,$80,$0E,$00,$00,$00,$00,$0C,$60,$1C,$00,$00,$00,$00,$10,$10,$78 squidC
892E DEFB $00,$00,$00,$00,$20,$48,$60,$00,$00,$00,$00,$47,$86,$40,$00,$00,$00,$00,$98,$61,$80
8943 DEFB $07,$00,$00,$0D,$61,$8C,$00,$1D,$FF,$DC,$37,$8E,$F0,$00,$0E,$FF,$EB,$FE,$31,$E0,$00
8958 DEFB $03,$3F,$EF,$ED,$C7,$10,$1F,$00,$0F,$DF,$FF,$FC,$0C,$7E,$00,$01,$DF,$EF,$33,$83,$80
896D DEFB $00,$00,$00,$B9,$C0,$C0,$00,$00,$00,$00,$66,$33,$20,$00,$00,$00,$00,$01,$8C,$00,$00
8982 DEFB $00,$00,$00,$00,$73,$80,$00
8989 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 squidD
899E DEFB $00,$00,$00,$00,$01,$E0,$00,$00,$00,$00,$60,$1E,$1C,$3E,$00,$00,$01,$99,$EC,$43,$FC
89B3 DEFB $00,$0E,$E6,$0E,$33,$8C,$00,$39,$FE,$DF,$F3,$CE,$70,$00,$EF,$FF,$7F,$6E,$F3,$80,$10
89C8 DEFB $77,$FF,$7F,$F3,$BC,$00,$30,$18,$7E,$FF,$9F,$CE,$00,$70,$00,$00,$10,$F0,$F1,$E0,$E0
89DD DEFB $00,$00,$09,$0F,$8E,$1D,$C0,$00,$00,$06,$07,$7D,$83,$80,$00,$00,$00,$00,$C2,$40,$00
89F2 DEFB $00,$00,$00,$00,$34,$00,$00
89F9 DEFB $FF
89FA DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$78,$00 squidE
8A0F DEFB $00,$00,$00,$01,$01,$F0,$00,$00,$00,$06,$1D,$1E,$00,$00,$0C,$3D,$89,$63,$E0,$00,$00
8A24 DEFB $3B,$FD,$7F,$83,$00,$00,$00,$77,$FE,$FC,$34,$E0,$00,$00,$1C,$FE,$D7,$DF,$00,$00,$00
8A39 DEFB $00,$0D,$FC,$F1,$C0,$00,$00,$00,$00,$2B,$AC,$38,$00,$00,$00,$00,$10,$73,$86,$00,$00
8A4E DEFB $00,$00,$00,$28,$01,$E0,$00,$00,$00,$00,$24,$00,$F0,$00,$00,$00,$00,$48,$00,$00,$00
8A63 DEFB $00,$00,$00,$00,$00,$00,$00
8A6A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$00,$00,$00 squidF
8A7F DEFB $00,$00,$20,$7E,$00,$00,$00,$00,$7B,$57,$90,$00,$00,$00,$05,$FA,$F8,$20,$00,$00,$00
8A94 DEFB $1F,$FB,$AF,$78,$00,$00,$00,$7F,$FB,$FF,$C0,$00,$00,$00,$07,$FB,$FA,$E0,$00,$00,$00
8AA9 DEFB $00,$01,$77,$18,$00,$00,$00,$00,$00,$C9,$E0,$00,$00,$00,$00,$00,$24,$9F,$00,$00,$00
8ABE DEFB $00,$00,$14,$43,$80,$00,$00,$00,$00,$12,$00,$00,$00,$00,$00,$00,$22,$00,$00,$00,$00
8AD3 DEFB $00,$00,$00,$00,$00,$00,$00
8ADA DEFB $90,$38,$00,$00,$00,$00,$00,$94,$70,$00,$00,$00,$00,$00,$54,$80,$00,$00,$00,$00,$00 squidG
8AEF DEFB $39,$00,$00,$00,$00,$00,$00,$36,$60,$00,$00,$00,$00,$00,$18,$80,$00,$00,$00,$00,$00
8B04 DEFB $3D,$B0,$00,$00,$00,$00,$00,$FF,$C0,$00,$00,$00,$00,$00,$3F,$70,$00,$00,$00,$00,$00
8B19 DEFB $1A,$C0,$00,$00,$00,$00,$00,$69,$00,$00,$00,$00,$00,$00,$84,$C0,$00,$00,$00,$00,$00
8B2E DEFB $0A,$3C,$00,$00,$00,$00,$00,$12,$1C,$00,$00,$00,$00,$00,$02,$00,$00,$00,$00,$00,$00
8B43 DEFB $00,$00,$00,$00,$00,$00,$00
8B4A DEFB $61,$00,$00,$00,$00,$00,$00,$8A,$70,$00,$00,$00,$00,$00,$95,$F0,$00,$00,$00,$00,$00 squidH
8B5F DEFB $56,$00,$00,$00,$00,$00,$00,$54,$00,$00,$00,$00,$00,$00,$3A,$EE,$00,$00,$00,$00,$00
8B74 DEFB $2D,$7F,$80,$00,$00,$00,$00,$1F,$BF,$C0,$00,$00,$00,$00,$19,$FF,$80,$00,$00,$00,$00
8B89 DEFB $07,$DE,$00,$00,$00,$00,$00,$79,$C0,$00,$00,$00,$00,$00,$8A,$00,$00,$00,$00,$00,$00
8B9E DEFB $12,$00,$00,$00,$00,$00,$00,$24,$78,$00,$00,$00,$00,$00,$24,$B8,$00,$00,$00,$00,$00
8BB3 DEFB $13,$00,$00,$00,$00,$00,$00
8BBA DEFB $38,$00,$00,$00,$00,$00,$00,$30,$00,$00,$00,$00,$00,$00,$40,$00,$00,$00,$00,$00,$00 squidI
8BCF DEFB $30,$00,$00,$00,$00,$00,$00,$0F,$00,$00,$00,$00,$00,$00,$06,$F8,$FE,$18,$00,$00,$00
8BE4 DEFB $99,$8F,$5F,$EE,$00,$00,$00,$60,$7D,$FF,$F7,$00,$00,$00,$1C,$DF,$FF,$9C,$00,$00,$00
8BF9 DEFB $63,$3F,$D8,$00,$00,$00,$00,$0C,$F3,$00,$00,$00,$00,$00,$33,$6C,$00,$00,$00,$00,$00
8C0E DEFB $4D,$80,$00,$00,$00,$00,$00,$32,$00,$00,$00,$00,$00,$00,$E2,$00,$00,$00,$00,$00,$00
8C23 DEFB $E4,$00,$00,$00,$00,$00,$00
8C2A DEFB $00,$00,$00,$00,$00,$00,$00,$F8,$06,$00,$00,$00,$00,$00,$7C,$19,$80,$00,$00,$00,$00 squidJ
8C3F DEFB $03,$E0,$66,$00,$00,$00,$00,$00,$09,$99,$80,$00,$00,$00,$00,$E6,$77,$C7,$7E,$18,$00
8C54 DEFB $00,$19,$96,$FB,$7F,$EE,$00,$01,$C0,$0F,$FE,$FF,$F7,$00,$00,$38,$FB,$7E,$FF,$9C,$00
8C69 DEFB $00,$1F,$AD,$FF,$70,$00,$00,$00,$E0,$5F,$00,$00,$00,$00,$00,$03,$F8,$00,$00,$00,$00
8C7E DEFB $7F,$FC,$E0,$00,$00,$00,$00,$F0,$01,$80,$00,$00,$00,$00,$00,$02,$80,$00,$00,$00,$00
8C93 DEFB $00,$04,$40,$00,$00,$00,$00
Boat sprite; width 7 height 3 chars, 168 bytes
8C9A DEFB $02,$00,$00,$00,$00,$00,$00,$02,$00,$00,$00,$00,$00,$00,$02,$00,$04,$00,$00,$00,$00 boat
8CAF DEFB $02,$00,$04,$00,$00,$00,$00,$02,$00,$04,$00,$00,$00,$00,$02,$00,$0F,$FF,$C0,$00,$00
8CC4 DEFB $02,$00,$18,$87,$00,$00,$00,$02,$00,$30,$86,$00,$00,$00,$02,$00,$70,$84,$31,$8C,$00
8CD9 DEFB $02,$30,$FF,$FC,$7B,$DE,$30,$FF,$FF,$FF,$FF,$31,$8C,$F8,$79,$55,$55,$55,$7B,$DE,$CE
8CEE DEFB $3E,$AA,$AA,$AB,$7B,$DE,$99,$0F,$FF,$FF,$FF,$7B,$DE,$F9,$03,$FF,$FF,$FF,$FF,$FF,$F9
8D03 DEFB $00,$FF,$FF,$FF,$FF,$FF,$F9,$00,$3F,$FF,$FF,$FF,$FF,$F9,$00,$07,$FF,$FF,$FF,$FF,$FF
8D18 DEFB $00,$00,$7F,$FF,$FF,$FF,$F9,$00,$00,$03,$FF,$FF,$FF,$F9,$00,$00,$00,$00,$3F,$00,$21
8D2D DEFB $00,$00,$00,$00,$00,$FC,$28,$00,$00,$00,$00,$00,$03,$F8,$00,$00,$00,$00,$00,$00,$08
Meduza sprites; width 1
8D42 DEFB $FF
8D43 DEFB $0C,$3E,$FF,$55,$55,$55,$95,$A5 meduza0
8D4B DEFB $A4,$94,$48,$48,$08,$08,$08,$04
8D53 DEFB $0C,$3E,$FF,$A5,$A5,$95,$95,$A5 meduza1
8D5B DEFB $A5,$95,$54,$44,$08,$08,$08,$08
8D63 DEFB $0C,$3E,$FF,$55,$55,$95,$A5,$A5 meduza2
8D6B DEFB $A5,$6A,$8A,$88,$08,$08,$08,$10
8D73 DEFB $FF
Octopus phases 0..4, each phase 4*6*8 = 192 bytes
8D74 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 octopus0 0
8D84 DEFB $40,$40,$80,$80,$80,$C0,$40,$60,$00,$02,$02,$02,$06,$1C,$30,$E0
8D94 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
8DA4 DEFB $00,$00,$00,$00,$0E,$1F,$3F,$7F,$00,$00,$00,$00,$00,$80,$C0,$E0
8DB4 DEFB $20,$31,$11,$19,$0C,$04,$04,$04,$C0,$80,$80,$80,$C0,$C0,$C0,$C0
8DC4 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
8DD4 DEFB $7F,$FF,$FF,$FF,$FF,$7F,$7F,$3F,$F7,$FD,$FD,$FF,$FF,$FB,$FD,$F8
8DE4 DEFB $0D,$09,$8D,$F7,$FB,$F9,$F1,$76,$80,$81,$83,$0E,$F8,$E0,$BF,$F1
8DF4 DEFB $00,$F8,$9E,$03,$00,$00,$00,$C0,$00,$00,$00,$81,$FE,$00,$00,$00
8E04 DEFB $0F,$03,$38,$47,$41,$80,$89,$46,$E0,$00,$07,$1D,$72,$C4,$7F,$18
8E14 DEFB $1B,$4B,$A3,$DB,$77,$DF,$0C,$00,$00,$80,$40,$40,$40,$80,$00,$00
8E24 DEFB $E0,$70,$18,$0C,$07,$00,$00,$00,$00,$00,$00,$02,$8E,$F8,$00,$00
8E34 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$00,$00,$00 octopus1 1
8E44 DEFB $00,$C0,$20,$00,$80,$C0,$60,$30,$18,$20,$60,$60,$30,$30,$60,$C0
8E54 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
8E64 DEFB $00,$00,$00,$07,$0F,$1F,$3F,$3F,$00,$00,$00,$00,$C0,$E0,$F0,$FB
8E74 DEFB $18,$0C,$04,$06,$03,$01,$03,$86,$C0,$C0,$60,$30,$30,$30,$60,$60
8E84 DEFB $00,$00,$00,$00,$00,$00,$00,$78,$00,$00,$00,$00,$00,$00,$00,$78
8E94 DEFB $7F,$7F,$7F,$7F,$3F,$3F,$1F,$07,$FE,$FE,$FF,$FF,$FD,$FE,$FC,$F0
8EA4 DEFB $84,$C6,$FB,$FD,$FC,$F8,$3B,$0D,$61,$C3,$86,$FC,$F0,$DF,$78,$80
8EB4 DEFB $CE,$03,$00,$00,$00,$80,$F0,$3C,$C6,$81,$00,$00,$00,$00,$04,$02
8EC4 DEFB $01,$00,$38,$47,$41,$82,$82,$4C,$80,$07,$1D,$71,$C2,$7F,$04,$19
8ED4 DEFB $65,$91,$6D,$3B,$DF,$26,$40,$80,$C0,$A0,$A0,$A0,$C0,$00,$00,$00
8EE4 DEFB $0F,$01,$00,$00,$00,$00,$00,$00,$0C,$F0,$00,$00,$00,$00,$00,$00
8EF4 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$04,$04,$0D,$0C,$06,$07 octopus2 2
8F04 DEFB $00,$00,$81,$82,$02,$06,$06,$06,$00,$80,$40,$40,$00,$00,$00,$00
8F14 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
8F24 DEFB $00,$00,$0E,$1F,$3F,$7F,$7F,$FF,$01,$00,$00,$80,$C0,$E0,$F7,$FD
8F34 DEFB $C3,$73,$19,$0D,$05,$0C,$0C,$0D,$00,$00,$80,$80,$80,$C0,$C3,$86
8F44 DEFB $00,$00,$00,$00,$07,$FC,$80,$00,$00,$00,$00,$0E,$F1,$00,$00,$00
8F54 DEFB $FF,$FF,$FF,$7F,$7F,$3F,$0F,$03,$FD,$FF,$FF,$FB,$FD,$F8,$E0,$00
8F64 DEFB $8D,$F7,$FB,$F9,$F1,$76,$1B,$0B,$8C,$78,$C1,$EF,$B8,$F0,$00,$80
8F74 DEFB $00,$00,$E0,$3C,$07,$00,$00,$00,$08,$04,$04,$18,$E0,$00,$00,$00
8F84 DEFB $00,$00,$3C,$43,$41,$82,$82,$4C,$07,$1C,$70,$C1,$7E,$02,$05,$19
8F94 DEFB $C3,$76,$EE,$FF,$98,$80,$00,$80,$40,$40,$80,$00,$00,$00,$00,$00
8FA4 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
8FB4 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$08,$08,$09,$0C,$06 octopus3 3
8FC4 DEFB $00,$03,$0C,$88,$88,$08,$0C,$04,$00,$80,$40,$40,$80,$00,$00,$00
8FD4 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
8FE4 DEFB $0E,$1F,$3F,$7F,$7F,$FF,$FF,$FF,$03,$80,$C0,$E0,$F7,$FD,$FD,$FF
8FF4 DEFB $86,$C3,$63,$23,$31,$19,$8D,$F7,$00,$00,$00,$01,$83,$86,$9C,$70
9004 DEFB $0E,$7B,$C0,$80,$00,$00,$0F,$78,$00,$80,$E8,$10,$18,$E8,$10,$00
9014 DEFB $FF,$7F,$7F,$3F,$0F,$03,$00,$00,$FF,$FB,$FD,$F8,$E0,$00,$00,$0F
9024 DEFB $FB,$F9,$F1,$76,$1B,$4B,$A3,$13,$C3,$EE,$B8,$F0,$00,$80,$40,$40
9034 DEFB $C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
9044 DEFB $00,$1E,$23,$40,$41,$82,$82,$4C,$11,$12,$A7,$FC,$04,$04,$04,$19
9054 DEFB $9F,$F7,$BE,$11,$20,$40,$80,$80,$40,$C0,$40,$80,$00,$00,$00,$00
9064 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
9074 DEFB $00,$00,$00,$00,$00,$00,$00,$0E,$00,$04,$0A,$12,$10,$08,$0C,$06 octopus4 4
9084 DEFB $18,$24,$22,$22,$30,$10,$18,$0C,$00,$00,$18,$24,$44,$06,$02,$02
9094 DEFB $00,$00,$00,$00,$1C,$73,$C0,$C0,$00,$00,$00,$00,$00,$00,$80,$00
90A4 DEFB $1F,$3F,$7F,$7F,$FF,$FF,$FF,$FF,$83,$C0,$E0,$F7,$FF,$FF,$FD,$FF
90B4 DEFB $86,$C6,$63,$23,$33,$99,$CD,$F7,$03,$07,$06,$0E,$1B,$9B,$B3,$76
90C4 DEFB $80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
90D4 DEFB $7F,$7F,$3F,$0F,$03,$00,$00,$00,$FB,$FD,$F8,$E0,$00,$00,$00,$07
90E4 DEFB $FB,$F9,$71,$36,$1B,$0B,$23,$DE,$C6,$EE,$BC,$F0,$00,$80,$40,$40
90F4 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
9104 DEFB $00,$0F,$11,$10,$21,$22,$42,$4C,$0C,$18,$B3,$FE,$82,$04,$04,$19
9114 DEFB $C6,$F7,$DE,$22,$21,$40,$40,$80,$80,$40,$40,$80,$00,$00,$00,$00
9124 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Relief tiles 8x8 pixels
9134 DEFB $00,$00,$00,$00,$00,$00,$00,$00 tile00 $00
913C DEFB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF tile01 $01
9144 DEFB $C0,$F0,$F0,$FC,$FC,$FC,$FE,$FF tile02 $02
914C DEFB $00,$00,$80,$80,$C0,$C0,$E0,$FE tile03 $03
9154 DEFB $01,$0F,$1F,$3F,$3F,$7F,$FF,$FF tile04 $04
915C DEFB $00,$01,$01,$03,$1F,$3F,$3F,$7F tile05 $05
9164 DEFB $01,$01,$03,$07,$1F,$1F,$7F,$FF tile06 $06
916C DEFB $00,$00,$01,$03,$07,$07,$07,$3F tile07 $07
9174 DEFB $FF,$FF,$FE,$FE,$FC,$FC,$F0,$C0 tile08 $08
917C DEFB $FF,$FC,$D8,$D0,$C0,$80,$80,$00 tile09 $09
9184 DEFB $FF,$FE,$F8,$F0,$E0,$C0,$80,$00 tile0A $0A
918C DEFB $FE,$FE,$CA,$C0,$80,$80,$80,$00 tile0B $0B
9194 DEFB $7F,$3F,$2F,$07,$07,$07,$03,$01 tile0C $0C
919C DEFB $FF,$FF,$7F,$7F,$3F,$1F,$0F,$03 tile0D $0D
91A4 DEFB $7F,$07,$05,$01,$01,$01,$01,$00 tile0E $0E
91AC DEFB $7F,$7F,$1F,$1F,$07,$07,$03,$03 tile0F $0F
91B4 DEFB $80,$C0,$C0,$C0,$E0,$C0,$80,$00 tile10 $10
91BC DEFB $00,$80,$C0,$C0,$C0,$80,$80,$00 tile11 $11
91C4 DEFB $80,$E0,$F0,$F0,$F8,$E0,$E0,$C0 tile12 $12
91CC DEFB $00,$80,$80,$80,$80,$C0,$E0,$80 tile13 $13
91D4 DEFB $5E,$0C,$00,$00,$00,$00,$00,$00 tile14 $14
91DC DEFB $FF,$FE,$3E,$3E,$3E,$1A,$10,$10 tile15 $15
91E4 DEFB $FF,$3D,$18,$00,$00,$00,$00,$00 tile16 $16
91EC DEFB $7F,$38,$18,$10,$00,$00,$00,$00 tile17 $17
91F4 DEFB $01,$03,$03,$07,$07,$03,$03,$00 tile18 $18
91FC DEFB $00,$00,$07,$01,$03,$03,$01,$01 tile19 $19
9204 DEFB $01,$07,$1F,$7F,$0F,$03,$01,$01 tile1A $1A
920C DEFB $01,$00,$01,$07,$03,$01,$03,$00 tile1B $1B
9214 DEFB $00,$00,$00,$00,$04,$04,$8C,$DF tile1C $1C
921C DEFB $00,$08,$38,$38,$3C,$7C,$7E,$FF tile1D $1D
9224 DEFB $00,$00,$00,$00,$00,$04,$9E,$FE tile1E $1E
922C DEFB $00,$00,$00,$00,$20,$68,$FA,$FF tile1F $1F
9234 DEFB $7F,$3F,$3F,$3F,$1F,$3F,$7F,$FF tile20 $20
923C DEFB $FF,$7F,$3F,$3F,$3F,$7F,$7F,$FF tile21 $21
9244 DEFB $7F,$1F,$0F,$0F,$07,$1F,$1F,$3F tile22 $22
924C DEFB $FF,$7F,$7F,$7F,$7F,$3F,$1F,$7F tile23 $23
9254 DEFB $A1,$F3,$FF,$FF,$FF,$FF,$FF,$FF tile24 $24
925C DEFB $00,$01,$C1,$C1,$C1,$E5,$EF,$EF tile25 $25
9264 DEFB $00,$C2,$E7,$FF,$FF,$FF,$FF,$FF tile26 $26
926C DEFB $80,$C7,$E7,$EF,$FF,$FF,$FF,$FF tile27 $27
9274 DEFB $FE,$FC,$FC,$F8,$F8,$FC,$FC,$FF tile28 $28
927C DEFB $FF,$FF,$F8,$FE,$FC,$FC,$FE,$FE tile29 $29
9284 DEFB $FE,$F8,$E0,$80,$F0,$FC,$FE,$FE tile2A $2A
928C DEFB $FE,$FF,$FE,$F8,$FC,$FE,$FC,$FF tile2B $2B
9294 DEFB $FF,$FF,$FF,$FD,$FD,$F9,$71,$20 tile2C $2C
929C DEFB $FF,$F7,$C7,$C7,$C3,$83,$81,$00 tile2D $2D
92A4 DEFB $FF,$FF,$FF,$FF,$FF,$FB,$61,$01 tile2E $2E
92AC DEFB $FF,$FF,$FF,$FF,$DF,$97,$05,$00 tile2F $2F
92B4 DEFB $80,$C0,$F8,$F8,$FA,$FE,$FE,$FF tile30 $30
92BC DEFB $00,$80,$80,$C0,$C0,$E0,$F8,$FE tile31 $31
92C4 DEFB $00,$00,$00,$00,$00,$00,$00,$00
Scuba diver sprites; width 2 height 2 chars
92CC DEFB $01,$80,$03,$D0,$03,$D0,$01,$90,$07,$A0,$07,$C0,$07,$80,$07,$80 diver0a
92DC DEFB $06,$80,$03,$00,$01,$00,$01,$80,$02,$80,$02,$80,$04,$80,$04,$80
92EC DEFB $01,$80,$03,$D0,$03,$D0,$01,$90,$07,$A0,$07,$C0,$07,$80,$07,$80 diver0b
92FC DEFB $06,$80,$03,$00,$03,$80,$02,$80,$04,$40,$04,$40,$08,$80,$10,$80
930C DEFB $03,$00,$07,$A0,$07,$A0,$03,$20,$0F,$40,$0F,$80,$0F,$00,$0F,$00 diver0c
931C DEFB $0D,$00,$06,$00,$02,$00,$06,$00,$05,$00,$05,$00,$08,$80,$10,$80
932C DEFB $03,$00,$07,$80,$07,$A0,$03,$20,$0F,$20,$0F,$C0,$0F,$00,$0F,$00 diver0d
933C DEFB $0D,$00,$06,$00,$02,$00,$02,$00,$02,$00,$06,$00,$06,$00,$06,$00
934C DEFB $00,$18,$00,$3C,$00,$3D,$00,$BA,$01,$E2,$01,$EC,$03,$F0,$03,$E0 diver1a
935C DEFB $01,$40,$01,$80,$01,$00,$03,$80,$04,$80,$09,$00,$11,$00,$00,$00
936C DEFB $00,$18,$00,$3C,$00,$3D,$00,$BA,$01,$E2,$01,$EC,$03,$F0,$03,$E0 diver1b
937C DEFB $01,$40,$03,$80,$02,$80,$04,$80,$08,$80,$30,$80,$01,$00,$02,$00
938C DEFB $00,$30,$00,$78,$00,$7A,$01,$74,$03,$C4,$03,$D8,$07,$E0,$07,$C0 diver1c
939C DEFB $02,$80,$03,$00,$05,$00,$09,$00,$71,$00,$02,$00,$02,$00,$02,$00
93AC DEFB $00,$30,$00,$78,$00,$78,$01,$70,$03,$C0,$03,$C2,$07,$E4,$07,$D8 diver1d
93BC DEFB $02,$80,$03,$00,$02,$00,$06,$00,$0C,$00,$1C,$00,$18,$00,$08,$00
93CC DEFB $00,$00,$00,$00,$00,$18,$00,$3C,$00,$BC,$01,$F8,$03,$E1,$07,$E2 diver2a
93DC DEFB $05,$9C,$07,$00,$1C,$00,$E4,$00,$18,$00,$60,$00,$C0,$00,$00,$00
93EC DEFB $00,$00,$00,$00,$00,$18,$00,$3C,$00,$BC,$01,$F8,$03,$E1,$07,$E2 diver2b
93FC DEFB $05,$9C,$0F,$00,$B4,$00,$6C,$00,$08,$00,$08,$00,$00,$00,$00,$00
940C DEFB $00,$00,$00,$18,$00,$3C,$00,$BC,$01,$F8,$03,$E1,$07,$E2,$05,$9C diver2c
941C DEFB $07,$00,$1C,$00,$F8,$00,$18,$00,$10,$00,$10,$00,$20,$00,$00,$00
942C DEFB $00,$00,$00,$18,$00,$3C,$00,$BC,$01,$F8,$03,$E0,$07,$E2,$05,$94 diver2d
943C DEFB $0F,$08,$18,$00,$70,$00,$E0,$00,$C0,$00,$00,$00,$00,$00,$00,$00
944C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$46,$01,$EF,$03,$FF diver3a
945C DEFB $07,$F6,$06,$E1,$FF,$3A,$18,$04,$70,$00,$80,$00,$00,$00,$00,$00
946C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$46,$01,$EF,$83,$FF diver3b
947C DEFB $67,$F6,$1E,$E1,$07,$3A,$0C,$04,$78,$00,$00,$00,$00,$00,$00,$00
948C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$46,$01,$EF,$03,$FF,$C7,$F6 diver3c
949C DEFB $3E,$E1,$0B,$3A,$10,$04,$20,$00,$40,$00,$00,$00,$00,$00,$00,$00
94AC DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$46,$01,$EF,$03,$FF,$07,$F6 diver3d
94BC DEFB $06,$E0,$FF,$12,$F8,$0C,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00
94CC DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C1,$F0,$33,$F6,$0E,$FF diver4a
94DC DEFB $F9,$FF,$00,$26,$00,$10,$00,$0E,$00,$00,$00,$00,$00,$00,$00,$00
94EC DEFB $00,$00,$00,$00,$00,$00,$80,$00,$40,$00,$31,$F0,$0F,$F6,$06,$FF diver4b
94FC DEFB $CD,$FF,$30,$26,$00,$10,$00,$0E,$00,$00,$00,$00,$00,$00,$00,$00
950C DEFB $00,$00,$00,$00,$00,$00,$80,$00,$41,$F0,$3B,$F6,$0E,$FF,$31,$FF diver4c
951C DEFB $C0,$26,$00,$10,$00,$0E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
952C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$01,$F0,$E3,$F6,$FE,$FF,$01,$FF diver4d
953C DEFB $00,$26,$00,$20,$00,$1C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
954C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$20,$00,$11,$C0,$CF,$F0 diver5a
955C DEFB $3A,$F6,$03,$FF,$00,$6F,$00,$46,$00,$20,$00,$1C,$00,$00,$00,$00
956C DEFB $00,$00,$00,$00,$20,$00,$20,$00,$20,$00,$50,$00,$59,$C0,$4F,$F0 diver5b
957C DEFB $32,$F6,$03,$FF,$00,$6F,$00,$46,$00,$20,$00,$1C,$00,$00,$00,$00
958C DEFB $00,$00,$20,$00,$20,$00,$20,$00,$18,$00,$05,$C0,$FF,$F0,$02,$F6 diver5c
959C DEFB $03,$FF,$00,$6F,$00,$46,$00,$20,$00,$1C,$00,$00,$00,$00,$00,$00
95AC DEFB $00,$00,$00,$00,$00,$00,$00,$00,$C0,$00,$E1,$C0,$EF,$F0,$06,$F6 diver5d
95BC DEFB $03,$FF,$00,$6F,$00,$46,$00,$40,$00,$30,$00,$00,$00,$00,$00,$00
95CC DEFB $10,$00,$08,$00,$48,$00,$24,$00,$14,$80,$0F,$C0,$02,$E0,$01,$F8 diver6a
95DC DEFB $01,$F8,$00,$F0,$00,$F4,$00,$9E,$00,$9E,$00,$8C,$00,$40,$00,$20
95EC DEFB $04,$00,$04,$00,$14,$00,$12,$00,$12,$80,$1F,$C0,$02,$E0,$01,$F8 diver6b
95FC DEFB $01,$F8,$00,$F0,$00,$F4,$00,$9E,$00,$9E,$00,$8C,$00,$40,$00,$20
960C DEFB $10,$00,$10,$00,$10,$00,$88,$00,$65,$00,$1F,$80,$05,$C0,$03,$F0 diver6c
961C DEFB $03,$F0,$01,$E0,$01,$E8,$01,$3C,$01,$3C,$01,$18,$00,$80,$00,$40
962C DEFB $30,$00,$30,$00,$38,$00,$18,$00,$0D,$00,$07,$80,$05,$C0,$03,$F0 diver6d
963C DEFB $03,$F0,$01,$E0,$01,$E8,$01,$3C,$02,$3C,$02,$18,$01,$80,$00,$80
964C DEFB $01,$00,$09,$00,$09,$00,$05,$00,$05,$00,$03,$00,$03,$C0,$01,$60 diver7a
965C DEFB $01,$E0,$00,$E0,$01,$F0,$01,$E0,$02,$30,$02,$78,$02,$78,$01,$30
966C DEFB $08,$80,$08,$80,$08,$80,$09,$00,$05,$00,$05,$00,$03,$C0,$01,$60 diver7b
967C DEFB $01,$E0,$00,$F0,$01,$F0,$01,$E0,$02,$30,$02,$78,$02,$78,$01,$30
968C DEFB $22,$00,$22,$00,$14,$00,$14,$00,$0C,$00,$0E,$00,$07,$80,$02,$C0 diver7c
969C DEFB $03,$C0,$01,$E0,$03,$E0,$03,$C0,$04,$60,$04,$F0,$04,$F0,$02,$60
96AC DEFB $18,$00,$18,$00,$18,$00,$08,$00,$0C,$00,$0E,$00,$07,$80,$02,$C0 diver7d
96BC DEFB $03,$C0,$01,$E0,$03,$E0,$07,$C0,$08,$60,$08,$F0,$08,$F0,$00,$60
96CC DEFB $04,$80,$04,$80,$02,$80,$02,$80,$01,$80,$01,$00,$03,$00,$06,$80 diver8a
96DC DEFB $07,$80,$07,$80,$07,$C0,$07,$A0,$01,$90,$03,$D0,$03,$D0,$01,$80
96EC DEFB $10,$80,$08,$80,$04,$40,$04,$40,$02,$80,$03,$80,$03,$00,$06,$80 diver8b
96FC DEFB $07,$80,$07,$80,$07,$C0,$07,$A0,$01,$90,$03,$D0,$03,$D0,$01,$80
970C DEFB $10,$80,$08,$80,$05,$00,$05,$00,$06,$00,$02,$00,$06,$00,$0D,$00 diver8c
971C DEFB $0F,$00,$0F,$00,$0F,$80,$0F,$40,$03,$20,$07,$A0,$07,$A0,$03,$00
972C DEFB $06,$00,$06,$00,$06,$00,$02,$00,$02,$00,$02,$00,$06,$00,$0D,$00 diver8d
973C DEFB $0F,$00,$0F,$00,$0F,$C0,$0F,$20,$03,$20,$07,$A0,$07,$A0,$03,$00
974C DEFB $00,$80,$00,$90,$00,$90,$00,$A0,$00,$A0,$00,$C0,$03,$C0,$06,$80 diver9a
975C DEFB $07,$80,$0F,$00,$0F,$80,$07,$80,$0C,$40,$1E,$40,$1E,$40,$0C,$80
976C DEFB $01,$10,$01,$10,$01,$10,$00,$90,$00,$A0,$00,$A0,$03,$C0,$06,$80 diver9b
977C DEFB $07,$80,$0F,$00,$0F,$80,$07,$80,$0C,$40,$1E,$40,$1E,$40,$0C,$80
978C DEFB $00,$44,$00,$44,$00,$28,$00,$28,$00,$30,$00,$70,$01,$E0,$03,$40 diver9c
979C DEFB $03,$C0,$07,$80,$07,$C0,$03,$C0,$06,$20,$0F,$20,$0F,$20,$06,$40
97AC DEFB $00,$18,$00,$18,$00,$18,$00,$10,$00,$30,$00,$70,$01,$E0,$03,$40 diver9d
97BC DEFB $03,$C0,$07,$80,$07,$C0,$03,$E0,$06,$10,$0F,$10,$0F,$10,$06,$00
97CC DEFB $00,$08,$00,$10,$00,$12,$00,$24,$01,$28,$03,$F0,$07,$40,$1F,$80 diverAa
97DC DEFB $1F,$80,$0F,$00,$2F,$00,$79,$00,$79,$00,$31,$00,$02,$00,$04,$00
97EC DEFB $00,$20,$00,$20,$00,$28,$00,$48,$01,$48,$03,$F8,$07,$40,$1F,$80 diverAb
97FC DEFB $1F,$80,$0F,$00,$2F,$00,$79,$00,$79,$00,$31,$00,$02,$00,$04,$00
980C DEFB $00,$08,$00,$08,$00,$08,$00,$11,$00,$A6,$01,$F8,$03,$A0,$0F,$C0 diverAc
981C DEFB $0F,$C0,$07,$80,$17,$80,$3C,$80,$3C,$80,$18,$80,$01,$00,$02,$00
982C DEFB $00,$0C,$00,$0C,$00,$1C,$00,$18,$00,$B0,$01,$E0,$03,$A0,$0F,$C0 diverAd
983C DEFB $0F,$C0,$07,$80,$17,$80,$3C,$80,$3C,$40,$18,$40,$00,$80,$01,$00
984C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$02,$00,$04,$03,$88,$0F,$F3 diverBa
985C DEFB $6F,$5C,$FF,$C0,$F6,$00,$62,$00,$04,$00,$38,$00,$00,$00,$00,$00
986C DEFB $00,$00,$00,$00,$00,$04,$00,$04,$00,$04,$00,$0A,$03,$9A,$0F,$F2 diverBb
987C DEFB $6F,$4C,$FF,$C0,$F6,$00,$62,$00,$04,$00,$38,$00,$00,$00,$00,$00
988C DEFB $00,$00,$00,$04,$00,$04,$00,$04,$00,$18,$03,$A0,$0F,$FF,$6F,$40 diverBc
989C DEFB $FF,$C0,$F6,$00,$62,$00,$04,$00,$38,$00,$00,$00,$00,$00,$00,$00
98AC DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$03,$87,$0F,$FE,$6F,$60 diverBd
98BC DEFB $FF,$C0,$F6,$00,$62,$00,$02,$00,$0C,$00,$00,$00,$00,$00,$00,$00
98CC DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$83,$6F,$CC,$FF,$70 diverCa
98DC DEFB $FF,$9F,$64,$00,$08,$00,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00
98EC DEFB $00,$00,$00,$00,$00,$00,$00,$01,$00,$02,$0F,$8C,$6F,$F0,$FF,$60 diverCb
98FC DEFB $FF,$B3,$64,$0C,$08,$00,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00
990C DEFB $00,$00,$00,$00,$00,$00,$00,$01,$0F,$82,$6F,$DC,$FF,$70,$FF,$8C diverCc
991C DEFB $64,$03,$08,$00,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
992C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$0F,$80,$6F,$C7,$FF,$7F,$FF,$80 diverCd
993C DEFB $64,$00,$04,$00,$38,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
994C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$62,$00,$F7,$80,$FF,$C0 diverDa
995C DEFB $6F,$E0,$87,$60,$5C,$FF,$20,$18,$00,$0E,$00,$01,$00,$00,$00,$00
996C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$62,$00,$F7,$80,$FF,$C1 diverDb
997C DEFB $6F,$E6,$87,$78,$5C,$E0,$20,$30,$00,$1E,$00,$00,$00,$00,$00,$00
998C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$62,$00,$F7,$80,$FF,$C0,$6F,$E3 diverDc
999C DEFB $87,$7C,$5C,$D0,$20,$18,$00,$04,$00,$02,$00,$00,$00,$00,$00,$00
99AC DEFB $00,$00,$00,$00,$00,$00,$00,$00,$62,$00,$F7,$80,$FF,$C0,$6F,$E0 diverDd
99BC DEFB $07,$60,$48,$FF,$30,$1F,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00
99CC DEFB $00,$00,$00,$00,$18,$00,$3C,$00,$3D,$00,$1F,$80,$87,$C0,$47,$E0 diverEa
99DC DEFB $39,$A0,$00,$E0,$00,$38,$00,$27,$00,$18,$00,$06,$00,$03,$00,$00
99EC DEFB $00,$00,$00,$00,$18,$00,$3C,$00,$3D,$00,$1F,$80,$87,$C0,$47,$E0 diverEb
99FC DEFB $39,$A0,$00,$F0,$00,$2D,$00,$36,$00,$10,$00,$10,$00,$0E,$00,$00
9A0C DEFB $00,$00,$18,$00,$3C,$00,$3D,$00,$1F,$80,$87,$C0,$47,$E0,$39,$A0 diverEc
9A1C DEFB $00,$E0,$00,$38,$00,$1F,$00,$18,$00,$08,$00,$08,$00,$04,$00,$00
9A2C DEFB $00,$00,$18,$00,$3C,$00,$3D,$00,$1F,$80,$07,$C0,$47,$E0,$29,$A0 diverEd
9A3C DEFB $10,$F0,$00,$18,$00,$0E,$00,$07,$00,$03,$00,$00,$00,$00,$00,$00
9A4C DEFB $18,$00,$3C,$00,$BC,$00,$5D,$00,$47,$80,$37,$80,$0F,$C0,$07,$C0 diverFa
9A5C DEFB $02,$80,$01,$80,$00,$80,$01,$C0,$01,$60,$00,$90,$00,$90,$00,$00
9A6C DEFB $18,$00,$3C,$00,$BC,$00,$5D,$00,$47,$80,$37,$80,$0F,$C0,$07,$C0 diverFb
9A7C DEFB $02,$80,$01,$C0,$01,$40,$01,$20,$01,$10,$01,$0C,$00,$80,$00,$40
9A8C DEFB $0C,$00,$1E,$00,$5E,$00,$2E,$80,$23,$C0,$1B,$C0,$07,$E0,$03,$E0 diverFc
9A9C DEFB $01,$40,$00,$C0,$00,$A0,$00,$90,$00,$8E,$00,$42,$00,$40,$00,$40
9AAC DEFB $0C,$00,$1E,$00,$1E,$00,$0E,$80,$03,$C0,$43,$C0,$27,$E0,$1B,$E0 diverFd
9ABC DEFB $01,$40,$00,$C0,$00,$40,$00,$60,$00,$30,$00,$38,$00,$18,$00,$10
Scuba diver drowned, 4 sprites
9ACC DEFB $00,$C0,$01,$E0,$01,$E0,$00,$C8,$07,$90,$07,$F8,$07,$C0,$07,$00 drowned0
9ADC DEFB $07,$00,$03,$80,$01,$80,$00,$C0,$00,$60,$00,$50,$00,$28,$00,$20
9AEC DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$F0,$03,$F0,$07,$F6 drowned1
9AFC DEFB $0E,$7F,$38,$6F,$D0,$26,$20,$60,$40,$A0,$00,$00,$00,$00,$00,$00
9B0C DEFB $00,$20,$00,$28,$00,$50,$00,$60,$00,$C0,$01,$80,$03,$80,$07,$00 drowned2
9B1C DEFB $07,$00,$07,$C0,$07,$F8,$07,$90,$00,$C8,$01,$E0,$01,$E0,$00,$C0
9B2C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0F,$80,$0F,$C0,$6F,$E0 drowned3
9B3C DEFB $FE,$70,$F6,$1C,$64,$0B,$0C,$04,$14,$02,$00,$00,$00,$00,$00,$00
Explosion sprites
9B4C DEFB $01,$00,$01,$00,$10,$10,$08,$20,$00,$00,$20,$08,$00,$00,$00,$00 explosion0
9B5C DEFB $38,$38,$00,$00,$20,$08,$00,$00,$08,$20,$10,$10,$01,$00,$01,$00
9B6C DEFB $00,$00,$00,$00,$05,$20,$21,$04,$11,$08,$00,$00,$00,$00,$C0,$03 explosion1
9B7C DEFB $00,$00,$00,$00,$11,$08,$21,$04,$05,$20,$00,$00,$00,$00,$00,$00
Scuba diver various sprites
9B8C DEFB $30,$00,$78,$00,$78,$00,$30,$00,$3C,$00,$FC,$00,$3C,$00,$3C,$00 divervar0
9B9C DEFB $3C,$00,$78,$00,$60,$00,$E0,$00,$E0,$00,$00,$00,$00,$00,$00,$00
9BAC DEFB $00,$00,$00,$00,$01,$80,$03,$C0,$03,$C0,$01,$80,$03,$C0,$03,$C0 divervar1
9BBC DEFB $03,$C0,$03,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
9BCC DEFB $00,$00,$00,$00,$00,$00,$04,$20,$25,$A0,$13,$C4,$03,$C0,$25,$A0 divervar2
9BDC DEFB $17,$E4,$07,$E8,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
9BEC DEFB $80,$00,$40,$01,$00,$00,$80,$00,$40,$01,$00,$02,$04,$20,$04,$20 divervar3
9BFC DEFB $04,$60,$07,$E0,$07,$C0,$07,$C0,$01,$80,$00,$00,$00,$00,$00,$00
9C0C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$00,$24,$00 divervar4
9C1C DEFB $28,$00,$1F,$00,$0F,$60,$07,$F0,$07,$F0,$00,$60,$00,$00,$00,$00
9C2C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$08,$00 divervar5
9C3C DEFB $08,$00,$2B,$80,$2B,$80,$3F,$B0,$07,$F8,$01,$78,$01,$30,$01,$00
9C4C DEFB $00,$00,$00,$00
9C50: Data block at 9C50
9C50 DEFB $00 $00 = no Octopus, $01 = we have Octopus on the game screen
9C51 DEFW $0000 Octopus row/column
9C53 DEFW $A41B ???
9C55 DEFB $04 Octopus phase
9C56: Draw game screen
Used by the routines at D990, DFD5 and EEAD.
Input
HL Screen position on mini-map
DrawGameScr 9C56 DI
9C57 LD DE,$4000
9C5A XOR A
9C5B LD ($9C50),A
9C5E PUSH IX
9C60 PUSH IY
9C62 LD IX,$5800
9C66 LD B,$03 Game screen 3 blocks high = 24 tiles
9C68 EX DE,HL
DrawGameScr_0 9C69 PUSH BC
9C6A LD B,$03 Game screen 3 blocks wide = 24 tiles
DrawGameScr_1 9C6C PUSH BC
9C6D PUSH IX
9C6F EX DE,HL
9C70 CALL MiniMap_Get Calc address in MiniMap and Get block number
9C73 PUSH AF
9C74 EX DE,HL
9C75 CP $1C place for Octopus?
9C77 JR NZ,DrawGameScr_2
9C79 LD ($9C51),HL save the Octopus row/column
9C7C PUSH HL
9C7D LD HL,$A41B
9C80 LD ($9C53),HL
9C83 POP HL
9C84 LD A,$01
9C86 LD ($9C50),A
DrawGameScr_2 9C89 INC E
9C8A LD A,E
9C8B AND $1F
9C8D LD E,A
9C8E POP AF
9C8F PUSH DE
9C90 PUSH HL
9C91 PUSH HL
9C92 LD H,A
9C93 LD L,$00
9C95 SRL H
9C97 RR L
9C99 SRL H
9C9B RR L
9C9D LD DE,$A4DD base address for relief blocks, 8x8 tiles each block
9CA0 ADD HL,DE
9CA1 PUSH HL
9CA2 POP IY
9CA4 POP HL
9CA5 LD B,$08 height for block of tiles = 8
DrawGameScr_3 9CA7 PUSH BC
9CA8 LD B,$08
DrawGameScr_4 9CAA PUSH BC
9CAB LD A,(IY+$00) get tile number
9CAE PUSH HL
9CAF PUSH HL
9CB0 AND $7F
9CB2 LD L,A
9CB3 LD H,$00
9CB5 ADD HL,HL
9CB6 ADD HL,HL
9CB7 ADD HL,HL *8
9CB8 LD BC,$9134 base address for relief tiles, 8x8 pixels each tile
9CBB ADD HL,BC
9CBC POP DE
9CBD LD B,$08
DrawGameScr_5 9CBF LD A,(HL)
9CC0 LD (DE),A
9CC1 INC HL
9CC2 INC D
9CC3 DJNZ DrawGameScr_5
9CC5 POP HL
9CC6 LD A,($5B04)
9CC9 OR A
9CCA JR NZ,DrawGameScr_6
9CCC LD A,H
9CCD AND $18
9CCF JR NZ,DrawGameScr_6
9CD1 LD C,$29
9CD3 JR DrawGameScr_7
DrawGameScr_6 9CD5 LD C,$06
9CD7 LD A,(IY+$00)
9CDA OR A
9CDB JR Z,DrawGameScr_7
9CDD CP $32
9CDF JR Z,DrawGameScr_7
9CE1 LD C,$02
9CE3 BIT 7,(IY+$00)
9CE7 JR Z,DrawGameScr_7
9CE9 LD C,$06
DrawGameScr_7 9CEB LD (IX+$00),C
9CEE INC IY
9CF0 INC IX
9CF2 INC L
9CF3 POP BC
9CF4 DJNZ DrawGameScr_4
9CF6 LD BC,$0018
9CF9 ADD IX,BC
9CFB DEC L
9CFC LD A,L
9CFD AND $F8
9CFF ADD A,$20
9D01 LD L,A
9D02 POP BC
9D03 DJNZ DrawGameScr_3
9D05 POP HL
9D06 LD BC,$0008
9D09 ADD HL,BC
9D0A POP DE
9D0B POP IX
9D0D ADD IX,BC
9D0F POP BC
9D10 DEC B
9D11 JP NZ,DrawGameScr_1
9D14 LD L,$00
9D16 LD A,H
9D17 ADD A,$08
9D19 LD H,A
9D1A LD BC,$00E8
9D1D ADD IX,BC
9D1F INC D
9D20 DEC E
9D21 DEC E
9D22 DEC E
9D23 LD A,E
9D24 AND $1F
9D26 LD E,A
9D27 POP BC
9D28 DEC B
9D29 JP NZ,DrawGameScr_0
9D2C LD A,($9C50)
9D2F OR A
9D30 JR Z,DrawGameScr_8
9D32 LD A,($9C55)
9D35 CALL $B346 Draw Octopus
DrawGameScr_8 9D38 POP IY
9D3A POP IX
9D3C CALL DrawStatics
9D3F RET
9D40: Calculate address in the mini-map (MiniMap table)
Used by the routines at MiniMap_Get and MiniMap_Set.
Input
HL H = row, L = column 0..31
MiniMap_Addr 9D40 LD A,L
9D41 LD L,$00
9D43 SRL H
9D45 RR L
9D47 SRL H
9D49 RR L
9D4B SRL H
9D4D RR L HL shifted right 3 bits
9D4F OR L
9D50 LD L,A HL := H * 32 + L
9D51 LD DE,MiniMap
9D54 ADD HL,DE HL := $AC5D + H * 32 + L
9D55 RET
9D56: Calculate address in the mini-map (MiniMap table) and Get
Used by the routines at DrawGameScr, MiniMap_Check, 9F81, A03B and A193.
Input
HL H = row, L = column 0..31
Output
A Value
MiniMap_Get 9D56 PUSH HL
9D57 PUSH DE
9D58 CALL MiniMap_Addr Calculate address in MiniMap table
9D5B LD A,(HL)
9D5C POP DE
9D5D POP HL
9D5E RET
9D5F: Check value in the mini-map (MiniMap table), if row and column in range 0..31
Used by the routines at PrepareMiniMap, 9F81 and A03B.
Input
HL H = row, L = column
If column or row is out of range 0..31 - returns flag Z=0; else, gets value from MiniMap table; if this value is $01, returns flag Z=1, in other case flag Z=0
MiniMap_Check 9D5F PUSH HL
9D60 PUSH AF
9D61 LD A,L
9D62 AND $E0 Column value out of range 0..31 ?
9D64 JR NZ,MiniMap_Check_0
9D66 LD A,H
9D67 AND $E0 Row value out of range 0..31 ?
9D69 JR NZ,MiniMap_Check_0
9D6B CALL MiniMap_Get Calc address in MiniMap and Get
9D6E LD L,A
9D6F POP AF
9D70 DEC L
9D71 POP HL
9D72 RET
MiniMap_Check_0 9D73 POP AF
9D74 LD L,$01
9D76 INC L
9D77 POP HL
9D78 RET
9D79: Calculate address in the mini-map (MiniMap table) and Set
Used by the routines at PrepareMiniMap, 9F81 and A03B.
Input
HL H = row, L = column 0..31
A Value to set
MiniMap_Set 9D79 PUSH HL
9D7A PUSH DE
9D7B PUSH AF
9D7C CALL MiniMap_Addr Calculate address in the mini-map (MiniMap table)
9D7F POP AF
9D80 LD (HL),A
9D81 POP DE
9D82 POP HL
9D83 RET
9D84: Random
Used by the routines at PrepareMiniMap, 9F81, A03B, A193, B1D4, B213, BD83, BEDB, BFB0 and C009.
Calculate next number in pseudo-random sequence
NextRandom 9D84 LD HL,(RANDOM)
9D87 LD D,H
9D88 LD E,L
9D89 ADD HL,HL x2
9D8A ADD HL,HL x4
9D8B ADD HL,HL x8
9D8C ADD HL,HL x16
9D8D PUSH HL
9D8E ADD HL,HL x32
9D8F EX (SP),HL
9D90 OR A
9D91 SBC HL,DE HL = x15
9D93 POP BC BC = x32
9D94 ADD HL,BC x47
9D95 ADD HL,HL x94
9D96 ADD HL,HL x188
9D97 ADD HL,HL x376
9D98 ADD HL,DE x377
9D99 ADD HL,HL x754
9D9A ADD HL,HL x1508
9D9B ADD HL,DE x1509
9D9C LD DE,$0029
9D9F ADD HL,DE
9DA0 LD (RANDOM),HL ($5B05) := ($5B05) * 1509 + 41
9DA3 RET
9DA4: Data block at 9DA4
9DA4 DEFB $AF
9DA5: Fill block at HL with A
Used by the routine at PrepareMiniMap.
Input
HL Block address
A Value
B Length of the block to fill
FillBlock 9DA5 LD (HL),A
9DA6 INC HL
9DA7 DJNZ FillBlock
9DA9 RET
9DAA: Prepare the mini-map (MiniMap table)
Used by the routines at D990 and EEAD.
PrepareMiniMap 9DAA LD HL,$ACBF $ACBF = $AC5D + 3 * 32 + 2: row 3 column 2
9DAD LD B,$1C
9DAF LD A,$16
9DB1 CALL FillBlock Fill block at $ACBF with $16
9DB4 LD (HL),$06 ($ACDB) <- $06
9DB6 INC HL HL = $ACDC
9DB7 LD B,$22
9DB9 LD A,$01
9DBB CALL FillBlock Fill block at $ACDC with $01
9DBE INC HL HL = $ACFF
9DBF LD A,$1A
9DC1 LD B,$1C
9DC3 CALL FillBlock Fill block at $ACFF with $1A
9DC6 INC HL
9DC7 INC HL
9DC8 LD (HL),$02
9DCA LD HL,$AD3C
9DCD LD (HL),$06 ($AD3C) <- $06
9DCF INC HL
9DD0 INC HL
9DD1 INC HL HL = $AD3F
9DD2 LD B,$1C
9DD4 LD A,$16
9DD6 CALL FillBlock Fill block at $AD3F with $16
9DD9 INC HL
9DDA INC HL HL = $AD5D; $AD5D = $AC5D + $100: row 8 column 0
9DDB LD B,$00
9DDD LD A,$01
9DDF CALL FillBlock Fill block at $AD5D with $01, 256 bytes: fill rows 8..15
9DE2 CALL FillBlock Fill block at $AE5D with $01, 256 bytes: fill rows 16..23
9DE5 CALL FillBlock Fill block at $AF5D with $01, 256 bytes: fill rows 24..31
9DE8 CALL NextRandom Random
9DEB LD A,H
9DEC AND $0F
9DEE ADD A,$07 A = (Random:H) & 15 + 7 => 7..22
9DF0 LD L,A column
9DF1 LD H,$03 row = 3
9DF3 XOR A
9DF4 CALL MiniMap_Set Calc address in MiniMap and Set value = 0
9DF7 INC L next column; column = 4
9DF8 CALL MiniMap_Set Calc address in MiniMap and Set value = 0
9DFB LD H,$05 row = 5
9DFD CALL MiniMap_Set Calc address in MiniMap and set value = 0
9E00 DEC L previous column; column = 3
9E01 CALL MiniMap_Set Calc address in MiniMap and Set value = 0
9E04 DEC H previous row; row = 4
9E05 LD A,$1C $1C = place for Octopus, left block
9E07 CALL MiniMap_Set Calc address in MiniMap and Set value = $1C
9E0A INC A = $1D = place for Octopus, right block
9E0B INC L next column; column = 4
9E0C CALL MiniMap_Set Calc address in MiniMap and Set value = $1D
9E0F LD HL,$ACBD $ACBD = $AC5D + 3 * 32: row 3 column 0
9E12 LD B,$A0
PrepareMiniMap_0 9E14 LD A,(HL)
9E15 CP $02
9E17 JR Z,PrepareMiniMap_2
9E19 CP $06
9E1B JR Z,PrepareMiniMap_2
9E1D CP $16
9E1F JR Z,PrepareMiniMap_2
9E21 CP $1A
9E23 JR Z,PrepareMiniMap_2
PrepareMiniMap_1 9E25 INC HL
9E26 DJNZ PrepareMiniMap_0
9E28 JR PrepareMiniMap_3
PrepareMiniMap_2 9E2A PUSH BC
9E2B PUSH HL
9E2C CALL NextRandom Random
9E2F BIT 5,H
9E31 POP HL
9E32 POP BC
9E33 JR Z,PrepareMiniMap_1
9E35 INC (HL)
9E36 JR PrepareMiniMap_1
PrepareMiniMap_3 9E38 LD A,$02
9E3A LD ($5B09),A
9E3D CALL NextRandom Random
9E40 LD A,H
9E41 AND $0F
9E43 ADD A,$07
9E45 LD L,A
9E46 LD H,$07
9E48 XOR A
9E49 CALL MiniMap_Set Calc address in MiniMap and Set value = 0
9E4C INC L
9E4D CALL MiniMap_Set Calc address in MiniMap and Set value = 0
9E50 INC H
9E51 LD A,$1D $1D = place for Octopus, right block
9E53 CALL MiniMap_Set Calc address in MiniMap and Set value = $1D
9E56 DEC A = $1C = place for Octopus, left block
9E57 DEC L
9E58 CALL MiniMap_Set Calc address in MiniMap and Set value = $1C
9E5B DEC L
9E5C LD ($5B07),HL
PrepareMiniMap_4 9E5F LD HL,($5B07)
9E62 INC H
9E63 LD ($5B07),HL
9E66 LD A,($5B09)
9E69 LD ($5B0A),A
9E6C LD A,(LEVEL) Game level 1..4
9E6F ADD A,A *2
9E70 ADD A,A *4
9E71 ADD A,$10 *4 + 16
9E73 LD C,A
9E74 DEC C
9E75 CP H
9E76 JR NZ,PrepareMiniMap_7
9E78 DEC H
9E79 LD A,($5B09)
9E7C LD B,A
PrepareMiniMap_5 9E7D PUSH HL
9E7E PUSH BC
9E7F CALL NextRandom Random
9E82 LD D,H
9E83 POP BC
9E84 POP HL
9E85 INC L
9E86 LD A,$16
9E88 BIT 1,D
9E8A JR Z,PrepareMiniMap_6
9E8C INC A
PrepareMiniMap_6 9E8D CALL MiniMap_Set Calc address in MiniMap and Set
9E90 DJNZ PrepareMiniMap_5
9E92 CALL $A193
9E95 CALL $B1D4
9E98 RET
PrepareMiniMap_7 9E99 PUSH HL
9E9A PUSH BC
9E9B CALL NextRandom Random
9E9E POP BC
9E9F POP DE
9EA0 EX DE,HL
9EA1 LD A,D
9EA2 AND $07
9EA4 JR NZ,PrepareMiniMap_10
PrepareMiniMap_8 9EA6 LD A,$02
9EA8 BIT 6,D
9EAA JR Z,PrepareMiniMap_9
9EAC INC A
PrepareMiniMap_9 9EAD CALL MiniMap_Set Calc address in MiniMap and Set
9EB0 JP PrepareMiniMap_14
PrepareMiniMap_10 9EB3 LD A,E
9EB4 AND $C0
9EB6 JR NZ,PrepareMiniMap_13
PrepareMiniMap_11 9EB8 BIT 4,E
9EBA JR Z,PrepareMiniMap_12
9EBC LD A,L
9EBD OR A
9EBE JR Z,PrepareMiniMap_8
9EC0 LD A,H
9EC1 CP C
9EC2 JR Z,PrepareMiniMap_12
9EC4 LD A,$05
9EC6 CALL MiniMap_Set Calc address in MiniMap and Set
9EC9 DEC L
9ECA LD ($5B07),HL
9ECD INC L
9ECE LD A,($5B0A)
9ED1 INC A
9ED2 LD ($5B0A),A
9ED5 JP PrepareMiniMap_14
PrepareMiniMap_12 9ED8 LD A,($5B09)
9EDB ADD A,L
9EDC CP $1E
9EDE JR Z,PrepareMiniMap_8
9EE0 LD A,($5B0A)
9EE3 DEC A
9EE4 JR Z,PrepareMiniMap_8
9EE6 LD ($5B0A),A
9EE9 LD A,($5B09)
9EEC DEC A
9EED LD ($5B09),A
9EF0 INC L
9EF1 LD ($5B07),HL
9EF4 LD A,$04
9EF6 CALL MiniMap_Set Calc address in MiniMap and Set
9EF9 JR PrepareMiniMap_14
PrepareMiniMap_13 9EFB DEC L
9EFC CALL MiniMap_Check Check value in MiniMap table
9EFF PUSH AF
9F00 INC L
9F01 POP AF
9F02 JR NZ,PrepareMiniMap_11
9F04 LD A,$0B
9F06 CALL MiniMap_Set Calc address in MiniMap and Set
9F09 PUSH BC
9F0A CALL $9F81
9F0D POP BC
PrepareMiniMap_14 9F0E LD A,($5B09)
9F11 LD B,A
9F12 XOR A
PrepareMiniMap_15 9F13 INC L
9F14 CALL MiniMap_Set Calc address in MiniMap and Set
9F17 DJNZ PrepareMiniMap_15
9F19 INC L
9F1A PUSH HL
9F1B PUSH BC
9F1C CALL NextRandom Random
9F1F POP BC
9F20 POP DE
9F21 EX DE,HL
9F22 LD A,D
9F23 AND $07
9F25 JR NZ,PrepareMiniMap_18
PrepareMiniMap_16 9F27 LD A,$06
9F29 BIT 6,D
9F2B JR NZ,PrepareMiniMap_17
9F2D INC A
PrepareMiniMap_17 9F2E CALL MiniMap_Set Calc address in MiniMap and Set
9F31 JP PrepareMiniMap_22
PrepareMiniMap_18 9F34 LD A,E
9F35 AND $C0
9F37 JR NZ,PrepareMiniMap_21
PrepareMiniMap_19 9F39 BIT 4,E
9F3B JR Z,PrepareMiniMap_20
9F3D LD A,($5B0A)
9F40 DEC A
9F41 JR Z,PrepareMiniMap_20
9F43 LD ($5B0A),A
9F46 DEC L
9F47 LD A,$08
9F49 CALL MiniMap_Set Calc address in MiniMap and Set
9F4C JP PrepareMiniMap_22
PrepareMiniMap_20 9F4F LD A,L
9F50 CP $1E
9F52 JR NC,PrepareMiniMap_16
9F54 LD A,H
9F55 CP C
9F56 JR Z,PrepareMiniMap_16
9F58 LD A,$09
9F5A CALL MiniMap_Set Calc address in MiniMap and Set
9F5D LD A,($5B0A)
9F60 INC A
9F61 LD ($5B0A),A
9F64 JP PrepareMiniMap_22
PrepareMiniMap_21 9F67 INC L
9F68 CALL MiniMap_Check Check value in MiniMap table
9F6B PUSH AF
9F6C DEC L
9F6D POP AF
9F6E JR NZ,PrepareMiniMap_19
9F70 LD A,$0A
9F72 CALL MiniMap_Set Calc address in MiniMap and Set
9F75 CALL $A03B
PrepareMiniMap_22 9F78 LD A,($5B0A)
9F7B LD ($5B09),A
9F7E JP PrepareMiniMap_4
9F81: Routine at 9F81
Used by the routine at PrepareMiniMap.
9F81 LD ($5B01),HL
9F84 DEC L
9F85 PUSH HL
9F86 CALL NextRandom Random
9F89 POP DE
9F8A EX DE,HL
9F8B LD A,D
9F8C AND $02
9F8E JR NZ,$9FEB
9F90 DEC L
9F91 CALL MiniMap_Check Check value in MiniMap table
9F94 JR Z,$9FC0
9F96 LD A,L
9F97 CP $FF
9F99 JR NZ,$9FB6
9F9B LD L,$1F
9F9D CALL MiniMap_Get Calc address in MiniMap and Get
9FA0 CP $14
9FA2 JR NZ,$9FB4
9FA4 LD A,$0B
9FA6 CALL MiniMap_Set Calc address in MiniMap and Set
9FA9 LD L,$00
9FAB LD A,$0A
9FAD CALL MiniMap_Set Calc address in MiniMap and Set
9FB0 LD HL,($5B01)
9FB3 RET
9FB4 LD L,$FF
9FB6 INC L
9FB7 LD A,$15
9FB9 CALL MiniMap_Set Calc address in MiniMap and Set
9FBC LD HL,($5B01)
9FBF RET
9FC0 INC L
9FC1 BIT 7,E
9FC3 JR Z,$9FE0
9FC5 DEC H
9FC6 CALL MiniMap_Get Calc address in MiniMap and Get
9FC9 INC H
9FCA SUB $10
9FCC JR C,$9FE0
9FCE CP $04
9FD0 JR NC,$9FE0
9FD2 LD A,$18
9FD4 CALL MiniMap_Set Calc address in MiniMap and Get
9FD7 DEC H
9FD8 INC A
9FD9 CALL MiniMap_Set Calc address in MiniMap and Get
9FDC INC H
9FDD JP $9F84
9FE0 LD A,D
9FE1 AND $03
9FE3 ADD A,$10
9FE5 CALL MiniMap_Set Calc address in MiniMap and Get
9FE8 JP $9F84
9FEB BIT 6,E
9FED JR NZ,$A011
9FEF INC H
9FF0 CALL MiniMap_Check Check value in MiniMap table
9FF3 JR Z,$9FF8
9FF5 DEC H
9FF6 JR $9F90
9FF8 DEC L
9FF9 CALL MiniMap_Check Check value in MiniMap table
9FFC JR Z,$A002
9FFE INC L
9FFF DEC H
A000 JR $9F90
A002 INC L
A003 LD A,$0D
A005 CALL MiniMap_Set Calc address in MiniMap and Get
A008 DEC H
A009 DEC A
A00A CALL MiniMap_Set Calc address in MiniMap and Get
A00D INC H
A00E JP $9F84
A011 LD A,$09
A013 CP H
A014 JP Z,$9F90
A017 DEC H
A018 CALL MiniMap_Check Check value in MiniMap table
A01B JR Z,$A021
A01D INC H
A01E JP $9F90
A021 DEC L
A022 CALL MiniMap_Check Check value in MiniMap table
A025 JR Z,$A02C
A027 INC L
A028 INC H
A029 JP $9F90
A02C LD A,$0E
A02E INC L
A02F CALL MiniMap_Set Calc address in MiniMap and Get
A032 INC H
A033 INC A
A034 CALL MiniMap_Set Calc address in MiniMap and Get
A037 DEC H
A038 JP $9F84
A03B: Routine at A03B
Used by the routine at PrepareMiniMap.
A03B LD ($5B01),HL
A03E INC L
A03F PUSH HL
A040 CALL NextRandom Random
A043 POP DE
A044 EX DE,HL
A045 LD A,D
A046 AND $04
A048 JR NZ,$A0A5
A04A INC L
A04B CALL MiniMap_Check Check value in MiniMap table
A04E JR Z,$A079
A050 LD A,L
A051 AND $1F
A053 JR NZ,$A06F
A055 LD L,A
A056 CALL MiniMap_Get Calc address in MiniMap and Get
A059 CP $15
A05B JR NZ,$A06D
A05D LD A,$0A
A05F CALL MiniMap_Set Calc address in MiniMap and Get
A062 LD L,$1F
A064 LD A,$0B
A066 CALL MiniMap_Set Calc address in MiniMap and Get
A069 LD HL,($5B01)
A06C RET
A06D LD L,$20
A06F DEC L
A070 LD A,$14
A072 CALL MiniMap_Set Calc address in MiniMap and Get
A075 LD HL,($5B01)
A078 RET
A079 DEC L
A07A BIT 7,E
A07C JR Z,$A09A
A07E DEC H
A07F CALL MiniMap_Get Calc address in MiniMap and Get
A082 INC H
A083 SUB $10
A085 JR C,$A09A
A087 CP $04
A089 JR NC,$A09A
A08B LD A,$18
A08D CALL MiniMap_Set Calc address in MiniMap and Get
A090 DEC H
A091 LD A,$19
A093 CALL MiniMap_Set Calc address in MiniMap and Get
A096 INC H
A097 JP $A03E
A09A LD A,D
A09B AND $03
A09D ADD A,$10
A09F CALL MiniMap_Set Calc address in MiniMap and Get
A0A2 JP $A03E
A0A5 BIT 6,E
A0A7 JR NZ,$A0CB
A0A9 INC H
A0AA CALL MiniMap_Check Check value in MiniMap table
A0AD JR Z,$A0B2
A0AF DEC H
A0B0 JR $A04A
A0B2 INC L
A0B3 CALL MiniMap_Check Check value in MiniMap table
A0B6 JR Z,$A0BC
A0B8 DEC L
A0B9 DEC H
A0BA JR $A04A
A0BC DEC L
A0BD LD A,$0F
A0BF CALL MiniMap_Set Calc address in MiniMap and Get
A0C2 DEC H
A0C3 DEC A
A0C4 CALL MiniMap_Set Calc address in MiniMap and Get
A0C7 INC H
A0C8 JP $A03E
A0CB LD A,$09
A0CD CP H
A0CE JP Z,$A04A
A0D1 DEC H
A0D2 CALL MiniMap_Check Check value in MiniMap table
A0D5 JR Z,$A0DB
A0D7 INC H
A0D8 JP $A04A
A0DB INC L
A0DC CALL MiniMap_Check Check value in MiniMap table
A0DF JR Z,$A0E6
A0E1 INC H
A0E2 DEC L
A0E3 JP $A04A
A0E6 LD A,$0C
A0E8 DEC L
A0E9 CALL MiniMap_Set Calc address in MiniMap and Get
A0EC INC H
A0ED INC A
A0EE CALL MiniMap_Set Calc address in MiniMap and Get
A0F1 DEC H
A0F2 JP $A03E
A0F5: Calculate address ???
Used by the routine at GetTileInBlock.
Input
HL Char coords H = row, L = column 0..31
A0F5 PUSH HL HL[15:11] -> HL[9:5]; HL[7:3] -> HL[4:0]; as a result, we have HL[9:0] filled with significant bits; 10 bits means 1024 addressed bytes
A0F6 SRL H
A0F8 SRL H
A0FA SRL H
A0FC SRL H
A0FE RR L
A100 SRL H
A102 RR L
A104 SRL H
A106 RR L
A108 LD DE,MiniMap
A10B ADD HL,DE
A10C LD H,(HL)
A10D POP DE
A10E LD A,E
A10F AND $07
A111 LD E,A
A112 LD A,D
A113 RRCA
A114 RRCA
A115 RRCA
A116 AND $E0
A118 LD L,A
A119 SRL H
A11B RR L
A11D SRL H
A11F RR L
A121 LD A,L
A122 OR E
A123 LD L,A
A124 LD DE,$A4DD
A127 ADD HL,DE
A128 RET
A129: Calculate address and Get ???
Used by the routines at B885, B972 and BA64.
Input
HL Char coords H = row, L = column 0..31
GetTileInBlock A129 PUSH HL
A12A PUSH DE
A12B CALL $A0F5
A12E LD A,(HL)
A12F POP DE
A130 POP HL
A131 RET
A132: Data block at A132
A132 DEFB $E5,$D5,$F5,$CD,$F5,$A0,$F1,$5F
A13A DEFB $7E,$E6,$3F,$7B,$D1,$E1,$C9,$E5
A142 DEFB $D5,$F5,$CD,$F5,$A0,$F1,$D1,$BE
A14A DEFB $E1,$C9
A14C: Get screen attribute address
Used by the routines at DrawStatics, B213, B686, B70F, B885, B972, DA59, E364 and E476.
Input
HL Char coords H = row, L = column 0..31
GetScrAttrAddr A14C PUSH DE
A14D LD A,L
A14E LD L,$00
A150 SRL H
A152 RR L
A154 SRL H
A156 RR L
A158 SRL H
A15A RR L
A15C OR L
A15D LD L,A
A15E LD DE,$5800
A161 ADD HL,DE
A162 POP DE
A163 RET
A164: Convert char coords HL to ZX screen address
Input
HL Char coords H = row 0..23, L = column 0..31
Output
HL Address on the ZX screen
GetScrAddr A164 PUSH DE
A165 LD A,H
A166 LD D,A
A167 AND $18
A169 SET 6,A
A16B LD H,A
A16C LD A,D
A16D RRCA
A16E RRCA
A16F RRCA
A170 AND $E0
A172 OR L
A173 LD L,A
A174 POP DE
A175 RET
A176: Draw tile 16x8 at the screen
Used by the routine at DrawStatics.
Input
HL Char coords H = row 0..23, L = column 0..31
DE Tile address; 16 bytes
DrawTile16x8 A176 CALL GetScrAddr Convert char coords HL to ZX screen address
A179 LD B,$08
DrawTile16x8_0 A17B LD A,(DE)
A17C LD (HL),A
A17D INC DE
A17E INC L
A17F LD A,(DE)
A180 LD (HL),A
A181 DEC L
A182 INC H
A183 INC DE
A184 DJNZ DrawTile16x8_0
A186 RET
A187: Draw tile 8x8 at the screen
Used by the routine at DrawStatics.
Input
HL Char coords H = row 0..23, L = column 0..31
DE Tile address; 8 bytes
DrawTile8x8 A187 CALL GetScrAddr Convert char coords HL to ZX screen address
A18A LD B,$08
DrawTile8x8_0 A18C LD A,(DE)
A18D LD (HL),A
A18E INC DE
A18F INC H
A190 DJNZ DrawTile8x8_0
A192 RET
A193: Routine at A193
Used by the routine at PrepareMiniMap.
A193 LD HL,$20FF
A196 LD DE,TableStatics
A199 XOR A
A19A LD ($5B00),A
A19D LD A,$03
A19F LD ($5B0F),A
A1A2 INC L
A1A3 LD A,L
A1A4 AND $1F
A1A6 JR NZ,$A1B0
A1A8 LD L,A
A1A9 DEC H
A1AA JR NZ,$A1B0
A1AC LD A,$80
A1AE LD (DE),A
A1AF RET
A1B0 CALL MiniMap_Get Calc address in MiniMap and Get
A1B3 LD C,A
A1B4 PUSH HL
A1B5 CP $14
A1B7 JR Z,$A1CC
A1B9 CP $15
A1BB JR NZ,$A1F6
A1BD LD A,L
A1BE OR A
A1BF JR NZ,$A1F6
A1C1 LD L,$04
A1C3 LD A,H
A1C4 ADD A,A
A1C5 ADD A,A
A1C6 ADD A,A
A1C7 ADD A,$04
A1C9 LD H,A
A1CA JR $A1DA
A1CC LD A,L
A1CD CP $1F
A1CF JR NZ,$A1F6
A1D1 LD L,$FB
A1D3 LD A,H
A1D4 ADD A,A
A1D5 ADD A,A
A1D6 ADD A,A
A1D7 ADD A,$06
A1D9 LD H,A
A1DA LD A,($5B0F)
A1DD OR A
A1DE JR Z,$A1F6
A1E0 LD A,$40
A1E2 LD (DE),A
A1E3 INC DE
A1E4 LD A,L
A1E5 LD (DE),A
A1E6 INC DE
A1E7 LD A,H
A1E8 LD (DE),A
A1E9 INC DE
A1EA LD A,($5B0F)
A1ED LD (DE),A
A1EE INC DE
A1EF DEC A
A1F0 LD ($5B0F),A
A1F3 POP HL
A1F4 JR $A1A2
A1F6 LD H,C
A1F7 LD L,$C0
A1F9 SRL H
A1FB RR L
A1FD SRL H
A1FF RR L
A201 LD BC,$A4DD
A204 PUSH HL
A205 ADD HL,BC
A206 POP BC
A207 LD B,$10
A209 LD A,(HL)
A20A INC HL
A20B INC C
A20C SUB $1C
A20E JR C,$A278
A210 CP $04
A212 JR NC,$A278
A214 LD A,(HL)
A215 INC HL
A216 INC C
A217 SUB $1C
A219 JR C,$A278
A21B CP $04
A21D JR NC,$A278
A21F LD A,C
A220 AND $07
A222 JR Z,$A278
A224 PUSH HL
A225 PUSH DE
A226 PUSH BC
A227 CALL NextRandom Random
A22A POP BC
A22B POP DE
A22C LD A,H
A22D POP HL
A22E AND $02
A230 JR NZ,$A278
A232 LD A,($5B00)
A235 INC A
A236 CP $64
A238 JR Z,$A278
A23A LD ($5B00),A
A23D LD A,$0A
A23F LD (DE),A
A240 EX (SP),HL
A241 LD A,H
A242 CP $04
A244 JR C,$A249
A246 LD A,$00
A248 LD (DE),A
A249 INC DE
A24A LD A,C
A24B DEC A
A24C DEC A
A24D AND $07
A24F PUSH DE
A250 LD D,A
A251 LD A,L
A252 ADD A,A
A253 ADD A,A
A254 ADD A,A
A255 AND $F8
A257 OR D
A258 POP DE
A259 LD (DE),A
A25A INC DE
A25B PUSH DE
A25C LD A,H
A25D ADD A,A
A25E ADD A,A
A25F ADD A,A
A260 AND $F8
A262 LD D,A
A263 LD A,C
A264 AND $38
A266 RRCA
A267 RRCA
A268 RRCA
A269 OR D
A26A POP DE
A26B EX (SP),HL
A26C LD (DE),A
A26D INC DE
A26E LD A,(RANDOM) get current Random
A271 AND $7F
A273 LD (DE),A
A274 INC DE
A275 INC HL
A276 INC C
A277 DEC B
A278 DJNZ $A209
A27A POP HL
A27B JP $A1A2
A27E: Table of objects on the map; each record is 4 bytes wide
1st byte = flags; 2nd byte = column 0..255, 3rd byte = row 0..255
TableStatics A27E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A28E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A29E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A2AE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A2BE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A2CE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A2DE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A2EE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A2FE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A30E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A31E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A32E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A33E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A34E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A35E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A36E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A37E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A38E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A39E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A3AE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A3BE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A3CE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A3DE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A3EE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A3FE DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A40C DEFB $B2,$1D,$EA,$53,$DE,$69,$DE,$01,$53,$48,$46,$B5,$7A,$EA,$5E
A41B: Data block at A41B
A41B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A42B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A43B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A44B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A45B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A46B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A47B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A48B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A49B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A4AB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A4BB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A4CB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
A4DB DEFB $00,$00
A4DD: Relief construction blocks, 8x8 tiles = 64x64 pixels
Each block has 8*8 = 64 tiles, tiles defined at 9134
A4DD DEFB $00,$00,$00,$00,$00,$00,$00,$00 $00
A4E5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A4ED DEFB $00,$00,$00,$00,$00,$00,$00,$00
A4F5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A4FD DEFB $00,$00,$00,$00,$00,$00,$00,$00
A505 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A50D DEFB $00,$00,$00,$00,$00,$00,$00,$00
A515 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A51D DEFB $01,$01,$01,$01,$01,$01,$01,$01 $01
A525 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A52D DEFB $01,$01,$01,$01,$01,$01,$01,$01
A535 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A53D DEFB $01,$01,$01,$01,$01,$01,$01,$01
A545 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A54D DEFB $01,$01,$01,$01,$01,$01,$01,$01
A555 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A55D DEFB $01,$01,$01,$01,$01,$01,$01,$09 $02
A565 DEFB $01,$01,$01,$01,$01,$01,$08,$32
A56D DEFB $01,$01,$01,$01,$01,$01,$12,$32
A575 DEFB $01,$01,$01,$01,$01,$0B,$00,$32
A57D DEFB $01,$01,$01,$01,$01,$30,$00,$32
A585 DEFB $01,$01,$01,$01,$01,$01,$31,$32
A58D DEFB $01,$01,$01,$01,$01,$01,$01,$11
A595 DEFB $01,$01,$01,$01,$01,$01,$01,$03
A59D DEFB $01,$01,$01,$01,$01,$01,$01,$29 $03
A5A5 DEFB $01,$01,$01,$01,$01,$01,$01,$0A
A5AD DEFB $01,$01,$01,$09,$15,$16,$17,$00
A5B5 DEFB $01,$01,$01,$02,$00,$04,$26,$03
A5BD DEFB $01,$01,$01,$01,$25,$01,$01,$2A
A5C5 DEFB $01,$01,$01,$01,$01,$01,$01,$2B
A5CD DEFB $01,$01,$01,$01,$01,$01,$01,$08
A5D5 DEFB $01,$01,$01,$01,$01,$01,$01,$30
A5DD DEFB $12,$00,$00,$00,$00,$00,$00,$00 $04
A5E5 DEFB $02,$00,$00,$00,$00,$00,$00,$00
A5ED DEFB $01,$27,$30,$00,$00,$00,$00,$00
A5F5 DEFB $01,$01,$01,$31,$00,$00,$00,$00
A5FD DEFB $01,$01,$01,$2B,$00,$00,$00,$00
A605 DEFB $01,$01,$01,$01,$03,$00,$00,$00
A60D DEFB $01,$01,$01,$01,$01,$25,$24,$02
A615 DEFB $01,$01,$01,$01,$01,$01,$01,$28
A61D DEFB $01,$01,$01,$01,$01,$01,$01,$09 $05
A625 DEFB $01,$01,$01,$01,$0B,$14,$15,$00
A62D DEFB $09,$15,$17,$16,$32,$00,$00,$00
A635 DEFB $13,$32,$32,$32,$00,$00,$00,$00
A63D DEFB $03,$32,$32,$00,$00,$00,$00,$00
A645 DEFB $2A,$32,$00,$00,$00,$00,$00,$00
A64D DEFB $0B,$00,$00,$00,$00,$00,$00,$00
A655 DEFB $13,$00,$00,$00,$00,$00,$00,$00
A65D DEFB $0F,$01,$01,$01,$01,$01,$01,$01 $06
A665 DEFB $32,$0E,$01,$01,$01,$01,$01,$01
A66D DEFB $32,$00,$14,$15,$16,$0D,$01,$01
A675 DEFB $32,$00,$00,$00,$00,$05,$01,$01
A67D DEFB $32,$00,$1C,$07,$26,$01,$01,$01
A685 DEFB $32,$06,$01,$01,$01,$01,$01,$01
A68D DEFB $07,$01,$01,$01,$01,$01,$01,$01
A695 DEFB $20,$01,$01,$01,$01,$01,$01,$01
A69D DEFB $22,$01,$01,$01,$01,$01,$01,$01 $07
A6A5 DEFB $21,$01,$01,$01,$01,$01,$01,$01
A6AD DEFB $0C,$01,$09,$14,$16,$17,$0D,$01
A6B5 DEFB $32,$14,$00,$00,$00,$00,$00,$23
A6BD DEFB $32,$00,$00,$00,$00,$00,$00,$0C
A6C5 DEFB $32,$06,$27,$03,$00,$00,$00,$19
A6CD DEFB $00,$22,$01,$01,$31,$00,$00,$07
A6D5 DEFB $04,$01,$01,$01,$01,$03,$04,$01
A6DD DEFB $00,$00,$00,$00,$00,$00,$00,$1B $08
A6E5 DEFB $00,$00,$00,$00,$00,$00,$00,$07
A6ED DEFB $00,$00,$00,$00,$32,$32,$05,$01
A6F5 DEFB $00,$00,$05,$24,$03,$00,$0D,$01
A6FD DEFB $00,$00,$20,$01,$01,$02,$07,$01
A705 DEFB $00,$1A,$01,$01,$01,$01,$01,$01
A70D DEFB $00,$04,$01,$01,$01,$01,$01,$01
A715 DEFB $05,$01,$01,$01,$01,$01,$01,$01
A71D DEFB $22,$01,$01,$01,$01,$01,$01,$01 $09
A725 DEFB $0D,$01,$01,$01,$01,$01,$01,$01
A72D DEFB $00,$0E,$01,$01,$01,$01,$01,$01
A735 DEFB $00,$00,$0F,$01,$01,$01,$01,$01
A73D DEFB $00,$00,$00,$15,$16,$0F,$01,$01
A745 DEFB $00,$00,$00,$00,$00,$07,$01,$01
A74D DEFB $00,$00,$00,$00,$00,$0C,$01,$01
A755 DEFB $00,$00,$00,$00,$00,$00,$14,$0D
A75D DEFB $15,$16,$0D,$2E,$2F,$01,$01,$01 $0A
A765 DEFB $32,$32,$32,$32,$32,$17,$0F,$2C
A76D DEFB $32,$32,$32,$00,$00,$00,$00,$00
A775 DEFB $32,$32,$32,$00,$00,$00,$00,$00
A77D DEFB $32,$32,$32,$00,$00,$00,$00,$00
A785 DEFB $32,$32,$32,$00,$00,$00,$00,$00
A78D DEFB $32,$32,$32,$32,$06,$26,$25,$27
A795 DEFB $04,$02,$1E,$04,$01,$01,$01,$01
A79D DEFB $01,$0A,$15,$16,$0D,$01,$01,$09 $0B
A7A5 DEFB $0B,$32,$32,$32,$32,$0C,$0A,$00
A7AD DEFB $00,$00,$00,$00,$00,$32,$32,$32
A7B5 DEFB $00,$00,$00,$00,$00,$32,$32,$32
A7BD DEFB $00,$00,$00,$00,$00,$32,$32,$32
A7C5 DEFB $32,$32,$32,$1D,$32,$32,$32,$32
A7CD DEFB $30,$00,$06,$01,$02,$00,$32,$32
A7D5 DEFB $01,$25,$01,$01,$01,$03,$1E,$1D
A7DD DEFB $01,$01,$01,$01,$2D,$01,$01,$01 $0C
A7E5 DEFB $01,$01,$01,$0A,$00,$0D,$2E,$2D
A7ED DEFB $09,$14,$15,$00,$00,$00,$00,$00
A7F5 DEFB $02,$32,$00,$00,$00,$00,$00,$00
A7FD DEFB $29,$00,$00,$00,$00,$00,$00,$00
A805 DEFB $2A,$00,$00,$00,$00,$00,$00,$00
A80D DEFB $08,$00,$00,$00,$00,$00,$00,$07
A815 DEFB $10,$00,$00,$00,$00,$00,$18,$01
A81D DEFB $30,$00,$00,$00,$00,$00,$19,$01 $0D
A825 DEFB $0B,$00,$00,$00,$00,$00,$04,$01
A82D DEFB $00,$00,$00,$00,$00,$00,$21,$01
A835 DEFB $00,$00,$00,$00,$00,$07,$01,$01
A83D DEFB $00,$00,$00,$00,$32,$0F,$01,$01
A845 DEFB $00,$00,$00,$32,$32,$32,$23,$01
A84D DEFB $11,$32,$32,$32,$1F,$06,$01,$01
A855 DEFB $24,$27,$02,$05,$01,$01,$01,$01
A85D DEFB $01,$01,$01,$01,$01,$2D,$2E,$01 $0E
A865 DEFB $2E,$2D,$2C,$2F,$0A,$00,$07,$01
A86D DEFB $00,$00,$00,$00,$00,$1A,$01,$01
A875 DEFB $00,$00,$00,$00,$00,$00,$23,$01
A87D DEFB $00,$00,$00,$00,$00,$00,$0F,$01
A885 DEFB $00,$00,$00,$00,$00,$00,$00,$22
A88D DEFB $10,$00,$00,$00,$00,$00,$00,$23
A895 DEFB $27,$00,$00,$00,$00,$00,$00,$0C
A89D DEFB $01,$12,$00,$00,$00,$00,$00,$1A $0F
A8A5 DEFB $08,$32,$00,$00,$00,$00,$00,$18
A8AD DEFB $03,$32,$00,$00,$00,$00,$00,$00
A8B5 DEFB $01,$30,$00,$00,$00,$00,$00,$00
A8BD DEFB $01,$01,$27,$02,$00,$00,$00,$00
A8C5 DEFB $01,$01,$01,$01,$03,$00,$1F,$1E
A8CD DEFB $01,$01,$01,$01,$01,$24,$01,$01
A8D5 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A8DD DEFB $01,$09,$15,$17,$14,$16,$0C,$01 $10
A8E5 DEFB $08,$32,$32,$32,$32,$32,$32,$0D
A8ED DEFB $00,$00,$00,$00,$00,$00,$00,$00
A8F5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A8FD DEFB $00,$00,$00,$00,$00,$00,$00,$00
A905 DEFB $32,$32,$32,$32,$07,$26,$31,$32
A90D DEFB $12,$32,$32,$06,$01,$01,$01,$25
A915 DEFB $30,$1D,$05,$01,$01,$01,$01,$01
A91D DEFB $01,$01,$01,$01,$01,$01,$01,$01 $11
A925 DEFB $09,$14,$17,$16,$16,$14,$17,$0E
A92D DEFB $00,$00,$00,$00,$00,$00,$00,$00
A935 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A93D DEFB $00,$00,$00,$00,$00,$00,$00,$00
A945 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A94D DEFB $03,$1C,$1F,$1E,$1C,$1E,$1F,$04
A955 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A95D DEFB $01,$01,$01,$01,$01,$01,$01,$01 $12
A965 DEFB $01,$01,$01,$01,$2F,$2E,$2E,$2C
A96D DEFB $0C,$2C,$2D,$08,$32,$32,$32,$32
A975 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A97D DEFB $00,$00,$00,$00,$00,$00,$00,$00
A985 DEFB $32,$32,$32,$32,$04,$25,$26,$30
A98D DEFB $24,$25,$26,$27,$01,$01,$01,$01
A995 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A99D DEFB $01,$2D,$0B,$15,$14,$0F,$01,$01 $13
A9A5 DEFB $09,$32,$32,$32,$32,$00,$0D,$2C
A9AD DEFB $00,$00,$00,$00,$00,$00,$00,$00
A9B5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
A9BD DEFB $32,$32,$32,$1D,$02,$32,$32,$32
A9C5 DEFB $32,$04,$26,$01,$2A,$1C,$32,$32
A9CD DEFB $24,$01,$01,$01,$01,$01,$02,$07
A9D5 DEFB $01,$01,$01,$01,$01,$01,$01,$01
A9DD DEFB $01,$01,$2C,$2E,$2D,$01,$01,$01 $14
A9E5 DEFB $2C,$09,$00,$00,$00,$0C,$01,$01
A9ED DEFB $32,$32,$32,$32,$00,$00,$15,$0F
A9F5 DEFB $32,$32,$32,$32,$00,$00,$00,$06
A9FD DEFB $32,$32,$32,$00,$00,$00,$00,$22
AA05 DEFB $32,$1D,$00,$00,$00,$00,$00,$20
AA0D DEFB $25,$01,$30,$1E,$1F,$1D,$00,$0E
AA15 DEFB $01,$01,$01,$01,$01,$01,$03,$07
AA1D DEFB $01,$01,$01,$01,$01,$01,$01,$01 $15
AA25 DEFB $01,$01,$01,$01,$01,$01,$01,$2F
AA2D DEFB $01,$2F,$2C,$2D,$0B,$16,$17,$00
AA35 DEFB $2A,$1F,$00,$00,$00,$00,$32,$32
AA3D DEFB $01,$01,$24,$02,$26,$31,$32,$32
AA45 DEFB $01,$01,$01,$01,$01,$01,$30,$00
AA4D DEFB $01,$01,$01,$01,$01,$01,$01,$26
AA55 DEFB $01,$01,$01,$01,$01,$01,$01,$01
AA5D DEFB $00,$00,$00,$00,$00,$00,$00,$00 $16
AA65 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AA6D DEFB $00,$00,$00,$00,$00,$00,$00,$00
AA75 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AA7D DEFB $00,$00,$00,$00,$00,$00,$00,$00
AA85 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AA8D DEFB $00,$00,$00,$00,$1D,$00,$00,$00
AA95 DEFB $1E,$1F,$1C,$04,$01,$02,$1D,$1C
AA9D DEFB $00,$00,$00,$00,$00,$00,$00,$00 $17
AAA5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AAAD DEFB $00,$00,$00,$00,$00,$00,$00,$00
AAB5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AABD DEFB $00,$00,$00,$00,$00,$00,$00,$00
AAC5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AACD DEFB $00,$00,$1C,$1E,$1F,$1E,$1F,$00
AAD5 DEFB $06,$26,$01,$01,$01,$01,$01,$31
AADD DEFB $01,$08,$00,$00,$00,$00,$0C,$01 $18
AAE5 DEFB $09,$00,$00,$00,$00,$00,$00,$0D
AAED DEFB $00,$00,$00,$00,$00,$00,$00,$00
AAF5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AAFD DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB05 DEFB $00,$00,$00,$1D,$00,$00,$00,$00
AB0D DEFB $30,$1E,$04,$01,$31,$1C,$1F,$07
AB15 DEFB $01,$01,$01,$01,$01,$01,$01,$01
AB1D DEFB $01,$01,$01,$01,$01,$01,$01,$01 $19
AB25 DEFB $08,$14,$0D,$01,$0B,$16,$0E,$2E
AB2D DEFB $00,$00,$00,$15,$00,$00,$00,$00
AB35 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB3D DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB45 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB4D DEFB $30,$00,$00,$00,$00,$00,$04,$24
AB55 DEFB $01,$31,$00,$00,$00,$00,$22,$01
AB5D DEFB $0C,$0A,$14,$15,$0F,$01,$08,$17 $1A
AB65 DEFB $00,$00,$00,$00,$00,$16,$00,$00
AB6D DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB75 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB7D DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB85 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB8D DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB95 DEFB $00,$00,$00,$00,$00,$00,$00,$00
AB9D DEFB $16,$0D,$01,$01,$01,$01,$01,$09 $1B
ABA5 DEFB $00,$00,$0C,$01,$01,$0A,$15,$00
ABAD DEFB $00,$00,$00,$0E,$09,$00,$00,$00
ABB5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
ABBD DEFB $00,$00,$00,$00,$00,$00,$00,$00
ABC5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
ABCD DEFB $00,$00,$00,$00,$00,$00,$00,$00
ABD5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
ABDD DEFB $30,$00,$00,$00,$00,$00,$00,$00 $1C place for Octupus, left block
ABE5 DEFB $28,$00,$00,$00,$00,$00,$00,$00
ABED DEFB $29,$00,$00,$00,$00,$00,$00,$00
ABF5 DEFB $01,$31,$00,$00,$00,$00,$00,$00
ABFD DEFB $01,$01,$24,$26,$02,$32,$32,$32
AC05 DEFB $01,$01,$01,$08,$16,$32,$32,$32
AC0D DEFB $01,$01,$0A,$32,$32,$32,$32,$32
AC15 DEFB $0B,$17,$32,$32,$32,$32,$32,$32
AC1D DEFB $00,$00,$00,$00,$00,$00,$00,$1A $1D place for Octupus, right block
AC25 DEFB $00,$00,$00,$00,$00,$00,$00,$05
AC2D DEFB $00,$00,$00,$00,$00,$00,$06,$01
AC35 DEFB $18,$26,$27,$24,$24,$26,$01,$01
AC3D DEFB $32,$15,$0C,$01,$01,$01,$01,$01
AC45 DEFB $32,$32,$32,$15,$16,$0F,$01,$01
AC4D DEFB $32,$32,$32,$32,$32,$32,$0D,$01
AC55 DEFB $00,$32,$32,$32,$32,$00,$00,$0C
AC5D: Relief mini-map 32x32 = 1024 bytes
Each byte is relief block number (see A4DD), each relief block is 8x8 tiles, and tiles are 8x8 pixels. So this mini-map defines the world of 256x256 tiles, or 2048 x 2048 pixels.
MiniMap AC5D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AC7D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$17
AC9D DEFB $04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$08,$01
ACBD DEFB $01,$04,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$06,$01
ACDD DEFB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
ACFD DEFB $01,$05,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$1A,$09,$01
AD1D DEFB $02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$06
AD3D DEFB $01,$04,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$16,$08,$01
AD5D DEFB $3E,$3F,$08,$52,$3E,$4B,$08,$58,$3F,$31,$08,$72,$3E,$71,$08,$98,$3F,$B3,$00,$C4,$3E,$40,$00,$CA,$3E,$28,$00,$CD,$3E,$15,$08,$D4
AD7D DEFB $3E,$DB,$08,$E0,$3F,$81,$0A,$20,$1F,$64,$0A,$28,$1F,$1D,$0A,$38,$1F,$6B,$0A,$5C,$1E,$36,$0A,$62,$1E,$77,$0A,$65,$1E,$1C,$0A,$8A
AD9D DEFB $1E,$2E,$0A,$9A,$1E,$4D,$0A,$AA,$1E,$50,$0A,$AD,$1E,$39,$0A,$B4,$1E,$27,$0A,$B8,$1F,$0C,$0A,$C2,$1E,$65,$0A,$C5,$1E,$02,$0A,$CC
ADBD DEFB $1E,$08,$0A,$D4,$1E,$1E,$80,$5A,$1E,$7F,$0A,$5D,$1E,$44,$0A,$62,$1E,$7D,$0A,$65,$1E,$7A,$0A,$68,$1F,$4B,$0A,$70,$1F,$40,$0A,$7A
ADDD DEFB $1E,$69,$0A,$7D,$1E,$16,$0A,$80,$1F,$57,$0A,$88,$1F,$7C,$0A,$98,$1F,$72,$0A,$A2,$1E,$23,$80,$05,$5C,$F3,$DD,$00,$00,$00,$00,$00
ADFD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AE1D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AE3D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AE5D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AE7D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AE9D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AEBD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
AEDD DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01
AEFD DEFB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
AF1D DEFB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
AF3D DEFB $01,$01,$01,$01,$09,$01,$01,$01,$01,$01,$01,$08,$32,$01,$01,$01,$01,$01,$01,$12,$32,$01,$01,$01,$01,$01,$0B,$00,$32,$01,$01,$01
AF5D DEFB $01,$01,$30,$00,$32,$01,$01,$01,$01,$01,$01,$31,$32,$01,$01,$01,$01,$01,$01,$01,$11,$01,$01,$01,$01,$01,$01,$01,$03,$01,$01,$01
AF7D DEFB $01,$01,$01,$01,$29,$01,$01,$01,$01,$01,$01,$01,$0A,$01,$01,$01,$09,$15,$16,$17,$00,$01,$01,$01,$02,$00,$04,$26,$03,$01,$01,$01
AF9D DEFB $01,$25,$01,$01,$2A,$01,$01,$01,$01,$01,$01,$01,$2B,$01,$01,$01,$01,$01,$01,$01,$08,$01,$01,$01,$01,$01,$01,$01,$30,$12,$00,$00
AFBD DEFB $00,$00,$00,$00,$00,$02,$00,$00,$00,$00,$00,$00,$00,$01,$27,$30,$00,$00,$00,$00,$00,$01,$01,$01,$31,$00,$00,$00,$00,$01,$01,$01
AFDD DEFB $2B,$00,$00,$00,$00,$01,$01,$01,$01,$03,$00,$00,$00,$01,$01,$01,$01,$01,$25,$24,$02,$01,$01,$01,$01,$01,$01,$01,$28,$01,$01,$01
AFFD DEFB $01,$01,$01,$01,$09,$01,$01,$01,$01,$0B,$14,$15,$00,$09,$15,$17,$16,$32,$00,$00,$00,$13,$32,$32,$32,$00,$00,$00,$00,$03,$32,$32
B01D DEFB $00,$00,$00,$00,$00,$2A,$32,$00,$00,$00,$00,$00,$00,$0B,$00,$00,$00,$00,$00,$00,$00,$13,$00,$00,$00,$00,$00,$00,$00,$0F,$01,$01
B03D DEFB $01,$01,$01,$01,$01,$32,$0E,$01,$01,$01,$01,$01,$01,$32,$00,$14,$15,$16,$0D,$01,$01,$32,$00,$00,$00,$00,$05,$01,$01,$32,$00,$1C
B05D: Data block at B05D
B05D DEFB $01,$01,$01,$01,$01,$01,$01,$01
B065 DEFB $01,$01,$01,$01,$01,$01,$01,$01
B06D DEFB $01,$01,$01,$01,$01,$01,$01,$01
B075 DEFB $01,$01,$01,$01,$01,$01,$01,$01
B07D: Table of objects on the screen
B07D DEFB $01,$01,$01,$01
B081 DEFB $01,$21,$01,$01
B085 DEFB $01,$01,$01,$01
B089 DEFB $01,$0C,$01,$09
B08D DEFB $14,$16,$17,$0D
B091 DEFB $01,$32,$14,$00
B095 DEFB $00,$00,$00,$00
B099 DEFB $23,$32,$00,$00
B09D DEFB $00,$00,$00,$00
B0A1 DEFB $0C,$32,$06,$27
B0A5 DEFB $03,$00,$00,$00
B0A9: Draw static objects on the screen; prepare LB07D table
Used by the routine at DrawGameScr.
DrawStatics B0A9 LD DE,($5B03) get Screen position on mini-map
B0AD LD A,D
B0AE RLCA
B0AF RLCA
B0B0 RLCA
B0B1 LD D,A
B0B2 LD A,E
B0B3 RLCA
B0B4 RLCA
B0B5 RLCA
B0B6 LD E,A
B0B7 LD ($5B0B),DE
B0BB LD HL,TableStatics
B0BE DI
B0BF PUSH IY
B0C1 LD IY,$B07D
DrawStatics_0 B0C5 BIT 7,(HL)
B0C7 JR Z,DrawStatics_1
B0C9 LD (IY+$01),$FF
B0CD POP IY
B0CF RET
DrawStatics_1 B0D0 PUSH HL
B0D1 PUSH DE
B0D2 RES 0,(HL)
B0D4 INC HL
B0D5 LD A,(HL)
B0D6 SUB E
B0D7 CP $18
B0D9 JR NC,DrawStatics_4
B0DB LD E,A
B0DC INC HL
B0DD LD A,(HL)
B0DE SUB D
B0DF CP $18
B0E1 JR NC,DrawStatics_4
B0E3 LD D,A
B0E4 PUSH DE
B0E5 DEC HL
B0E6 DEC HL
B0E7 LD (IY+$00),L
B0EA LD (IY+$01),H
B0ED LD (IY+$02),E
B0F0 LD (IY+$03),D
B0F3 INC IY
B0F5 INC IY
B0F7 INC IY
B0F9 INC IY
B0FB SET 0,(HL)
B0FD LD C,$46 screen attribute for chest
B0FF LD DE,$B1B4 Sprite 16x8 Chest
B102 BIT 6,(HL) check "chest" bit
B104 JR NZ,DrawStatics_5
B106 LD C,$47 screen attribute for oxygen
B108 LD DE,$B1AC Sprite 8x8 Oxygen
B10B BIT 5,(HL) check "oxygen" bit
B10D JR NZ,DrawStatics_6
B10F LD C,$07 screen attribute for shells
B111 BIT 1,(HL) check "big/small" bit
B113 JR Z,DrawStatics_2
B115 LD DE,$B1CC Sprite 8x8 Small shell opened
B118 BIT 3,(HL) check "closed/opened" bit
B11A JR Z,DrawStatics_6
B11C LD DE,$B1C4 Sprite 8x8 Small shell closed
B11F JR DrawStatics_6
DrawStatics_2 B121 LD DE,$B16C Sprite 16x16 Big shell opened
B124 BIT 3,(HL) check "closed/opened" bit
B126 JR Z,DrawStatics_3
B128 LD DE,$B18C Sprite 16x16 Big shell closed
DrawStatics_3 B12B POP HL
B12C PUSH HL save (row, column)
B12D CALL GetScrAttrAddr Get screen attribute address
B130 LD (HL),C set screen attribute
B131 INC HL
B132 LD (HL),C set screen attribute
B133 PUSH BC
B134 LD BC,$0020
B137 OR A
B138 SBC HL,BC one char line upper
B13A POP BC
B13B LD (HL),C set screen attribute
B13C DEC HL
B13D LD (HL),C set screen attribute
B13E POP HL restore (row, column)
B13F PUSH HL
B140 CALL DrawTile16x8 Draw tile 16x8 at the screen
B143 POP HL restore (row, column)
B144 DEC H One char line upper
B145 CALL DrawTile16x8 Draw tile 16x8 at the screen
DrawStatics_4 B148 POP DE
B149 POP HL
B14A LD BC,$0004
B14D ADD HL,BC
B14E JP DrawStatics_0
DrawStatics_5 B151 LD A,(HL)
B152 POP HL
B153 PUSH HL
B154 CALL GetScrAttrAddr Get screen attribute address
B157 LD (HL),C set screen attribute
B158 INC HL
B159 LD (HL),C set screen attribute
B15A POP HL
B15B CALL DrawTile16x8 Draw tile 16x8 at the screen
B15E JR DrawStatics_4
DrawStatics_6 B160 POP HL
B161 PUSH HL
B162 CALL GetScrAttrAddr Get screen attribute address
B165 LD (HL),C set screen attribute
B166 POP HL
B167 CALL DrawTile8x8 Draw tile 8x8 at the screen
B16A JR DrawStatics_4
B16C: Sprites for objects
Sprite 16x16 Big shell opened; first lower part then upper
B16C DEFB $60,$1C,$60,$0E,$2C,$1E,$36,$1C sprB16C
B174 DEFB $36,$0C,$16,$C4,$0B,$6C,$05,$B8
B17C DEFB $00,$00,$00,$60,$00,$78,$00,$38 sprB17C
B184 DEFB $00,$3C,$00,$0E,$40,$36,$40,$3B
Sprite 16x16 Big shell closed; first lower part then upper
B18C DEFB $63,$10,$61,$E0,$2C,$F8,$36,$78 sprB18C
B194 DEFB $36,$1C,$16,$C4,$0B,$6C,$05,$B8
B19C DEFB $00,$00,$00,$00,$00,$00,$0C,$00 sprB19C
B1A4 DEFB $3F,$00,$0F,$80,$4F,$80,$40,$E0
Sprite 8x8 Oxygen
B1AC DEFB $30,$10,$7C,$6C,$6C,$6C,$7C,$6C sprB1AC
Sprite 16x8 Chest
B1B4 DEFB $0F,$F8,$1F,$FC,$00,$00,$1F,$FC sprB1B4
B1BC DEFB $1F,$7C,$1F,$7C,$1F,$FC,$1F,$FC
Sprite 8x8 Small shell closed
B1C4 DEFB $00,$00,$00,$7C,$FE,$06,$FE,$7C sprB1C4
Sprite 8x8 Small shell opened
B1CC DEFB $02,$03,$03,$03,$03,$03,$FE,$7C sprB1CC
B1D4: Routine at B1D4
Used by the routine at PrepareMiniMap.
B1D4 PUSH IY
B1D6 NOP
B1D7 NOP
B1D8 NOP
B1D9 NOP
B1DA XOR A
B1DB LD ($B210),A
B1DE LD IY,TableStatics
B1E2 CALL NextRandom Random
B1E5 LD A,H
B1E6 AND $03
B1E8 ADD A,$03
B1EA LD B,A
B1EB LD DE,$0004
B1EE ADD IY,DE
B1F0 DJNZ $B1EE
B1F2 LD A,(IY+$02)
B1F5 CP $48
B1F7 JR C,$B1DE
B1F9 LD A,(IY+$00)
B1FC AND $60
B1FE JR NZ,$B1E2
B200 LD (IY+$00),$20
B204 LD HL,$B210
B207 INC (HL)
B208 LD A,(HL)
B209 CP $08
B20B JR NZ,$B1E2
B20D POP IY
B20F RET
B210: Data block at B210
B210 DEFB $00 ???
B211 DEFB $08 ???
B212 DEFB $05 ???
B213: Routine at B213
Used by the routines at D990 and EEAD.
B213 CALL $B2C0 Octopus delay and process
B216 LD HL,$B211
B219 DEC (HL)
B21A RET NZ
B21B DI
B21C LD A,($5B0D) get value 7 / 5 / 3 / 1, depending on Game level 1..4
B21F LD (HL),A
B220 LD A,($B212)
B223 BIT 7,A
B225 JR NZ,$B230
B227 INC A
B228 CP $07
B22A JR NZ,$B237
B22C SET 7,A
B22E JR $B237
B230 DEC A
B231 CP $83
B233 JR NZ,$B237
B235 RES 7,A
B237 LD ($B212),A
B23A PUSH IY
B23C LD IY,$B079
B240 LD DE,$0004
B243 LD BC,($5B0B)
B247 ADD IY,DE
B249 LD L,(IY+$00)
B24C LD H,(IY+$01)
B24F LD A,$FF
B251 CP H
B252 JR NZ,$B257
B254 POP IY
B256 RET
B257 BIT 5,(HL)
B259 JR NZ,$B247
B25B BIT 6,(HL)
B25D JR Z,$B276
B25F BIT 3,(HL)
B261 JR NZ,$B247
B263 LD L,(IY+$02)
B266 LD H,(IY+$03)
B269 CALL GetScrAttrAddr Get screen attribute address
B26C LD A,($B212)
B26F AND $07
B271 LD (HL),A
B272 INC HL
B273 LD (HL),A
B274 JR $B240
B276 BIT 3,(HL)
B278 JR Z,$B27E
B27A BIT 4,(HL)
B27C JR NZ,$B247
B27E ADD HL,DE
B27F DEC HL
B280 DEC (HL)
B281 JR Z,$B286
B283 INC HL
B284 JR $B247
B286 PUSH HL
B287 PUSH DE
B288 PUSH BC
B289 CALL NextRandom Random
B28C POP BC
B28D POP DE
B28E LD A,H
B28F POP HL
B290 AND $7F
B292 ADD A,$80
B294 LD (HL),A
B295 DEC HL
B296 LD A,(HL)
B297 SUB B
B298 LD D,A
B299 DEC HL
B29A LD A,(HL)
B29B SUB C
B29C LD E,A
B29D DEC HL
B29E LD A,$08
B2A0 XOR (HL)
B2A1 LD (HL),A
B2A2 BIT 1,(HL)
B2A4 PUSH HL
B2A5 EX DE,HL
B2A6 JR Z,$B2B1
B2A8 LD DE,$B2EE sprite 8x8 address, 8 bytes
B2AB CALL DrawTileXor8x8 Draw tile 8x8 with XOR
B2AE POP HL
B2AF JR $B240
B2B1 LD DE,$B2F6 sprite 16x16 address, 32 bytes
B2B4 PUSH HL
B2B5 CALL DrawTileXor16x8 Draw tile 16x8 with XOR
B2B8 POP HL
B2B9 DEC H one line upper
B2BA CALL DrawTileXor16x8 Draw tile 16x8 with XOR
B2BD POP HL
B2BE JR $B240
B2C0: Octopus delay and process
Used by the routine at B213.
B2C0 LD HL,$B2CD
B2C3 DEC (HL)
B2C4 RET NZ
B2C5 LD A,($5B0E) get value 10 / 8 / 6 / 4, depending on Game level 1..4
B2C8 LD (HL),A
B2C9 CALL $B317 Process Octopus, draw if needed
B2CC RET
B2CD DEFB $08
B2CE: Draw tile 8x8 with XOR
Used by the routine at B213.
Input
HL Char coords H = 0..23, L = 0..31
DE Tile address
DrawTileXor8x8 B2CE CALL GetScrAddr Convert char coords HL to ZX screen address
B2D1 LD B,$08 tile height 8 pixels
DrawTileXor8x8_0 B2D3 LD A,(DE)
B2D4 XOR (HL)
B2D5 LD (HL),A
B2D6 INC DE
B2D7 INC H
B2D8 DJNZ DrawTileXor8x8_0
B2DA RET
B2DB: Draw tile 16x8 with XOR
Used by the routine at B213.
Input
HL Char coords H = 0..23, L = 0..31
DE Tile address
DrawTileXor16x8 B2DB CALL GetScrAddr Convert char coords HL to ZX screen address
B2DE LD B,$08 tile height 8 pixels
DrawTileXor16x8_0 B2E0 LD A,(DE)
B2E1 XOR (HL)
B2E2 LD (HL),A
B2E3 INC DE
B2E4 INC L
B2E5 LD A,(DE)
B2E6 XOR (HL)
B2E7 LD (HL),A
B2E8 DEC L
B2E9 INC H
B2EA INC DE
B2EB DJNZ DrawTileXor16x8_0
B2ED RET
B2EE: Sprite 8x8 address, 8 bytes
B2EE DEFB $02,$03,$03,$7F,$FD,$05,$00,$00 sprB2EE
B2F6: Sprite 16x16, 32 bytes; first lower part then upper
B2F6 DEFB $03,$0C,$01,$EE,$00,$E6,$00,$64 sprB2F6
B2FE DEFB $00,$10,$00,$00,$00,$00,$00,$00
B306 DEFB $00,$00,$00,$60,$00,$78,$0C,$38 sprB306
B30E DEFB $3F,$3C,$0F,$8E,$0F,$B6,$00,$DB
B316: Data block at B316
B316 DEFB $09
B317: Process Octopus, draw if needed
Used by the routine at B2C0.
B317 LD A,($9C50)
B31A OR A
B31B RET Z
B31C LD HL,$B316
B31F DEC (HL)
B320 RET NZ
B321 LD (HL),$10
B323 LD A,($9C55)
B326 LD B,A
B327 BIT 7,A
B329 JR NZ,$B339
B32B LD A,R
B32D JR Z,$B345
B32F INC B
B330 LD A,$05
B332 CP B
B333 JR NZ,$B345
B335 LD B,$83
B337 JR $B345
B339 LD A,R
B33B JR Z,$B345
B33D DEC B
B33E LD A,$7F
B340 CP B
B341 JR NZ,$B345
B343 LD B,$01
B345 LD A,B
This entry point is used by the routine at DrawGameScr.
B346 LD ($9C55),A
B349 LD HL,$8D74 Base address for Octopus phases
B34C AND $07
B34E LD B,A
B34F OR A
B350 JR Z,$B358
B352 LD DE,$00C0
B355 ADD HL,DE
B356 DJNZ $B355
B358 EX DE,HL
B359 CALL $B35D Draw Octopus sprite
B35C RET
B35D: Draw Octopus sprite
Used by the routine at B317.
Input
DE Octopus sprite address, 6x4 tiles 8x8 pixels, 192 bytes
B35D DI
B35E PUSH IY
B360 LD IY,($9C53)
B364 LD ($9C53),DE
B368 LD HL,($9C51) get Octopus row/column
B36B INC HL
B36C INC HL
B36D LD C,$04
B36F LD B,$06
B371 PUSH HL
B372 PUSH BC
B373 LD B,$08
B375 PUSH HL
B376 LD A,(DE)
B377 XOR (HL)
B378 XOR (IY+$00)
B37B LD (HL),A
B37C INC DE
B37D INC IY
B37F INC H
B380 DJNZ $B376
B382 POP HL
B383 INC L
B384 POP BC
B385 DJNZ $B372
B387 POP HL
B388 LD A,L
B389 ADD A,$20
B38B LD L,A
B38C DEC C
B38D JR NZ,$B36F
B38F POP IY
B391 RET
B392: Unused?
B392 DEFB $00,$00,$00,$00,$00,$00,$00,$00
B39A DEFB $32,$32,$32,$1D,$02,$32
B3A0: Routine at B3A0
Used by the routine at B470.
Input
IX Object address = $E33B
B3A0 BIT 4,(IX+$0D)
B3A4 JR Z,$B3AB
This entry point is used by the routine at DFD5.
B3A6 LD HL,($B7B9)
B3A9 JR $B3B1
This entry point is used by the routine at DFD5.
B3AB LD H,(IX+$08)
B3AE LD L,(IX+$07)
B3B1 LD C,(IY+$0A)
B3B4 LD A,(IX+$03)
B3B7 OR A
B3B8 JR NZ,$B3D6
B3BA SET 6,(IX+$0D)
B3BE BIT 3,(IX+$0D)
B3C2 JR Z,$B3CE
B3C4 BIT 7,(IX+$12)
B3C8 JR NZ,$B3E9
B3CA LD A,$08
B3CC JR $B3D6
B3CE BIT 7,(IX+$12)
B3D2 JR Z,$B3E9
B3D4 LD A,$08
B3D6 LD B,A
B3D7 XOR A
B3D8 ADD A,(IY+$07)
B3DB DJNZ $B3D8
B3DD LD B,A
B3DE LD C,A
B3DF LD A,(IY+$0A)
B3E2 SUB C
B3E3 LD C,A
B3E4 XOR A
B3E5 LD (HL),A
B3E6 INC HL
B3E7 DJNZ $B3E5
B3E9 PUSH HL
B3EA LD D,(IX+$0C)
B3ED LD E,(IX+$0B)
B3F0 LD A,(DE)
B3F1 INC A
B3F2 JR NZ,$B3FA
B3F4 LD D,(IX+$0A)
B3F7 LD E,(IX+$09)
B3FA LD ($5B11),DE
B3FE LD B,(IY+$0B)
B401 PUSH BC
B402 LD C,(IY+$06)
B405 LD B,$00
B407 EX DE,HL
B408 LDIR
B40A EX DE,HL
B40B LD (HL),$00
B40D INC HL
B40E POP BC
B40F DJNZ $B401
B411 LD B,C
B412 LD A,B
B413 OR A
B414 JR Z,$B41B
B416 XOR A
B417 LD (HL),A
B418 INC HL
B419 DJNZ $B417
B41B LD (IX+$0C),D
B41E LD (IX+$0B),E
B421 LD B,(IX+$02)
B424 LD A,B
B425 OR A
B426 JR NZ,$B446
B428 SET 5,(IX+$0D)
B42C BIT 4,(IX+$0D)
B430 JR Z,$B43E
B432 BIT 7,(IX+$11)
B436 JR Z,$B43A
B438 POP HL
B439 RET
B43A LD B,$08
B43C JR $B446
B43E BIT 7,(IX+$11)
B442 JR NZ,$B43A
B444 JR $B438
B446 LD A,B
B447 CP $04
B449 JR C,$B45C
B44B SUB $04
B44D LD C,A
B44E LD B,(IY+$0D)
B451 POP HL
B452 PUSH HL
B453 XOR A
B454 RRD
B456 INC HL
B457 DJNZ $B454
B459 LD B,C
B45A JR $B446
B45C OR A
B45D JR Z,$B438
B45F POP HL
B460 PUSH HL
B461 PUSH BC
B462 LD B,(IY+$0D)
B465 OR A
B466 RR (HL)
B468 INC HL
B469 DJNZ $B466
B46B POP BC
B46C DJNZ $B45F
B46E POP HL
B46F RET
B470: Routine at B470
Used by the routines at B737, B7BB and BA64.
Input
IX ???
B470 BIT 0,(IX+$0D)
B474 JR Z,$B479
B476 CALL $B3A0
B479 LD D,(IX+$08)
B47C LD E,(IX+$07)
B47F BIT 1,(IX+$0D)
B483 JR NZ,$B496
B485 PUSH DE
B486 LD C,(IY+$09)
B489 LD L,(IY+$0A)
B48C XOR A
B48D LD B,L
B48E LD (DE),A
B48F INC DE
B490 DJNZ $B48E
B492 DEC C
B493 JR NZ,$B48D
B495 POP DE
B496 LD HL,($B7B9)
B499 BIT 0,(IX+$0D)
B49D JR NZ,$B4A2
B49F LD HL,$A41B
B4A2 LD B,(IY+$07)
B4A5 LD A,(IY+$02)
B4A8 AND $E0
B4AA JR Z,$B4B4
B4AC INC (IY+$02)
B4AF INC DE
B4B0 INC HL
B4B1 DEC B
B4B2 JR $B4A5
B4B4 LD A,(IY+$06)
B4B7 ADD A,(IY+$02)
B4BA LD C,A
B4BB CP $18
B4BD JR C,$B4C4
B4BF DEC C
B4C0 DEC B
B4C1 LD A,C
B4C2 JR $B4BB
B4C4 LD (IY+$0E),B
B4C7 LD A,(IY+$07)
B4CA SUB B
B4CB LD (IY+$0F),A
B4CE PUSH IX
B4D0 PUSH HL
B4D1 POP IX
B4D3 LD B,(IY+$09)
B4D6 PUSH BC
B4D7 LD A,(IY+$03)
B4DA CP $18
B4DC JR C,$B4F0
B4DE INC (IY+$03)
B4E1 POP BC
B4E2 DEC B
B4E3 PUSH BC
B4E4 LD L,(IY+$0A)
B4E7 LD H,$00
B4E9 EX DE,HL
B4EA ADD HL,DE
B4EB ADD IX,DE
B4ED EX DE,HL
B4EE JR $B4D7
B4F0 LD L,(IY+$02)
B4F3 LD H,(IY+$03)
B4F6 CALL GetScrAddr Convert char coords HL to ZX screen address
B4F9 LD B,$08
B4FB PUSH BC
B4FC PUSH HL
B4FD LD B,(IY+$0E)
B500 LD A,(DE)
B501 XOR (HL)
B502 LD (IY+$07),A
B505 CPL
B506 AND (IX+$00)
B509 LD (DE),A
B50A LD A,(IX+$00)
B50D OR (IY+$07)
B510 LD (HL),A
B511 INC L
B512 INC DE
B513 INC IX
B515 DJNZ $B500
B517 LD A,(IY+$06)
B51A INC A
B51B LD (IY+$07),A
B51E LD L,(IY+$0F)
B521 LD H,$00
B523 EX DE,HL
B524 ADD HL,DE
B525 ADD IX,DE
B527 EX DE,HL
B528 POP HL
B529 INC H
B52A POP BC
B52B DJNZ $B4FB
B52D POP BC
B52E INC (IY+$03)
B531 LD A,(IY+$03)
B534 CP $18
B536 JR NC,$B53A
B538 DJNZ $B4D6
B53A POP IX
B53C BIT 5,(IX+$0D)
B540 JR NZ,$B547
B542 BIT 6,(IX+$0D)
B546 RET Z
B547 LD H,(IX+$08)
B54A LD L,(IX+$07)
B54D LD A,(IX+$02)
B550 OR A
B551 JR NZ,$B5A4
B553 BIT 7,(IX+$11)
B557 JR NZ,$B57E
B559 PUSH HL
B55A POP DE
B55B INC HL
B55C LD B,(IY+$09)
B55F CALL CopyRecordsFwd Copy records forward
B562 DEC DE
B563 XOR A
B564 LD (DE),A
This entry point is used by the routine at B57E.
B565 LD A,(IX+$03)
B568 OR A
B569 RET NZ
B56A LD H,(IX+$08)
B56D LD L,(IX+$07)
B570 JR $B5A4
B572: Copy records forward
Used by the routines at B470 and B5A4.
Input
HL source address
DE destination address
IY ??? (IY+$0A) is record size
B number of records to copy
CopyRecordsFwd B572 PUSH BC
B573 LD C,(IY+$0A)
B576 LD B,$00
B578 LDIR
B57A POP BC
B57B DJNZ CopyRecordsFwd
B57D RET
B57E: Routine at B57E
Used by the routine at B470.
Input
IY ???
B57E LD E,(IY+$0A) get record size
B581 LD D,$00
B583 LD B,(IY+$09)
B586 ADD HL,DE
B587 DJNZ $B586
B589 DEC HL
B58A LD D,H
B58B LD E,L
B58C DEC HL
B58D LD B,(IY+$09)
B590 CALL CopyRecordsBck Copy records backward
B593 INC DE
B594 XOR A
B595 LD (DE),A
B596 JR $B565
B598: Copy records backward
Used by the routines at B57E and B5A4.
Input
HL source address
DE destination address
IY ??? (IY+$0A) is record size
B number of records to copy
CopyRecordsBck B598 PUSH BC
B599 LD C,(IY+$0A)
B59C LD B,$00
B59E LDDR
B5A0 POP BC
B5A1 DJNZ CopyRecordsBck
B5A3 RET
B5A4: Routine at B5A4
Used by the routine at B470.
Input
IX ???
IY ???
B5A4 BIT 7,(IX+$12)
B5A8 JR NZ,$B5C1
B5AA PUSH HL
B5AB LD E,(IY+$0A)
B5AE LD D,$00
B5B0 ADD HL,DE
B5B1 POP DE
B5B2 LD B,(IY+$08)
B5B5 CALL CopyRecordsFwd Copy records forward
B5B8 LD B,(IY+$0A)
B5BB XOR A
B5BC LD (DE),A
B5BD INC DE
B5BE DJNZ $B5BC
B5C0 RET
B5C1 LD E,(IY+$0A)
B5C4 LD D,$00
B5C6 LD B,(IY+$08)
B5C9 ADD HL,DE
B5CA DJNZ $B5C9
B5CC DEC HL
B5CD PUSH HL
B5CE ADD HL,DE
B5CF POP DE
B5D0 EX DE,HL
B5D1 LD B,(IY+$08)
B5D4 CALL CopyRecordsBck Copy records backward
B5D7 LD B,(IY+$0A)
B5DA XOR A
B5DB LD (DE),A
B5DC DEC DE
B5DD DJNZ $B5DB
B5DF RET
B5E0: Routine at B5E0
Used by the routines at B737, B7BB and BA64.
Input
IX ???
IY ???
B5E0 RES 1,(IX+$0D)
B5E4 BIT 0,(IX+$0D)
B5E8 JR Z,$B5EE
B5EA SET 1,(IX+$0D)
B5EE RES 0,(IX+$0D)
B5F2 LD HL,($5B0B)
B5F5 LD A,(IX+$00)
B5F8 SUB L
B5F9 LD C,A
B5FA CP $18
B5FC JR C,$B60A
B5FE ADD A,(IY+$06)
B601 CP $18
B603 LD A,C
B604 JR C,$B60A
B606 SET 0,(IX+$0D)
B60A LD (IY+$02),A
B60D LD (IY+$00),A
B610 LD A,(IX+$01)
B613 SUB H
B614 CP $18
B616 LD C,A
B617 JR C,$B62D
B619 ADD A,(IY+$08)
B61C CP $18
B61E LD A,C
B61F JR C,$B62D
B621 LD (IY+$01),A
B624 RES 0,(IX+$0D)
B628 LD A,(IX+$0D)
B62B JR $B65F
B62D LD (IY+$03),A
B630 LD (IY+$01),A
B633 LD A,(IX+$0D)
B636 XOR $01
B638 LD (IX+$0D),A
B63B BIT 0,A
B63D JR Z,$B65F
B63F BIT 1,A
B641 RET NZ
B642 LD HL,$B676
B645 XOR A
B646 BIT 7,(HL)
B648 JR Z,$B655
B64A INC HL
B64B INC A
B64C BIT 4,A
B64E JR Z,$B646
B650 SET 7,(IX+$0D)
B654 RET
B655 AND $0F
B657 OR $F0
B659 LD (IX+$08),A
B65C SET 7,(HL)
B65E RET
B65F BIT 1,A
B661 RET Z
B662 BIT 7,(IX+$0D)
B666 RET NZ
B667 LD A,(IX+$08)
B66A AND $0F
B66C LD HL,$B676
B66F LD E,A
B670 LD D,$00
B672 ADD HL,DE
B673 RES 7,(HL)
B675 RET
B676: Unused
B676 DEFS $10
B686: Routine at B686
Used by the routines at B737 and B7BB.
Input
IX ???
IY ???
B686 BIT 5,(IX+$0D)
B68A JR Z,$B6D6
B68C LD L,(IY+$00)
B68F LD H,(IY+$01)
B692 LD A,$06
B694 XOR (IX+$04)
B697 LD C,A
B698 BIT 7,(IX+$11)
B69C JR NZ,$B6A6
B69E INC (IX+$00)
B6A1 INC (IY+$00)
B6A4 JR $B6B1
B6A6 DEC (IX+$00)
B6A9 DEC (IY+$00)
B6AC LD A,L
B6AD ADD A,(IY+$06)
B6B0 LD L,A
B6B1 LD B,(IY+$09)
B6B4 LD A,H
B6B5 AND $E0
B6B7 JR NZ,$B6D3
B6B9 LD A,H
B6BA CP $18
B6BC JR NC,$B6D3
B6BE LD A,L
B6BF AND $E0
B6C1 JR NZ,$B6D3
B6C3 LD A,L
B6C4 CP $18
B6C6 JR NC,$B6D3
B6C8 PUSH HL
B6C9 CALL GetScrAttrAddr Get screen attribute address
B6CC LD A,C
B6CD CP (HL)
B6CE JR NZ,$B6D2
B6D0 LD (HL),$06
B6D2 POP HL
B6D3 INC H
B6D4 DJNZ $B6B4
B6D6 BIT 6,(IX+$0D)
B6DA JR Z,$B704
B6DC LD L,(IY+$00)
B6DF LD H,(IY+$01)
B6E2 LD A,$06
B6E4 XOR (IX+$04)
B6E7 LD C,A
B6E8 BIT 7,(IX+$12)
B6EC JR NZ,$B6F6
B6EE INC (IY+$01)
B6F1 INC (IX+$01)
B6F4 JR $B701
B6F6 DEC (IY+$01)
B6F9 DEC (IX+$01)
B6FC LD A,H
B6FD ADD A,(IY+$08)
B700 LD H,A
B701 CALL $B70F
B704 LD L,(IY+$00)
B707 LD H,(IY+$01)
B70A LD C,$06
B70C JP $B875
B70F: Routine at B70F
Used by the routines at B686 and B837.
Input
IX ???
IY ???
B70F LD A,H
B710 AND $E0
B712 RET NZ
B713 LD A,H
B714 CP $18
B716 RET NC
B717 PUSH HL
B718 LD B,(IY+$07)
B71B LD A,L
B71C AND $E0
B71E JR NZ,$B732
B720 LD A,L
B721 CP $18
B723 JR NC,$B732
B725 PUSH HL
B726 CALL GetScrAttrAddr Get screen attribute address
B729 LD A,(HL)
B72A CP C
B72B JR NZ,$B731
B72D XOR (IX+$04)
B730 LD (HL),A
B731 POP HL
B732 INC L
B733 DJNZ $B71B
B735 POP HL
B736 RET
B737: Routine at B737
Used by the routines at BE40, BE6D, BE9A and C431.
Input
IX ??? $C4F0
B737 LD D,(IX+$14)
B73A LD E,(IX+$13)
B73D PUSH DE
B73E POP IY
B740 LD A,(IX+$0E)
B743 LD (IX+$0F),A
B746 RES 5,(IX+$0D)
B74A RES 6,(IX+$0D)
B74E LD A,(IX+$02)
B751 ADD A,(IX+$11)
B754 AND $07
B756 LD (IX+$02),A
B759 LD A,(IX+$03)
B75C ADD A,(IX+$12)
B75F AND $07
B761 LD (IX+$03),A
B764 CALL $B5E0
B767 BIT 0,(IX+$0D)
B76B JR Z,$B77B
B76D BIT 7,(IX+$0D)
B771 JR NZ,$B79E
B773 CALL $B470
B776 CALL $B686
B779 JR $B79E
B77B LD A,(IX+$02)
B77E RES 7,(IX+$0D)
B782 OR A
B783 JR NZ,$B789
B785 SET 5,(IX+$0D)
B789 LD A,(IX+$03)
B78C OR A
B78D JR NZ,$B793
B78F SET 6,(IX+$0D)
B793 LD A,(IX+$0D)
B796 AND $60
B798 JR Z,$B79E
B79A CALL $B686
B79D RET
B79E LD A,(IX+$02)
B7A1 BIT 2,(IX+$0D)
B7A5 JR Z,$B7AA
B7A7 LD A,(IX+$03)
B7AA CP $04
B7AC RET NZ
B7AD LD HL,$B7B8 address of the return point - put on the stack
B7B0 PUSH HL
B7B1 LD H,(IX+$06)
B7B4 LD L,(IX+$05)
B7B7 JP (HL)
Point of return
B7B8 RET
B7B9: Unused
B7B9 DEFS $02
B7BB: Routine at B7BB
Used by the routines at BE58, BE85, BEB2 and C45C.
Input
IX ???
B7BB LD A,(IX+$0D)
B7BE AND $9E
B7C0 LD (IX+$0D),A
B7C3 LD E,(IX+$13)
B7C6 LD D,(IX+$14)
B7C9 PUSH DE
B7CA POP IY
B7CC LD A,(IX+$02)
B7CF ADD A,(IX+$11)
B7D2 AND $07
B7D4 LD (IX+$02),A
B7D7 LD A,(IX+$03)
B7DA ADD A,(IX+$12)
B7DD AND $07
B7DF LD (IX+$03),A
B7E2 CALL $B5E0
B7E5 BIT 0,(IX+$0D)
B7E9 JR Z,$B7F9
B7EB BIT 7,(IX+$0D)
B7EF JR NZ,$B81C
B7F1 CALL $B470
B7F4 CALL $B837
B7F7 JR $B81C
B7F9 LD A,(IX+$02)
B7FC RES 7,(IX+$0D)
B800 OR A
B801 JR NZ,$B807
B803 SET 5,(IX+$0D)
B807 LD A,(IX+$03)
B80A OR A
B80B JR NZ,$B811
B80D SET 6,(IX+$0D)
B811 LD A,(IX+$0D)
B814 AND $60
B816 JR Z,$B81C
B818 CALL $B686
B81B RET
B81C LD A,(IX+$02)
B81F BIT 2,(IX+$0D)
B823 JR Z,$B828
B825 LD A,(IX+$03)
B828 CP $04
B82A RET NZ
B82B LD HL,$B836
B82E PUSH HL
B82F LD H,(IX+$06)
B832 LD L,(IX+$05)
B835 JP (HL)
B836: Routine at B836
B836 RET
B837: Routine at B837
Used by the routines at B7BB and BA64.
B837 LD A,$06
B839 BIT 0,(IX+$0D)
B83D JR NZ,$B842
B83F XOR (IX+$04)
B842 LD C,A
B843 LD L,(IY+$00)
B846 LD H,(IY+$01)
B849 LD A,(IX+$02)
B84C OR A
B84D JR NZ,$B85F
B84F BIT 7,(IX+$11)
B853 JR NZ,$B85B
B855 INC (IX+$00)
B858 INC L
B859 JR $B85F
B85B DEC (IX+$00)
B85E DEC L
B85F LD A,(IX+$03)
B862 OR A
B863 JR NZ,$B875
B865 BIT 7,(IX+$12)
B869 JR NZ,$B871
B86B INC (IX+$01)
B86E INC H
B86F JR $B875
B871 DEC (IX+$01)
B874 DEC H
This entry point is used by the routine at B686.
B875 LD A,(IY+$09)
B878 LD (IY+$0E),A
B87B CALL $B70F
B87E INC H
B87F DEC (IY+$0E)
B882 JR NZ,$B87B
B884 RET
B885: Routine at B885
B885 BIT 0,(IX+$10) check "moving" bit
B889 JP NZ,$B941
B88C BIT 7,(IX+$11)
B890 LD A,(IX+$00)
B893 JR NZ,$B89C
B895 INC A
B896 INC A
B897 ADD A,(IY+$07)
B89A JR $B89F
B89C DEC A
B89D DEC A
B89E DEC A
B89F LD L,A
B8A0 LD H,(IX+$01)
B8A3 CALL GetTileInBlock
B8A6 OR A
B8A7 JR NZ,$B903
B8A9 INC H
B8AA CALL GetTileInBlock
B8AD OR A
B8AE JR NZ,$B903
B8B0 BIT 0,(IX+$0D)
B8B4 JR Z,$B8D7
B8B6 BIT 7,(IX+$0D)
B8BA JR NZ,$B8D7
B8BC LD DE,($5B0B)
B8C0 LD A,H
B8C1 SUB D
B8C2 CP $18
B8C4 JR NC,$B8D7
B8C6 LD D,A
B8C7 LD A,L
B8C8 SUB E
B8C9 CP $18
B8CB JR NC,$B8D7
B8CD LD L,A
B8CE LD H,D
B8CF CALL GetScrAttrAddr Get screen attribute address
B8D2 LD A,(HL)
B8D3 CP $06
B8D5 JR NZ,$B903
B8D7 LD A,R
B8D9 JR Z,$B903
B8DB LD C,A
B8DC AND $40
B8DE JR Z,$B8E5
B8E0 LD (IX+$12),$00
B8E4 RET
B8E5 BIT 2,C
B8E7 JR Z,$B8F6
B8E9 LD A,(IX+$01)
B8EC CP (IX+$15)
B8EF JR NC,$B8E0
B8F1 LD (IX+$12),$01
B8F5 RET
B8F6 LD A,(IX+$16)
B8F9 CP (IX+$01)
B8FC JR NC,$B8E0
B8FE LD (IX+$12),$FF
B902 RET
B903 BIT 7,(IX+$11)
B907 JR Z,$B917
B909 LD A,(IX+$17)
B90C LD (IX+$18),A
B90F LD L,(IY+$16)
B912 LD H,(IY+$17)
B915 JR $B924
B917 XOR A
B918 SUB (IX+$17)
B91B LD (IX+$18),A
B91E LD L,(IY+$14)
B921 LD H,(IY+$15)
B924 LD (IX+$0B),L
B927 LD (IX+$0C),H
B92A LD (IX+$11),$00
B92E LD (IX+$12),$00
B932 SET 0,(IX+$10) set "moving" bit
B936 LD A,(IY+$0C)
B939 LD (IX+$19),A
B93C SLA (IX+$0E)
B940 RET
B941 DEC (IX+$19)
B944 RET NZ
B945 LD A,(IX+$18)
B948 LD (IX+$11),A
B94B BIT 7,A
B94D JR Z,$B957
B94F LD L,(IY+$10)
B952 LD H,(IY+$11)
B955 JR $B95D
B957 LD L,(IY+$12)
B95A LD H,(IY+$13)
B95D LD (IX+$09),L set sprite address
B960 LD (IX+$0A),H
B963 LD (IX+$0B),L set sprite address
B966 LD (IX+$0C),H
B969 RES 0,(IX+$10) clear "moving" bit
B96D SRL (IX+$0E)
B971 RET
B972: Routine at B972
B972 BIT 0,(IX+$10) check "moving" bit
B976 JP NZ,$BA33
B979 BIT 7,(IX+$12)
B97D LD A,(IX+$01)
B980 JR NZ,$B988
B982 ADD A,(IY+$09)
B985 INC A
B986 JR $B98A
B988 DEC A
B989 DEC A
B98A LD H,A
B98B LD L,(IX+$00)
B98E CALL GetTileInBlock
B991 OR A
B992 JR NZ,$B9F9
B994 LD A,L
B995 ADD A,(IY+$06)
B998 LD L,A
B999 CALL GetTileInBlock
B99C OR A
B99D JR NZ,$B9F9
B99F BIT 0,(IX+$0D)
B9A3 JR Z,$B9C7
B9A5 BIT 7,(IX+$0D)
B9A9 JR NZ,$B9C7
B9AB LD DE,($5B0B)
B9AF LD A,H
B9B0 SUB D
B9B1 CP $18
B9B3 JR NC,$B9C7
B9B5 LD D,A
B9B6 LD A,L
B9B7 DEC A
B9B8 SUB E
B9B9 CP $18
B9BB JR NC,$B9C7
B9BD LD L,A
B9BE LD H,D
B9BF CALL GetScrAttrAddr Get screen attribute address
B9C2 LD A,(HL)
B9C3 CP $06
B9C5 JR NZ,$B9F9
B9C7 LD A,R
B9C9 JR Z,$B9F9
B9CB BIT 6,A
B9CD JR Z,$B9D4
B9CF LD (IX+$11),$00
B9D3 RET
B9D4 BIT 2,A
B9D6 LD C,$01
B9D8 JR Z,$B9E3
B9DA LD C,$FF
B9DC LD A,L
B9DD SUB (IY+$06)
B9E0 SUB $02
B9E2 LD L,A
B9E3 INC L
B9E4 CALL GetTileInBlock
B9E7 OR A
B9E8 JR NZ,$B9CF
B9EA LD A,H
B9EB ADD A,(IY+$08)
B9EE LD H,A
B9EF CALL GetTileInBlock
B9F2 OR A
B9F3 JR NZ,$B9CF
B9F5 LD (IX+$11),C
B9F8 RET
B9F9 BIT 7,(IX+$12)
B9FD JR Z,$BA0A
B9FF LD A,(IX+$17)
BA02 LD L,(IY+$14)
BA05 LD H,(IY+$15)
BA08 JR $BA14
BA0A XOR A
BA0B SUB (IX+$17)
BA0E LD L,(IY+$16)
BA11 LD H,(IY+$17)
BA14 LD (IX+$18),A
BA17 LD (IX+$0B),L
BA1A LD (IX+$0C),H
BA1D XOR A
BA1E LD (IX+$11),A
BA21 LD (IX+$12),A
BA24 SET 0,(IX+$10) set "moving" bit
BA28 LD A,(IY+$0C)
BA2B LD (IX+$19),A
BA2E SLA (IX+$0E)
BA32 RET
BA33 DEC (IX+$19)
BA36 RET NZ
BA37 LD A,(IX+$18)
BA3A LD (IX+$12),A
BA3D BIT 7,A
BA3F JR Z,$BA49
BA41 LD L,(IY+$12)
BA44 LD H,(IY+$13)
BA47 JR $BA4F
BA49 LD L,(IY+$10)
BA4C LD H,(IY+$11)
BA4F LD (IX+$09),L
BA52 LD (IX+$0A),H
BA55 LD (IX+$0B),L
BA58 LD (IX+$0C),H
BA5B RES 0,(IX+$10) clear "moving" bit
BA5F SRL (IX+$0E)
BA63 RET
BA64: Routine at BA64
BA64 BIT 0,(IX+$10) check "moving" bit
BA68 JP NZ,$BC8F
BA6B SET 5,(IX+$10)
BA6F BIT 2,(IX+$0D)
BA73 LD L,(IX+$00)
BA76 LD H,(IX+$01)
BA79 JP NZ,$BB94
BA7C BIT 7,(IX+$11)
BA80 JR NZ,$BA8F
BA82 LD A,L
BA83 ADD A,(IY+$07)
BA86 LD L,A
BA87 LD D,(IY+$15)
BA8A LD E,(IY+$14)
BA8D JR $BA96
BA8F DEC L
BA90 LD D,(IY+$17) Get screen attribute address
BA93 LD E,(IY+$16)
BA96 CALL GetTileInBlock
BA99 OR A
BA9A JR NZ,$BADE
BA9C LD A,H
BA9D ADD A,(IY+$08)
BAA0 LD H,A
BAA1 CALL GetTileInBlock
BAA4 OR A
BAA5 JR NZ,$BADE
BAA7 LD A,R
BAA9 JR Z,$BADE
BAAB BIT 6,A
BAAD JR NZ,$BAB4
BAAF LD (IX+$12),$00
BAB3 RET
BAB4 LD H,(IX+$01)
BAB7 LD L,(IX+$00)
BABA DEC H
BABB LD C,$FF
BABD BIT 2,A
BABF JR Z,$BAC9
BAC1 LD C,$01
BAC3 LD A,H
BAC4 ADD A,(IY+$09)
BAC7 LD H,A
BAC8 INC H
BAC9 CALL GetTileInBlock
BACC OR A
BACD JR NZ,$BAAF
BACF LD A,L
BAD0 ADD A,(IY+$06)
BAD3 LD L,A
BAD4 CALL GetTileInBlock
BAD7 OR A
BAD8 JR NZ,$BAAF
BADA LD (IX+$12),C
BADD RET
BADE LD (IX+$0B),E
BAE1 LD (IX+$0C),D
BAE4 SET 0,(IX+$10) set "moving" bit
BAE8 RES 7,(IX+$10)
BAEC SLA (IX+$0E)
BAF0 LD L,(IX+$00)
BAF3 LD H,(IX+$01)
BAF6 BIT 7,(IX+$11)
BAFA JR NZ,$BB04
BAFC LD A,L
BAFD ADD A,(IY+$06)
BB00 SUB (IY+$08)
BB03 LD L,A
BB04 LD A,R
BB06 JR Z,$BB32
BB08 LD A,H
BB09 CP $4A
BB0B JR C,$BB32
BB0D ADD A,(IY+$08)
BB10 SUB (IY+$07)
BB13 LD H,A
BB14 CALL GetTileInBlock
BB17 OR A
BB18 JR NZ,$BB32
BB1A LD A,L
BB1B LD C,L
BB1C ADD A,(IY+$08)
BB1F LD L,A
BB20 CALL GetTileInBlock
BB23 OR A
BB24 LD L,C
BB25 JR NZ,$BB32
BB27 SET 6,(IX+$10)
BB2B XOR A
BB2C SUB (IX+$17)
BB2F INC H
BB30 JR $BB5E
BB32 LD A,R
BB34 JR Z,$BB75
BB36 LD A,(IX+$01)
BB39 CP $FA
BB3B JR NC,$BB75
BB3D ADD A,(IY+$07)
BB40 LD H,A
BB41 CALL GetTileInBlock
BB44 OR A
BB45 JR NZ,$BB75
BB47 LD C,L
BB48 LD A,L
BB49 ADD A,(IY+$08)
BB4C LD L,A
BB4D CALL GetTileInBlock
BB50 OR A
BB51 LD L,C
BB52 JR NZ,$BB75
BB54 SET 6,(IX+$10)
BB58 LD A,(IX+$17)
BB5B LD H,(IX+$01)
BB5E LD (IX+$18),A
BB61 XOR A
BB62 LD (IX+$12),A
BB65 LD (IX+$11),A
BB68 LD (IX+$1A),L
BB6B LD (IX+$1B),H
BB6E LD A,(IX+$15)
BB71 LD (IX+$19),A
BB74 RET
BB75 RES 6,(IX+$10)
BB79 RES 5,(IX+$10)
BB7D LD H,(IX+$01)
BB80 LD L,(IX+$00)
BB83 BIT 7,(IX+$11)
BB87 JR NZ,$BB8F
BB89 XOR A
BB8A SUB (IX+$17)
BB8D JR $BB5E
BB8F LD A,(IX+$17)
BB92 JR $BB5E
BB94 BIT 7,(IX+$12)
BB98 JR NZ,$BBA7
BB9A LD A,H
BB9B ADD A,(IY+$09)
BB9E LD H,A
BB9F LD D,(IY+$17)
BBA2 LD E,(IY+$16)
BBA5 JR $BBAE
BBA7 DEC H
BBA8 LD D,(IY+$15)
BBAB LD E,(IY+$14)
BBAE CALL GetTileInBlock
BBB1 OR A
BBB2 JR NZ,$BBF6
BBB4 LD A,L
BBB5 ADD A,(IY+$06)
BBB8 LD L,A
BBB9 CALL GetTileInBlock
BBBC OR A
BBBD JR NZ,$BBF6
BBBF LD A,R
BBC1 JR Z,$BBF6
BBC3 BIT 6,A
BBC5 JR NZ,$BBCC
BBC7 LD (IX+$11),$00
BBCB RET
BBCC LD H,(IX+$01)
BBCF LD L,(IX+$00)
BBD2 DEC L
BBD3 LD C,$FF
BBD5 BIT 2,A
BBD7 JR Z,$BBE1
BBD9 LD C,$01
BBDB LD A,L
BBDC ADD A,(IY+$07)
BBDF INC A
BBE0 LD L,A
BBE1 CALL GetTileInBlock
BBE4 OR A
BBE5 JR NZ,$BBC7
BBE7 LD A,H
BBE8 ADD A,(IY+$08)
BBEB LD H,A
BBEC CALL GetTileInBlock
BBEF OR A
BBF0 JR NZ,$BBC7
BBF2 LD (IX+$11),C
BBF5 RET
BBF6 LD (IX+$0B),E
BBF9 LD (IX+$0C),D
BBFC SET 0,(IX+$10) set "moving" bit
BC00 SET 7,(IX+$10)
BC04 SLA (IX+$0E)
BC08 LD L,(IX+$00)
BC0B LD H,(IX+$01)
BC0E BIT 7,(IX+$12)
BC12 JR NZ,$BC1C
BC14 LD A,H
BC15 ADD A,(IY+$08)
BC18 SUB (IY+$06)
BC1B LD H,A
BC1C LD A,R
BC1E JR Z,$BC47
BC20 LD A,L
BC21 ADD A,(IY+$06)
BC24 SUB (IY+$09)
BC27 LD L,A
BC28 CALL GetTileInBlock
BC2B OR A
BC2C JR NZ,$BC47
BC2E LD A,H
BC2F LD C,H
BC30 ADD A,(IY+$06)
BC33 LD H,A
BC34 CALL GetTileInBlock
BC37 OR A
BC38 LD H,C
BC39 JR NZ,$BC47
BC3B RES 6,(IX+$10)
BC3F XOR A
BC40 SUB (IX+$17)
BC43 INC L
BC44 JP $BB5E
BC47 LD A,(IX+$00)
BC4A ADD A,(IY+$09)
BC4D LD L,A
BC4E CALL GetTileInBlock
BC51 OR A
BC52 JR NZ,$BC6E
BC54 LD C,H
BC55 LD A,H
BC56 ADD A,(IY+$06)
BC59 LD H,A
BC5A CALL GetTileInBlock
BC5D OR A
BC5E LD H,C
BC5F JR NZ,$BC6E
BC61 RES 6,(IX+$10)
BC65 LD A,(IX+$17)
BC68 LD L,(IX+$00)
BC6B JP $BB5E
BC6E SET 6,(IX+$10)
BC72 RES 5,(IX+$10)
BC76 LD H,(IX+$01)
BC79 LD L,(IX+$00)
BC7C BIT 7,(IX+$12)
BC80 JR NZ,$BC89
BC82 XOR A
BC83 SUB (IX+$17)
BC86 JP $BB5E
BC89 LD A,(IX+$17)
BC8C JP $BB5E
BC8F BIT 1,(IX+$10)
BC93 JP NZ,$BD4E
BC96 DEC (IX+$19)
BC99 RET NZ
BC9A CALL $B5E0
BC9D BIT 0,(IX+$0D)
BCA1 JR Z,$BCC1
BCA3 BIT 7,(IX+$0D)
BCA7 JR NZ,$BCC1
BCA9 RES 0,(IX+$0D)
BCAD CALL $B470
BCB0 CALL $B837
BCB3 LD A,(IX+$08)
BCB6 AND $0F
BCB8 LD E,A
BCB9 LD D,$00
BCBB LD HL,$B676
BCBE ADD HL,DE
BCBF LD (HL),$00
BCC1 BIT 5,(IX+$10)
BCC5 JR Z,$BCEA
BCC7 LD A,(IX+$02)
BCCA LD B,(IX+$03)
BCCD LD (IX+$03),A
BCD0 LD (IX+$02),B
BCD3 LD A,(IX+$0D)
BCD6 XOR $04
BCD8 LD (IX+$0D),A
BCDB LD L,(IY+$04)
BCDE LD H,(IY+$05)
BCE1 PUSH HL
BCE2 POP IY
BCE4 LD (IX+$13),L set X value
BCE7 LD (IX+$14),H set Y value
BCEA LD A,(IX+$1A)
BCED LD (IX+$00),A
BCF0 LD A,(IX+$1B)
BCF3 LD (IX+$01),A
BCF6 BIT 6,(IX+$10)
BCFA JR Z,$BD04
BCFC BIT 7,(IX+$18)
BD00 JR Z,$BD0A
BD02 JR $BD18
BD04 BIT 7,(IX+$18)
BD08 JR Z,$BD18
BD0A LD H,(IY+$19)
BD0D LD L,(IY+$18)
BD10 LD D,(IY+$11)
BD13 LD E,(IY+$10)
BD16 JR $BD24
BD18 LD H,(IY+$1B)
BD1B LD L,(IY+$1A)
BD1E LD D,(IY+$13)
BD21 LD E,(IY+$12)
BD24 LD (IX+$0A),D
BD27 LD (IX+$09),E
BD2A LD (IX+$0C),H
BD2D LD (IX+$0B),L
BD30 LD A,(IX+$16)
BD33 LD (IX+$19),A
BD36 SET 1,(IX+$10)
BD3A CALL $B5E0
BD3D BIT 0,(IX+$0D)
BD41 RET Z
BD42 BIT 7,(IX+$0D)
BD46 RET NZ
BD47 CALL $B470
BD4A CALL $B837
BD4D RET
BD4E DEC (IX+$19)
BD51 RET NZ
BD52 SRL (IX+$0E)
BD56 LD A,(IX+$0A)
BD59 LD (IX+$0C),A
BD5C LD A,(IX+$09)
BD5F LD (IX+$0B),A
BD62 RES 0,(IX+$10) clear "moving" bit
BD66 RES 1,(IX+$10)
BD6A LD A,(IX+$18)
BD6D BIT 6,(IX+$10)
BD71 JR NZ,$BD7B
BD73 LD (IX+$11),A
BD76 RES 2,(IX+$0D)
BD7A RET
BD7B LD (IX+$12),A
BD7E SET 2,(IX+$0D)
BD82 RET
BD83: Routine at BD83
Used by the routines at BEDB, BFB0 and C009.
Input
A ???
BD83 LD A,L
BD84 AND C
BD85 ADD A,C
BD86 LD (IX+$0E),A
BD89 LD HL,$BDA9
BD8C INC (HL)
BD8D LD A,$1F
BD8F AND (HL)
BD90 INC A
BD91 LD (IX+$0F),A
BD94 PUSH DE
BD95 CALL NextRandom Random
BD98 LD A,H
BD99 AND $07
BD9B LD HL,$BDAA
BD9E ADD A,L
BD9F LD L,A
BDA0 JR NC,$BDA3
BDA2 INC H
BDA3 LD A,(HL)
BDA4 LD (IX+$04),A set DX value
BDA7 POP DE
BDA8 RET
BDA9: Data block at BDA9
BDA9 DEFB $00
BDAA DEFB $41,$44,$05,$45,$02,$42,$43,$40
BDB2 DEFB $05,$45,$02,$42,$43,$03,$40,$41
BDBA: Routine at BDBA
Used by the routines at D990, DFD5 and EEAD.
BDBA CALL $BEC7
BDBD LD A,($5B04) get screen position (row) on mini-map
BDC0 CP $03
BDC2 JR NC,$BDCB
BDC4 CALL $BEB2
BDC7 CALL $BE58
BDCA RET
BDCB CP $04
BDCD JR NC,$BDD6
BDCF CALL $BE58
BDD2 CALL $BE85
BDD5 RET
BDD6 CP $06
BDD8 JR NC,$BDDE
BDDA CALL $BE85
BDDD RET
BDDE CP $09
BDE0 JR NC,$BDE5
BDE2 CALL $BE85
BDE5 CALL $C45C
BDE8 RET
BDE9: Unused
BDE9 DEFS $01
BDEA: Routine at BDEA
Used by the routines at D990 and EEAD.
BDEA LD A,($5B04)
BDED CP $03
BDEF JR NC,$BDFE
BDF1 CALL $BE9A
BDF4 CALL $BE40
BDF7 LD A,($5B1A)
BDFA CALL $C4D5
BDFD RET
BDFE CP $04
BE00 JR NC,$BE0F
BE02 CALL $BE40
BE05 CALL $BE6D
BE08 LD A,($5B1B)
BE0B CALL $C4D5
BE0E RET
BE0F CP $06
BE11 JR NC,$BE1D
BE13 CALL $BE6D
BE16 LD A,($5B1C)
BE19 CALL $C4D5
BE1C RET
BE1D CP $09
BE1F JR NC,$BE36
BE21 CALL $BE6D
BE24 LD HL,$BDE9
BE27 LD A,($5B1D)
BE2A CALL $C4D5
BE2D LD A,$01
BE2F XOR (HL)
BE30 LD (HL),A
BE31 RET Z
BE32 CALL $C431
BE35 RET
BE36 CALL $C431
BE39 LD A,($5B1E)
BE3C CALL $C4D5
BE3F RET
BE40: Routine at BE40
Used by the routine at BDEA.
BE40 LD A,($5B16)
BE43 LD B,A
BE44 LD IX,($5B1F)
BE48 PUSH BC
BE49 DEC (IX+$0F)
BE4C CALL Z,$B737
BE4F LD BC,$001A
BE52 ADD IX,BC
BE54 POP BC
BE55 DJNZ $BE48
BE57 RET
BE58: Routine at BE58
Used by the routine at BDBA.
BE58 LD A,($5B16)
BE5B LD B,A
BE5C LD IX,($5B1F)
BE60 PUSH BC
BE61 CALL $B7BB
BE64 LD BC,$001A
BE67 ADD IX,BC
BE69 POP BC
BE6A DJNZ $BE60
BE6C RET
BE6D: Routine at BE6D
Used by the routine at BDEA.
BE6D LD A,($5B17)
BE70 LD B,A
BE71 LD IX,($5B21)
BE75 PUSH BC
BE76 DEC (IX+$0F)
BE79 CALL Z,$B737
BE7C LD BC,$001A
BE7F ADD IX,BC
BE81 POP BC
BE82 DJNZ $BE75
BE84 RET
BE85: Routine at BE85
Used by the routine at BDBA.
BE85 LD A,($5B17)
BE88 LD B,A
BE89 LD IX,($5B21)
BE8D PUSH BC
BE8E CALL $B7BB
BE91 LD BC,$001A
BE94 ADD IX,BC
BE96 POP BC
BE97 DJNZ $BE8D
BE99 RET
BE9A: Routine at BE9A
Used by the routine at BDEA.
BE9A LD A,($5B15)
BE9D LD B,A
BE9E LD IX,$C4F0
BEA2 PUSH BC
BEA3 DEC (IX+$0F)
BEA6 CALL Z,$B737
BEA9 LD BC,$0015
BEAC ADD IX,BC
BEAE POP BC
BEAF DJNZ $BEA2
BEB1 RET
BEB2: Routine at BEB2
Used by the routine at BDBA.
BEB2 LD A,($5B15)
BEB5 LD B,A
BEB6 LD IX,$C4F0
BEBA PUSH BC
BEBB CALL $B7BB
BEBE LD BC,$0015
BEC1 ADD IX,BC
BEC3 POP BC
BEC4 DJNZ $BEBA
BEC6 RET
BEC7: Routine at BEC7
Used by the routines at BDBA and BEDB.
BEC7 LD HL,$B676
BECA LD (HL),$80
BECC INC HL
BECD LD B,$0F
BECF XOR A
BED0 LD (HL),A
BED1 INC HL
BED2 DJNZ $BED0
BED4 LD HL,$F000
BED7 LD ($B7B9),HL
BEDA RET
BEDB: Routine at BEDB
Used by the routines at D990 and EEAD.
BEDB CALL $BEC7
BEDE LD HL,$BDAA
BEE1 LD ($BD9C),HL
BEE4 LD HL,$C20A Copy 21 byte from $C20A to $C4F0
BEE7 LD DE,$C4F0
BEEA LD BC,$0015
BEED LDIR
BEEF LD A,($5B13)
BEF2 LD B,A
BEF3 PUSH BC
BEF4 LD HL,$C21F
BEF7 PUSH DE
BEF8 POP IX
BEFA LD BC,$0015
BEFD LDIR
BEFF PUSH DE
BF00 CALL NextRandom Random
BF03 POP DE
BF04 LD (IX+$00),H
BF07 LD C,$3F
BF09 CALL $BD83
BF0C POP BC
BF0D DJNZ $BEF3
BF0F LD A,($5B14)
BF12 LD B,A
BF13 LD C,$00
BF15 LD A,(RANDOM) get current Random
BF18 BIT 5,A
BF1A JR Z,$BF1D
BF1C INC C
BF1D PUSH BC
BF1E LD HL,$C234
BF21 PUSH DE
BF22 POP IX
BF24 LD BC,$0015
BF27 LDIR
BF29 PUSH DE
BF2A CALL NextRandom Random
BF2D POP DE
BF2E LD (IX+$00),H
BF31 LD A,L
BF32 AND $03
BF34 ADD A,(IX+$01)
BF37 LD (IX+$01),A
BF3A LD A,L
BF3B SRL A
BF3D SRL A
BF3F AND $07
BF41 JR NZ,$BF44
BF43 INC A
BF44 LD (IX+$03),A
BF47 LD C,$1F
BF49 CALL $BD83
BF4C POP BC
BF4D BIT 0,C
BF4F JR Z,$BF5D
BF51 LD (IX+$09),$85
BF55 LD (IX+$0B),$85
BF59 LD (IX+$11),$FE
BF5D DJNZ $BF1D
BF5F LD ($5B1F),DE
BF63 LD A,($5B16)
BF66 LD HL,$0F1B
BF69 LD IY,$C2EB
BF6D CALL $BFB0
BF70 LD ($5B21),DE
BF74 LD A,($5B17)
BF77 LD HL,$2A3B
BF7A LD IY,$C331
BF7E CALL $BFB0
BF81 LD ($5B23),DE
BF85 LD IY,$BFA0
BF89 LD A,($5B18)
BF8C LD HL,$BDB2
BF8F LD ($BD9C),HL
BF92 CALL $C009
BF95 LD IY,$BFA8
BF99 LD A,($5B19)
BF9C CALL $C009
BF9F RET
BFA0: Data block at BFA0
BFA0 DEFB $05,$00,$AD,$C3,$1A,$00,$00,$0F
BFA8 DEFB $10,$11,$29,$C4,$1C,$00,$00,$0F
BFB0: Routine at BFB0
Used by the routine at BEDB.
Input
HL ???
IY ???
A ???
BFB0 LD ($BFC4),IY
BFB4 LD ($C007),HL
BFB7 LD B,A
BFB8 PUSH BC
BFB9 PUSH DE
BFBA CALL NextRandom Random
BFBD LD A,H
BFBE AND $0E
BFC0 LD E,A
BFC1 LD D,$00
BFC3 LD HL,$0000 !!! mutable argument
BFC6 ADD HL,DE
BFC7 LD C,(HL)
BFC8 INC HL
BFC9 LD B,(HL)
BFCA LD L,C
BFCB LD H,B
BFCC LD BC,$001A
BFCF POP DE
BFD0 PUSH DE
BFD1 POP IX
BFD3 LDIR
BFD5 LD HL,($C007)
BFD8 LD (IX+$16),H
BFDB LD (IX+$15),L
BFDE LD A,(RANDOM) get current Random
BFE1 AND $7F
BFE3 ADD A,$40
BFE5 LD (IX+$00),A
BFE8 LD A,($5B06)
BFEB SRL A
BFED SRL A
BFEF SRL A
BFF1 AND $0F
BFF3 LD H,A
BFF4 LD A,L
BFF5 SUB H
BFF6 LD (IX+$01),A
BFF9 PUSH DE
BFFA CALL NextRandom Random
BFFD POP DE
BFFE LD C,$0F
C000 CALL $BD83
C003 POP BC
C004 DJNZ $BFB8
C006 RET
C007: Data block at C007
C007 DEFW $0000 ???
C009: Routine at C009
Used by the routine at BEDB.
C009 LD B,A
C00A LD (IY+$05),E
C00D LD (IY+$06),D
C010 LD DE,$F8F8
C013 LD HL,$B05C
C016 LD A,(HL)
C017 CP (IY+$00)
C01A JR Z,$C039
C01C CP (IY+$01)
C01F JR Z,$C039
C021 DEC HL
C022 LD A,E
C023 SUB $08
C025 LD E,A
C026 CP $F8
C028 JR NZ,$C037
C02A LD A,D
C02B SUB $08
C02D LD D,A
C02E CP $38
C030 JR NZ,$C037
C032 LD D,$F8
C034 LD HL,$B05C
C037 JR $C016
C039 PUSH BC
C03A PUSH HL
C03B PUSH DE
C03C CALL NextRandom Random
C03F LD D,(IY+$03)
C042 LD E,(IY+$02)
C045 LD A,L
C046 AND $F0
C048 JR Z,$C04F
C04A POP DE
C04B POP HL
C04C POP BC
C04D JR $C021
C04F LD A,H
C050 AND $06
C052 LD L,A
C053 LD H,$00
C055 ADD HL,DE
C056 LD E,(HL)
C057 INC HL
C058 LD D,(HL)
C059 EX DE,HL
C05A LD C,(IY+$04)
C05D LD B,$00
C05F LD E,(IY+$05)
C062 LD D,(IY+$06)
C065 PUSH DE
C066 POP IX
C068 LDIR
C06A LD (IY+$05),E
C06D LD (IY+$06),D
C070 POP DE
C071 LD A,D
C072 ADD A,$03
C074 LD (IX+$01),A
C077 LD A,E
C078 ADD A,$04
C07A LD (IX+$00),A
C07D LD A,($5B06)
C080 LD L,A
C081 LD C,(IY+$07)
C084 CALL $BD83
C087 POP HL
C088 POP BC
C089 DJNZ $C021
C08B LD E,(IY+$05)
C08E LD D,(IY+$06)
C091 RET
C092: Data block at C092
C092 DEFW $0000,$0000,$0000,$0807,$0403,$1840,$C080,$0000
C0A2 DEFW $0000,$0000,$0000,$0201,$0302,$1010,$2030,$0000
C0B2 DEFW $0000,$0000,$C0CE,$0302,$0201,$0818,$1803,$0000
C0C2 DEFW $8285,$8254,$82B6,$82E6,$82C6,$82F6
C0CE DEFW $0000,$0000,$C0B2,$0201,$0302,$1010,$2003,$0000
C0DE DEFW $8347,$8316,$8378,$83A8,$8388,$83B8
C0EA DEFW $0000,$0000,$0000,$0706,$0302,$1038,$7005,$0000
C0FA DEFW $64E5,$6364,$6666,$6846
C102 DEFW $0000,$0000,$0000,$0807,$0403,$1840,$C006,$0000
C112 DEFW $70B7,$6A26,$6CC7,$7358
C11A DEFW $0000,$0000,$0000,$0504,$0201,$0828,$2804,$0000
C12A DEFW $7BCE,$7C4F,$7D50,$7CD0
C132 DEFW $0000,$0000,$0000,$0403,$0403,$1820,$6001,$0000
C142 DEFW $7748,$7869,$7942,$7821
C14A DEFW $0000,$0000,$C166,$0403,$0201,$0820,$2005,$0000
C15A DEFW $60D9,$6000,$6061,$613A,$6091,$616A
C166 DEFW $0000,$0000,$C14A,$0201,$0403,$1810,$3005,$0000
C176 DEFW $628B,$61B2,$6213,$62EC,$6243,$631C
C182 DEFW $0000,$0000,$C19E,$0403,$0201,$0820,$2003,$0000
C192 DEFW $7A1B,$798A,$79D3,$7A64,$79EB,$7A7C
C19E DEFW $0000,$0000,$C182,$0201,$0403,$1810,$3003,$0000
C1AE DEFW $7AF5,$7AAC,$7B3E,$7B86,$7B56,$7B9E
C1BA DEFW $0000,$0000,$C1D6,$0504,$0201,$0828,$2805,$0000
C1CA DEFW $7EF1,$7DD0,$7E51,$7F72,$7E91,$7FB2
C1D6 DEFW $0000,$0000,$C1BA,$0201,$0504,$2010,$4005,$0000
C1E6 DEFW $8133,$8012,$8093,$81B4,$80D3,$81F4
C1F2 DEFW $0000,$0000,$0000,$0807,$0302,$1040,$8006,$0000
C202 DEFW $8839,$83D8,$8599,$89FA
C20A: Record templates
These templates are used to create records in C4F0 area.
Record template for 21-byte record - Boat
C20A DEFB $F8,$06,$04,$01,$05
C20F DEFW $C481
C211 DEFW $0000
C213 DEFW $8C9A,$8C9A Boat sprite
C217 DEFB $18,$28,$28,$01,$00,$00
C21D DEFW $C092
Record template for 21-byte record - Meduza
C21F DEFB $00,$07,$04,$05,$00
C224 DEFW $BF9F -> RET
C226 DEFW $0000
C228 DEFW $8D43,$8D43
C22C DEFB $18,$00,$00,$00,$01,$00
C232 DEFW $C0A2
Record template for 21-byte record - Round fish
C234 DEFB $00,$09,$04,$02,$00
C239 DEFW $BF9F -> RET
C23B DEFW $0000
C23D DEFW $8254,$8254
C241 DEFB $18,$00,$00,$00,$02,$00
C247 DEFW $C0B2
Record template for 26-byte record - Fish
C249 DEFB $00,$00,$04,$02,$00
C24E DEFW $B885
C250 DEFW $0000
C252 DEFW $6364,$6364
C256 DEFB $18,$00,$00,$00,$02,$00
C25C DEFW $C0EA
C25E DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Shark
C264 DEFB $00,$00,$04,$02,$00
C269 DEFW $B885
C26B DEFW $0000
C26D DEFW $6A26,$6A26
C271 DEFB $18,$00,$00,$00,$02,$00
C277 DEFW $C102
C279 DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Small squid horizontal
C27F DEFB $00,$00,$04,$02,$00
C284 DEFW $B885
C286 DEFW $0000
C288 DEFW $6000,$6000
C28C DEFB $18,$00,$00,$00,$02,$00
C292 DEFW $C14A
C294 DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Long fish
C29A DEFB $00,$00,$04,$02,$00
C29F DEFW $B885
C2A1 DEFW $0000
C2A3 DEFW $7C4F,$7C4F
C2A7 DEFB $18,$00,$00,$00,$02,$00
C2AD DEFW $C11A
C2AF DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Small fish cloud ??
C2B5 DEFB $00,$00,$04,$02,$00
C2BA DEFW $B885
C2BC DEFW $0000
C2BE DEFW $7869,$7869
C2C2 DEFB $18,$00,$00,$00,$02,$00
C2C8 DEFW $C132
C2CA DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Small fish cloud ??
C2D0 DEFB $00,$00,$04,$02,$00
C2D5 DEFW $B885
C2D7 DEFW $0000
C2D9 DEFW $798A,$798A
C2DD DEFB $18,$00,$00,$00,$02,$00
C2E3 DEFW $C182
C2E5 DEFB $00,$00,$02,$00,$00,$00
Table of 8 record templates
C2EB DEFW $C249
C2ED DEFW $C264
C2EF DEFW $C27F
C2F1 DEFW $C29A
C2F3 DEFW $C2B5
C2F5 DEFW $C2D0
C2F7 DEFW $C29A
C2F9 DEFW $C249
Record template for 26-byte record - Snake fish horizontal
C2FB DEFB $00,$00,$04,$02,$00
C300 DEFW $B885
C302 DEFW $0000
C304 DEFW $7DD0,$7DD0
C308 DEFB $18,$00,$00,$00,$02,$00
C30E DEFW $C1BA
C310 DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Squid
C316 DEFB $00,$00,$04,$02,$00
C31B DEFW $B885
C31D DEFW $0000
C31F DEFW $83D8,$83D8
C323 DEFB $18,$00,$00,$00,$02,$00
C329 DEFW $C1F2
C32B DEFB $00,$00,$02,$00,$00,$00
Table of 8 record templates
C331 DEFW $C249
C333 DEFW $C264
C335 DEFW $C27F
C337 DEFW $C29A
C339 DEFW $C2B5
C33B DEFW $C2D0
C33D DEFW $C2FB
C33F DEFW $C316
Record template for 26-byte record - Round fish vertical
C341 DEFB $00,$00,$02,$04,$00
C346 DEFW $B972
C348 DEFW $0000
C34A DEFW $8347,$8347
C34E DEFB $1C,$00,$00,$00,$00,$02
C354 DEFW $C0CE
C356 DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Small squid vertical
C35C DEFB $00,$00,$02,$04,$00
C361 DEFW $B972
C363 DEFW $0000
C365 DEFW $628B,$628B
C369 DEFB $1C,$00,$00,$00,$00,$02
C36F DEFW $C166
C371 DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Snake fish vertical
C377 DEFB $00,$00,$02,$04,$00
C37C DEFW $B972
C37E DEFW $0000
C380 DEFW $8133,$8133
C384 DEFB $1C,$00,$00,$00,$00,$02
C38A DEFW $C1D6
C38C DEFB $00,$00,$02,$00,$00,$00
Record template for 26-byte record - Small fish cloud ??
C392 DEFB $00,$00,$02,$04,$00
C397 DEFW $B972
C399 DEFW $0000
C39B DEFW $7AF5,$7AF5
C39F DEFB $1C,$00,$00,$00,$00,$02
C3A5 DEFW $C19E
C3A7 DEFB $00,$00,$02,$00,$00,$00
Table of 4 record templates
C3AD DEFW $C341
C3AF DEFW $C35C
C3B1 DEFW $C377
C3B3 DEFW $C392
Record template for 28-byte record - Round fish
C3B5 DEFB $00,$00,$04,$02,$00
C3BA DEFW $BA64
C3BC DEFW $0000
C3BE DEFW $8254,$8254
C3C2 DEFB $18,$00,$00,$00,$02,$00
C3C8 DEFW $C0B2
C3CA DEFB $03,$01,$02,$00,$00,$00,$00,$00
Record template for 28-byte record - Small squid horizontal
C3D2 DEFB $00,$00,$04,$02,$00
C3D7 DEFW $BA64
C3D9 DEFW $0000
C3DB DEFW $6000,$6000
C3DF DEFB $18,$00,$00,$00,$02,$00
C3E5 DEFW $C14A
C3E7 DEFB $04,$02,$02,$00,$00,$00,$00,$00
Record template for 28-byte record
C3EF DEFB $00,$00,$04,$02,$00
C3F4 DEFW $BA64
C3F6 DEFW $0000
C3F8 DEFW $798A,$798A
C3FC DEFB $18,$00,$00,$00,$02,$00
C402 DEFW $C182
C404 DEFB $03,$01,$02,$00,$00,$00,$00,$00
Record template for 28-byte record - Snake fish horizontal
C40C DEFB $00,$00,$04,$02,$00
C411 DEFW $BA64
C413 DEFW $0000
C415 DEFW $7DD0,$7DD0
C419 DEFB $18,$00,$00,$00,$02,$00
C41F DEFW $C1BA
C421 DEFB $04,$02,$02,$00,$00,$00,$00,$00
Table of 4 record templates
C429 DEFW $C3B5
C42B DEFW $C3D2
C42D DEFW $C3EF
C42F DEFW $C40C
C431: Routine at C431
Used by the routine at BDEA.
C431 LD A,($5B18)
C434 LD B,A
C435 LD IX,($5B23)
C439 PUSH BC
C43A DEC (IX+$0F)
C43D CALL Z,$B737
C440 LD BC,$001A
C443 ADD IX,BC
C445 POP BC
C446 DJNZ $C439
C448 LD A,($5B19)
C44B LD B,A
C44C PUSH BC
C44D DEC (IX+$0F)
C450 CALL Z,$B737
C453 LD BC,$001C
C456 ADD IX,BC
C458 POP BC
C459 DJNZ $C44C
C45B RET
C45C: Routine at C45C
Used by the routine at BDBA.
C45C LD A,($5B18)
C45F LD B,A
C460 LD IX,($5B23)
C464 PUSH BC
C465 CALL $B7BB
C468 LD BC,$001A
C46B ADD IX,BC
C46D POP BC
C46E DJNZ $C464
C470 LD A,($5B19)
C473 LD B,A
C474 PUSH BC
C475 CALL $B7BB
C478 LD BC,$001C
C47B ADD IX,BC
C47D POP BC
C47E DJNZ $C474
C480 RET
C481: Routine at C481
C481 LD A,(IX+$10)
C484 OR A
C485 JR NZ,$C490
C487 DEC (IY+$0C)
C48A RET NZ
C48B LD (IX+$10),$03
C48F RET
C490 DEC A
C491 JR NZ,$C4A4
C493 DEC (IY+$0C)
C496 RET NZ
C497 LD (IX+$0E),$28
C49B LD (IX+$10),$02
C49F LD (IX+$11),$FF
C4A3 RET
C4A4 DEC A
C4A5 JR NZ,$C4BA
C4A7 DEC (IX+$0E)
C4AA LD A,(IX+$0E)
C4AD CP $08
C4AF RET NZ
C4B0 LD (IX+$10),$00
C4B4 LD A,R
C4B6 LD (IY+$0C),A
C4B9 RET
C4BA INC (IX+$0E)
C4BD LD A,(IX+$0E)
C4C0 CP $28
C4C2 RET NZ
C4C3 LD (IX+$0E),$64
C4C7 LD (IX+$11),$00
C4CB LD (IX+$10),$01
C4CF LD A,R
C4D1 LD (IY+$0C),A
C4D4 RET
C4D5: Delay ??
Used by the routine at BDEA.
C4D5 OR A
C4D6 RET Z
C4D7 LD BC,($5B25) get value 150 / 100 / 50 / 1, depending on Game level
C4DB LD DE,$0000
C4DE LD HL,$0000
C4E1 LDIR
C4E3 DEC A
C4E4 JR NZ,$C4D7
C4E6 RET
C4E7: Data block at C4E7
C4E7 DEFB $FB,$02,$00,$2C,$42,$4C,$46,$49
C4EF DEFB $4C
C4F0: Data block at C4F0
C4F0 DEFB $2B,$31,$30,$32,$33,$0D,$DC,$3C
C4F8 DEFB $47,$43,$32,$20,$4A,$52,$20,$47
C500: Unused
C500 DEFS $1490
D990: Game
Used by the routine at EE1C.
D990 DI
D991 PUSH IX
D993 PUSH IY
D995 LD HL,$0000
D998 LD (SCORE),HL reset Score value
D99B LD (HELD),HL reset HELD value
D99E LD A,$03 Number of lives
D9A0 LD (LIVES),A set the initial value
D9A3 CALL PrepareMiniMap Prepare the world mini-map (MiniMap table)
D9A6 CALL InitLevelVars Initialize variables depending of Game level
D9A9 CALL $BEDB
D9AC LD HL,$E361
D9AF LD (HL),$00
D9B1 CALL PrepareGame Prepare game screen and some variables
D9B4 CALL $E6AB
D9B7 LD HL,($5B03) get Screen position on mini-map
D9BA CALL DrawGameScr Draw game screen
D9BD CALL $BDBA
D9C0 CALL $B213
D9C3 CALL $BDEA
D9C6 CALL $E2A8
D9C9 LD IX,DiverObj Diver object record address
D9CD BIT 4,(IX+$26)
D9D1 JR NZ,$D9DB
D9D3 BIT 5,(IX+$10)
D9D7 JR NZ,$D9F4
D9D9 JR $D9C0
D9DB LD A,(LIVES) get Number of lives
D9DE CP $04
D9E0 JR NZ,$D9E7
D9E2 LD A,$03
D9E4 LD (LIVES),A set Number of lives
D9E7 LD A,(LEVEL) Game level 1..4
D9EA CP $04
D9EC JR Z,$D9EF
D9EE INC A
D9EF LD (LEVEL),A Save game level 1..4
D9F2 JR $D9A3
D9F4 LD B,$00
D9F6 PUSH BC
D9F7 CALL $B213
D9FA CALL $BDEA
D9FD CALL $E2A8
DA00 POP BC
DA01 DJNZ $D9F6
DA03 LD A,($5B00)
DA06 CP $08
DA08 JR NZ,$DA1E
DA0A LD A,($5B0F)
DA0D CP $03
DA0F JR NZ,$DA1E
DA11 LD A,(LIVES) get Number of lives
DA14 CP $01
DA16 JR Z,$DA1E No more lives? => no lives, jump
DA18 DEC A
DA19 LD (LIVES),A set Number of lives
DA1C JR $D9DB
DA1E LD A,(LIVES) get Number of lives
DA21 CP $01
DA23 JR Z,$DA33
DA25 DEC A One live less
DA26 LD (LIVES),A set Number of lives
DA29 LD HL,$E361
DA2C LD A,(HL)
DA2D AND $20
DA2F LD (HL),A
DA30 JP $D9B1
DA33 POP IY Ending the Game routine, the game is over
DA35 POP IX
DA37 EI
DA38 RET
DA39: Clear screen, fill attributes with A
Used by the routines at PrepareGame and EEAD.
DA39 LD ($5B4A),A
DA3C LD HL,$4000
DA3F LD BC,$1800
DA42 LD (HL),$00
DA44 INC HL
DA45 DEC BC
DA46 LD A,B
DA47 OR C
DA48 JR NZ,$DA42
DA4A LD A,($5B4A)
DA4D LD E,A
DA4E LD BC,$0300
DA51 LD (HL),E
DA52 INC HL
DA53 DEC BC
DA54 LD A,B
DA55 OR C
DA56 JR NZ,$DA51
DA58 RET
DA59: Print char and shift current position right
Used by the routine at DA98.
DA59 LD HL,($DC7E)
DA5C INC L
DA5D LD ($DC7E),HL
DA60 DEC L
DA61 JR $DA6B
Print char and shift current position down
DA63 LD HL,($DC7E)
DA66 INC H
DA67 LD ($DC7E),HL
DA6A DEC H
Print char
DA6B PUSH HL
DA6C PUSH AF
DA6D CALL GetScrAddr Convert char coords HL to ZX screen address
DA70 EX DE,HL
DA71 POP AF
DA72 LD L,A
DA73 LD H,$00
DA75 RES 7,L
DA77 ADD HL,HL
DA78 ADD HL,HL
DA79 ADD HL,HL *8
DA7A BIT 7,A
DA7C JR NZ,$DA83
DA7E LD BC,$3D00 ROM font address, for chars $20..$7F
DA81 JR $DA86
DA83 LD BC,$DC80 Tiles 8x8 address, for chars $80..$AE
DA86 ADD HL,BC
DA87 LD B,$08
DA89 LD A,(HL)
DA8A LD (DE),A
DA8B INC HL
DA8C INC D
DA8D DJNZ $DA89
DA8F POP HL
DA90 CALL GetScrAttrAddr Get screen attribute address
DA93 LD A,($5B4A)
DA96 LD (HL),A
DA97 RET
DA98: Print string
Used by the routines at PrepareGame and EEAD.
Input
HL String address
BC Row and column
DE Print char procedure address
DA98 LD ($DAA3),DE
This entry point is used by the routines at PrepareGame and EEAD.
DA9C LD ($DC7E),BC
DAA0 LD A,(HL)
DAA1 PUSH HL
DAA2 CALL $DA59 Print char and shift !!! mutable argument DA59 / DA63
DAA5 POP HL
DAA6 INC HL
DAA7 LD A,(HL)
DAA8 CP $FF
DAAA JR NZ,$DAA1
DAAC RET
DAAD: Prepare game screen and some variables
Used by the routine at D990.
PrepareGame DAAD LD A,$30
DAAF CALL $DA39 Clear screen with attribute A
DAB2 LD A,$01
DAB4 OUT ($FE),A
DAB6 LD HL,$DC09 Indicator top border
DAB9 LD BC,$0018
DABC LD DE,$DA59 Procedure Print char and shift right
DABF CALL $DA98 Print string
DAC2 LD HL,$DC12 Indicator bottom border
DAC5 LD BC,$1718
DAC8 CALL $DA9C Print string
DACB LD HL,$DC1B "HIGH"
DACE LD BC,$011A
DAD1 CALL $DA9C Print string
DAD4 LD HL,$DC27 "SCORE"
DAD7 LD BC,$031A
DADA CALL $DA9C Print string
DADD LD HL,$DC2D "HELD"
DAE0 LD BC,$051A
DAE3 CALL $DA9C Print string
DAE6 LD HL,$DC32 Indicator left/right border
DAE9 LD BC,$0118
DAEC LD DE,$DA63 Procedure Print char and shift down
DAEF CALL $DA98 Print string
DAF2 LD HL,$DC32 Indicator left/right border
DAF5 LD BC,$011F
DAF8 CALL $DA9C Print string
DAFB LD HL,$DC49 "OXYGEN"
DAFE LD BC,$0C1A
DB01 CALL $DA9C Print string
DB04 LD HL,$DC50 "DEPTH"
DB07 LD BC,$0C1C
DB0A CALL $DA9C Print string
DB0D LD HL,$DC56 "SKILL LIVES"
DB10 LD BC,$081E
DB13 CALL $DA9C Print string
DB16 LD A,$38
DB18 LD ($5B4A),A
DB1B LD HL,$DC65 Vertical gauge
DB1E LD BC,$0719
DB21 CALL $DA9C
DB24 LD HL,$DC65 Vertical gauge
DB27 LD BC,$071B
DB2A CALL $DA9C Print string
DB2D LD A,$0D
DB2F LD ($5B4A),A
DB32 LD HL,$DC76 "1 2 3 4"
DB35 LD BC,$071D
DB38 CALL $DA9C Print string
DB3B LD HL,$DC76 "1 2 3 4"
DB3E LD BC,$101D
DB41 CALL $DA9C Print string
DB44 LD HL,$58FB
DB47 LD ($DE55),HL
DB4A LD (HL),$28
DB4C DEC HL
DB4D DEC HL
DB4E LD ($DE57),HL
DB51 LD (HL),$20
DB53 LD A,(LEVEL) Game level 1..4
DB56 DEC A
DB57 RRCA
DB58 RRCA
DB59 LD E,A
DB5A LD D,$00
DB5C LD HL,$58FD
DB5F ADD HL,DE
DB60 LD (HL),$4F
DB62 LD A,(LIVES) get Number of lives
DB65 DEC A
DB66 RRCA
DB67 RRCA
DB68 LD E,A
DB69 LD D,$00
DB6B LD HL,$5A1D
DB6E ADD HL,DE
DB6F LD ($DE59),HL
DB72 LD (HL),$4F
DB74 LD IX,DiverObj Diver object record address
DB78 CALL PrintHighScore Print high score number
DB7B CALL PrintScore Print score number
DB7E CALL PrintHeld Print HELD number
DB81 LD A,(LEVEL) Game level 1..4
DB84 DEC A
DB85 ADD A,A
DB86 ADD A,A
DB87 ADD A,A
DB88 ADD A,A A = ([Game level] - 1) * 16 => 0 / 16 / 32 / 48
DB89 LD E,A
DB8A LD D,$00
DB8C LD HL,$DDF0
DB8F ADD HL,DE HL = $DDF0 + ([Game level] - 1) * 16
DB90 LD DE,$5B27
DB93 LD BC,$000E
DB96 LDIR
DB98 LD A,(LEVEL) Game level 1..4
DB9B LD C,A
DB9C LD A,$05
DB9E SUB C
DB9F LD (IX+$1C),A = 5 - [Game level] = 4 / 3 / 2 / 1
DBA2 LD (IX+$1E),A = 5 - [Game level] = 4 / 3 / 2 / 1
DBA5 LD C,A
DBA6 LD A,$16
DBA8 SUB C
DBA9 LD (IX+$1D),A
DBAC LD (IX+$1B),A
DBAF LD A,(LEVEL) Game level 1..4
DBB2 ADD A,A
DBB3 LD C,A
DBB4 LD A,$0A
DBB6 SUB C
DBB7 ADD A,$02
DBB9 LD ($5B0E),A = 10 - [Game level] * 2 + 2 => 10 / 8 / 6 / 4
DBBC SUB $03
DBBE LD ($5B0D),A = 10 - [Game level] * 2 + 2 - 3 => 7 / 5 / 3 / 1
DBC1 RET
DBC2: Initialize variables depending of Game level
Used by the routines at D990 and EEAD.
InitLevelVars DBC2 LD A,(LEVEL) Game level 1..4
DBC5 ADD A,A
DBC6 ADD A,A *4
DBC7 ADD A,$09 A = [Game level] * 4 + 9 => 13 / 17 / 21 / 25
DBC9 LD ($5B13),A
DBCC LD ($5B14),A
DBCF ADD A,$05 A = [Game level] * 4 + 9 + 5 => 18 / 22 / 26 / 31
DBD1 LD ($5B16),A
DBD4 SUB $05
DBD6 ADD A,A
DBD7 INC A A = ([Game level] * 4 + 9) * 2 + 1 => 27 / 35 / 43 / 51
DBD8 LD ($5B15),A
DBDB DEC A A = ([Game level] * 4 + 9) * 2 => 26 / 34 / 42 / 50
DBDC LD ($5B17),A
DBDF LD A,(LEVEL) Game level 1..4
DBE2 LD C,A
DBE3 ADD A,A
DBE4 ADD A,A
DBE5 ADD A,C A = [Game level] * 5 => 5 / 10 / 15 / 20
DBE6 LD ($5B18),A
DBE9 LD C,A
DBEA ADD A,A
DBEB ADD A,C
DBEC SUB $03 A = [Game level] * 5 * 3 - 3 => 12 / 27 / 42 / 57
DBEE LD ($5B19),A
DBF1 LD HL,$0001
DBF4 LD ($5B25),HL
DBF7 LD A,(LEVEL) Game level 1..4
DBFA NEG
DBFC ADD A,$04 3 / 2 / 1 / 0
DBFE RET Z
DBFF LD B,A
DC00 XOR A
InitLevelVars_0 DC01 ADD A,$32
DC03 DJNZ InitLevelVars_0
DC05 LD ($5B25),A
DC08 RET
DC09: Texts for indicator panel
DC09 DEFB $80,$81,$81,$81,$81,$81,$81,$85,$FF Indicator top border
DC12 DEFB $83,$81,$81,$81,$81,$81,$81,$84,$FF Indicator bottom border
DC1B DEFB $28,$29,$27,$28,$FF "HIGH"
DC20 DEFB $10,$10,$10,$10,$10,$10,$FF "000000"
DC27 DEFB $33,$23,$2F,$32,$25,$FF "SCORE"
DC2D DEFB $28,$25,$2C,$24,$FF "HELD"
DC32 DEFB $82,$82,$82,$82,$82,$82,$82,$82 Indicator left/right border
DC3A DEFB $82,$82,$82,$82,$82,$82,$82,$82
DC42 DEFB $82,$82,$82,$82,$82,$82,$FF
DC49 DEFB $2F,$38,$39,$27,$25,$2E,$FF "OXYGEN"
DC50 DEFB $24,$25,$30,$34,$28,$FF "DEPTH"
DC56 DEFB $33,$2B,$29,$2C,$2C,$00,$00,$00 "SKILL LIVES"
DC5E DEFB $00,$2C,$29,$36,$25,$33,$FF
DC65 DEFB $86,$87,$87,$87,$87,$87,$87,$87 Vertical gauge
DC6D DEFB $87,$87,$87,$87,$87,$87,$87,$88
DC75 DEFB $FF
DC76 DEFB $11,$00,$12,$00,$13,$00,$14,$FF "1 2 3 4"
DC7E DEFW $0000 Char coords for printing on the screen, see DA59
DC80: Tiles 8x8
DC80 DEFB $00,$7F,$40,$58,$58,$40,$43,$42 tiles80
DC88 DEFB $00,$FF,$00,$18,$18,$00,$FF,$00
DC90 DEFB $42,$42,$42,$5A,$5A,$42,$42,$42
DC98 DEFB $42,$43,$40,$58,$58,$40,$7F,$00
DCA0 DEFB $42,$C2,$02,$1A,$1A,$02,$FE,$00
DCA8 DEFB $00,$FE,$02,$1A,$1A,$02,$C2,$42
DCB0 DEFB $FF,$81,$81,$E7,$81,$81,$81,$81
DCB8 DEFB $81,$81,$81,$E7,$81,$81,$81,$81
DCC0 DEFB $81,$81,$81,$E7,$81,$81,$81,$FF tiles81
DCC8 DEFB $07,$0F,$1F,$7F,$3F,$3E,$7E,$1F
DCD0 DEFB $47,$C3,$61,$7F,$7F,$7F,$7F,$1D
DCD8 DEFB $04,$0F,$0F,$7F,$3E,$78,$70,$E0
DCE0 DEFB $70,$38,$7C,$7F,$7F,$1F,$07,$02
DCE8 DEFB $0C,$1C,$18,$78,$78,$F8,$70,$78
DCF0 DEFB $78,$70,$FC,$7F,$7F,$3F,$1F,$00
DCF8 DEFB $D2,$FF,$76,$70,$F0,$F9,$7F,$7F
DD00 DEFB $7F,$79,$F0,$F8,$70,$7C,$7F,$50 tiles82
DD08 DEFB $02,$1F,$3F,$3F,$7D,$78,$F8,$7B
DD10 DEFB $FF,$7F,$7E,$7A,$18,$70,$E0,$60
DD18 DEFB $80,$D0,$F8,$FF,$FE,$DE,$0E,$02
DD20 DEFB $E0,$E0,$F8,$FC,$FC,$FC,$F0,$98
DD28 DEFB $00,$E0,$F0,$F8,$70,$30,$00,$00
DD30 DEFB $00,$00,$0C,$74,$F8,$F8,$E0,$80
DD38 DEFB $70,$F8,$78,$FC,$38,$3C,$18,$38
DD40 DEFB $3C,$18,$38,$30,$F8,$FC,$F0,$C0 tiles83
DD48 DEFB $C0,$F0,$F0,$FC,$F8,$E0,$E0,$80
DD50 DEFB $C0,$70,$78,$7C,$F8,$F0,$E0,$40
DD58 DEFB $00,$80,$C0,$F0,$E0,$78,$F8,$F0
DD60 DEFB $F8,$F0,$78,$38,$78,$38,$70,$78
DD68 DEFB $B1,$7F,$7F,$7F,$FD,$78,$78,$FC
DD70 DEFB $F0,$70,$78,$70,$F1,$7F,$7F,$CC
DD78 DEFB $03,$07,$01,$03,$01,$03,$00,$01
DD80 DEFB $00,$00,$01,$01,$03,$01,$07,$03 tiles84
DD88 DEFB $F8,$F0,$78,$7C,$FE,$FE,$7E,$7E
DD90 DEFB $7F,$FF,$FF,$7F,$3F,$1F,$1F,$0A
DD98 DEFB $00,$FF,$FF,$67,$E0,$60,$60,$6E
DDA0 DEFB $FF,$F8,$60,$70,$76,$7F,$3F,$01
DDA8 DEFB $60,$F4,$FE,$FE,$BF,$3E,$3F,$3F
DDB0 DEFB $3F,$1F,$3F,$7F,$FF,$FE,$FC,$EC
DDB8 DEFB $80,$C0,$E0,$E0,$E0,$C0,$C0,$C0
DDC0 DEFB $80,$C0,$C0,$C0,$80,$C0,$E0,$80 tiles85
DDC8 DEFB $0B,$1F,$1E,$3E,$7F,$3F,$7C,$FC
DDD0 DEFB $FC,$FC,$F8,$F8,$F0,$F8,$F0,$E0
DDD8 DEFB $80,$F8,$F0,$F0,$78,$00,$00,$00
DDE0 DEFB $80,$00,$00,$00,$80,$E0,$F0,$C0
DDE8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DDF0: Blocks of 14 bytes to copy to 5B27, blocks aligned to 16 bytes
DDF0 DEFW $0002,$0005,$004B,$0019,$0032,$00FA,$0019,$0000 Level 1
DE00 DEFW $0004,$000A,$0032,$0096,$0064,$01F4,$0032,$0000 Level 2
DE10 DEFW $0006,$000F,$0096,$00E1,$004B,$02EE,$004B,$0000 Level 3
DE20 DEFW $0008,$0014,$0064,$00C8,$012C,$03E8,$0064 Level 4
DE2E: Update gauge indicator on the screen
Used by the routines at UpdateDepth and UpdateOxygen.
UpdateGauge DE2E LD (HL),$38
DE30 RRCA
DE31 RRCA
DE32 RRCA
DE33 LD H,A
DE34 AND $E0
DE36 LD L,A
DE37 LD A,H
DE38 AND $01
DE3A LD H,A
DE3B ADD HL,DE
DE3C LD (HL),C
DE3D RET
DE3E: Update Depth indicator
Used by the routine at DFD5.
UpdateDepth DE3E LD HL,($DE55)
DE41 LD DE,$58FB
DE44 LD C,$28
DE46 LD A,($5B04)
DE49 INC A
DE4A SRL A
DE4C AND $0F
DE4E CALL UpdateGauge
DE51 LD ($DE55),HL
DE54 RET
DE55: Data block at DE55
DE55 DEFW $0000 ???
DE57 DEFW $0000 ???
DE59 DEFW $0000 ???
OXYGEN DE5B DEFW $FFFF ???
DE5D: Update Oxygen indicator
Used by the routines at E364, E476 and E767.
Input
HL New value for Oxygen
UpdateOxygen DE5D LD (OXYGEN),HL
DE60 LD A,H
DE61 SRL A
DE63 SRL A
DE65 SRL A
DE67 SRL A
DE69 LD H,A
DE6A LD A,$0F
DE6C SUB H
DE6D LD DE,$58F9
DE70 LD C,$20
DE72 LD HL,($DE57)
DE75 CP $0E
DE77 JR C,UpdateOxygen_0
DE79 CALL $E645 Play melody $E629
DE7C LD C,$10
UpdateOxygen_0 DE7E CALL UpdateGauge
DE81 LD ($DE57),HL
DE84 RET
DE85: Print decimal number
Used by the routines at PrintHighScore, PrintScore, PrintHeld and EADE.
Input
B ??? $00 $02
HL Number to print
DE Address on the screen: $4059 $4099 $40DA
PrintDec DE85 LD (IX+$23),B
DE88 PUSH DE
DE89 LD IY,$E5E0 address for list of dividers: 10000, 1000, 100, 10, 1
PrintDec_0 DE8D LD C,$FF
DE8F LD E,(IY+$00) get divider in DE
DE92 LD D,(IY+$01)
DE95 BIT 7,D
DE97 JR Z,PrintDec_1
DE99 LD (IX+$23),D
DE9C LD C,$00
DE9E JR PrintDec_2
PrintDec_1 DEA0 INC C
DEA1 OR A
DEA2 SBC HL,DE
DEA4 JR NC,PrintDec_1
DEA6 ADD HL,DE
DEA7 INC IY
DEA9 INC IY
DEAB LD A,(IX+$23)
DEAE OR A
DEAF JR Z,PrintDec_2
DEB1 DEC (IX+$23)
DEB4 JR PrintDec_0
PrintDec_2 DEB6 EX (SP),HL
DEB7 EX DE,HL
DEB8 LD B,$00
DEBA SLA C
DEBC SLA C
DEBE SLA C
DEC0 LD HL,$3D80 ZX Charset (3D00) + $80 = address of char '0'
DEC3 ADD HL,BC
DEC4 LD B,$08
DEC6 PUSH DE
PrintDec_3 DEC7 LD A,(HL)
DEC8 LD (DE),A
DEC9 INC HL
DECA INC D
DECB DJNZ PrintDec_3
DECD POP DE
DECE INC E
DECF EX DE,HL
DED0 EX (SP),HL
DED1 BIT 7,(IX+$23)
DED5 JR Z,PrintDec_0
DED7 POP DE
DED8 RET
DED9: Print high score number
Used by the routine at PrepareGame.
PrintHighScore DED9 LD B,$00
DEDB LD HL,(HSCORE)
DEDE LD DE,$4059
DEE1 CALL PrintDec Print decimal number
DEE4 RET
DEE5: Print score number
Used by the routines at PrepareGame and E767.
PrintScore DEE5 LD B,$00
DEE7 LD HL,(SCORE) get Score value
DEEA LD DE,$4099
DEED CALL PrintDec Print decimal number
DEF0 RET
DEF1: Print HELD number
Used by the routines at PrepareGame, E364, E43A, E476 and E767.
PrintHeld DEF1 LD B,$02
DEF3 LD HL,(HELD) get HELD value
DEF6 LD DE,$40DA
DEF9 CALL PrintDec Print decimal number
DEFC RET
DEFD: Data block at DEFD
DEFD DEFB $00,$00
HELD DEFF DEFW $0000 HELD value
DF01 DEFB $00,$00,$00,$00,$00,$00,$02,$03
DF09 DEFB $02,$03,$18,$10,$00,$30
DF0F DEFB $00,$00
DF11 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF19 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF21 DEFB $00,$00,$00,$00
DF25: Table: Angle 0..15 -> (DX, DY)
DF25 DEFB $00,$FE,$01,$FE,$02,$FE,$02,$FF,$02,$00,$02,$01,$02,$02,$01,$02
DF35 DEFB $00,$02,$FF,$02,$FE,$02,$FE,$01,$FE,$00,$FE,$FF,$FE,$FE,$FF,$FE
DF45: Data block at DF45
DF45 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF4D DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF55 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF5D DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF65 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF6D DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF75 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF7D DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF85 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF8D DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF95 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DF9D DEFB $00,$00,$00,$00,$00,$00,$00,$00
DFA5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DFAD DEFB $00,$00,$00,$00,$00,$00,$00,$00
DFB5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DFBD DEFB $00,$00,$00,$00,$00,$00,$00,$00
DFC5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
DFCD DEFB $00,$00,$00,$00,$00,$00,$00,$00
DFD5: Routine at DFD5
Used by the routines at E2A8 and E915.
Input
IX Object address = $E33B
DFD5 LD HL,($B7B9)
DFD8 LD DE,($5B35)
DFDC LD ($5B35),HL
DFDF LD ($B7B9),DE
DFE3 LD IY,$DF01
DFE7 LD HL,$DF11
DFEA LD ($DF0F),HL
DFED LD A,(IX+$09)
DFF0 LD (IX+$0B),A
DFF3 LD A,(IX+$0A)
DFF6 LD (IX+$0C),A
DFF9 BIT 7,(IX+$10)
DFFD JR Z,$E021
DFFF LD A,(IX+$06) get Angle 0..15
E002 ADD A,A
E003 LD C,A
E004 LD B,$00
E006 LD HL,$DF25 Table base address
E009 ADD HL,BC
E00A LD A,(HL) get DX value for the Angle
E00B LD (IX+$04),A set DX value
E00E INC HL
E00F LD A,(HL) get DY value for the Angle
E010 LD (IX+$05),A set DY value
E013 BIT 0,(IX+$10) check "moving" bit
E017 JR NZ,$E021
E019 LD (IX+$04),$00 clear DX value
E01D LD (IX+$05),$00 clear DY value
E021 LD A,(IX+$13) get X value
E024 LD HL,($5B03) get Screen position on mini-map
E027 ADD A,(IX+$04) add DX
E02A LD (IX+$13),A set X value
E02D SRL A
E02F AND $07
E031 CP (IX+$02)
E034 LD (IX+$15),A
E037 JR Z,$E08D
E039 CP $01
E03B JR Z,$E068
E03D CP $07
E03F JR NZ,$E08D
E041 BIT 7,(IX+$04) set DX value
E045 JR Z,$E08D
E047 BIT 7,(IX+$11)
E04B JR Z,$E08D
E04D DEC (IX+$00)
E050 RES 4,(IX+$0D)
E054 LD A,(IX+$00)
E057 CP (IX+$1C)
E05A JR NC,$E08D
E05C ADD A,$08
E05E LD (IX+$00),A
E061 SET 2,(IX+$10)
E065 DEC L
E066 JR $E08D
E068 BIT 7,(IX+$04)
E06C JR NZ,$E08D
E06E BIT 7,(IX+$11)
E072 JR NZ,$E08D
E074 INC (IX+$00)
E077 RES 4,(IX+$0D)
E07B LD A,(IX+$00)
E07E CP (IX+$1B)
E081 JR C,$E08D
E083 SUB $08
E085 LD (IX+$00),A
E088 SET 2,(IX+$10)
E08C INC L
E08D LD A,(IX+$14) get Y value
E090 ADD A,(IX+$05) add DY
E093 LD (IX+$14),A set Y value
E096 SRL A
E098 AND $07
E09A CP (IX+$03)
E09D LD (IX+$16),A
E0A0 JP Z,$E120
E0A3 CP $01
E0A5 JR Z,$E0EA
E0A7 CP $07
E0A9 JP NZ,$E120
E0AC BIT 7,(IX+$05) check DY value - moving up?
E0B0 JR Z,$E120
E0B2 BIT 7,(IX+$12)
E0B6 JR Z,$E120
E0B8 LD A,(IX+$1A)
E0BB CP (IX+$28)
E0BE JR NZ,$E0CC
E0C0 LD A,(IX+$03)
E0C3 LD (IX+$16),A
E0C6 ADD A,A
E0C7 LD (IX+$14),A set Y value
E0CA JR $E120
E0CC DEC (IX+$01)
E0CF DEC (IX+$1A)
E0D2 RES 3,(IX+$0D)
E0D6 LD A,(IX+$01)
E0D9 CP (IX+$1E)
E0DC JR NC,$E120
E0DE ADD A,$08
E0E0 LD (IX+$01),A
E0E3 DEC H
E0E4 SET 2,(IX+$10)
E0E8 JR $E120
E0EA BIT 7,(IX+$05) check DY value - moving up?
E0EE JR NZ,$E120
E0F0 BIT 7,(IX+$12)
E0F4 JR NZ,$E120
E0F6 INC (IX+$01)
E0F9 INC (IX+$1A)
E0FC BIT 5,(IX+$26)
E100 JR NZ,$E10A
E102 LD A,(IX+$1A)
E105 CP $46
E107 CALL Z,$E9B0
E10A RES 3,(IX+$0D)
E10E LD A,(IX+$01)
E111 CP (IX+$1D)
E114 JR C,$E120
E116 SUB $08
E118 LD (IX+$01),A
E11B INC H
E11C SET 2,(IX+$10)
E120 LD A,(IX+$0D)
E123 AND $18
E125 CP $18
E127 JR Z,$E174
E129 BIT 2,(IX+$10)
E12D JR Z,$E171
E12F RES 1,(IX+$0D)
E133 PUSH IX
E135 PUSH IY
E137 LD A,L
E138 AND $1F
E13A LD L,A
E13B LD A,H
E13C AND $1F
E13E LD H,A
E13F LD ($5B03),HL set Screen position on mini-map
E142 CALL DrawGameScr Draw game screen
E145 CALL UpdateDepth
E148 LD HL,($B7B9)
E14B LD DE,($5B35)
E14F LD ($B7B9),DE
E153 LD ($5B35),HL
E156 CALL $BDBA
E159 LD HL,($B7B9)
E15C LD DE,($5B35)
E160 LD ($B7B9),DE
E164 LD ($5B35),HL
E167 POP IY
E169 POP IX
E16B RES 2,(IX+$10)
E16F JR $E174
E171 CALL $B3AB
E174 SET 4,(IX+$0D)
E178 SET 3,(IX+$0D)
E17C LD E,(IX+$04)
E17F LD A,(IX+$15)
E182 CP (IX+$02)
E185 JR Z,$E18D
E187 LD (IX+$02),A
E18A LD (IX+$11),E
E18D LD E,(IX+$05)
E190 LD A,(IX+$16)
E193 CP (IX+$03)
E196 JR Z,$E19E
E198 LD (IX+$12),E
E19B LD (IX+$03),A
E19E BIT 7,(IX+$10)
E1A2 JR NZ,$E1B8
E1A4 LD A,(IX+$24)
E1A7 LD (IX+$09),A
E1AA LD (IX+$0B),A
E1AD LD A,(IX+$25)
E1B0 LD (IX+$0A),A
E1B3 LD (IX+$0C),A
E1B6 JR $E1F4
E1B8 BIT 4,(IX+$10)
E1BC JR NZ,$E1C4
E1BE BIT 5,(IX+$10)
E1C2 JR Z,$E1D2
E1C4 LD A,(IX+$09)
E1C7 LD (IX+$0B),A
E1CA LD A,(IX+$0A)
E1CD LD (IX+$0C),A
E1D0 JR $E1F4
E1D2 INC (IX+$17)
E1D5 LD H,(IX+$06) get Angle 0..15
E1D8 LD A,(IX+$17)
E1DB AND $03
E1DD RRCA
E1DE RRCA
E1DF LD L,A
E1E0 SRL H
E1E2 RR L
E1E4 LD DE,$92CC Diver sprites base address
E1E7 ADD HL,DE now HL = diver sprite address
E1E8 LD (IX+$0A),H
E1EB LD (IX+$0C),H
E1EE LD (IX+$09),L
E1F1 LD (IX+$0B),L
E1F4 CALL $B3A6
E1F7 LD A,(IX+$01)
E1FA LD (IX+$19),A set Row
E1FD LD IY,($B7B9)
E201 LD D,(IX+$08)
E204 LD E,(IX+$07)
E207 BIT 0,(IX+$0D)
E20B JR NZ,$E211
E20D LD IY,$A41B
E211 BIT 1,(IX+$0D)
E215 JR NZ,$E21A
E217 LD DE,$A41B
E21A LD B,$03
E21C PUSH BC
E21D LD A,(IX+$00)
E220 LD (IX+$18),A set Column
E223 LD L,A
E224 LD H,(IX+$19) get Row
E227 CALL GetScrAddr Convert char coords HL to ZX screen address
E22A LD B,$03
E22C PUSH BC
E22D PUSH HL
E22E PUSH IY
E230 PUSH DE
E231 LD B,$08
E233 LD A,(DE)
E234 XOR (HL)
E235 LD C,A
E236 AND (IY+$00)
E239 JR Z,$E23F
E23B SET 1,(IX+$10)
E23F LD A,(IY+$00)
E242 XOR C
E243 LD (HL),A
E244 INC H
E245 INC DE
E246 INC DE
E247 INC DE
E248 INC IY
E24A INC IY
E24C INC IY
E24E DJNZ $E233
E250 INC (IX+$18) one Column right
E253 BIT 1,(IX+$10)
E257 JR Z,$E26E
E259 LD HL,($DF0F)
E25C LD A,(IX+$19) get Row
E25F LD (HL),A
E260 INC HL
E261 LD A,(IX+$18) get Column
E264 DEC A
E265 LD (HL),A
E266 INC HL
E267 LD ($DF0F),HL
E26A RES 1,(IX+$10)
E26E POP DE
E26F INC DE
E270 POP IY
E272 INC IY
E274 POP HL
E275 INC HL
E276 POP BC
E277 DJNZ $E22C
E279 INC (IX+$19) one Row down
E27C LD BC,$0015
E27F ADD IY,BC
E281 EX DE,HL
E282 ADD HL,BC
E283 EX DE,HL
E284 POP BC
E285 DJNZ $E21C
E287 LD HL,($B7B9)
E28A LD BC,($5B35)
E28E LD D,(IX+$08)
E291 LD E,(IX+$07)
E294 LD ($B7B9),BC
E298 LD ($5B35),DE
E29C LD (IX+$08),H
E29F LD (IX+$07),L
E2A2 LD HL,($DF0F)
E2A5 LD (HL),$FF
E2A7 RET
E2A8: Routine at E2A8
Used by the routine at D990.
E2A8 LD IX,DiverObj Diver object record address
E2AC DEC (IX+$0F)
E2AF JR NZ,$E2CC
E2B1 LD A,(IX+$0E) get speed factor
E2B4 LD (IX+$0F),A
E2B7 RES 1,(IX+$0D)
E2BB BIT 0,(IX+$0D)
E2BF JR Z,$E2C5
E2C1 SET 1,(IX+$0D)
E2C5 SET 0,(IX+$0D)
E2C9 CALL $DFD5
E2CC DEC (IX+$20)
E2CF RET NZ
E2D0 LD (IX+$20),$14
E2D4 CALL ReadKeyboard Read keyboard input
E2D7 CALL $E364
E2DA RET
E2DB: Read keyboard input
Used by the routine at E2A8.
Input
IX Object address = $E33B
ReadKeyboard E2DB BIT 3,(IX+$10)
E2DF RET NZ
E2E0 LD E,(IX+$06) get Angle
E2E3 LD BC,($5B38) get port for Clockwise key
E2E7 LD A,($5B3A) get bit mask for Clockwise key
E2EA LD D,A
E2EB IN A,(C) read the port for Clockwise key
E2ED AND D
E2EE JR NZ,ReadKeyboard_0 not pressed => skip rotate
Clockwise key pressed
E2F0 INC E rotate clockwise
ReadKeyboard_0 E2F1 LD BC,($5B3B) get port for Anticlockwise key
E2F5 LD A,($5B3D) get bit mask for Anticlockwise key
E2F8 LD D,A
E2F9 IN A,(C) read the port for Anticlockwise key
E2FB AND D
E2FC JR NZ,ReadKeyboard_1 not pressed => skip rotate
Anticlockwise key pressed
E2FE DEC E rotate anticlockwise
ReadKeyboard_1 E2FF LD A,$0F
E301 AND E
E302 LD (IX+$06),A set Angle 0..15
E305 LD BC,($5B3E) get port for Accelerate key
E309 LD A,($5B40) get bit mask for Accelerate key
E30C LD D,A
E30D IN A,(C) read the port for Accelerate key
E30F AND D
E310 JR NZ,ReadKeyboard_2 not pressed => skip
Accelerate key pressed
E312 LD A,(IX+$0E) get speed factor
E315 SET 0,(IX+$10) set "moving" bit
E319 CP $08
E31B RET Z
E31C DEC (IX+$0E) decrement speed factor
ReadKeyboard_2 E31F LD BC,($5B41) get port for Decelerate key
E323 LD A,($5B43) get bit mask for Decelerate key
E326 LD D,A
E327 IN A,(C) read the port for Decelerate key
E329 AND D
E32A RET NZ not pressed => return
Decelerate key pressed
E32B LD A,(IX+$0E) get speed factor
E32E CP $14 = 20 ?
E330 JR NZ,ReadKeyboard_3
E332 RES 0,(IX+$10) clear "moving" bit - diver stopped
E336 RET
ReadKeyboard_3 E337 INC (IX+$0E)
E33A RET
E33B: Diver object record
DiverObj E33B DEFB $0A (IX+$00) Column 0..31
E33C DEFB $0A (IX+$01) Row
E33D DEFB $04 (IX+$02) ???
E33E DEFB $04
E33F DEFB $00 (IX+$04) DX value for the Angle, -2..2, see table DF25
E340 DEFB $00 (IX+$05) DY value for the Angle, -2..2, see table DF25
E341 DEFB $04 (IX+$06) Angle 0..15, initially 4
E342 DEFB $8D
E343 DEFB $DF (IX+$08) ???
E344 DEFW $0000 (IX+$09) Sprite address
E346 DEFW $0000 (IX+$0B) Sprite address
E348 DEFB $18 (IX+$0D) ??? bits 0/1/2/3/4/5/6/7
E349 DEFB $14 (IX+$0E) speed factor: 12 20 40 100; $08 max speed, $14 min speed
E34A DEFB $14 (IX+$0F) speed counter
E34B DEFB $00 (IX+$10) ??? bits 0/1/2/3/4/5/6/7; bit0: 1 = diver moving, 0 = diver stopped
E34C DEFB $00 (IX+$11) ??? $00 $FF
E34D DEFB $00 (IX+$12) ??? $00
E34E DEFB $08 (IX+$13) X value
E34F DEFB $08 (IX+$14) Y value
E350 DEFB $00 (IX+$15) X shift 0..7
E351 DEFB $00 (IX+$16) Y shift 0..7
E352 DEFB $00 (IX+$17) ???
E353 DEFB $00 (IX+$18) Column 0..31
E354 DEFB $00 (IX+$19) Row
E355 DEFB $0A,$12
E357 DEFB $03 (IX+$1C) ???
E358 DEFB $12,$03
E35A DEFB $40 (IX+$1F) Row??
E35B DEFB $00 (IX+$20) ??? $03
E35C DEFB $00 (IX+$21) ???
E35D DEFB $00 (IX+$22) ??? $F5
E35E DEFB $00
E35F DEFW $0000 (IX+$24) Sprite address
E361 DEFB $00 (IX+$26) ??? bits 0/1/2/3/4/5/6
E362 DEFB $00 (IX+$27) ???
E363 DEFB $00 (IX+$28) ???
E364: Routine at E364
Used by the routine at E2A8.
Input
IX Object address = $E33B
E364 BIT 5,(IX+$10)
E368 RET NZ
E369 BIT 7,(IX+$10)
E36D JP Z,$E767
E370 LD HL,(OXYGEN)
E373 LD A,(LEVEL) Game level 1..4
E376 ADD A,A
E377 ADD A,A
E378 ADD A,A
E379 ADD A,$0A
E37B LD E,A
E37C LD D,$00
E37E LD A,H
E37F SBC HL,DE
E381 LD (OXYGEN),HL
E384 CP H
E385 CALL NZ,UpdateOxygen
E388 LD A,($DE5C)
E38B AND $F0
E38D JR NZ,$E393
E38F CALL $E43A Explosion
E392 RET
E393 LD A,(IX+$22)
E396 OR A
E397 JR Z,$E39C
E399 INC (IX+$22)
E39C BIT 4,(IX+$10)
E3A0 CALL NZ,$E41B
E3A3 LD HL,$DF11
E3A6 LD A,(HL)
E3A7 CP $FF
E3A9 RET Z
E3AA BIT 7,(IX+$10)
E3AE RET Z
E3AF LD D,A
E3B0 INC HL
E3B1 LD E,(HL)
E3B2 INC HL
E3B3 PUSH HL
E3B4 EX DE,HL
E3B5 PUSH HL
E3B6 CALL GetScrAttrAddr Get screen attribute address
E3B9 LD A,(HL)
E3BA POP HL
E3BB CP $02
E3BD JP NZ,$E476
This entry point is used by the routine at E476.
E3C0 BIT 4,(IX+$10)
E3C4 JR NZ,$E418
E3C6 LD A,(IX+$22)
E3C9 CP $FF
E3CB JR NZ,$E3D2
This entry point is used by the routine at E915.
E3CD CALL $E43A Explosion
E3D0 JR $E418
E3D2 OR A
E3D3 JR NZ,$E418
E3D5 SET 3,(IX+$10)
E3D9 LD (IX+$0E),$0A
E3DD RES 0,(IX+$10) clear "moving" bit
E3E1 SET 4,(IX+$10)
E3E5 LD A,(IX+$06) get Angle 0..15
E3E8 INC A
E3E9 AND $0C 0 / 4 / 8 / 12
E3EB ADD A,A 0 / 8 / 16 / 24
E3EC ADD A,A 0 / 16 / 32 / 48
E3ED ADD A,A 0 / 32 / 64 / 96
E3EE LD C,A
E3EF LD B,$00
E3F1 LD HL,$9ACC Base address for 4 sprites of drowned diver
E3F4 ADD HL,BC
E3F5 LD (IX+$09),L
E3F8 LD (IX+$0B),L
E3FB LD (IX+$0A),H
E3FE LD (IX+$0C),H
E401 LD (IX+$21),$E6
E405 LD HL,$0000 reset HELD value
E408 LD (HELD),HL
E40B CALL PrintHeld Print HELD number
E40E RES 6,(IX+$10)
E412 LD HL,$E604 Melody address
E415 CALL PlayMelody Play melody
This entry point is used by the routines at E476 and E915.
E418 POP HL
E419 JR $E3A6
E41B: Routine at E41B
Used by the routine at E364.
Input
IX Object record address
E41B INC (IX+$21)
E41E RET NZ
E41F LD A,(IX+$06) get Angle
E422 ADD A,$08 rotate 180 degree
E424 AND $0F 0..15
E426 LD (IX+$06),A set Angle
E429 LD (IX+$22),$F5
E42D RES 4,(IX+$10)
E431 RES 3,(IX+$10)
E435 LD (IX+$0E),$14
E439 RET
E43A: Diver explosion ??
Used by the routine at E364.
Input
IX Object address = $E33B
E43A BIT 3,(IX+$26)
E43E RET NZ
E43F SET 5,(IX+$10)
E443 SET 3,(IX+$10)
E447 RES 0,(IX+$10) clear "moving" bit
E44B LD A,(IX+$06) get Angle 0..15
E44E INC A
E44F LD HL,$9B4C Explosion sprite address
E452 LD BC,$0020
E455 BIT 2,A
E457 JR Z,$E45A
E459 ADD HL,BC
E45A LD (IX+$09),L
E45D LD (IX+$0B),L
E460 LD (IX+$0A),H
E463 LD (IX+$0C),H
E466 LD HL,$E61C
E469 CALL PlayMelody Play melody
E46C LD HL,$0000 reset HELD value
E46F LD (HELD),HL
E472 CALL PrintHeld Print HELD number
E475 RET
E476: Process objects on the screen - like take Oxygen or pick up pearls
Used by the routine at E364.
Input
IX Object address = $E33B
E476 LD IY,$B07D
E47A LD A,(IY+$01)
E47D CP $FF
E47F JP Z,$E915
E482 LD D,(IY+$03)
E485 LD E,(IY+$02)
E488 LD B,A
E489 LD C,(IY+$00)
E48C LD A,(BC)
E48D BIT 5,A
E48F JR Z,$E4B2
E491 LD A,D
E492 CP H
E493 JR NZ,$E4AB
E495 LD A,E
E496 CP L
E497 JR NZ,$E4AB
E499 LD HL,(OXYGEN)
E49C LD BC,$00C8
E49F ADD HL,BC
E4A0 JR NC,$E4A5
E4A2 LD HL,$FFFF
E4A5 CALL UpdateOxygen
E4A8 JP $E418
E4AB LD BC,$0004
E4AE ADD IY,BC
E4B0 JR $E47A
E4B2 BIT 6,A
E4B4 JP Z,$E553
E4B7 LD A,H
E4B8 CP D
E4B9 JR NZ,$E4AB
E4BB LD A,L
E4BC CP E
E4BD JR Z,$E4C3
E4BF DEC A
E4C0 CP E
E4C1 JR NZ,$E4AB
E4C3 BIT 6,(IX+$10)
E4C7 JP NZ,$E418
E4CA BIT 4,(IX+$10)
E4CE JP NZ,$E418
E4D1 LD A,(BC)
E4D2 BIT 3,A
E4D4 JP NZ,$E418
E4D7 PUSH BC
E4D8 INC BC
E4D9 INC BC
E4DA INC BC
E4DB LD A,(BC)
E4DC DEC A
E4DD ADD A,A
E4DE LD HL,$5B2B get value 75 / 50 / 150 / 100, depending on Game level
E4E1 LD C,A
E4E2 LD B,$00
E4E4 ADD HL,BC
E4E5 PUSH DE
E4E6 CALL $E5D2
E4E9 LD C,(HL)
E4EA INC HL
E4EB LD B,(HL)
E4EC DEC HL
E4ED EX DE,HL
E4EE PUSH HL
E4EF PUSH BC
E4F0 OR A
E4F1 SBC HL,BC
E4F3 POP BC
E4F4 POP HL
E4F5 JR Z,$E4FB
E4F7 JR C,$E533
E4F9 JR $E509
E4FB LD BC,($5B33) get value depending of game level
E4FF LD (HELD),BC set HELD value
E503 SET 6,(IX+$10)
E507 JR $E510
E509 LD HL,(HELD) get HELD value
E50C ADD HL,BC
E50D LD (HELD),HL set HELD value
E510 POP DE
E511 EX DE,HL
E512 CALL GetScrAttrAddr Get screen attribute address
E515 LD (HL),$06
E517 INC HL
E518 LD (HL),$06
E51A POP BC
E51B LD A,(BC)
E51C SET 3,A
E51E LD (BC),A
E51F CALL PrintHeld Print HELD number
E522 CALL $E615 Play melody $E60B
E525 LD HL,$5B0F
E528 INC (HL)
E529 LD HL,($5B48)
E52C INC HL
E52D LD ($5B48),HL
E530 JP $E418
E533 PUSH BC
E534 EX (SP),HL
E535 POP BC
E536 OR A
E537 SBC HL,BC
E539 LD A,L
E53A LD (DE),A
E53B INC DE
E53C LD A,H
E53D LD (DE),A
E53E LD HL,($5B33) get value depending of game level
E541 LD (HELD),HL set HELD value
E544 SET 6,(IX+$10)
E548 POP DE
E549 POP BC
E54A CALL PrintHeld Print HELD number
E54D CALL $E615 Play melody $E60B
E550 JP $E418
E553 BIT 1,A
E555 JR Z,$E5A9
E557 LD A,H
E558 CP D
E559 JP NZ,$E4AB
E55C LD A,L
E55D CP E
E55E JP NZ,$E4AB
E561 BIT 6,(IX+$10)
E565 JP NZ,$E418
E568 BIT 4,(IX+$10)
E56C JP NZ,$E418
E56F LD A,(BC)
E570 BIT 3,A
E572 JP NZ,$E418
E575 LD HL,($5B27) get value 2 / 4 / 6 / 8, depending on Game level
E578 LD A,(BC)
E579 BIT 4,A
E57B JP NZ,$E418
E57E PUSH BC
E57F CALL $E5D2
E582 POP BC
E583 EX DE,HL
E584 OR A
E585 SBC HL,DE
E587 JP C,$E418
E58A LD HL,(HELD)
E58D ADD HL,DE
E58E LD (HELD),HL
E591 LD A,(BC)
E592 SET 4,A
E594 LD (BC),A
E595 CALL PrintHeld Print HELD number
E598 CALL $E615 Play melody $E60B
E59B LD HL,$5B00
E59E DEC (HL)
E59F LD HL,($5B46)
E5A2 INC HL
E5A3 LD ($5B46),HL
E5A6 JP $E418
E5A9 LD A,H
E5AA CP D
E5AB JR Z,$E5B2
E5AD INC A
E5AE CP D
E5AF JP NZ,$E4AB
E5B2 LD A,L
E5B3 CP E
E5B4 JR Z,$E5BB
E5B6 DEC A
E5B7 CP E
E5B8 JP NZ,$E4AB
E5BB LD A,(BC)
E5BC BIT 3,A
E5BE JP NZ,$E3C0
E5C1 LD A,L
E5C2 CP E
E5C3 JP NZ,$E418
E5C6 BIT 6,(IX+$10)
E5CA JP NZ,$E418
E5CD LD HL,($5B29) get value 5 / 10 / 15 / 20, depending on Game level
E5D0 JR $E578
E5D2: DE = (L5B33) - HELD
Used by the routine at E476.
E5D2 LD BC,(HELD) get HELD value
E5D6 LD DE,($5B33) get value depending of game level
E5DA EX DE,HL
E5DB OR A
E5DC SBC HL,BC
E5DE EX DE,HL DE = (L5B33) - HELD
E5DF RET
E5E0: Dividers used to print decimal number, see PrintDec
E5E0 DEFW $2710,$03E8,$0064,$000A,$0001 10000, 1000, 100, 10, 1
E5EA DEFW $FFFF
E5EC: Play melody
Used by the routines at E364, E43A, E615, E645, E767, Start and EE1C.
Input
HL Melody address
PlayMelody E5EC LD E,(HL)
E5ED LD A,E
E5EE INC A
E5EF RET Z
E5F0 LD D,$00
E5F2 INC HL
E5F3 LD C,(HL)
E5F4 INC HL
E5F5 LD B,(HL)
E5F6 INC HL
E5F7 PUSH BC
E5F8 EX (SP),HL
E5F9 PUSH IX
E5FB CALL $03B5 ROM Beeper subroutine
E5FE DI
E5FF POP IX
E601 POP HL
E602 JR PlayMelody continue
E604: Melodies
E604 DEFB $02,$00,$20,$03,$00,$30,$FF
E60B DEFB $06,$00,$01,$06,$00,$03,$06,$80
E613 DEFB $00,$FF
E615: Play melody $E60B
Used by the routine at E476.
E615 LD HL,$E60B
E618 CALL PlayMelody Play melody
E61B RET
E61C: Melodies
E61C DEFB $01,$00,$20,$01,$00,$18,$02,$00
E624 DEFB $10,$03,$00,$08,$FF
E629 DEFB $02,$00,$0A,$03,$15,$0E,$FF
E630 DEFB $02,$FF
E632 DEFB $00,$FF
E634 DEFB $04,$80,$00,$FF
E638 DEFB $14,$00,$02,$1E,$00,$01,$32,$C8
E640 DEFB $00,$14,$40,$02,$FF
E645: Play melody $E629
Used by the routine at UpdateOxygen.
E645 PUSH HL
E646 PUSH DE
E647 PUSH AF
E648 LD HL,$E629
E64B CALL PlayMelody Play melody
E64E POP AF
E64F POP DE
E650 POP HL
E651 RET
E652: Sprites divers on the boat
Sprites for 1/2/3 divers on the boat; width 2 chars, 16 bytes each sprite
E652 DEFB $00,$0C,$00,$1E,$00,$0C,$00,$1E lives1
E65A DEFB $00,$1E,$00,$1E,$FF,$FF,$FF,$FF
E662 DEFB $01,$8C,$03,$DE,$01,$8C,$03,$DE lives2
E66A DEFB $03,$DE,$03,$DE,$FF,$FF,$FF,$FF
E672 DEFB $31,$8C,$7B,$DE,$31,$8C,$7B,$DE lives3
E67A DEFB $7B,$DE,$7B,$DE,$FF,$FF,$FF,$FF
E682: Routine at E682
Used by the routines at E6AB and E9B0.
E682 OR A
E683 JR NZ,$E68A
E685 LD HL,$A41B
E688 JR $E697
E68A LD HL,$E652
E68D LD DE,$0010
E690 DEC A
E691 JR Z,$E697
E693 LD B,A
E694 ADD HL,DE
E695 DJNZ $E694
E697 LD B,$06
E699 LD DE,$8CD6
E69C PUSH BC
E69D LDI
E69F LDI
E6A1 LD BC,$0005
E6A4 EX DE,HL
E6A5 ADD HL,BC
E6A6 EX DE,HL
E6A7 POP BC
E6A8 DJNZ $E69C
E6AA RET
E6AB: Routine at E6AB
Used by the routine at D990.
E6AB LD IX,DiverObj Diver object record address
E6AF LD HL,$FFFF
E6B2 LD (OXYGEN),HL
E6B5 LD A,(LIVES) get Number of lives
E6B8 DEC A
E6B9 CALL $E682
E6BC LD A,($C4F0)
E6BF LD C,A
E6C0 SRL A
E6C2 SRL A
E6C4 SRL A
E6C6 DEC A
E6C7 AND $1F
E6C9 LD L,A
E6CA LD H,$00
E6CC LD ($5B03),HL set Screen position on mini-map
E6CF LD (IX+$1E),$00
E6D3 LD (IX+$11),$FE
E6D7 LD (IX+$12),$00
E6DB LD (IX+$0D),$00
E6DF LD (IX+$01),$06
E6E3 LD (IX+$14),$0C set Y value = 12
E6E7 SET 3,(IX+$10)
E6EB LD A,($C4F2)
E6EE LD (IX+$27),A
E6F1 LD (IX+$04),$00 clear DX value
E6F5 LD (IX+$05),$00 clear DY value
E6F9 LD (IX+$28),$00
E6FD LD (IX+$1A),$06
E701 LD (IX+$10),$00
E705 LD (IX+$0E),$14 speed factor = min speed
E709 LD (IX+$12),$00
E70D LD (IX+$11),$FF
E711 LD A,L
E712 ADD A,A
E713 ADD A,A
E714 ADD A,A
E715 LD L,A
E716 LD A,C
E717 SUB L
E718 ADD A,$03
E71A LD (IX+$00),A set Column value
E71D LD C,A
E71E LD A,($C4F2)
E721 ADD A,$03
E723 BIT 3,A
E725 JR Z,$E72C
E727 INC (IX+$00) one Column right
E72A AND $07
E72C ADD A,A
E72D LD (IX+$13),A set X value
E730 LD A,(LIVES) get Number of lives
E733 CP $03
E735 JR Z,$E759
E737 LD B,$0A
E739 CP $02
E73B JR Z,$E73F
E73D LD B,$14
E73F LD A,(IX+$13) get X value
E742 ADD A,B
E743 SUB $10
E745 JR C,$E74C
E747 INC (IX+$00) one Column right
E74A JR $E743
E74C ADD A,$10
E74E LD (IX+$13),A set X value
E751 LD (IX+$20),$01
E755 LD (IX+$0F),$02
E759 LD HL,$9BAC Sprite diver sitting on the boat
E75C LD (IX+$24),L set sprite address
E75F LD (IX+$25),H
E762 SET 0,(IX+$10) set "moving" bit
E766 RET
E767: Routine at E767
Used by the routine at E364.
E767 BIT 0,(IX+$26)
E76B JR NZ,$E7E0
E76D LD (IX+$20),$03
E771 LD (IX+$0F),$03
E775 LD (IX+$04),$00 clear DX value
E779 LD (IX+$05),$00 clear DY value
E77D LD A,($C4F2)
E780 CP (IX+$27)
E783 JR Z,$E78C
E785 LD (IX+$27),A
E788 LD (IX+$04),$FE set DX value = -2
E78C LD BC,($5B3E) get port for Accelerate key
E790 LD A,($5B40) get bit mask for Accelerate key
E793 LD L,A
E794 IN A,(C) Read from port for the key
E796 AND L
E797 RET NZ Return if not pressed
E798 LD HL,$E634
E79B CALL PlayMelody Play melody
E79E BIT 2,(IX+$26)
E7A2 JR NZ,$E7C2
E7A4 LD (IX+$0E),$0C
E7A8 LD HL,$9BAC Sprite diver sitting on the boat
E7AB LD (IX+$24),L set sprite address
E7AE LD (IX+$25),H
E7B1 SET 0,(IX+$26)
E7B5 LD (IX+$04),$FF set DX value = -1
E7B9 LD (IX+$05),$02 set DY value = +2
E7BD SET 1,(IX+$26)
E7C1 RET
E7C2 LD HL,$934C Sprite diver directing up-right
E7C5 LD (IX+$0E),$14 speed factor = min speed
E7C9 LD (IX+$24),L set sprite address
E7CC LD (IX+$25),H
E7CF SET 0,(IX+$26)
E7D3 LD (IX+$04),$02 set DX value = +2
E7D7 LD (IX+$05),$02 set DY value = +2
E7DB SET 1,(IX+$26)
E7DF RET
E7E0 BIT 2,(IX+$26)
E7E4 JR NZ,$E837
E7E6 BIT 1,(IX+$26)
E7EA JR Z,$E7F1
E7EC RES 1,(IX+$26)
E7F0 RET
E7F1 SET 1,(IX+$26)
E7F5 LD H,(IX+$25)
E7F8 LD L,(IX+$24)
E7FB LD BC,$0020
E7FE ADD HL,BC
E7FF LD (IX+$24),L set sprite address
E802 LD (IX+$25),H
E805 LD DE,$9C4C address right after last diver sprite
E808 OR A
E809 SBC HL,DE
E80B RET NZ
E80C LD (IX+$0E),$14
E810 LD (IX+$04),$00 clear DX value
E814 LD (IX+$05),$00 clear DY value
E818 LD (IX+$06),$04
E81C SET 7,(IX+$10)
E820 RES 0,(IX+$10) clear "moving" bit
E824 LD A,(LEVEL) Game level 1..4
E827 LD C,A
E828 LD A,$05
E82A SUB C
E82B LD (IX+$1E),A
E82E LD (IX+$28),$07
E832 RES 3,(IX+$10)
E836 RET
E837 BIT 3,(IX+$26)
E83B JR NZ,$E88A
E83D BIT 1,(IX+$26)
E841 JR Z,$E848
E843 RES 1,(IX+$26)
E847 RET
E848 SET 1,(IX+$26)
E84C LD H,(IX+$25)
E84F LD L,(IX+$24)
E852 LD BC,$0080
E855 ADD HL,BC
E856 LD (IX+$24),L set sprite address
E859 LD (IX+$25),H
E85C LD DE,$954C
E85F OR A
E860 SBC HL,DE
E862 RET NZ
E863 LD (IX+$04),$00 clear DX value
E867 LD (IX+$05),$00 clear DY value
E86B LD (IX+$06),$04
E86F SET 7,(IX+$10)
E873 RES 0,(IX+$10) clear "moving" bit
E877 LD A,(LEVEL) Game level 1..4
E87A LD C,A
E87B LD A,$05
E87D SUB C
E87E LD (IX+$1E),A
E881 LD (IX+$28),$07
E885 RES 3,(IX+$10)
E889 RET
E88A LD (IX+$1E),$00
E88E LD HL,$E632
E891 INC (HL)
E892 DEC HL
E893 DEC HL
E894 CALL PlayMelody Play melody
E897 LD A,(IX+$1A)
E89A CP $06
E89C JR NZ,$E8FA
E89E LD A,(IX+$03)
E8A1 CP $07
E8A3 JR NZ,$E8FA
E8A5 LD HL,(HELD) get HELD value
E8A8 LD DE,(SCORE) get Score value
E8AC ADD HL,DE
E8AD LD (SCORE),HL set Score value
E8B0 LD HL,$0000 reset HELD value
E8B3 LD (HELD),HL
E8B6 CALL PrintHeld Print HELD number
E8B9 CALL PrintScore Print score number
E8BC LD HL,$FFFF
E8BF CALL UpdateOxygen
E8C2 RES 6,(IX+$10)
E8C6 RES 3,(IX+$26)
E8CA RES 0,(IX+$26)
E8CE LD A,($5B00)
E8D1 CP $08
E8D3 JR NZ,$E8FA
E8D5 LD A,($5B0F)
E8D8 CP $03
E8DA JR NZ,$E8FA
E8DC LD HL,($5B31) get value depending of game level
E8DF LD DE,(SCORE) get Score value
E8E3 ADD HL,DE
E8E4 LD (SCORE),HL
E8E7 CALL PrintScore Print score number
E8EA SET 4,(IX+$26)
E8EE LD HL,$E638
E8F1 CALL PlayMelody Play melody
E8F4 LD HL,$E638
E8F7 CALL PlayMelody Play melody
E8FA LD (IX+$04),$00
E8FE LD (IX+$0F),$03
E902 LD (IX+$20),$03
E906 LD A,($C4F2)
E909 CP (IX+$27)
E90C RET Z
E90D LD (IX+$27),A
E910 LD (IX+$04),$FE
E914 RET
E915: Routine at E915
Used by the routine at E476.
E915 LD DE,($C4F0)
E919 BIT 5,(IX+$10)
E91D JP NZ,$E418
E920 LD BC,($5B0B)
E924 LD A,E
E925 SUB C
E926 ADD A,$07
E928 LD C,A
E929 CP L
E92A JP NZ,$E3CD
E92D LD A,D
E92E SUB B
E92F INC A
E930 CP H
E931 JR Z,$E93C
E933 INC A
E934 CP H
E935 JR Z,$E93C
E937 INC A
E938 CP H
E939 JP NZ,$E3CD
E93C SET 1,(IX+$0D)
E940 RES 0,(IX+$0D)
E944 PUSH IY
E946 PUSH BC
E947 LD (IX+$04),$00 clear DX value
E94B LD HL,($5B03) get Screen position on mini-map
E94E PUSH HL
E94F CALL $DFD5
E952 POP HL
E953 RES 7,(IX+$10)
E957 SET 0,(IX+$26)
E95B SET 2,(IX+$26)
E95F SET 3,(IX+$26)
E963 LD A,($C4F2)
E966 LD (IX+$27),A
E969 LD (IX+$04),$00 clear DX value
E96D LD (IX+$05),$FF set DY = -1
E971 POP BC
E972 LD A,($5B03) get Screen position (column) on mini-map
E975 CP L
E976 JR Z,$E97C
E978 LD A,$08
E97A ADD A,C
E97B LD C,A
E97C LD (IX+$00),C set Column value
E97F LD A,(IX+$27)
E982 ADD A,A
E983 LD (IX+$13),A
E986 LD (IX+$28),$00
E98A LD HL,$9B8C Sprite diver climbing on the boat
E98D LD (IX+$24),L set sprite address
E990 LD (IX+$25),H
E993 SET 0,(IX+$0D)
E997 RES 1,(IX+$0D)
E99B CALL $DFD5
E99E POP IY
E9A0 LD (IX+$0F),$03
E9A4 LD (IX+$20),$03
E9A8 LD HL,$E632
E9AB LD (HL),$00
E9AD JP $E418
E9B0: Routine at E9B0
Used by the routine at DFD5.
Input
IX Object address = $E33B
E9B0 SET 5,(IX+$26)
E9B4 PUSH HL
E9B5 PUSH DE
E9B6 LD HL,($DE59)
E9B9 LD (HL),$0D
E9BB LD DE,$0040
E9BE ADD HL,DE
E9BF LD ($DE59),HL
E9C2 LD (HL),$4F
E9C4 LD HL,LIVES get Number of lives
E9C7 LD A,(HL)
E9C8 INC (HL)
E9C9 PUSH BC
E9CA CALL $E682
E9CD POP BC
E9CE POP DE
E9CF POP HL
E9D0 RET
E9D1: Data block at E9D1
E9D1 DEFB $00,$00,$00,$00,$00,$00,$00
E9D8 DEFB $00,$00
E9DA: Score table, 160 bytes
E9DA DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
E9EA DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
E9FA DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
EA0A DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
EA1A DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
EA2A DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
EA3A DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
EA4A DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
EA5A DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00,$0A,$00,$00,$00,$00,$00
EA6A DEFB $44,$55,$52,$45,$4C,$4C,$00,$00,$00,$00
EA74 DEFB $0A,$00,$00,$00,$00,$00
EA7A: Routine at EA7A
Used by the routine at EE1C.
EA7A LD ($E9D8),IX
EA7E DI
EA7F LD HL,($E9E4)
EA82 LD DE,(SCORE)
EA86 LD A,E
EA87 SUB L
EA88 LD A,D
EA89 SBC A,H
EA8A JR C,$EADE
EA8C EX DE,HL
EA8D LD IX,$E9DA Score table address
EA91 LD DE,$0010
EA94 LD B,$0A
EA96 LD A,L
EA97 SUB (IX+$0A)
EA9A LD A,H
EA9B SBC A,(IX+$0B)
EA9E JR C,$EAA4
EAA0 ADD IX,DE
EAA2 DJNZ $EA96
EAA4 PUSH IX
EAA6 POP HL
EAA7 OR A
EAA8 SBC HL,DE
EAAA PUSH HL
EAAB LD DE,$E9DA Score table address
EAAE LD A,$0A
EAB0 SUB B
EAB1 ADD A,A
EAB2 ADD A,A
EAB3 ADD A,A
EAB4 ADD A,A
EAB5 JR Z,$EABF
EAB7 LD C,A
EAB8 LD B,$00
EABA LD HL,$E9EA
EABD LDIR
EABF POP HL
EAC0 LD B,$06
EAC2 LD (HL),$80
EAC4 INC HL
EAC5 DJNZ $EAC2
EAC7 LD BC,($5B48)
EACB LD (HL),C
EACC INC HL
EACD LD (HL),B
EACE INC HL
EACF LD BC,($5B46)
EAD3 LD (HL),C
EAD4 INC HL
EAD5 LD (HL),B
EAD6 INC HL
EAD7 LD BC,(SCORE)
EADB LD (HL),C
EADC INC HL
EADD LD (HL),B
EADE: Routine at EADE
Used by the routines at EA7A, EE1C and EEAD.
EADE LD IX,DiverObj Diver object record address
EAE2 LD (IX+$1F),$07
EAE6 LD IX,($E9D8)
EAEA LD A,$0F
EAEC LD ($5C8D),A set ATTR-P - Permanent current colours
EAEF LD A,$02
EAF1 CALL $1601 ROM call CHAN-OPEN
EAF4 LD A,$01
EAF6 CALL $229B ROM call inside BORDER subroutine
EAF9 LD A,$02
EAFB CALL $1601 ROM call CHAN-OPEN
EAFE CALL $0D6B ROM CLS subroutine
EB01 LD A,$02
EB03 CALL $1601 ROM call CHAN-OPEN
EB06 LD DE,$EBEE Table of records text
EB09 LD BC,$005D
EB0C CALL $203C ROM call PR-STRING
EB0F LD B,$0A
EB11 LD C,$05
EB13 LD HL,$EA6A address of last line of the score table
EB16 PUSH BC
EB17 BIT 7,(HL)
EB19 JR Z,$EB20
EB1B CALL $EB82
EB1E JR $EB2B
EB20 LD B,$06
EB22 LD A,(HL)
EB23 INC HL
EB24 PUSH HL
EB25 PUSH BC
EB26 RST $10
EB27 POP BC
EB28 POP HL
EB29 DJNZ $EB22
EB2B LD B,$0B
EB2D CALL $EBDB
EB30 LD B,$13
EB32 CALL $EBDB
EB35 PUSH HL
EB36 LD BC,$0003
EB39 LD DE,$EC4B
EB3C CALL $203C ROM call PR-STRING
EB3F DI
EB40 LD IX,DiverObj Diver object record address
EB44 POP HL
EB45 LD E,(HL)
EB46 INC HL
EB47 LD D,(HL)
EB48 INC HL
EB49 PUSH HL
EB4A PUSH DE
EB4B LD L,$19
EB4D LD H,(IX+$1F)
EB50 CALL GetScrAddr Convert char coords HL to ZX screen address
EB53 POP DE
EB54 EX DE,HL
EB55 LD B,$00
EB57 PUSH IY
EB59 CALL PrintDec Print decimal number
EB5C POP IY
EB5E POP HL
EB5F LD DE,$FFE4
EB62 INC (IX+$1F)
EB65 LD IX,($E9D8)
EB69 EI
EB6A ADD HL,DE
EB6B POP BC
EB6C DJNZ $EB16
EB6E LD DE,$EC2A
EB71 LD BC,$001F
EB74 CALL $203C ROM call PR-STRING
EB77 LD DE,$EC59 "ENTER SKILL (1TO4),K,L OR S."
EB7A LD BC,$0023
EB7D CALL $203C ROM call PR-STRING
EB80 EI
EB81 RET
EB82: Routine at EB82
Used by the routine at EADE.
EB82 LD B,$06
EB84 PUSH BC
EB85 PUSH HL
EB86 LD BC,$0006
EB89 LD DE,$EC53
EB8C CALL $203C ROM call PR-STRING
EB8F EI
EB90 LD A,($5C05)
EB93 OR A
EB94 JR NZ,$EB90
EB96 LD A,($5C05)
EB99 OR A
EB9A JR Z,$EB96
EB9C LD A,($5C08) get LAST-K - Last key pressed
EB9F CP $0C
EBA1 JR Z,$EBB9
EBA3 CP $0D
EBA5 JR Z,$EBD3
EBA7 BIT 7,A
EBA9 JR NZ,$EB90
EBAB CP $20
EBAD JR C,$EB90
EBAF PUSH AF
EBB0 RST $10
EBB1 POP AF
EBB2 POP HL
EBB3 LD (HL),A
EBB4 INC HL
EBB5 POP BC
EBB6 DJNZ $EB84
EBB8 RET
EBB9 POP HL
EBBA POP BC
EBBB LD A,B
EBBC CP $06
EBBE JR Z,$EB84
EBC0 INC B
EBC1 DEC HL
EBC2 LD (HL),$80
EBC4 PUSH HL
EBC5 PUSH BC
EBC6 LD DE,$EC4E
EBC9 LD BC,$0005
EBCC CALL $203C ROM call PR-STRING
EBCF POP BC
EBD0 POP HL
EBD1 JR $EB84
EBD3 POP HL
EBD4 POP BC
EBD5 LD (HL),$20
EBD7 INC HL
EBD8 DJNZ $EBD5
EBDA RET
EBDB: Routine at EBDB
Used by the routine at EADE.
EBDB PUSH HL
EBDC PUSH BC
EBDD LD A,$17
EBDF RST $10
EBE0 POP AF
EBE1 RST $10
EBE2 RST $10
EBE3 POP HL
EBE4 LD C,(HL)
EBE5 INC HL
EBE6 LD B,(HL)
EBE7 INC HL
EBE8 PUSH HL
EBE9 CALL $1A1B ROM OUT-NUM-1 subroutine
EBEC POP HL
EBED RET
EBEE: Texts used for indicator panel
EBEE DEFM $10,$07,$11,$01,$16,$01,$09
EBF5 DEFM "* SCUBA DIVE *"
EC03 DEFM $10,$00,$11,$06,$16,$05,$00
EC0A DEFM " NAME CHESTS PEARLS SCORE "
EC2A DEFM " "
EC49 DEFM " "
EC4B DEFM $17,$01,$00
EC4E DEFM " ",$08,$08," ",$08
EC53 DEFM $12,$01," ",$12,$00,$08
EC59 DEFM $16,$15,$01,$11,$01,$10,$06
EC60 DEFM "ENTER SKILL (1TO4),K,L OR S."
EC7C: Redefine keys
Used by the routine at EE1C.
RedefineKeys EC7C LD A,$02
EC7E CALL $1601 ROM call CHAN-OPEN
EC81 LD A,$04
EC83 CALL $229B ROM call inside BORDER subroutine
EC86 LD A,$02
EC88 CALL $1601 ROM call CHAN-OPEN
EC8B LD A,$20
EC8D LD ($5C8D),A set ATTR-P - Permanent current colours
EC90 CALL $0D6B ROM CLS subroutine
EC93 LD HL,$ED23 UDG symbols used for Redefine keys
EC96 LD ($5C7B),HL set UDG - Address of first user defined graphic
EC99 LD A,$02
EC9B CALL $1601 ROM call CHAN-OPEN
RedefineKeys_0 EC9E CALL $02BF ROM call KEYBOARD
ECA1 LD A,($5C05)
ECA4 OR A
ECA5 JR NZ,RedefineKeys_0
ECA7 LD DE,$ED43 text for keys redefining
ECAA LD BC,$005F
ECAD CALL $203C ROM call PR-STRING
ECB0 CALL $ECEB Sound
ECB3 LD ($5B38),BC set port for Clockwise key
ECB7 LD ($5B3A),A Save key for Clockwise
ECBA LD BC,$0012
ECBD CALL $203C ROM call PR-STRING
ECC0 CALL $ECEB Sound
ECC3 LD ($5B3B),BC set port for Anticlockwise key
ECC7 LD ($5B3D),A Save key for Anticlockwise
ECCA LD BC,$0012
ECCD CALL $203C ROM call PR-STRING
ECD0 CALL $ECEB Sound
ECD3 LD ($5B3E),BC set port for Accelerate key
ECD7 LD ($5B40),A Save key for Accelerate
ECDA LD BC,$000F
ECDD CALL $203C ROM call PR-STRING
ECE0 CALL $ECEB Sound
ECE3 LD ($5B41),BC set port for Decelerate
ECE7 LD ($5B43),A Save key for Decelerate
ECEA RET
ECEB: Sound??
Used by the routine at RedefineKeys.
ECEB LD C,$FE
ECED LD B,C
ECEE IN A,(C)
ECF0 AND $1F
ECF2 XOR $1F
ECF4 JR NZ,$ECFA
ECF6 RLC B
ECF8 JR $ECEE
ECFA PUSH AF
ECFB PUSH BC
ECFC PUSH IX
ECFE PUSH DE
ECFF LD HL,$EDD5
ED02 LD E,(HL)
ED03 LD A,E
ED04 INC A
ED05 JR Z,$ED16
ED07 LD D,$00
ED09 INC HL
ED0A LD C,(HL)
ED0B INC HL
ED0C LD B,(HL)
ED0D INC HL
ED0E PUSH BC
ED0F EX (SP),HL
ED10 CALL $03B5 ROM BEEPER subroutine
ED13 POP HL
ED14 JR $ED02
ED16 POP DE
ED17 POP IX
ED19 POP BC
ED1A POP AF
ED1B LD L,A
ED1C IN A,(C)
ED1E AND L
ED1F JR Z,$ED1C
ED21 LD A,L
ED22 RET
ED23: UDG symbols $90..$93 used for Redefine keys
ED23 DEFB $18,$24,$42,$87,$87,$42,$20,$18 udg0 $90
ED2B DEFB $18,$20,$42,$87,$87,$42,$24,$18 udg1 $91
ED33 DEFB $08,$0C,$0E,$FF,$FF,$0E,$0C,$08 udg2 $92
ED3B DEFB $00,$00,$10,$30,$7E,$30,$10,$00 udg3 $93
ED43: Text for Redefine keys
ED43 DEFB $10,$00,$11,$06,$16,$03,$05
ED4A DEFM " "
ED60 DEFB $16,$04,$05
ED63 DEFM " PRESS ANY KEY FOR :- "
ED79 DEFB $16,$05,$05
ED7C DEFM " "
ED92 DEFB $16,$08,$0B,$11,$04
ED97 DEFM "Clockwise "
EDA1 DEFB $90,$16,$08,$07
EDA5 DEFM "Anticlockwise "
EDB3 DEFB $91,$16,$08,$07
EDB7 DEFM " Accelerate "
EDC4 DEFB $92,$20,$16,$08,$09
EDC9 DEFM "Decelerate "
EDD4 DEFB $93
EDD5: Melody
EDD5 DEFB $12,$80,$01,$1E,$00,$01,$0C,$40
EDDD DEFB $01,$FF
EDDF: Starting point
Start EDDF LD A,$08
EDE1 LD ($5C6A),A
EDE4 LD A,$02
EDE6 CALL $1601 ROM call CHAN-OPEN
EDE9 LD A,$0F
EDEB LD ($5C8D),A set ATTR-P - Permanent current colours
EDEE LD HL,($5C78)
EDF1 LD (RANDOM),HL
EDF4 LD HL,$5B4D
EDF7 BIT 0,(HL)
EDF9 JP NZ,$EEA7
EDFC SET 0,(HL) set bit to mark we already started the program
EDFE LD DE,$EF70
EE01 LD BC,$000F
EE04 CALL $203C ROM call PR-STRING
EE07 LD DE,$EC60 "ENTER SKILL (1TO4),K,L OR S."
EE0A LD BC,$001C
EE0D CALL $203C ROM call PR-STRING
EE10 LD B,$0A
Start_0 EE12 PUSH BC
EE13 LD HL,$EDD5
EE16 CALL PlayMelody Play melody
EE19 POP BC
EE1A DJNZ Start_0
EE1C: Routine at EE1C
EE1C LD HL,$0000
EE1F LD ($5C78),HL
EE22 CALL $EEAD
EE25 LD A,($5C05)
EE28 EI
EE29 OR A
EE2A JR NZ,$EE22
EE2C CALL $EEAD
EE2F LD A,($5C05)
EE32 EI
EE33 OR A
EE34 JR Z,$EE2C
EE36 LD A,($5C08) get LAST-K - Last key pressed
EE39 CP $4B 'K' ?
EE3B JR NZ,$EE45
EE3D CALL RedefineKeys Redefine keys
EE40 CALL $EADE
EE43 JR $EE1C
EE45 CP $4C 'L' ?
EE47 JR NZ,$EE75
EE49 CALL $0D6B ROM CLS subroutine
EE4C LD A,$02
EE4E CALL $1601 ROM call CHAN-OPEN
EE51 LD DE,$EF93 "LOAD ? (Y/N)"
EE54 LD BC,$0013
EE57 CALL $203C ROM call PR-STRING
EE5A LD A,($5C05)
EE5D OR A
EE5E JR NZ,$EE5A
EE60 LD A,($5C05)
EE63 OR A
EE64 JR NZ,$EE60
EE66 LD A,($5C08) get LAST-K - Last key pressed
EE69 CP $4E 'N' ?
EE6B JR Z,$EEA7
EE6D CP $59 'Y' ?
EE6F JR NZ,$EE5A
EE71 LD BC,$0000
EE74 RET Returning to BASIC, loading score table
EE75 CP $53 'S' ?
EE77 JR NZ,$EE7D
EE79 LD BC,$0001
EE7C RET Returning to BASIC, saving score table
EE7D SUB $31 -'1'
EE7F JR C,$EE1C
EE81 CP $04
EE83 JR NC,$EE1C
EE85 INC A 1..4
EE86 LD (LEVEL),A Save game level 1..4
Game level selected, starting the game
EE89 LD HL,$EDD5
EE8C CALL PlayMelody Play melody
EE8F LD HL,$0000
EE92 LD ($5B46),HL
EE95 LD ($5B48),HL
EE98 LD HL,($EA74) get High Score value from the score table
EE9B LD (HSCORE),HL set High Score value for indicator
EE9E CALL $D990 Game
EEA1 CALL $EA7A
EEA4 JP $EE1C
This entry point is used by the routine at Start.
EEA7 CALL $EADE
EEAA JP $EE1C
EEAD: Routine at EEAD
Used by the routine at EE1C.
EEAD LD A,($5C79)
EEB0 CP $0A
EEB2 EI
EEB3 RET NZ
EEB4 LD A,$04
EEB6 LD (LEVEL),A Game level 1..4
EEB9 LD A,$0D
EEBB CALL $DA39 Clear screen with attribute A
EEBE LD A,$01
EEC0 OUT ($FE),A
EEC2 PUSH IX
EEC4 PUSH IY
EEC6 DI
EEC7 CALL PrepareMiniMap
EECA CALL InitLevelVars Initialize variables depending of Game level
EECD CALL $BEDB
EED0 LD HL,$0518
EED3 LD ($5B03),HL set Screen position on mini-map
EED6 CALL DrawGameScr Draw game screen
EED9 POP IY
EEDB POP IX
EEDD LD DE,$EF7F "PRESS ANY KEY"
EEE0 LD BC,$0014
EEE3 CALL $203C ROM call PR-STRING
EEE6 PUSH IX
EEE8 PUSH IY
EEEA LD BC,$001A
EEED LD DE,$DA63 Procedure Print char and shift down
EEF0 LD HL,$EF3A
EEF3 CALL $DA98 Print string
EEF6 INC HL
EEF7 LD BC,$001B
EEFA CALL $DA9C Print string
EEFD INC HL
EEFE LD BC,$0D1D
EF01 CALL $DA9C Print string
EF04 INC HL
EF05 LD BC,$0D1E
EF08 CALL $DA9C Print string
EF0B CALL $BDBA
EF0E POP IY
EF10 POP IX
EF12 PUSH IX
EF14 PUSH IY
EF16 CALL $B213
EF19 CALL $BDEA
EF1C POP IY
EF1E POP IX
EF20 EI
EF21 PUSH HL
EF22 POP HL
EF23 PUSH HL
EF24 POP HL
EF25 CALL $02BF ROM call KEYBOARD
EF28 LD A,($5C05)
EF2B OR A
EF2C DI
EF2D JR Z,$EF12
EF2F EI
EF30 CALL $EADE
EF33 LD HL,$0000
EF36 LD ($5C78),HL
EF39 RET
EF3A: Data block at EF3A
EF3A DEFB $89,$8A,$00,$8B,$8C,$00,$8D,$8E
EF42 DEFB $00,$8F,$90,$00,$91,$92,$FF
EF49 DEFB $93,$94,$00,$95,$96,$00,$97,$98
EF51 DEFB $00,$99,$9A,$00,$9B,$9C,$FF
EF58 DEFB $9D,$9E,$00,$9F,$A0,$00,$A1,$A2
EF60 DEFB $00,$A3,$A4,$FF,$A5,$A6,$00,$A7
EF68 DEFB $A8,$00,$A9,$AA,$00,$AB,$AC,$FF
EF70 DEFB $12,$00,$13,$00,$14,$00,$15,$00
EF78 DEFB $11,$00,$10,$07,$16,$15,$01
EF7F: Message at EF7F
EF7F DEFM $16,$0B,$05,$11,$00,$10,$06
EF86 DEFM "PRESS ANY KEY"
EF93: Data block at EF93
EF93 DEFB $11,$01,$10,$07,$16,$0B,$0A
EF9A: Message at EF9A
EF9A DEFM "LOAD ? (Y/N)"
EFA6: Unused
EFA6 DEFS $5A
F000: Buffer??
F000 DEFS $1000