What's new
Hey all,

Here is the start of my scanned PGM cart PCBs. Its very basic site.. But its enough to do the job :) I can always jazz it up latter...

http://www.gc8tech.com/

D.
Great work. Might become a reference!
Thanks, That means a lot. :) I was trying to help with this project. Plus make the scans high enough resolution as well. Nothing worse than a pdf schematic that was scanned at a way low Resolution..... I have been into the PGM system for many many years... Hopefully it doesn't take me tooooo long to get all the carts so i can scan them. I probably have 10 games here.... but there is at least 10 more i'm missing....

D.
 
Finally got my eproms in. Will try and get this all together by tomorrow night!
 
Just to add to this, the graphics that are glitching are sprite graphics, and they come from my board. Here is Ketsui with a different (i.e. from Espgaluda) char board:



My current thinking is that this is a problem with the B-ROM data, which is used to compress the empty pixel of a sprite. The board looks correctly soldered, and I haven't seen this problem in my own tests, yet.

Has anyone seen something similar on another conversion?
 
Last edited:
Tests are going well, and I'm making only minor changes to the position of some chips to help with assembly or fitting it into a cartridge. I seem to be able to run all three games, though I need to make a full run of Do Don Pachi to see if anything goes wrong in later levels.

IMG_20190405_195418.jpg


The upper red board is the program board. The jumpers can be used to configure the PAL to change the program ROM mapping, though they are optional. You can program the PAL with a different file for DDP or Espgaluda and Ketsui and leave the jumpers unpopulated. JP2 can be used to select the second ROM bank, for example for the Ketsui Trap ROM. Obviously you can install a switch of your choice on that jumper.

The fully featured PAL can select between DDP/ESP, low and high bank, and a special "4MB" mode in case someone fancies some NGDEVTEAM-style homebrew or a mod that requires more memory. ;)

The lower red board is the character board. I only fixed the problem with the M-ROM decoder and tweaked the placement of the logic chips. It seems to work fine.

I attached the PAL source code, and a utility to generate the required files. It's a command-line python 3 program. Put it into a directory, put the required zip files from MAME and the patched executables into it, and run it with:

Code:
python rom_gen.py *.zip
This will identify the various ROMs in the zip files, pick the ones it needs, and decrypt/split files as required.

I'll play with these PCBs for a while in case I find other problems (the program board is not THAT cheap, so I don't want to re-order it if I can avoid it). I am not sure if I keep the prototype area, I'll have to check the manufacturing cost. I originally expected it to be more trouble to get to work, so I planned in some space for mods and hacks.

...and as pictures are always fun:
IMG_20190413_192715.jpg

Fully populated for Ketsui, jumper set for "trap" version.

IMG_20190413_193055.jpg

Trap version in the sunset... along with the ghetto controller I have to use until I get my Neo Geo controllers back.

Edit: I completed a run of DoDonPachi, seems to work fine. One scary moment at the start where the audio was completely #@%$'ed until I noticed a solder bridge at the address decoder. Doh!
 

Attachments

  • rg_pal.zip
    7 KB · Views: 313
  • rom_gen.zip
    3.4 KB · Views: 345
Last edited:
Looking fantastic!

Sorry I haven't put together my board yet. Things have been a lot busier than I expected them to be lately.
 
It looks like the current version of the prog board conflicts with some tabs in the cartridge, so it will take at least one more revision before I can make them generally available. But here are the build instructions I've got so far.

Instructions:

You need:
3x 27c322 EPROMs
2x GAL16V8 (I bought ATF16V8B-15PU-ND digikey.co.uk/short/pjvhzq but any brand should work.)

