What's new

hatmoose

Champion
Joined
Mar 25, 2021
Messages
1,206
Reaction score
2,500
Location
New Zealand
Aliexpress friends will sell a perfectly working NeoGeo MVS conversion for less than the price of the EPROMS. So doing conversions at home is mainly just for fun and practise. Exactly the kind of difficult, time consuming and failure-prone project I love!

Inspired by this thread, and armed with absolutely no skill or ability of my own I'll see what happens
https://www.arcade-projects.com/threads/options-for-conversion-of-this-mvs-boot.6544/

I bought three of these Puzzle Bobble bootlegs ages back for $10 each. Two of them had been converted from NeoPrint carts, those were beyond my ability - so I used one as a MVS test cart (now superseded by Acks astonishingly cool work https://github.com/jwestfall69/neogeo-diag-mvs-prog) and kept the other as Puzzle Bobble which is a fun game.

But the third one had the much coveted PROGBK1 and CHAR512Y boards - a prime conversion candidate
IMG_7372.pngIMG_7371.png

List of games that share the same boards here
http://www.jamma-nation-x.com/jammax/mvsboardcodes.html

And lots of attractive conversions from the PROGBK1 and CHAR512Y combo
Last Blade
Last Blade 2
Blazing Star
Shock Troopers 2
Irritating maze
and others


Of these Blazing Star appealed the most, mainly because of this awesome tutorial
http://www.wolfgangrobel.de/mvs/blazingstar.htm
I know absolutely nothing about MVS conversions, so will copy this, cross my fingers, and hope
 
Last edited:
Until finally, 600 pins desoldered and resoldered later...
IMG_7540.pngIMG_7541.png

Things to note
V1 and V2 need to be split, the pinout of the original Mask ROMS and the replacement M27C160 EPROM is different
The jumper settings on boardscans are for the original mask roms, slight changes to jumper settings for the split EPROMS
 
But then, tragedy!

My boot will only boot to the test screen. Normally this means "no P1". But the memory viewer still works and it can read something off P1, just not what it expects. So its not "no P1" more like "P1 doesn't make sense"

Puzzle Bobble known working bootleg memory viewer - all FFFF up to about 100, then NEO-GEO
IMG_7517 (1).png

Samurai showdown known working genuine memory viewer - All FFFF up to about 100 then NEO-GEO
IMG_7516 (1).png

My Failed Blazing Star bootleg - clearly P1 is messed up
IMG_7521.png

Will Desolder P1, read back to confirm its messed up, re-write P1 to another chip and re-solder
 
Damn;

Have desoldered P1, dumped contents and confirmed they match the original file, also written another P1 file from another source to a different EPROM.

Behaviour is still the same - what's on the EPROM is written correctly and can be dumped and re-read correctly.

But what the Neo-Geo reads is not what is on the P1

Could be a problem with the Neo-Geo, or could be a problem with the Cart.

Will check the neogeo first
 
Solved the "P1 doesn't make sense" problem by correctly setting the jumpers on the PROG board - rookie error.
IMG_7543.png

Now I'm actually getting some interesting errors
With Just the PROG board the game will boot, show Ultrabios splash, play the neogeo jingle, show a mangled logo, and play the coin sound when the coin button is hit
With the PROG + CHA board the game will boot, show Ultrabios splash, play the neogeo jingle, show a black screen

With various wiggles of the board PROG and CHAR boards I can sometime get an address error screen like this one - its possible that the boards are just badly inserted, but possibly more
IMG_7572.png


By using the Ultrabios memory viewer I can see the contents of P1 which look as expected. Except that the memory values "twitch", normally between two values

Behaviour is very similar across my 1 slot and 2 slot

One slot with Defective Blazing Star boot - jumpy memory values starting at 000200

Two slot with Defective Blazing star boot in slot 1 and known-good puzzle bobble boot in slot 2 -
Puzzle bobble boot works as expected
Defective blazing star boot has jumpy memory values starting at 000200

Unfortunately I have no idea what this means
 
Any chance you are using the wrong size (to big) eproms for the P roms? Hard to tell from your pics. Mame shows

Code:
ROM_START( blazstar )
    ROM_REGION( 0x300000, "cslot1:maincpu", ROMREGION_BE|ROMREGION_16BIT )
    ROM_LOAD16_WORD_SWAP( "239-p1.p1",  0x000000, 0x100000, CRC(183682f8) SHA1(dcee1c2cf4a991ca1f9f2b40c4a738f21682807b) ) /* TC538200 */
    ROM_LOAD16_WORD_SWAP( "239-p2.sp2", 0x100000, 0x200000, CRC(9a9f4154) SHA1(f8805453d0995c8fa16cd9accfb7a990071ca630) ) /* TC5316200 */

So P1 is 8Mbit and P2 is 16Mbit
 
I don't know if any of these are a match, but what you want to make is one of these, since there isn't a better way, and if you don't want the cart anymore, people will pay you for them.

Ghostlop
Ironclad
Bang2 Busters
Crossed Swords 2 (maybe)
 
I do more then 100 cart conversion for myself !!!!

This link would help you a lot ! https://www.wolfgangrobel.de/mvs/cs2.htm
Check this guys home page i learn a lot from this man.
-You have to understand one thing, you cannot convert a magician lord and all the pre pcm chip games into a prog bk1 or any "modern board"
-You can use an adapter for both graphics and audio chips to have more space (for titles that require it) or you have to learn bank switching on eprom
-Check that the rom you are using is the latest version! (some game have bad game dump check Irritating maze audio etc...)
Understand Rom file:
-P = program
-M = driver audio
-C = graphics
-V = audio data
-S = graphics tiles

i hope that can help you in your next conversion.
 
Any chance you are using the wrong size (to big) eproms for the P roms? Hard to tell from your pics. Mame shows

Code:
ROM_START( blazstar )
    ROM_REGION( 0x300000, "cslot1:maincpu", ROMREGION_BE|ROMREGION_16BIT )
    ROM_LOAD16_WORD_SWAP( "239-p1.p1",  0x000000, 0x100000, CRC(183682f8) SHA1(dcee1c2cf4a991ca1f9f2b40c4a738f21682807b) ) /* TC538200 */
    ROM_LOAD16_WORD_SWAP( "239-p2.sp2", 0x100000, 0x200000, CRC(9a9f4154) SHA1(f8805453d0995c8fa16cd9accfb7a990071ca630) ) /* TC5316200 */

So P1 is 8Mbit and P2 is 16Mbit
Yes I am most definitely using the wrong size EPROM for P1/P2.

I’m using M27C160 (16mbit) for both.

So P2 should be OK(?)
But P1 is not

I’ll try using a hex editor concatenate P1.P1.bin onto the back on P1.P1.bin to pad it out to 16mbit, then write the resulting “doubled” file to the M27C160 in the P1 spot on the board.

I don’t know enough to have any expectation that this will actually work, but it will give me something to do while I wait for a suitable 8mbit chip to arrive :)
 
