ADVENTURE

The distribution starts the PDP-8 SimH from a RK05 disk image. This image contains an OS/8 installation with the famous ADVENTURE game installed.

Read here about OS/8 and ADVENT: https://raymii.org/s/articles/Running_ADVENT-on-the-PDP-8-with-SIMH.html

The SimH start script types in all commands needed to start the game.

blinkenbone pdp8i advent

The game is written in FORTRAN, so first the FORTRAN environment "FRTS" is started. After loading "ADVENT.LD" the  ESC key is pressed to start.

A special feature of the PDP-8 ADVENT is an "idle pattern" light animation running on the "Accumulator" lamps. Oscar Vermeulens PidP8 promo video show them: watch https://www.youtube.com/watch?v=5hyUActgT2E at timestamp 3:00.

 

Toggeling in binary code

Since the front panel is fully operable, you can type in and run own assembler programs.

For assembly you can use the cross-assembler PALBART, see download and info.

The almost shortest possible program is this "light shifter":

/ shifter - manually move a bit through the Accumulator lamps
*100                    / start addr
        CLA CLL IAC     / Link=AC=0, AC++. AC now 1
LOOP,
        RAL             / rotate the bit left through AC and Link
        HLT             / wait for user to CONTinue
        JMP     LOOP    / again
$

Save this in file "shifter.pal" and run it through palbart:

palbart shifter.pal

 A file "shifter.lst" is produced:

/ shifter - manually move a bit through the Accumulator lamps        Page 1

    1              / shifter - manually move a bit through the Accumulator lamps
    2              
    3        0100  *100                    / start addr
    4 00100  7301          CLA CLL IAC     / Link=AC=0, AC++. AC now 1
    5              LOOP,
    6 00101  7004          RAL             / rotate the bit left through AC and Link
    7 00102  7402          HLT             / wait for user to CONTinue
    8 00103  5101          JMP     LOOP    / again
    9              
   10              $
      No detected errors
      No links generated

In the left column the binary data of the program are shown. Toggle them in and start the program:

 Step   Switch Register   Cmd switch   Info
1.    Halt  stop execution of ADVENT and OS/8
2.  100 
Load Add  set start address in Program Counter 
3.  7301 
Dep  set word at 100, Program Counter increments 
4.  7004 
Dep  set word at 101
5.  7402 
Dep  set word at 102
6.  5101 
Dep  set word at 103 (see image below)
7.   100 
 Load Add  set Program Counter to start addr
8.    Start  first shift, then halt
9.    Cont  loop, next shift, halt

 

After step 6 (Deposit 5101 into 00103) the panel state is this: Switch Register switches = 5101, Memory Address = 103, Program Counter is already incremented to 104, Memory Buffer = 5101.

blinkenbone pdp8i dep 103=5101

 

Of course the OS/8 is demolished after this direct memory manipulation. You really should have activated "PANEL LOCK" !

 

Exercises for the reader

1) When you activate the "Sing Inst" switch, you can single step through the program with "Cont". What do the "Instruction indicators" show ?

2) After start, the first lamp lighting is not the rightmost one. Can you fix this? Hint: CLL clears the Link bit, CML complements it.

3) Can you change the "shifter" program into a "binary counter" ?