]>
wirehaze git hosting - MS-DOS.git/blob - v2.0/source/DISKMES.ASM
1 TITLE DISKCOPY Messages
23 CODE SEGMENT PUBLIC BYTE
26 CONST
SEGMENT PUBLIC BYTE
29 DATA SEGMENT PUBLIC BYTE
32 DG GROUP
CODE,CONST
,DATA
34 CODE SEGMENT PUBLIC BYTE
35 assume
cs:DG
,ds:DG
,es:DG
,ss:DG
37 EXTRN PRINT
:NEAR,PCRLF
:NEAR,ASKANOTHER
:NEAR,sec64k
:WORD,secsiz
:WORD
38 PUBLIC dskrd
,dskwrt
,promptyn
42 ;Prompt user for Y or N answer. Zero set if Y
45 MOV DX,OFFSET DG
:YES_NO
47 MOV AX,(STD_CON_INPUT_FLUSH
SHL 8)+STD_CON_INPUT
52 OR AL,20H
;Convert to lower case
67 mov byte ptr cs:[drvlet
],"A"
86 inc sp ;clean up stack
92 mov si,OFFSET DG
: reading
94 jz nxtrd
;Repeat this 64K read
102 mul cx ;ax byte count of transfer (know transfer <= 64K)
133 mov byte ptr cs:[drvlet
],"A"
152 inc sp ;clean up stack
158 mov si,OFFSET DG
: writing
160 jz nxtwrt
;Repeat this 64K write
168 mul cx ;ax byte count of transfer (know transfer <= 64K)
211 MOV DX,WORD PTR [DI+MESBAS
] ; Get pointer to error message
212 CALL PRINT
; Print error type
213 MOV DX,OFFSET DG
: ERRMES
217 MOV DX,OFFSET DG
: DRVMES
220 MOV DX,OFFSET DG
: REQUEST
222 MOV AX,(STD_CON_INPUT_FLUSH
SHL 8)+STD_CON_INPUT
223 INT 21H
; Get response
224 OR AL,20H
; Convert to lower case
240 mov sp,100h
; Reset stack
242 MOV DX,OFFSET DG
:ABMES
246 OR AL,AL ; Resets zero flag
260 CONST
SEGMENT PUBLIC BYTE
262 PUBLIC cpymsg
,good1
,goodmsg
,srcmsg
,srclet
,dstmsg
,dstlet
263 PUBLIC keymsg
,drverr1
,drverr3
,crlf
,fdstmsg
,fdstlet
,anoprompt
265 MESBAS
DW OFFSET DG
: ERR0
282 DRVMES
DB "ing drive "
284 REQUEST
DB 13,10,"Abort, Retry, Ignore? $"
286 ERR0
DB "Write protect$"
289 ERR3
DB "Bad command$"
291 ERR5
DB "Bad call format$"
293 ERR7
DB "Non-DOS disk$"
294 ERR8
DB "Sector not found$"
296 ERR10
DB "Write fault$"
297 ERR11
DB "Read fault$"
301 anoprompt db cr
,lf
,'Copy another $'
302 cpymsg db cr
,lf
,cr
,lf
,'Copying...$'
304 goodmsg db 'Copy complete',cr
,lf
,'$'
305 ABMES db 'Copy not completed',cr
,lf
,'$'
306 srcmsg db cr
,lf
,cr
,lf
,'Insert source diskette in drive '
308 fdstmsg db cr
,lf
,'Insert formatted target diskette in drive '
310 dstmsg db cr
,lf
,'Insert target diskette in drive '
312 keymsg db cr
,lf
,'Strike any key when ready $'
313 drverr1 db cr
,lf
,'Invalid drive specification',cr
,lf
,'$'
314 drverr3 db cr
,lf
,cr
,lf
,'Source and target disks are not the'
315 db cr
,lf
,' same format. Cannot do the copy.'