Hacking [WIP] Official NeoGeo emu ROM injection

reprep

Well-Known Member
OP
Member
Joined
Jul 5, 2012
Messages
939
Trophies
1
Website
melankolisavar.blogspot.com
XP
1,037
Country
As there are lots of PSP hackers here, i hope some of you can help us on injecting roms to the official NeoGeo emulator on PSP. i attached the ccf_extract.zip. it needs python 2.7. Original post is made by qwikrazor87, the guy who gave us many user and kernel exploits for vita. http://wololo.net/talk/viewtopic.php?f=20&t=41742

A while back reprep and I sought out to inject custom ROMs to Sony's official TG16/PCE emulator for the PSP and was successfully done, as you can see in these tutorial threads made by reprep.
viewtopic.php?f=24&t=41108
viewtopic.php?f=24&t=41526

Now we're attempting to do the same with some of the official NeoGeo emulators for the PSP.
So far we've figured out that the NeoGeo ROMs/files are stored/compressed (zlib) in disc0:/PSP_GAME/USRDIR/xxx/roms/xxx.ccf.
Here is a python script that extracts the files from the .ccf archive.


The expected extracted files should be these:

arch (not part of the original rom set)
cpu.bin (XXX-pX.bin)
fix.bin (XXX-sX.bin)
pcm.bin (XXX-vX.bin)
spr.bin (XXX-cX.bin)
sub.bin (XXX-mX.bin)


where XXX is the game ID, and X is the consecutive number of a certain file.
The consecutive files are stored together in one file based on the file type from the rom set.

The xxx_snd.ccf contains arch, pcm.bin and sub.bin which are identical to the ones in xxx.ccf, at least on Alpha Mission II.

Here's the explanation of the p, s, v, c, and m files:
A23: Rom file name explanation

The numbers represent the ID of the game and are present on the actual cart/PCB and stored at address 0x0108 of the program ROM.
P = 68k Program
S = Text Layer
C = All the other GFX (Sprites)
M = Z80 Program
V = Voice / Samples

quote source:
http://www.hardworks.de/neogeo/#q23

The cpu.bin/XXX-pX.bin may differ from game to game in 16 bit endianness, the rest seem to have the same endianness despite what's used in cpu.bin.

So far the biggest obstacle we've hit is how Sony stores/converts the sprites in spr.bin from the XXX-cX.bin files, there is nothing identical between the PSN sprite files and the official dumped NeoGeo ROMs.
The sprites in the PSN releases don't appear to be compressed or encrypted, but in comparison to the official NeoGeo ROMs they are not the same sizes, it's smaller or larger depending on the game.

PSN NeoGeo releases with a larger sprite set have a slightly different layout, where the .ccf file doesn't contain spr.bin, instead it's stored separately, but that's another issue for now.

If anyone is interested in helping us tackle Sony's official NeoGeo emulator it would be much appreciated.
I'm sure with a little Googling you can find your way to the needed ROMs/PSN releases.

This thread will be updated as new findings are made.

Update:
Here is some info on the neogeo sprite format:
https://wiki.neogeodev.org/index.php?title=Sprites#Graphics_format
https://wiki.neogeodev.org/index.php?title=Sprite_graphics_format
 

Attachments

  • ccf_extract.zip
    672 bytes · Views: 235
  • Like
Reactions: Margen67

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @BakerMan, Remember to take your meds like AncientBoi.