Disassembly:Videocart 4
From veswiki
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: