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:

  1. Press the top of the BOOT switch

  2. Press the RESET switch

  3. The drive 0 select LED goes on, the diskette head is loaded, the head is retracted to track 0

  4. The Interrupt 2 LED goes on

  5. Press the Space Bar on the terminal

  6. The Interrupt 2 LED goes out and the diskette head unloads

  7. Press the bottom of the BOOT switch

  8. The diskette head is loaded, the heads move a few tracks, and ISIS-II is loaded

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:

  • Update the MDS-800 page with pictures of the boards, drives, and power supplies in this system and a detailed list of the configuration. (8/11/21, done)

  • Make sure that the diskette drive pressure pads are in place. (8/10/21, Yes they are)

  • Get a known working bootable double-density ISIS-II diskette. Done.

  • Investigate getting a Kryoflux, Catweasel, or Greaseweasel board so we can make images of the diskettes without a working system.

  • Find a boot EPROM listing. We have the Monitor 2.0 listing.

  • Fill 3000h-3fffh with zeros, try to boot, and look at 3000h-3fffh. If the contents changed, then the diskette controller is reading the diskette. (8/10/21, no change to the zeros, so it is not reading the diskette.

  • Look at the diskette controller status register at 78h to see if the drive ready bit is on. (8/10/21, Yes for both diskette drives)

  • forjack842 said that we could load an image of the first four tracks of a diskette into RAM, then load a little program to cause the diskette controller to write the image to diskette. That should make a bootable diskette.

  • m.vale suggested using his IMG2MDS utility, of course this will only work if the drive / controller is Ok but then if it isn’t then a boot disk from anyone won’t work anyway. https://www.youtube.com/watch?v=XonRevJNwek&t=1137s and https://www.youtube.com/watch?v=uCHvWm5drHc&t=9s