• Please review our updated Terms and Rules here

Tektronix 4907 Floppy Drive

nikola-wan

Veteran Member
Joined
Mar 7, 2018
Messages
1,286
Location
Texas, USA
I've made progress on both my 4907 Floppy drive systems- memory errors during boot have been fixed - 2 bad 4027 DRAMs on one and I replaced five 4027 on the other - more difficult on the second one because they were soldered in, so I had to remove the ceramic DRAMs and install sockets.

Both systems now run the 4907 operators manual example BASIC program for the Tektronix 405x computers to set the time - but both fail to access the floppy disk with Error 16.

The 4907 service manual downloaded from bitsavers indicates the following items for this error:

ERROR16.jpg

I have connected my HP 1630A logic analyzer probes to the pins in the ribbon cable between the mainboard and the ROM board - and when I trigger on a read of the hex address 4014 RP0 status register - I see the drive reporting not ready.

Ok, download the Shugart 800/801 Floppy Drive service manual. That manual indicates that the drive is looking for sector pulses from the sensor above the disk and the door closed sensor before reporting drive ready.

Ah-hah - my 8" NOS disks are double-density double-sided - and the disk hole is offset from the sensor on the 800 floppy.

More google searches turned up the reason for the disk not ready:
https://groups.google.com/d/msg/comp.os.cpm/NqpeHqaAeqQ/aQ4QpNsF-g8J

I don't have the right floppy - I need a single sided single density hard sectored floppy: SSSD, the DSDD floppies I bought won't work.
These SSSD floppies have 32 sector holes and an extra hole to indicate first sector - see 3M floppy disk manual on bitsavers:

http://www.bitsavers.org/pdf/3M/3M_Diskette_Reference_Manual_May83.pdf

The 4907 Service Manual shows the mainboard logic has a sector counter - and requires the 32 sector holes.

I've ordered a box of 8" SSSD Nashua floppy disks - EBAY seller indicated they have lots of holes - and the location of the sensor hole matches the one on the 4907 drive (7 degrees from the center line through the slot for the head)

I'll hold my breath until I get these floppies next Friday.
 
Last edited:
4907 repair photos

4907 repair photos

Here are some photos of the insides of the Tektronix 4907 Floppy Drive - master drive with the controller:

Front View after I replaced the bad DRAMs - now only the Clock LED is ON - it stays on until you manually enter the date and time from the computer:

attachment.php


Top View of the 4907 with 18 socketed 4K bit Mostek 4027 DRAMs. The right photo is the 4907 with soldered ceramic case DRAMs.
The mainboard continues under the board with the ROMs and has the 6800 CPU. The only other boards are the power supply board behind the drive and the Shugart floppy drive board.

attachment.php
attachment.php


And the bottom view showing the older Shugart 8" discrete drive controller board, and the second photo is the newer Shugart controller board in the second 4907 with LSI chip.

attachment.php
attachment.php


In order to debug the DRAM issue on both 4907 - that resulted in the BUSY, FAULT and CLOCK LEDs to be ON, I pushed a header strip into the ribbon cable connector hanging from the mainboard to ROM board. This cable could connect to the 4051 diagnostic tester - which I don't have, plus a 4907 diagnostic ROM which I don't have. But all the signals are documented in the Service Manual on bitsavers.org.

I have an HP 1630A Logic Analyzer - and used the wires on three pods to connect to the signals in the ribbon cable by pushing the logic analyzer wires into the exposed header pins.

Here is a photo of the Logic Analyzer Trace Setup: all eight DATA signals, all sixteen address lines, RWOC, VMA. I didn't use PIAE - and the service manual indicates it is driven from the 4051 tester. The capture spec was looking for a WRITE (VMA=0 and RWOC=0) to address 4000 - the I/O register controlling the front panel LEDs.

attachment.php


Here is a photo of the logic analyzer pods connected to the ribbon cable. J Clock on Pod 4 was connected to J300-A23 signal 02L-1 service manual page 8-08. B pins are in the foreground of the second photo. First photo shows clock falling edge, I also used clock rising edge with no issues.

attachment.php


attachment.php


