Recent Changes - Search:



edit SideBar


A PDP-8/E Simulator in Java

The emulator can be started by clicking on PDP Emulator which is a Java Web start JNLP application. If you have not yet used JNLP before, you must install it first (or use a recent release of Java). When you have done this successfully, an icon should appear on your desktop, which can be used to start the emulator afterwards. The other possibility is to download the PDP8 JAR file to some convenient location. The JAR file is a self executable file that can by started by double clicking on it.

If you have problems accessing these programs, read the following instructions: Access

Click to enlarge
View of emulator

The PDP8 will appear with the Main Panel and other devices. For the moment the available devices cannot be switched off but can be minimized.

When using the JNLP interface for starting my PDP8, you will have to trust my application. This is so that I can store local properties of the emulator (mainly locations of mounted devices) on your PC. The file is stored in the user directory of your PC or Mac.(In order to allow executing the JNLP you will have to add the URL to the exception list in the Java Control panel)

I can assure that my application does not contain any malware or viruses. I will regenerate the PDP8 every 3 months or so, assuring that you will always get a relatively fresh application.

Formatters for the Dectapes and the 4043 Disks are also available. Alternatively Dectape formatter JAR and the Disk formatter JAR in the aforementioned JAR format can be used.

As the title says, the emulator was written in Java, as a Java application. I tried to keep it as close to the hardware implementation as possible. It was implemented with the Java Web Start (JNLP) extension, for easier deployment. The source is available on Github

Click to enlarge
Emulator logic

A PDP8 with 32K memory, memory extension and time-share, EAE, Papertape Reader/Punch, LE8 Line printer, System Industries 4043 disk, TD8E Dectape and TTY have been implemented up to now. Also implemented are the DK8EP clock (non visual component) and a virtual timer called VirQueue. The memory extension was expanded with the Multi8 instructions and support for 128K memory.

The flow chart on the left shows the relationships of these various components. There are two threads competing for the PC resources: one is the Panel thread that runs in a slow-down mode with sleep(20), the other, the processor thread, runs at full speed (or real PDP8 speed) when the PDP8 is running. Some other threads (not shown on flow chart) are used when requested by the various devices.

Go on from here to the following detail chapters:

  1. Processor
  2. Devices
Edit - History - Print - Recent Changes - Search
Page last modified on September 14, 2018, at 10:23 AM