PGOL Assembler


Programmation of game's PROM

Toolbox for PGOL language.
Assembler - Disassembler

Gottlieb SYSTEM 1.


To test changes to the PROM of the SYSTEM 1 game, we have developed several simple tools. The first is an assembler that allows to generate a binary file (programmable in an EPROM) from a source. The second is a disassembler to decode the original PROM and generate a source file usable with the assembler.

Assembler PGOL

We use at the base a 6502 macro-assembler very well known and free: "6502 MacroAssembler & Simulator" written by Michal Kowalski. Although the SYSTEM 1 processor is not a 6502, we use the possibilities of macros and generation of this programme. 6502 ASM

The assembler PGOL is nothing more than a series of macros stored in an 'include' file.

The program is used in a manner quite classic and generated after compiling a binary image in memory. This code is located in the space $0100 - $04FF of the 6502 and corresponds to the 1 KB of the game's PROM.

This image can then be saved in a file (typically a .bin file) to be used with an EPROM programmer. The generated format is a binary standard with 8-bit data, but the 4 most significant bits will always be '1'.


Start by downloading the 6502 assembler, either from our website or from

6502 Macro-Assembler
6502 ASM

There is no setup, just uncompress the archive in a dedicated folder. Create also two subfolders "sources" and "includes" in order to place your files.

Download also the macros PGOL and unzip the archive in the "includes" folder.

PGOL Macros


The program will start simply by clicking on "6502.exe". Once launched, you can open your source, as with any 6502 source. The source files are standard text files, but with the ".65s" instead of the traditional ".txt" extension.

The compilation starts by pressing F7. It is possible to see the code generated in memory by pressing "ALT" + "2".

6502 ASM

To save the generated code, press "CTRL" + "K". Then specify the type of file (binary .65b) and click options to specify the memory range to save ($0100 à $04FF).

6502 ASM

Of course, all this only works if you have a source at hand...

Need a Genie ?

Experimental PGOL disassembler

This tool allows to generate a usable source with the compiler above, from an original binary file. Like any disassembler, the generated code is never perfect and must eventually be reviewed before use.

However, it is powerful enough to generate a code that can be used directly for all SYSTEM 1 PROM, except for the SINBAD. Indeed, this one has a bug that the disassembler cannot correct. It is, however, very easy to locate and can be changed it by hand.

The binary input (.bin or .cpu) must be 1024 bytes. To optimize the decoding and get a commented source, it is possible (and recommended)to indicate below the model of pinball.

Name of the binary file (.bin) Model Source (.txt)

Sample of generated source: Cleopatra


This achievement is available for free.


Last update of this page: August 7th, 2018

French Tech