************** *************** 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 4261. Message command LIST.
4261 DEFM "Del."
4265 DEFM "File (s)"
DEFB 0
4275 DEFM "Title:"
DEFB 160
4282 DEFB 23,17
DEFM "Disk Drive:"
DEFB 0
4298 DEFB 23,16, "", 0
4302 DEFM "40 Track S. Side"
DEFB 0
4322 DEFM "80 Track S. Side"
DEFB 0
4342 DEFM "40 Track D. Side"
DEFB 0
4362 DEFM "80 Track D. Side"
DEFB 0
4382 DEFB 23,16
DEFM "Free sector"
DEFB 0
4398 DEFB 13,13
DEFM "File Name Start Length Line"
DEFB 0
Address 4433. Allocation of 546 bytes in the workspace.
Sets 23759.
4433 LD HL, (23649) take the address of the workspace
LD (23759), HL; installation address space
LD BC, 546; to allocate 546 bytes
JP 7715; selection and return
Address 4445. Print the number of HL with zeros.
4445 XOR A; in the tens of thousands including 0
LD DE, 10000
4449 SBC HL, DE; subtracted from the number 10000
JR C, 4456, if the number turned out lower
10000, then the next level
INC A; the next ten thousand
JR 4449; repeat
4556 ADD A, "0"; print tens of thousands
CALL 4520
ADD HL, DE; restore the balance of
XOR A; including 0 thousand
4446 LD DE, 1000
SBC HL, DE; subtracted from the number 1000
JR C, 4473, if the number turned out lower
1000, the next level
INC A; the next thousand
JR 4446; repeat
4473 ADD A, "0"; print thousands
CALL 4520
ADD HL, DE; restore the balance of
XOR A; among hundreds 0
LD DE, 100
4483 SBC HL, DE; subtracted from the number 100
JR C, 4490, if the number turned out less than 100,
then the next level
INC A; next hundred
JR 4483; repeat
4490 ADD A, "0"; print hundreds of
CALL 4520
ADD HL, DE; restore the balance of
XOR A; among dozens 0
LD DE, 10
4500 SBC HL, DE; subtracted from the number 10
JR C, 4507, if the number turned out less than 10,
then the next level
INC A; the next ten
JR 4500; repeat
4507 ADD A, "0"; print tens
CALL 4520
ADD HL, DE; restore the balance of
LD A, L; printing units
ADD A, "0"
CALL 4520
RET; Returns
Address 4520. Same as 15746.
4520 PUSH HL; preservation of HL and DE
PUSH DE
CALL 15746; print symbol
POP DE; restoration DE and HL
POP HL
RET; Returns
Address 4528. Check it reaches the end buffer
working with the catalog. Set 23801 and 23756, and
HL put the current buffer address. If the end of the buffer is
reached, then load the next buffer sector of a directory, but
the HL will be 23845. 4528 PUSH HL; preservation of HL and BC
PUSH BC
LD A, (23801) take the number of floppy 23801
LD HL, 23798; take a number of the current drive
CP (HL); assigned a different drive?
CALL NZ, 15,819, and if so, choose a designated
drive
POP BC; recovery HL and BC
POP HL
CALL 1292; check reaches the end of Buffet
pa
LD A, (HL); take the first character filename
OR A; the end of the directory?
JP Z, 467; if so, the conclusion
CP 1, the file is erased?
CALL Z, 1287, and if so, skip the file
RET NZ; otherwise return
JR 4528, if the file was missing, then the types
torus
to be continued ...