Here is a trace showing the read of a DRAM location didn't match the value written. shortly after this was the write to the register 4000 to turn on the Fault LED.

attachment.php
 
Last edited:
I have a 6800 CPU preprocessor module and other CPUs with a 10269B General Purpose Probe Interface plus mini cassette tapes with Inverse Assembler files coming from Australia. Should arrive Friday.

The Inverse Assembler files will disassemble a trace listing with the 6800 code, to make it easier to see why the program does not continue.

Here is the photo of the 10269B probe interface to the HP 1630A/D/G logic analyzer pods

attachment.php


and here is a photo of the User Definable (wire wrap) interface that plugs into the probe interface:

attachment.php


I found that one on goodwill website - it should be here tomorrow. It has an 8051 cable attached.

attachment.php


The seller had manuals for everything - I will be scanning them so Al can post them on bitsavers.org
 
The small photos were a downloaded as a collection from iCloud. the larger photos were directly transferred. Here are larger versions - edited to brighten them and reduce the size which increases how they are displayed, from the first post:

4907 front view
attachment.php


4907 top view
attachment.php


4907 bottom view - older Shugart floppy
attachment.php


Newer Shugart floppy in the other 4907
attachment.php


Logic Analyzer probes attached to ribbon cable between mainboard and ROM board
attachment.php


Closeup of connections to the ribbon cable
attachment.php


Where the first DRAM failure was detected. The write to that location was a value of FF at mark 0038
The trace triggered at 0000 at the write to register 4000 hex.
Other reads from Fxxx are ROM code fetches. VMA must be zero for valid reads or writes. RWOC is one for reads and zero for writes.
attachment.php
 
Last edited:
I have two of these; one with a single floppy drive and another with dual floppy drives. This information will be very handy when I get around to refurbishing mine! Thank you very much!
 
Success! I got one of my Tektronix 4907 Floppy Drives to Work!

Success! I got one of my Tektronix 4907 Floppy Drives to Work!

Yeah! I received the Athana 8" single-sided, single-density NOS floppy drives yesterday - and got one of my two Tektronix 4907 Floppy drive systems to work!

Here is a photo comparing the Athana floppy to a 3M double-sided, double-density floppy.
Notice the sector hole location differences. Also note the Athana has more sector holes - 32 plus additional hole for first sector.

attachment.php


Next image is the sample program from the 4907 Operators Manual on bitsavers:

attachment.php


I have uploaded that program to a new 4907 Floppy Drive folder on my Tektronix 4050 program repository:

https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/blob/master/4907-Floppy-Drive/4907_Sample_IO_Program.BAS

One of my two 4907 ran the program successfully! Here is a photo while the drive was formatting the floppy disk and then writing the ASCII and BINARY files:

attachment.php


The 4907 does not use the LED in the Floppy Drive Eject Button - but has a separate Unit Busy LED and Write Protect Switch with LED for every drive.

Next is a photo of my 4054A screen showing the program formatting the floppy disk, then creating the two files and reading them back and printing the contents to the screen (just two text messages).
Also note the formatted capacity matches the capacity listed in the operators and service manuals as double-density, although the floppy disks I found on EBAY were only listed as single-density.

You can also see the default folder that was created to store these two files. The 4907 has a hierarchical file structure, supporting up to five levels of directories and also supports password protection and secret encryption on any file.

attachment.php


I also ran the CALL "HERRS" command which returns values: retries in last I/O, accumulated retries, successful I/O recoveries, and unsuccessful I/O operations since power on. I saw no errors for the format and two file writes :)
 
Next, I will debug the issue reported with the second 4907 system - Error 15.

Check out the screenshot for this error:

attachment.php


Note the 08 at the end of the Error 15 message.

Here is what the 4907 Service Manual posted on bitsavers indicates for submessages for this error:

attachment.php


I think I will try to connect the floppy drive in the working system to the one with Error 15.

I already tried to add floppy drive terminator resistors mentioned in the service and installation manual - but I don't think that is the problem.

I also ran the HERRS command after this error and it reports 1 unsuccessful I/O operation.
 
