City #38
29 декабря 1999 |
|
Likbez - a full disassembler ROM (part 29).
************* **************** 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 ...
Other articles:
Similar articles:
В этот день... 21 November