Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.

Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.

Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.

Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.

Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.

Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.

Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.

New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.

Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Tektronix 4907 Floppy Drive

  • Filter
  • Time
  • Show
Clear All
new posts

    Tektronix 4907 Floppy Drive

    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:


    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:

    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:

    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 by nikola-wan; June 29, 2019, 05:39 PM.

    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:

    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.

    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.

    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

    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.

    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.

    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.

    Last edited by nikola-wan; June 30, 2019, 02:00 PM. Reason: corrected clock pin


      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

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

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

      The seller had manuals for everything - I will be scanning them so Al can post them on


        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

        4907 top view

        4907 bottom view - older Shugart floppy

        Newer Shugart floppy in the other 4907

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

        Closeup of connections to the ribbon cable

        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.
        Last edited by nikola-wan; June 30, 2019, 03:11 PM.


          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!
          @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


            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.

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

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


            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:

            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.

            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:

              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:

              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'm reposting the link to my scan of the 4907 File Manager pocket reference. It hasn't been picked up on bitsavers yet.



                  Originally posted by legalize View Post
                  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!

                  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!

                    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:

                    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 by nikola-wan; July 4, 2019, 12:15 PM. Reason: added photo of mount that may have moved in shipping


                      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


                        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.


                          Originally posted by MattisLind View Post
                          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 by nikola-wan; July 5, 2019, 03:36 AM.


                            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:

                            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:


                            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.


                              Originally posted by nikola-wan View Post

                              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.
                              @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database