MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00001 00001 ;LBCOPY/ASM - Copy/Append Commands 00003 ; 0000 00004 *GET BUILDVER:3 00005 ; 00006 ; Buildver/asm is a bit of a kludge since not all utilities can load 00007 ; equates from LDOS60 and still compile. LOWCORE and everybody else 00008 ; relies on this setting, and it eventually ends up in LDOS60/EQU 00009 ; for programs that can use that. 00010 ; FFFF 00011 @BLD631 EQU -1 ;<631>Build 631 distribution (LEVEL 1B) 00012 ; These switches activate patches made since the 1B release. 00013 ; It is important that all earlier patches be enabled when a higher 00014 ; patch is enabled. 00015 ; Patches C thru F were published in TMQ IV.iv, page 32 (NOTE: the 00016 ; patch addresses listed for SPOOL in SPOOL1/FIX are 19H high.) FFFF 00017 @BLD631C EQU -1 ;<631>Apply 1C patches (SETKI) FFFF 00018 @BLD631D EQU -1 ;<631>Apply 1D patches (DIR) FFFF 00019 @BLD631E EQU -1 ;<631>Apply 1E patches (DIR & MEMDISK/DCT) FFFF 00020 @BLD631F EQU -1 ;<631>Apply 1F patches (SPOOL) 00021 ; Patches G and H were published in TMQ V.i, pages 10 and 18/19. FFFF 00022 @BLD631G EQU -1 ;<631>Apply 1G patches (//KEYIN,DIR,DO *) FFFF 00023 @BLD631H EQU -1 ;<631>Apply 1H patches (MEMORY) 00024 ; 00025 ;End of BUILDVER/ASM 0000 00026 *GET SVCMAC:3 00027 ;SVCMAC/ASM - LS-DOS Version VI 00028 *LIST OFF 00420 *LIST ON 0000 00422 *GET VALUES:3 00423 ;VALUES/ASM - Version 6 00424 *LIST OFF 00451 *LIST ON 00452 ; 001E 00453 EL EQU 30 ;Erase Line 001D 00454 BL EQU 29 ;Beginning of Line 003A 00455 @INIT EQU 58 ;@INIT SVC # 003B 00456 @OPEN EQU 59 ;@OPEN SVC # 0080 00457 BREAK EQU 80H ;BREAK character 00458 ; 2400 00459 ORG 2400H 00460 ; 2400 00461 *GET LBCOPYA:3 00462 ;LBCOPYA/ASM - Copy/Append commands MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00002 ' hit ? 00471 ; 00472 APPEND 00473 IF @BLD631 2403 ED732324 00474 LD (SAVESP+1),SP ;<631>Save SP address 00475 ENDIF 2407 00476 @@CKBRKC ;Check for break 2407+3E6A 00477 LD A,106 2409+EF 00478 RST 40 00479 IF @BLD631 240A 203D 00480 JR NZ,ABORT ;<631>Abort 00481 ELSE 00482 JR Z,APPENDA ;Continue if not 00483 LD HL,-1 ; else abort 00484 RET 00485 ; 00486 ; not hit - Execute Module 00487 ; 00488 APPENDA 00489 LD (SAVESP+1),SP ;Save SP address 00490 ENDIF 240C CD4E24 00491 CALL APCODE ;Call Append code 240F 210000 00492 EXIT LD HL,0 ;Good exit 2412 180E 00493 JR SAVESP 00494 ; 00495 ; I/O Error Display & Abort Routine 00496 ; 2414 F5 00497 IOERR PUSH AF ;Save error code 2415 CD6629 00498 CALL PMTSYS ;Prompt SYSTEM Disk 2418 F1 00499 POP AF ;Rcvr error code 2419 6F 00500 LD L,A ;Xfer any error to HL 241A 2600 00501 LD H,0 241C F6C0 00502 OR 0C0H ;Set for abbrev error msg 241E 4F 00503 LD C,A ;Save Error # in C 241F 00504 @@ERROR ;Display & abort 241F+3E1A 00505 LD A,26 2421+EF 00506 RST 40 00507 IF @BLD631 00508 ; 00509 ; P/u Stack, clear any & return 00510 ; 2422 310000 00511 SAVESP LD SP,$-$ ;<631>P/u stack 2425 00512 @@CKBRKC ;<631>Clear any 2425+3E6A 00513 LD A,106 2427+EF 00514 RST 40 2428 C9 00515 RET ;<631> and RETurn 00516 ELSE MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00004 '" 2434 DD 00527 DB 0DDH 2435 21992A 00528 DIFLRL LD HL,DIFLRL$ ;"Files have diff LRLs" 2438 DD 00529 DB 0DDH 2439 21B32A 00530 DSTREQ LD HL,DSTREQ$ ;"Dest spec Required" 243C 00531 @@LOGOT ;Log error message 00532 IFEQ 00H,1 00533 LD HL, 00534 ENDIF 243C+3E0C 00535 LD A,12 243E+EF 00536 RST 40 00537 ; 00538 ; Attempt to close any OPEN destination file 00539 ; 243F 11032C 00540 LD DE,FCB2 ;Point to dest FCB 2442 1A 00541 LD A,(DE) ;Is the file OPEN? 2443 07 00542 RLCA 2444 3003 00543 JR NC,ABORT ;No - abort 2446 00544 @@CLOSE 2446+3E3C 00545 LD A,60 2448+EF 00546 RST 40 2449 21FFFF 00547 ABORT LD HL,-1 ;Abort code to HL 00548 IF @BLD631 244C 18D4 00549 JR SAVESP ;<631> 00550 ELSE 00551 ; 00552 ; P/u Stack, clear any & return 00553 ; 00554 SAVESP LD SP,$-$ ;P/u stack 00555 @@CKBRKC ;Clear any 00556 RET ; and RETurn 00557 ENDIF 00558 ; 00559 ; APCODE - Append spec to spec 00560 ; 00561 APCODE 244E AF 00562 XOR A ;Turn off CLONE parm 244F 32A926 00563 LD (CPARM+1),A 2452 32AA26 00564 LD (CPARM+2),A 2455 32B228 00565 LD (APPFLAG+1),A ;We're in APPEND not COPY 00566 ; 2458 CD0529 00567 CALL DOINIT ;Set High memory 00568 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00005 ' File #1 FCB 245E 00572 @@FSPEC ;Check out filespec 245E+3E4E 00573 LD A,78 2460+EF 00574 RST 40 2461 C22D24 00575 JP NZ,SPCREQ ;NZ - Filespec Required 00576 ; 00577 ; Check if Filespec/Devspec #2 is legal 00578 ; 2464 11032C 00579 LD DE,FCB2 ;DE => File #2 FCB 2467 00580 @@FSPEC ;Check if legal 2467+3E4E 00581 LD A,78 2469+EF 00582 RST 40 246A C46A27 00583 CALL NZ,CVRTUC ;Convert line to U/C 00584 ; 00585 ; Is the second FCB a device ? 00586 ; 246D 3A032C 00587 APND1 LD A,(FCB2) ;P/u byte 0 of FCB2 2470 FE2A 00588 CP '*' ;Is this a devspec ? 2472 CA2D24 00589 JP Z,SPCREQ ;Z - Filespec required 00590 ; 00591 ; Parse any parameters entered 00592 ; 2475 11D12B 00593 LD DE,APPTBL ;DE => Parameter Table 2478 00594 @@PARAM ;Check out parameters 2478+3E11 00595 LD A,17 247A+EF 00596 RST 40 247B C21424 00597 JP NZ,IOERR ;NZ - Parameter Error 00598 ; 247E CD9427 00599 CALL PRSPC ;P/u FCB ptr in DE 00600 ; 00601 ; Open Filespec #2 with LRL of 256 00602 ; 2481 CD752A 00603 CALL OPENSR2 ;Open Filespec #2 2484 CD9B28 00604 CALL PUTDEST ;Xfer Dest filespec 2487 CDD028 00605 CALL GETLRL ;Get LRL from DIR entry 00606 ; 248A 32A324 00607 LD (LRL2+1),A ;Set dir LRL into parm 248D 32A626 00608 LD (GEOF1+1),A ;Also stuff for later 00609 ; 00610 ; Open Filespec #1 with LRL of 256 00611 ; 2490 CD6B2A 00612 CALL OPENSRC ;Open Filespec #1 2493 CD9528 00613 CALL PUTSOUR ;Xfer source filespec 00614 ; 00615 ; Is the Source a Device ? 00616 ; 2496 EB 00617 EX DE,HL 2497 CB7E 00618 BIT 7,(HL) ;P/u FCB+0 of source 2499 EB 00619 EX DE,HL ;Device ? 249A CCAC28 00620 CALL Z,CPYFILE ;Display "Appending ..." MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00006 ' LRL of FCB #2 24C7 46 00660 LD B,(HL) ;P/u current dest LRL 24C8 3601 00661 LD (HL),1 ;Reset LRL=1 24CA 00662 @@BKSP ;Backspace 1 byte 24CA+3E3D 00663 LD A,61 24CC+EF 00664 RST 40 24CD 70 00665 LD (HL),B ;Reset LRL back 00666 ; 00667 ; Replace the I/O buffer in FCB #2 00668 ; 24CE 21002F 00669 APND2A LD HL,BUF2 ;HL => New buffer addr 24D1 22062C 00670 LD (FCB2+3),HL ;Stuff in FCB 24D4 C32E27 00671 JP BYTIO0 ; 00672 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00007 ' hit ? 00698 ; 00699 COPYST 00700 IF @BLD631 24F4 ED732324 00701 LD (SAVESP+1),SP ;<631>Save SP address 00702 ENDIF 24F8 00703 @@CKBRKC ;Check for break 24F8+3E6A 00704 LD A,106 24FA+EF 00705 RST 40 00706 IF @BLD631 24FB C24924 00707 JP NZ,ABORT ;<631> 00708 ELSE 00709 JR Z,COPYSTA ;Continue if not 00710 LD HL,-1 ; else abort 00711 RET 00712 ; 00713 ; not hit - execute module 00714 ; 00715 COPYSTA LD (SAVESP+1),SP ;Save SP address 00716 ENDIF 24FE CD0425 00717 CALL COPYCD ;Execute Copy code 2501 C30F24 00718 JP EXIT ;Go to common exit 00719 ; 00720 ; COPYCD - Copy spec to spec 00721 ; 00722 COPYCD 2504 CD0529 00723 CALL DOINIT ;Set high mem test byte 00724 ; 00725 ; Check if Source Filespec is legal 00726 ; 2507 11572C 00727 LD DE,FCB1 ;DE => Source FCB 250A 00728 @@FSPEC ;Check out filespec 250A+3E4E 00729 LD A,78 250C+EF 00730 RST 40 250D C22D24 00731 JP NZ,SPCREQ ;NZ - Filespec required 00732 ; 00733 ; Check if Destination Filespec is legal 00734 ; 2510 11032C 00735 LD DE,FCB2 ;DE => Destination FCB 2513 00736 @@FSPEC ;Check out filespec 2513+3E4E 00737 LD A,78 2515+EF 00738 RST 40 2516 C46A27 00739 CALL NZ,CVRTUC ;Convert line to U/C 00740 ; 00741 ; Process any parameters entered 00742 ; 2519 11E42B 00743 COPY1 LD DE,COPYTBL ;DE => Parameter Table 251C 00744 @@PARAM ;Check out parameters 251C+3E11 00745 LD A,17 251E+EF 00746 RST 40 251F C21424 00747 JP NZ,IOERR ;NZ - Parameter Error MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00010 ' FCB #1 2547 0E00 00782 LD C,0 ;Init to drive zero 00783 ; 00784 ; Loop to Pick up Drive # or terminator 00785 ; 2549 7E 00786 XFER1 LD A,(HL) ;Look for drive spec 254A 23 00787 INC HL 254B FE3A 00788 CP ':' ;Colon indicator? 254D 2806 00789 JR Z,XFER2 ;Jump if found 254F FE20 00790 CP ' ' ;Jump on end 2551 3806 00791 JR C,XFER3 2553 18F4 00792 JR XFER1 ;Loop 00793 ; 00794 ; Colon indicator present - p/u drive # 00795 ; 2555 7E 00796 XFER2 LD A,(HL) ;P/u user drive 2556 D630 00797 SUB '0' ;Cvrt to binary 2558 4F 00798 LD C,A ; & stuff in C 00799 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00011 ' Drive # 255C 71 00803 LD (HL),C ;Save drive # for later 00804 ; 00805 ; Stuff drive # into Prompt strings 00806 ; 255D 3E30 00807 LD A,'0' ;Cvt drive # to ASCII 255F 81 00808 ADD A,C 2560 32822B 00809 LD (SRC_DR),A ;Source Drive # 2563 32BC2B 00810 LD (DEST_DR),A ;Destination Drive # 00811 ; 00812 ; Transfer source FCB to destination FCB 00813 ; 2566 21572C 00814 LD HL,FCB1 ;HL => Source FCB 2569 11032C 00815 LD DE,FCB2 ;DE => Destination FCB 256C 012000 00816 LD BC,32 ;32 bytes to Xfer 256F EDB0 00817 LDIR ;Xfer 00818 ; 2571 CD342A 00819 CALL GETSYS2 ;Load SYS2 for OPEN 00820 ; 00821 ; Flash "Insert Source Disk" Message 00822 ; 2574 21622B 00823 LD HL,PMTSRC$ ;Prompt for source 2577 CDC729 00824 CALL FLASH ; and wait for 00825 ; 00826 ; Read in the GAT of the source disk 00827 ; 257A 3A6C29 00828 LD A,(XFRDRV+1) ;P/u source drive 257D 4F 00829 LD C,A ;Stuff in C 257E CD462A 00830 CALL RDGAT ;Read in GAT 2581 C21424 00831 JP NZ,IOERR ;Abort on GAT error 00832 ; 00833 ; Xfer Password, Name, & Date to destination 00834 ; 2584 21CE2D 00835 LD HL,GAT+0CEH ;Disk pw, name, date 2587 11772C 00836 LD DE,SRCSTR ;DE => Destination 258A 011200 00837 LD BC,18 258D EDB0 00838 LDIR ;Xfer 00839 ; 00840 ; OPEN the Source File with LRL of 256 00841 ; 258F CD6B2A 00842 OPNSRC CALL OPENSRC ;Open source file 2592 CD9528 00843 CALL PUTSOUR ;Xfer source filespec 2595 CDDF28 00844 CALL GETCLON ;Get clone data 2598 3A5D2C 00845 LD A,(FCB1+6) ;Get source drive 259B E607 00846 AND 7 259D CDFC28 00847 CALL WHATBIT ;Make into bit instr. 25A0 32A725 00848 LD (SRCBIT),A 25A3 3A0000 00849 LD A,($-$) ;See if new type year 25A4 00850 YFLAG1 EQU $-2 25A6 CB 00851 DB 0CBH ;Bit x,A MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00012 ' stuff LRL here 25BE 71 00871 LD (HL),C ;Stuff LRL for close here 00872 ; 00873 ; Ignore this if not COPY (X) 00874 ; 25BF 3A2325 00875 LD A,(XPARM+1) ;Bypass if not (X) 25C2 B7 00876 OR A 25C3 282D 00877 JR Z,OPNDST 00878 ; 00879 ; Flash "Insert Destination Disk" message 00880 ; 25C5 21972B 00881 LD HL,PMTDST$ ;Prompt destination 25C8 CDC729 00882 CALL FLASH ;Flash until loaded 00883 ; 00884 ; Read in GAT of Destination Disk 00885 ; 25CB 3A6C29 00886 LD A,(XFRDRV+1) ;P/u drive 25CE 4F 00887 LD C,A ;Read GAT from dest 25CF CD462A 00888 CALL RDGAT 25D2 C21424 00889 JP NZ,IOERR ;Jump on GAT read error 00890 ; 00891 ; Xfer Name, Password & Date to destination 00892 ; 25D5 21CE2D 00893 LD HL,GAT+0CEH ;HL => GAT + X'CE' 25D8 11892C 00894 LD DE,DSTSTR ;DE => Destination 25DB 011200 00895 LD BC,18 ;To match up when 25DE D5 00896 PUSH DE 25DF EDB0 00897 LDIR ; swapping disks 25E1 D1 00898 POP DE ;Restore Dest ptr 00899 ; 00900 ; Check if Source ID = Destination ID 00901 ; 25E2 21772C 00902 LD HL,SRCSTR ;Compare source & dest 25E5 0612 00903 LD B,18 ;CANNOT be same MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00013 ' FCB #2 25F5 21002E 00915 LD HL,BUF1 ;HL => I/O buffer #1 25F8 CD672A 00916 CALL INITDES ;Init the file 25FB CD9B28 00917 CALL PUTDEST ;Xfer Dest filespec 25FE 3A092C 00918 LD A,(FCB2+6) ;Get dest drive 2601 E607 00919 AND 7 2603 CDFC28 00920 CALL WHATBIT ;Get bit instr. 2606 320D26 00921 LD (DSTBIT),A 2609 3A0000 00922 LD A,($-$) ;Get date type flag 260A 00923 YFLAG2 EQU $-2 260C CB 00924 DB 0CBH ;Bit x,A 260D 00 00925 DSTBIT DB 0 260E 2804 00926 JR Z,NEWD2 ;Go if dest old 2610 21C426 00927 LD HL,CKTYP ;Else indicate dest new 2613 34 00928 INC (HL) 00929 ; 00930 ; Check if X parm entered 00931 ; 2614 3A2325 00932 NEWD2 LD A,(XPARM+1) ;If (X), then source & 2617 B7 00933 OR A ; dest can be same file 2618 200D 00934 JR NZ,XF2 ;Bypass if (X) 00935 ; 00936 ; Does Source & Dest. have same DEC & drive # 00937 ; 261A 2A5D2C 00938 LD HL,(FCB1+6) ;If SRC & DST have same 261D ED5B092C 00939 LD DE,(FCB2+6) ; DEC & drive, they are 2621 AF 00940 XOR A ; identical, abort if so 2622 ED52 00941 SBC HL,DE 2624 CA3924 00942 JP Z,DSTREQ ;Same - dest spec needed 00943 ; 00944 ; Write revised ERN for space check 00945 ; 2627 CDAC28 00946 XF2 CALL CPYFILE ;"Copying : ..." 262A ED4B632C 00947 LD BC,(FCB1+12) ;P/u ESN 262E CDEF26 00948 CALL WRERN ;Write a FORMAT sector 00949 ; 00950 ; Reset Destination ESN to Zero 00951 ; 2631 210000 00952 LD HL,0 ;Rewind file 2634 220F2C 00953 LD (FCB2+12),HL ; 2637 00954 @@REW ;Rewind the file 2637+3E44 00955 LD A,68 MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00014 ' Source FCB 2646 00968 @@READ ;Read a sector 2646+3E43 00969 LD A,67 2648+EF 00970 RST 40 2649 280B 00971 JR Z,RDREC2 ;Bypass if no error 00972 ; 00973 ; Some sort of I/O Error - Check it out 00974 ; 264B FE1C 00975 CP 1CH ;EOF? 264D 2827 00976 JR Z,GOTEOF 264F FE1D 00977 CP 1DH ;NRN>ERN? 2651 2823 00978 JR Z,GOTEOF 2653 C31424 00979 JP IOERR ;Abort 00980 ; 00981 ; Successful READ - is there enough memory ? 00982 ; 2656 24 00983 RDREC2 INC H ;Bump memory pointer 2657 7C 00984 LD A,H ;Go past top? 2658 FE00 00985 RDREC3 CP $-$ 265A 20E4 00986 JR NZ,RDREC1 ;Loop if not 00987 ; 00988 ; Read in all we could - display "Insert Dest" 00989 ; 265C CD9A29 00990 CALL PMTDST ;Get destination 00991 ; 00992 ; Stuff Source FCB buffer into Destination FCB 00993 ; 265F 21002E 00994 LD HL,BUF1 ;Set buffer start 2662 22062C 00995 RDREC4 LD (FCB2+3),HL 00996 ; 00997 ; Loop to WRITE Destination file 00998 ; 2665 11032C 00999 LD DE,FCB2 ;DE => Destination FCB 2668 01000 @@WRITE ;Write a sector 2668+3E4B 01001 LD A,75 266A+EF 01002 RST 40 266B C21424 01003 JP NZ,IOERR ;Jump on write error 01004 ; 01005 ; Bump memory ptr & check if finished 01006 ; 266E 24 01007 INC H ;Else bump memory pointer MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00015 ' Destin file FCB 2693 01031 @@CLOSE ;Close the dest file 2693+3E3C 01032 LD A,60 2695+EF 01033 RST 40 2696 C21424 01034 JP NZ,IOERR ;Jump on error 01035 ; 01036 ; Get the destination file directory record 01037 ; 2699 01038 @@DIRRD ;Get destin dir entry 2699+3E57 01039 LD A,87 269B+EF 01040 RST 40 269C C21424 01041 JP NZ,IOERR ;I/O error - abort 01042 ; 01043 ; Stuff New LRL into directory entry 01044 ; 269F C5 01045 PUSH BC ;Save drive & DEC 01046 ; 26A0 E5 01047 PUSH HL ;HL => DIR+0 of dest 26A1 3E04 01048 LD A,4 ;Posn to LRL byte 26A3 85 01049 ADD A,L ; 26A4 6F 01050 LD L,A ;HL => DIR+4 (LRL) 26A5 3600 01051 GEOF1 LD (HL),$-$ ;GEOF1+1 contains LRL 26A7 E1 01052 POP HL ;Restore HL 01053 ; 01054 ; Pick up the Clone Parameter 01055 ; 26A8 11FFFF 01056 CPARM LD DE,-1 ;Default = ON 26AB 7A 01057 LD A,D ;Was it changed ? 26AC B3 01058 OR E 26AD 2822 01059 JR Z,GEOF2 ;CLONE = N MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00016 ' Attr, DE => DIR+0 26B4 010300 01066 LD BC,3 ;Move in prot/date, etc 26B7 EDB0 01067 LDIR 01068 ; 01069 ; Transfer Password fields to entry 01070 ; 26B9 3E0D 01071 LD A,13 ;Pt to dir pswd fields 26BB 83 01072 ADD A,E 26BC 5F 01073 LD E,A ;DE => DIR+16 26BD 0E04 01074 LD C,4 ;BC = 4 bytes to xfer 26BF EDB0 01075 LDIR 26C1 1B 01076 DEC DE ;Pt at new year, DIR+19 26C2 E1 01077 POP HL ;Get back DIR+0 26C3 3EFE 01078 LD A,0FEH ;Ck if old type to new 26C4 01079 CKTYP EQU $-1 26C5 B7 01080 OR A 26C6 2009 01081 JR NZ,GEOF2 ;Was not old to new 26C8 23 01082 INC HL ;Was old to new, change 26C9 23 01083 INC HL ; date/time 26CA 7E 01084 LD A,(HL) ;Get old year 26CB E607 01085 AND 7 26CD 12 01086 LD (DE),A ;Year to DIR+19 26CE 1B 01087 DEC DE 26CF AF 01088 XOR A ;Make time 0 26D0 12 01089 LD (DE),A ;Store in DIR+18 01090 ; 01091 ; Write out Directory entry 01092 ; 26D1 C1 01093 GEOF2 POP BC ;Rcvr drive & DEC 26D2 01094 @@DIRWR ;Write Sector with entry 26D2+3E58 01095 LD A,88 26D4+EF 01096 RST 40 26D5 180C 01097 JR GEOF4 ;Go to Error check 01098 ; 01099 ; CLOSE the destination file 01100 ; 26D7 21FFFF 01101 GEOF3A LD HL,-1 ;Abort JCL 26DA 22EA26 01102 LD (RETCOD+1),HL ; if hit 26DD 11032C 01103 GEOF3 LD DE,FCB2 ;DE => Destination FCB 26E0 01104 @@CLOSE ;Close the file 26E0+3E3C 01105 LD A,60 26E2+EF 01106 RST 40 26E3 C21424 01107 GEOF4 JP NZ,IOERR ;I/O Error - Abort 01108 ; 01109 ; Flash "Insert SYSTEM disk" & exit 01110 ; 26E6 CD6629 01111 GOHOME CALL PMTSYS ;Prompt SYSTEM if needed MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00017 ' File #2 FCB 26F2 78 01118 LD A,B ;Don't bother to write 26F3 B1 01119 OR C ; a sector if source 26F4 C8 01120 RET Z ; is empty 01121 ; 01122 ; Position to ERN of File #2 01123 ; 26F5 0B 01124 DEC BC ;Adj for ERN 26F6 01125 @@POSN ;Position to ERN 26F6+3E42 01126 LD A,66 26F8+EF 01127 RST 40 26F9 D5 01128 PUSH DE ;Save FCB ptr 01129 ; 01130 ; Fill a buffer of X'E5's 01131 ; 26FA 21002E 01132 LD HL,BUF1 ;HL => I/O buffer 26FD 11012E 01133 LD DE,BUF1+1 ;DE => I/O buffer+1 2700 01FF00 01134 LD BC,255 ;255+1 bytes to fill 2703 36E5 01135 LD (HL),0E5H ;Format byte = X'E5' 2705 EDB0 01136 LDIR ;Fill buffer 01137 ; 01138 ; Write ERN of File #2 01139 ; 2707 D1 01140 POP DE ;DE => FCB #2 2708 01141 @@WRITE ;Write sector 2708+3E4B 01142 LD A,75 270A+EF 01143 RST 40 270B C8 01144 RET Z ;RETurn if no error 270C C31424 01145 JP IOERR ;Error - abort 01146 ; 01147 ; BYTEIO - OPEN Source or dest using byte I/O 01148 ; 270F CD6B2A 01149 BYTEIO CALL OPENSRC ;OPEN source file 2712 CD9528 01150 CALL PUTSOUR ;Get source filespec 01151 ; 01152 ; INIT the dest device with LRL from parm 01153 ; 2715 3AB525 01154 LD A,(LPARM+1) ;P/u LRL from Parm 2718 47 01155 LD B,A ;Open destination 2719 11032C 01156 LD DE,FCB2 ;DE => FCB #2 271C 21002F 01157 LD HL,BUF2 ;Different buffer 271F 3E3A 01158 LD A,@INIT ;@INIT SVC # 2721 CD7C2A 01159 CALL GETFILE ;Issue it 2724 CD9B28 01160 CALL PUTDEST ;Get dest devspec 2727 CDAC28 01161 CALL CPYFILE ;"Copying/Appending : .." 272A AF 01162 XOR A ;Reset LRL = 0 272B 320C2C 01163 LD (FCB2+9),A ;For sector I/O MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00018 ' key hit ? 01172 ; 01173 BYTIO1 2733 CD6229 01174 CALL CKBRK ;Was the key 2736 C2D726 01175 E_O_F JP NZ,GEOF3A ; hit ???? 01176 ; 01177 ; The was not hit - get a character 01178 ; 2739 11572C 01179 LD DE,FCB1 ;DE => Source FCB 273C 01180 @@GET ;Get a byte 273C+3E03 01181 LD A,3 273E+EF 01182 RST 40 273F 280B 01183 JR Z,BYTIO4 ;Good - stuff it 01184 ; 01185 ; If Error # = 0, then try @GET again 01186 ; 2741 B7 01187 OR A ;Error # = 0 ? 2742 28EF 01188 JR Z,BYTIO1 ;Yes - @GET again 01189 ; 01190 ; Is the Error an "End of File" error ? 01191 ; 2744 FE1C 01192 CP 1CH ;EOF? 2746 CADD26 01193 JP Z,GEOF3 ;Yes - finished 2749 C31424 01194 JP IOERR ;I/O error - abort 01195 ; 01196 ; Was the source character a ? 01197 ; 274C FE80 01198 BYTIO4 CP BREAK ; character ? 274E 2007 01199 JR NZ,BYTIO4A ;No - @PUT it 01200 ; 01201 ; Source = --- is the BREAK bit set ? 01202 ; 2750 CD6229 01203 CALL CKBRK ; bit set ? 2753 20E1 01204 JR NZ,E_O_F ;Yes - stop 2755 3E80 01205 LD A,BREAK ;Restore A 01206 ; 01207 ; Output byte to destination 01208 ; 2757 11032C 01209 BYTIO4A LD DE,FCB2 ;DE => Dest. Device/File 275A 4F 01210 LD C,A ;Stuff byte in C for @PUT 275B 01211 @@PUT ;Output byte 275B+3E04 01212 LD A,4 275D+EF 01213 RST 40 275E C21424 01214 JP NZ,IOERR ;NZ - I/O Error 01215 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00019 ' Buffer containing characters to parse 01230 ; DE => Destination of converted line 01231 ; 276A CD7227 01232 CVRTUC CALL CVRT ;Convert line 276D 3E0D 01233 LD A,CR ;Ensure end-of-line 276F 12 01234 LD (DE),A ; with a carriage return 2770 C9 01235 RET 01236 ; 01237 ; Position to First non-space character 01238 ; 2771 23 01239 CVRT0 INC HL 2772 7E 01240 CVRT LD A,(HL) ;P/u possible dest char 2773 FE0D 01241 CP CR ;Exit on CR 2775 C8 01242 RET Z 2776 FE20 01243 CP ' ' ;Loop on space 2778 28F7 01244 JR Z,CVRT0 277A 2B 01245 DEC HL ;Backup to 1st separator 01246 ; 01247 ; HL => Filespec or Devspec, convert to U/C 01248 ; 277B 0620 01249 LD B,32 ;Max 32 chars 277D 7E 01250 COP1 LD A,(HL) ;Transfer the partial 277E FE61 01251 CP 'a' ;Cvrt lc to uc 2780 3806 01252 JR C,COP2 2782 FE7B 01253 CP 'z'+1 2784 3002 01254 JR NC,COP2 2786 CBAF 01255 RES 5,A 2788 12 01256 COP2 LD (DE),A ;Filespec until paren 2789 FE0D 01257 CP CR ;RETurn if terminator 278B C8 01258 RET Z 278C FE28 01259 CP '(' ;Parameter ? 278E C8 01260 RET Z 278F 23 01261 INC HL ;Bump ptr 2790 13 01262 INC DE 2791 10EA 01263 DJNZ COP1 ;32 characters max 2793 C9 01264 RET 01265 ; 01266 ; PRSPC - Match Source & Dest. specs for defaults 01267 ; 2794 21572C 01268 PRSPC LD HL,FCB1 ;HL => Source FCB 2797 11032C 01269 LD DE,FCB2 ;DE => Destin FCB 01270 ; 01271 ; Abort if first character is illegal 01272 ; 279A 1A 01273 LD A,(DE) ;P/u 1st char of dest 279B FE0D 01274 CP CR ;Is it a C/R ? 279D CA3924 01275 JP Z,DSTREQ ;"Destination spec req" 27A0 FE30 01276 CP '0' ;Numeric ? 27A2 3805 01277 JR C,CHKDEST 27A4 FE3A 01278 CP '9'+1 MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00022 ' Start of Destination Field 01297 ; B = Delimiter to Position one byte after 01298 ; 27BC 13 01299 PRSPC1 INC DE 01300 ; 01301 ; Finished with Field (Delimiter hit) ? 01302 ; 27BD 1A 01303 PRSPC2 LD A,(DE) ;Is the next char the 27BE B8 01304 CP B ;Separator to look for 27BF 280E 01305 JR Z,PRSPC3 01306 ; 01307 ; Skip over an existing destination field 01308 ; 27C1 FE41 01309 CP 'A' ;Alphabetic ? 27C3 30F7 01310 JR NC,PRSPC1 ;Yes - skip it 27C5 FE30 01311 CP '0' ;Numeric ? 27C7 3808 01312 JR C,PRSPC4 ;No - use source field 27C9 FE3A 01313 CP '9'+1 ;Numeric ? 27CB 38EF 01314 JR C,PRSPC1 ;Yes - skip it 01315 ; 27CD 1802 01316 JR PRSPC4 ;Use source field 01317 ; 01318 ; Hit the delimiter - Position to next char 01319 ; 27CF 13 01320 PRSPC3 INC DE ;Position to next field 27D0 C9 01321 RET ; and RETurn 01322 ; 01323 ; Scan Source spec & see if it contains field 01324 ; 27D1 E5 01325 PRSPC4 PUSH HL ;Save ptr to source 27D2 7E 01326 PRSPC5 LD A,(HL) ;Grab a source char 27D3 23 01327 INC HL ;Position to next char 01328 ; 01329 ; Is the character a Terminator ? 01330 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00023 ' FCB+0 2828 1A 01421 LD A,(DE) ;Device ? 2829 FE2A 01422 CP '*' 282B 2807 01423 JR Z,DUN2 ;Yes - done 282D 363A 01424 LD (HL),':' ;No - overwrite with ":" 282F 23 01425 INC HL ;Bump 2830 229228 01426 LD (DSPEC+1),HL ;Save drivespec location 2833 23 01427 INC HL ;Bump 2834 3603 01428 DUN2 LD (HL),ETX ;End with X'03' 2836 E1 01429 POP HL ;HL => Disk I/O buffer 2837 F1 01430 POP AF ;A = SVC # 2838 326C28 01431 LD (SVCNUM+1),A ;Save SVC # 01432 ; 01433 ; Issue Supervisory Call 01434 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00025 ' Destination of Filespec/Devspec 01526 ; 289F D5 01527 XBUFF PUSH DE ;Save FCB ptr 28A0 11232C 01528 LD DE,TEMBUF ;DE => Source 28A3 EB 01529 EX DE,HL ;Swap for LDIR 28A4 010F00 01530 LD BC,15 ;15 bytes Max 28A7 EDB0 01531 LDIR ;Xfer 28A9 D1 01532 POP DE ;DE => FCB+0 28AA E1 01533 POP HL ;Recover Buffer ptr 28AB C9 01534 RET ;Done 01535 ; 01536 ; CPYFILE - Display Copying/Appending Message 01537 ; 28AC E5 01538 CPYFILE PUSH HL ;Save registers MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00027 ' FCB of filespec 01558 ; IX <= FCB of filespec 01559 ; A <= LRL of file 01560 ; 28D0 D5 01561 GETLRL PUSH DE ;Xfer fcb to IX 28D1 DDE1 01562 POP IX 28D3 DD7E07 01563 LD A,(IX+7) ;P/u DEC 28D6 E6E0 01564 AND 0E0H ;Calculate Record Number 28D8 C604 01565 ADD A,4 ;Pt to LRL 28DA 6F 01566 LD L,A 28DB 2600 01567 SYSBUF LD H,$-$ ;P/u hi-byte of SBUFF$ 28DD 7E 01568 LD A,(HL) ;P/u LRL 28DE C9 01569 RET 01570 ; 01571 ; GETCLON - Recover Cloning info from Source 01572 ; 28DF D5 01573 GETCLON PUSH DE 28E0 DDE1 01574 POP IX ;Xfer FCB to IX 28E2 DD7E07 01575 LD A,(IX+7) ;P/u source DEC 28E5 E6E0 01576 AND 0E0H ;Pt to start of record 28E7 6F 01577 LD L,A ;Pt to core record 28E8 2600 01578 SYSBUF2 LD H,$-$ ;P/u hi-byte of SBUFF$ 28EA 119B2C 01579 LD DE,CLONSAV ;Save clone info 28ED 010300 01580 LD BC,3 28F0 EDB0 01581 LDIR 28F2 3E0D 01582 LD A,13 ;Pt to password fields 28F4 85 01583 ADD A,L 28F5 6F 01584 LD L,A 28F6 010400 01585 LD BC,4 ;Save them also 28F9 EDB0 01586 LDIR 28FB C9 01587 RET 01588 ; 01589 ; Change drive # in A to Bit x,A opcode 01590 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00028 ' System Flags 2906+3E65 01606 LD A,101 2908+EF 01607 RST 40 2909 FDE5 01608 PUSH IY 290B D1 01609 POP DE 290C 211800 01610 LD HL,'Y'-'A' ;Find year type flag locn 290F 19 01611 ADD HL,DE 2910 22A425 01612 LD (YFLAG1),HL ;Save for date test 2913 220A26 01613 LD (YFLAG2),HL 2916 210000 01614 LD HL,0 ;P/u HIGH$ 2919 45 01615 LD B,L 291A FDCB024E 01616 BIT 1,(IY+CFLAG$) ;@CMNDR ? 291E 2801 01617 JR Z,USEHI ;No - use HIGH$ 2920 04 01618 INC B ;Yes - use LOW$ 2921 01619 USEHI @@HIGH$ 2921+3E64 01620 LD A,100 2923+EF 01621 RST 40 01622 ; 01623 ; Stuff high byte into memory check locations 01624 ; 2924 23 01625 INC HL ; 256-byte block 2925 25 01626 DEC H 2926 7C 01627 LD A,H ;Set up test bytes 2927 325926 01628 LD (RDREC3+1),A 292A 327126 01629 LD (RDREC5+1),A 292D 324729 01630 LD (GEOF6+1),A 01631 ; 01632 ; Pick up high byte of System Buffer (SBUFF$) 01633 ; 2930 010000 01634 LD BC,0 ;DEC = 0, Drive = 0 2933 01635 @@DIRRD ;Read in BOOT/SYS 2933+3E57 01636 LD A,87 2935+EF 01637 RST 40 2936 7C 01638 LD A,H ;P/u high byte of SBUFF$ 2937 32DC28 01639 LD (SYSBUF+1),A ;Stuff away for LRL 293A 32E928 01640 LD (SYSBUF2+1),A ;Stuff away for CLONE 01641 ; 01642 ; Reset & bits MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00029 ' Dest. FCB 2956 01669 @@WRITE ;Write a record 2956+3E4B 01670 LD A,75 2958+EF 01671 RST 40 2959 C21424 01672 JP NZ,IOERR ;Jump on write error 01673 ; 01674 ; Finished writing ? 01675 ; 295C 24 01676 INC H ;Bump buff ptr 295D 7C 01677 LD A,H 295E B8 01678 CP B ;Finished? 295F 20EF 01679 JR NZ,GEOF7 ;Loop if not 2961 C9 01680 RET ;Return 01681 ; 01682 ; CKBRK - Check for BREAK 01683 ; NZ - key was depressed 01684 ; 01685 CKBRK 2962 01686 @@CKBRKC ; hit ? 2962+3E6A 01687 LD A,106 2964+EF 01688 RST 40 2965 C9 01689 RET ;Z - No, NZ - Yes 01690 ; 01691 ; PMTSYS - Prompt for a system disk 01692 ; 2966 3A2325 01693 PMTSYS LD A,(XPARM+1) ;X parameter entered ? 2969 B7 01694 OR A MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00030 ' 2976 E1 01708 POP HL ;Restore HL 2977 C9 01709 RET 01710 ; 01711 ; PMTSRC - Prompt for Source Disk 01712 ; 2978 3A2325 01713 PMTSRC LD A,(XPARM+1) ;X parameter entered ? 297B B7 01714 OR A 297C C8 01715 RET Z ;No - don't display it 01716 ; 01717 ; Flash "Insert Source disk" message 01718 ; 297D E5 01719 PUSH HL 297E 21622B 01720 LD HL,PMTSRC$ ;Init for source 2981 CDC729 01721 CALL FLASH ;Dsp msg & await reply 01722 ; 01723 ; Read in the GAT from the Source Disk 01724 ; 2984 3A6C29 01725 LD A,(XFRDRV+1) ;P/u drive 2987 4F 01726 LD C,A ;Stuff in C 2988 CD462A 01727 CALL RDGAT ;Get GAT 01728 ; 01729 ; Is this the correct source disk ? 01730 ; 298B 21CE2D 01731 LD HL,GAT+0CEH ;HL => Name & Date field 298E 11772C 01732 LD DE,SRCSTR ;DE => Original Source 2991 0612 01733 LD B,18 ;Same source disk ? 2993 CDBC29 01734 CALL CPRHLDE ;Z - same, NZ - different 2996 E1 01735 POP HL ;Restore HL 2997 20DF 01736 JR NZ,PMTSRC ;Re-request if not match 2999 C9 01737 RET ;Okay 01738 ; 01739 ; PMTDST - Prompt for Destination disk 01740 ; 299A 3A2325 01741 PMTDST LD A,(XPARM+1) ;X parameter entered ? 299D B7 01742 OR A 299E C8 01743 RET Z ;No - RETurn 01744 ; 01745 ; Flash "Insert Destination disk" message 01746 ; MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00031 ' Name & Date field 29B0 11892C 01760 LD DE,DSTSTR ;DE => Original dest 29B3 0612 01761 LD B,18 ;Same destination disk ? 29B5 CDBC29 01762 CALL CPRHLDE ;Z - Same, NZ - different 29B8 E1 01763 POP HL ;Restore HL 29B9 20DF 01764 JR NZ,PMTDST ;Re-request if wrong disk 29BB C9 01765 RET 01766 ; 01767 ; CPRHLDE - Compare string @ HL to string @ DE 01768 ; B => Number of characters to compare 01769 ; Z - Set if strings match 01770 ; 29BC 1A 01771 CPRHLDE LD A,(DE) ;P/u character @ DE 29BD BE 01772 CP (HL) ;Same ? 29BE C0 01773 RET NZ ;Ret (NZ) if no match 29BF 23 01774 INC HL ;Bump each 29C0 13 01775 INC DE 29C1 10F9 01776 DJNZ CPRHLDE ;Check B characters 29C3 C9 01777 RET ;Matched - RETurn Z 01778 ; 01779 ; FLASH & FLASH0 - Flash a message string 01780 ; HL => Message string to flash 01781 ; 29C4 CD0E2A 01782 FLASH0 CALL RESKFLG ;Reset Pause, Enter 01783 ; 01784 ; Pause briefly 01785 ; 29C7 01FD41 01786 FLASH LD BC,16893 ;Delay count 29CA 01787 @@PAUSE 29CA+3E10 01788 LD A,16 29CC+EF 01789 RST 40 01790 ; 01791 ; Wait for no Enter or Break 01792 ; 29CD FD7E0A 01793 LD A,(IY+KFLAG$) ;P/u KFLAG$ 29D0 E605 01794 AND 4!1 ;Wait until no ENTER!BRK 29D2 20F0 01795 JR NZ,FLASH0 ;Still down, go flash 29D4 CD0E2A 01796 CALL RESKFLG ;Reset 01797 ; 01798 ; Display the message & wait for 1/4 second MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00032 ' 01813 ; 29ED CD6229 01814 FLS2 CALL CKBRK ;Check for 29F0 C24924 01815 JP NZ,ABORT 01816 ; 01817 ; Was the pressed ? 01818 ; 29F3 FDCB0A56 01819 BIT 2,(IY+KFLAG$) ; hit ? 29F7 2006 01820 JR NZ,FLS4 ;Go on ENTER down 01821 ; 01822 ; Nothing hit - Count down 01823 ; 29F9 0B 01824 DEC BC ;Decrement count 29FA 78 01825 LD A,B ;Done ? 29FB B1 01826 OR C 29FC 20EF 01827 JR NZ,FLS2 ;No - check again 29FE C9 01828 RET ;Yes - RETurn 01829 ; 01830 ; hit - POP ret addr & clr type ahead 01831 ; 29FF F1 01832 FLS4 POP AF ;Pop return address 2A00 01833 CLRTYPE @@KBD ;Clear type ahead 2A00+3E08 01834 LD A,8 2A02+EF 01835 RST 40 2A03 28FB 01836 JR Z,CLRTYPE ;Good - get another 2A05 B7 01837 OR A ;O.K. ? 2A06 C21424 01838 JP NZ,IOERR ;No - I/O Error 01839 ; 01840 ; Erase message line 01841 ; 2A09 0E1E 01842 LD C,EL ;Erase line 2A0B CD1A2A 01843 CALL DISPB ;Fall into RESKFLG 01844 ; 01845 ; RESKFLG - Reset & bits in KFLAG 01846 ; 2A0E 01847 RESKFLG @@FLAGS ;IY => Flag Table 2A0E+3E65 01848 LD A,101 2A10+EF 01849 RST 40 2A11 FD7E0A 01850 LD A,(IY+KFLAG$) ;P/u KFLAG$ MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00033 ' Buffer 01913 ; 2A4A 01914 @@GTDCT ;Point IY to DCT 2A4A+3E51 01915 LD A,81 2A4C+EF 01916 RST 40 2A4D FD5609 01917 LD D,(IY+9) ;P/u dir cyl in D 2A50 1E00 01918 LD E,0 ;GAT is sector 0 2A52 21002D 01919 LD HL,GAT ;HL => GAT I/O Buffer 2A55 01920 @@RDSSC ;Read Track D, Sector E 2A55+3E55 01921 LD A,85 2A57+EF 01922 RST 40 01923 ; 01924 ; Restore Registers 01925 ; 2A58 FDE1 01926 POP IY ;Restore IY 2A5A E1 01927 POP HL ;Restore HL & DE 2A5B D1 01928 POP DE 2A5C 3E14 01929 LD A,14H ;Else reset to GAT error 2A5E C9 01930 RET ;RETurn with condition 01931 ; 01932 ; OPENDES - OPEN Destination File 01933 ; 2A5F 21002F 01934 OPENDES LD HL,BUF2 ;HL => Dest I/O Buffer 2A62 11032C 01935 LD DE,FCB2 ;DE => Dest FCB 2A65 1811 01936 JR OPENFIL ;Open the file 01937 ; 01938 ; INITDES - INIT the destination file 01939 ; 2A67 3E3A 01940 INITDES LD A,@INIT ;A = @INIT SVC Number 2A69 180F 01941 JR INITFIL ;Go into OPEN routine 01942 ; 01943 ; OPENSRC - Open Source File 01944 ; 2A6B 11572C 01945 OPENSRC LD DE,FCB1 ;DE => Source FCB 01946 ; 01947 ; Set the File OPEN inhibit flag 01948 ; 2A6E 01949 @@FLAGS ;IY => System Flag Table 2A6E+3E65 01950 LD A,101 2A70+EF 01951 RST 40 2A71 FDCB12C6 01952 SET 0,(IY+SFLAG$) ;Set file open inhibit 01953 ; 2A75 21002E 01954 OPENSR2 LD HL,BUF1 ;HL => Source I/O buffer MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00035 ' ' 6E 76 61 6C 69 64 20 63 6F 6D 6D 61 6E 64 20 64 75 72 69 6E 67 20 3C 44 4F 3E 20 2B0E 70 01974 DB 'processing',CR 72 6F 63 65 73 73 69 6E 67 0D 2B19 53 01975 SAMERR$ DB 'Source and destination disks' 6F 75 72 63 65 20 61 6E 64 20 64 65 73 74 69 6E 61 74 69 6F 6E 20 64 69 73 6B 73 2B35 20 01976 DB ' are the same',CR 61 72 65 20 74 68 65 20 73 61 6D 65 0D MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00036 '' 1E 20 49 6E 73 65 72 74 20 53 59 53 54 45 4D 20 64 69 73 6B 20 3C 45 4E 54 45 52 3E 2B60 1D 01979 DB BL,ETX 03 01980 ; 2B62 1D 01981 PMTSRC$ DB BL,EL,' Insert SOURCE disk ' 1E 20 49 6E 73 65 72 74 20 53 4F 55 52 43 45 20 64 69 73 6B 20 2B78 69 01982 DB 'in drive :' 6E 20 64 72 69 76 65 20 3A 2B82 30 01983 SRC_DR DB '0 and press ' 20 61 6E 64 20 70 72 65 73 73 20 3C 45 4E 54 45 52 3E 2B95 1D 01984 DB BL,ETX 03 01985 ; 2B97 1D 01986 PMTDST$ DB BL,EL,' Insert DESTINATION disk ' 1E 20 49 6E 73 65 72 74 20 44 45 53 54 49 4E 41 54 49 4F 4E 20 64 69 73 6B 20 2BB2 69 01987 DB 'in drive :' 6E 20 64 72 69 76 65 20 3A 2BBC 30 01988 DEST_DR DB '0 and press ' 20 61 6E 64 20 70 72 65 73 73 20 3C 45 4E 54 45 52 3E 2BCF 1D 01989 DB BL,ETX 03 01990 ; 01991 ; 01992 ; APPEND PARAMETER TABLE 01993 ; 2BD1 80 01994 APPTBL DB 80H ;Use new @PARAM 01995 ; 2BD2 55 01996 DB FLAG!ABB!5 2BD3 53 01997 DB 'STRIP' 54 52 49 50 2BD8 00 01998 DB 0 2BD9 AC24 01999 DW SPARM+1 02000 ; 2BDB 54 02001 DB FLAG!ABB!4 2BDC 45 02002 DB 'ECHO' 43 48 4F MISOSYS EDAS-4.3 04/11/99 00:03:36 COPY/APPEND - LS-DOS 6.3 Page 00037 '