***************** ************** 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 5360. Check availability of disk space for a
team-priemike COPY B. Set 23775 and put it in drive
drive-receiver. Sets 23770, 23783, 23773 and 23841 zeroes.
5360 XOR A; zeroing 23841
LD (23841), A
CALL 1029, setting the disk
CALL 15889; take the drive mode
LD (23770), A; save it
LD A, (24072); save disk type
LD (23783), A
LD HL, 640; calculation of the number of sectors
CP 25, the disk-receiver
JR Z, 5407
LD HL, 1260
CP 1924
JR Z, 5407
CP 1923
JR Z, 5407
LD HL, 2560
CP 1922
JR Z, 5407
JP 7540, when as a type of disc one hundred
um undefined value, then
* ERROR *
Better DISC ERROR.
5407 LD (23773), HL; preservation of the number of sectors
disk-unit
LD BC, (23,775), take the number of copied ce
Ktorov
SBC HL, BC; room enough?
JP C, 7237; if not, NO SPACE
RET; Returns
Address 5420. Runs the command COPY B. Set
23611.
5420 CALL 7541; if there is a check on the syntactic
system, then return
CALL 5743; reserve space in memory
LD HL, 10105; print BACKUP DISC
CALL 9991
LD HL, 10154; print INSERT SOURCE DISC
CALL 9991
5438 CALL 4173; input keys
CP "Y"; is Y?
JR NZ, 5438, and if so, repeat
CALL 7583; cleaning the bottom of the screen
LD A, 255, the first pass
LD (23841), A
Attention! This variable is already taken. It stores the first
3 letters of the command line.
CALL 1029, setting the disk
CALL 15889; take the drive mode
LD (23769), A; save it
LD A, (24072) take the type of disc
CP 25, drive 40-track one-sided
tions?
LD HL, 640; all sectors on the disk 640
JR Z, 5493, and if so, copy
LD HL, 1280; all sectors on the disk 1280
CP 24; disc 80-track one-sided
tions?
JR Z, 5493, and if so, copy
CP 23, drive 40-track bilaterally
tions?
JR Z, 5493, and if so, copy
LD HL, 2560, all sectors on the disk 2560
CP 22, 80-track disc bilaterally
tions?
JR Z, 5493, and if so, copy
JP 7450, otherwise * ERROR *
Attention! It is better to give a message DISC ERROR.
5493 LD BC, (24,074), take the number of free seconds
tori
SBC HL, BC; calculate the number of employees
Sectors
LD (23781), HL; set number of sectors
LD (23775), HL
LD HL, 0, 0 sectors copied
LD (23777), HL
LD (23779), HL
CALL 5560; copying sectors
CALL 1029, setting the disk
LD A, (23783), installation of a new type of disc
Receiver
LD (24072), A
LD HL, (23773), take the total number of sectors
CD-Receiver
LD BC, (23,775), take the number of copied sec
tori
SBC HL, BC; calculation of the number of free seconds
operators on the disc - the receiver
LD (24074), HL; install it
CALL 5348, setting a floppy disk
receiver
LD DE, 9; recorded sector 8 track 0
LD (23796), DE
CALL 7747; record sector
JP 993; O.K.
to be continued ...