City #11
05 мая 1999 |
|
Likbez - a full description and full disassembler ROM (part 7).
-------------------------------------------------- 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 Interface ports BETA DISC To control the interface BETA DISC used Ports: 31 - conclusion - the instruction register the SH-93, enter - register state of SH-93. 63 - Register Track SH-93. 95 - Register sector SH-93. 127 - Register of data SH-93. 255 - conclusion - a system register, the input signals DRQ and INTRQ. Port 31. Instruction register, the most important. With his program the controller gives commands to conduct operations. Chip can perform 11 teams: BIN HEX 0000HVRR # 00 - # 0F recovery. 0001HVRR # 10 - # 1F search. 001THVRR # 20 - # 3F Step in the previous direction. 010THVRR # 40 - # 5F step forward. 011THVRR # 60 - # 7F Step back. 100MSECA # 80 - # 9F Reading sector. 101MSEC0 # A0 - # BF recording sector. 11000E00 # C0, # C4 Reading address. 11100E00 # E0, # E4 Reading track. 11110E00 # F0, # F4 track record. 1101IIII # D0 - # DF Forced interruption. Flag bits: RR - rate positioning of the head: R1 R0 T step 0 0 6 ms 0 1 12 ms 1 0 20 ms January 1, 1930 ms This table is valid for a clock frequency of 1 MHz. When the signal TEST = 0 the period is about 400 ms and not changes. V - checking track number after positioning. H - head load. T - modified track number in the register of the track after each step. A - type of address labels (0 - # FB, 1 - # F8). C - check if the number of the disc in the identification of index field. E - the delay after loading the head at 30 ms. S - side of the disc. M - multi-sectoral operation. I - Interrupt condition: I0 - Upgrade the drive in the Ready state. I1 - Upgrade the drive in the state of "not ready". I2 - on the index pulse. I3 - immediately. The command "restore" performs positioning on track 0. If after 256 steps the signal TR00 does not appear, then the command exits. Always satisfied when you reset the controller regardless of the availability drive. The command "search" - in case the track should be the current track number and the register data - required. Move the head occurs before their match. The command "move" promotes the head on a step. The direction set by Commands "forward" and "backward" The command "read sector" reads with the current track sector, whose number is specified in the register of the sector. Side of the disc is given by the flag S (0, 1). When the flag is set M reads all sectors by the end of the track. Flag A - type of address labels: If A = 1 - # F8, erasing sector is allowed, with A = 0 - # FB, erasing prohibited. At first read the ID sector; if none is found, then status register flag is set "array not found". Otherwise, if match track number, side, sector, and the checksum, the data is read: regular bytes is given in the data register and is accompanied signal DRQ. Byte must be read from register data to the emergence of the next, otherwise the register state flag is set on "data loss". In the end of the reading verified the checksum and if it does not match, the status register flag is set on "check sum error". When This multi-sectoral operation is terminated. The command "write sector in the identification of sector performed like the previous one. Signal DRQ appears at the request of the first byte of data. Then evaluated 22 bytes for double-density (for Single 11) - the gap between the index and the area data. After that, if the data register has received byte write strobe is issued and recorded data starting with zero bytes and address labels. Register Data should receive another byte in response to Each signal DRQ speed record. If the byte is not received, the status register is set bit "data loss" and is written to disk 0 byte. After data is recorded checksum and byte - Space. WSTB signal is set to 0. The command "read address" reads the first 6 bytes got the ID sector, including the checksum. If the checksum does not match, it sets a flag "check sum error" and continue reading. This command byte from the register of the track is placed in the register sector. At the end of the usual signal is generated INTRQ and status register is reset bits "Busy". Command "Read Track" reads all information from tracks, including the service. It is not issued gating read and checked the checksums. The command "track record" is designed to format disks. All information, including spaces and field indices and data from all tags. Recorded all the bytes except # F5 - # FE, which is interpreted as a control address labels. Thus when formatting these bytes can not be recorded. A list of these bytes you see in the table below: Appointment Bytes In FM mode MFM # F5 is not allowed to record labels # A1 in MFM Calculated cont Roll amount # F6 is not allowed to record labels in # C2 MFM # F7 Write the calculated checksum sum # F8 - # FB Record # F8 - # FB with Record # F8 - # FB in CLK = # C7 MFM Record # FC # FC with CLK = # D7 Record # FC in the MFM (Index mark before the first index array) Record # FD # FD with CLK = # FF # FD record in the MFM Record # FE # FE with CLK = # C7 Record # FE in MFM Calculated control Naya sum (Index mark at the beginning of the index array) # FF Write # FF with CLK = # FF Write # FF in MFM The command "forced termination" is defined for completion of any command being executed. Unlike other teams it may be issued at any time time. The condition interrupts depends on the bits of the command. If they are 0, then the command is aborted and INTRQ not produced. If I0 = 1 interrupt executed after the transition signal CPRDY from 0 to 1; for I1 = 1 - from 1 to 0. If I2 = 1 - Admissions index pulse. If I3 = 1 occurs immediately interrupt command. After these conditions are met given signal INTRQ. to be continued ...
Other articles:
Similar articles:
В этот день... 21 November