What's new

ack

Grand Master
Joined
Apr 21, 2018
Messages
404
Reaction score
813
Location
WA, USA
I've been wanting to do this for a long while. One of the deficiencies of the neogeo diag bios is the inability to help when a motherboard boots to crosshatch. I decided to take a stab at creating a custom prog board to help with this situation. With it, its possible to verify P rom output, address/data lines, and p2 region is writable (carts use this for bank switching).

I started with a proof of concept using breadboard with 2 extra 64K sram chips I had. I wired them up to a P rom socket along with a couple 74 series logic chips to handle enable/write logic.

prog_bb1.jpg


I wrote up some test code to verify it was working as I was expected and it seemed to be. But 2x64K is only 1Mbit of the 8Mbit address space I would need for full testing. I found some 8Mbit 16-bit 5V srams on digikey and got one wired up.

prog_bb2.jpg


This worked well too. This breadboard setup made it easy to simulate errors to very the new code in the diag bios was detecting the errors.

Next step was to get all this on a pcb. This was the initial version

prog_proto1.jpg


Thankfully it worked. The only issue was a little bit of side to side play when the board was in the slot, which I fixed in the next revision.

Its hard to tell from the picture but there are through holes for each signal (and signal labels) to make it easier to debug crosshatch/slot issues.

In the above picture I ended up soldering in some right angle connectors in the through hole to make it easier to test some stuff related to the board design. The breadboard is me wiring up a couple signals related to the P rom to LEDs because they aren't something you can test for from the CPU. This will let you verify the signals are becoming active during the test loop.

This is the latest revision and where things are currently.

prog_proto2.jpg


There are still a few things to do
  • A couple minor tweaks to this MVS version
  • Finish up the AES version (95% done)
  • Write up docs on the different tests
  • Go over diag bios changes again
 
Great work, this will be an awesome diagnostic tool.

So if I understand this correctly you only need this custom prog board inserted? I see you designed the PCB to fit a standard cartridge housing, just wondering would it be of any advantage to minimise the foot print in terms of how far it extends out of the cartridge slot so you could have access to most of the board at the same time? Could 3D print a small housing to fit it into.
 
I LOVE stuff like this!!

It’s so far beyond my comprehension, but it’s amazing that people like you can, and do, make things and solve problems so that idiots like me can play games and maintain stuff with minimal effort.

Outstanding!

‘One day I thought something could be improved, so I made an ingenious spaghetti monster to do just that. When I was happy, I turned it into a sleek custom PCB that perfectly fits existing hardware. No biggie’ 🤯
 
Great work, this will be an awesome diagnostic tool.

So if I understand this correctly you only need this custom prog board inserted? I see you designed the PCB to fit a standard cartridge housing, just wondering would it be of any advantage to minimise the foot print in terms of how far it extends out of the cartridge slot so you could have access to most of the board at the same time? Could 3D print a small housing to fit it into.
You would need the diag board and a CHA board with a working S1 rom on it, plus the updated diag bios. The CHA board is needed because when you switch to the slot to run tests it also causes the FIX layer graphics to switch from the motherboards SFIX rom to the S1 rom on the CHA board. WIthout it you would just get a white screen.

My plan is having the board fit inside a normal cart so you could have a single diag cart with this board plus a CHA board with a diag M1 rom on it.
 
Ah my mistake didn't realise the other board was below that paper, makes sense to retain the same footprint.

Will your modified bios retain the Z80 testing functionality the original has when using a CHA board?
 
This is the coolest thing ever, thank you so much for making these and sharing.

If I've understood this correctly this is a PROG board. Would it be sensible for me to make one of these, convert a CHAR board with the z80 test rom on it, combine them into one cart, and have a complete testing solution?
 
If I've understood this correctly this is a PROG board. Would it be sensible for me to make one of these, convert a CHAR board with the z80 test rom on it, combine them into one cart, and have a complete testing solution?
Exactly. The only part that annoys me is you can't have the M1 rom socketed because of lack of space between the CHA and PROG boards.
 
Exactly. The only part that annoys me is you can't have the M1 rom socketed because of lack of space between the CHA and PROG boards.
My Kicad-foo is weak; I'm imagining we could do some cutouts in the PROG board like this to accommodate the sticky-uppyness of the M1 ROM socket, may as well go the whole way and put zif sockets on :)
Complicated slightly by the fact that there are about 6 z80m1 compatible CHA boards, and they all have M1 in different locations, but the concept seems like it could work...

Screen Shot 2023-03-31 at 1.11.54 PM.png
 
Here is a concept cart that I made a while back (the bios is inactive of course, its just for storage because I kept misplacing them)

