(C) P. Yu Fedin
FULL DESCRIPTION + FULL ROM Disassembler
TR-DOS 5.04T (5.03)
For professionals
And as for those
WHO WANTS TO BE.
continued
Address 1680. Runs the command COPY. Set
23825 and 23611.
1680 LD HL, (23825) take the address of the second symbol to
mandnoy line
INC HL
LD A, (HL); take this symbol
AND 223; capital letters
CP "S"; is "S"?
JP Z, 4960, and if so, copy a file to
A drive
CP "B"; a "B"?
JP Z, 5420, and if so, copy the entire
disc on one drive
CALL 7629, receiving the file names
CALL 7541; if there is a check on the syntactic
system, then return
CALL 5743; allocation of memory space
CALL 4142, receiving a file extension
CALL 7344; install the old file name
LD A, (23798); retention rates drive -
source
LD (23800), A
JP NZ, 1483; if the file is not found, the verification
ka COPY "*","*"
Error! COPY "*","*" should always check, or
if the disk file named "*" is copied
Once this file, but in general there should be as follows:
LD (23800), A
PUSH AF
CALL 1483
POP AF
JP NZ, 985
A sub-program in 1483 instead of JP NZ, 985 should
be RET NZ.
CALL 5725; reading the file descriptor
LD HL, 23782; preserving its parts
LD DE, 23789
LD BC, 7
LDIR
CALL 7344, installing a new file name
PUSH AF; preservation of the check result
PUSH BC; and file number
LD A, (23798); retention rates drive -
Receiver
LD (23801), A
LD A, (23800); drive select - the source
CALL 15819
CALL 1029, setting the disk
LD A, (23801); drive select - Receiver
CALL 15819
CALL 1029, setting the disk
POP BC; restore the file number
POP AF; and the check result of the new
filename
JR NZ, 1779, if the file is not found, then copies
tion file
CALL 1460; check the file extension
""
JR NZ, 1779, if copied another block, then
copy it
CALL 1409; request OVERWRITE?
JP NZ, 993; if there was a response to N, then OK
1779 CALL 1596; copying a file
CALL 7747; overwrite the sector with the descriptor
File
LD A, (23781) take the file extension
CP "#"; a "#"?
JP NZ, 993, and if not, then O.K.
LD A, 10, a file search to 10 bytes
LD (23814), A
LD HL, 23782; the next block
INC (HL)
LD A, (23800); drive select - the source
CALL 15819
CALL 1460; search unit
JP NZ, 993, and if not found, then O.K.
CALL 5725; reading its descriptor
LD HL, 23782; preserving its parts
LD DE, 23789
LD BC, 7
LDIR
LD A, (23801); drive select - Receiver
CALL 15819
CALL 1029, setting the disk
JR 1779; repeat
Address 1839. Copying a file with two drives.
Set 23793, 23843, 23800, 23801, 23794, 23759
and 23787.
1839 LD A, (23793), take the number of sectors
OR A; all copied?
RET Z; if so, return
PUSH HL; conservation HL
LD HL, 23843; address of the variable with the length of
work whose memory areas
SUB (HL); area enough?
POP HL; recovery HL
JR NC, 1909; if the workspace is not enough
a copy of the file
LD A, (23793), copy the rest
LD B, A
* OR A; copied all
LD (23793), A
1860 PUSH BC; preservation of copying
Mykh sectors
LD A, (23800), the choice of drive-source
CALL 15819
POP BC; rehabilitation of mines
Fix sectors
PUSH BC; and then save it
LD HL, (23759) take the address of the workspace
parameters myati
PUSH HL; save it
LD DE, (23794) take the address of the file on the dis
Re-source
CALL 7741; boot sectors
LD HL, (23796); installation addresses the following rough
ppy sectors
LD (23794), HL; disk source
LD A, (23801), the choice of drive-receiver
CALL 15819
POP HL; recovery addresses working
memory area
POP BC; and the number of copied sectors
ditch
LD DE, (23787) take the address of the file on the dis
ke-receiver
CALL 7757; recording sectors
LD HL, (23796); installation addresses the following rough
ppy sectors
LD (23787), HL; disk-receiver
JR 1839; repeat
1909 LD (23793), A; installation of the remaining quantitative
va sectors
PUSH HL; conservation HL
LD HL, 23843; copy as many sectors, the rate
lko
LD B, (HL); fit into your workspace
POP HL; recovery HL
* OR A; reset battery
JR 1860 copy sectors
to be continued ...