Author Topic: CD to MVS conversion  (Read 17209 times)

Offline Robert

  • MAME Devs
  • *****
  • Posts: 48
  • Karma: +27/-0
CD to MVS conversion
« on: July 08, 2022, 09:03:18 AM »
Searching google produced many links on how to convert roms to CD, but I want to convert CD to roms.

One site has info on which bytes to change and swap to turn a rom into a CD, and it had links back to here.

I only want to change a few of those demos and homebrews over, not interested in the commercial releases.
So, in other words, the standard 9 files: the 4 TXT files, and the PRG/FIX/PCM/Z80/SPR files.

I picked one CD iso at random, and reversed the renaming and byte changes - and it worked.

Thus encouraged, I tried a number of others - but none of them could be made to work, I just get the crosshatch screen.

Now rather than reinvent the wheel I decided to ask the collective wisdom here on what other things I should be looking at, and what the various changed bytes do. Are there tools available to automate the tasks? I'd rather do the work myself so I can learn, but I figure there's no harm in asking the experts before wasting time working out things that you guys already know.

Also, do you know of other places and resources out there that could help me? Google was strangely silent.
« Last Edit: July 08, 2022, 09:07:42 AM by Robert »

Offline iq_132

  • Administrator
  • *****
  • Posts: 3734
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: CD to MVS conversion
« Reply #1 on: July 08, 2022, 11:22:42 AM »
Going from what I remember,
the program rom needs to be byteswapped, and needs irq1 & 2 swapped (64-67, 68-6b).
the sprite rom is bytes 0, 1 should be put into c1, and 2,3 go into c2, repeat, then byteswap the files.
the z80, s1, and vx should be straight copies.

- something of note - this will only work for small games.
« Last Edit: July 08, 2022, 11:26:17 AM by iq_132 »


Offline Robert

  • MAME Devs
  • *****
  • Posts: 48
  • Karma: +27/-0
Re: CD to MVS conversion
« Reply #2 on: July 08, 2022, 12:33:56 PM »
An example i'm trying is Neo Puzzle League - it only has a FIX and a PRG. I'm not loading the FIX yet. Rather than byteswapping the PRG, I'm loading it with ROM_LOAD instead of ROM_LOAD16_WORD_SWAP - this accomplishes the same thing.

I swapped the IRQ1 and 2 pointers, and all the others from 0040 to 005F have been changed to 00 C0 04 26. Lastly the MVS mode was chosen at 0063 to be 32.

Still getting the crosshatch.

EDIT: looks like the cart has some kind of security that doesn't exist on CDs. Working my way through that....
« Last Edit: July 08, 2022, 01:30:13 PM by Robert »

Offline Robert

  • MAME Devs
  • *****
  • Posts: 48
  • Karma: +27/-0
Re: CD to MVS conversion
« Reply #3 on: July 10, 2022, 03:54:34 AM »
There's a security string of bytes that must be somewhere on the cart or you get the blue hatches. I found only one other CD with the string, but after the Neogeo logo, there was just a black screen.

On a few other CDs I used the debugger to bypass the check, but after the logo, the game pauses then reboots. So no luck there either.

It appears that on a CD the game code begins at around 0x140, but on a cart, this is still a system area that continues on for a while. So, all that stuff has to moved somewhere else and pointers adjusted, and the system stuff needs to be reinstated. In the end, it was not a simple proposition. Perhaps I'll get back to it one day.

IQ_132, do you have a utility to turn a .neo file into roms? From what I can see, the offsets and sizes of each rom are in the .neo file's header.