You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1079 lines
30 KiB
1079 lines
30 KiB
page ,132
|
|
; SCCSID = @(#)tdata.asm 4.3 85/05/17
|
|
; SCCSID = @(#)tdata.asm 4.3 85/05/17
|
|
TITLE COMMAND Transient Initialized DATA
|
|
;/*
|
|
; * Microsoft Confidential
|
|
; * Copyright (C) Microsoft Corporation 1991
|
|
; * All Rights Reserved.
|
|
; */
|
|
|
|
; MODIFICATION HISTORY
|
|
;
|
|
; EE 10-20-83 Changed the drive check indicator bytes (DCIB's) in
|
|
; COMTAB to be a flag byte in which bit 0 is now the
|
|
; DCIB(bit) and bit 1 is on if the command can take
|
|
; switches.
|
|
;
|
|
; M003 SR 07/16/90 Added LoadHigh to command table, added
|
|
; parse control block for LoadHigh
|
|
;
|
|
; M008 SA 8/1/90 Remove /h parameter. Eliminate code to
|
|
; internally handle /? message.
|
|
;
|
|
; M010 SA 8/5/90 Add support for /l (lowercase) option.
|
|
;
|
|
; M016 SR 08/09/90 Added public statements for new error
|
|
; messages for LoadHigh.
|
|
;
|
|
|
|
|
|
|
|
comment %
|
|
|
|
The TRANDATA segment contains data that is assumed to have predefined
|
|
initial values at the beginning of each command cycle. It is
|
|
included in the transient checksum area. If values in TRANDATA
|
|
change, the transient will be reloaded for the next command cycle.
|
|
|
|
Modification History
|
|
--------------------
|
|
|
|
8/12/89 DBO History resumes after six years.
|
|
|
|
8/12/89 DBO Added for new DIR:
|
|
-8/14/89 DirEnvVar, AttrLtrs, OrderLtrs;
|
|
New PARSE_DIR and subordinate parse blocks
|
|
(called PARSE_DIR_E for now);
|
|
|
|
%
|
|
|
|
|
|
|
|
|
|
fmt macro name,string,args
|
|
local a
|
|
a db string
|
|
PUBLIC name
|
|
name dw offset trangroup:a
|
|
irp val,<args>
|
|
dw offset trangroup:val
|
|
endm
|
|
endm
|
|
|
|
btab macro b,sym
|
|
db b
|
|
dw offset trangroup:sym
|
|
endm
|
|
|
|
.xlist
|
|
.xcref
|
|
INCLUDE comsw.asm ;AC000;
|
|
INCLUDE comseg.asm
|
|
INCLUDE dirent.inc ;AN042;
|
|
.list
|
|
.cref
|
|
|
|
BREAK MACRO subtitle
|
|
SUBTTL subtitle
|
|
PAGE
|
|
ENDM
|
|
|
|
;
|
|
; WARNING: DO NOT INCLUDE DOSSYM.INC BECAUSE IT DESTROYS THE MACRO 'FMT' THAT
|
|
; has been defined above - RS.
|
|
;
|
|
INCLUDE ERROR.INC
|
|
INCLUDE ifequ.asm
|
|
INCLUDE comequ.asm
|
|
; Note curdir.inc is included by comequ.asm
|
|
|
|
TRANSPACE SEGMENT PUBLIC BYTE ;AC000;
|
|
EXTRN arg_buf:BYTE
|
|
EXTRN bwdbuf:byte
|
|
EXTRN bytes_free:WORD
|
|
EXTRN charbuf:byte
|
|
EXTRN copy_Num:WORD
|
|
EXTRN DATE_OUTPUT:BYTE ;AC000;
|
|
EXTRN Dir_Num:WORD
|
|
EXTRN DRIVE_OUTPUT:BYTE ;AC000;
|
|
EXTRN file_size_high:WORD
|
|
EXTRN file_size_low:WORD
|
|
EXTRN FileSiz:DWORD ; accumulated file size for DIR
|
|
EXTRN major_ver_num:WORD
|
|
EXTRN minor_ver_num:WORD
|
|
EXTRN one_char_val:BYTE
|
|
EXTRN PARSE1_OUTPUT:BYTE ;AC000;
|
|
EXTRN srcbuf:byte
|
|
EXTRN string_ptr_2:WORD
|
|
EXTRN system_cpage:word
|
|
EXTRN TIME_OUTPUT:BYTE ;AC000;
|
|
EXTRN vol_drv:BYTE
|
|
EXTRN vol_serial:dword ;AN000;
|
|
TRANSPACE ENDS
|
|
|
|
TRANCODE SEGMENT PUBLIC BYTE ;AC000;
|
|
EXTRN $CALL:NEAR
|
|
EXTRN $CHDIR:NEAR
|
|
EXTRN $EXIT:NEAR
|
|
EXTRN $FOR:NEAR
|
|
EXTRN $IF:NEAR
|
|
EXTRN $MKDIR:NEAR
|
|
EXTRN $RMDIR:NEAR
|
|
EXTRN ADD_NAME_TO_ENVIRONMENT:NEAR
|
|
EXTRN ADD_PROMPT:NEAR
|
|
EXTRN build_dir_for_prompt:near
|
|
EXTRN CATALOG:NEAR
|
|
EXTRN CHCP:NEAR
|
|
EXTRN CLS:NEAR
|
|
EXTRN CNTRLC:NEAR
|
|
EXTRN COPY:NEAR
|
|
EXTRN CRENAME:NEAR
|
|
EXTRN CRLF2:NEAR
|
|
EXTRN CTIME:NEAR
|
|
EXTRN CTTY:NEAR
|
|
EXTRN DATE:NEAR
|
|
EXTRN ECHO:NEAR
|
|
EXTRN ERASE:NEAR
|
|
EXTRN GOTO:NEAR
|
|
EXTRN IFERLEV:NEAR
|
|
EXTRN IFEXISTS:NEAR
|
|
EXTRN IFNOT:NEAR
|
|
EXTRN PATH:NEAR
|
|
EXTRN PAUSE:NEAR
|
|
EXTRN PRINT_B:NEAR
|
|
EXTRN PRINT_BACK:NEAR
|
|
EXTRN PRINT_DATE:NEAR
|
|
EXTRN PRINT_CHAR:NEAR
|
|
EXTRN PRINT_DRIVE:NEAR
|
|
EXTRN PRINT_EQ:NEAR
|
|
EXTRN PRINT_ESC:NEAR
|
|
EXTRN PRINT_G:NEAR
|
|
EXTRN PRINT_L:NEAR
|
|
EXTRN PRINT_TIME:NEAR
|
|
EXTRN PRINT_VERSION:NEAR
|
|
EXTRN SHIFT:NEAR
|
|
EXTRN TCOMMAND:NEAR
|
|
EXTRN TRUENAME:NEAR ;AN000;
|
|
EXTRN TYPEFIL:NEAR
|
|
EXTRN VERSION:NEAR
|
|
EXTRN VOLUME:NEAR
|
|
EXTRN VERIFY:NEAR
|
|
|
|
extrn LoadHigh:NEAR ; M003
|
|
;
|
|
; WARNING!!! No code may appear after this label!!!!
|
|
;
|
|
;
|
|
; Bugbug:
|
|
; 8/12/89 Looks like somebody ignored/missed this warning. TRANCODE
|
|
; is added to at the end of this file. Fortunately, it looks
|
|
; like no modules refer to this label.
|
|
;
|
|
PUBLIC TranCodeLast
|
|
TranCodeLast LABEL BYTE
|
|
TRANCODE ENDS
|
|
|
|
; Data for transient portion
|
|
|
|
TRANDATA SEGMENT PUBLIC BYTE
|
|
|
|
PUBLIC accden_ptr ;AN000;
|
|
PUBLIC acrlf_ptr ;AN000;
|
|
PUBLIC arg_buf_ptr ;AN000;
|
|
PUBLIC AttrLtrs
|
|
PUBLIC badbat_ptr ;AN000;
|
|
PUBLIC badcd_ptr ;AN000;
|
|
PUBLIC badCPmes_ptr ;AN000;
|
|
PUBLIC badcurdrv ;AN000;
|
|
PUBLIC baddat_ptr ;AN000;
|
|
PUBLIC baddev_ptr ;AN000;
|
|
PUBLIC baddrv_ptr ;AN000;
|
|
PUBLIC badlab_ptr ;AN000;
|
|
PUBLIC badmkd_ptr ;AN000;
|
|
PUBLIC badnam_ptr ;AN000;
|
|
PUBLIC bad_on_off_ptr ;AN000;
|
|
PUBLIC badPmes_ptr ;AN000;
|
|
PUBLIC badrmd_ptr ;AN000;
|
|
PUBLIC badtim_ptr ;AN000;
|
|
PUBLIC batext
|
|
PUBLIC bytes_ptr
|
|
PUBLIC bytmes_ptr ;AN000;
|
|
PUBLIC CLSSTRING
|
|
PUBLIC comext
|
|
PUBLIC comspec_flag ;AN071;
|
|
PUBLIC COMSPECSTR
|
|
PUBLIC COMTAB
|
|
PUBLIC copied_ptr ;AN000;
|
|
PUBLIC cp_active_ptr ;AN000;
|
|
PUBLIC cp_not_all_ptr ;AN000;
|
|
PUBLIC cp_not_set_ptr ;AN000;
|
|
PUBLIC ctrlcmes_ptr ;AN000;
|
|
PUBLIC curdat_mo_day ;AN000;
|
|
PUBLIC curdat_ptr ;AN000;
|
|
PUBLIC curdat_yr ;AN000;
|
|
PUBLIC curtim_hr_min ;AN000;
|
|
PUBLIC curtim_ptr ;AN000;
|
|
PUBLIC curtim_sec_hn ;AN000;
|
|
PUBLIC dback_ptr ;AN000;
|
|
PUBLIC del_Y_N_ptr ;AN000;
|
|
PUBLIC devwmes_ptr ;AN000;
|
|
PUBLIC dircont_ptr
|
|
PUBLIC dirdattim_ptr ;AN000;
|
|
PUBLIC dirdat_mo_day ;AN000;
|
|
PUBLIC dirdat_yr ;AN000;
|
|
PUBLIC DirEnvVar
|
|
PUBLIC dirhead_ptr ;AN000;
|
|
PUBLIC dirmes_ptr ;AN000;
|
|
PUBLIC dirtim_hr_min ;AN000;
|
|
PUBLIC dirtim_sec_hn ;AN000;
|
|
PUBLIC DIR_SW_PTRS
|
|
PUBLIC disp_file_size_ptr ;AN000;
|
|
PUBLIC DosHma_Ptr
|
|
PUBLIC DosLow_Ptr
|
|
PUBLIC DosRev_Ptr
|
|
PUBLIC DosRom_Ptr
|
|
PUBLIC dmes_ptr ;AN000;
|
|
PUBLIC echomes_ptr ;AN000;
|
|
PUBLIC enverr_ptr ;AN000;
|
|
PUBLIC errparsenv_ptr
|
|
PUBLIC eurdat_ptr ;AN000;
|
|
PUBLIC exeext
|
|
PUBLIC extend_buf_off ;AN000;
|
|
PUBLIC extend_buf_ptr ;AN000;
|
|
PUBLIC extend_buf_seg ;AN000;
|
|
PUBLIC extend_buf_sub ;AN000;
|
|
PUBLIC file_name_ptr ;AN000;
|
|
PUBLIC fornestmes_ptr ;AN000;
|
|
PUBLIC fuldir_ptr ;AN000;
|
|
PUBLIC IFTAB
|
|
PUBLIC inBdev_ptr ;AN000;
|
|
PUBLIC inornot_ptr ;AN000;
|
|
PUBLIC Inv_code_page ;AN000;
|
|
PUBLIC inval_path_ptr ;AN000;
|
|
PUBLIC japdat_ptr ;AN000;
|
|
PUBLIC Losterr_ptr ;AN000;
|
|
PUBLIC md_exists_ptr ;AN006;
|
|
PUBLIC msg_cont_flag ;AN000;
|
|
PUBLIC msg_disp_class ;AN000;
|
|
PUBLIC needbat_ptr ;AN000;
|
|
PUBLIC newdat_format ;AN000;
|
|
PUBLIC newdat_ptr ;AN000;
|
|
PUBLIC newtim_ptr ;AN000;
|
|
PUBLIC NLSFUNC_ptr ;AN000;
|
|
PUBLIC nospace_ptr ;AN000;
|
|
PUBLIC no_values ;AN000;
|
|
PUBLIC nulpath_ptr ;AN000;
|
|
PUBLIC offmes_ptr ;AN000;
|
|
PUBLIC onmes_ptr ;AN000;
|
|
PUBLIC OrderLtrs ; list of sort order letters for DIR
|
|
PUBLIC overwr_ptr ;AN000;
|
|
PUBLIC PARSE_BREAK ;AN000;
|
|
PUBLIC PARSE_CHCP ;AN000;
|
|
PUBLIC PARSE_CHDIR ;AN000;
|
|
PUBLIC PARSE_CTTY ;AN000;
|
|
PUBLIC PARSE_DATE ;AN000;
|
|
PUBLIC PARSE_DIR ;AN000;
|
|
PUBLIC PARSE_ERASE ;AN000;
|
|
PUBLIC PARSE_MRDIR ;AN000;
|
|
PUBLIC PARSE_RENAME ;AN000;
|
|
PUBLIC PARSE_TIME ;AN000;
|
|
PUBLIC PARSE_VER
|
|
PUBLIC PARSE_VOL ;AN000;
|
|
|
|
public Parse_LoadHi ; Parse block for LoadHigh; M003
|
|
|
|
PUBLIC PATH_TEXT
|
|
PUBLIC pausemes_ptr ;AN000;
|
|
PUBLIC pipeEmes_ptr ;AN000;
|
|
PUBLIC promptdat_moday ;AN000;
|
|
PUBLIC promptdat_ptr ;AN000;
|
|
PUBLIC promptdat_yr ;AN000;
|
|
PUBLIC PROMPT_TABLE
|
|
PUBLIC PROMPT_TEXT
|
|
PUBLIC promtim_hr_min ;AN000;
|
|
PUBLIC promtim_ptr ;AN000;
|
|
PUBLIC promtim_sec_hn ;AN000;
|
|
PUBLIC renerr_ptr ;AN000;
|
|
PUBLIC SLASH_P_SYN ;AN000;
|
|
PUBLIC string_buf_ptr ;AN000;
|
|
PUBLIC suremes_ptr ;AN000;
|
|
PUBLIC switch_list
|
|
PUBLIC syntmes_ptr ;AN000;
|
|
PUBLIC tab_ptr ;AN000;
|
|
PUBLIC total_ptr
|
|
PUBLIC TRANDATAEND
|
|
PUBLIC usadat_ptr ;AN000;
|
|
PUBLIC verimes_ptr ;AN000;
|
|
PUBLIC vermes_ptr ;AN000;
|
|
PUBLIC volmes_ptr ;AN000;
|
|
PUBLIC volmes_ptr_2 ;AN000;
|
|
PUBLIC volsermes_ptr ;AN000;
|
|
PUBLIC WEEKTAB
|
|
|
|
public NoExecBat_Ptr ; M016
|
|
public LhInvFil_Ptr ; M016
|
|
public NoCntry_Ptr ; M045
|
|
|
|
INCLUDE tranmsg.asm
|
|
|
|
; Lists of help message numbers for internal commands and /?
|
|
|
|
;;NoHelpMsgs dw 1200,0 ;M014
|
|
BreakHelpMsgs dw 1300,0
|
|
ChcpHelpMsgs dw 1320,1321,0
|
|
CdHelpMsgs dw 1340,1341,1342,0
|
|
ClsHelpMsgs dw 1360,0
|
|
CopyHelpMsgs dw 1400,1401,1402,1403,1404,0
|
|
CttyHelpMsgs dw 1420,0
|
|
DateHelpMsgs dw 1440,1441,0
|
|
DelHelpMsgs dw 1460,1461,1462,0
|
|
DirHelpMsgs dw 1480,1481,1482,1483,1484,1485,1486,1487,1488,0
|
|
ExitHelpMsgs dw 1500,0
|
|
MdHelpMsgs dw 1520,0
|
|
PathHelpMsgs dw 1540,1541,1542,0
|
|
PromptHelpMsgs dw 1560,1561,1562,1563,1564,1565,1566,1567,1568,0
|
|
RdHelpMsgs dw 1580,0
|
|
RenHelpMsgs dw 1600,1601,1602,0
|
|
SetHelpMsgs dw 1620,1621,1622,0
|
|
TimeHelpMsgs dw 1640,1641,0
|
|
TypeHelpMsgs dw 1660,0
|
|
VerHelpMsgs dw 1680,0
|
|
VerifyHelpMsgs dw 1700,0
|
|
VolHelpMsgs dw 1720,0
|
|
|
|
CallHelpMsgs dw 1740,1741,0 ;M014
|
|
RemHelpMsgs dw 1760,0 ;M014
|
|
PauseHelpMsgs dw 1780,0 ;M014
|
|
EchoHelpMsgs dw 1800,1801,0 ;M014
|
|
GotoHelpMsgs dw 1820,1821,0 ;M014
|
|
ShiftHelpMsgs dw 1840,0 ;M014
|
|
IfHelpMsgs dw 1860,1861,1862,1863,1864,1865,1866,0 ;M014
|
|
ForHelpMsgs dw 1880,1881,1882,1883,0 ;M014
|
|
TruenameHelpMsgs dw 1900,0 ;M014
|
|
LoadhighHelpMsgs dw 1920,1921,1922,0 ;M014
|
|
|
|
|
|
CLSSTRING DB 4,01BH,"[2J" ; ANSI Clear screen
|
|
|
|
PROMPT_TABLE LABEL BYTE
|
|
btab "B",Print_B
|
|
btab "D",PRINT_DATE
|
|
btab "E",PRINT_ESC
|
|
btab "G",PRINT_G
|
|
btab "H",PRINT_BACK
|
|
btab "L",PRINT_L
|
|
btab "N",PRINT_DRIVE
|
|
btab "P",build_dir_for_prompt
|
|
btab "Q",PRINT_EQ
|
|
btab "T",PRINT_TIME
|
|
btab "V",PRINT_VERSION
|
|
btab "_",CRLF2
|
|
btab "$",PRINT_CHAR
|
|
DB 0 ; NUL TERMINATED
|
|
|
|
IFTAB LABEL BYTE ; Table of IF conditionals
|
|
DB 3,"NOT" ; First byte is count
|
|
DW OFFSET TRANGROUP:IFNOT
|
|
DB 10,"ERRORLEVEL"
|
|
DW OFFSET TRANGROUP:IFERLEV
|
|
DB 5,"EXIST"
|
|
DW OFFSET TRANGROUP:IFEXISTS
|
|
DB 0
|
|
|
|
; Table for internal command names
|
|
COMTAB DB 3,"DIR",fSwitchAllowed+fCheckDrive
|
|
DW OFFSET TRANGROUP:CATALOG ; In TCMD1.ASM
|
|
DW TRANGROUP:DirHelpMsgs
|
|
DB 4,"CALL",fSwitchAllowed
|
|
DW OFFSET TRANGROUP:$CALL ; In TBATCH2.ASM
|
|
DW TRANGROUP:CallHelpMsgs
|
|
ifndef NEC_98
|
|
DB 4,"CHCP",fSwitchAllowed
|
|
else ;NEC_98
|
|
DB 4," ",fSwitchAllowed ; NEC01 91/07/29 CHCP Command DEL
|
|
endif ;NEC_98
|
|
DW OFFSET TRANGROUP:CHCP ; In TCMD2B.ASM
|
|
DW TRANGROUP:ChcpHelpMsgs
|
|
DB 6,"RENAME",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:CRENAME ; In TCMD1.ASM
|
|
DW TRANGROUP:RenHelpMsgs
|
|
DB 3,"REN",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:CRENAME ; In TCMD1.ASM
|
|
DW TRANGROUP:RenHelpMsgs
|
|
DB 5,"ERASE",fSwitchAllowed+fCheckDrive
|
|
DW OFFSET TRANGROUP:ERASE ; In TCMD1.ASM
|
|
DW TRANGROUP:DelHelpMsgs
|
|
DB 3,"DEL",fSwitchAllowed+fCheckDrive
|
|
DW OFFSET TRANGROUP:ERASE ; In TCMD1.ASM
|
|
DW TRANGROUP:DelHelpMsgs
|
|
DB 4,"TYPE",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:TYPEFIL ; In TCMD1.ASM
|
|
DW TRANGROUP:TypeHelpMsgs
|
|
DB 3,"REM",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:TCOMMAND ; In TCODE.ASM
|
|
DW TRANGROUP:RemHelpMsgs
|
|
DB 4,"COPY",fSwitchAllowed+fCheckDrive
|
|
DW OFFSET TRANGROUP:COPY ; In COPY.ASM
|
|
DW TRANGROUP:CopyHelpMsgs
|
|
DB 5,"PAUSE",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:PAUSE ; In TCMD1.ASM
|
|
DW TRANGROUP:PauseHelpMsgs
|
|
DB 4,"DATE",fSwitchAllowed
|
|
DW OFFSET TRANGROUP:DATE ; In TPIPE.ASM
|
|
DW TRANGROUP:DateHelpMsgs
|
|
DB 4,"TIME",fSwitchAllowed ;AC018; P3903
|
|
DW OFFSET TRANGROUP:CTIME ; In TPIPE.ASM
|
|
DW TRANGROUP:TimeHelpMsgs
|
|
DB 3,"VER",fSwitchAllowed
|
|
DW OFFSET TRANGROUP:VERSION ; In TCMD2.ASM
|
|
DW TRANGROUP:VerHelpMsgs
|
|
DB 3,"VOL",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:VOLUME ; In TCMD1.ASM
|
|
DW TRANGROUP:VolHelpMsgs
|
|
DB 2,"CD",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:$CHDIR ; In TENV.ASM
|
|
DW TRANGROUP:CdHelpMsgs
|
|
DB 5,"CHDIR",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:$CHDIR ; In TENV.ASM
|
|
DW TRANGROUP:CdHelpMsgs
|
|
DB 2,"MD",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:$MKDIR ; In TENV.ASM
|
|
DW TRANGROUP:MdHelpMsgs
|
|
DB 5,"MKDIR",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:$MKDIR ; In TENV.ASM
|
|
DW TRANGROUP:MdHelpMsgs
|
|
DB 2,"RD",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:$RMDIR ; In TENV.ASM
|
|
DW TRANGROUP:RdHelpMsgs
|
|
DB 5,"RMDIR",fSwitchAllowed+fCheckDrive ;AC018; P3903
|
|
DW OFFSET TRANGROUP:$RMDIR ; In TENV.ASM
|
|
DW TRANGROUP:RdHelpMsgs
|
|
DB 5,"BREAK",fSwitchAllowed ;AC018; P3903
|
|
DW OFFSET TRANGROUP:CNTRLC ; In TUCODE.ASM
|
|
DW TRANGROUP:BreakHelpMsgs
|
|
DB 6,"VERIFY",fSwitchAllowed ;AC018; P3903
|
|
DW OFFSET TRANGROUP:VERIFY ; In TUCODE.ASM
|
|
DW TRANGROUP:VerifyHelpMsgs
|
|
DB 3,"SET",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:ADD_NAME_TO_ENVIRONMENT; In TENV.ASM
|
|
DW TRANGROUP:SetHelpMsgs
|
|
DB 6,"PROMPT",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:ADD_PROMPT ; In TENV.ASM
|
|
DW TRANGROUP:PromptHelpMsgs
|
|
DB 4,"PATH",fSwitchAllowed
|
|
DW OFFSET TRANGROUP:PATH ; In TCMD2.ASM
|
|
DW TRANGROUP:PathHelpMsgs
|
|
DB 4,"EXIT",0
|
|
DW OFFSET TRANGROUP:$EXIT ; In TCMD2.ASM
|
|
DW TRANGROUP:ExitHelpMsgs
|
|
DB 4,"CTTY",fCheckDrive+fSwitchAllowed
|
|
DW OFFSET TRANGROUP:CTTY ; In TCMD2.ASM
|
|
DW TRANGROUP:CttyHelpMsgs
|
|
DB 4,"ECHO",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:ECHO ; In TUCODE.ASM
|
|
DW TRANGROUP:EchoHelpMsgs
|
|
DB 4,"GOTO",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:GOTO ; In TBATCH.ASM
|
|
DW TRANGROUP:GotoHelpMsgs
|
|
DB 5,"SHIFT",fSwitchAllowed
|
|
DW OFFSET TRANGROUP:SHIFT ; In TBATCH.ASM
|
|
DW TRANGROUP:ShiftHelpMsgs
|
|
DB 2,"IF",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:$IF ; In TBATCH.ASM
|
|
DW TRANGROUP:IfHelpMsgs
|
|
DB 3,"FOR",fSwitchAllowed+fLimitHelp
|
|
DW OFFSET TRANGROUP:$FOR ; In TBATCH.ASM
|
|
DW TRANGROUP:ForHelpMsgs
|
|
DB 3,"CLS",0
|
|
DW OFFSET TRANGROUP:CLS ; In TCMD2.ASM
|
|
DW TRANGROUP:ClsHelpMsgs
|
|
DB 8,"TRUENAME",fSwitchAllowed+fCheckDrive ;AN000; P3903 changed
|
|
DW OFFSET TRANGROUP:TRUENAME ;AN000;
|
|
DW TRANGROUP:TruenameHelpMsgs
|
|
DB 8,"LOADHIGH",fSwitchAllowed ; M003
|
|
DW OFFSET TRANGROUP:LoadHigh ; In loadhi.asm ; M003
|
|
DW TRANGROUP:LoadhighHelpMsgs ; M003
|
|
DB 2,"LH",fSwitchAllowed ; Short form; M003
|
|
DW OFFSET TRANGROUP:LoadHigh ; In loadhi.asm ; M003
|
|
DW TRANGROUP:LoadhighHelpMsgs ; M003
|
|
DB 0 ; Terminate command table
|
|
|
|
|
|
comext dB ".COM"
|
|
exeext dB ".EXE"
|
|
batext dB ".BAT"
|
|
|
|
switch_list DB "?VBAPW" ; flags we can recognize
|
|
|
|
AttrLtrs DB "RHSvDA" ; attribute letters for DIR
|
|
|
|
; Attribute letters in AttrLtrs must appear in the order that
|
|
; attribute bits occur in the attribute byte returned by
|
|
; directory searches, starting with bit 0.
|
|
; The volume label attribute is lowercased to keep it from
|
|
; being matched (by an uppercase comparison).
|
|
|
|
OrderLtrs DB "NEDSG" ; sort order letters for DIR
|
|
|
|
; Sort order letters stand for file name, extension,
|
|
; date/time, size, and grouped (directory files before others).
|
|
; DIR routines rely on the specific order of the
|
|
; letters in this list.
|
|
|
|
comspec_flag db 0 ;AN071;
|
|
|
|
|
|
|
|
PUBLIC BatBufLen
|
|
BatBufLen DW BatLen
|
|
|
|
; *****************************************************
|
|
; EMG 4.00
|
|
; DATA STARTING HERE WAS ADDED BY EMG FOR 4.00
|
|
; FOR IMPLEMENTATION OF COMMON PARSE ROUTINE
|
|
; *****************************************************
|
|
|
|
;
|
|
; COMMON PARSE BLOCKS
|
|
;
|
|
|
|
;
|
|
; Indicates no value list for PARSE.
|
|
;
|
|
|
|
NO_VALUES DW 0 ;AN000; no values
|
|
|
|
NULL_VALUE_LIST LABEL BYTE ; for unvalidated value
|
|
DB 0 ; no value lists
|
|
|
|
;
|
|
; PARSE control block for a required file specification (upper cased)
|
|
;
|
|
|
|
FILE_REQUIRED LABEL BYTE ;AN000;
|
|
DW 0200H ;AN000; filespec - required
|
|
DW 1 ;AN000; capitalize - file table
|
|
DW TRANGROUP:PARSE1_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE control block for an optional file specification (upper cased)
|
|
; or drive number
|
|
;
|
|
|
|
FILE_OPTIONAL LABEL BYTE ;AN000;
|
|
DW 0301H ;AN000; filespec or drive number
|
|
; optional
|
|
DW 1 ;AN000; capitalize - file table
|
|
DW TRANGROUP:PARSE1_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE control block for an optional file specification (upper cased)
|
|
;
|
|
|
|
FILE_OPTIONAL2 LABEL BYTE ;AN000;
|
|
DW 0201H ;AN000; filespec optional
|
|
DW 1 ;AN000; capitalize - file table
|
|
DW TRANGROUP:PARSE1_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE control block for an optional /P switch
|
|
;
|
|
|
|
SLASH_P_SWITCH LABEL BYTE ;AN000;
|
|
DW 0 ;AN000; no match flags
|
|
DW 2 ;AN000; capitalize - char table
|
|
DW TRANGROUP:PARSE1_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 1 ;AN000; 1 keyword
|
|
SLASH_P_SYN DB "/P",0 ;AN000; /P switch
|
|
|
|
|
|
|
|
; PARSE BLOCK FOR BREAK, VERIFY, ECHO
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only the optional "ON" and "OFF" keywords as operands. Allows
|
|
; the equal sign as an additional delimiter. Returns verified result
|
|
; in PARSE1_OUTPUT. Currently used for the BREAK, VERIFY, and ECHO
|
|
; internal commands.
|
|
;
|
|
|
|
PARSE_BREAK LABEL BYTE ;AN000;
|
|
DW TRANGROUP:BREAK_PARMS ;AN000;
|
|
DB 0 ;AN032; no extra delimiter
|
|
|
|
BREAK_PARMS LABEL BYTE ;AN000;
|
|
DB 0,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:BREAK_CONTROL1;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
BREAK_CONTROL1 LABEL BYTE ;AN000;
|
|
DW 2001H ;AN000; string value - optional
|
|
DW 2 ;AN000; capitalize - char table
|
|
DW TRANGROUP:PARSE1_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:BREAK_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
BREAK_VALUES LABEL BYTE ;AN000;
|
|
DB 3 ;AN000;
|
|
DB 0 ;AN000; no ranges
|
|
DB 0 ;AN000; no numeric values
|
|
DB 2 ;AN000; 2 string values
|
|
DB 0 ;AN000; returned if ON
|
|
DW TRANGROUP:BREAK_ON ;AN000; point to ON string
|
|
DB 'f' ;AN000; returned if OFF
|
|
DW TRANGROUP:BREAK_OFF ;AN000; point to OFF string
|
|
|
|
BREAK_ON DB "ON",0 ;AN000;
|
|
BREAK_OFF DB "OFF",0 ;AN000;
|
|
|
|
;
|
|
; PARSE BLOCK FOR CHCP
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only one optional three digit decimal parameter for operands.
|
|
; Returns verified result in PARSE1_OUTPUT. Currently used for the
|
|
; CHCP internal command.
|
|
;
|
|
CHCP_MINVAL EQU 100 ;AN000;
|
|
CHCP_MAXVAL EQU 999 ;AN000;
|
|
|
|
PARSE_CHCP LABEL BYTE ;AN000;
|
|
DW TRANGROUP:CHCP_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
CHCP_PARMS LABEL BYTE ;AN000;
|
|
DB 0,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:CHCP_CONTROL1 ;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
CHCP_CONTROL1 LABEL BYTE ;AN000;
|
|
DW 8001H ;AN000; numeric value - optional
|
|
DW 0 ;AN000; no function flags
|
|
DW TRANGROUP:PARSE1_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:CHCP_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
CHCP_VALUES LABEL BYTE ;AN000;
|
|
DB 1 ;AN000;
|
|
DB 1 ;AN000; 1 range
|
|
DB 1 ;AN000; returned if result
|
|
DD CHCP_MINVAL,CHCP_MAXVAL ;AN000; minimum & maximum value
|
|
DB 0 ;AN000; no numeric values
|
|
DB 0 ;AN000; no string values
|
|
|
|
|
|
;
|
|
; PARSE BLOCK FOR DATE
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only an optional date string as an operand. Returns unverified
|
|
; result in DATE_OUTPUT. Currently used for the DATE internal command.
|
|
;
|
|
|
|
PARSE_DATE LABEL BYTE ;AN000;
|
|
DW TRANGROUP:DATE_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
DATE_PARMS LABEL BYTE ;AN000;
|
|
DB 0,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:DATE_CONTROL1 ;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
DATE_CONTROL1 LABEL BYTE ;AN000;
|
|
DW 1001H ;AN000; date - optional
|
|
DW 0 ;AN000; no function flags
|
|
DW TRANGROUP:DATE_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE BLOCK FOR TIME
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only an optional time string as an operand. Returns unverified
|
|
; result in TIME_OUTPUT. Currently used for the TIME internal command.
|
|
;
|
|
|
|
PARSE_TIME LABEL BYTE ;AN000;
|
|
DW TRANGROUP:TIME_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
TIME_PARMS LABEL BYTE ;AN000;
|
|
DB 0,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:TIME_CONTROL1 ;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
TIME_CONTROL1 LABEL BYTE ;AN000;
|
|
DW 0801H ;AN000; TIME - optional
|
|
DW 0 ;AN000; no function flags
|
|
DW TRANGROUP:TIME_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
|
|
;
|
|
; PARSE BLOCK FOR VOL
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only an optional drive letter as an operand. Returns unverified
|
|
; drive number (one based) in DRIVE_OUTPUT. Currently used for the VOL
|
|
; internal command.
|
|
;
|
|
|
|
PARSE_VOL LABEL BYTE ;AN000;
|
|
DW TRANGROUP:VOL_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
VOL_PARMS LABEL BYTE ;AN000;
|
|
DB 0,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:DRIVE_CONTROL1;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
DRIVE_CONTROL1 LABEL BYTE ;AN000;
|
|
DW 0101H ;AN000; DRIVE - optional
|
|
DW 1 ;AN000; capitalize - file table
|
|
DW TRANGROUP:DRIVE_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
|
|
;
|
|
; PARSE BLOCK FOR MKDIR, RMDIR, TYPE
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only one required file specification as an operand. Returns a
|
|
; pointer to the unverified string in PARSE1_OUTPUT. Currently used
|
|
; for the MKDIR, RMDIR, and TYPE internal commands.
|
|
;
|
|
|
|
PARSE_MRDIR LABEL BYTE ;AN000;
|
|
DW TRANGROUP:MRDIR_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
MRDIR_PARMS LABEL BYTE ;AN000;
|
|
DB 1,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:FILE_REQUIRED ;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE BLOCK FOR CHDIR, TRUENAME
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only one optional file specification an operand. Returns a
|
|
; pointer to the unverified string in PARSE1_OUTPUT. Currently used
|
|
; for the CHDIR and TRUENAME internal commands.
|
|
;
|
|
|
|
PARSE_CHDIR LABEL BYTE ;AN000;
|
|
DW TRANGROUP:CHDIR_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
CHDIR_PARMS LABEL BYTE ;AN000;
|
|
DB 0,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:FILE_OPTIONAL ;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE BLOCK FOR ERASE
|
|
;
|
|
|
|
;
|
|
; The following parse control block is used for the DEL/ERASE internal
|
|
; commands. This command has one required file specification and an
|
|
; optional switch (/p) as operands. The verified switch or unverified
|
|
; file specification is returned in PARSE1_OUTPUT.
|
|
;
|
|
|
|
PARSE_ERASE LABEL BYTE ;AN000;
|
|
DW TRANGROUP:ERASE_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
ERASE_PARMS LABEL BYTE ;AN000;
|
|
DB 1,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:FILE_REQUIRED ;AN000;
|
|
DB 1 ;AN000; 1 switch
|
|
DW TRANGROUP:SLASH_P_SWITCH;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE BLOCK FOR DIR
|
|
;
|
|
|
|
;
|
|
; The following parse control block is used for the DIR internal command.
|
|
; This command has one optional file specification and several optional
|
|
; switches. Switches, switch values, and the filespec are returned in
|
|
; PARSE1_OUTPUT.
|
|
;
|
|
; Switches are /a[value], /-a, /o[value], /-o, /s, /-s, /?, /b, /-b,
|
|
; /w, /-w, /p, and /-p. The string values for /a and /o are optional,
|
|
; do not require colons, and are not checked against a value list.
|
|
;
|
|
; Switch /h has been removed from the DIR command ;M008
|
|
; Switch /? is no longer handled internally ;M008
|
|
;
|
|
; A list of pointers to all the switch synonyms is provided here to
|
|
; help identify which switch has been matched.
|
|
;
|
|
|
|
PARSE_DIR LABEL BYTE
|
|
DW TRANGROUP:DIR_PARMS
|
|
DB 0 ; no extra delimiters
|
|
|
|
DIR_PARMS LABEL BYTE
|
|
DB 0,1 ; 1 optional positional param
|
|
DW TRANGROUP:FILE_OPTIONAL2
|
|
DB 2 ; 2 kinds of switches
|
|
DW TRANGROUP:DIR_SW_VALUED
|
|
DW TRANGROUP:DIR_SW_UNVALUED
|
|
DB 0 ; no keywords
|
|
|
|
DIR_SW_VALUED LABEL BYTE
|
|
DW 2001H ; optional string value
|
|
DW 21H ; optional colon; capitalize
|
|
DW TRANGROUP:PARSE1_OUTPUT ; result buffer
|
|
DW TRANGROUP:NULL_VALUE_LIST ; don't validate value
|
|
DB 2 ; 2 'synonyms'
|
|
DIR_SW_A DB "/A",0
|
|
DIR_SW_O DB "/O",0
|
|
|
|
DIR_SW_UNVALUED LABEL BYTE
|
|
DW 0 ; no value
|
|
DW 0 ; no format functions
|
|
DW TRANGROUP:PARSE1_OUTPUT ; result buffer
|
|
DW TRANGROUP:NO_VALUES
|
|
DB 14 ; 14 'synonyms'
|
|
DIR_SW_NEG_A DB "/-A",0
|
|
DIR_SW_NEG_O DB "/-O",0
|
|
DIR_SW_S DB "/S",0
|
|
DIR_SW_NEG_S DB "/-S",0
|
|
DIR_SW_B DB "/B",0
|
|
DIR_SW_NEG_B DB "/-B",0
|
|
DIR_SW_W DB "/W",0
|
|
DIR_SW_NEG_W DB "/-W",0
|
|
DIR_SW_P DB "/P",0
|
|
DIR_SW_NEG_P DB "/-P",0
|
|
DIR_SW_L DB "/L",0 ;M010
|
|
DIR_SW_NEG_L DB "/-L",0 ;M010
|
|
|
|
;
|
|
; Here's a list of pointers to DIR's switch synonyms, for easier
|
|
; identification. Order is critical - DIR routines rely on the
|
|
; specific order in this list. Negated options appear at odd
|
|
; positions in the list, and simple on/off options appear first.
|
|
;
|
|
|
|
DIR_SW_PTRS LABEL WORD ; list of ptrs to switch synonyms
|
|
DW TRANGROUP:DIR_SW_NEG_W
|
|
DW TRANGROUP:DIR_SW_W
|
|
DW TRANGROUP:DIR_SW_NEG_P
|
|
DW TRANGROUP:DIR_SW_P
|
|
DW TRANGROUP:DIR_SW_NEG_S
|
|
DW TRANGROUP:DIR_SW_S
|
|
DW TRANGROUP:DIR_SW_NEG_B
|
|
DW TRANGROUP:DIR_SW_B
|
|
DW TRANGROUP:DIR_SW_NEG_L ;M010
|
|
DW TRANGROUP:DIR_SW_L ;M010
|
|
DW TRANGROUP:DIR_SW_NEG_O
|
|
DW TRANGROUP:DIR_SW_O
|
|
DW TRANGROUP:DIR_SW_NEG_A
|
|
DW TRANGROUP:DIR_SW_A
|
|
|
|
;
|
|
; PARSE BLOCK FOR RENAME
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs only two required file specifications as operands. Returns
|
|
; pointers to the unverified string in PARSE1_OUTPUT.
|
|
; Currently used for the RENAME internal command.
|
|
;
|
|
|
|
PARSE_RENAME LABEL BYTE ;AN000;
|
|
DW TRANGROUP:RENAME_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
RENAME_PARMS LABEL BYTE ;AN000;
|
|
DB 2,2 ;AN000; 2 positional parms
|
|
DW TRANGROUP:FILE_REQUIRED ;AN000;
|
|
DW TRANGROUP:FILE_REQUIRED ;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE BLOCK FOR CTTY
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs one required device name as an operand. Returns a pointer to
|
|
; unverified string in PARSE1_OUTPUT. Currently used for the CTTY
|
|
; internal command.
|
|
;
|
|
|
|
PARSE_CTTY LABEL BYTE ;AN000;
|
|
DW TRANGROUP:CTTY_PARMS ;AN000;
|
|
DB 0 ;AN000; no extra delimiter
|
|
|
|
CTTY_PARMS LABEL BYTE ;AN000;
|
|
DB 1,1 ;AN000; 1 positional parm
|
|
DW TRANGROUP:CTTY_CONTROL1 ;AN000;
|
|
DB 0 ;AN000; no switches
|
|
DB 0 ;AN000; no keywords
|
|
|
|
CTTY_CONTROL1 LABEL BYTE ;AN000;
|
|
DW 2000H ;AN000; string value - required
|
|
DW 11H ;AN000; capitalize - file table
|
|
;AN000; remove colon at end
|
|
DW TRANGROUP:PARSE1_OUTPUT ;AN000; result buffer
|
|
DW TRANGROUP:NO_VALUES ;AN000;
|
|
DB 0 ;AN000; no keywords
|
|
|
|
;
|
|
; PARSE BLOCK FOR VER
|
|
;
|
|
|
|
;
|
|
; The following parse control block can be used for any command which
|
|
; needs an optional switch "/debug". Currently used for the VER command.
|
|
;
|
|
|
|
PARSE_VER LABEL BYTE
|
|
DW TRANGROUP:VER_PARMS
|
|
DB 0 ; no extra delimiters
|
|
|
|
VER_PARMS LABEL BYTE
|
|
DB 0,0 ; no positional parameters
|
|
DB 1 ; one switch
|
|
DW TRANGROUP:SLASH_R
|
|
DB 0 ; no keywords
|
|
|
|
SLASH_R LABEL BYTE
|
|
DW 0 ; no values
|
|
DW 2 ; capitalize by filename table
|
|
DW TRANGROUP:PARSE1_OUTPUT ; result buffer
|
|
DW TRANGROUP:NO_VALUES ; no values
|
|
DB 1 ; one synonym
|
|
SLASH_R_SYN DB "/R",0
|
|
|
|
;
|
|
; M003 ; Start of changes for LoadHigh support
|
|
;
|
|
|
|
;
|
|
;Parse Control Block for LOADHIGH command
|
|
;
|
|
|
|
Parse_LoadHi label byte
|
|
dw TRANGROUP:LoadHi_Parms ;extended parm table
|
|
db 0 ;no extra delimiters
|
|
|
|
LoadHi_Parms label byte
|
|
db 1,1 ;min. 1 parm, max. 1 parm
|
|
dw TRANGROUP:File_Required ;control struc for filename
|
|
db 0 ;no switches
|
|
db 0 ;no keywords
|
|
;
|
|
; M003 ; End of changes for LoadHigh support
|
|
;
|
|
|
|
; Table of internal command which have special meaning under NT while at
|
|
; command.com prompt. First field is the command name length. Second is the
|
|
; command name. Third is only 1 for exit command, rest are all 0. This field
|
|
; is returned in al.
|
|
|
|
public NT_INTRNL_CMND
|
|
|
|
NT_INTRNL_CMND label byte
|
|
db 4,"EXIT",0
|
|
db 6,"PROMPT",1
|
|
db 3,"SET",1
|
|
db 4,"PATH",1
|
|
db 2,"CD",1
|
|
db 5,"CHDIR",1
|
|
db 0
|
|
|
|
|
|
|
|
public TempVarName
|
|
TempVarName db "TEMP=",0
|
|
|
|
ifdef BETA3WARN
|
|
%out Take this out before we ship
|
|
public Beta3WarnMsg
|
|
Beta3WarnMsg label byte
|
|
|
|
db '+--------------------- WARNING! ------------------------+', 0dh, 0ah
|
|
db '| |', 0dh, 0ah
|
|
db '| |', 0dh, 0ah
|
|
db '| The license for this pre-release version of MS-DOS |', 0dh, 0ah
|
|
db '| 5.0 has expired. Please replace it with an updated |', 0dh, 0ah
|
|
db '| version of MS-DOS 5.0 immediately. |', 0dh, 0ah
|
|
db '| |', 0dh, 0ah
|
|
db '| |', 0dh, 0ah
|
|
db '| <Press any key to continue> |', 0dh, 0ah
|
|
db '| |', 0dh, 0ah
|
|
db '+-------------------------------------------------------+', 0dh, 0ah
|
|
db '$'
|
|
endif
|
|
|
|
|
|
TRANDATA ENDS
|
|
|
|
TRANCODE SEGMENT PUBLIC BYTE ;AN000;
|
|
|
|
.xlist
|
|
.xcref
|
|
|
|
INCLUDE SYSMSG.INC ;AN000;
|
|
|
|
.list
|
|
.cref
|
|
|
|
ASSUME DS:TRANGROUP,ES:TRANGROUP,CS:TRANGROUP
|
|
|
|
MSG_UTILNAME <COMMAND> ;AN000; define utility name
|
|
|
|
MSG_SERVICES <COMT,COMMAND.CLF,COMMAND.CL1,COMMAND.CL2> ;AN000; The transient messages
|
|
|
|
include msgdcl.inc
|
|
|
|
TRANCODE ENDS ;AN000;
|
|
|
|
TRANDATA SEGMENT PUBLIC BYTE
|
|
|
|
TRANDATAEND LABEL BYTE
|
|
|
|
TRANDATA ENDS ;AN000;
|
|
|
|
END
|
|
|