summaryrefslogtreecommitdiff
path: root/v2.0/source/TDATA.ASM
blob: 9a4af2e924f2190a00ce1500e84ec09811297c2d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
TITLE   COMMAND Transient Initialized DATA

        INCLUDE COMSW.ASM
.xlist
.xcref
        INCLUDE COMSEG.ASM
.list
.cref

        INCLUDE IFEQU.ASM

TRANCODE        SEGMENT PUBLIC
        EXTRN   PRINT_DATE:NEAR,PRINT_TIME:NEAR,PRINT_DEFAULT_DIRECTORY:NEAR
        EXTRN   PRINT_DRIVE:NEAR,PRINT_VERSION:NEAR,PRINT_G:NEAR
        EXTRN   PRINT_L:NEAR,PRINT_B:NEAR,CRLF2:NEAR,OUT:NEAR,PRINT_ESC:NEAR
        EXTRN   PRINT_BACK:NEAR,PRINT_EQ:NEAR

        EXTRN   IFNOT:NEAR,IFERLEV:NEAR,IFEXISTS:NEAR

        EXTRN   CATALOG:NEAR,CRENAME:NEAR,ERASE:NEAR,TYPEFIL:NEAR
        EXTRN   TCOMMAND:NEAR,COPY:NEAR,PAUSE:NEAR,DATE:NEAR,CTIME:NEAR
        EXTRN   VERSION:NEAR,VOLUME:NEAR,$CHDIR:NEAR,$MKDIR:NEAR,$RMDIR:NEAR
        EXTRN   CNTRLC:NEAR,VERIFY:NEAR,ADD_NAME_TO_ENVIRONMENT:NEAR
        EXTRN   ADD_PROMPT:NEAR,PATH:NEAR,$EXIT:NEAR,CTTY:NEAR,ECHO:NEAR
        EXTRN   GOTO:NEAR,SHIFT:NEAR,$IF:NEAR,$FOR:NEAR,CLS:NEAR
TRANCODE        ENDS

; Data for transient portion

TRANDATA        SEGMENT PUBLIC BYTE

        PUBLIC  BADBAT,NEEDBAT,BADNAM,RENERR,NOTFND,NOSPACE,ENVERR,FULDIR
        PUBLIC  OVERWR,LOSTERR,DIRMES_PRE,DIRMES_POST,BADDRV,PAUSEMES,BADSWT
        PUBLIC  COPIED_PRE,COPIED_POST,BYTMES_PRE,BYTMES_POST
        PUBLIC  WEEKTAB,BADDAT,NEWDAT,BADTIM,NEWTIM,SUREMES,CURDAT_MID
        PUBLIC  CURDAT_PRE,CURDAT_POST,CURTIM_PRE,CURTIM_POST,VERMES_POST
        PUBLIC  DMES,VERMES_PRE,VOLMES,GOTVOL,NOVOL,BADCD,BADMKD,BADRMD
        PUBLIC  BAD_ON_OFF,NULPATH,PATH_TEXT,PROMPT_TEXT,BADPMES
        PUBLIC  BADDEV,BADLAB,SYNTMES,FORNESTMES,PIPEEMES,INBDEV,OFFMES
        PUBLIC  ONMES,CTRLCMES,VERIMES,ECHOMES,BADCPMES,BADARGS,DEVWMES
        PUBLIC  ACRLF,DBACK,CLSSTRING,PROMPT_TABLE,IFTAB,COMTAB
        PUBLIC  TRANDATAEND,DIRHEAD_PRE,DIRHEAD_POST

        ORG     0
ZERO    =       $
BADBAT  DB      13,10,"Batch file missing",13,10,"$"
NEEDBAT DB      13,10,"Insert disk with batch file"
        DB      13,10,"and press any key when ready",13,10,"$"
BADNAM  DB      "Bad command or file name",13,10,"$"
RENERR  DB      "Duplicate file name or "
NOTFND  DB      "File not found",13,10,"$"
NOSPACE DB      "Insufficient disk space",13,10,"$"
ENVERR  DB      "Out of environment space",13,10,"$"
FULDIR  DB      "File creation error",13,10,"$"
OVERWR  DB      "File cannot be copied onto itself",13,10,"$"
LOSTERR DB      "Content of destination lost before copy",13,10,"$"

