; LOW CODE USED WITH CCP ; Used with GET/SUBMIT? 2000 ED 5B 06 00 í[.. LD DE,(&0006) ; Get pointer to top of TPA 2004 1B . DEC DE ; Point to last memory location 2005 21 72 21 !r! LD HL,&2172 2008 01 F8 00 .ø. LD BC,&00F8 ; Copy code to top of memory 200B ED B8 í¸ LDDR ; &2172-&F8=&207A 200D 13 . INC DE ; Point to start of relocated code 200E 62 b LD H,D ; Copy to HL 200F 6B k LD L,E 2010 E5 å PUSH HL ; Push to stack to RET to later 2011 01 80 00 ... LD BC,&0080 2014 2B + DEC HL 2015 70 p LD (HL),B 2016 2B + DEC HL 2017 71 q LD (HL),C ; Stack &0080 just below code 2018 ED 4B 3F 00 íK?. LD BC,(&003F) ; Get ??? 201C 2B + DEC HL 201D 70 p LD (HL),B 201E 2B + DEC HL 201F 71 q LD (HL),C ; Stack it below code 2020 ED 53 3F 00 íS?. LD (&003F),DE 2024 ED 4B D6 FF íKÖ. LD BC,(&FFD6) ; Get dest. of GetKey 2028 2B + DEC HL 2029 70 p LD (HL),B 202A 2B + DEC HL 202B 71 q LD (HL),C ; Stack it below code 202C ED 4B D3 FF íKÓ. LD BC,(&FFD3) ; Get dest. of ConStat 2030 2B + DEC HL 2031 70 p LD (HL),B 2032 2B + DEC HL 2033 71 q LD (HL),C ; Stack it below code 2034 ED 4B B5 FF íKµ. LD BC,(&FFB5) ; Get dest. of CCCPCS 2038 2B + DEC HL 2039 70 p LD (HL),B 203A 2B + DEC HL 203B 71 q LD (HL),C ; Stack it below code 203C ED 4B BB FF íK». LD BC,(&FFBB) ; Get dest. of CInstall 2040 2B + DEC HL 2041 70 p LD (HL),B 2042 2B + DEC HL 2043 71 q LD (HL),C ; Stack it below code 2044 01 64 FA .dú LD BC,&FA64 ; Address of ???? 2047 2B + DEC HL 2048 70 p LD (HL),B 2049 2B + DEC HL 204A 71 q LD (HL),C ; Stack it below code 204B 1E FF .. LD E,&FF 204D CD AC FD ͬý CALL &FDAC ; Read USER? 2050 2B + DEC HL 2051 77 w LD (HL),A ; Stack it below code 2052 01 EE FF .î. LD BC,&FFEE 2055 09 . ADD HL,BC ; Point to 18 bytes lower 2056 EB ë EX DE,HL ; Make it the dest 2057 21 5C 00 !\. LD HL,&005C 205A 01 10 00 ... LD BC,&0010 ; Stack FCB1 header below code 205D ED B0 í° LDIR 205F 21 70 FF !p. LD HL,&FF70 ; DE now points 18 byte higher 2062 19 . ADD HL,DE ; Point to 144 bytes lower 2063 D1 Ñ POP DE ; Get address of code 2064 ED 53 D6 FF íSÖ. LD (&FFD6),DE ; Make GetKey point to it 2068 11 66 FC .fü LD DE,&FC66 ; Address of XOR A:RET 206B ED 53 D3 FF íSÓ. LD (&FFD3),DE ; Make ConStat point to it 206F 11 E5 FC .åü LD DE,&FCE5 ; Address of XOR A:DEC A:RET 2072 ED 53 B5 FF íSµ. LD (&FFB5),DE ; Make CCCPCS point to it 2076 ED 53 BB FF íS». LD (&FFBB),DE ; Make CInstall point to it 207A C9 É RET ; Exit, returns HL=data start ; This code is copied to the top of memory: ; GetKey is redirected to here 207B DD E5 Ýå PUSH IX 207D FD E5 ýå PUSH IY 207F D5 Õ PUSH DE 2080 E5 å PUSH HL 2081 C5 Å PUSH BC 2082 DD 2A 3F 00 Ý*?. LD IX,(&003F) ; Get an address 2086 DD 6E F2 Ýnò LD L,(IX-&0E) 2089 DD 66 F3 Ýfó LD H,(IX-&0D) 208C 7E ~ LD A,(HL) 208D B7 · OR A 208E 28 09 (. JR Z,&2099 2090 2B + DEC HL 2091 DD 75 F2 Ýuò LD (IX-&0E),L 2094 DD 74 F3 Ýtó LD (IX-&0D),H 2097 18 2A .* JR &20C3 2099 FD 21 00 80 ý!.. LD IY,&8000 209D 18 32 .2 JR &20D1 209F FE 24 þ$ CP &24 20A1 20 20 JR NZ,&20C3 20A3 18 2C ., JR &20D1 20A5 FE 30 þ0 CP &30 20A7 38 1A 8. JR C,&20C3 20A9 FE 3A þ: CP &3A 20AB 30 16 0. JR NC,&20C3 20AD D6 30 Ö0 SUB A,&30 20AF 47 G LD B,A 20B0 2A 3F 00 *?. LD HL,(&003F) 20B3 11 5E FF .^. LD DE,&FF5E 20B6 19 . ADD HL,DE 20B7 B7 · OR A 20B8 28 D2 (Ò JR Z,&208C 20BA 7E ~ LD A,(HL) 20BB 2B + DEC HL 20BC B7 · OR A 20BD 20 FB û JR NZ,&20BA 20BF 10 F9 .ù DJNZ &20BA 20C1 18 C9 .É JR &208C 20C3 C1 Á POP BC 20C4 E1 á POP HL 20C5 D1 Ñ POP DE 20C6 FD E1 ýá POP IY 20C8 DD E1 Ýá POP IX 20CA C9 É RET 20CB FD 29 ý) ADD IY,IY 20CD 38 D0 8Ð JR C,&209F 20CF 18 D4 .Ô JR &20A5 20D1 2A 3F 00 *?. LD HL,(&003F) 20D4 01 5F FF ._. LD BC,&FF5F 20D7 09 . ADD HL,BC 20D8 DD 7E FE Ý~þ LD A,(IX-&02) 20DB B7 · OR A 20DC F2 1D 21 ò.! JP P,&211D 20DF ED 5B 3B 00 í[;. LD DE,(&003B) 20E3 D5 Õ PUSH DE 20E4 22 3B 00 ";. LD (&003B),HL 20E7 11 80 00 ... LD DE,&0080 20EA 19 . ADD HL,DE 20EB EB ë EX DE,HL 20EC DD E5 Ýå PUSH IX 20EE D5 Õ PUSH DE 20EF D5 Õ PUSH DE 20F0 1E FF .. LD E,&FF 20F2 CD AC FD ͬý CALL &FDAC 20F5 DD 77 F0 Ýwð LD (IX-&10),A 20F8 DD 5E F1 Ý^ñ LD E,(IX-&0F) 20FB CD AC FD ͬý CALL &FDAC 20FE D1 Ñ POP DE 20FF D5 Õ PUSH DE 2100 DD E1 Ýá POP IX 2102 CD 6F FC Íoü CALL &FC6F 2105 D1 Ñ POP DE 2106 D5 Õ PUSH DE 2107 DD E1 Ýá POP IX 2109 CD F1 FC Íñü CALL &FCF1 210C DD E1 Ýá POP IX 210E E1 á POP HL 210F 22 3B 00 ";. LD (&003B),HL 2112 F5 õ PUSH AF 2113 DD 5E F0 Ý^ð LD E,(IX-&10) 2116 CD AC FD ͬý CALL &FDAC 2119 F1 ñ POP AF 211A B7 · OR A 211B 20 14 . JR NZ,&2131 211D 06 00 .. LD B,&00 211F 4F O LD C,A 2120 2A 3F 00 *?. LD HL,(&003F) 2123 3C < INC A 2124 DD 77 FE Ýwþ LD (IX-&02),A 2127 11 5F FF ._. LD DE,&FF5F 212A 19 . ADD HL,DE 212B 09 . ADD HL,BC 212C 7E ~ LD A,(HL) 212D FE 1A þ. CP &1A 212F 20 9A . JR NZ,&20CB 2131 DD 6E F4 Ýnô LD L,(IX-&0C) ; Restore various JPs, etc. 2134 DD 66 F5 Ýfõ LD H,(IX-&0B) 2137 22 BB FF "». LD (&FFBB),HL 213A DD 6E F6 Ýnö LD L,(IX-&0A) 213D DD 66 F7 Ýf÷ LD H,(IX-&09) 2140 22 B5 FF "µ. LD (&FFB5),HL 2143 DD 6E F8 Ýnø LD L,(IX-&08) 2146 DD 66 F9 Ýfù LD H,(IX-&07) 2149 22 D3 FF "Ó. LD (&FFD3),HL 214C DD 6E FA Ýnú LD L,(IX-&06) 214F DD 66 FB Ýfû LD H,(IX-&05) 2152 22 D6 FF "Ö. LD (&FFD6),HL 2155 DD 6E FC Ýnü LD L,(IX-&04) 2158 DD 66 FD Ýfý LD H,(IX-&03) 215B 22 3F 00 "?. LD (&003F),HL 215E 2A 06 00 *.. LD HL,(&0006) ; Get address of TopOfTPA 2161 23 # INC HL ; Assuming TopOfTPA contains a 2162 5E ^ LD E,(HL) ; JP, gets the dest of it 2163 23 # INC HL 2164 56 V LD D,(HL) ; Restore TopOfTPA to restored 2165 ED 53 06 00 íS.. LD (&0006),DE ; address 2169 C1 Á POP BC ; Restore registers 216A E1 á POP HL 216B D1 Ñ POP DE 216C FD E1 ýá POP IY 216E DD E1 Ýá POP IX 2170 C3 D5 FF ÃÕ. JP &FFD5 ; and pass on to GetKey