This collects the information from other threads about assembling and troubleshooting my PGM single game PCBs.
First of all, important:
Update, before I forget:
Apparently there can be a problem when using an original cartridge, the PCBs are very slightly thicker than the original boards. This may cause a crack on the post when the cartridge is assembled and the screws are tightened. I guess the aged plastics are a bit brittle as well.
Be carful when assembling, and maybe file down the spacers on the posts a tiny bit to reduce stress.
Attached to this message are the required PAL, both the source code for WinCUPL and the compiled files you can write to your GAL.
PGM_RG_U6.jed
Write this to the GAL that goes into position U6. This controls the background/tile ROMs.
PGM_RG_U5.jed
This is a generic GAL to control the program ROM that can be configured with jumpers:
- J1 maps the ROM to 0 or to 1MB
- J2 maps the first 2MB or the second 2MB
- J3 selects a special 4MB mode
PGM_RG_U5_DDP.jed
This maps the ROM to 1MB and selects the motherboard BIOS below that.
- J2 selects the first 2MB or the second 2MB of the ROM
PGM_RG_U5_ESP.jed
This maps the ROM to 0 and permanently disables the motherboard BIOS.
- J2 selects the first 2MB or the second 2MB of the ROM
PGM_RG_U5_QB.jed
This is an addition to the previous version of the zip. It is a variant of PGM_RG_U5_ESP with the full 4MB mapped. Use this if you have a BIOS at the start of the EPROM.
- J1 selects the cartridge BIOS or the motherboard BIOS
The idea is that you can play a game without populating the jumpers, but advanced users can use them for special features.
The second zip file contains a python script to generate the required ROM files. In most cases it just copies or splits files, so you can get exactly the same result manually with a hex editor. It decrypts the program file for DDP3, which is required as the PCBs don't contain the custom ASIC that handles decryption normally.
You'll need python 3: https://www.python.org/
Running it without arguments shows the help:
It can read zip files directly, so if you put the Mame sets into the same directory you can write:
Single files work as well.
This will pull out the required ROMs and generate directories with the required files. You can use "PGM Program Files.zip" as well to get various alternative versions of the program ROMs.
A new feature is the -b switch to install a BIOS file to the start of the ROM, and the game itself to 1MB+. This makes sense for DDP3 and the stand-alone PCB BIOS that GC8Tech found:
This will write ROMs to a separate *_qb.bin file. You'll need either the PGM_RG_U5_QB.jed PAL or the generic PAL configured for 4MB mode for this to work.
Which program files to use?
- ddp3_p1_dual.bin is the white label/black label dual boot version.
- espgal_p1.bin only choice for that...
- ketsui_p1_trap.bin this has the original version in bank 0 and a remixed version in bank 1. Use JP2 to select which one you want to play.
If you don't want to use the script to identify the program ROMs, make sure you use the *bl version from the Mame set:
github.com/mamedev/mame/blob/2…ame/drivers/pgm.cpp#L4568
github.com/mamedev/mame/blob/2…ame/drivers/pgm.cpp#L4515
github.com/mamedev/mame/blob/2…ame/drivers/pgm.cpp#L4762
These are the versions that have the ASIC code patched out and are taken from converted carts.
First of all, important:
Make sure you double check the orientation of PCBs before switching on power on the motherboard! Connecting them the wrong way will cause a short circuit that can damage your motherboard and cartridge.
Update, before I forget:
Apparently there can be a problem when using an original cartridge, the PCBs are very slightly thicker than the original boards. This may cause a crack on the post when the cartridge is assembled and the screws are tightened. I guess the aged plastics are a bit brittle as well.
Be carful when assembling, and maybe file down the spacers on the posts a tiny bit to reduce stress.
Attached to this message are the required PAL, both the source code for WinCUPL and the compiled files you can write to your GAL.
PGM_RG_U6.jed
Write this to the GAL that goes into position U6. This controls the background/tile ROMs.
PGM_RG_U5.jed
This is a generic GAL to control the program ROM that can be configured with jumpers:
- J1 maps the ROM to 0 or to 1MB
- J2 maps the first 2MB or the second 2MB
- J3 selects a special 4MB mode
PGM_RG_U5_DDP.jed
This maps the ROM to 1MB and selects the motherboard BIOS below that.
- J2 selects the first 2MB or the second 2MB of the ROM
PGM_RG_U5_ESP.jed
This maps the ROM to 0 and permanently disables the motherboard BIOS.
- J2 selects the first 2MB or the second 2MB of the ROM
PGM_RG_U5_QB.jed
This is an addition to the previous version of the zip. It is a variant of PGM_RG_U5_ESP with the full 4MB mapped. Use this if you have a BIOS at the start of the EPROM.
- J1 selects the cartridge BIOS or the motherboard BIOS
The idea is that you can play a game without populating the jumpers, but advanced users can use them for special features.
The second zip file contains a python script to generate the required ROM files. In most cases it just copies or splits files, so you can get exactly the same result manually with a hex editor. It decrypts the program file for DDP3, which is required as the PCBs don't contain the custom ASIC that handles decryption normally.
You'll need python 3: https://www.python.org/
Running it without arguments shows the help:
Code:
python rom_gen.py
usage: rom_gen.py [-h] [-o OUTPUT] [-b BIOS] file [file ...]
rom_gen.py: error: the following arguments are required: file
Code:
python rom_gen.py *.zip
This will pull out the required ROMs and generate directories with the required files. You can use "PGM Program Files.zip" as well to get various alternative versions of the program ROMs.
A new feature is the -b switch to install a BIOS file to the start of the ROM, and the game itself to 1MB+. This makes sense for DDP3 and the stand-alone PCB BIOS that GC8Tech found:
Code:
python rom_gen.py -b "..\single pcb bios\pgm_bios_single_pcb_vxxxJP.u42" "PGM Program Files.zip"
Which program files to use?
- ddp3_p1_dual.bin is the white label/black label dual boot version.
- espgal_p1.bin only choice for that...
- ketsui_p1_trap.bin this has the original version in bank 0 and a remixed version in bank 1. Use JP2 to select which one you want to play.
If you don't want to use the script to identify the program ROMs, make sure you use the *bl version from the Mame set:
github.com/mamedev/mame/blob/2…ame/drivers/pgm.cpp#L4568
github.com/mamedev/mame/blob/2…ame/drivers/pgm.cpp#L4515
github.com/mamedev/mame/blob/2…ame/drivers/pgm.cpp#L4762
These are the versions that have the ASIC code patched out and are taken from converted carts.
Attachments
Last edited: