MS-DOS/v2.0/source/RDATA.ASM

216 lines
6.6 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

TITLE COMMAND Resident DATA
INCLUDE COMSW.ASM
.xlist
.xcref
INCLUDE COMSEG.ASM
.list
.cref
INCLUDE IFEQU.ASM
CODERES SEGMENT PUBLIC
EXTRN THEADFIX:NEAR,EXT_EXEC:NEAR,TREMCHECK:NEAR
CODERES ENDS
TRANCODE SEGMENT PUBLIC
EXTRN COMMAND:NEAR
TRANCODE ENDS
ZEXEC_CODE SEGMENT PUBLIC
IF IBMVER
EXTRN $EXEC:NEAR
ENDIF
ZEXEC_CODE ENDS
; Data for resident portion
DATARES SEGMENT PUBLIC BYTE
PUBLIC MESBAS,MESADD,MREAD,MWRITE,ERRMES,IOTYP,DRVNUM,DRVLET,NEWLIN
PUBLIC DEVEMES,DEVENAM,REQUEST,CDEVAT,BADFAT,COMBAD,NEEDCOM,DRVMSG
PUBLIC COMLET,DEFMSG,PROMPT,ENDBATMES,EXECEMES,EXEBAD,TOOBIG,NOCOM
PUBLIC NOHANDMES,BMEMMES,HALTMES,FRETMES,RBADNAM,INT_2E_RET,SAVE_PDB
PUBLIC PARENT,ERRCD_24,HANDLE01,LOADING,BATCH,BATLOC,COMSPEC,TRANS
PUBLIC TRNSEG,COMDRV,BATBYT,MEMSIZ,SUM,EXTCOM,RETCODE,ECHOFLAG
PUBLIC IO_SAVE,RESTDIR,PERMCOM,SINGLECOM,VERVAL,FORFLAG,UFORDRV
PUBLIC FORSET,FORCOM,FORVAR,FORPTR,FORUFCB,FORFCB,RE_INSTR,RE_OUT_APP
PUBLIC RE_OUTSTR,PIPEFLAG,PIPEFILES,PIPEPTR,PIPESTR,PIPE1,PIPE2
PUBLIC INPIPEPTR,OUTPIPEPTR,EXEC_BLOCK,ENVIRSEG,COM_PTR,COM_FCB1
PUBLIC COM_FCB2,PARMBUF,TRANVARS,MYSEG,LTPA,RSWITCHAR,RDIRCHAR
PUBLIC MYSEG1,MYSEG2
PUBLIC DATARESEND
IF IBMVER
PUBLIC SYS_CALL,ZEXEC,EXESEG,USER_SP,USER_SS,EXESUM
ENDIF
ORG 0
ZERO = $
MESBAS DW OFFSET RESGROUP:ERR0
DW OFFSET RESGROUP:ERR1
DW OFFSET RESGROUP:ERR2
DW OFFSET RESGROUP:ERR3
DW OFFSET RESGROUP:ERR4
DW OFFSET RESGROUP:ERR5
DW OFFSET RESGROUP:ERR6
DW OFFSET RESGROUP:ERR7
DW OFFSET RESGROUP:ERR8
DW OFFSET RESGROUP:ERR9
DW OFFSET RESGROUP:ERR10
DW OFFSET RESGROUP:ERR11
DW OFFSET RESGROUP:ERR12
MESADD DW OFFSET RESGROUP:NEWLIN ;"0"
DW OFFSET RESGROUP:COM$1 ;"1"
DW OFFSET RESGROUP:ERR3 ;"2"
DW OFFSET RESGROUP:ALLOC$3 ;"3"
DW OFFSET RESGROUP:FILE$4 ;"4"
DW OFFSET RESGROUP:RROR$5 ;"5"
DW OFFSET RESGROUP:CAN$6 ;"6"
DW OFFSET RESGROUP:EMORY$7 ;"7"
DW OFFSET RESGROUP:BAT$8 ;"8"
DW OFFSET RESGROUP:INS$9 ;"9"
ERR0 DB "Write protec","t"+80h
ERR1 DB "Bad uni","t"+80h
ERR2 DB "Not read","y"+80h
ERR3 DB "Bad command"," "+80h
ERR4 DB "Dat","a"+80h
ERR5 DB "Bad call forma","t"+80h
ERR6 DB "See","k"+80h
ERR7 DB "Non-DOS dis","k"+80h
ERR8 DB "Sector not foun","d"+80h
ERR9 DB "No pape","r"+80h
ERR10 DB "Write faul","t"+80h
ERR11 DB "Read faul","t"+80h
ERR12 DB "Dis","k"+80h
MREAD DB "read"
MWRITE DB "writ"
ERRMES DB " e5"
IOTYP DB "writin","g"+80h
DRVNUM DB " drive "
DRVLET DB "A"
NEWLIN DB 13,10+80h
DEVEMES DB " device "
DEVENAM DB 8 DUP (?)
DB 13,10,"$" ;Must be $ terminated
COM$1 DB " COMMAN","D"+80h
ALLOC$3 DB " allocation"," "+80h
FILE$4 DB " file"," "+80h
RROR$5 DB "rror"," "+80h
CAN$6 DB "Cannot"," "+80h
EMORY$7 DB "emor","y"+80h
BAT$8 DB " batc","h"+80h
INS$9 DB "Inser","t"+80h
REQUEST DB "Abort, Retry, Ignore?"," "+80h
CDEVAT DB ?
BADFAT DB "0File3table bad",","+80h
COMBAD DB "0Invalid1.COM"
NEEDCOM DB "091.COM disk in"," "+80h
DRVMSG DB "drive "
COMLET DB "A"," "+80h
DEFMSG DB "default driv","e"+80h
PROMPT DB "0and strike any key when ready","0"+80h
ENDBATMES DB "0Terminate8 job (Y/N)?"," "+80h
EXECEMES DB "EXEC failure","0"+80h
EXEBAD DB "E5in EXE4","0"+80h
TOOBIG DB "Program too big to fit in m7","0"+80h
NOCOM DB "0Bad or missing Command Interprete","r"+80H
NOHANDMES DB "0No free4handle","s"+80h
BMEMMES DB "0M73e","5"+80h
HALTMES DB "06load1, system halte","d"+80h
FRETMES DB "06start1, exiting","0"+80h
RBADNAM DB "2or4name","0"+80h
INT_2E_RET DD ? ; Magic command executer return address
SAVE_PDB DW ?
PARENT DW ?
ERRCD_24 DW ?
HANDLE01 DW ?
LOADING DB 0
BATCH DW 0 ; Assume no batch mode initially
BATLOC DD 0 ; Position in batch file
COMSPEC DB 40 DUP(0)
TRANS DW OFFSET TRANGROUP:COMMAND
TRNSEG DW ?
COMDRV DB ? ; DRIVE SPEC TO LOAD AUTOEXEC AND COMMAND
BATBYT DB ?
MEMSIZ DW ?
SUM DW ?
EXTCOM DB 1 ; For init, pretend just did an external
RETCODE DW ?
ECHOFLAG DB 1
IO_SAVE DW ?
RESTDIR DB 0
PERMCOM DB 0
SINGLECOM DW 0
VERVAL DW -1
FORFLAG DB ?
UFORDRV DB 0
FORSET DB 40 DUP (?)
FORCOM DB 90 DUP (?)
FORVAR DB ?
FORPTR DW ?
FORUFCB DB -1
FORFCB DB 0
DB 34 DUP(?)
DW 0
DW 0 ; Initialize RR field to zero
RE_INSTR DB 40 DUP(0)
RE_OUT_APP DB 0
RE_OUTSTR DB 40 DUP(0)
;These two bytes refed as a word
PIPEFLAG DB 0
PIPEFILES DB 0
PIPEPTR DW ?
PIPESTR DB 129 DUP(?)
PIPE1 DB "_:/%PIPE1.$$$",0
PIPE2 DB "_:/%PIPE2.$$$",0
INPIPEPTR DW OFFSET RESGROUP:PIPE1
OUTPIPEPTR DW OFFSET RESGROUP:PIPE2
EXEC_BLOCK LABEL BYTE ; The data block for EXEC calls
ENVIRSEG DW ?
COM_PTR LABEL DWORD
DW 80H ; Point at unformatted parameters
DW ?
COM_FCB1 LABEL DWORD
DW 5CH
DW ?
COM_FCB2 LABEL DWORD
DW 6CH
DW ?
PARMBUF DB 129 DUP (?)
IF IBMVER
SYS_CALL DD ?
ZEXEC DW OFFSET ZEXEC_CODE:$EXEC
EXESEG DW ?
USER_SP DW ?
USER_SS DW ?
EXESUM DW ?
ENDIF
TRANVARS LABEL BYTE ; Variables passed to transient
DW OFFSET RESGROUP:THEADFIX
MYSEG DW 0 ; Put our own segment here
LTPA DW 0 ; WILL STORE TPA SEGMENT HERE
RSWITCHAR DB "-"
RDIRCHAR DB "/"
DW OFFSET RESGROUP:EXT_EXEC
MYSEG1 DW ?
DW OFFSET RESGROUP:TREMCHECK
MYSEG2 DW 0
DATARESEND LABEL BYTE
DATARES ENDS
END