Hello World

Hello World 3 Ways – BASIC, PAL Assembler, Paper Tape

The first program anybody writes and runs on a computer is “Hello World”. My PiDP-8 was no exception. The quickest “Hello World” is to get Basic running, type it in, and run it. So I did. That was easy.

After “Hello World”, I loaded “Eliza” which I had retro-modified to run on simh/PDP-8 while I was waiting for my PiDP-8 to arrive. The version I started with was from Big Computer Games published in 1984. Most of the string handling routines had to be modified because OS/8 Basic has very limited string handling routines. I did my editing in Textwrangler on my Mac and cut and pasted it into the PDP-8 terminal. I finally got it running the way it should. After I got my PiDP-8, I transferred it to the PiDP-8 using Filezilla and loaded it as a paper tape using the simh PTR. I was finally starting to see how the computer users of 50 years ago had to wait for, it seemed, an eternity just to see the program header print on the teletype. But Eliza, the Psychotherapist, asked all the pertinent questions. Trying to type an answer on the teletype keys was a chore, to say the least. You need to punch the keys down solidly and slowly for everything to be typed correctly.


Next to be edited, compiled, and run was a PDP-8 PAL Assembler version of “Hello World”. I copied a version that is freely available from a number of places on the web. I “cheated” again and edited on my Mac. (One of these days when I have enough time, I need to learn OS/8 Edit or TECO to edit my source code.) I also used a version of Palbart, a PAL-compatible cross-assembler, on my Mac to compile the source code into a PDP-8 .BN file. (A PDP-8 .BN file is actually a paper tape formatted binary file, whether it is on a disk or paper tape.) Once again, I transferred the .BN file to the PiDP-8 using Filezilla. I successfully ran the program, then punched a paper tape binary using PIP. Then I read the paper tape back in and ran the program again. It all worked!!

The next “Hello World” I wrote is a version of a BANNER program that I know was in the DECUS library, but I couldn’t find the source code anywhere. I based my version on “verbum.c” written by Eric L.Smith, however PAL assembly language looks nothing like C. So, this was my first real attempt at PAL programming. It’s not really a “Hello World” program, per se, but it punches human-readable text on the paper tape. After the program was successfully compiled and transferred, I started up the program, typed in HELLO WORLD, hit return, and a paper tape with HELLO WORLD printed in 5X7 dot-matrix characters was punched.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: