PGOL Assembler

Pinup
PGOL

Programmation of game's PROM

Toolbox for PGOL language.
Assembler - Disassembler

Gottlieb SYSTEM 1.

Introduction

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'.

Installation

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

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
Macros

Use

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 ?
Pinup

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
Sample

Distribution

This achievement is available for free.

Free

Last update of this page: December 11th, 2019

French Tech

DDS

Copyright © 2024 Flipprojets - François & Thierry DAVROUX

By continuing your visit to this site, you accept the use of cookies used primarily to measure the traffic on our pages, or to keep your session information.

These datas are used for technical purposes only and are not intended to serve you with advertisements, nor for targeted canvassing, or SPAM. They will not be exchanged with third-party services and will not be used outside this site.

FLIPPROJETS agrees to respect your privacy, click OK if you understand and accept these conditions, otherwise do not continue browsing and leave this site. OK