What's new

Reverse engineering 161 in 1 cartridge to change Rom games

Hello everyone
After coming across this beautiful subject!! In any case, thank you to those who contributed to the creation of a personal cartridge

I made mine, it works, but I have a small problem. When I start a game I come across an error, press the c key, the mvs restarts and the game works!.I guess the problem comes from the source. I have a JS28F256

I followed the misos procedure, I'm not sure I did it right.I used romwak I split the file in two and when I concatenate
Example srom=srom1 and srom2 then srom2+srom1=srom

I don't, it's not if it's done well. If there is a better explanation of the procedure, I'm all ears.

I but a screen of the problem

IMG_1807.jpg

I think this is actually a bug in the original menu system (not sure about the new one) that only seems to trigger on multi-slot boards when you select the game. Same thing happens with mine.
I'm experiencing the same issue with mv1f 1 slot. Although not on all games, kind of random.
When I select a game, I get that screen, I press C and I can play perfectly.

The cart is working fine on a mv1fz and mv1c.

At first I thought it could be some dirt on the cart slot, but I've clean it thoroughly and get the same green screen. All other original carts play just fine.
 
I'm experiencing the same issue with mv1f 1 slot. Although not on all games, kind of random.
When I select a game, I get that screen, I press C and I can play perfectly.

The cart is working fine on a mv1fz and mv1c.

At first I thought it could be some dirt on the cart slot, but I've clean it thoroughly and get the same green screen. All other original carts play just fine.
I believe the issue has to do with how SNK implemented multislot support. Every 4 slot owner knows that you can't just stick a game into any slot and hope it works. There's a certain order (game size?) else nothing works.

I've had customers where the Vortex cart didn't work for them initially on a 4 slot, but when they moved it to another, it magically started working with no issues. I think this problem is inherit to the design of the hardware and not something that can be fixed. With 2 slot it's easier than 4 slot, but still not perfect. 1 slot - always works. :)
 
I believe the issue has to do with how SNK implemented multislot support. Every 4 slot owner knows that you can't just stick a game into any slot and hope it works. There's a certain order (game size?) else nothing works.

I've had customers where the Vortex cart didn't work for them initially on a 4 slot, but when they moved it to another, it magically started working with no issues. I think this problem is inherit to the design of the hardware and not something that can be fixed. With 2 slot it's easier than 4 slot, but still not perfect. 1 slot - always works. :)
How is it easier to solve in a 2-slot?
I have indeed the problem also with my 2 slot.
I've tried in both slots (either with and without a cart in the other slot), and I get always the green screen.
 
How is it easier to solve in a 2-slot?
I have indeed the problem also with my 2 slot.
I've tried in both slots (either with and without a cart in the other slot), and I get always the green screen.
What happens if you take the Unibios out and put in the original BIOS? Does it go away?
 
Well, with the stock bios you just get the usual typical green booting screen, so it's normal behaviour
Interesting. When I examined the code dump that Unibios shows, there's nothing wrong with it. It's the original dump of the game. It happens when the menu transfers control to the game code. This looks like a timing issue that trips the multislot that doesn't happen on 1 slot. What's more strange is that there are some 2 and 4 slot PCBs that don't have this issue at all and work with the cart just fine.

I believe this is all related to hardware. Either the design, but more likely choice of components (e.g. VRAM or 74 logic ICs that are too slow) Nothing you can do about it besides change the PCB.

FWIW. I've seen a similar issue with AES. 2 3-6 AES systems, same speed of VRAM, same AC adapter, same cart. 1 has graphical corruptions with Vortex, the other plays it perfectly fine. Even after doing a cap kit and voltage regulator replacement nothing changed (I even changed the 2 cart slots! so I know it's not a connection issue) The only difference I discovered is that the good unit had a Toshiba 68000 CPU and the one with glitches has an Hitachi CPU.

I believe there's slight differences that the Vortex cart is able to trigger that regular carts can't. I believe these are the same issues the latest version of the NeoSD Pro is running into on some AES systems as the glitches look identical. This is why making any multicart device for the Neo Geo is hard. It works perfectly fine for you and your small number of testers - but in the real world, with the dozens of variations of Neo Geo, all the compatibility issues come out.
 
