Setting up a PDP-8 Emulator for Windows

(all PDP-8 blog entries can be seen by clicking here)

I needed to do something totally different today and lately the PDP-8 has been in the back of my head.

The PDP-8 was a super popular minicomputer in the late 1960’s through 1970’s. It was the first system for which I learned assembler (Assembly Language 101 back in 1980). The PDP-8 looks like this:

For our first program, we had to hand assemble it (no assembler, just convert the mnemonics into octal, then binary), then enter the binary through the switch register. It was painfully slow to enter even a tiny program; however, it made you realize exactly what was happening.

Early on, these systems had no operating system. You simply loaded a binary mag tape, punch tape, or card deck, and told the system to load and execute the code on that device. I don’t recall there being an operating system on our PDP-8; however, toward the end of the PDP-8’s life, they did give it an operating system, OS/8, which they modeled after the DEC-10’s TOPS-10.

Here is a PDP-8 emulation running on my PC:

pdp8-fig1

There are several sites on the web that discuss  how to get the emulator running; however, none get quite as far as I want to go in this blog installment – get the emulator to boot off a hard drive (not floppy) with lots of original software and enough space to experiment with the system.

There are some good instructions at these sites for getting SIMH up and emulating a PDP-8 that boots from floppy. If my instructions are lacking at some point, please review these sites as well.

http://techtinkering.com/2009/05/26/emulating-a-dec-pdp8-with-simh/

http://uskerine.wordpress.com/2012/01/23/running-a-pdp-8-in-simh/

First you need to get a copy of SIMH. The easy way to get this is to go to

http://simh.trailing-edge.com/

and download the Windows executables. A word of warning, the RKLFMT command fails in this version of SIMH. RKLFMT is used to format hard drives. Chances are you won’t need this, but if you do want it you will need to go to this link to download the Windows executables:

https://github.com/simh/Win32-Development-Binaries

If you are familiar with github you probably won’t have any trouble. I don’t know what my issue is, but I seem to have problems downloading everytime I go there.

Create an empty directory for the emulator. I used c:\pdp8 and my examples will assume that.

Open the SIMH ZIP file and copy the pdp8.exe file to c:\pdp8.

Now you need an image of a working pdp8 hard drive. Go to this website:

http://www.pdp8online.com/images/images/os8.shtml

And download the file diag-games-kermit.rk05 into the c:\pdp8 directory. The direct link is here:

http://www.pdp8online.com/ftp/images/os8/diag-games-kermit.rk05

Now copy diag-games-kermit.rk05 to rk0.dsk. This new file will be the working copy.

Create the file c:\pdp8\pdp8.ini with the following lines:

set cpu idle
attach rk0 rk0.dsk
boot rk0

These are the commands that tell pdp8.exe to boot from the disk image you just downloaded.

Double click on pdp8.exe. A dos box will open and you will see something like this:

pdp8-fig2

type  DIR to see the files on the hard drive.

Here are some Usage Tips

Many PDP-8 manuals can be found here:

http://bitsavers.trailing-edge.com/pdf/dec/pdp8/os8/

The most important one is the System Reference Manual:

Click to access AA-H607A-TA_OS8_V3D_sysMan.pdf

Games can be found on the hard drive’s 2nd volume:

dir rkb0:

Most of these games require BASIC, and at this moment I’ve had problems getting BASIC to run properly.

If you get tired of typing rkb0: you can change it to something like:

assign rkb0: games
dir games:

To reboot, type

boot/dk

To shutdown, type

boot/n
<control-E>
exit

To build a blank floppy (creating a new file called filename.ext):

<control-E>
attach rx0 filename.ext 
go
zero rxa0:=1  
assign rxa0: a
dir a:

A few other useful links:

Various PDP8 boot images are located at:

http://www.pdp8online.com/ftp/images/

That gets a PDP-8 emulator up and running, booting from hard disk. Next time I need to do something totally random, I’ll look at what it take to write and compile a program, maybe.

 

This entry was posted in c-retro and tagged . Bookmark the permalink.

16 Responses to Setting up a PDP-8 Emulator for Windows

  1. Pingback: PDP-8 SIMH Emulator: Building and Formatting an RK05 Hard Drive | Big Dan the Blogging Man

  2. stylesuxx says:

    This is an awesome series. Just build my PiDP8 last weekend and I am in full experimenting mode right now.
    Played around with OS/8, wrote my first PDP8 assembler program, checked out the big cave adventure. Also booted into TSS8 and made my first steps there.

    So much fun, thank you again for sharing.

  3. Alan L says:

    I am really impressed with your description of simh. Thank you so much. I want to compile a program that I made in linux, so I need to get it “into” the simulator from linux. I am sure it’s simple, i must be missing something fundamental, but I cant see how to do this. I’d appreciate any pointers

    • Dan TheMan says:

      The only ‘easy’ way is to attempt a cut & paste. I haven’t played with this for a long time, but I think if you get into add/insert mode in the editor, you can then paste your source code into the editor.

      The alternative would be to assign your linux disk file to a PDP paper tape device (PTR) and copy the paper tape to the hard drive. I’m pretty sure that can be done, but I don’t recall how to do it.

  4. Jon Arbuckle says:

    What image file do I need to download? I’m stuck I can’t find rk0.dsk.

  5. Dan TheMan says:

    I believe you are to download http://www.pdp8online.com/ftp/images/os8/diag-games-kermit.rk05 then copy that to rk0.dsk. Then setup the pdp8.ini file as instructed. I’m taking this straight out of the post.

  6. Jon Arbuckle says:

    What hard drive image do we need from the image website other than the kermit file?

    • Dan TheMan says:

      It’s been 5 years since I’ve played with this stuff and I just don’t remember any more than what has been written here. I had it running, so I can only suggest following the instructions carefully and looking at the other sources, including the other posts I made on the pdp8.

  7. Jon Arbuckle says:

    When I run dir rkb0 it says file not found. What do I do?

  8. Jon Arbuckle says:

    How do you copy the kermit file to the rk0.dsk file?

  9. Pingback: Building the PiDP-11 DEC PDP-11 Replica Minicomputer | Big Dan the Blogging Man

  10. Pingback: Building the PiDP-11 Dec PDP-11 Replica Minicomputer by todsacerdoti - HackTech

  11. Pingback: Membangun Komputer Mini Replika PiDP-11 DEC PDP-11 - IniBlogger.com - Informasi Berita Terkini Dan Terbaru Hari Ini

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.