2015 Retrochallenge Winter Warmup, Retrochallenge

2015 Retrochallenge Winter Warmup – Initial Post

The Challenge

For the 2015 Retrochallenge Winter Warmup, my goal is to write a program in Noahsoft’s PL65, an exquisitely obscure programming language for the Atari 8-bit. The program will be a port of the modern-day Apple II game, Structris. The target platform will be an Atari 800 with 48k RAM.

PL65_ad
Close-up of quarter-page advertisement in Atari User (UK) September 1987 pp 46

PL65

PL65 is a compiled high-level programming language published in 1987 by UK developer Noahsoft for the Atari 8-bit computers.  Its syntax is similar to ALGOL and therefore facilitates a structured design methodolgy. However, it also allows the inclusion of 6502 mnemonic instructions (LDA, STA, etc) as first-class statement types. The PL65 diskette included a full screen editor (KED), compiler (PL65), and libraries to provide functions for handling strings, the terminal, graphics, sound, player/missiles, and controllers. A programmer can extend the language by creating libraries of additional functions.

From what I have been able to find, Noahsoft distributed the software itself and publicized  its existence via quarter-page advertisements in Atari User Magazine (UK) between September 1987 and February 1988.

In May 2007, a half-way cracked version of the diskette appeared on an AtariAge forum. However, it turned out in this version the compiler will don its Godzilla shoes and XOR the object code if a checksum doesn’t match the expected value. In January 2009, a fully-cracked version and good-quality scan of the original documentation were created and also shared in the forum.

Structris

Structris is a Tetris-like game for the Apple II created in 2010 by Martin Haye ostensibly as an exercise in structured programming in BASIC and as a test implementation of Ivan X’s Slammer, a utility that enables embedding machine language within an AppleSoft BASIC program as plain-text in REM statements.

The game is a twist on Tetris whereby players control a small blip that exists in an otherwise normal-looking game of Tetris. However, it’s the computer program that is in control of the optimal placement of tetrominos. The computer’s goal is to crush the player’s blip with a tetromino. The player’s goal is to avoid being crushed.

Ken Gagne’s Let’s Play Structris