TITLE 'LARGE DISK FMS' ; ; 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. ; LIST C,G,I ; ; DISK I/O EQUATES ; DKADDR = $31 ;SIO ADDRESS OF FIRST DISK DRIVE (D1:) TODK = $80 ;STATUS BYTE FOR A DATA TRANSFER TO THE DISK FROMDK = $40 ;STATUS BYTE FOR A DATA TRANSFER FROM THE DISK ; READ = 'R' ;SIO COMMAND EQUATE FOR READING A DISK WRITE = 'P' ;SIO COMMAND EQUATE FOR WRITING A DISK RDSTAT = 'S' ;SIO COMMAND EQUATE FOR READING THE DRIVE STATUS WRITEV = 'W' ;SIO COMMAND EQUATE FOR WRITING A DISK with VERIFY FMTCMD = '!' ;SIO COMMAND TO FORMAT A DISKETTE ; LK128 = 125 ;LOCATION OF 128 BYTE SECTOR LINK LK256 = 253 ;LOCATION OF 256 BYTE SECTOR LINK ; WARMST = $0008 DOSVEC = $000A DOSINI = $000C ; ORG $0020 ICHIDZ DS 1 ICDNOZ DS 1 ICCOMZ DS 1 ICSTAZ DS 1 ICBALZ DS 1 ICBAHZ DS 1 ICPTLZ DS 2 ICBLLZ DS 1 ICBLHZ DS 1 ICAX1Z DS 1 ICAX2Z DS 1 DS 2 CURFCB DS 1 DATBYT DS 1 ; ORG $0031 CHKSUM DS 1 BUFR DS 2 ; ORG $0043 FMSZPG DS 2 DIRDSP = FMSZPG DIRSEC = FMSZPG+1 CURFNO DS 1 FMSBPT DS 2 TMP1 DS 1 TMP2 DS 1 ; ; DEFINITIONS FOR THE ATARI ROM EXECUTIVE ; DSKTIM = $0246 RUNADR = $02E0 INIADR = $02E2 MEMTOP = $02E7 DVSTAT = $02EA ; ; SIO COMMAND BUFFER DEFINITION ; ORG $0300 DDEVIC DS 1 DUNIT DS 1 DCOMND DS 1 DSTATS DS 1 DBUFLO DS 1 DBUFHI DS 1 DTIMLO DS 2 DBYTLO DS 1 DBYTHI DS 1 DAUX1 DS 1 DAUX2 DS 1 ; ; I/O SYSTEM DEFINITIONS ; HATABS = $031A ;BASE OF THE DYNAMIC HANDLER TABLE ; ; CIO COMMAND TABLE BASE DEFINITIONS (FOR IOCB $00) ; ORG $0340 ICHID DS 1 ICDNO DS 1 ICCOM DS 1 ICSTA DS 1 ICBAL DS 1 ICBAH DS 1 ICPTL DS 1 ICPTH DS 1 ICBLL DS 1 ICBLH DS 1 ICAX1 DS 1 ICAX2 DS 1 ICSPR DS 4 ; ; CARTRIDGE SUBSYSTEM DEFINITIONS ; CARINIT = $BFFE ;LOCATION OF INIT VECTOR CARTEST = $BFFC ;LOCATION OF FLAGS CARRUN = $BFFA ;LOCATION OF RUN VECTOR ; ; 800XL MAP CONTROL ; MAPREG = $D301 ; ; OTHER I/O PORT DEFINITIONS ; NMIEN = $D40E ; ; ROM VECTORS ; DSKINV = $E453 ;SINGLE DENSITY DISK I/O ENTRY POINT SIOV = $E459 ;SERIAL I/O O.S. ENTRY POINT ; INCLUDE D:MDOS1.ASM ;DATA AND CODE THAT REMAINS FIXED ; INCLUDE D:MDOS2.ASM ;FILE SYSTEM FUNCTIONS ; INCLUDE D:MDOS3.ASM ;INTERNAL DISK I/O ROUTINES ; INCLUDE D:MDOS4.ASM ;UTILITY SUBROUTINES ; BOOTND END ;START DUP HERE!