Theorically, catching the first 1MB of the joint PROM file of Vortex rom would be P1, and the rest of the info would be P2 (max 8MB). This is a test I want to do, but first I want to know if anyone knows if this type of latching is used in Vortex roms.

The logic for how vortex does latching is in the cpld code

https://github.com/xvortex/VTXCart/blob/main/CPLD/MVS/PROG_CP1/rtl/cp1_top.v

If a write happens to the P2 memory region (PORTWEL) the lower 3 bits of the data bus are used for P2_BANK (there is logic to ignore writes if it would map the a memory location larger then the size of the game's P ROM).

https://github.com/xvortex/VTXCart/...bfdacbc33/CPLD/MVS/PROG_CP1/rtl/cp1_top.v#L79

There is some shenanigans going on here to take the latched P2_BANK and increase to by 1 to get P2_BASE. P2_BASE is the offset within the games entire P ROM, such that P2 bank 0 will get mapped to 1MB-2MB of the game's P ROM on the flash chip. I suspect this isn't relevant to what you are trying to do on the PROGBK1.

https://github.com/xvortex/VTXCart/...bfdacbc33/CPLD/MVS/PROG_CP1/rtl/cp1_top.v#L95

When a read to the P2 region happens, P2_BASE get used for the upper address lines for that game's P ROM within the flash. If the read is the P1 region the P2_BASE isn't applied.

https://github.com/xvortex/VTXCart/...bfdacbc33/CPLD/MVS/PROG_CP1/rtl/cp1_top.v#L68
 
The idea is to add a new LS74 for latching D2 signal, which can improve P2 from 4MB to 8MB using the same logic as 64mbit C ROMs. (CE signal now is A21 new input bit). These following games are an example of big exceeding P2 4MB rom size:

What are you trying to do? Understand how Vortex works? or design a new cart that supports bigger PROM sizes? Vortex supports 8Mb PROM today.

My understanding from studying the code and cart schematics is:
- Vortex keeps all the PROM data continuous on 3 flash chips (55LV100S)
- Address lines on the PROM flash chips are connected only to the CPLD
- Address lines from Neo Geo connected to the CPLD
- CPLD code calculates the real address on the flash chip for any given 68000 address request and passes it to the flash (along with which of the 3 chips to enable to respond to the request)
- flash is connected directly to the data bus and puts the requested data on the bus that goes directly to the Neo Geo PCB
 
My idea is how to make converts of those big games on original PROGBK1 boards by adding the extra CPU line using the Vortex roms. Studying the schematics I have seen that theorically with that schematic adaptation would be possible
Vortex doesn't use any special ROMs. It's the standard ROM dumps that are used on multicarts, MAME or MiSTer FPGA - all merged back to back on really big flash chips. Vortex "magic" is the 3 Altera CPLD's that are used like traffic lights. They calculate where all the game data is stored on the bigger flash chips, feed that address to the flash chips, and they in turn feed the wanted data back to the Neo Geo. Original carts don't have these CPLDs nor the bigger flash chips. I'm not sure how much you can reuse from how a Vortex cart works on real carts.
 
EDIT: sorry if I'm not understanding well how Vortex roms work, but as far as I know they are made to work without Neo CRC or similar customs, so games like Prehistoric Isle 2, Metal Slug 3-4 and Sengoku 3 are possible to make on original PROGBK1 and CHA512Y boards

Vortex ROMs are decrypted Neo Geo ROMs in the Darksoft format. You can take the ROMs as-is and run them on a Darksoft SD cart or MiSTeR FPGA. There's nothing special on how the ROMs are stored in flash. If your goal is to create Neo Geo reproductions on real carts acting as donor, your best bet is to start another thread in this forum as what you're trying to do has nothing to do with Vortex. :)
 
Vortex ROMs are decrypted Neo Geo ROMs in the Darksoft format. You can take the ROMs as-is and run them on a Darksoft SD cart or MiSTeR FPGA. There's nothing special on how the ROMs are stored in flash. If your goal is to create Neo Geo reproductions on real carts acting as donor, your best bet is to start another thread in this forum as what you're trying to do has nothing to do with Vortex. :)
Sorry about that, I hoped I could talk about this here since is related to Vortex roms logic.
 
Back
Top