Final Assembly and Testing
- Unscrew and remove the bottom. The case should be resting on its top surface (but protected from scratches)
- Insert the FP assembly in the wide dado slot and the Back Panel assembly in the narrow dado slot. If you run into resistance, check for excess glue. In my unit, I found that the back panel was a bit too large and I had to trim it down some on the grinder. If the FP won’t fit due to size errors, it could be more serious. Try to determine where the measurement is off and by how much. Then you can determine the best course of action.
- Connect the power and IDC-10 connectors from the back panel to the FP and SBC.
- Attach the 12V wall transformer and test the system as described in Part II of this article.
- Test the fit with the bottom panel and resolve any issues.
- As-is, the faceplate and rear panel might move back and forth a bit in their slots. I found that shims made from popsicle sticks work well to tighten the panels in their slots. You can make them as shown at right by whittling to thin the end. Cut it off, using the end piece as the shim. Pressing it tightly into the dado behind the panel, secures it. However, to keep it in place you need to use an adhesive. We want to be able to remove the shims though, in case the front panel needs to be taken out. Caulk which remains flexible should work. I used a small tube of construction adhesive, which seems similar but perhaps a bit stronger. Remember, we’re not trying to glue the panels in place, only the shims. I put four shims in for the front panel and five for the back panel, as seen in the photo of the completed interior, below. (I tidied-up the cables by bundling, after the photo.)
- Attach the bottom panel and you’re done! A hearty congratulations for completing a challenging project!
Support Software for the SBC6120
Since I have not yet had much time to explore the software, I expect to expand this section in the future. Comments and contributions from readers are welcome. The focus here, is on dealing with the CF card or IDE drive (hereafter “CF drive”) of the SBC and on ways of transferring files between that and a PC. (Sorry that I’m not familiar with Mac and Linux solutions.) OS/8, as used on our SBC, must have Armstrong’s custom handler installed, to be able to access a CF drive. The drive is partitioned into 1M-word logical drives, since that’s the largest partition that OS/8 supports. [The classic RK05 disk drive was 1.6M-words, which required it be partitioned into two logical drives.] This CF format is not supported directly by Windows or DOS, so special utilities are needed to transfer files.
Steve Gibson’s Utilities and Images
Steve has provided here, some very useful utilities and images:
InstallOS8.exe - Copies the built-in OS/8 image to an SBC-readable IDE drive or CF card
As described in “Getting the Operating System Running” in Part II, this utility runs in a DOS box under windows. It finds any IDE or compact flash card on the PC, which has been previously formatted by the DF command on the SBC6120. Containing an image of OS/8, it transfers the image to the IDE drive or CF card. You can then move the drive or card to the SBC and boot OS/8. Note that Basic is partially present but does not run correctly. Since it seemed to be missing the file PASS2o.sv, I added that, which allowed it to run a simple program but not a modest game. The GAMES.ide image below contains Basic, which presumably is able to run games.
Wintoata.exe - Copies an OS/8-format image file to an SBC-readable IDE drive or CF card partition
This utility runs in a DOS box under windows. It finds any IDE or compact flash card on the PC, which has been previously formatted by the DF command on the SBC6120. It transfers an OS/8 compatible disk image from a 2,097,152 byte Windows file, to the specified partition of the IDE drive or CF card. You can then move the drive or card to the SBC and access the files with OS/8. I was not able to get Wintoata to work in the brief time I spent with it.
Atatowin.exe - Copies an SBC-readable IDE drive or CF card partition to a file on the PC
This utility runs in a DOS box under windows. It finds any IDE or compact flash card on the PC, which has been previously formatted by the DF command on the SBC6120. It transfers the specified SBC-OS/8 partition of the IDE drive or CF card to a 2,097,152 byte Windows file. The partition could be copied back to an IDE drive or CF card with Wintoata.exe. I have not tried to use Atatowin.
Os8systm.ide - A PC file containing an image of a bootable OS/8 system partition
A 2,097,152 byte Windows file, containing an image of OS/8, for use with Wintoata.exe. This is presumably the same image which is built into InstallOS8.exe.
GAMES.ide - A PC file containing an image of an SBC partition, containing games, Basic and more
A 2,097,152 byte Windows file, containing a disk image (for use with Wintoata) with lots of PDP-8 games. It also includes Basic and Kermit-12. Kermit-12 should allow individual file transfer between a PC and the SBC. Since I haven’t been able to get Wintoata to run yet, I haven’t tried this image.
Bob Armstrong’s Utilities and Images
Bob’s tools are available for download here.
BTS6120 monitor - Loads an OS/8-format image file to the SBC IDE or CF drive via serial port
The SBC’s built-in monitor software has several disk-management features but with regard to transferring files with a PC, the DL command is not to be overlooked. For details, please see sections 4.5.2 and 5.8.2 of the SBC manual. The main drawback to this method is that it takes about 3-hours to transfer a disk partition.
MKID01.exe - Copies an OS/8-format image file to an SBC-readable IDE drive
This seems similar to Gibson’s Wintoata.exe described above except that I don’t know whether or not it can write to CF cards. The image file format is compatible with Armstrong’s PDP-8 simulator, so you can use the simulator (running OS/8) to customize the image. There is a warning that one should be careful not to overwrite an existing drive on the PC.
WinEight - Windows-based PDP-8 series simulator, with special features to mimic an SBC6120
This Windows program simulates a PDP-8 computer. After installing WinEight with its setup program, you can run it by double-clicking UserInterface.exe in its program folder or by using the Start menu and finding WinEight. It’s supplied with OS8V3Q.RX1 as a bootable image file. This is treated in the emulator as a floppy disk and as-such is limited to about 494-blocks or 126,464-words [size figures vary]. To run OS/8, In the WinEight window:
Make sure Caps Lock is on. The nifty Teletype font for WinEight shows lowercase characters as uppercase, so you could be misled.
About OS/8 Disk Names
OS/8 storage devices generally are referenced in commands by 2-3 characters, a possible digit and a colon, like RXA1: for example. The digit starts at zero and is for devices like disks and tapes, which may have multiple units. A fine point: The device name is technically the part without the colon. The colon appears as part of the syntax of a command, as when we refer to a file like RXA1:DOG.SV or issue a command like DIR IDA1:
Confusingly, some commands don’t use a colon with the device name, like ASSIGN, for example. Perhaps that’s because ASSIGN only deals with device names, so no colon syntax is needed.
Some devices names are generic, in that they refer to any particular device which has been designated for a function. These include:
SYS - device that that OS/8 is on
DSK - default device for file reads and writes
TTY - console terminal
By the way, if you want to see what devices are currently installed in OS/8, enter the command:
R BUILD At the $-prompt from BUILD, enter QL to see the list. Press Ctrl-C to return to OS/8.
Don’t confuse device names with references to the handler group name, which subsumes all of the units of a device type. People refer to a device type generically by the group name. For example, in the View|Devices menu item, WinEight lists the Floppy drive as RX8E, which is the group name of the floppy handler. The group names are often the same as the controller hardware. Floppy drives in a real PDP-8 would have an RX8E controller board.
- Select File|Boot.
- In the Boot Files dialog, you may need to choose “RX8E image files” in the Files-of-type drop-down box.
- Click OS8V3Q.RX1 and the Open button. You should see the dot-prompt of OS/8.
- Type DIR [Enter] to list the system directory.
Doing a DIR on the drive shows 437-blocks used with only one block free. (Boot records take up some space?) Anyway, there isn’t enough room left to do anything like compiling a program or loading a game, as-is but you could create an empty volume to use as a working disk. To create a virtual working floppy disk:
- Select File|Open.
- Enter a new disk name, with the extension, such as DOG.RX1
- It will confirm that it is creating the file.
- Before you can use the disk, you need to initialize it with the OS/8 command:
ZERO RXA1: (don’t do this with good files on it!)
- Issuing the command: DIR RXA1: will show
0 FILES IN 0 BLOCKS - 487 FREE BLOCKS
- To make the new volume the default for file writes, DIRs, etc., issue the command: AS RXA1 DSK
This assigns the default disk device (DSK) to the new volume.
- You can see the new volume by selecting View|Devices and expanding the RX8E Floppy Diskette item.
Note that the copy of the operating system in the supplied OS8V3Q.RX1 file expects to be booted from a floppy drive, which WinEight simulates, based on the file extension. This image would not work directly on the SBC. The manual describes how to substitute a customized device handler for the floppy handler, to support the SBC’s CF drive. Instead, I used Gibson’s image file, os8systm.ide for the SBC, as it already has the new handler installed. You can also boot the WinEight simulator from os8systm.ide. Booting it is just like booting from the other file, except that you need to select the ID01-image-files type. One reason to boot this image in the emulator would be to customize it by adding files. WinEight doesn’t seem to have a direct way to transfer Windows files to OS/8 drives, though. FLX8 (below) should be able to help with that.
FLX8.exe - PC Utility providing a command system for mounting SBC drives and handling files
See FLX8-W32.exe below.
OS8V3Q.RX1 - A PC file containing an image of a small, WinEight-bootable OS/8 system partition
This is the OS/8 image which is supplied with WinEight and is mentioned above. Since it emulates a floppy disk, the amount of storage is quite limited. In fact, it has only one block free, as shipped. However, it can be useful as a building block for other images. Note though, that its copy of OS/8 is setup to boot from a (real or virtual) floppy. It must be modified as described in the SBC Manual (ref p.43), to be able to boot on the SBC.
Jim Kearney’s Utility and Image
Jim (who also created the IOB6120 board), has produced an image and utility for the SBC, which are available here. FLX8-W32 and Kermit-12 can be found in the FLX8 and OS8 subfolders in iob6120_v266_113_111.zip. The image file mentioned below, is in sbc6120_ide.zip.
FLX8-W32.exe - PC Utility providing a command system for mounting SBC drives and handling files
This program runs directly from Windows (in it’s own DOS box) and lets you transfer files between SBC drives (attached to the PC) and DOS. Upper and lower case does not matter. Pressing F3 recalls the last last command, just like in DOS. When you run it, you get its command prompt, at which you can enter the following commands:
- MOU.NT <file or device> [/RX01][/RX50][/VM.01][/ID.01][/RK.05]
- PART.ITION <number>|<letter>
- DU.MP <block>
- DIR.ECTORY [<file(s)>][<output dev>][/BRIEF][/FULL]
- TY.PE <file(s)>[/CONF.IRM]
- REA.D <file(s)>[<dest file(s)>][/SYS.TEM][/CONF.IRM][/BOOT]
- REN.NAME <oldfile(s)> <newfile(s)>[/CONF.IRM]
- WRI.TE <file(s)>[<dest file(s)>][/SYS.TEM][/CONF.IRM][/BOOT]
- ZER.O [/SYS.TEM][/NOCONF.IRM]
- Q.UIT / EX.IT
- !<DOS operating system command>
1. The dot in a command or switch indicates the shortest abbreviation. (Don’t type the dot.)
2. <file(s)> means: a filename, a wildcard, or a list of these separated by commas.
Here is an example of a sequence of commands with FLX8. To make things easy, while still in Windows, create a working folder in the root of C:, and put a copy of FLX8-W32.exe, cc3250.dll and the files you will be working with in it. That way, you won’t have to type directory paths:
mount the ide image file as a virtual disk
initialize it, erasing any existing files
write the DOS file into the virtual disk
dismount the image file and quit
mount xfer.ide /id /vir
FLX8-W32 appears to be an important way to manipulate SBC disk images and to copy individual files between the PC and the SBC. Until I discovered FLX8-W32 very recently, I had floundered with a version of FLX8.exe which didn’t work for me on Win7. (That version can be identified by its size, 253KB.) I look forward to doing more with FLX8-W32, when I get back to this project.
SBC6120.ide - A PC file containing an image of a bootable OS/8 system partition
Jim has provided this image for the SBC. I was able to boot OS/8 from it with WinEight and look at the directory. It appears to have Basic, PFocal and Fortran, as well as a number of Focal programs.
Other Utilities and Images
Kermit-12 - Copies individual files between any computer and a PDP-8 via the serial port
This is one of the programs on Steve Gibson’s GAMES.ide image, as mentioned above. It is also in Jim Kearney’s iob6120_v266_113_111.zip file, mentioned above. Running on the SBC, it holds the promise of being able to transfer individual files with any computer, via a serial port. This is at the top of my list of things to try with the SBC.
David Gesswein’s PDP-8 Utilities and Images
David and his website have long been a pillar of the vintage PDP-8 community, providing a repository of files and reference information. While his images and utilities are designed for real PDP-8 hardware, there is still much there, from which SBC users can benefit. I will mention just a couple of items which I’ve used in working with the PDP-8/m but I highly recommend an extended visit, exploring his site.
- os8/diag-games-kermit.rk05 - A PC file containing an image of a bootable OS/8 system partition
This is an RK05 disk image containing bootable OS/8, diagnostics, games and Kermit-12, as its name implies. I used this image to boot OS/8 on the PDP-8/m. Of course, the disk handler expects actual RK05 disk hardware, so it can’t run on the SBC6120, unless BUILD is used to swap handlers. It would presumably be bootable with the WinEight simulator, except for the fact that the image file format is different. It would be nice to create utilities to translate image formats.
- sendtape.exe - A PC utility to send a paper tape image file to the PDP-8 via the serial port
This can be used to send bin-loader format tape images to the binary loader, running on the PDP-8. (See next.)
- restrk05.exe and restrk05.bin - A transfer system to load an image from a PC to the RK05 drive on a PDP-8
I used these to load the os8/diag-games-kermit.rk05 (renamed in 8.3 format) onto an RK05 drive on the PDP-8/m. First Sendtape is used with the standard bin loader, to get restrk05.bin running on the PDP-8. Then restrk05.exe is executed on the PC to send the image file. Worked great! OS/8 booted right up. Of course, since restrk05.bin expects to deal with actual RK05 disk hardware, it can’t work on the SBC. Source code is provided.
Trials and Tribulations with the Software etc.
It’s to be expected from the nature of this 40-plus year old system, that there will be snags. One has to keep in mind that this is only a labor of love for us all. Actually, resolving the problems and offering the solutions to others is an important part of the fun of this hobby, as I am enjoying here and now. In that spirit, here are some of the snags, with which I am still having fun:
- Basic on the InstallOS8.exe image is missing a file. Still won’t run games with the file added.
- Wintoata.exe only prints help when attempting to write a partition to a CF card.
- Fortran IV halts without an error indication but I haven’t tried much to get it working.
- The data selector switch on the SBC isn’t working. When not in run mode, all four positions show the MD value. In run mode, MD shows correctly but the other three positions show another value (all three the same).
While the time has come for me to attend to some other projects for a while, “I shall return” to slay these dragons and look forward to writing about the solutions here, this winter!
The SBC6120/FP6120 has been a fun and rewarding project. I highly recommend it to folks who would like to recreate the PDP-8/e and who are willing to put the effort into building the system. For me, building the case was the greatest challenge, followed by the effort to update the parts list. Fortunately, readers can take advantage of the parts lists provided in Part I of this article. Overall, the computer has worked admirably well, with perhaps just a snag or two. It is an outstanding product, indeed.
<<< Return to Part I - Overview, Documentation and Parts
<<< Return to Part II - Circuit Assembly, Software and Testing
<<< Return to Part III - Building the Enclosure
Now at Part IV - Final Assembly and Support Software
I would like to thank Bob Armstrong for the great design, for continuing to make the kits available from time-to-time and for the helpful advice he has given me. Also a few of the illustrations created for this article are inspired by his illustrations in the SBC6120 and FP6120 User’s Manuals. Thanks also go to Steve Gibson, Jim Kearney and Dave Gesswein. Their pioneering and extremely helpful Web contributions greatly benefited this project.
Copyright © 2013 by Stephen H. Lafferty. All rights reserved.