I have two of these; one with a single floppy drive and another with dual floppy drives. This information will be very handy when I get around to refurbishing mine! Thank you very much!

legalize,

It sounds like you have a master unit - which only has a single drive and the dual floppy slave drive unit.

You should only have to debug the single drive unit - if you have a working 4050 computer with the File Manager ROM Cartridge.

I just got one of my systems working - I'm debugging the other one.

I measured the index pulse width as 106.6ns on the working floppy and about 4x longer on the floppy that doesn't work.

I'll check the floppy service manual again - there was a paper sticker on the front of that drive that said "Drive 0F". I also think there was no DS jumper - which could result in F or 15 - which doesn't sound right. Shugart manual does indicate they could support up to eight drives.
 
Both of my 4907 Floppy Drive Systems - now working!

Both of my 4907 Floppy Drive Systems - now working!

I put the 'newer' 801 Shugart floppy drive in my working 4907 - still didn't work.

I looked at the 800/801 Shugart floppy OEM manual and found a diagram with explanation for how the drive could separate the INDEX from the SECTOR pulses - and the Shugart service manual showed the test points "10" for INDEX and "12" for SECTOR.

I checked my Fluke meter manual and found I needed to press a different function key to measure milliseconds and Hz. I measured TP10 on the working floppy and found 6.0Hz, which makes sense - as the motor is turning the disk at 360rpm. TP12 showed 192Hz - once again making sense as 6 times 32 is 192.

I put the 'newer' drive back on the working unit and saw 6Hz on TP10, but flaky readings -sometimes 192Hz on TP12.

I then closely examined the phototransistor mount on the bottom of the drive. The yellow paint on the screw was 'cracked' - it appears a shock during shipment might have done that.
Here is a closeup of that screw:

attachment.php


I loosened that screw slightly and pushed the mount until the paint 'looked right' and TP12 reported a solid 192Hz and tightened that screw.

I put the floppy in the 'newer' drive, turned on the system - and the first system now worked with the 'newer' drive.

I re-ran the sample program, re-formatted the disk, re-wrote the two sample files with no errors (and the new timestamps).

Now time to put the original drive back in the working system - to see if the disk was readable by the original drive.

Yes - disk read fine and the files printed out with the original drive.

Last step - put the 'newer' drive back into its system and retest.

Yippee! that disk reads fine in the second system - also with no errors!

It's Miller Time!

Next step - make a program to backup a tape to a floppy.
 
Last edited:
One more 4907 update for today.

It was pretty easy to convert one of the 4907's into a second drive enclosure.
- change the drive select on the floppy in the 'slave' enclosure to DS1
- remove the ribbon cable from the mainboard to the power supply board
- use that ribbon cable to connect the two enclosures

Everything works - UNIT 0 is in the master enclosure and UNIT 1 is in the slave enclosure. I did notice the UNIT Busy LED on the front panel is not working on the slave enclosure - signal could have been in the mainboard.

Here is a photo of the stack of two 4907 next to my 4054A.
There is also the 4050E01 ROM Expander and my small laptop on top of the 4054A.
Below the 4054A is my Data I/O

attachment.php
 
Good work getting the 4907 working and a really nice 4054!

I would like to somehow emulate the 4907. Did you do any work on this or is it me remembering wrong? My GPIB project is still dormant.
 
Good work getting the 4907 working and a really nice 4054!

I would like to somehow emulate the 4907. Did you do any work on this or is it me remembering wrong? My GPIB project is still dormant.

My GPIB project is still dormant too.

But when I envisioned my project - I wanted to emulate the 4924 GPIB tape drive - but didn't have one.

Now I have a 4924 tape drive - that I replaced the locked up capstan motor, and now use to rewind old tapes I have been replacing belts and recovering and posting the recovered files on my github site.

I also now have a National Instruments GPIB to USB adapter that I have used with my HP 1630A logic analyzer to emulate an HP PCL printer and capture logic analyzer print output.

Today, I expect to receive a Motorola 6800 CPU Preprocessor interface for the HP 1630A logic analyzer. I may be able to use it to debug the 6800 CPU in the 4924 tape drive issue with GPIB.