;"COPIED_PRE<# files copied>COPIED_POST"
COPIED_POST  DB      " File(s) copied",13,10
COPIED_PRE   DB      "$"

;"DIRMES_PRE<# files in dir>DIRMES_POST"
DIRMES_POST  DB      " File(s) "
DIRMES_PRE   DB      "$"

;"BYTMES_PRE<# free bytes>BYTMES_POST"
BYTMES_POST  DB      " bytes free",13,10
BYTMES_PRE   DB      "$"

BADDRV  DB      "Invalid drive specification",13,10,"$"
PAUSEMES DB      "Strike a key when ready . . . $"
BADSWT  DB      "Invalid parameter",13,10,"$"
WEEKTAB DB      "SunMonTueWedThuFriSat"
BADDAT  DB      13,10,"Invalid date$"

;"CURDAT_PRE<day of week>CURDAT_MID<MO,DAY,YR>CURDAT_POST"
;Note: CURDAT_MID also appears in the date printed via PROMPT command
CURDAT_PRE   DB      "Current date is "
CURDAT_MID   LABEL   BYTE
CURDAT_POST  DB      "$"

NEWDAT  DB      13,10,"Enter new date: $"
BADTIM  DB      13,10,"Invalid time$"

;"CURTIM_PRE<HR,MIN,SEC,HSEC>CURTIM_POST"
CURTIM_PRE   DB      "Current time is "
CURTIM_POST  DB      "$"

NEWTIM  DB      13,10,"Enter new time: $"
SUREMES DB      "Are you sure (Y/N)? $"
DMES    DB      " <DIR>   $"

;"VERMES_PRE<version #>VERMES_POST"
        IF      IBMVER
VERMES_PRE  DB      "TeleVideo Personal Computer DOS Version "
        ENDIF
        IF      MSVER
VERMES_PRE  DB      "MS-DOS Version "
        ENDIF
VERMES_POST DB      "$"

VOLMES  DB      " Volume in drive $"
GOTVOL  DB      " is $"
NOVOL   DB      " has no label$"

BADCD   DB      "Invalid directory",13,10,"$"
BADMKD  DB      "Unable to create directory",13,10,"$"
BADRMD  DB      "Invalid path, not directory,",13,10
        DB      "or directory not empty",13,10,"$"
BAD_ON_OFF DB   "Must specify ON or OFF"        ;Note Run over to next message

;"DIRHEAD_PRE<path of dir>DIRHEAD_POST"
DIRHEAD_POST DB      13,10,"$"
DIRHEAD_PRE  DB      " Directory of  $"

NULPATH DB      "No Path $"
PATH_TEXT    DB "PATH="
PROMPT_TEXT  DB "PROMPT="
BADPMES DB      "Invalid drive in search path",13,10,"$"
BADDEV  DB      "Invalid device",13,10,"$"
BADLAB  DB      "Label not found",13,10,"$"
SYNTMES DB      "Syntax error",13,10,"$"
FORNESTMES DB   13,"FOR cannot be nested",13,10,"$"
PIPEEMES DB     "Intermediate file error during pipe",13,10,"$"
INBDEV  DB      "Cannot do binary reads from a device",13,10,"$"
OFFMES  DB      "off",13,10,"$"
ONMES   DB      "on",13,10,"$"
CTRLCMES DB     "BREAK is $"
VERIMES DB      "VERIFY is $"
ECHOMES DB      "ECHO is $"
BADCPMES DB     "Invalid path or file name",13,10,"$"
BADARGS DB      "Invalid number of parameters",13,10,"$"
DEVWMES DB      "Error writing to device"
ACRLF   DB      13,10,"$"
DBACK   DB      8," ",8,0               ; DESTRUCTIVE BACK SPACE

CLSSTRING DB    4,01BH,"[2J"            ; ANSI Clear screen

