Intel Intelec MDS-800 Restoration

7/24/21

The +24VDC and -5VDC power supplies in the 8" disk drive chassis don't work. The two very large resistors in series with the pass transistors for the +24VDC supply gave off a cloud of smoke, so the pass transistors are likely shorted. It is also possible that the crowbar circuit on the +24VDC supply tripped, overloaded the supply, and smoked the resistors. 

7/31/21

The system was missing the DB-37 to Centronics cable that connects the MDS-800 chassis to the diskette drive chassis. Lou made one from a parallel printer cable according to the Intel schematics. Unfortunately there are two possible diskette cables, one for single-density drives and one for double-density drives. Lou had to move a few wires to convert the single-density cable to a double-density cable. The system would still not boot ISIS-II after fixing the cable, so more debugging is necessary.

8/7/21

We used two laboratory power supplies to supply the +24VDC and -5VDC for the diskette drives. With the lab supplies connected to the disk chassis drive 0 is selected at boot, the head solenoid is activated, and the head is stepped to track 0. That is really good progress.

We can see the ready, track 0, index, separated data and separated clock signals on the diskette controller board, but it will not boot ISIS-II. This could be due to a hardware problem, or a bad boot diskette.

We have been getting lots of helpful suggestions from the experts on the intel-devsys Usenet group.

The Youtube video at https://www.youtube.com/watch?v=fH3LTZzj-sc&t=689s  has lots of ideas about debugging the diskette controller.

8/10/21

We toggled in the two instruction program in the screenshot below and ran it. With the diskette out Status Register A contains 18h. This means that the diskette controller is double-density and the controller is present. With the diskette in the drive Status Register A contains 1Dh, so the new bit is Drive 0 Ready.

The ISIS-II bootloader gets read into RAM starting at 3000h. We filled RAM addresses 3000h-3fffh with zeros, and tried to boot ISIS-II. After a reset we looked at the contents of 3000h-3fffh and it was still zeros. That means that the diskette controller did not read the diskette and didn't transfer anything to RAM.

We looked at the 74164 shift register A8. The input on pin 9 is 8 MHz, with the system tying to boot so the head is loaded, we saw 1 MHz on all of the output pins. This was a failure mode in the YouTube video, but not with ours.

In the example below from the video it shows that the low order bit of the diskette controller status register contains a 0 which means that the drive is not ready. Our's contained  18h, so that failure mode from the YouTube video also did not exist with ours.

After trying to boot ISIS-II with two different diskettes the Read Result byte contains 0Eh, so that means Address Error, Seek Error, and CRC error. 

We created an IOPB for a Recalibrate and the head went to track 0. The Read Result byte contains 00h, so no errors.

We tried a seek IOPB.  The Read Result byte contains 0Eh, so that means Address Error, Seek Error, and CRC error.

We are now speculating that a Recalibrate command doesn't need any data from the diskette so that works OK. The Seek and the Read commands need to look at the track and sector addresses in the sector headers on the diskette, they are either not getting data or not interpreting the data, so the command doesn't work.

We swapped the diskette drives, but it didn't make any difference.

We looked at the deserializer A36 on the channel board. We can see activity on SE DATA IN/ and DATA SR STB when it tries to boot. We can also see data available on the four output pins.

We looked at A35 the Signetics 8233 Mux for the diskette data. The output pins are always low. The S0 and S1 control signals are almost always both high which will make the outputs always low. There is sometimes a little spike low on S0 so a bit of data shows on the output.

8/11/21

Roger Arrick will send us ISIS-II and CP/M double-density diskettes. That will be very helpful.

8/12/21

Lou was able to get ISIS-II to boot using a system diskette that contains the software that he wants to recover. There were some issues with a bad sector in the directory area that we will work on Saturday.

8/14/21

Lou tried booting ISIS-II from a different diskette and it worked! This was a little risky because it was the system diskette from his original project. Drive 1 is a little flaky. It looks like the Ready signal is not always getting to the floppy controller. Possibly the card edge connector on the top of the diskette controller that connects to the cable to the bulkhead on the back of the chassis. Needs investigating.

We were able to get Lou's source code files off his diskette by using the Format command in Debug mode to copy the diskette, and then using the copy command to copy the files to the Console and capturing the files with a terminal emulator.

We need to use IMG2MDS to make new ISIS-II and CP/M diskettes. We also have ISIS-II and CP/M diskettes made by x on the way.

8/18/21

We received the CP/M 2.2 and ISIS v4.1 diskettes from Roger Arrick. Both booted OK. Thanks very much Roger.

8/21/21

Drive 1 was intermittently reporting disk ready.  After tracing the signal back from the intrface board, through the connectors and cables,
the problem turned out to be the drive itself.  There is a trimpot in the index hole detect sensor circuit that was dirty.   Tweaking and adjusting solved the problem - again, thanks to Mr. Arrick and others for that hint.  Current status:  System functioning (on disk power supply life support) - boots several versions of ISIS and CP/M .  We're on the lookout for an ICE 80. 

9/1/21

Major progress!  Mike and Lou have repurposed an old disk drive power supply (with the requisite +24, +5 and -5 rails) to replace the one Lou fried. 
We were able to use the Intel wiring harness with a bit of detective work, but gave up 240V operation.  That shouldn't be a problem since we don't think this system will be traveling overseas...but we think we could get 240V working with a mod to the transformer in the "new" supply.

