Assembleur PGOL

Pinup
PGOL

Programmation des PROM de jeu

Outillage pour langage PGOL.
Assembleur - Désassembleur

Gottlieb SYSTEM 1.

Introduction

Afin d'expérimenter des modifications pour les PROM de jeu des SYSTEM 1, nous avons développé plusieurs outils simples. Le premier est un assembleur qui permet de générer un fichier binaire (programmable dans une EPROM) à partir d'un source. Le second est un désassembleur pour décoder les PROM originales et générer un fichier source exploitable avec l'assembleur.

Assembleur PGOL

Nous utilisons à la base un macro-assembleur 6502 très connu et gratuit: "6502 MacroAssembler & Simulator" écrit par Michal Kowalski. Bien que le processeur des SYSTEM 1 ne soit pas un 6502, nous pouvons utiliser les possibilités de macros et de génération de ce programme. 6502 ASM

L'assembleur PGOL n'est rien d'autre qu'une série de macro-commandes enregistrées dans un fichier 'include'.

Le programmme s'utilise de manière tout à fait classique et génére après compilation, une image binaire en mémoire. Ce code est localisé dans l'espace $0100 - $04FF du 6502 et correspond aux 1 Ko de la PROM de jeu.

Cette image peut ensuite être sauvegardée dans un fichier (typiquement un .bin) afin d'être utilisée avec un programmateur d'EPROM. Le format généré est un binaire standard avec des données sur 8 bits, mais dont les 4 bits de poids fort seront toujours à "1".

Installation

Commencez par télécharger l'assembleur 6502, soit depuis notre site, soit depuis 6502.org.

6502 Macro-Assembleur
6502 ASM

Il n'y a pas de programme d'installation, il suffit de décompresser l'archive dans un répertoire dédié. Créez également deux sous-répertoires "sources" et "includes" afin de pouvoir y placer vos fichiers.

Télécharger également les macros PGOL et décompressez l'archive dans le répertoire "includes".

Macros PGOL
Macros

Utilisation

Le programme se démarre simplement en cliquant sur "6502.exe". Une fois lancé, vous pouvez ouvrir votre source, comme pour n'importe quel source 6502. Les fichiers sources sont des fichiers texte standard, mais portant l'extension ".65s" au lieu du traditionnel ".txt".

La compilation se lance en appuyant sur F7. Il est possible de voir le code généré en mémoire en appuyant sur "ALT" + "2".

6502 ASM

Pour enregistrer le code généré, appuyer sur "CTRL" + "K". Indiquez alors le type de fichier (binaire .65b) et cliquer sur options pour spécifier la plage mémoire à sauvegarder ($0100 à $04FF).

6502 ASM

Bien sûr, tout ceci ne fonctionne que si vous avez un source sous la main...

Besoin d'un Génie ?
Pinup

Désassembleur PGOL expérimental

Cet outil permet de générer un source utilisable avec le compilateur ci-dessus, à partir d'un fichier binaire original. Comme tout désassembleur, le code généré n'est jamais parfait et doit être éventuellement revu avant utilisation.

Celui-ci est toutefois suffisament performant pour générer un code directement utilisable pour toutes les PROM SYSTEM 1, à l'exeption du SINBAD. En effet, ce dernier comporte un bug que le désassembleur ne peut corriger. Il est cependant très facile à localiser et peut être changé à la main.

Le fichier binaire en entrée (.bin ou .cpu) doit faire 1024 octets. Afin d'optimiser le décodage et obtenir un source commenté, il est possible (et conseillé) d'indiquer ci-dessous le modèle de flipper.

Nom du fichier binaire (.bin) Modèle Source (.txt)

Exemple de source généré: Cleopatra
Exemple

Distribution

Cette réalisation est disponible gratuitement.

Gratuit

Dernière mise à jour de cette page: 7 Août 2018