5x 0.1uF capacitor
2x 10uF capacitor (electrolytic, 16V, though anything higher should work as well. The capacitance doesn't need to match exactly, either.)
1x 100 Ohm Resistor
2x 10k Ohm resistor array 8 res 9 pin

Optional:
3x 42 pin socket (Advisable!)
2x 20 pin socket (Advisable!)
3x jumper pin header + jumper
1x an on/off switch of your choice (if you want to switch banks frequently)

Soldering:
All chips are in the area of the cartridge that allows sockets, so it is highly advisable to place all chips in sockets. Especially if you want to try different games, or different game revisions.
The jumpers are optional, but you can connect an on/off switch to JP2 if you want to switch ROM banks frequently. Make sure you install the resistor array the right way around. (Pin 1 is marked with a dot, you can verify with your voltmeter switched to Ohm: Pin 1 to any other pin should be 10k, any other pin to any other pin should be 20k.)

ROM files:
If you use the python script to generate the ROM images you need to burn "P1", "T1" and "T2", and put them into the corresponding sockets. The "Ketusi TRAP" ROM contains the unmodified game in bank 0 and the modified game in bank 1.
If you don't use the script you'll need to identify the program ROM and the tile ROM from the Mame driver source. The program ROM goes into P1, the tile ROM needs to be split in half for T1 and T2. Espgaluda and Ketsui are not encrypted. DoDonPachi needs to be decrypted before it can be used.
The Ketsui ROM in the Mame set is in the second bank, so the middle jumper needs to be set.

PAL files:
For U6 there is only one choice, as all games have the same tile ROM mapping. For U5 you've got three choices: A generic PAL that supports all games, the U5_DDP version that is used for DoDonPachi, and the U5_ESP version that is used for Espgaluda and Ketsui.
The file with the extension ".jed" is written onto the chip, the file with the extension ".pld" contains the input equations and can be compiled with WinCUPL.

Installation:
Double check that you don't have a short circuit, and that all chips are oriented correctly. If you use sockets make sure both the socket and the chip are oriented correctly. Sometimes a leg can "fold up" while it is inserted into the socket, especially if it is badly aligned.
The program board is the upper board, and the components need to face up. Double-check against an original cartridge before switching on.
If you check with a continuity tester between +5V and GND, there should be no continuity, other than a short "blip" as the capacitors are charged or discharged.

If you use the generic U5 PAL and DoDonPachi you need to place a jumper on JP1.
If you burned the "Trap" version of Ketsui you need to place a jumper into JP2 to select the trap version.

Version 1 of the program board will not fit into an unmodified cartridge. You should be able to break off the tabs that are in the way, or just wait for revision 1.1 which fixes the problem.

Troubleshooting:
  • game doesn't boot:
    • check for solder bridges on PAL U5, the EPROM P1 and the resistor array
    • check that the P1 ROM contains valid data (verify in the EPROM programmer against the input data)
    • if you're planning to run DoDonPachi, make sure you use an unencrypted version. There should be some IGS PGM GAME SYSTEM text near the start. (Low and high bytes are switched, so letters are swapped.)
    • Make sure the resistor array is installed the right way around. Pin 1 is marked with a dot.
    • if you see the PGM BIOS logo but then go into the test menu:
      • make sure that you're running DoDonPachi
      • make sure the 100 Ohm resistor is installed
      • if you want to run Ketsui or Espgaluda make sure you use the U5_ESP PAL or leave JP1 open with the generic PAL
    • if you see a screen of random noise:
      • make sure that you're running Ketsui or Espgaluda
      • make sure the 100 Ohm resistor is installed
      • if you want to run DoDonPachi make sure you use the U5_DDP PAL or close JP1 with the generic PAL
  • graphics corrupted:
    • the text during the initial legal screen and the scrolling ground textures are produced by the T1 and T2 ROMs
      • check for solder bridges on PAL U6 and the EPROMs T1 and T2
      • check that the T1 and T2 ROMs contain valid data (verify in the EPROM programmer)
      • check that the U6 pal contains valid data/the correct JED file
    • the title screen for Ketsui and ESPGaluda and all sprites are rendered by the A1-A4 ROMs and the B1 and B2 ROMs
      • check for solder bridges on the EPROMs, U11 and U10. Check that U11 and U10 contain the correct chips: U10 should be 74LS139 and U11 should be 74LS138. (On U10 pin 9-16 are used for address decoding, double check for short circuits and dodgy connections)
      • check that the ROMs contain valid data
      • if your EPROM programmer contains a chip tester, check that U10 and U11 are working correctly
      • missing parts of the graphics point more to problems with B1 and B2
      • corrupted graphics point more to problems with A1-A4
  • music missing/wrong sounds:
    • sounds are contained in the M1 ROM
      • check that the M1 ROM contains valid data
      • check for solder bridges on M1, U8, U9 and U10 (On U10 pin 1-8 are used for address decoding, double check for short circuits and dodgy connections)
      • if you use revision 1 of the char board check that you swapped pin 2 and 3 of U10
      • if your EPROM programmer contains a chip tester, check that U8, U9 and U10 are working correctly.

If you get open flames use a fire extinguisher, then hide the evidence.

If that doesn't work I'm stumped. Those are the things I would try. Double-check for solder bridges and dodgy chips.
 
Last edited:
Amazing work, Fluffy! Congrats on a successful test. I'm looking forward to giving these a try.
 
Hey,

I think someone was asking about a PGM BIOS that booted straight to the game with no boot up intro.
I'm 99% sure if you use the SVG BIOS from the single board/PCB edition... it will do just that.

I'll have to test it again....

D.
 
My PCBs have arrived!!! :)

Need to buy GAL, resistor packs and a few sockets... Hopfully won't be to far away .... Can't wait!!!


First FEEDBACK...

After popping in 2 x 100uf 10v Electrolytic in.... The pads are way toooo close together. Its way easy to bridge them and not notice. Considering the is +5V and Ground... That could distroy the PGM and the PCB.....

They don't have to be as far apart as the de-coupling caps (0.1uf's).... maybe add another 2mm to the gap??

D.
 
Last edited:
Progress...
Caps added.....
Will the jumper pins fit in the plastics if they are vertical mounted??
Or do they have to be right angled?

D.
 

Attachments

  • 20190423_162020.jpg
    20190423_162020.jpg
    350.4 KB · Views: 233
After popping in 2 x 100uf 10v Electrolytic in.... The pads are way toooo close together. Its way easy to bridge them and not notice. Considering the is +5V and Ground... That could distroy the PGM and the PCB.....
Yes, I agree. I noticed this while assembling as well, so I switched them for the standard 2.54mm grid. I doubled checked them both with a magnifying glass and multimeter for bridges.

Will the jumper pins fit in the plastics if they are vertical mounted??
Yes, they should fit. The ones I got are lower than the socketed ROM:
IMG_20190423_081850.jpg

You may have to modify the cartridge shell to close it: The fins on the spacer conflict with the T-ROM and the PAL. This will be fixed in the next revision.

The char board will not fit into the cartridge if you use sockets, but as you have only one board so far it may be worth it so you can swap games.

BTW, I'll most likely return to 1.2mm thickness for the boards as well. 1.6mm makes inserting the cartridges a bit hard.
 
Last edited:
The only other concern is there is only 2 power pins supplying power to all the eproms on that board.... They would draw way more than the SOP MASK roms that are normally present..... 7 X 27C322's.. they already get warm when there running......

But you would have to make like a jumper from the top board to the bottom board... So not very practical....BUT would be doable.....

D.
 
The only other concern is there is only 2 power pins supplying power to all the eproms on that board.... They would draw way more than the SOP MASK roms that are normally present..... 7 X 27C322's.. they already get warm when there running......
I had similar concerns in the past while designing boards so used a tool like that one:
https://www.4pcb.com/trace-width-calculator.html
You may have a good surprise!
 
Back
Top