PROMPT_TABLE LABEL BYTE
        DB      "D"
        DW      OFFSET TRANGROUP:PRINT_DATE
        DB      "T"
        DW      OFFSET TRANGROUP:PRINT_TIME
        DB      "P"
        DW      OFFSET TRANGROUP:PRINT_DEFAULT_DIRECTORY
        DB      "N"
        DW      OFFSET TRANGROUP:PRINT_DRIVE
        DB      "V"
        DW      OFFSET TRANGROUP:PRINT_VERSION
        DB      "G"
        DW      OFFSET TRANGROUP:PRINT_G
        DB      "L"
        DW      OFFSET TRANGROUP:PRINT_L
        DB      "B"
        DW      OFFSET TRANGROUP:PRINT_B
        DB      "_"
        DW      OFFSET TRANGROUP:CRLF2
        DB      "$"
        DW      OFFSET TRANGROUP:OUT
        DB      "E"
        DW      OFFSET TRANGROUP:PRINT_ESC
        DB      "H"
        DW      OFFSET TRANGROUP:PRINT_BACK
        DB      "Q"
        DW      OFFSET TRANGROUP:PRINT_EQ
        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

COMTAB  DB      4,"DIR",1               ; Table for internal command names
        DW      OFFSET TRANGROUP:CATALOG
        DB      7,"RENAME",1
        DW      OFFSET TRANGROUP:CRENAME
        DB      4,"REN",1
        DW      OFFSET TRANGROUP:CRENAME
        DB      6,"ERASE",1
        DW      OFFSET TRANGROUP:ERASE
        DB      4,"DEL",1
        DW      OFFSET TRANGROUP:ERASE
        DB      5,"TYPE",1
        DW      OFFSET TRANGROUP:TYPEFIL
        DB      4,"REM",0
        DW      OFFSET TRANGROUP:TCOMMAND
        DB      5,"COPY",1
        DW      OFFSET TRANGROUP:COPY
        DB      6,"PAUSE",0
        DW      OFFSET TRANGROUP:PAUSE
        DB      5,"DATE",0
        DW      OFFSET TRANGROUP:DATE
        DB      5,"TIME",0
        DW      OFFSET TRANGROUP:CTIME
        DB      4,"VER",0
        DW      OFFSET TRANGROUP:VERSION
        DB      4,"VOL",1
        DW      OFFSET TRANGROUP:VOLUME
        DB      3,"CD",1
        DW      OFFSET TRANGROUP:$CHDIR
        DB      6,"CHDIR",1
        DW      OFFSET TRANGROUP:$CHDIR
        DB      3,"MD",1
        DW      OFFSET TRANGROUP:$MKDIR
        DB      6,"MKDIR",1
        DW      OFFSET TRANGROUP:$MKDIR
        DB      3,"RD",1
        DW      OFFSET TRANGROUP:$RMDIR
        DB      6,"RMDIR",1
        DW      OFFSET TRANGROUP:$RMDIR
        DB      6,"BREAK",0
        DW      OFFSET TRANGROUP:CNTRLC
        DB      7,"VERIFY",0
        DW      OFFSET TRANGROUP:VERIFY
        DB      4,"SET",0
        DW      OFFSET TRANGROUP:ADD_NAME_TO_ENVIRONMENT
        DB      7,"PROMPT",0
        DW      OFFSET TRANGROUP:ADD_PROMPT
        DB      5,"PATH",0
        DW      OFFSET TRANGROUP:PATH
        DB      5,"EXIT",0
        DW      OFFSET TRANGROUP:$EXIT
        DB      5,"CTTY",1
        DW      OFFSET TRANGROUP:CTTY
        DB      5,"ECHO",0
        DW      OFFSET TRANGROUP:ECHO
        DB      5,"GOTO",0
        DW      OFFSET TRANGROUP:GOTO
        DB      6,"SHIFT",0
        DW      OFFSET TRANGROUP:SHIFT
        DB      3,"IF",0
        DW      OFFSET TRANGROUP:$IF
        DB      4,"FOR",0
        DW      OFFSET TRANGROUP:$FOR
        DB      4,"CLS",0
        DW      OFFSET TRANGROUP:CLS
        DB      0               ; Terminate command table

TRANDATAEND     LABEL   BYTE

TRANDATA        ENDS
        END