************* **************** 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 A
continued
Address 6427. Puts the number 3 at 23,766.
6427 LD A, 3
LD (23766), A
RET
Address 6433. Download / verification file and upload / write
sector file. Input: Set 23801, 23824, 23767, 23771, in the HL -
address of the boot in DE - address of the file on the disk, B
- number of sectors to load. 6433 CALL 1394; you download or
Veri fication?
JR Z, 6445, and if so, the execution of operations
all files
PUSH AF; saving flag operation
CALL 6804; address calculation sector
CD
POP AF; restoration of the flag operation
CP 255; reading sector file?
6445 PUSH AF
CALL Z, 6492, and if yes, then read a sector or
file operations
POP AF
JR Z, 6455, and completion of loading or Veri
fication
JP 7757, otherwise record the sector and a return
6455 LD A, (23766) to download the whole file?
CP 3
No need to do this! Better way:
LD A, (23824)
OR A
and PEEK will work properly. Will not boot
debris after the loaded sector. After all, if 23,766
is 0, then the low byte of length is always equal to 0 and
6470 will not work.
CALL Z, 6470, and if so, download, or Very
cation of the end of file
LD HL, (23641) mark the end of the program
BASIC
DEC HL
LD (HL), 128
RET; Returns
Address 6470. Download or verification of the end of the file.
Set 23796, 23771 and 23801.
6470 LD A, (23801), verification?
CP 255
JP NZ, 12,254, and if not, then loading the end
File
LD A, (23771) file is the sector with no OS
tatka?
OR A
RET Z; if so, return
LD C, A; take longer than the remainder
LD B, 1, 1 sector
LD DE, (23796), the current place of disk
JR 6506, verification of the end of the file and the
possibility Gates
Address 6492. Download / verification file and upload the
sector file. Set 23801, DE put in the address file on the disk,
HL - address of the file in memory, B - file length in sectors.
Used also addresses 6506 to verify the specified number of
bytes (all for 6492, except for 23,801 plus to B - Number of
bytes). 6492 LD A, (23801), verification?
CP 255
JP NZ, 7741, and if not, then download the sectors
and return
LD (23796), DE; remember the address of the file on disk
LD C, 0, sector 256 bytes
6506 LD A, B; verifitsiruem 0 sectors?
OR A
RET Z; if so, return
LD (23767), HL; saving a file into memory addresses
T
LD (23769), DE; saving the file to address discrete
Ke
6516 PUSH BC; preservation of the number of sectors
LD B, 1, 1 sector load
LD DE, (23769) from the current disk space
LD HL, 23845; to clipboard
CALL 7741; boot sector
LD HL, (23796) address of the next sector
CD
LD (23769), HL
POP BC; restoration of seconds
tori
LD HL, (23767) take the address of the file in memory
LD DE, 23845; sector address in the buffer
6542 LD A, (DE); comparison of their
CP (HL)
JR NZ, 6557, if the mismatch, then the VERIFY
ERROR
INC HL; next byte
INC DE
DEC C
JR NZ, 6542, repeat until the end
LD (23767), HL; install the following address
DJNZ 6516; repeat until the end
RET; Returns
6557 LD HL, 10091; mail messages VERIFY ERROR
LD A, 13; error code - 13
JP 7242; error handling
to be continued ...