TITLE 'MYDOS UTILITIES PROGRAM' LIST I ; Copyright 1984, Charles Marslett, Wordmark Systems ; ; Permission is granted by the author for any use whatsoever of this ; code, so long as this notice remains in the source code, and so ; long as the source to this routine, however modified or unmodified, ; is made available for a nominal cost. ; ; FMS ENTRY POINTS (These should not be changed lightly!) ; ; [Data] ; FILES = $0709 ;MAX NUMBER OF OPEN DISK FILES RAMDKU = $070A ;LOC OF RAM DISK DRIVE NO DFUNIT = $070B ;CURRENT DEFAULT UNIT NUMBER SECDAT = $070E ;CURRENT I/O SECTOR SIZE (1=128, 2=256) DLINK = $0711 ;OFFSET TO THE LINK FIELD IN EACH SECTOR ANDCD = $0734 ;OFFSET TO THE MASK EXTRACTING NEXT SECTOR BITS DKIO2 = $0769 ;SECTOR I/O SUBROUTINE ENTRY POINT WRCMD = $0779 ;ADDRESS OF WRITE COMMAND BYTE (50/57) STATE = $07BE ;CURRENT STATE OF DUP/MEM/AUTORUN DKTYPE = $07C4 ;DISK SECTOR SIZE TABLE (8 BYTES) DRVDEF = $07CC ;FLOPPY DRIVE CONFIGURATION TABLE (8-BYTES) MDINIT = $07E0 ;MDOS initialization code MAPBUF = $0908 ;512-BYTE BUFFER DOWN IN RESIDENT AREA HDTAB = $0B15 ;HARD DISK DRIVE SIZE TABLE (0 = FLOPPY) WOTDCB = $0B25 ;PROTOTYPE DRIVE MODE SET TABLE MAPAGE = $0BBA ;Page configuration table (64-bytes) in MDOS ; ; [Code] ; CONFIGR = $0B2F ;CONFIGURE DRIVE SUBROUTINE ENTRY RDCONF = $0B9A ;READ CONFIGURATION STATE SUBROUTINE ENTRY STEPBP = $0C5D ;STEP TO THE NEXT BOOT SECTOR BUFFER ADDRESS ; ; ; RAM disk I/O driver patch locations ; RDKLMT = $0C3A ;Size of RAM disk RDAD1 = $0C0D ;Three locations where the control address RDAD2 = $0C19 ; needs to be stored RDAD3 = $0C4C NMLMAP = $0C14 ;Mask (1=part of mapping register) ; ; Starting location for the MDUP code ; ORIGIN = $1AE0 ;FIRST BYTE AFTER MDOS(19CE - 4.00) ; ; Patches linking MDUP into MDOS ; ORG $70C DW RESEND ;START OF FREE MEMORY (end of resident stuff) ; ORG $085E JMP INIT ;DUP INITIALIZATION ENTRY POINT ; ; ; DEFINED VALUES ; CR = $9B EOF = $88 ; OPEN = 3 GETREC = 5 GETCHR = 7 PUTCHR = 11 CLOSE = 12 RENAME = 32 DELETE = 33 LOCK = 35 UNLOCK = 36 FORMAT = 254 ; ; ROM AND RAM ADDRESSES ; CARTST = $BFFA ; AUDF1 = $D200 AUDCTL = $D208 SKRES = $D20A SERIN = $D20D SEROUT = $D20D IRQEN = $D20E SKCTL = $D20F PBCTL = $D303 ; FASCII = $D8E6 IFP = $D9AA EDITRV = $E400 DSKIO = $E453 CIOV = $E456 SIOV = $E459 SETVBV = $E45C CIOINV = $E46E ; WARMST = $08 DOSVEC = $0A DOSINI = $0C POKMSK = $10 BRKKEY = $11 RAMLO = $1A ; DUNITZ = $21 DCMDZ = $22 DBUFZ = $24 DLENZ = $28 DAUX1Z = $2A DAUX2Z = $2B DAUX3Z = $2C ; LMARGN = $52 RMARGN = $53 ; FR0 = $D4 VECTOR = $D4 HDBUF = $D6 BUFAD = $DA BUFLEN = $DC FNPTR = $DE TEMP = $E0 TEMP2 = $E1 ; INBUFF = $F3 ; VSERIN = $20A VIMIRQ = $216 CDTMV3 = $21C CDTMF3 = $22A SHFLOK = $2BE RUNAD = $2E0 INITAD = $2E2 MEMTOP = $2E5 MEMLO = $2E7 DVSTAT = $2EA ;SYSTEM STATUS BUFFER ; DDEVIC = $300 DUNIT = $301 DCMD = $302 DSTAT = $303 DBUF = $304 DTIMEO = $306 DLEN = $308 DAUX = $30A HATABS = $31A ; IOCB = $340 ICDNO = $341 ICMD = $342 ISTAT = $343 IBUF = $344 ILEN = $348 IAUX = $34A ; ORG ORIGIN ;START OF MDUP ; INCLUDE D:MDUP1.ASM ;RESIDENT CODE ; MSBASE = * ;START OF NON-RESIDENT CODE ; INCLUDE D:MDUP2.ASM ;DATA AREAS AND THE MAIN MENU ; INCLUDE D:MDUP3.ASM ;COPY, LIST, CREATE, AND DELETE FUNCTIONS ; INCLUDE D:MDUP4.ASM ;ENTIRE DISK FUNCS (FORMAT, COPY, WRT BOOT) ; INCLUDE D:MDUP5.ASM ;PROGRAM LOAD AND SAVE FUNCTIONS ; INCLUDE D:MDUP6.ASM ;CONFIGURATION FUNCTIONS ; INCLUDE D:MDUP7.ASM ;MISC. SUBROUTINES ; DUPEND = * DUPLEN = DUPEND-DUPBASE MSLEN = DUPEND-MSBASE END MENUSL