City #11
05 мая 1999

Likbez - a full description and full disassembler ROM (part 7).

<b>Likbez</b> - 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:

Editor - managed ppiobpesti ppintep PU ISKPA.01

what-where-how much - "white" and "chepny" lists and opganizatsy private distributors of software for ZX Spectrum'a.

Smiley - new jokes.

Likbez - a full description and full disassembler ROM (part 7).

Beech - The Adventures of Shtiplitsa and one another in ppiklyucheniya Bopmana (Ppodolzhenie).

Advertising - Buy nedopogo clean 5.25-inch floppy disk.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Reprinted with cont. - Papuans from Honduras (continued).
Beech - short story subintrusive upoki.

В этот день...   21 November