With the right size cutouts in the PROG board the chips on the CHA board would be easily accessible.

It might also be possible to create a dedicated z80 test PROG board: The NEO-ZMC is easily available for $2 on Aliexpress and the Neo273 is easy to reproduce per here https://github.com/neogeodev/NeoChips

IMG_3956.jpegIMG_3957.jpeg
 
Interesting, I didn't know you could buy NEO-ZMCs. I might look into making a CHA board where the M1/S1 roms are on the outer edges of the PROG board, then can do the cut stuff like your example.
 
Just found this thread, ordered the PCBs at JLCPCB, really looking forward to try it out, I have a MV4FS here that is weird on 3 of 4 slots and the DIAG Bios passes for the default and Z80 tests.
Thank you for creating and sharing this :)
 
Last edited:
Have been messing around with the boards that Ack has kindly published to Github. Not sure if anyone else will ever notice, but I noticed - there is a freaking rocket ship drawn into the traces. Bravo sir, bravo!

Screen Shot 2023-04-26 at 11.50.06 AM.png
 
Got the PCB and the parts, just assembled and tested it.

The bevel (or what it was called) wasn/t quite right on the lower edge and none on the sides even though I ordered it, fixed that myself quickly

PXL_20230503_175750158.jpg PXL_20230503_175810670.jpg

finished PCB, tested it on a known good board an it works :)

PXL_20230503_190429533.jpg PXL_20230503_191814574.jpg
PXL_20230503_191807521.jpg


Regarding the BIOS IC socket, I've found an ultra low socket that fits:
MilMax 115-93-632-41-003000
https://www.mill-max.com/catalog/download/2017-11:093.pdf

it has hollow pins, so the IC sits lower
its just hard to insert the BIOS IC, especially the first time, I've inserted the BIOS before soldering, it has to sit really flush on the socket
(excuse the jumper wire, only had a 4001 here so these pins needed to be grounded)

PXL_20230503_174446039.jpg PXL_20230503_175038428.jpg
with that it fits well, the top of the BIOS IC is not touching the PROG PCB, time to look for a transparent shell!
PXL_20230503_175252488.jpg
 
Last edited:
Nice, thanks for giving it a build/try. Hopefully it can help you track down stuff when repairing boards.

Those sockets look promising, I will get a few and give them a test.
 
you already helped me in the past fixing stuff :)
I'll share my findings with a MV4F soon

mouser and digikey have the sockets, for an obscene price (+4 bucks per piece)
 
Did a quick test run on the MV4F I have here, no errors on the P Bus, which is fine, I've replaced some broken NEO-244 few weeks back.
PXL_20230410_081427852.jpg


If it wasn't such a hassle to de-/solder these replacements, I'd swap it back to check the broken ones, just for testing.

I trust that the P Bus test is correct :)
So that excludes the P Bus as being the cause of the weirdness I'm seeing, which is progress.

Here is a screenshot from slot 2 during the test, I think its passing, but the graphics get scrambled:
PXL_20230504_062741455.jpg

slot 3 does something else weird, graphics get scrambled during the test, but in a different way:
PXL_20230504_063223714.jpg

Slot 1 and 4 look normal during the tests, graphics do not get glichy when I start it, unlike slot 2 and 3.

Now that the P Bus is clearly not the cause, its clear something else is!

There is multiplexer for Graphics (https://wiki.neogeodev.org/index.php?title=NEO-253) on this board (and only on the MV4F*), I will check them manually.

Also, a whole lot of NEO-G0 that I'm still unsure what they are exactly used for (logic AND gates), these two ASICs are now in the focus.
Sound is only really okay during games on Slot 1, on the others it works somewhat but not completely, again since I'm able to exclude the P Bus as cause, I can focus on the Z80/PCM relevant ASICs.
All Z80 tests pass on all slots (and the rest of the DIAGs), all slots give the beeps during the test.

I have some more MVS to check with that cart :)

On a side note @ack , what is the likely hood of making an extra PCB for the M1 ROM?
I was on the hunt for repros/fakes/conversions for months so I did not have to sacrifice an original game, but if that could be custom made, selling kits or assembled all-in-one carts is not a crazy idea ;)
From what I understand its the ZMC that is needed, I was not able to find it on Ali (not all items/sellers are available in Europe for some legal reasons).

Edit:
For anyone looking for that PCB:
I'm in Europe/Germany and have four one spare PCBs for the MVS custom cart (P Bus), I'm willing let them go for what I paid (around 10 Euros per piece including taxes and shipping, with the SRAM (that one is also just over 10 Euro on Mouser), logic ICs, caps and resistors its 23 Euro plus postage), feel free to reach out to me.
 
Last edited:
Back
Top