Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Opening up new ports to Java with javax.comm

Sometimes a simple set of APIs can be exceptionally powerful

  • Print
  • Feedback
I was introduced to the javax.comm package of classes when I discovered they were used in the development kit for the Java Ring. (For details on javax.comm, see Rinaldo Di Giorgio's Java Developer column in the May issue of JavaWorld: "Java gets serial support with the new javax.comm package.") During my mad rush at JavaOne to get a program into my ring, I ran into a variety of problems, not the least of which was communicating with the ring. I downloaded the distribution from the Java Developer Connection and tried unsuccessfully to use it to talk to the Java Ring. Later, I discovered the problem with my ring: I didn't have Dallas Semiconductor's legacy APIs installed correctly. With the ring working, I basically forgot about the communications package. That is, until one weekend about a month ago, which is the starting point for this story.

For many different reasons (mostly having to do with highly interactive simulated environments -- for example, games), the primary computer in my "lab" runs Windows 95. However, on this particular weekend I was more concerned with another computer that, in many ways, was about as powerful as the Java Ring: a Digital Equipment Corporation PDP-8/e.

The PDP-8 was arguably the first true personal computer. Designed in the late 1960s and produced in relatively high quantities in the 70s, the PDP-8 could be lifted by a single individual, was powered by 120-volt line current, and cost less than 0,000. Most of these computers shipped with a single peripheral: a Teletype Model ASR-33 terminal -- the original "TTY" in computer lingo.

The ASR-33 teletype was a printing terminal that came with a paper-tape reader and punch. Yep, it was paper tape, 1"-wide paper with holes punched in it, that was the primary storage medium for programs on the PDP-8.

The PDP-8 was the first computer I ever programmed and therefore it has a special place in my heart. Further, due to some fortuitous circumstances, I was in the right place at the right time and managed to save a PDP-8 that was going to be scrapped as junk. A photograph of my prize is shown below.

A Digital Equipment Corporation PDP-8/e

On this special weekend not too long ago, I decided to bring the PDP-8 back to life, if only to relive those precious early memories and to show my daughter just how good she has it with her "measley old 133-MHz Pentium."

Reviving one classic by simulating another

To begin my revival effort, I had to get a program into the PDP-8. On the PDP-8, this is achieved by following a three-step process:

  1. Using the front-panel switches, the user "keys" a short program into the magnetic core memory. This program is called the RIM Loader, and its purpose is to load another program from paper tape that is in Read-in-Mode, or RIM, format.

  2. RIM Loader loads the paper tape in RIM format. This tape contains a program called a BIN Loader, which can load programs from paper tape in binary (BIN) format.

  3. Finally, you run BIN Loader to load the program you really want, which is on a paper tape in BIN format. Whew!


After going through these three steps, the program you want to run is stored in core memory. All the user needs to do then is set the starting address and tell the machine to "go."

  • Print
  • Feedback

Resources
  • Example program from the javax.comm distribution http://www.javaworld.com/jw-09-1998/indepth/SimpleWrite.java
  • A paper tape reader simulator for loading PDP-8 programs from a Java-capable computer http://www.javaworld.com/jw-09-1998/indepth/SendTape.java
  • Rinaldo Di Giorgio devoted his JavaWorld May issue Java Developer column to javax.comm in "Java gets serial support with the new javax.comm package" http://www.javaworld.com/jw-05-1998/jw-05-javadev.html
  • Early access pages on Java Developer Connection (registration required) http://developer.java.sun.com/developer/earlyAccess/index.htm
  • Early access versions of the Java Communications API (registration required) http://developer.java.sun.com/developer/earlyAccess/communications.html
  • Doug Jones' page describing the PDP-8's history and pointers to his FTP archive http://www.cs.uiowa.edu/~jones/pdp8/
  • Previous Java In Depth articles http://www.javaworld.com/topicalindex/jw-ti-indepth.html