If I get the 4924 working - I can dump 4050 to 4924 GPIB transactions - that I can use to emulate the embedded Tek BASIC interface to the 4924 that I want to emulate with Arduino code.

I also have found in the 4907 Service Manual the 4907 test program written by Tektronix Support that shows RAW GPIB commands in the embedded BASIC ROM to the 4907. This may indicate a way to add "directory support" to the GPIB emulator - without needing the 4907 File Manager ROM cartridge.
 
Last edited:
Here is a photo of loading the 4052/4054 Assembler program from the 4907 File Manager Unit 0 Floppy disk into 4054A memory, and then listing to the screen:

attachment.php


First command at the top of the screen sets the 4907 clock date and time:

CALL "SETTIM","08-JUL-19 20:01:00"

That command only has to be done when the system is powered on. There is no battery backup, the clock is done in 6800 firmware based on a fixed interrupt period.

Next, the command to mount one of the Unit drives, where A$ will receive the drive status.
Unit 0 is the drive in the main File Manager system on top. Unit 1 is in the lower unit (ignore the 0 on that unit - I changed the drive address select to become the second drive).

CALL "MOUNT",0,A$

Next command lists all the files found on the floppy disk just mounted:

DIR2,"@"

The fourth file listed is "SCRATCHLIB/ASSEMBLER", where SCRATCHLIB is the default directory.
So to load the ASSEMBLER program, you type:

OLD "ASSEMBLER"

I then listed the program, which stops the listing when the screen is full until you press the PAGE key to clear the screen and the listing will continue.
 
legalize,

It sounds like you have a master unit - which only has a single drive and the dual floppy slave drive unit.

You should only have to debug the single drive unit - if you have a working 4050 computer with the File Manager ROM Cartridge.

They can also be used with some of the 411x terminals, IIRC. I'm not sure if any of my 411x terminals have the necessary I/O option in them for the external floppy drive. At least one of my terminals has the floppy drive integrated into the terminal housing and it's likely they used the same electronics and just placed it in the housing of the terminal instead of a separate enclosure.
 
EBAY 4907 and 4907 Option 30 two more 8 inch drives - both WORK!!

EBAY 4907 and 4907 Option 30 two more 8 inch drives - both WORK!!

Encourage by my success in getting two Tektronix 4907 drive systems working - I just received two more from EBAY, one more 4907 controller with one drive and one dual 8 inch floppy slave unit for the 4907 controller.

Here is a photo of the dual drive slave unit - on top of my two 4907's:

attachment.php


Before powering this unit on, I checked the following:

  • Rear Fuse - good
  • Power configuration - 120VAC good
  • Power supply board fuse - good
  • Unplugged all the cables to the two 8 inch drives to test the power supply board
  • Plugged in the power cord and turned on the switch
  • Rotron fan in the rear fails to rotate - checked the 120VAC to the fan - 120VAC is ok, fan has failed
  • Power supply +5V - good
  • Power supply +24V - not good

Checked the service manual - you must add a jumper on the CONT pins if the Slave Drive unit is not connected to a 4907 controller.
Plugged in the jumper - +24V good, removed the jumper.
Turned off the power switch.

I checked the stepper motor on both drives - one turned easily, one didn't turn.
I put in an allen wrench into the setscrew on the stepper shaft and got it to start turning - I slowly moved the head back and forward and noticed the head seemed to catch at a couple of places.
Both the Tektronix service manual and the Shugart 8 inch drive manual indicate - do not oil or grease the shaft.

Plugged in the cables to the drives, connected the Option 30 two additional drives to my 4907.
I left the cover off the two additional drives as in the photo above and pointed a desk fan at the drives for cooling.

Both the left and right drives showed errors trying to read my formatted disks.
I carefully cleaned the heads on both with isopropyl alcohol on a cotton swab.

Now the left drive was able to read my formatted disks!

The right drive gets an immediate error trying to read data on the first track - I'll work on this one later.

Here is a screenshot of reading the disk directory on the left drive:

attachment.php


Now it was time to test the 4907 that I purchased at the same time.