We've kept the carcass of the old supply to scratch our archival itch. 
Next up, some touch-up paint and maybe the high-speed paper tape reader. 
Current status: 99.5% functional (no 240V), 95% assembled (disk drive cabinet needs to be screwed back together).

9/26/21

Lou finished reassembling the diskette drive chassis, so that is now complete.

Lou continued working on a program that will dump the text in all sectors of a diskette to the serial console. Since the source code files are usually stored in sequential sectors on the diskette this is an easy way to capture the contents of all of the text files even though the directory is damaged.

10/13/21

We booted ISIS V3.4, ISIS V4.1, and CP/M V2.2. Everything seems to work OK.

We will use this system to test the double-density diskette chassis that came with the MDS-II Model 230.

11/17/21

We tried to use the IMG2MDS program to write an image of a diskette to a physical diskette. The program that is supposed to change the serial console baud rate from 2400 to 19,200 actually changed it to 9,600 baud, so something is misbehaving with the baud rate generator. The first diskette that we dried would not format. They second diskette formatted OK, wrote the image to the diskette OK, but the diskette would not boot. We need to do some more debugging to get this to work.

12/4/21

The system would not boot from diskette. We cleaned all of the backplane and edge connectors with DEoxIT, but it did not improve the behavior.

We noticed that the RUN led does not stay on after you press the RESET button.

8/6/22

We borrowed board from this system to debug the recently donated MDS-800 #2. We now know that the RAM boards and diskette subsystem are OK, and MDS-800 #2 runs OK. We can use MDS-800 #2 to test the boards from this system and determine what is broken.

Notes:

The ISIS-II boot sequence is:

Use the monitor to enter DB 78 32 00 30 DB 79 32 01 30 C3 00 00 at 4000h. This will give you the FDD status registers at 3000 and 3001.

Changing the last 3 bytes of the above code to C3 00 40 will loop the status register reads allowing the use of an oscilloscope to trace of drive select thru your drive zero, it's head load and data lines. Just reset to return back to monitor.

ORG 4000H
DB 78 in 78H ;read port
32 00 30 sta 3000H ; save at 3000H address
DB 79 in 79H
32 01 30 sta 3001H ; save that at 3001H
C3 00 40 jmp 0000H 

The image below shows another method of looking at the diskette controller status register.

ISIS-II, V4.1

-DIR

DIRECTORY OF :F0:ISIS41

NAME  .EXT  BLKS   LENGTH ATTR      NAME  .EXT  BLKS   LENGTH ATTR

ATTRIB        40     4909           COPY          69     8489

DELETE        39     4824           DIR           55     6815

EDIT          58     7240           FIXMAP        52     6498

HDCOPY        48     5994           HEXOBJ        34     4133

IDISK         63     7895           FORMAT        62     7794

LIB           82    10227           OBJHEX        28     3337

RENAME        20     2346           SUBMIT        39     4821

SYSTEM.LIB    24     2849           FPAL  .LIB    74     9125

ASXREF        35     4294           BAUD          16     1799

DUPL          61     7565           INSERT.ERR    66     8192

NEWFIL       183    23023           LINK         105    13074

LOCATE       120    15021           T              2       29

TYPE           5      416

                               1380

1603/4004 BLOCKS USED


==============================================


ISIS-II, V3.4

-DIR

DIRECTORY OF :F0:SAILX.SYS

NAME  .EXT BLKS   LENGTH ATTR

ASMAC .TMP    1        0

ASXREF       35     4239

ATTRIB       38     4682

BINOBJ       28     3399

COPY         65     8042

DELETE       37     4506

DIR          46     5733

OLDIE        56     6999

FORMAT       49     6093

HEXOBJ       35     4281

IDISK        50     6239

LIB          82    10227

LINK        105    13074

LINK  .OVL   37     4578

LOCATE      120    15021

OBJHEX       27     3284

RENAME       21     2487

SUBMIT       38     4629

FPAL  .LIB   71     8712

PLM80 .LIB   45     5615

SYSTEM.LIB   24     2846

ICE80        82    10174

ICE80 .OV0   31     3763

ICE80 .OV1   35     4234

ICE80 .OV2   10     1106

LIST         19     2178

EDIT         80     9949

EDIT  .MAC    4      272

ASM80       107    13374

ASM80 .OV0   20     2321

ASM80 .OV1   19     2280

ASM80 .OV2   18     2091

ASM80 .OV3  188    23679

TYPE  .OBJ    4      362

TYPEA         3      211

TYPE  .LST   44     5494

TYPE  .REL    4      323

TYPE          3      215

TYPE  .OLD   11     1197

TYPE  .LNK    4      323

TYPE  .MA    20     2315

TYPE  .BAK   20     2339

DISK  .BAK   10     1083

DISK  .OBJ    3      187

DISK  .LST   34     4138

DISK          2      120

DISK  .LNK    2      119

FRANCE.OBJ   22     2582

DISK  .REL    3      170

DISK  .TR    13     1427

ISK   .REL    3      167

SCAN1         6      551

           1834

2058/4004 BLOCKS USED

To Do: