************* **************** 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 6308. Reading a file descriptor, if it was
found. Set 23773, 23781 and the flag of Z: if Z = 1
reads the descriptor, otherwise the error NO FILE.
6308 JP NZ, 985, and if before calling the file was not found
den, the error
CALL 5725; download the file descriptor
RET; Returns
Address 6315. Processing parameters for subroutine
download the file. At the entrance, set 23766, 23769 and
23771; count descriptor file you're looking. At the exit of
23,771 will be the length of the file to download, 23766 - 0 if
the length of me, otherwise 3. In HL will load address of the
file DE - his address on the disk, B - number of sectors to
load. When loading array or a program in BASIC will be made
Preparation of memory to boot.
6315 LD A, (23766) take the boot flag
OR A; the beginning and the length taken from the catalogs
ha?
LD HL, (23782), we take the beginning of the file
descriptor
JR Z, 6327, if the parameters do not take from the
category Taloga, then
LD HL, (23769), we take the starting address, appointed
chenny us
6327 LD DE, (23787) take the address of the file on disk
CP 3, all parameters are assigned user
ers?
LD A, (23786) take the file size in sectors
PUSH DE; saving the file to address discrete
Ke
LD DE, (23784) take the file length of the descriptor
JR NZ, 6347, if you want to take it is not there,
then we take
LD DE, (23771), length of load assigned to
mi
6347 LD B, A; preserve the file size in seconds
tori
LD (23771), DE; setting the file length to zag
manual ultrasonic
LD A, (23781) file extension C?
CP "C"
LD A, B; restore the file length in
sectors
JR NZ, 6397, if the extension is not C, then the length
no change
LD A, B; if the file length in bytes of the corresponding
corresponds to its
CP D; size in sectors, then the length
BitTorrent does not change
JR Z, 6390
DEC A
CP D
LD A, B
JR Z, 6390
LD A, (23766), the length assigned to the user?
CP 3
LD A, B; restore the file size
sectors
JR Z, 6390, and if we are assigned a length
load, it does not change
XOR A; shipping only completely filled
nennye sector
LD (23766), A
LD D, B; calculation of the length of the file in bytes
of its length
LD E, 0; sectors
LD (23771), DE; installation of a new length
JR 6393
6390 CALL 6427; download the entire file
6393 LD A, B; restore the file size
sectors
CALL 7852; calculation of the number of sectors
Download
LD B, A; preserving its
LD A, (23781) file extension C?
CP "C"
POP DE; recovery addresses on file
CD
RET Z; if the file extension C, the WHO
Gates
Error! If the read or write sector
file, there should be a refund. Because of this
errors can not read or write sector file
expansion of B or D.
PUSH DE; saving the file to address discrete
Ke
CP "B"; extension of B?
PUSH AF; preserve the file extension
CALL Z, 6657, if the extension B, the preparation
correction to the boot program
, In Basic
POP AF; recovery extension
CP "D"; extension of D?
CALL Z, 6732, and if so, preparing for loaded
ZEC array
CALL 6427; length boot has not changed
LD A, (23772), take the number of sectors for
Downloads
LD B, A
POP DE; recovery addresses on file
CD
RET; Returns
to be continued ...