Disassembly:Videocart 4

From veswiki
Revision as of 20:20, 5 August 2026 by E5frog (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is the disassembly (made with help from Peter Trauner's f8tool) of the Channel F Videocart 4. Original code is copyright © 1977 Fairchild Semiconductor.

		processor f8
		org $0800

delay		equ	$008F
prompt		equ	$0099
clrscrn		equ	$00D0
drawchar	equ	$0679

CartridgeStart:
		.byte	$55,$2B

L0802:
		clr				; 0802 70	Set ports to 0
		outs	0			; 0803 B0
		outs	1			; 0804 B1
		outs	4			; 0805 B4
		outs	5			; 0806 B5
		lisu	7			; 0807 67	Set ISAR tp 'O'73
		lisl	3			; 0808 6B
		li	$3C			; 0809 20 3C
		lr	S,A			; 080B 5C	register 'O'73 = $3C
		li	$D0			; 080C 20 D0
		lr	3,A			; 080E 53
		pi	clrscrn			; 080F 28 00 D0	Calls BIOS clear screen routine, clear to grey background
L0812:
		li	$8A			; 0812 20 8A	Loads character $8A in r0
		lr	0,A			; 0814 50
		pi	prompt			; 0815 28 00 99	Calls BIOS prompt, draws character and waits for keypress
		lr	A,4			; 0818 44	Button result returned in r4
		ci	4			; 0819 25 04	Compare to %00000100 - Button 3
		bnz	L0820			; 081B 94 04
		jmp	L0E99			; 081D 29 0E 99	Button 3 makes a jump to A0e99

L0820:
		lr	A,4			; 0820 44	Not button 3...
		ci	1			; 0821 25 01	Button 1?
		bz	L082D			; 0823 84 09	If it is, jump
		ci	2			; 0825 25 02	Button 2?
		bnz	L0812			; 0827 94 EA	If not, go back to wait for button press A0812
		lr	A,HL			; 0829 4B	Game 2 selected
		oi	$20			; 082A 22 20
		lr	HL,A			; 082C 5B	Change bit 5 in r11 to 1
L082D:
		li	$93			; 082D 20 93
		lr	3,A			; 082F 53
		pi	clrscrn			; 0830 28 00 D0	Clear screen to lt.blue using BIOS routine.
		br	L0861			; 0833 90 2D
L0835:
		lr	K,P			; 0835 08
		lis	3			; 0836 73
		lr	9,A			; 0837 59
		dci	L0DD7			; 0838 2A 0D D7
		br	L083E			; 083B 90 02
L083D:
		lr	DC,Q			; 083D 0F
L083E:
		li	8			; 083E 20 08
		lr	3,A			; 0840 53
		lr	6,A			; 0841 56
		lr	5,A			; 0842 55
		lm				; 0843 16
		lr	0,A			; 0844 50
		lm				; 0845 16
		lr	1,A			; 0846 51
		lm				; 0847 16
		lr	2,A			; 0848 52
		lr	Q,DC			; 0849 0E
		li	$C0			; 084A 20 C0
		lr	4,A			; 084C 54
		dci	L0E60			; 084D 2A 0E 60
		lr	A,HL			; 0850 4B
		sl	1			; 0851 13
		bp	L0859			; 0852 81 06
		clr				; 0854 70
		lr	0,A			; 0855 50
		dci	L0E88			; 0856 2A 0E 88
L0859:
		pi	L0CA8			; 0859 28 0C A8
		ds	9			; 085C 39
		bnz	L083D			; 085D 94 DF
		lr	P,K			; 085F 09
		pop				; 0860 1C

L0861:
		lisu	2			; 0861 62
		lisl	0			; 0862 68
		li	$18			; 0863 20 18
		lr	I,A			; 0865 5D
		li	$5A			; 0866 20 5A
		lr	I,A			; 0868 5D
		li	$34			; 0869 20 34
		lr	I,A			; 086B 5D
		lisu	3			; 086C 63
		clr				; 086D 70
		lr	I,A			; 086E 5D
		li	9			; 086F 20 09
		lr	I,A			; 0871 5D
		li	$34			; 0872 20 34
		lr	I,A			; 0874 5D
		pi	L0835			; 0875 28 08 35
		dci	L0DE0			; 0878 2A 0D E0
		pi	L0C8E			; 087B 28 0C 8E
		pi	L0CA8			; 087E 28 0C A8
		lis	8			; 0881 78
		sl	4			; 0882 15
		pi	L0C9F			; 0883 28 0C 9F
		dci	L0DE0			; 0886 2A 0D E0
		pi	L0CA8			; 0889 28 0C A8
		lr	A,HL			; 088C 4B
		ni	$F7			; 088D 21 F7
		lr	HL,A			; 088F 5B
		lisu	6			; 0890 66
		lisl	0			; 0891 68
		li	$FF			; 0892 20 FF
		lr	S,A			; 0894 5C
		lisl	3			; 0895 6B
		lr	S,A			; 0896 5C
		lr	A,HL			; 0897 4B
		sl	4			; 0898 15
		sr	1			; 0899 12
		sl	4			; 089A 15
		bp	L08A0			; 089B 81 04
		jmp	L0BDE			; 089D 29 0B DE

L08A0:
		lisu	7			; 08A0 67
		lisl	0			; 08A1 68
		lis	$F			; 08A2 7F
		lr	S,A			; 08A3 5C
		lr	A,HL			; 08A4 4B
		sl	1			; 08A5 13
		sl	1			; 08A6 13
		bm	L08D1			; 08A7 91 29
L08A9:
		li	$85			; 08A9 20 85
		lr	0,A			; 08AB 50
		pi	prompt			; 08AC 28 00 99
		lr	A,4			; 08AF 44
		ci	8			; 08B0 25 08
		bnz	L08B6			; 08B2 94 03
		br	L08D1			; 08B4 90 1C
L08B6:
		ci	2			; 08B6 25 02
		bnz	L08A9			; 08B8 94 F0
		li	$8E			; 08BA 20 8E
		lr	0,A			; 08BC 50
		pi	prompt			; 08BD 28 00 99
		lisu	7			; 08C0 67
		lisl	0			; 08C1 68
		dci	L0E90			; 08C2 2A 0E 90
		lr	A,4			; 08C5 44
		sr	1			; 08C6 12
		adc				; 08C7 8E
		lm				; 08C8 16
		lr	S,A			; 08C9 5C
		br	L08A9			; 08CA 90 DE
		.byte	$4B,$13,$13,$91,$01								; 08CC
L08D1:
		li	$83			; 08D1 20 83
		lisu	7			; 08D3 67
		lisl	2			; 08D4 6A
		lr	S,A			; 08D5 5C
L08D6:
		lr	A,S			; 08D6 4C
		lr	0,A			; 08D7 50
		li	$33			; 08D8 20 33
		lr	1,A			; 08DA 51
		li	$13			; 08DB 20 13
		lr	2,A			; 08DD 52
		pi	drawchar		; 08DE 28 06 79
		clr				; 08E1 70
		lr	6,A			; 08E2 56
		pi	delay			; 08E3 28 00 8F
		ds	S			; 08E6 3C
		lr	A,S			; 08E7 4C
		sl	1			; 08E8 13
		bnz	L08D6			; 08E9 94 EC
		li	$D			; 08EB 20 0D
		lr	0,A			; 08ED 50
		li	$33			; 08EE 20 33
		lr	1,A			; 08F0 51
		li	$13			; 08F1 20 13
		lr	2,A			; 08F3 52
		pi	drawchar		; 08F4 28 06 79
L08F7:
		lr	A,HL			; 08F7 4B
		sl	4			; 08F8 15
		lisu	2			; 08F9 62
		lisl	0			; 08FA 68
		bp	L08FF			; 08FB 81 03
		lisu	3			; 08FD 63
		lisl	3			; 08FE 6B
L08FF:
		pi	L0C56			; 08FF 28 0C 56
		lr	A,S			; 0902 4C
		ci	$7F			; 0903 25 7F
		bnz	L090B			; 0905 94 05
		li	$68			; 0907 20 68
		br	L091B			; 0909 90 11
L090B:
		ci	$69			; 090B 25 69
		bnz	L0913			; 090D 94 05
		li	0			; 090F 20 00
		br	L091B			; 0911 90 09
L0913:
		dci	L0DE0			; 0913 2A 0D E0
		lr	A,S			; 0916 4C
		lr	9,A			; 0917 59
		lis	1			; 0918 71
		br	L0920			; 0919 90 06
L091B:
		lr	9,A			; 091B 59
		dci	L0E88			; 091C 2A 0E 88
		clr				; 091F 70
L0920:
		lr	7,A			; 0920 57
		lr	A,HL			; 0921 4B
		sl	4			; 0922 15
		pi	L0C9F			; 0923 28 0C 9F
		lr	A,9			; 0926 49
		lr	S,A			; 0927 5C
		clr				; 0928 70
		as	7			; 0929 C7
		bnz	L092D			; 092A 94 02
		lr	0,A			; 092C 50
L092D:
		pi	L0CA8			; 092D 28 0C A8
		lr	A,HL			; 0930 4B
		xi	8			; 0931 23 08
		lr	HL,A			; 0933 5B
		sl	4			; 0934 15
		bm	L08F7			; 0935 91 C1
		lr	A,HL			; 0937 4B
		sl	1			; 0938 13
		bm	L0954			; 0939 91 1A
		lisu	2			; 093B 62
		lisl	2			; 093C 6A
		lr	A,S			; 093D 4C
		com				; 093E 18
		inc				; 093F 1F
		ai	$2E			; 0940 24 2E
		bp	L094D			; 0942 81 0A
		lisu	3			; 0944 63
		lisl	5			; 0945 6D
		lr	A,S			; 0946 4C
		com				; 0947 18
		inc				; 0948 1F
		ai	$2E			; 0949 24 2E
		bm	L0954			; 094B 91 08
L094D:
		lr	A,HL			; 094D 4B
		oi	$40			; 094E 22 40
		lr	HL,A			; 0950 5B
		pi	L0835			; 0951 28 08 35
L0954:
		lisu	7			; 0954 67
		lisl	0			; 0955 68
		lr	A,S			; 0956 4C
		ni	$F			; 0957 21 0F
		lr	5,A			; 0959 55
		pi	delay			; 095A 28 00 8F
		ins	0			; 095D A0
		ci	$B			; 095E 25 0B
		bnz	L0965			; 0960 94 04
		jmp	L08A9			; 0962 29 08 A9

L0965:
		lr	A,HL			; 0965 4B
		xi	$80			; 0966 23 80
		lr	HL,A			; 0968 5B
		lisu	7			; 0969 67
		lisl	1			; 096A 69
		lr	A,S			; 096B 4C
		inc				; 096C 1F
		ci	3			; 096D 25 03
		bz	L0974			; 096F 84 04
		lr	S,A			; 0971 5C
		br	L09BF			; 0972 90 4C
L0974:
		clr				; 0974 70
		lr	S,A			; 0975 5C
		lr	A,HL			; 0976 4B
		sl	1			; 0977 13
		sl	1			; 0978 13
		bp	L097E			; 0979 81 04
		jmp	L0D02			; 097B 29 0D 02

L097E:
		clr				; 097E 70
		outs	0			; 097F B0
		outs	1			; 0980 B1
		outs	4			; 0981 B4
		outs	5			; 0982 B5
		ins	1			; 0983 A1
		lisu	6			; 0984 66
		lisl	0			; 0985 68
		lr	S,A			; 0986 5C
		lisl	3			; 0987 6B
		lr	A,HL			; 0988 4B
		sl	1			; 0989 13
		sl	1			; 098A 13
		bm	L098F			; 098B 91 03
		ins	4			; 098D A4
		lr	S,A			; 098E 5C
L098F:
		lr	A,S			; 098F 4C
		sl	4			; 0990 15
		bm	L099B			; 0991 91 09
		lisu	3			; 0993 63
		ds	S			; 0994 3C
		lr	A,S			; 0995 4C
		ni	$F			; 0996 21 0F
		lr	S,A			; 0998 5C
		br	L09A4			; 0999 90 0A
L099B:
		sl	1			; 099B 13
		bm	L09A4			; 099C 91 07
		lisu	3			; 099E 63
		lr	A,S			; 099F 4C
		inc				; 09A0 1F
		ni	$F			; 09A1 21 0F
		lr	S,A			; 09A3 5C
L09A4:
		lisu	6			; 09A4 66
		lisl	0			; 09A5 68
		lr	A,S			; 09A6 4C
		sl	4			; 09A7 15
		bm	L09B4			; 09A8 91 0B
		lisu	2			; 09AA 62
		ds	S			; 09AB 3C
		lr	A,S			; 09AC 4C
		ni	$F			; 09AD 21 0F
		oi	$10			; 09AF 22 10
		lr	S,A			; 09B1 5C
L09B2:
		br	L09BF			; 09B2 90 0C
L09B4:
		sl	1			; 09B4 13
		bm	L09B2			; 09B5 91 FC
		lisu	2			; 09B7 62
		lr	A,S			; 09B8 4C
		inc				; 09B9 1F
		ni	$F			; 09BA 21 0F
		oi	$10			; 09BC 22 10
		lr	S,A			; 09BE 5C
L09BF:
		lr	A,HL			; 09BF 4B
		sl	1			; 09C0 13
		bm	L09C6			; 09C1 91 04
		jmp	L08F7			; 09C3 29 08 F7

L09C6:
		lisu	6			; 09C6 66
		lisl	1			; 09C7 69
		clr				; 09C8 70
		as	D			; 09C9 CE
		bm	L0A0C			; 09CA 91 41
		clr				; 09CC 70
		as	I			; 09CD CD
		bp	L09D5			; 09CE 81 06
		clr				; 09D0 70
		lr	I,A			; 09D1 5D
L09D2:
		jmp	L0B6B			; 09D2 29 0B 6B

L09D5:
		lr	A,S			; 09D5 4C
		sl	1			; 09D6 13
		bm	L09D2			; 09D7 91 FA
		li	$80			; 09D9 20 80
		as	S			; 09DB CC
		lr	D,A			; 09DC 5E
		lisu	2			; 09DD 62
L09DE:
		pi	L0C98			; 09DE 28 0C 98
		lr	A,HL			; 09E1 4B
		sl	4			; 09E2 15
		lisl	0			; 09E3 68
		bm	L09E7			; 09E4 91 02
		lisl	3			; 09E6 6B
L09E7:
		lr	A,0			; 09E7 40
		lr	I,A			; 09E8 5D
		lr	A,1			; 09E9 41
		lr	I,A			; 09EA 5D
		lr	A,2			; 09EB 42
		lr	I,A			; 09EC 5D
		lr	A,HL			; 09ED 4B
		sl	4			; 09EE 15
		lisl	0			; 09EF 68
		bm	L09F3			; 09F0 91 02
		lisl	3			; 09F2 6B
L09F3:
		dci	L0E95			; 09F3 2A 0E 95
		lr	A,S			; 09F6 4C
		ni	$10			; 09F7 21 10
		lr	A,I			; 09F9 4D
		bz	L09FD			; 09FA 84 02
		com				; 09FC 18
L09FD:
		ni	$F			; 09FD 21 0F
		sr	1			; 09FF 12
		sr	1			; 0A00 12
		adc				; 0A01 8E
		lm				; 0A02 16
		lr	8,A			; 0A03 58
		ni	$F			; 0A04 21 0F
		as	S			; 0A06 CC
		lr	I,A			; 0A07 5D
		lr	A,8			; 0A08 48
		sr	4			; 0A09 14
		as	S			; 0A0A CC
		lr	I,A			; 0A0B 5D
L0A0C:
		clr				; 0A0C 70
		br	L0A54			; 0A0D 90 46
L0A0F:
		lr	A,HL			; 0A0F 4B
		sl	4			; 0A10 15
		lisu	6			; 0A11 66
		lisl	1			; 0A12 69
		bp	L0A16			; 0A13 81 02
		lisl	2			; 0A15 6A
L0A16:
		clr				; 0A16 70
		as	S			; 0A17 CC
		bp	L0A7C			; 0A18 81 63
		lis	$A			; 0A1A 7A
		lr	5,A			; 0A1B 55
L0A1C:
		lr	A,HL			; 0A1C 4B
		sl	4			; 0A1D 15
		lisu	2			; 0A1E 62
		lisl	3			; 0A1F 6B
		bp	L0A24			; 0A20 81 03
		lisu	3			; 0A22 63
		lisl	0			; 0A23 68
L0A24:
		pi	L0A8A			; 0A24 28 0A 8A
		pi	L0C56			; 0A27 28 0C 56
		lr	A,I			; 0A2A 4D
		ni	$70			; 0A2B 21 70
		ci	$70			; 0A2D 25 70
		bz	L0A36			; 0A2F 84 06
		lr	A,I			; 0A31 4D
		ni	$3F			; 0A32 21 3F
		bnz	L0A4B			; 0A34 94 16
L0A36:
		lisu	6			; 0A36 66
		lr	A,HL			; 0A37 4B
		sl	4			; 0A38 15
		lisl	0			; 0A39 68
		clr				; 0A3A 70
		bp	L0A41			; 0A3B 81 05
		lisl	3			; 0A3D 6B
		as	D			; 0A3E CE
		br	L0A42			; 0A3F 90 02
L0A41:
		as	I			; 0A41 CD
L0A42:
		clr				; 0A42 70
		bm	L0A47			; 0A43 91 03
		li	$40			; 0A45 20 40
L0A47:
		lr	S,A			; 0A47 5C
		clr				; 0A48 70
		br	L0A54			; 0A49 90 0A
L0A4B:
		lr	A,HL			; 0A4B 4B
		xi	$80			; 0A4C 23 80
		lr	HL,A			; 0A4E 5B
		ds	5			; 0A4F 35
		bnz	L0A1C			; 0A50 94 CB
		li	$80			; 0A52 20 80
L0A54:
		lr	K,P			; 0A54 08
		lr	0,A			; 0A55 50
		lis	1			; 0A56 71
		lr	5,A			; 0A57 55
		lr	6,A			; 0A58 56
		lr	3,A			; 0A59 53
		lr	A,HL			; 0A5A 4B
		sl	4			; 0A5B 15
		lisu	3			; 0A5C 63
		lisl	1			; 0A5D 69
		bm	L0A62			; 0A5E 91 03
		lisu	2			; 0A60 62
		lisl	4			; 0A61 6C
L0A62:
		lr	A,I			; 0A62 4D
		lr	1,A			; 0A63 51
		lr	A,D			; 0A64 4E
		lr	2,A			; 0A65 52
		li	$C0			; 0A66 20 C0
		lr	4,A			; 0A68 54
		lisu	0			; 0A69 60
		lisl	0			; 0A6A 68
		pi	L0CC4			; 0A6B 28 0C C4
		lr	A,HL			; 0A6E 4B
		sl	4			; 0A6F 15
		sr	1			; 0A70 12
		sl	4			; 0A71 15
		bp	L0A76			; 0A72 81 03
		lr	P,K			; 0A74 09
		pop				; 0A75 1C

L0A76:
		clr				; 0A76 70
		as	0			; 0A77 C0
		bm	L0A7C			; 0A78 91 03
		br	L0A0F			; 0A7A 90 94
L0A7C:
		lr	A,HL			; 0A7C 4B
		sl	4			; 0A7D 15
		bm	L0A83			; 0A7E 91 04
		jmp	L0B6B			; 0A80 29 0B 6B

L0A83:
		lr	A,HL			; 0A83 4B
		ni	$F7			; 0A84 21 F7
		lr	HL,A			; 0A86 5B
		jmp	L08F7			; 0A87 29 08 F7

L0A8A:
		lr	K,P			; 0A8A 08
		lr	A,5			; 0A8B 45
		lr	8,A			; 0A8C 58
		lr	A,I			; 0A8D 4D
		lr	A,I			; 0A8E 4D
		lr	0,A			; 0A8F 50
		lr	A,D			; 0A90 4E
		lr	1,A			; 0A91 51
		lr	A,IS			; 0A92 0A
		xi	8			; 0A93 23 08
		lr	IS,A			; 0A95 0B
		lr	A,I			; 0A96 4D
		com				; 0A97 18
		inc				; 0A98 1F
		as	0			; 0A99 C0
		bm	L0ACE			; 0A9A 91 33
		lr	9,A			; 0A9C 59
		sl	1			; 0A9D 13
		sr	4			; 0A9E 14
		bnz	L0ACE			; 0A9F 94 2E
		lr	A,D			; 0AA1 4E
		com				; 0AA2 18
		inc				; 0AA3 1F
		as	1			; 0AA4 C1
		bm	L0ACE			; 0AA5 91 28
		lr	HU,A			; 0AA7 5A
		sl	1			; 0AA8 13
		sr	4			; 0AA9 14
		bnz	L0ACE			; 0AAA 94 23
		lis	8			; 0AAC 78
		xs	HL			; 0AAD EB
		sl	4			; 0AAE 15
		pi	L0C9F			; 0AAF 28 0C 9F
		lr	A,D			; 0AB2 4E
		lr	A,S			; 0AB3 4C
		sl	4			; 0AB4 15
		sr	1			; 0AB5 12
		dci	L0DE0			; 0AB6 2A 0D E0
		adc				; 0AB9 8E
		lr	A,S			; 0ABA 4C
		ni	$10			; 0ABB 21 10
		lr	A,HU			; 0ABD 4A
		bz	L0AC2			; 0ABE 84 03
		xi	7			; 0AC0 23 07
L0AC2:
		adc				; 0AC2 8E
		li	$80			; 0AC3 20 80
L0AC5:
		ds	9			; 0AC5 39
		bm	L0ACB			; 0AC6 91 04
		sr	1			; 0AC8 12
		br	L0AC5			; 0AC9 90 FB
L0ACB:
		nm				; 0ACB 8A
		bnz	L0ADA			; 0ACC 94 0D
L0ACE:
		lr	A,HL			; 0ACE 4B
		sl	4			; 0ACF 15
		lisu	2			; 0AD0 62
		lisl	3			; 0AD1 6B
		bp	L0AD6			; 0AD2 81 03
		lisu	3			; 0AD4 63
		lisl	0			; 0AD5 68
L0AD6:
		lr	A,8			; 0AD6 48
		lr	5,A			; 0AD7 55
		lr	P,K			; 0AD8 09
		pop				; 0AD9 1C

L0ADA:
		lr	A,HL			; 0ADA 4B
		ni	$BF			; 0ADB 21 BF
		lr	HL,A			; 0ADD 5B
		pi	L0835			; 0ADE 28 08 35
		lisu	3			; 0AE1 63
		lisl	0			; 0AE2 68
		pi	L0C93			; 0AE3 28 0C 93
		lis	9			; 0AE6 79
		xs	HL			; 0AE7 EB
		lr	HL,A			; 0AE8 5B
		pi	L0A54			; 0AE9 28 0A 54
		lisu	2			; 0AEC 62
		lisl	3			; 0AED 6B
		pi	L0C93			; 0AEE 28 0C 93
		lis	8			; 0AF1 78
		xs	HL			; 0AF2 EB
		lr	HL,A			; 0AF3 5B
		pi	L0A54			; 0AF4 28 0A 54
		lis	1			; 0AF7 71
		xs	HL			; 0AF8 EB
		lr	HL,A			; 0AF9 5B
L0AFA:
		lr	A,HL			; 0AFA 4B
		sl	4			; 0AFB 15
		com				; 0AFC 18
		li	$80			; 0AFD 20 80
		bp	L0B03			; 0AFF 81 03
		li	$40			; 0B01 20 40
L0B03:
		outs	5			; 0B03 B5
		pi	L0C9F			; 0B04 28 0C 9F
		dci	L0DE0			; 0B07 2A 0D E0
		pi	L0CA8			; 0B0A 28 0C A8
		lr	A,HL			; 0B0D 4B
		sl	4			; 0B0E 15
		lisu	2			; 0B0F 62
		lisl	0			; 0B10 68
		bm	L0B15			; 0B11 91 03
		lisu	3			; 0B13 63
		lisl	3			; 0B14 6B
L0B15:
		lr	A,S			; 0B15 4C
		inc				; 0B16 1F
		ni	$F			; 0B17 21 0F
		lr	0,A			; 0B19 50
		li	$10			; 0B1A 20 10
		ns	S			; 0B1C FC
		as	0			; 0B1D C0
		lr	S,A			; 0B1E 5C
		lis	4			; 0B1F 74
		lr	5,A			; 0B20 55
		pi	delay			; 0B21 28 00 8F
		lr	A,HL			; 0B24 4B
		sl	4			; 0B25 15
		com				; 0B26 18
		dci	L0E88			; 0B27 2A 0E 88
		pi	L0C9F			; 0B2A 28 0C 9F
		clr				; 0B2D 70
		lr	0,A			; 0B2E 50
		outs	5			; 0B2F B5
		pi	L0CA8			; 0B30 28 0C A8
		lr	A,HL			; 0B33 4B
		sl	4			; 0B34 15
		lisu	2			; 0B35 62
		lisl	2			; 0B36 6A
		bm	L0B3B			; 0B37 91 03
		lisu	3			; 0B39 63
		lisl	5			; 0B3A 6D
L0B3B:
		lr	A,S			; 0B3B 4C
		ci	$33			; 0B3C 25 33
		bz	L0B46			; 0B3E 84 07
		inc				; 0B40 1F
		ni	$3F			; 0B41 21 3F
		lr	S,A			; 0B43 5C
		br	L0AFA			; 0B44 90 B5
L0B46:
		lr	A,D			; 0B46 4E
		lr	A,S			; 0B47 4C
		ci	$33			; 0B48 25 33
		bz	L0B55			; 0B4A 84 0A
		lis	1			; 0B4C 71
		bp	L0B51			; 0B4D 81 03
		com				; 0B4F 18
		inc				; 0B50 1F
L0B51:
		as	S			; 0B51 CC
		lr	S,A			; 0B52 5C
		br	L0AFA			; 0B53 90 A6
L0B55:
		ins	5			; 0B55 A5
		ni	$3F			; 0B56 21 3F
		outs	5			; 0B58 B5
		lisu	6			; 0B59 66
		lisl	1			; 0B5A 69
		lr	A,S			; 0B5B 4C
		sl	1			; 0B5C 13
		sr	1			; 0B5D 12
		lr	I,A			; 0B5E 5D
		lr	A,S			; 0B5F 4C
		sl	1			; 0B60 13
		sr	1			; 0B61 12
		lr	S,A			; 0B62 5C
		lr	A,HL			; 0B63 4B
		sl	4			; 0B64 15
		lisu	2			; 0B65 62
		bp	L0B69			; 0B66 81 02
		lisu	3			; 0B68 63
L0B69:
		br	L0B91			; 0B69 90 27
L0B6B:
		lr	A,HL			; 0B6B 4B
		oi	8			; 0B6C 22 08
		lr	HL,A			; 0B6E 5B
		lisu	6			; 0B6F 66
		lisl	2			; 0B70 6A
		clr				; 0B71 70
		as	I			; 0B72 CD
		bp	L0B78			; 0B73 81 04
		jmp	L0A0C			; 0B75 29 0A 0C

L0B78:
		clr				; 0B78 70
		as	D			; 0B79 CE
		bp	L0B85			; 0B7A 81 0A
		clr				; 0B7C 70
		lr	S,A			; 0B7D 5C
L0B7E:
		lr	A,HL			; 0B7E 4B
		ni	$F7			; 0B7F 21 F7
		lr	HL,A			; 0B81 5B
		jmp	L08F7			; 0B82 29 08 F7

L0B85:
		lr	A,S			; 0B85 4C
		sl	1			; 0B86 13
		bm	L0B7E			; 0B87 91 F6
		li	$80			; 0B89 20 80
		as	S			; 0B8B CC
		lr	I,A			; 0B8C 5D
		lisu	3			; 0B8D 63
		jmp	L09DE			; 0B8E 29 09 DE

L0B91:
		lr	A,IS			; 0B91 0A
		lr	0,A			; 0B92 50
		lr	A,HL			; 0B93 4B
		sl	1			; 0B94 13
		sl	1			; 0B95 13
		bp	L0BAF			; 0B96 81 18
		lr	A,IS			; 0B98 0A
		sl	1			; 0B99 13
		sr	4			; 0B9A 14
		ci	2			; 0B9B 25 02
		lisu	7			; 0B9D 67
		lisl	0			; 0B9E 68
		bnz	L0BA8			; 0B9F 94 08
		ds	S			; 0BA1 3C
		bnz	L0BAF			; 0BA2 94 0C
		lis	1			; 0BA4 71
		lr	S,A			; 0BA5 5C
		br	L0BAF			; 0BA6 90 08
L0BA8:
		lr	A,S			; 0BA8 4C
		inc				; 0BA9 1F
		ci	$10			; 0BAA 25 10
		bz	L0BAF			; 0BAC 84 02
		lr	S,A			; 0BAE 5C
L0BAF:
		lr	A,0			; 0BAF 40
		lr	IS,A			; 0BB0 0B
		lisl	6			; 0BB1 6E
		li	$67			; 0BB2 20 67
		asd	S			; 0BB4 DC
		lr	S,A			; 0BB5 5C
		ci	0			; 0BB6 25 00
		bnz	L0BBF			; 0BB8 94 06
		lr	I,A			; 0BBA 5D
		li	$67			; 0BBB 20 67
		asd	S			; 0BBD DC
		lr	S,A			; 0BBE 5C
L0BBF:
		lr	A,HL			; 0BBF 4B
		oi	1			; 0BC0 22 01
		lr	HL,A			; 0BC2 5B
		dci	L0E88			; 0BC3 2A 0E 88
		pi	L0C8E			; 0BC6 28 0C 8E
		clr				; 0BC9 70
		lr	0,A			; 0BCA 50
		pi	L0CA8			; 0BCB 28 0C A8
		dci	L0E88			; 0BCE 2A 0E 88
		lis	8			; 0BD1 78
		sl	4			; 0BD2 15
		pi	L0C9F			; 0BD3 28 0C 9F
		clr				; 0BD6 70
		lr	0,A			; 0BD7 50
		pi	L0CA8			; 0BD8 28 0C A8
		pi	L0861			; 0BDB 28 08 61
L0BDE:
		lr	A,HL			; 0BDE 4B
		ni	$20			; 0BDF 21 20
		lr	HL,A			; 0BE1 5B
L0BE2:
		lr	A,HL			; 0BE2 4B
		sl	4			; 0BE3 15
		lisu	7			; 0BE4 67
		bm	L0BE8			; 0BE5 91 02
		lisu	3			; 0BE7 63
L0BE8:
		lisl	7			; 0BE8 6F
		li	$1B			; 0BE9 20 1B
		lr	1,A			; 0BEB 51
		li	$33			; 0BEC 20 33
		lr	2,A			; 0BEE 52
		lr	A,D			; 0BEF 4E
		ni	$F			; 0BF0 21 0F
		ai	$80			; 0BF2 24 80
		lr	0,A			; 0BF4 50
		pi	drawchar		; 0BF5 28 06 79
		lr	A,S			; 0BF8 4C
		sr	4			; 0BF9 14
		ai	$80			; 0BFA 24 80
		lr	0,A			; 0BFC 50
		pi	drawchar		; 0BFD 28 06 79
		lr	A,S			; 0C00 4C
		ni	$F			; 0C01 21 0F
		ai	$80			; 0C03 24 80
		lr	0,A			; 0C05 50
		pi	drawchar		; 0C06 28 06 79
		lr	A,HL			; 0C09 4B
		sl	4			; 0C0A 15
		lisu	7			; 0C0B 67
		bm	L0C0F			; 0C0C 91 02
		lisu	2			; 0C0E 62
L0C0F:
		lisl	7			; 0C0F 6F
		li	$47			; 0C10 20 47
		lr	1,A			; 0C12 51
		li	$33			; 0C13 20 33
		lr	2,A			; 0C15 52
		lr	A,D			; 0C16 4E
		ni	$F			; 0C17 21 0F
		ai	$40			; 0C19 24 40
		lr	0,A			; 0C1B 50
		pi	drawchar		; 0C1C 28 06 79
		lr	A,S			; 0C1F 4C
		sr	4			; 0C20 14
		ai	$40			; 0C21 24 40
		lr	0,A			; 0C23 50
		pi	drawchar		; 0C24 28 06 79
		lr	A,S			; 0C27 4C
		ni	$F			; 0C28 21 0F
		ai	$40			; 0C2A 24 40
		lr	0,A			; 0C2C 50
		pi	drawchar		; 0C2D 28 06 79
		lr	A,HL			; 0C30 4B
		sl	4			; 0C31 15
		bm	L0C4F			; 0C32 91 1C
		clr				; 0C34 70
		lr	6,A			; 0C35 56
		pi	delay			; 0C36 28 00 8F
		clr				; 0C39 70
		lr	6,A			; 0C3A 56
		pi	delay			; 0C3B 28 00 8F
		clr				; 0C3E 70
		lr	6,A			; 0C3F 56
		pi	delay			; 0C40 28 00 8F
		lisu	7			; 0C43 67
		lisl	7			; 0C44 6F
		li	$DD			; 0C45 20 DD
		lr	D,A			; 0C47 5E
		lr	S,A			; 0C48 5C
		lr	A,HL			; 0C49 4B
		oi	8			; 0C4A 22 08
		lr	HL,A			; 0C4C 5B
		br	L0BE2			; 0C4D 90 94
L0C4F:
		lr	A,HL			; 0C4F 4B
		ni	$20			; 0C50 21 20
		lr	HL,A			; 0C52 5B
		jmp	L08D1			; 0C53 29 08 D1

L0C56:
		dci	L0E78			; 0C56 2A 0E 78
		lr	A,S			; 0C59 4C
		ni	$F			; 0C5A 21 0F
		adc				; 0C5C 8E
		lr	A,I			; 0C5D 4D
		ni	$10			; 0C5E 21 10
		sr	1			; 0C60 12
		sl	4			; 0C61 15
		am				; 0C62 88
		lr	0,A			; 0C63 50
		lr	A,I			; 0C64 4D
		lr	J,W			; 0C65 1E
		clr				; 0C66 70
		as	HL			; 0C67 CB
		lr	A,0			; 0C68 40
		bp	L0C6C			; 0C69 81 02
		sr	1			; 0C6B 12
L0C6C:
		sr	4			; 0C6C 14
		ni	1			; 0C6D 21 01
		lr	W,J			; 0C6F 1D
		bp	L0C74			; 0C70 81 03
		com				; 0C72 18
		inc				; 0C73 1F
L0C74:
		as	S			; 0C74 CC
		ni	$3F			; 0C75 21 3F
		lr	D,A			; 0C77 5E
		lr	A,0			; 0C78 40
		sl	4			; 0C79 15
		lr	J,W			; 0C7A 1E
		sr	4			; 0C7B 14
		clr				; 0C7C 70
		as	HL			; 0C7D CB
		lr	A,0			; 0C7E 40
		bp	L0C82			; 0C7F 81 02
		sr	1			; 0C81 12
L0C82:
		ni	1			; 0C82 21 01
		lr	W,J			; 0C84 1D
		bp	L0C89			; 0C85 81 03
		com				; 0C87 18
		inc				; 0C88 1F
L0C89:
		as	S			; 0C89 CC
		ni	$7F			; 0C8A 21 7F
		lr	S,A			; 0C8C 5C
		pop				; 0C8D 1C

L0C8E:
		li	$40			; 0C8E 20 40
		lr	4,A			; 0C90 54
		lisu	2			; 0C91 62
		lisl	0			; 0C92 68
L0C93:
		li	8			; 0C93 20 08
		lr	5,A			; 0C95 55
		lr	6,A			; 0C96 56
		lr	3,A			; 0C97 53
L0C98:
		lr	A,I			; 0C98 4D
		lr	0,A			; 0C99 50
		lr	A,I			; 0C9A 4D
		lr	1,A			; 0C9B 51
		lr	A,D			; 0C9C 4E
		lr	2,A			; 0C9D 52
		pop				; 0C9E 1C

L0C9F:
		bp	L0C8E			; 0C9F 81 EE
		li	$80			; 0CA1 20 80
		lr	4,A			; 0CA3 54
		lisu	3			; 0CA4 63
		lisl	3			; 0CA5 6B
		br	L0C93			; 0CA6 90 EC
L0CA8:
		lisu	4			; 0CA8 64
		lisl	0			; 0CA9 68
		lr	A,0			; 0CAA 40
		sl	4			; 0CAB 15
		sr	1			; 0CAC 12
		adc				; 0CAD 8E
		lr	A,0			; 0CAE 40
		ni	$10			; 0CAF 21 10
		bnz	L0CBB			; 0CB1 94 09
L0CB3:
		lm				; 0CB3 16
		lr	I,A			; 0CB4 5D
		br7	L0CB3			; 0CB5 8F FD
		lm				; 0CB7 16
		lr	I,A			; 0CB8 5D
		br	L0CC4			; 0CB9 90 0A
L0CBB:
		lisl	7			; 0CBB 6F
L0CBC:
		lm				; 0CBC 16
		lr	D,A			; 0CBD 5E
		br7	L0CBC			; 0CBE 8F FD
		lisl	0			; 0CC0 68
		br	L0CC4			; 0CC1 90 02
L0CC3:
		lr	5,A			; 0CC3 55
L0CC4:
		lr	A,2			; 0CC4 42
		com				; 0CC5 18
		ni	$3F			; 0CC6 21 3F
		lr	8,A			; 0CC8 58
		ins	5			; 0CC9 A5
		ni	$C0			; 0CCA 21 C0
		as	8			; 0CCC C8
		outs	5			; 0CCD B5
		lr	A,I			; 0CCE 4D
		lr	7,A			; 0CCF 57
L0CD0:
		lr	A,1			; 0CD0 41
		com				; 0CD1 18
		outs	4			; 0CD2 B4
		lr	A,7			; 0CD3 47
		oi	0			; 0CD4 22 00
		lr	A,4			; 0CD6 44
		bm	L0CDA			; 0CD7 91 02
		clr				; 0CD9 70
L0CDA:
		com				; 0CDA 18
		outs	1			; 0CDB B1
		lr	A,7			; 0CDC 47
		sl	1			; 0CDD 13
		lr	7,A			; 0CDE 57
		li	$60			; 0CDF 20 60
		outs	0			; 0CE1 B0
		li	$50			; 0CE2 20 50
		outs	0			; 0CE4 B0
		lr	A,1			; 0CE5 41
		inc				; 0CE6 1F
		lr	1,A			; 0CE7 51
		lis	4			; 0CE8 74
		lr	8,A			; 0CE9 58
L0CEA:
		ds	8			; 0CEA 38
		bnz	L0CEA			; 0CEB 94 FE
		ds	5			; 0CED 35
		bnz	L0CD0			; 0CEE 94 E1
		lr	A,2			; 0CF0 42
		inc				; 0CF1 1F
		lr	2,A			; 0CF2 52
		lr	A,3			; 0CF3 43
		ni	$F			; 0CF4 21 0F
		com				; 0CF6 18
		inc				; 0CF7 1F
		as	1			; 0CF8 C1
		lr	1,A			; 0CF9 51
		lr	A,3			; 0CFA 43
		ds	6			; 0CFB 36
		bnz	L0CC3			; 0CFC 94 C6
		clr				; 0CFE 70
		outs	1			; 0CFF B1
		outs	0			; 0D00 B0
		pop				; 0D01 1C

L0D02:
		lr	A,HL			; 0D02 4B
		sl	1			; 0D03 13
		bp	L0D73			; 0D04 81 6E
		sl	4			; 0D06 15
		bm	L0D73			; 0D07 91 6B
		lisu	6			; 0D09 66
		lisl	2			; 0D0A 6A
		clr				; 0D0B 70
		as	I			; 0D0C CD
		bp	L0D15			; 0D0D 81 07
		li	$FF			; 0D0F 20 FF
		lr	S,A			; 0D11 5C
		jmp	L0DA8			; 0D12 29 0D A8

L0D15:
		lr	A,HL			; 0D15 4B
		sl	1			; 0D16 13
		sl	1			; 0D17 13
		sl	4			; 0D18 15
		bp	L0D1E			; 0D19 81 04
		jmp	L0DBE			; 0D1B 29 0D BE

L0D1E:
		lisu	3			; 0D1E 63
		lisl	5			; 0D1F 6D
		lr	A,D			; 0D20 4E
		com				; 0D21 18
		inc				; 0D22 1F
		lr	0,A			; 0D23 50
		lr	A,I			; 0D24 4D
		com				; 0D25 18
		inc				; 0D26 1F
		lr	1,A			; 0D27 51
		lisu	2			; 0D28 62
		lisl	2			; 0D29 6A
		lr	A,D			; 0D2A 4E
		as	0			; 0D2B C0
		lr	0,A			; 0D2C 50
		lr	A,D			; 0D2D 4E
		as	1			; 0D2E C1
		lr	1,A			; 0D2F 51
		clr				; 0D30 70
		as	0			; 0D31 C0
		bm	L0D36			; 0D32 91 03
		com				; 0D34 18
		inc				; 0D35 1F
L0D36:
		ai	2			; 0D36 24 02
		bm	L0D40			; 0D38 91 07
		lisu	3			; 0D3A 63
		lisl	3			; 0D3B 6B
		lis	7			; 0D3C 77
		ns	S			; 0D3D FC
		bz	L0DAB			; 0D3E 84 6C
L0D40:
		clr				; 0D40 70
		as	1			; 0D41 C1
		bm	L0D46			; 0D42 91 03
		com				; 0D44 18
		inc				; 0D45 1F
L0D46:
		ai	2			; 0D46 24 02
		bm	L0D54			; 0D48 91 0B
		lisu	3			; 0D4A 63
		lisl	3			; 0D4B 6B
		lis	4			; 0D4C 74
		xs	S			; 0D4D EC
		lis	$C			; 0D4E 7C
		bz	L0DAB			; 0D4F 84 5B
		xs	S			; 0D51 EC
		bz	L0DAB			; 0D52 84 58
L0D54:
		lisl	0			; 0D54 68
		lisu	5			; 0D55 65
		lr	A,0			; 0D56 40
		lr	I,A			; 0D57 5D
		lr	A,1			; 0D58 41
		lr	D,A			; 0D59 5E
		clr				; 0D5A 70
		as	I			; 0D5B CD
		lis	4			; 0D5C 74
		bp	L0D84			; 0D5D 81 26
		lr	0,A			; 0D5F 50
		clr				; 0D60 70
		as	S			; 0D61 CC
		lr	J,W			; 0D62 1E
		com				; 0D63 18
		inc				; 0D64 1F
		lr	D,A			; 0D65 5E
		lr	W,J			; 0D66 1D
		lis	2			; 0D67 72
		bm	L0D95			; 0D68 91 2C
		lr	A,S			; 0D6A 4C
		com				; 0D6B 18
		inc				; 0D6C 1F
		lr	S,A			; 0D6D 5C
		lis	2			; 0D6E 72
		com				; 0D6F 18
		inc				; 0D70 1F
		br	L0D95			; 0D71 90 23
L0D73:
		lr	A,HL			; 0D73 4B
		oi	4			; 0D74 22 04
		lr	HL,A			; 0D76 5B
		clr				; 0D77 70
		lr	0,A			; 0D78 50
		lisu	3			; 0D79 63
		lisl	1			; 0D7A 69
		lr	A,S			; 0D7B 4C
		asd	I			; 0D7C DD
		as	S			; 0D7D CC
		lisu	1			; 0D7E 61
		as	S			; 0D7F CC
		ni	$F			; 0D80 21 0F
		br	L0D95			; 0D82 90 12
L0D84:
		lis	$C			; 0D84 7C
		lr	0,A			; 0D85 50
		clr				; 0D86 70
		as	D			; 0D87 CE
		lr	J,W			; 0D88 1E
		lr	A,S			; 0D89 4C
		com				; 0D8A 18
		inc				; 0D8B 1F
		lr	W,J			; 0D8C 1D
		bm	L0D90			; 0D8D 91 02
		lr	S,A			; 0D8F 5C
L0D90:
		lis	2			; 0D90 72
		bp	L0D95			; 0D91 81 03
		com				; 0D93 18
		inc				; 0D94 1F
L0D95:
		as	0			; 0D95 C0
		lisu	5			; 0D96 65
		lisl	3			; 0D97 6B
		lr	S,A			; 0D98 5C
		com				; 0D99 18
		inc				; 0D9A 1F
		lisu	3			; 0D9B 63
		as	S			; 0D9C CC
		bz	L0DAB			; 0D9D 84 0D
		sl	4			; 0D9F 15
		li	$F7			; 0DA0 20 F7
		bp	L0DA6			; 0DA2 81 03
		xi	$C			; 0DA4 23 0C
L0DA6:
		lisu	6			; 0DA6 66
		lr	S,A			; 0DA7 5C
L0DA8:
		jmp	L097E			; 0DA8 29 09 7E

L0DAB:
		lr	A,HL			; 0DAB 4B
		sl	1			; 0DAC 13
		sl	4			; 0DAD 15
		lr	A,HL			; 0DAE 4B
		bm	L0DB9			; 0DAF 91 09
		lisu	6			; 0DB1 66
		lisl	3			; 0DB2 6B
		li	$7F			; 0DB3 20 7F
		lr	S,A			; 0DB5 5C
		lr	A,HL			; 0DB6 4B
		oi	2			; 0DB7 22 02
L0DB9:
		ni	$FB			; 0DB9 21 FB
		lr	HL,A			; 0DBB 5B
		br	L0DA8			; 0DBC 90 EB
L0DBE:
		lisu	5			; 0DBE 65
		lisl	0			; 0DBF 68
		lr	A,I			; 0DC0 4D
		as	S			; 0DC1 CC
		lis	1			; 0DC2 71
		bp	L0DC7			; 0DC3 81 03
		com				; 0DC5 18
		inc				; 0DC6 1F
L0DC7:
		lisu	3			; 0DC7 63
		lisl	3			; 0DC8 6B
		as	S			; 0DC9 CC
		ni	$F			; 0DCA 21 0F
		lr	S,A			; 0DCC 5C
		lisu	6			; 0DCD 66
		li	$7F			; 0DCE 20 7F
		lr	S,A			; 0DD0 5C
		lr	A,HL			; 0DD1 4B
		ni	$FD			; 0DD2 21 FD
		lr	HL,A			; 0DD4 5B
		br	L0DA8			; 0DD5 90 D2

L0DD7:
		.byte	$00, $30, $2E, $01, $33, $2E, $02, $31, $33					; 0DD7	object/parameter triples


		; aeroplane sprites 8x8, full loop 

L0DE0:
		.byte	%00000000			; 0DE0 00	right
		.byte	%01000000
		.byte	%01100000
		.byte	%01111101
		.byte	%01111111
		.byte	%01111101
		.byte	%00000000
		.byte	%00000000

		.byte	%00000000			; 0DE8 00	first angle up
		.byte	%00000010
		.byte	%00001111
		.byte	%01011101
		.byte	%01111000
		.byte	%01110000
		.byte	%00000000
		.byte	%00000000

		.byte	%00000100			; 0DF0 04	second angle up
		.byte	%00000010
		.byte	%00001101
		.byte	%01011100
		.byte	%01111000
		.byte	%01110000
		.byte	%00100000
		.byte	%00000000

		.byte	%00001100			; 0DF8 0C	third angle up
		.byte	%00000110
		.byte	%00001100
		.byte	%00011100
		.byte	%01011000
		.byte	%01111000
		.byte	%00110000
		.byte	%00000000

		.byte	%00011100			; 0E00 1C	up
		.byte	%00001000
		.byte	%00011100
		.byte	%00011100
		.byte	%00011100
		.byte	%00111100
		.byte	%01111100
		.byte	%00000000

		.byte	%00110000			; 0E08 30	loop 3
		.byte	%01100000
		.byte	%00110000
		.byte	%00111000
		.byte	%00011100
		.byte	%00001100
		.byte	%00011100
		.byte	%00000000

		.byte	%00100000			; 0E10 20	loop 3
		.byte	%01000000
		.byte	%10110000
		.byte	%00111000
		.byte	%00011100
		.byte	%00001110
		.byte	%00011100
		.byte	%00000000

		.byte	%00000000			; 0E18 00	loop 3
		.byte	%01000000
		.byte	%11110000
		.byte	%10111100
		.byte	%00011110
		.byte	%00001110
		.byte	%00011100
		.byte	%00000000

		.byte	%00000000			; 0E20 00	left up-side-down
		.byte	%00000000
		.byte	%10111110
		.byte	%11111110
		.byte	%10111110
		.byte	%00000110
		.byte	%00000010
		.byte	%00000000

		.byte	%00000000			; 0E28 00	loop down 1
		.byte	%00000000
		.byte	%00001110
		.byte	%00011110
		.byte	%10111010
		.byte	%11110000
		.byte	%01000000
		.byte	%00000000

		.byte	%00000000			; 0E30 00	loop down 2
		.byte	%00000100
		.byte	%00001110
		.byte	%00011110
		.byte	%00111010
		.byte	%10110000
		.byte	%01000000
		.byte	%00100000

		.byte	%00000000			; 0E38 00	loop down 3
		.byte	%00001100
		.byte	%00011110
		.byte	%00011010
		.byte	%00111000
		.byte	%00110000
		.byte	%01100000
		.byte	%00110000

		.byte	%00000000			; 0E40 00	straight down
		.byte	%00111110
		.byte	%00111100
		.byte	%00111000
		.byte	%00111000
		.byte	%00111000
		.byte	%00010000
		.byte	%00111000

		.byte	%00000000			; 0E48 00	loop up 1
		.byte	%00111000
		.byte	%00110000
		.byte	%00111000
		.byte	%00011100
		.byte	%00001100
		.byte	%00000110
		.byte	%00001100

		.byte	%00000000			; 0E50 00	loop up 2
		.byte	%00111000
		.byte	%01110000
		.byte	%00111000
		.byte	%00011100
		.byte	%00001101
		.byte	%00000010
		.byte	%00000100

		.byte	%00000000			; 0E58 00	loop up 3
		.byte	%00110000
		.byte	%01100000
		.byte	%01111000
		.byte	%00111101
		.byte	%00001111
		.byte	%00000010
		.byte	%00000000



		; flight tower image 8x8 parts

L0E60:
L0E60:
		.byte	%00001110			; 0E60 0E
		.byte	%11111111
		.byte	%11111111
		.byte	%00111111
		.byte	%00101010
		.byte	%00101110
		.byte	%00101010
		.byte	%00101110

		.byte	%01110000			; 0E68 70
		.byte	%11111111
		.byte	%11111111
		.byte	%11111100
		.byte	%01010100
		.byte	%01110100
		.byte	%01010100
		.byte	%01110100

		.byte	%01011101			; 0E70 5D
		.byte	%01010101
		.byte	%01011101
		.byte	%01010101
		.byte	%01011101
		.byte	%01010101
		.byte	%01011101
		.byte	%01010101

L0E78:
		.byte	$03, $A3, $B3, $B2, $B0, $BA, $BB, $AB, $0B, $2B, $3B, $3A, $30, $32, $33, $23	; 0E78	16 byte look-up

L0E88:
		.byte	$00, $00, $00, $00, $00, $00, $00, $00						; 0E88	clear sprite

L0E90:
		.byte	$0C, $09, $06, $2B, $03								; 0E90	parameter table

L0E95:
		.byte	$43, $33, $34, $44								; 0E95	lookup table

L0E99:
		dci	L0FD0			; 0E99 2A 0F D0	Jumps here after button 3 is pressed at prompt, set keypress data pointer
L0E9C:
		li	$8A			; 0E9C 20 8A
		lr	0,A			; 0E9E 50	$8A in r0 (RED G)
		lr	Q,DC			; 0E9F 0E	Load DC0 address in Q,backup address
		pi	prompt			; 0EA0 28 00 99	Jump to BIOS subroutine prompt + read buttons
		lr	DC,Q			; 0EA3 0F	Restore address to DC again
		lr	A,4			; 0EA4 44	Fetch collected button press
		cm				; 0EA5 8D	Compare memory and A by doing ((DC0))-A but only set flags, A is untouched. DC0 is increased
		bnz	L0ED3			; 0EA6 94 2C	If they're not the same, reboot the cartridge
		lr	H,DC			; 0EA8 11	Store current DC0 address in H this time (r10 and r11)
		lr	A,HU			; 0EA9 4A	Load upper part of H in A
		ci	$10			; 0EAA 25 10	Check if DC0 address rolled over from $0F to $10
		bnz	L0E9C			; 0EAC 94 EF	If it didn't, repeat the above (press the button same as the data) until you do.
		li	$10			; 0EAE 20 10	***** DRAW SECRET MESSAGE *****
		lr	1,A			; 0EB0 51	X coordinate $10 in r1
		li	$13			; 0EB1 20 13
		lr	2,A			; 0EB3 52	Y coordinate $13 in r2
		dci	L0ED6			; 0EB4 2A 0E D6	Point data counter to graphics
		lis	7			; 0EB7 77
		lr	4,A			; 0EB8 54	8 letters, amount in r4 (DONE BY )
L0EB9:
		li	$80			; 0EB9 20 80
		lr	0,A			; 0EBB 50	$80 in 0 - RED color
		pi	$067C			; 0EBC 28 06 7C	Subroutine jump to BIOS drawchar...
		ds	4			; 0EBF 34
		bnz	L0EB9			; 0EC0 94 F8	Loop if there's letters left
		li	$10			; 0EC2 20 10
		lr	1,A			; 0EC4 51	X coordinate $10
		li	$1A			; 0EC5 20 1A
		lr	2,A			; 0EC7 52	Y coordinate $1A
		lis	$F			; 0EC8 7F
		lr	4,A			; 0EC9 54	16 letters to write, loaded in r4 (MICHAEL K GLASS)
L0ECA:
		li	$40			; 0ECA 20 40
		lr	0,A			; 0ECC 50	Blue color set in r0
		pi	$067C			; 0ECD 28 06 7C	Subroutine jump to BIOS drawchar...
		ds	4			; 0ED0 34	Decrease r4
		bnz	L0ECA			; 0ED1 94 F8	Repeat if not yet 0
L0ED3:
		jmp	L0802			; 0ED3 29 08 02	Reboot cartridge

		; Graphics data starts here 5x5 pixels, one row per byte.
L0ED6:
		.byte	%11100000		; 0ED6 E0	; D
		.byte	%10010000
		.byte	%10001000
		.byte	%10010000
		.byte	%11100000

		.byte	%11111000		; 0EDB F8	; O
		.byte	%10001000
		.byte	%10001000
		.byte	%10001000
		.byte	%11111000

		.byte	%10001000		; 0EE0 88	; N
		.byte	%11001000
		.byte	%10101000
		.byte	%10011000
		.byte	%10001000

		.byte	%11111000		; 0EE5 F8	; E
		.byte	%10000000
		.byte	%11100000
		.byte	%10000000
		.byte	%11111000

		.byte	%00000000		; 0EEA 00	; space
		.byte	%00000000
		.byte	%00000000
		.byte	%00000000
		.byte	%00000000

		.byte	%11110000		; 0EEF F0	; B
		.byte	%10001000
		.byte	%11110000
		.byte	%10001000
		.byte	%11110000

		.byte	%10001000		; 0EF4 88	; Y
		.byte	%01010000
		.byte	%00100000
		.byte	%00100000
		.byte	%00100000

		.byte	%10001000		; 0EF9 88	; M
		.byte	%11011000
		.byte	%10101000
		.byte	%10001000
		.byte	%10001000

		.byte	%11111000		; 0EFE F8	; I
		.byte	%00100000
		.byte	%00100000
		.byte	%00100000
		.byte	%11111000

		.byte	%11111000		; 0F03 F8	; C
		.byte	%10000000
		.byte	%10000000
		.byte	%10000000
		.byte	%11111000

		.byte	%10001000		; 0F08 88	; H
		.byte	%10001000
		.byte	%11111000
		.byte	%10001000
		.byte	%10001000

		.byte	%11111000		; 0F0D F8	; A
		.byte	%10001000
		.byte	%11111000
		.byte	%10001000
		.byte	%10001000

		.byte	%11111000		; 0F12 F8	; E
		.byte	%10000000
		.byte	%11100000
		.byte	%10000000
		.byte	%11111000

		.byte	%10000000		; 0F17 80	; L
		.byte	%10000000
		.byte	%10000000
		.byte	%10000000
		.byte	%11111000

		.byte	%00000000		; 0F1C 00	; space
		.byte	%00000000
		.byte	%00000000
		.byte	%00000000
		.byte	%00000000

		.byte	%10010000		; 0F21 90	; K
		.byte	%10100000
		.byte	%11000000
		.byte	%10100000
		.byte	%10010000

		.byte	%00000000		; 0F26 00	; space
		.byte	%00000000
		.byte	%00000000
		.byte	%00000000
		.byte	%00000000

		.byte	%11111000		; 0F2B F8	; G
		.byte	%10000000
		.byte	%10111000
		.byte	%10001000
		.byte	%11111000

		.byte	%10000000		; 0F30 80	; L
		.byte	%10000000
		.byte	%10000000
		.byte	%10000000
		.byte	%11110000

		.byte	%11111000		; 0F35 F8	; A
		.byte	%10001000
		.byte	%11111000
		.byte	%10001000
		.byte	%10001000

		.byte	%11111000		; 0F3A F8	; S
		.byte	%10000000
		.byte	%11111000
		.byte	%00001000
		.byte	%11111000

		.byte	%11111000		; 0F3F F8	; S
		.byte	%10000000
		.byte	%11111000
		.byte	%00001000
		.byte	%11111000

		.byte	%11111111		; 0F44 FF	; filler
		.byte	%11111111
		.byte	%11111111
		.byte	%11111111
		.byte	%11111111

		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F49
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F59
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F69
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F79
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F89
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0F99
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0FA9
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF	; 0FB9
		.byte	$FF, $FF, $FF, $FF, $FF, $FF, $FF						; 0FC9

	; Easter Egg keypresses needed after selecting the backdoor option with button 3
	; $01 means button 1, $02 means button 2, $04 means button 3, $08 means button 4

L0FD0:		.byte	$04, $08, $04, $02, $08, $02, $01, $02, $08, $01, $04, $04, $02, $04, $01, $08	; 0FD0
		.byte	$04, $02, $01, $08, $02, $04, $01, $08, $04, $02, $02, $01, $04, $02, $04, $08	; 0FE0
		.byte	$02, $04, $04, $08, $01, $01, $01, $02, $02, $04, $04, $02, $08, $08, $08, $04	; 0FF0

	; Decodes to sequence: 343 242 124 133 231 432 142 314 322 132 342 334 111 223 324 443 (after first pressing button 3)


		IF 0

Smart data report
=================
Mode:
 enabled by -s or /s
Memory range: $0800-$0FFF
Code bytes: 1551
Data bytes: 497

DCI data roots from reachable code:
  $0FD0 from $0E99
  $0ED6 from $0EB4
  $0DE0 from $0878
  $0DE0 from $0886
  $0DD7 from $0838
  $0E60 from $084D
  $0E88 from $0856
  $0E90 from $08C2
  $0E78 from $0C56
  $0E88 from $091C
  $0DE0 from $0913
  $0E95 from $09F3
  $0DE0 from $0AB6
  $0DE0 from $0B07
  $0E88 from $0B27
  $0E88 from $0BC3
  $0E88 from $0BCE

Data intervals emitted as .byte:
  $08CC-$08D0 (5 bytes)
  $0DD7-$0E98 (194 bytes)
  $0ED6-$0FFF (298 bytes)

		ENDIF

Here's how the plane sprites at $0DE0 looks as well as the following tower parts:

L0DE0 bitmap 8x128 scale16.png
L0E60 bitmap 8x24 scale24.png