CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0001 .po 0000' 0001 ORG 100H (0000) 0002 WBOOT EQU 00000H (0001) 0003 CTRLA EQU 00001H (0002) 0004 CTRLB EQU 00002H (0005) 0005 BDOS EQU 00005H (0006) 0006 X0006 EQU 00006H (0009) 0007 X0009 EQU 00009H (0018) 0008 X0018 EQU 00018H (001B) 0009 X001B EQU 0001BH (001E) 0010 X001E EQU 0001EH (0021) 0011 X0021 EQU 00021H (0024) 0012 X0024 EQU 00024H (0027) 0013 X0027 EQU 00027H (002A) 0014 X002A EQU 0002AH (002D) 0015 X002D EQU 0002DH (0030) 0016 X0030 EQU 00030H (0033) 0017 X0033 EQU 00033H 0100 C33B01 0018 JP ENTRY 0019 ; 0103 05 0020 D0103: DEFB 05H 0104 23 0021 D0104: DEFB 23H 0105 28 0022 D0105: DEFB 28H 0106 00 0023 D0106: DEFB 00H 0107 00 0024 A0107: DEFB 00H 0108 80 0025 D0108: DEFB 80H 0109 0D0A 0026 PROMPT: DEFB 0DH,0AH 010B 434F5059 0027 DEFB 'COPY Version 5.3',0DH,0AH 20566572 73696F6E 20352E33 0D0A 011D 28432920 0028 DEFB '(C) 1980 Lifeboat Associates.',24H 31393830 204C6966 65626F61 74204173 736F6369 61746573 2E24 0029 ; 013B 31E10F 0030 ENTRY: LD SP,STACK 013E AF 0031 XOR A 013F 32840F 0032 LD (TRPFLG),A 0142 210000 0033 LD HL,00000H 0145 22990F 0034 LD (D0F99),HL 0148 0E0C 0035 LD C,00CH 014A CD0500 0036 CALL BDOS 014D 22860F 0037 LD (CPMFLG),HL 0150 CD710E 0038 CALL SETJMP 0153 3A0401 0039 LD A,(D0104) 0156 214505 0040 LD HL,NUMTRK 0159 CD9A0D 0041 CALL TRKNUM 015C 110901 0042 LD DE,PROMPT 015F CDBF0D 0043 CALL A0DBF 0162 11BF0E 0044 LD DE,T0EC0 0165 CDBF0D 0045 CALL A0DBF CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0002 0168 31E10F 0046 START: LD SP,STACK 016B CDC804 0047 CALL MNMENU 016E C26801 0048 JP NZ,START 0171 FE0D 0049 CP 00DH 0173 CA7C01 0050 JP Z,EXECUT 0176 CDCF06 0051 CALL CHKVFY 0179 C26801 0052 JP NZ,START 017C 31E10F 0053 EXECUT: LD SP,STACK 017F 3A960F 0054 LD A,(CMDSTR) 0182 FE56 0055 CP 056H 0184 CA8A01 0056 JP Z,VERIFY 0187 C38003 0057 JP A0380 0058 ; 018A CDC40D 0059 VERIFY: CALL DISPLAY 018D 0D0A0D0A 0060 DEFB 0DH,0AH,0DH,0AH 0191 496E7365 0061 DEFB 'Insert disk in ' 72742064 69736B20 696E20 01A0 20 0062 CDRVVF: DEFB 020H 01A1 20616E64 0063 DEFB ' and to verify. - ',24H 203C4352 3E20746F 20766572 6966792E 20202020 2D2024 01BC CDD30D 0064 CALL GETCMD 01BF FE0D 0065 CP 00DH 01C1 C26801 0066 JP NZ,START 01C4 CDC40D 0067 CALL DISPLAY 01C7 0D0A0D0A 0068 DEFB 0DH,0AH,0Dh,0AH 01CB 56657269 0069 DEFB 'Verify in progress - press ESC to abor t.',0DH,0AH 66792069 6E207072 6F677265 7373202D 20707265 73732045 53432074 6F206162 6F72742E 0D0A 01F5 45616368 0070 DEFB 'Each * is one track verified.',0DH,0AH ,24H 202A2069 73206F6E 65207472 61636B20 76657269 66696564 2E0D0A24 0215 CD0708 0071 CALL CHKPRM 0218 CDC40D 0072 CALL DISPLAY 021B 0D0A 0073 DEFB 0DH,0AH 021D 56657269 0074 DEFB 'Verify complete. ',24H CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0003 66792063 6F6D706C 6574652E 20202024 0231 3A940F 0075 LD A,(ERRFLG) 0234 B7 0076 OR A 0235 C25702 0077 JP NZ,ERMSG1 0238 CDC40D 0078 CALL DISPLAY 023B 4E4F2065 0079 DEFB 'NO errors were detected.',24H 72726F72 73207765 72652064 65746563 7465642E 24 0254 C36801 0080 JP START 0081 ; 0257 CDC40D 0082 ERMSG1: CALL DISPLAY 025A 4572726F 0083 DEFB 'Errors detected. +++ ERRORS +++',07H,2 4H 72732064 65746563 7465642E 202B2B2B 20455252 4F525320 2B2B2B07 24 027B C36801 0084 JP START 0085 ; 0086 ; Unused block - format statement. 027E CDC40D 0087 CALL DISPLAY 0281 0D0A0D0A 0088 DEFB 0DH,0AH,0DH,0AH 0285 496E7365 0089 DEFB 'Insert disk in ' 72742064 69736B20 696E20 0294 20 0090 DRVFMT: DEFB 020H 0295 20616E64 0091 DEFB ' and to format. - ',24H 203C4352 3E20746F 20666F72 6D61742E 20202020 2D2024 02B0 CDD30D 0092 CALL GETCMD 02B3 FE0D 0093 CP 00DH 02B5 C26801 0094 JP NZ,START 02B8 CDC40D 0095 CALL DISPLAY 02BB 0D0A0D0A 0096 DEFB 0DH,0AH,0DH,0AH 02BF 466F726D 0097 DEFB 'Format in progress - press ESC to abor t.',0DH,0AH 61742069 6E207072 6F677265 7373202D 20707265 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0004 73732045 53432074 6F206162 6F72742E 0D0A 02E9 45616368 0098 DEFB 'Each * is one track formatted and veri fied.',0DH,0AH,24H 202A2069 73206F6E 65207472 61636B20 666F726D 61747465 6420616E 64207665 72696669 65642E0D 0A24 0317 CD0708 0099 CALL CHKPRM 031A CDC40D 0100 CALL DISPLAY 031D 0D0A 0101 DEFB 0DH,0AH 031F 56657269 0102 DEFB 'Verify complete. ',24H 66792063 6F6D706C 6574652E 20202024 0333 3A940F 0103 LD A,(ERRFLG) 0336 B7 0104 OR A 0337 C25903 0105 JP NZ,ERMSG3 033A CDC40D 0106 CALL DISPLAY 033D 4E4F2065 0107 DEFB 'NO errors were detected.',24H 72726F72 73207765 72652064 65746563 7465642E 24 0356 C36801 0108 JP START 0109 ; 0359 CDC40D 0110 ERMSG3: CALL DISPLAY 035C 4572726F 0111 DEFB 'Errors detected. +++ ERRORS +++',07H,2 4H 72732064 65746563 7465642E 202B2B2B 20455252 4F525320 2B2B2B07 24 037D C36801 0112 JP START 0113 ; 0380 CDC40D 0114 A0380: CALL DISPLAY 0383 0D0A0D0A 0115 DEFB 0DH,0AH,0DH,0AH 0387 496E7365 0116 DEFB 'Insert SOURCE in ' 72742053 4F555243 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0005 4520696E 20 0398 20 0117 SRCDRV: DEFB 020H 0399 2C204445 0118 DEFB ', DESTINATION in ' 5354494E 4154494F 4E20696E 20 03AA 20 0119 DSTDRV: DEFB 020H 03AB 200D0A 0120 DEFB 20H,0DH,0AH 03AE 2020616E 0121 DEFB ' and then press to copy the disk ',0DH,0AH 64207468 656E2070 72657373 203C4352 3E20746F 20636F70 79207468 65206469 736B0D0A 03D6 20202020 0122 DEFB ' or any other key to reset options . - ',24H 206F7220 616E7920 6F746865 72206B65 7920746F 20726573 6574206F 7074696F 6E732E20 2D2024 0401 CDD30D 0123 CALL GETCMD 0404 FE0D 0124 CP A,(0DH) 0406 C26801 0125 JP NZ,START 0409 CDC40D 0126 A0409: CALL DISPLAY 040C 0D0A0D0A 0127 DEFB 0DH,0AH,0DH,0AH 0410 436F7079 0128 DEFB 'Copy in progress - press ESC to abort. ',0DH,0AH 20696E20 70726F67 72657373 202D2070 72657373 20455343 20746F20 61626F72 742E0D0A 0438 45616368 0129 DEFB 'Each * is a track copied and verified. ',0DH,0AH,24H 202A2069 73206120 74726163 6B20636F 70696564 20616E64 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0006 20766572 69666965 642E0D0A 24 0461 CD0708 0130 CALL CHKPRM 0464 CDC40D 0131 CALL DISPLAY 0467 0D0A 0132 DEFB 0DH,0AH 0469 436F7079 0133 DEFB 'Copy complete. ',24H 20636F6D 706C6574 652E2020 2024 047B 3A940F 0134 LD A,(ERRFLG) 047E B7 0135 OR A 047F C2A104 0136 JP NZ,ERMSG2 0482 CDC40D 0137 CALL DISPLAY 0485 4E4F2065 0138 DEFB 'NO errors were detected.',24H 72726F72 73207765 72652064 65746563 7465642E 24 049E C36801 0139 JP START 0140 ; 04A1 CDC40D 0141 ERMSG2: CALL DISPLAY 04A4 4572726F 0142 DEFB 'Errors detected. +++ ERRORS +++',07H,2 4H 72732064 65746563 7465642E 202B2B2B 20455252 4F525320 2B2B2B07 24 04C5 C36801 0143 JP START 0144 ; 04C8 CDC40D 0145 MNMENU: CALL DISPLAY 04CB 0D0A0D0A 0146 DEFB 0DH,0AH,0DH,0AH 04CF 2A2A2A2A 0147 DEFB '****** O P T I O N T A B L E *** ***',24H 2A2A2020 204F2050 20542049 204F204E 20202054 20412042 204C2045 2020202A 2A2A2A2A 2A24 04F9 3A840F 0148 LD A,(TRPFLG) 04FC B7 0149 OR A 04FD CA2E05 0150 JP Z,A052E 0500 CDC40D 0151 CALL DISPLAY 0503 0D0A 0152 DEFB 0DH,0AH CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0007 0505 20203C43 0153 DEFB ' = Run again with same parameter s.',24H 523E203D 2052756E 20616761 696E2077 69746820 73616D65 20706172 616D6574 6572732E 24 052E CDC40D 0154 A052E: CALL DISPLAY 0531 0D0A 0155 DEFB 0DH,0AH 0533 20202241 0156 DEFB ' "A" = Copy all ' 2220203D 20436F70 7920616C 6C20 0545 0000 0157 NUMTRK: DEFB 00H,00H 0547 20747261 0158 DEFB ' tracks per side.',0DH,0AH 636B7320 70657220 73696465 2E0D0A 055A 20202020 0159 DEFB ' This option also formats a ne w disk.',0DH,0AH 20202020 20546869 73206F70 74696F6E 20616C73 6F20666F 726D6174 73206120 6E657720 6469736B 2E0D0A 0589 2020224D 0160 DEFB ' "M" = Copy MOST until empty (0E5H) track.',0DH,0AH 2220203D 20436F70 79204D4F 53542075 6E74696C 20656D70 74792028 30453548 29207472 61636B2E 0D0A 05B7 20202256 0161 DEFB ' "V" = VERIFY the disk by reading al l data.',0DH,0AH 2220203D 20564552 49465920 74686520 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0008 6469736B 20627920 72656164 696E6720 616C6C20 64617461 2E0D0A 05E6 20202245 0162 DEFB ' "E" = EXIT and return to CP/M.',0DH ,0AH 2220203D 20455849 5420616E 64207265 7475726E 20746F20 43502F4D 2E0D0A 0609 0D0A 0163 DEFB 0DH,0AH 060B 456E7465 0164 DEFB 'Enter your selection from option table . - ',24H 7220796F 75722073 656C6563 74696F6E 2066726F 6D206F70 74696F6E 20746162 6C652E20 2D2024 0636 CDD30D 0165 CALL GETCMD 0639 21840F 0166 LD HL,TRPFLG 063C BE 0167 CP (HL) 063D C8 0168 RET Z 063E 32960F 0169 LD (CMDSTR),A 0641 210401 0170 LD HL,D0104 0644 66 0171 LD H,(HL) 0645 2E00 0172 LD L,000H 0647 FE41 0173 CP 041H 0649 CA8606 0174 JP Z,STRTRK 064C FE4D 0175 CP 04DH 064E CA8606 0176 JP Z,STRTRK 0651 FE56 0177 CP 056H 0653 CA8606 0178 JP Z,STRTRK 0656 FE45 0179 CP 045H 0658 CA8B06 0180 JP Z,RETCPM 065B CDC40D 0181 CALL DISPLAY 065E 0D0A0D0A 0182 DEFB 0DH,0AH,0DH,0AH,07H 07 0663 496C6C65 0183 DEFB 'Illegal selection. Try again.',24H 67616C20 73656C65 6374696F 6E2E2020 54727920 61676169 6E2E24 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0009 0682 3E01 0184 LD A,001H 0684 B7 0185 OR A 0685 C9 0186 RET 0187 ; 0686 22910F 0188 STRTRK: LD (D0F91),HL 0689 AF 0189 XOR A 068A C9 0190 RET 0191 ; 068B 2A990F 0192 RETCPM: LD HL,(D0F99) 068E 7D 0193 LD A,L 068F B4 0194 OR H 0690 CA9706 0195 JP Z,LODCPM 0693 3A980F 0196 LD A,(D0F98) 0696 77 0197 LD (HL),A 0697 CDC40D 0198 LODCPM: CALL DISPLAY 069A 0D0A0D0A 0199 DEFB 0DH,0AH,0DH,0AH 069E 496E7365 0200 DEFB 'Insert CP/M disk in A, then press . - ',24H 72742043 502F4D20 6469736B 20696E20 412C2074 68656E20 70726573 73203C43 523E2E20 2D2024 06C9 CDD30D 0201 CALL GETCMD 06CC C30000 0202 JP WBOOT 0203 ; 06CF 3A960F 0204 CHKVFY: LD A,(CMDSTR) 06D2 FE56 0205 CP 056H 06D4 CADA06 0206 JP Z,SELDRV 06D7 C34A07 0207 JP GETSRC 0208 ; 06DA CDC40D 0209 SELDRV: CALL DISPLAY 06DD 0D0A0D0A 0210 DEFB 0DH,0AH,0DH,0AH 06E1 456E7465 0211 DEFB 'Enter VERIFY drive name: (A B C or D) ',0DH,0AH 72205645 52494659 20647269 7665206E 616D653A 20202841 20422043 206F7220 44290D0A 0709 6F72203C 0212 DEFB 'or does default verify on drive A . - ',24H 43523E20 646F6573 20646566 61756C74 20766572 69667920 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0010 6F6E2064 72697665 20412E20 2D2024 0734 CDD30D 0213 CALL GETCMD 0737 FE0D 0214 CP 00DH 0739 C23E07 0215 JP NZ,LDFALT 073C 3E41 0216 LD A,041H 073E 32A001 0217 LDFALT: LD (CDRVVF),A 0741 D641 0218 SUB 041H 0743 FE04 0219 CP 004H 0745 D2DA06 0220 JP NC,SELDRV 0748 AF 0221 XOR A 0749 C9 0222 RET 0223 ; 074A CDC40D 0224 GETSRC: CALL DISPLAY 074D 0D0A0D0A 0225 DEFB 0DH,0AH,0DH,0AH 0751 454E5445 0226 DEFB 'ENTER SOURCE drive name: (A B C or D) ',24h 5220534F 55524345 20647269 7665206E 616D653A 20202841 20422043 206F7220 442924 0778 CDC40D 0227 CALL DISPLAY 077B 0D0A 0228 DEFB 0DH,0AH 077D 6F72203C 0229 DEFB 'or makes default COPY from A to B . - ',24H 43523E20 6D616B65 73206465 6661756C 7420434F 50592066 726F6D20 4120746F 20422E20 2D2024 07A8 CDD30D 0230 CALL GETCMD 07AB FE0D 0231 CP 00DH 07AD CAFC07 0232 JP Z,SETARG 07B0 329803 0233 LD (SRCDRV),A 07B3 D641 0234 SUB 041H 07B5 FE04 0235 CP 004H 07B7 D24A07 0236 JP NC,GETSRC 07BA CDC40D 0237 GETDST: CALL DISPLAY 07BD 0D0A0D0A 0238 DEFB 0DH,0AH,0DH,0AH 07C1 456E7465 0239 DEFB 'Enter DESTINATION drive: (A B C or D) . - ',24H 72204445 5354494E 4154494F 4E206472 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0011 6976653A 20202841 20422043 206F7220 44292E20 2D2024 07EC CDD30D 0240 CALL GETCMD 07EF 32AA03 0241 LD (DSTDRV),A 07F2 D641 0242 SUB 041H 07F4 FE04 0243 CP 004H 07F6 D2BA07 0244 JP NC,GETDST 07F9 C30508 0245 JP CLRARG 0246 ; 07FC 3E41 0247 SETARG: LD A,041H 07FE 329803 0248 LD (SRCDRV),A 0801 3C 0249 INC A 0802 32AA03 0250 LD (DSTDRV),A 0805 AF 0251 CLRARG: XOR A 0806 C9 0252 RET 0253 ; 0807 AF 0254 CHKPRM: XOR A 0808 32850F 0255 LD (D0F85),A 080B 21A001 0256 LD HL,CDRVVF 080E 3A960F 0257 LD A,(CMDSTR) 0811 FE56 0258 CP 056H 0813 C21A08 0259 JP NZ,A081A 0816 7E 0260 LD A,(HL) 0817 329803 0261 LD (SRCDRV),A 081A 219402 0262 A081A: LD HL,DRVFMT 081D 3A960F 0263 LD A,(CMDSTR) 0820 FE46 0264 CP 046H 0822 C22C08 0265 JP NZ,A082C 0825 7E 0266 LD A,(HL) 0826 32AA03 0267 LD (DSTDRV),A 0829 329803 0268 LD (SRCDRV),A 082C CD9C08 0269 A082C: CALL TSTPRG 082F 229B0F 0270 LD (HLPNTR),HL 0832 EB 0271 EX DE,HL 0833 229D0F 0272 LD (DEPNTR),HL 0836 CDDE09 0273 CALL SETBUF 0839 CDD70C 0274 CALL A0CD7 083C CD970E 0275 CALL HOMEHD 083F AF 0276 XOR A 0840 32940F 0277 LD (ERRFLG),A 0843 3A910F 0278 LD A,(D0F91) 0846 32890F 0279 LD (D0F89),A 0849 CD0F0E 0280 A0849: CALL TSTEND 084C 3A960F 0281 LD A,(CMDSTR) 084F FE46 0282 CP 046H 0851 CA7008 0283 JP Z,A0870 0854 3A9803 0284 LD A,(SRCDRV) 0857 D641 0285 SUB 041H 0859 328D0F 0286 LD (CDRIVE),A 085C 21E423 0287 LD HL,023E4H 085F 228A0F 0288 LD (D0F8A),HL 0862 CDE708 0289 CALL A08E7 0865 CD0F0E 0290 CALL TSTEND CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0012 0868 3A960F 0291 LD A,(CMDSTR) 086B FE56 0292 CP 056H 086D CA8C08 0293 JP Z,A088C 0870 21850F 0294 A0870: LD HL,D0F85 0873 7E 0295 LD A,(HL) 0874 B7 0296 OR A 0875 3601 0297 LD (HL),001H 0877 CCBB08 0298 CALL Z,A08BB 087A 3AAA03 0299 LD A,(DSTDRV) 087D D641 0300 SUB 041H 087F 328D0F 0301 LD (CDRIVE),A 0882 21E423 0302 LD HL,023E4H 0885 228A0F 0303 LD (D0F8A),HL 0888 CD2709 0304 CALL A0927 088B D8 0305 RET C 088C CD9409 0306 A088C: CALL A0994 088F 21890F 0307 LD HL,D0F89 0892 86 0308 ADD A,(HL) 0893 77 0309 LD (HL),A 0894 3A920F 0310 LD A,(NOTRKS) 0897 BE 0311 CP (HL) 0898 C24908 0312 JP NZ,A0849 089B C9 0313 RET 0314 ; 089C 3A9803 0315 TSTPRG: LD A,(SRCDRV) 089F D641 0316 SUB 041H 08A1 4F 0317 LD C,A 08A2 3A860F 0318 LD A,(CPMFLG) 08A5 B7 0319 OR A 08A6 CAAE08 0320 JP Z,TSTMPM 08A9 3A0801 0321 LD A,(D0108) 08AC B1 0322 OR C 08AD 4F 0323 LD C,A 08AE CDDA08 0324 TSTMPM: CALL MPMCPM 08B1 DA7A0B 0325 JP C,SELERR 08B4 21500F 0326 LD HL,T0F50 08B7 110014 0327 LD DE,01400H 08BA C9 0328 RET 0329 ; 08BB C9 0330 A08BB: RET 0331 ; 0332 ; >> NO VERIFYION PATH TO HERE << 08BC 3AAA03 0333 LD A,(DSTDRV) 08BF D641 0334 SUB 041H 08C1 4F 0335 LD C,A 08C2 3A860F 0336 LD A,(CPMFLG) 08C5 B7 0337 OR A 08C6 CACE08 0338 JP Z,A08CE 08C9 3A0801 0339 LD A,(D0108) 08CC B1 0340 OR C 08CD 4F 0341 LD C,A 08CE CDDA08 0342 A08CE: CALL MPMCPM 08D1 DA7A0B 0343 JP C,SELERR 08D4 CAD708 0344 JP Z,A08D7 08D7 C3970E 0345 A08D7: JP HOMEHD 0346 ; 08DA CD9A0E 0347 MPMCPM: CALL SETDRV CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0013 08DD 3A860F 0348 LD A,(CPMFLG) 08E0 B7 0349 OR A 08E1 C8 0350 RET Z 08E2 7D 0351 LD A,L 08E3 B4 0352 OR H 08E4 C0 0353 RET NZ 08E5 37 0354 SCF 08E6 C9 0355 RET 0356 ; 08E7 CD9409 0357 A08E7: CALL A0994 08EA 328C0F 0358 LD (D0F8C),A 08ED 3A890F 0359 LD A,(D0F89) 08F0 3D 0360 DEC A 08F1 328E0F 0361 LD (D0F8E),A 08F4 2A9D0F 0362 LD HL,(DEPNTR) 08F7 7D 0363 LD A,L 08F8 2F 0364 CPL 08F9 5F 0365 LD E,A 08FA 7C 0366 LD A,H 08FB 2F 0367 CPL 08FC 57 0368 LD D,A 08FD 13 0369 INC DE 08FE 2A8A0F 0370 LD HL,(D0F8A) 0901 19 0371 ADD HL,DE 0902 228F0F 0372 LD (D0F8F),HL 0905 218E0F 0373 A0905: LD HL,D0F8E 0908 34 0374 INC (HL) 0909 2A9D0F 0375 LD HL,(DEPNTR) 090C EB 0376 EX DE,HL 090D 2A8F0F 0377 LD HL,(D0F8F) 0910 19 0378 ADD HL,DE 0911 228F0F 0379 LD (D0F8F),HL 0914 CD7D0A 0380 CALL A0A7D 0917 3A960F 0381 LD A,(CMDSTR) 091A FE56 0382 CP 056H 091C CCA809 0383 CALL Z,A09A8 091F 218C0F 0384 LD HL,D0F8C 0922 35 0385 DEC (HL) 0923 C20509 0386 JP NZ,A0905 0926 C9 0387 RET 0388 ; 0927 CD9409 0389 A0927: CALL A0994 092A 328C0F 0390 LD (D0F8C),A 092D 3A890F 0391 LD A,(D0F89) 0930 3D 0392 DEC A 0931 328E0F 0393 LD (D0F8E),A 0934 2A9D0F 0394 LD HL,(DEPNTR) 0937 7D 0395 LD A,L 0938 2F 0396 CPL 0939 5F 0397 LD E,A 093A 7C 0398 LD A,H 093B 2F 0399 CPL 093C 57 0400 LD D,A 093D 13 0401 INC DE 093E 2A8A0F 0402 LD HL,(D0F8A) 0941 19 0403 ADD HL,DE 0942 228F0F 0404 LD (D0F8F),HL CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0014 0945 218E0F 0405 A0945: LD HL,D0F8E 0948 34 0406 INC (HL) 0949 2A9D0F 0407 LD HL,(DEPNTR) 094C EB 0408 EX DE,HL 094D 2A8F0F 0409 LD HL,(D0F8F) 0950 19 0410 ADD HL,DE 0951 228F0F 0411 LD (D0F8F),HL 0954 3A0301 0412 LD A,(D0103) 0957 3C 0413 INC A 0958 32950F 0414 LD (D0F95),A 095B 21950F 0415 A095B: LD HL,D0F95 095E 35 0416 DEC (HL) 095F FA8009 0417 JP M,A0980 0962 CD880A 0418 CALL A0A88 0965 2A8F0F 0419 LD HL,(D0F8F) 0968 229F0F 0420 LD (D0F9F),HL 096B 21E10F 0421 LD HL,STACK 096E 228F0F 0422 LD (D0F8F),HL 0971 CD7D0A 0423 CALL A0A7D 0974 2A9F0F 0424 LD HL,(D0F9F) 0977 228F0F 0425 LD (D0F8F),HL 097A CD480B 0426 CALL A0B48 097D C25B09 0427 JP NZ,A095B 0980 CDA809 0428 A0980: CALL A09A8 0983 CDAE09 0429 CALL A09AE 0986 37 0430 SCF 0987 C8 0431 RET Z 0988 CD0F0E 0432 CALL TSTEND 098B 218C0F 0433 LD HL,D0F8C 098E 35 0434 DEC (HL) 098F C24509 0435 JP NZ,A0945 0992 AF 0436 XOR A 0993 C9 0437 RET 0438 ; 0994 3A890F 0439 A0994: LD A,(D0F89) 0997 47 0440 LD B,A 0998 3A880F 0441 LD A,(D0F88) 099B 4F 0442 LD C,A 099C 0C 0443 INC C 099D 0D 0444 A099D: DEC C 099E 3A920F 0445 LD A,(NOTRKS) 09A1 90 0446 SUB B 09A2 B9 0447 CP C 09A3 DA9D09 0448 JP C,A099D 09A6 79 0449 LD A,C 09A7 C9 0450 RET 0451 ; 09A8 CDC40D 0452 A09A8: CALL DISPLAY 09AB 2124C9 0453 LD HL,0C924H 09AE 3A960F 0454 A09AE: LD A,(CMDSTR) 09B1 FE4E 0455 CP 04EH 09B3 CABB09 0456 JP Z,A09BB 09B6 FE4D 0457 CP 04DH 09B8 C2DA09 0458 JP NZ,A09DA 09BB 3A8E0F 0459 A09BB: LD A,(D0F8E) 09BE FE02 0460 CP 002H 09C0 DADA09 0461 JP C,A09DA CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0015 09C3 2A9D0F 0462 LD HL,(DEPNTR) 09C6 44 0463 LD B,H 09C7 4D 0464 LD C,L 09C8 21E10F 0465 LD HL,STACK 09CB 7E 0466 A09CB: LD A,(HL) 09CC FEE5 0467 CP 0E5H 09CE C2DA09 0468 JP NZ,A09DA 09D1 23 0469 INC HL 09D2 0B 0470 DEC BC 09D3 78 0471 LD A,B 09D4 B1 0472 OR C 09D5 C2CB09 0473 JP NZ,A09CB 09D8 AF 0474 XOR A 09D9 C9 0475 RET 0476 ; 09DA 3E01 0477 A09DA: LD A,001H 09DC B7 0478 OR A 09DD C9 0479 RET 0480 ; 09DE 2A0600 0481 SETBUF: LD HL,(X0006) 09E1 2E00 0482 LD L,000H 09E3 111DF0 0483 LD DE,0F01DH 09E6 19 0484 ADD HL,DE 09E7 E5 0485 PUSH HL 09E8 2A9D0F 0486 LD HL,(DEPNTR) 09EB EB 0487 EX DE,HL 09EC 3A0700 0488 LD A,(00007) 09EF 47 0489 LD B,A 09F0 0E00 0490 LD C,000H 09F2 21E423 0491 LD HL,023E4H 09F5 19 0492 FNDTOP: ADD HL,DE 09F6 0C 0493 INC C 09F7 7C 0494 LD A,H 09F8 B8 0495 CP B 09F9 DAF509 0496 JP C,FNDTOP 09FC 0D 0497 DEC C 09FD 79 0498 LD A,C 09FE 32880F 0499 LD (D0F88),A 0A01 C1 0500 POP BC 0A02 21E10F 0501 LD HL,STACK 0A05 3E1A 0502 BUFTST: LD A,01AH 0A07 77 0503 LD (HL),A 0A08 BE 0504 CP (HL) 0A09 C21A0A 0505 JP NZ,MMFAIL 0A0C 2F 0506 CPL 0A0D 77 0507 LD (HL),A 0A0E BE 0508 CP (HL) 0A0F C21A0A 0509 JP NZ,MMFAIL 0A12 23 0510 INC HL 0A13 0B 0511 DEC BC 0A14 78 0512 LD A,B 0A15 B1 0513 OR C 0A16 C2050A 0514 JP NZ,BUFTST 0A19 C9 0515 RET 0516 ; 0A1A CDC40D 0517 MMFAIL: CALL DISPLAY 0A1D 0D0A0D0A 0518 DEFB 0DH,0AH,0DH,0AH CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0016 0A21 41424F52 0519 DEFB 'ABORTING due to memory failure in buff er.',0DH,0AH 54494E47 20647565 20746F20 6D656D6F 72792066 61696C75 72652069 6E206275 66666572 2E0D0A 0A4C 496E7365 0520 DEFB 'Insert CP/M system disk and press . - ',24H 72742043 502F4D20 73797374 656D2064 69736B20 616E6420 70726573 73203C43 523E2E20 2D2024 0A77 CDD30D 0521 CALL GETCMD 0A7A C38B06 0522 JP RETCPM 0523 ; 0A7D CD0F0E 0524 A0A7D: CALL TSTEND 0A80 3E0D 0525 LD A,00DH 0A82 32840F 0526 LD (TRPFLG),A 0A85 C35B0C 0527 JP A0C5B 0528 ; 0A88 CD0F0E 0529 A0A88: CALL TSTEND 0A8B C3600C 0530 JP A0C60 0531 ; 0532 ; >> NO EXECUTION PATH TO HERE << 0A8E 3E01 0533 LD A,001H 0A90 32970F 0534 LD (D0F97),A 0A93 3A8D0F 0535 LD A,(CDRIVE) 0A96 4F 0536 LD C,A 0A97 CD9A0E 0537 CALL SETDRV 0A9A 3A8E0F 0538 LD A,(D0F8E) 0A9D 4F 0539 LD C,A 0A9E 0600 0540 LD B,000H 0AA0 CD9D0E 0541 CALL SETTRK 0AA3 0E01 0542 LD C,001H 0AA5 2A8F0F 0543 LD HL,(D0F8F) 0AA8 C5 0544 A0AA8: PUSH BC 0AA9 E5 0545 PUSH HL 0AAA CD490E 0546 CALL A0E4A 0AAD 0600 0547 LD B,000H 0AAF CDA00E 0548 CALL SETSEC 0AB2 C1 0549 POP BC 0AB3 C5 0550 PUSH BC 0AB4 CDA30E 0551 CALL SETDMA 0AB7 3A0301 0552 LD A,(D0103) 0ABA 3C 0553 INC A CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0017 0ABB 47 0554 LD B,A 0ABC 05 0555 A0ABC: DEC B 0ABD FAC90A 0556 JP M,A0AC9 0AC0 C5 0557 PUSH BC 0AC1 CDA60E 0558 CALL READSK 0AC4 C1 0559 POP BC 0AC5 B7 0560 OR A 0AC6 C2BC0A 0561 JP NZ,A0ABC 0AC9 E1 0562 A0AC9: POP HL 0ACA 118000 0563 LD DE,00080H 0ACD 19 0564 ADD HL,DE 0ACE C1 0565 POP BC 0ACF C4C60B 0566 CALL NZ,A0BC6 0AD2 0C 0567 INC C 0AD3 CD360B 0568 CALL A0B36 0AD6 7B 0569 LD A,E 0AD7 3C 0570 INC A 0AD8 B9 0571 CP C 0AD9 C2A80A 0572 JP NZ,A0AA8 0ADC C9 0573 RET 0574 ; 0575 ; >> NO EXECUTION PATH TO HERE << 0ADD 3E01 0576 LD A,001H 0ADF 32970F 0577 LD (D0F97),A 0AE2 3A8D0F 0578 LD A,(CDRIVE) 0AE5 4F 0579 LD C,A 0AE6 CD9A0E 0580 CALL SETDRV 0AE9 3A8E0F 0581 LD A,(D0F8E) 0AEC 4F 0582 LD C,A 0AED 0600 0583 LD B,000H 0AEF CD9D0E 0584 CALL SETTRK 0AF2 0E01 0585 LD C,001H 0AF4 2A8F0F 0586 LD HL,(D0F8F) 0AF7 C5 0587 A0AF7: PUSH BC 0AF8 E5 0588 PUSH HL 0AF9 CD490E 0589 CALL A0E4A 0AFC 0600 0590 LD B,000H 0AFE CDA00E 0591 CALL SETSEC 0B01 C1 0592 POP BC 0B02 C5 0593 PUSH BC 0B03 CDA30E 0594 CALL SETDMA 0B06 3A0301 0595 LD A,(D0103) 0B09 3C 0596 INC A 0B0A 47 0597 LD B,A 0B0B 05 0598 A0B0B: DEC B 0B0C FA220B 0599 JP M,A0B22 0B0F C5 0600 PUSH BC 0B10 CDC50C 0601 CALL A0CC5 0B13 0E02 0602 LD C,002H 0B15 CDA90E 0603 CALL WRTDSK 0B18 F5 0604 PUSH AF 0B19 CDCF0C 0605 CALL A0CCF 0B1C F1 0606 POP AF 0B1D C1 0607 POP BC 0B1E B7 0608 OR A 0B1F C20B0B 0609 JP NZ,A0B0B 0B22 E1 0610 A0B22: POP HL CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0018 0B23 118000 0611 LD DE,00080H 0B26 19 0612 ADD HL,DE 0B27 C1 0613 POP BC 0B28 C4D60B 0614 CALL NZ,A0BD6 0B2B 0C 0615 INC C 0B2C CD360B 0616 CALL A0B36 0B2F 7B 0617 LD A,E 0B30 3C 0618 INC A 0B31 B9 0619 CP C 0B32 C2F70A 0620 JP NZ,A0AF7 0B35 C9 0621 RET 0622 ; 0B36 3A0501 0623 A0B36: LD A,(D0105) 0B39 5F 0624 LD E,A 0B3A 3A8E0F 0625 LD A,(D0F8E) 0B3D B7 0626 OR A 0B3E C0 0627 RET NZ 0B3F 3A0701 0628 LD A,(A0107) 0B42 B7 0629 OR A 0B43 C8 0630 RET Z 0B44 1E1A 0631 LD E,01AH 0B46 37 0632 SCF 0B47 C9 0633 RET 0634 ; 0B48 AF 0635 A0B48: XOR A 0B49 32930F 0636 LD (D0F93),A 0B4C CD360B 0637 CALL A0B36 0B4F 01000D 0638 LD BC,0D00H 0B52 DA5A0B 0639 JP C,A0B5A 0B55 2A9D0F 0640 LD HL,(DEPNTR) 0B58 4D 0641 LD C,L 0B59 44 0642 LD B,H 0B5A 2A8F0F 0643 A0B5A: LD HL,(D0F8F) 0B5D EB 0644 EX DE,HL 0B5E 21E10F 0645 LD HL,STACK 0B61 1A 0646 LD A,(DE) 0B62 BE 0647 CP (HL) 0B63 CA700B 0648 JP Z,A0B70 0B66 3A950F 0649 LD A,(D0F95) 0B69 B7 0650 OR A 0B6A 3E01 0651 LD A,001H 0B6C C0 0652 RET NZ 0B6D CD9E0B 0653 CALL A0B9E 0B70 23 0654 A0B70: INC HL 0B71 13 0655 INC DE 0B72 0B 0656 DEC BC 0B73 79 0657 LD A,C 0B74 B0 0658 OR B 0B75 C25A0B 0659 JP NZ,A0B5A 0B78 AF 0660 XOR A 0B79 C9 0661 RET 0662 ; 0B7A CDC40D 0663 SELERR: CALL DISPLAY 0B7D 0D0A 0664 DEFB 0DH,0AH 0B7F 2A2A2A2A 0665 DEFB '***** Select error *****',24H 2A205365 6C656374 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0019 20657272 6F72202A 2A2A2A2A 24 0B98 CD130C 0666 CALL A0C13 0B9B C36801 0667 JP START 0668 ; 0B9E 3E01 0669 A0B9E: LD A,001H 0BA0 32970F 0670 LD (D0F97),A 0BA3 E5 0671 PUSH HL 0BA4 D5 0672 PUSH DE 0BA5 C5 0673 PUSH BC 0BA6 111DF0 0674 LD DE,0F01DH 0BA9 19 0675 ADD HL,DE 0BAA 29 0676 ADD HL,HL 0BAB 24 0677 INC H 0BAC 4C 0678 LD C,H 0BAD 21930F 0679 LD HL,D0F93 0BB0 79 0680 LD A,C 0BB1 BE 0681 CP (HL) 0BB2 77 0682 LD (HL),A 0BB3 CA0C0C 0683 JP Z,A0C0C 0BB6 CDC40D 0684 CALL DISPLAY 0BB9 0D0A 0685 DEFB 0DH,0AH 0BBB 436F6D70 0686 DEFB 'Compare',24H 61726524 0BC3 C3E40B 0687 JP A0BE4 0688 ; 0BC6 E5 0689 A0BC6: PUSH HL 0BC7 D5 0690 PUSH DE 0BC8 C5 0691 PUSH BC 0BC9 CDC40D 0692 CALL DISPLAY 0BCC 0D0A 0693 DEFB 0DH,0AH 0BCE 52656164 0694 DEFB 'Read',24H 24 0BD3 C3E40B 0695 JP A0BE4 0696 ; 0BD6 E5 0697 A0BD6: PUSH HL 0BD7 D5 0698 PUSH DE 0BD8 C5 0699 PUSH BC 0BD9 CDC40D 0700 CALL DISPLAY 0BDC 0D0A 0701 DEFB 0DH,0AH 0BDE 57726974 0702 DEFB 'Write',24H 6524 0703 ; 0BE4 CDC40D 0704 A0BE4: CALL DISPLAY 0BE7 20657272 0705 DEFB ' error at ',24H 6F722061 742024 0BF2 C5 0706 PUSH BC 0BF3 CD290C 0707 CALL A0C29 0BF6 C1 0708 POP BC 0BF7 3A970F 0709 LD A,(D0F97) 0BFA B7 0710 OR A 0BFB C4400C 0711 CALL NZ,A0C40 0BFE CD130C 0712 CALL A0C13 0C01 CDC40D 0713 CALL DISPLAY CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0020 0C04 07 0714 RLCA 0C05 2025 0715 JR NZ,A0C2B 0C07 3EFF 0716 LD A,0FFH 0C09 32940F 0717 LD (ERRFLG),A 0C0C CD0F0E 0718 A0C0C: CALL TSTEND 0C0F C1 0719 POP BC 0C10 D1 0720 POP DE 0C11 E1 0721 POP HL 0C12 C9 0722 RET 0723 ; 0C13 CDC40D 0724 A0C13: CALL DISPLAY 0C16 206F6E20 0725 DEFB ' on drive ',24H 64726976 652024 0C21 3A8D0F 0726 LD A,(CDRIVE) 0C24 C641 0727 ADD A,041H 0C26 C3B40D 0728 JP ABORT 0729 ; 0C29 3A8E0F 0730 A0C29: LD A,(D0F8E) 0C2C 213C0C 0731 A0C2B: LD HL,T0C3C 0C2F CD9A0D 0732 CALL TRKNUM 0C32 CDC40D 0733 CALL DISPLAY 0C35 20547261 0734 DEFB ' Track ' 636B20 0C3C 20 0735 T0C3C: DEFB 020H 0C3D 2024 0736 DEFB 020H,24H 0C3F C9 0737 RET 0738 ; 0C40 CD490E 0739 A0C40: CALL A0E4A 0C43 79 0740 LD A,C 0C44 21570C 0741 LD HL,T0C57 0C47 CD9A0D 0742 CALL TRKNUM 0C4A CDC40D 0743 CALL DISPLAY 0C4D 202D2053 0744 DEFB ' - Sector ' 6563746F 7220 0C57 20 0745 T0C57: DEFB 020H 0C58 2024 0746 DEFB 020H,24H 0C5A C9 0747 RET 0748 ; 0C5B 1E01 0749 A0C5B: LD E,001H 0C5D C3620C 0750 JP A0C62 0751 ; 0C60 1E00 0752 A0C60: LD E,000H 0C62 AF 0753 A0C62: XOR A 0C63 32970F 0754 LD (D0F97),A 0C66 3A0301 0755 LD A,(D0103) 0C69 3C 0756 INC A 0C6A 47 0757 LD B,A 0C6B 7B 0758 LD A,E 0C6C B7 0759 OR A 0C6D CCC50C 0760 CALL Z,A0CC5 0C70 C5 0761 A0C70: PUSH BC 0C71 3A8D0F 0762 LD A,(CDRIVE) 0C74 3C 0763 INC A 0C75 4F 0764 LD C,A 0C76 3AC40C 0765 LD A,(D0CC4) CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0021 0C79 E680 0766 AND 080H 0C7B B1 0767 OR C 0C7C 4F 0768 LD C,A 0C7D 218E0F 0769 LD HL,D0F8E 0C80 46 0770 LD B,(HL) 0C81 3AC40C 0771 LD A,(D0CC4) 0C84 E640 0772 AND 040H 0C86 CA9C0C 0773 JP Z,A0C9C 0C89 3A0401 0774 LD A,(D0104) 0C8C 57 0775 LD D,A 0C8D 3D 0776 DEC A 0C8E 218E0F 0777 LD HL,D0F8E 0C91 96 0778 SUB (HL) 0C92 46 0779 LD B,(HL) 0C93 D29C0C 0780 JP NC,A0C9C 0C96 82 0781 ADD A,D 0C97 47 0782 LD B,A 0C98 79 0783 LD A,C 0C99 F640 0784 OR 040H 0C9B 4F 0785 LD C,A 0C9C 1600 0786 A0C9C: LD D,000H 0C9E 2A8F0F 0787 LD HL,(D0F8F) 0CA1 3E0A 0788 LD A,00AH 0CA3 CDB20E 0789 CALL ALTTRN 0CA6 C1 0790 POP BC 0CA7 B7 0791 OR A 0CA8 CABE0C 0792 JP Z,A0CBE 0CAB 05 0793 DEC B 0CAC C2700C 0794 JP NZ,A0C70 0CAF 3E03 0795 LD A,003H 0CB1 B7 0796 OR A 0CB2 C2BB0C 0797 JP NZ,A0CBB 0CB5 CDD60B 0798 CALL A0BD6 0CB8 C3BE0C 0799 JP A0CBE 0800 ; 0CBB CDC60B 0801 A0CBB: CALL A0BC6 0CBE F5 0802 A0CBE: PUSH AF 0CBF CDCF0C 0803 CALL A0CCF 0CC2 F1 0804 POP AF 0CC3 C9 0805 RET 0806 ; 0807 ; >> NO EXECUTION PATH TO HERE << 0CC4 00 0808 D0CC4: NOP 0CC5 3A980F 0809 A0CC5: LD A,(D0F98) 0CC8 E6BF 0810 AND 0BFH 0CCA 2A990F 0811 LD HL,(D0F99) 0CCD 77 0812 LD (HL),A 0CCE C9 0813 RET 0814 ; 0CCF 3A980F 0815 A0CCF: LD A,(D0F98) 0CD2 2A990F 0816 LD HL,(D0F99) 0CD5 77 0817 LD (HL),A 0CD6 C9 0818 RET 0819 ; 0CD7 2A990F 0820 A0CD7: LD HL,(D0F99) 0CDA 7D 0821 LD A,L 0CDB B4 0822 OR H CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0022 0CDC C2EF0C 0823 JP NZ,A0CEF 0CDF 2A0100 0824 LD HL,(0001) 0CE2 2E08 0825 LD L,008H 0CE4 66 0826 LD H,(HL) 0CE5 25 0827 DEC H 0CE6 2EFF 0828 LD L,0FFH 0CE8 7E 0829 LD A,(HL) 0CE9 32980F 0830 LD (D0F98),A 0CEC 22990F 0831 LD (D0F99),HL 0CEF 3A860F 0832 A0CEF: LD A,(CPMFLG) 0CF2 B7 0833 OR A 0CF3 C23B0D 0834 JP NZ,A0D3B 0CF6 3A9803 0835 LD A,(SRCDRV) 0CF9 D641 0836 SUB 041H 0CFB CD2A0D 0837 CALL A0D2A 0CFE 32C40C 0838 LD (D0CC4),A 0D01 3AAA03 0839 LD A,(DSTDRV) 0D04 D641 0840 SUB 041H 0D06 CD2A0D 0841 CALL A0D2A 0D09 21C40C 0842 LD HL,D0CC4 0D0C BE 0843 CP (HL) 0D0D C8 0844 RET Z 0D0E CDC40D 0845 CALL DISPLAY 0D11 0D0A0D0A 0846 DEFB 0DH,0AH,0DH,0AH 0D15 44656E73 0847 DEFB 'Density mismatch ',24H 69747920 6D69736D 61746368 2024 0D27 C38B06 0848 JP RETCPM 0D2A 4F 0849 A0D2A: LD C,A 0D2B 0C 0850 INC C 0D2C 2A990F 0851 LD HL,(D0F99) 0D2F 2EFB 0852 LD L,0FBH 0D31 7E 0853 LD A,(HL) 0D32 0F 0854 A0D32: RRCA 0D33 0F 0855 RRCA 0D34 0D 0856 DEC C 0D35 C2320D 0857 JP NZ,A0D32 0D38 E680 0858 AND 080H 0D3A C9 0859 RET 0860 ; 0D3B 2A990F 0861 A0D3B: LD HL,(D0F99) 0D3E 2EFA 0862 LD L,0FAH 0D40 3A9803 0863 LD A,(SRCDRV) 0D43 D641 0864 SUB 041H 0D45 4F 0865 LD C,A 0D46 0600 0866 LD B,000H 0D48 09 0867 ADD HL,BC 0D49 7E 0868 LD A,(HL) 0D4A 32C40C 0869 LD (D0CC4),A 0D4D E640 0870 AND 040H 0D4F CA680D 0871 JP Z,A0D68 0D52 3A9803 0872 LD A,(SRCDRV) 0D55 D641 0873 SUB 041H 0D57 CD8B0D 0874 CALL A0D8B 0D5A D2680D 0875 JP NC,A0D68 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0023 0D5D 3AAA03 0876 LD A,(DSTDRV) 0D60 D641 0877 SUB 041H 0D62 CD8B0D 0878 CALL A0D8B 0D65 DA700D 0879 JP C,A0D70 0D68 3AC40C 0880 A0D68: LD A,(D0CC4) 0D6B E6BF 0881 AND 0BFH 0D6D 32C40C 0882 LD (D0CC4),A 0D70 3A0401 0883 A0D70: LD A,(D0104) 0D73 47 0884 LD B,A 0D74 3AC40C 0885 LD A,(D0CC4) 0D77 E640 0886 AND 040H 0D79 CA7F0D 0887 JP Z,A0D7F 0D7C 78 0888 LD A,B 0D7D 80 0889 ADD A,B 0D7E 47 0890 LD B,A 0D7F 21920F 0891 A0D7F: LD HL,NOTRKS 0D82 7E 0892 LD A,(HL) 0D83 FE02 0893 CP 002H 0D85 CA890D 0894 JP Z,A0D89 0D88 70 0895 LD (HL),B 0D89 AF 0896 A0D89: XOR A 0D8A C9 0897 RET 0898 ; 0D8B 4F 0899 A0D8B: LD C,A 0D8C 0C 0900 INC C 0D8D 2A990F 0901 LD HL,(D0F99) 0D90 2EF8 0902 LD L,0F8H 0D92 7E 0903 LD A,(HL) 0D93 0D 0904 A0D93: DEC C 0D94 07 0905 RLCA 0D95 C2930D 0906 JP NZ,A0D93 0D98 C9 0907 RET 0908 ; 0909 ; >> NO EXECUTION PATH TO HERE << 0D99 C9 0910 RET 0911 ; 0D9A 060A 0912 TRKNUM: LD B,00AH 0D9C CDAA0D 0913 CALL SETCNT 0D9F C630 0914 ADD A,030H 0DA1 77 0915 LD (HL),A 0DA2 2B 0916 DEC HL 0DA3 3E30 0917 LD A,030H 0DA5 BE 0918 CP (HL) 0DA6 C0 0919 RET NZ 0DA7 3620 0920 LD (HL),020H 0DA9 C9 0921 RET 0922 ; 0DAA 362F 0923 SETCNT: LD (HL),02FH 0DAC 34 0924 SETFLG: INC (HL) 0DAD 90 0925 SUB B 0DAE D2AC0D 0926 JP NC,SETFLG 0DB1 80 0927 ADD A,B 0DB2 23 0928 INC HL 0DB3 C9 0929 RET 0930 ; 0DB4 F5 0931 ABORT: PUSH AF 0DB5 CD0F0E 0932 CALL TSTEND CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0024 0DB8 F1 0933 POP AF 0DB9 5F 0934 LD E,A 0DBA 0E02 0935 LD C,002H 0DBC C30500 0936 JP BDOS 0937 ; 0DBF 0E09 0938 A0DBF: LD C,009H 0DC1 C30500 0939 JP BDOS 0940 ; 0DC4 E3 0941 DISPLAY: EX (SP),HL 0DC5 7E 0942 LD A,(HL) 0DC6 23 0943 INC HL 0DC7 E3 0944 EX (SP),HL 0DC8 FE24 0945 CP 024H 0DCA C8 0946 RET Z 0DCB E5 0947 PUSH HL 0DCC CDB40D 0948 CALL ABORT 0DCF E1 0949 POP HL 0DD0 C3C40D 0950 JP DISPLAY 0951 ; 0DD3 AF 0952 GETCMD: XOR A 0DD4 11FD0D 0953 LD DE,T0DFE 0DD7 12 0954 LD (DE),A 0DD8 1B 0955 DEC DE 0DD9 0E0A 0956 LD C,00AH 0DDB CD0500 0957 CALL BDOS 0DDE 21FD0D 0958 LD HL,T0DFE 0DE1 4E 0959 LD C,(HL) 0DE2 23 0960 INC HL 0DE3 0600 0961 LD B,000H 0DE5 09 0962 ADD HL,BC 0DE6 360D 0963 LD (HL),00DH 0DE8 0C 0964 INC C 0DE9 7E 0965 CONVRT: LD A,(HL) 0DEA CDF40D 0966 CALL A0DF4 0DED 77 0967 LD (HL),A 0DEE 2B 0968 DEC HL 0DEF 0D 0969 DEC C 0DF0 C2E90D 0970 JP NZ,CONVRT 0DF3 C9 0971 RET 0972 ; 0DF4 FE60 0973 A0DF4: CP 060H 0DF6 D8 0974 RET C 0DF7 FE7B 0975 CP 07BH 0DF9 D0 0976 RET NC 0DFA E65F 0977 AND 05FH 0DFC C9 0978 RET 0979 ; 0DFD 0D 0980 T0DFE: DEFB 0DH 0DFE (0010) 0981 A0DFF: DEFS 16 0E0E 0D 0982 DEFB 0DH 0E0F CD8E0E 0983 TSTEND: CALL CONSTT 0E12 B7 0984 OR A 0E13 C8 0985 RET Z 0E14 CD910E 0986 CALL CONINN 0E17 FE1B 0987 CP 01BH 0E19 C0 0988 RET NZ 0E1A CDC40D 0989 CALL DISPLAY CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0025 0E1D 0D0A0D0A 0990 DEFB 0DH,0AH,0DH,0AH 0E21 436F6E73 0991 DEFB 'Console ESCAPE has aborted the copy.', 24H 6F6C6520 45534341 50452068 61732061 626F7274 65642074 68652063 6F70792E 24 0E46 C36801 0992 JP START 0993 ; 0E49 0600 0994 A0E4A: LD B,000H 0E4B 0D 0995 DEC C 0E4C CD360B 0996 CALL A0B36 0E4F 21500F 0997 LD HL,T0F50 0E52 DA6C0E 0998 JP C,A0E6D 0E55 2A9B0F 0999 LD HL,(HLPNTR) 0E58 3A0601 1000 LD A,(D0106) 0E5B B7 1001 OR A 0E5C CA6C0E 1002 JP Z,A0E6D 0E5F 3A860F 1003 LD A,(CPMFLG) 0E62 B7 1004 OR A 0E63 CA6C0E 1005 JP Z,A0E6D 0E66 EB 1006 EX DE,HL 0E67 CDAF0E 1007 CALL SECTRN 0E6A 4D 1008 LD C,L 0E6B C9 1009 RET 1010 ; 0E6C 0600 1011 A0E6D: LD B,000H 0E6E 09 1012 ADD HL,BC 0E6F 4E 1013 LD C,(HL) 0E70 C9 1014 RET 1015 ; 0E71 3A0200 1016 SETJMP: LD A,(0002) 0E74 21900E 1017 LD HL,CONSTT+2 0E77 060D 1018 LD B,00DH 0E79 77 1019 STLOOP: LD (HL),A 0E7A 23 1020 INC HL 0E7B 23 1021 INC HL 0E7C 23 1022 INC HL 0E7D 05 1023 DEC B 0E7E C2790E 1024 JP NZ,STLOOP 0E81 3A860F 1025 LD A,(CPMFLG) 0E84 B7 1026 OR A 0E85 C0 1027 RET NZ 0E86 21B30E 1028 LD HL,ALTTRN+1 0E89 7E 1029 LD A,(HL) 0E8A D603 1030 SUB 003H 0E8C 77 1031 LD (HL),A 0E8D C9 1032 RET 1033 ; 0E8E C30600 1034 CONSTT: JP X0006 1035 ; 0E91 C30900 1036 CONINN: JP X0009 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0026 1037 ; 0E94 C30600 1038 JP X0006 1039 ; 0E97 C31800 1040 HOMEHD: JP X0018 1041 ; 0E9A C31B00 1042 SETDRV: JP X001B 1043 ; 0E9D C31E00 1044 SETTRK: JP X001E 1045 ; 0EA0 C32100 1046 SETSEC: JP X0021 1047 ; 0EA3 C32400 1048 SETDMA: JP X0024 1049 ; 0EA6 C32700 1050 READSK: JP X0027 1051 ; 0EA9 C32A00 1052 WRTDSK: JP X002A 1053 ; 0EAC C32D00 1054 JP X002D 1055 ; 0EAF C33000 1056 SECTRN: JP X0030 1057 ; 0EB2 C33300 1058 ALTTRN: JP X0033 1059 ; 1060 ; 0EB5 (000A) 1061 DEFS 10 0EBF 0D0A0D0A 1062 T0EC0: DEFB 0DH,0AH,0DH,0AH 0EC3 4469736B 1063 DEFB 'Disk copy for double/quad CP/M2 on Nor th Star.',0DH,0AH 20636F70 7920666F 7220646F 75626C65 2F717561 64204350 2F4D3220 6F6E204E 6F727468 20537461 722E0D0A 0EF3 536F7572 1064 DEFB 'Source disk controls density and numbe r of sides.',24H 63652064 69736B20 636F6E74 726F6C73 2064656E 73697479 20616E64 206E756D 62657220 6F662073 69646573 2E24 0F25 00 1065 DEFB 000H 0F26 (001A) 1066 DEFS 26 0F40 5472616E 1067 DEFB 'Translate table ' 736C6174 CROMEMCO CDOS Z80 ASSEMBLER version 02.15 PAGE 0027 65207461 626C6520 0F50 01020304 1068 T0F50: DEFB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH ,0BH,0CH,0DH,0EH,0FH 05060708 090A0B0C 0D0E0F 0F5F 10111213 1069 DEFB 10H,11H,12H,13H,14H,15H,16H,17H,18H,19H ,1AH,1BH,1CH,1DH,1EH,1FH 14151617 18191A1B 1C1D1E1F 0F6F 20212223 1070 DEFB 20H,21H,22H,23H,24H,25H,26H,27H,28H,29H ,2AH,2BH,2CH,2DH,2EH,2FH 24252627 28292A2B 2C2D2E2F 0F7F 30313233 1071 DEFB 30H,31H,32H,33H,34H 34 0F84 00 1072 TRPFLG: DEFB 000H 0F85 00 1073 D0F85: DEFB 000H 0F86 00 1074 CPMFLG: DEFB 000H 0F87 00 1075 DEFB 000H 0F88 00 1076 D0F88: DEFB 000H 0F89 00 1077 D0F89: DEFB 000H 0F8A 00 1078 D0F8A: DEFB 000H 0F8B 00 1079 DEFB 000H 0F8C 00 1080 D0F8C: DEFB 000H 0F8D 00 1081 CDRIVE: DEFB 000H 0F8E 00 1082 D0F8E: DEFB 000H 0F8F 00 1083 D0F8F: DEFB 000H 0F90 00 1084 DEFB 000H 0F91 00 1085 D0F91: DEFB 000H 0F92 00 1086 NOTRKS: DEFB 000H 0F93 00 1087 D0F93: DEFB 000H 0F94 00 1088 ERRFLG: DEFB 000H 0F95 00 1089 D0F95: DEFB 000H 0F96 00 1090 CMDSTR: DEFB 000H 0F97 00 1091 D0F97: DEFB 000H 0F98 00 1092 D0F98: DEFB 000H 0F99 00 1093 D0F99: DEFB 000H 0F9A 00 1094 DEFB 000H 0F9B 00 1095 HLPNTR: DEFB 000H 0F9C 00 1096 DEFB 000H 0F9D 00 1097 DEPNTR: DEFB 000H 0F9E 00 1098 DEFB 000H 0F9F 00 1099 D0F9F: DEFB 000H 0FA0 (0041) 1100 DEFS 65 0FE1 (001D) 1101 STACK: DEFS 29 0FFE (0000) 1102 END Errors 0