--------------------------------------------------
LIKBEZ
--------------------------------------------------
(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 1409. Request to erase the file. Set
23773 and 23798, and in case C put the file number.
If you answer Y file will be erased and turned on the flag Z,
otherwise it will be turned off.
1409 PUSH BC; saving the file number
CALL 7575; clear the screen and the opening of
current 0.
LD A, (23798) take the number of drive
ADD A, "A"; calculate your drive
CALL 15746; print it
LD A, ":"; print colon
CALL 15746
LD HL, 23773; address of the variable with the name and
races File extension
CALL 10552; print file name and extension
LD HL, 10272; print FILE EXISTS. OVERWRITE?
CALL 9991
CALL 4178; input keys
CP "Y"; a "Y"?
PUSH AF; preservation of the check result
CALL 7575; clear screen
POP AF; AF and restore a file number
POP BC
RET NZ; if there was a response to N, then return
PUSH BC; saving the file number
CALL 7575; clear screen
POP BC; restore the file number
CALL 1921; erase file
XOR A; the inclusion of the flag Z
RET; Returns
Address 1460. Testing the existence of a file block with
extension #. Set 23773, 23781 and 23782. If a block is found or
the file has another extension, then include a flag Z,
otherwise it will be turned off. 1460 LD A, (23781) take the
file extension
CP "#"; a "#"?
JR Z, 1469, and if not, then
XOR A; the inclusion of the flag Z
RET; & Returns
1469 LD A, 10, a file search to 10 bytes
LD (23814), A
CALL 7347; file search
LD A, 9; file look for the 9 bytes
LD (23814), A
RET; Returns
Address 1483. Runs the command COPY "*","*". First
star place in 23773, the second - on the calculator stack and
set the 23800, 23843 and 23759. 1483 LD A, (23773) take the
first character filename
CP "*"; a "*"?
JP NZ, 985, and if not, then NO FILE
CALL 7605; withdrawal line from the stack Calculator
torus
EX DE, HL
CALL 7297; install drive-receiver
LD A, (HL); take the next character in the string
CP "*"; a "*"?
JP NZ, 7450, and if not, then the error
LD A, (23798); retention rates drive-in
receiver
LD (23801), A
1524 LD A, (23801), the choice of drive-receiver
CALL 15819
CALL 1029, setting the disk
LD A, 255, start with the file 0
LD (23821), A
LD A, (23800), the choice of drive-source
CALL 15819
CALL 1029, setting the disk
LD A, (23821); next file
INC A
LD (23821), A
LD C, A
CALL 5725; reading its descriptor
LD A, (23773) take the first symbol of his name
CP 0; is the end of the catalog?
JP Z, 993, and if so, O.K.
CP 1, the file is erased?
JR NZ, 1524, and if so, what next file
LD HL, 23782; preserve a part of the file descriptor
LD DE, 23789
LD BC, 7
LDIR
LD A, (23801), the choice of drive-receiver
CALL 15819
CALL 7347; file search
JR NZ, 1588, and if not found, copying
File
CALL 1460; check the file with a "#"
JR NZ, 1588, if copied another block, then
copy it
CALL 1409; request OVERWRITE?
JR NZ, 1524, if the answer was N, then the next
file
1588 CALL 1596; copying a file
CALL 7747; overwrite the sector with the descriptor
File
JR 1524, repeat until the end of the catalog
Address 1596. Copying a file with two drives.
Place the file descriptor in the 23773 and part of it
at 23,789.
1596 CALL 1021; boot sector of the buffer 8 to
Cones 0
LD A, (24073) take the number of files on the dis
Ke
CP 128; already have 128 files?
JP Z, 7237, and if so, NO SPACE
Error! We must show DIRECTORY FULL.
LD HL, 23789; restore the file descriptor
LD DE, 23782
LD BC, 7
LDIR
LD DE, (23786) take the file length in sectors
LD D, 0
OR A
LD HL, (24074); take a number of free seconds
operators on the disk
SBC HL, DE; reduce the space
JP C, 7237, if space is not enough, then NO
SPACE
LD (24074), HL; installation of a new number
free sectors
LD HL, (24070) take the address of the free space
the space on the disk
LD (23787), HL; installation disk file address
PUSH HL; preserving its
CALL 1839; copying a file
POP HL; recovery addresses on file
CD
LD (23787), HL; install it
LD HL, (23796) take the new address of the free
Disk Space
LD (24070), HL; install it
LD HL, 24073; recorded 1 file
INC (HL)
LD C, (HL); take a number of the recording file
DEC C
LD B, 0
PUSH BC; save it
LD DE, 9, burn the track sector 8 0
LD (23796), DE
CALL 7747; record sector
POP BC; restore the file number
CALL 5739; installation file descriptor
RET; Returns
to be continued ...