I checked the rear fuse - the fuse ejector was broken, so I took a photo - it looked ok.

I plugged in the power cord and the 4907 powered up and turned on the CLOCK LED, which I new meant the 6800 passed self test, memory test and was waiting for the clock time to be initialized.

I connected this 4907 to my 4052, sent the CALL "SETTIM" command with the current date and time - and the CLOCK LED turned off - I think the 4907 is working.

Now I inserted a formatted floppy, and CALL "MOUNT",0,A$ worked! I was able to load and run programs from that disk.

Here is a photo of the EBAY 4907 - replacing the two drive Option 30 on top of my other two 4907's:

attachment.php


And now for the finale - I inserted my new Adventure program disk and the game loaded and ran!

attachment.php


The 4907 controller also had its fan fail - so I'll replace both of them.

There were also a couple of cosmetic issues - the lens in the power switch on both units was missing, and the left drive write protect switch cover was broken off, and the switch was very hard to turn off. I can fix those too.

All, in all - success in getting computer equipment dated 1979 working.
 
Nice to see you were able to save them.
Did you get any of the tapes?

Al, yes I got eight tapes with them. I recovered all but the NAVY DEMO tape - which was on a Verbatim tape cartridge. I've had no luck recovering any Verbatim tapes - maybe they stretch?

I'll be posting about the recovered files in my thread on 4050 programs.

Monty
 
Encourage by my success in getting two Tektronix 4907 drive systems working - I just received two more from EBAY, one more 4907 controller with one drive and one dual 8 inch floppy slave unit for the 4907 controller.

So that´s why I cannot find a 4907 : Monty is hoarding them all !

Seriously, any chance of a 4907 firmware dump, if possible a straight dump of the 6800 ROM space ? ( i.e. with the patch rom details already included ? )

Once you take modern RAMs and ROMs, leave out parity etc there is not al that much left of the 4907 hardware : a somewhat modernized copy of the hardware may be less work than re-
inventing things from scratch... ( SD-cards etc etc )
And the software would be identical.

Jos
 
So that´s why I cannot find a 4907 : Monty is hoarding them all !

Seriously, any chance of a 4907 firmware dump, if possible a straight dump of the 6800 ROM space ? ( i.e. with the patch rom details already included ? )

Once you take modern RAMs and ROMs, leave out parity etc there is not al that much left of the 4907 hardware : a somewhat modernized copy of the hardware may be less work than re-
inventing things from scratch... ( SD-cards etc etc )
And the software would be identical.

Jos[/QUOTE

Jos,

I consider it saving from the scrap pile

I posted the auction on this forum and a Tek 4051 facebook group and after 2 weeks decided to buy them to get a real slave drive for me, and get more data points on the drive to drive incompatibility I’m seeing.

I now have two drives that can reliably read each others data, one that reads mostly, one that begins to mount and then fails and one that immediately errors on mounting a good disk.

I suspect drive alignment - but can’t find an 8” hard sector alignment disk.

I believe the 4907 service manual quote - not to use a soft sector alignment disk as the drive wont be able to read disks from other drives.

When this covid-19 pandemic is over, I plan to ask the Living Computer museum to loan me the two 8” floppies recorded by Tektronix to use to align all the drives.

I have replaced the two bad Rotron fans with new Orion OA80AP-11-3TB fans and they work great and are quiet.

I also found last night, the replacement C&K lever switch with LED to replace the broken front panel write protect switch and indicator: 7101J62CQE32 and ordered it.

I will try to recover the ROM image as patched, but wouldnÂ’t it be easier to capture the ROMs and Patch FPLA separately?

I guess I could build a breadboard with address and data latches to capture the ROMs as patched?

Jos, I would certainly like to send you a 4907 main unit - but shipping cost would likely be too high.
Do you travel to the US?

I think your idea of emulating the 4907 hardware instead of a tape drive has lots of advantages, although it would have to be combined with the 4907 file manager ROMs.

I have found it very easy to mod 4050 tape programs for 4907 disk.

Another advantage is the multiple directory support, which easily allows multiple tapes to be saved to one ‘disk’.

Monty
 
Back
Top