PDP11GY
Experienced Member
regarding to my last thread "Improved RL01/RL02 disk simulator available", November 17th, 2013,
I would like to discuss the problems which arose in the development of the ST506/412 simulator.
In the appendix you will find two documents, the prototype of my interface and the C source code
of the NIOS-II programm. Everything is documented there as I have implemented it. The complete
timing is implemented via Verilog and runs without problems. However, this simulator is being
developed to ensure that it runs on all systems, not only on DEC systems. The different CPU
types, little and big endian are also taken into account in the following way: The MFM-ENcoder
and MFM-DEcoder can be switched between LSB or MSB first to be able to support big endian and
little endian architectures. I also will implement a special feature, the so-called Clone_Mode.
In this mode, the entire contents of the hard disk is copied to the SD-Card. The complete tranfer
is done cylinder by Cylinder and all is controlled by the FPGA. The data are read 1:1, whether
good or bad. Also important, rewriting the Header/Data-CRC can reconstruct the data in some cases.
Since I use the inexpensive DE0-NANO board here, we have a limitation with regard to the onboard
memory size of 32MB. Thus the ST-225 with 25MB is the maximum which can be simulated. All other
would be a question of money. Right now I have a problem, my RD51 and RD50 is defective and
therefore I can not continue with the development of the Clone_Mode. Instead I'm trying to
develop the simulator according to the available descriptions in the documents. But there are
inconsistencies:
-Signal DRV SLCTD, read signal, going to the (RQDX)controller. Is it static asserted ? The RQDX
is polling the available units via Drive-select. If a match occours the DRV SLCTD signal is
asserted but should be released afterwards if no match ?
- TRACK FORMAT:
- ID AM : Customized @ low level format or always "A1FE" ?
- Data AM : Customized @ low level format or always "A1F8" ?
- Idex-Puls length: schould be 200 uSec, but a scope-measurement results in about 350uSec.
Open issues still exist in the low-level formating procedure. Is the complete timing track
rewritten (from index to index) or will be reformated only the Data, CRC's and header?
Last but not least: How is Bad-Block replacement implemented? I only can remember about
RCT ( Replacement Control Table ) und FCT ( Factory control Table ) and dynamic Bad Block
Replacement (DBR) which is a special DEC implementation based on MSCP....but on a RQDX
controller, MSCP is full implemented, correct ? "Now I turn in circles." Based on the
SEAGATE ST506 ServiceManual, I have implemented the data structure via my NIOS-II C-program,
experimented around a lot but the RQDX controller does not recognize my simulated disk.
Again, I have the problem that I have no runable RD50/51 for reference purpose
Summary I try to get a running RD50/51 disk and a RQDX-2/3 replacing my RQDX-1. First I will
continue to work implementing the clone-mode to be able to use the simulator not only for DEC.
Every note from you is welcome. Thanks in advance.
I would like to discuss the problems which arose in the development of the ST506/412 simulator.
In the appendix you will find two documents, the prototype of my interface and the C source code
of the NIOS-II programm. Everything is documented there as I have implemented it. The complete
timing is implemented via Verilog and runs without problems. However, this simulator is being
developed to ensure that it runs on all systems, not only on DEC systems. The different CPU
types, little and big endian are also taken into account in the following way: The MFM-ENcoder
and MFM-DEcoder can be switched between LSB or MSB first to be able to support big endian and
little endian architectures. I also will implement a special feature, the so-called Clone_Mode.
In this mode, the entire contents of the hard disk is copied to the SD-Card. The complete tranfer
is done cylinder by Cylinder and all is controlled by the FPGA. The data are read 1:1, whether
good or bad. Also important, rewriting the Header/Data-CRC can reconstruct the data in some cases.
Since I use the inexpensive DE0-NANO board here, we have a limitation with regard to the onboard
memory size of 32MB. Thus the ST-225 with 25MB is the maximum which can be simulated. All other
would be a question of money. Right now I have a problem, my RD51 and RD50 is defective and
therefore I can not continue with the development of the Clone_Mode. Instead I'm trying to
develop the simulator according to the available descriptions in the documents. But there are
inconsistencies:
-Signal DRV SLCTD, read signal, going to the (RQDX)controller. Is it static asserted ? The RQDX
is polling the available units via Drive-select. If a match occours the DRV SLCTD signal is
asserted but should be released afterwards if no match ?
- TRACK FORMAT:
- ID AM : Customized @ low level format or always "A1FE" ?
- Data AM : Customized @ low level format or always "A1F8" ?
- Idex-Puls length: schould be 200 uSec, but a scope-measurement results in about 350uSec.
Open issues still exist in the low-level formating procedure. Is the complete timing track
rewritten (from index to index) or will be reformated only the Data, CRC's and header?
Last but not least: How is Bad-Block replacement implemented? I only can remember about
RCT ( Replacement Control Table ) und FCT ( Factory control Table ) and dynamic Bad Block
Replacement (DBR) which is a special DEC implementation based on MSCP....but on a RQDX
controller, MSCP is full implemented, correct ? "Now I turn in circles." Based on the
SEAGATE ST506 ServiceManual, I have implemented the data structure via my NIOS-II C-program,
experimented around a lot but the RQDX controller does not recognize my simulated disk.
Again, I have the problem that I have no runable RD50/51 for reference purpose
Summary I try to get a running RD50/51 disk and a RQDX-2/3 replacing my RQDX-1. First I will
continue to work implementing the clone-mode to be able to use the simulator not only for DEC.
Every note from you is welcome. Thanks in advance.