scene.org File Archive

File download

<root>­/­parties­/­2023­/­vccc23­/­christmas-diamonds/atsampson_pdp8_assembler_vc3-2023.zip

File size:
26 388 bytes (25.77K)
File date:
2024-01-03 14:15:17
Download count:
all-time: 1

Preview

  • cryst.bin 358B
  • cryst.pal 888B
  • file_id.diz 1.15K
  • result.png 2.24K
  • source.png 28.97K

file_id.diz

The PDP-8 Crystal

Author:   atsampson
Category: Christmas Challenge
System:   DEC PDP-8
Language: PAL Assembler
Len source code: 888
Len exe file:    358
Len code only:   79.5
Instructions:
  cryst.bin should work on any bare-metal PDP-8 with a console teletype. You
  can load it in the simh PDP-8 emulator by running pdp8 and typing:
    load cryst.bin
    run 200
Description:
  The PDP-8 is a 12-bit machine. The code is 53 words, equivalent to 79.5 8-bit
  bytes.

  It relies on the pattern repeating every 6 characters, which divides neatly
  into the PDP-8's 12-bit words. Two copies of the first line of the pattern
  are kept in A and B and rotated in opposite directions for each X position.
  As each line is 19 characters long, the patterns are naturally offset by 1
  for each Y position. B is rotated another 4 places at the end of each line,
  so it moves in the opposite direction from A.

  The program was cross-assembled using palbart.
Comments:
  This is only a little shorter (counting bits) than my PDP-10 version; while the
  instructions are one-third the size, it needs a subroutine to do a 12-bit
  rotate rather than the PDP-8's normal 13-bit rotate.