Did you check the donor cart for proper operation before you started? With conversions, making sure your donor works 100% before you start is a must - otherwise you could spend a lot of time chasing conversion issues that aren't really conversion issues.
Nope! And in hindsight this would have been a very sensible thing to do

Whoever did the initial conversion was clearly great with EPROMs but not with soldering gear, I think they removed the original chips by scraping them off with a screwdriver.

If the traces under the chips aren’t damaged it will be a surprise, but of course now that the chips are all soldered back on I’ll have to remove them all (again) to check.

One moment please caller…
 
Some success, and also some massive gaps in my knowledge.

I concatenated the 8mbit 239-p1.p1 onto the end of itself, which gave me a double size 16mbit 239-p1.p1
Writing the 16Mbit 239-p1.p1 onto the 16Mbit M27C160 cleared up the jumpy addresses in the memory viewer

Unibios CRC test = pass both banks
So I'm thinking both P1 and SP2 are good
Unibios jukebox = plays all music and sounds
So I'm thinking V1.1, V1.2, V2.1 and V2.2 are good
IMG_7603.pngIMG_7602.png

Reasonably confident that the PROG board is OK (Unless I've made a terrible mistake just doubling the size of P1)

So Onto the CHAR board

Game boots, music plays, sounds play. Game crashes at various spots (normally the same spots) gives illegal instruction errors. I have no idea how to read these errors.

In my limited experience illegal instructions are from grubby pins (I have of course cleaned the edges) or from broken address traces (possibly from the screwdriver EPROM extraction method that these boards were subjected to in the past)

Exception Error Handling
Illegal instruction
Address 00000004
SSP CF778BCF
SP 2004
IMG_7621.pngIMG_7620.png

And sometimes different ones too
Illegal instruction
Address 0003B5C
SSP CF778BFC
SP2004
IMG_7607.pngIMG_7606.png

Sometimes its possible to play for a little while, but eventually the same thing

I was really hoping that the NeoGeo Dev Wiki might help deciphering the instruction errors
https://wiki.neogeodev.org/index.php?title=68k_exception_handling
and
https://wiki.neogeodev.org/index.php?title=68k_vector_table
But unfortunately I dont understand enough about what its trying to tell me to understand if I'm on the right track.

So at this point I'm torn
Do I head down the path of troubleshooting the CHAR board?
Or did my .p1 concatenation bodge job just mask the p-rom problem and I need to wait for a proper 8mbit M27C800?
 

Attachments

  • IMG_7618.png
    IMG_7618.png
    497.6 KB · Views: 20
  • IMG_7619.png
    IMG_7619.png
    497.8 KB · Views: 24
Have you checked this ?
If you still get fatal error its can be only P rom for me.
https://www.wolfgangrobel.de/mvs/blazingstar.htm
Here you can see an example for blazing star

https://www.wolfgangrobel.de/mvs/img_blazingstar/13_desolder.jpg

If you have a problem on cha board you got some artifact but game not crash.
You have to search on ProgBoard, check your rom file version !
Check jumper position and you can also test LS chip for P bankswitching.
Can you make nice huge picture of Prog Board ?
 
Thank you for the link, I have checked and double checked jumpers per the pictures.

I think you are right about the errors coming from P, have ordered some 27C800 for P1 to see if that helps. Also ordered replacement LS chips just in case.

Pics are attached

PROG
IMG_7622.jpegIMG_7623.jpegIMG_7624.jpeg

CHAR
IMG_7628.jpegIMG_7630.jpegIMG_7629.jpeg
 
Thank you everyone for all of your help!

It was a wild ran, but now it's game over, your skill is great!
IMG_7646.pngIMG_7636.pngIMG_7635.png

Summary
Jumpy addresses = P1 file size (8mbit) not matching P1 EPROM Size (16mbit) - fixed by concatenating P1 onto the back of P1
Fatal errors = P1 jumper set for 8Mbit when P1 EPROM 27C160 (16mbit) - fixed by setting JB3 + JB4 to 10
IMG_7658.pngIMG_7637.png
 
Happy to hear that :D
I think you are interested also on this:

https://oshpark.com/profiles/mikey
This is very interesting! I particularly like that it can be programmed with the adapter, thank you for the link.

I'm also looking at this guy similar for 64mbit. Unfortunately it cant be programmed in circuit, the flash chip needs to be programmed before being installed
https://github.com/tdaede/toshiba-64mbit-adapter

The 64mbit flash (W29GL064CB7S) is very hard to program.

Has anyone made one of these before? Please may I ask what did you use to program the flash?
 
Back
Top