CV1000 bank extractor.

This is the main shmups forum. Chat about shmups in here - keep it on-topic please!
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

CV1000 bank extractor.

Post by BarfHappy »

For those who don't know what that could be, sorry.
For the others, this will extract the gfx banks from CV1000 U2 flash up to mmp.

The full specification of Cave compression v2 is now implemented. Should work on ALL SH3-based games fully, SDOJ included (hurray).

Drag and drop the u2 on the executable and it will create 2 folders, suffixed by dat and tga, in DAT you will find data it couldn t extract (corrupted flash).
All games are now supported (and it should work on the more recent games, like DFK or AK).

you can use CV1000EXR u2filename from command line as well

Drag and drop an xbox360 CAVE BIN file on it and it will decompress as well.

Take care, and i love Cave <3
http://www.sendspace.com/file/v8qpfl (upd 2013/08/06 04:11pm, fixing some non-gfx types)

cv1000exr u2filename : decrypts the banks from a u2 flash
cv1000exr binfilename : decrypts the data from a CAVE XBOX360 game (tested with AKAI KATANA)
cv1000exr type filename : decrypts the filename of either CAVE type 1 (->mmpork) or CAVE type 2 (mmpork->)

Image
Image
Last edited by BarfHappy on Sat Jun 08, 2013 2:13 pm, edited 34 times in total.
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: CV1000 bank extractor.

Post by trap15 »

Any chance I could get source for this? :)
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

trap15 wrote:Any chance I could get source for this? :)
Nope sorry, there is code that is CAVE property, i cannot share :(
(but PC code is easier than SH3 for dis-assembly ;) )
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: CV1000 bank extractor.

Post by trap15 »

BarfHappy wrote:Nope sorry, there is code that is CAVE property, i cannot share :(
Ah, I should have assumed so.
BarfHappy wrote:(but PC code is easier than SH3 for dis-assembly ;) )
Maybe for you :wink: I find SH3 a lot easier than x86
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

And now...

Muchi Muchi Pork is supported ! (it should work for later games as well, DFK/DFK BL and AK ... perhaps even SDOJ ? time will tell)
http://www.sendspace.com/file/6d3uli
(updated, now with file-by-file support)

Image
Last edited by BarfHappy on Sat Apr 28, 2012 4:47 pm, edited 1 time in total.
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor. (and a lil question)

Post by BarfHappy »

I forgot, i have a small question, in fact a request... if anyone as a raw bank file from AK i d love to know if it works with it as well ! (it is type 2 !).
My japanese 360 is stock, and i don t want to hack, so i have no access to the real data of my games.
Thank you in advance !

Anyway, it works on xbox360 CAVE compression for the wallpapers ;)
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
AntiFritz
Posts: 1630
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor. (and a lil question)

Post by AntiFritz »

BarfHappy wrote:I forgot, i have a small question, in fact a request... if anyone as a raw bank file from AK i d love to know if it works with it as well ! (it is type 2 !).
My japanese 360 is stock, and i don t want to hack, so i have no access to the real data of my games.
Thank you in advance !

Anyway, it works on xbox360 CAVE compression for the wallpapers ;)
Which file has the espgaluda 2 wallpapers?
RegalSin wrote:Rape is very shakey subject. It falls into the catergory of Womens right, Homosexaul rights, and Black rights.
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: CV1000 bank extractor.

Post by BPzeBanshee »

Damn, nice wallpaper.

How would one get this raw bank file from Akai Katana anyway? Dump it from a PCB or view the 360 port's data with a JTAG'ed 360 like they did with Guwange XBLA?
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

BPzeBanshee wrote:Damn, nice wallpaper.

How would one get this raw bank file from Akai Katana anyway? Dump it from a PCB or view the 360 port's data with a JTAG'ed 360 like they did with Guwange XBLA?
That would be the second option~
I have no clue about the structure of xbox360 games :, All i know is that a friend extracted some xbox360 cave ports games files to play around with a year ago, and, i remembered about them. By magic, the algorithm for the arcade CV1000 games graphics decompression works on them as well (iei, hurray for costs rationalization).
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: CV1000 bank extractor.

Post by trap15 »

Oh that's awesome. You should dump the wallpapers for me :wink:
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
AntiFritz
Posts: 1630
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor.

Post by AntiFritz »

Also this seems to crash whenever i try using it on anything not a u2 file.


The correct syntax is "cv1000ex 2 filename" (or 1 for type 1?) right?
RegalSin wrote:Rape is very shakey subject. It falls into the catergory of Womens right, Homosexaul rights, and Black rights.
Barrakketh
Posts: 317
Joined: Sat Jan 22, 2011 10:44 pm

Re: CV1000 bank extractor.

Post by Barrakketh »

AntiFritz wrote:Also this seems to crash whenever i try using it on anything not a u2 file.
My interpretation of the OP is that it is only supposed to support u2 files, not anything else.
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

Ahaha, yes this tool is crash happy with unknown sources :)

So, your U2 must have no modification to its header (mess up with the banks table and my tool will die)
Or your extracted file must be a real CAVE compressed texture (forget a leading byte and my tool will die).

basically:
if you have a proper u2 file like, say, espg2_u2, and have the tool in a c:\wtf\ directory:
you open a command line to your u2 file (so you are under c:\somelocation\> prompt)
and type
c:\somelocation\> c:\wtf\cv1000ex espg2_u2

if you have a file extracted properly from a cave game (that means already extracted from its container, NOT the container),
then you can type
c:\somelocation\> c:\wtf\cv1000ex 1 dfk_bl_wallpaper_1
or
c:\somelocation\> c:\wtf\cv1000ex 2 muchi_dumped_bg

to be honest, the extracted file method is not to be taken seriously, i only made that to decompress things from more recent CAVE games through their ports.

example:
Image

I hope you manage to use it finally ^^
It s been compiled in unicode using MFC through Visual C++ in visual studio 10, so you probably would need the runtime, but if you play games you should have them already ;)
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
AntiFritz
Posts: 1630
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor.

Post by AntiFritz »

How do you extract files from the container first? For example xbox0001.bin.

I remember doing it ages ago but have forgotten how since.
RegalSin wrote:Rape is very shakey subject. It falls into the catergory of Womens right, Homosexaul rights, and Black rights.
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

Sorry, but i don t know how to do that ^^;
Never got into the thing of xbox360 data exploration, luckily i have friends who did, and from them i know that my algorithm works on these :P

Ok, so, new version, all my apologies, a previous bug made that unrecognised compression types in muchi muchi pork were not treated as raw but were made duplicates of the previous bank... silly me.
So, instead of just patching to make raws, i implemented the missing decompression routines.
There still lacks one... sob... for 3 banks. I ll see if i can dig the code for it, i only manage to extract the final stage (4 passes instead of 3), but i don t know how to go further... yet xD



Image
Last edited by BarfHappy on Wed May 02, 2012 7:04 pm, edited 2 times in total.
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

And an important update, the implementation is now finished for Cave compression 2.
This means that unless a BIG surprise, this should work on every CAVE SH3-based game, even the ones not yet dumped.



In MMP the last subtype that made me have white hair... was all for THIS
Image
(and a few shadows)

This is the same principle as usual, a new compression is experimented on a few useless tiles, and then fully implemented a few games later, when the need is there for extra space (these decompression routines are CPU and memory-io intensive).

Take care.
Last edited by BarfHappy on Thu May 03, 2012 6:28 pm, edited 1 time in total.
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor. [XBOX360 edition]

Post by BarfHappy »

New Version,

support for XBOX360 games (tested successfully on DDP DFK BL and AKAI KATANA)

At your own risk (2 megs), DDP BL first bank:
http://uppix.net/6/7/c/c6732fdafbbb5b0b ... a17f78.png
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
Icarus
Posts: 7319
Joined: Mon Jan 31, 2005 2:55 am
Location: England

Re: CV1000 bank extractor. [XBOX360 edition]

Post by Icarus »

Gorgeous pic of Shuumeigiku in the OP, though I don't recall seeing it anywhere in the game. Was it display wallpaper?
Image
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

Yes that one is part of the 25 wallpapers :)
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
Icarus
Posts: 7319
Joined: Mon Jan 31, 2005 2:55 am
Location: England

Re: CV1000 bank extractor.

Post by Icarus »

Are you able to get sound effects from the X360 games? I've been looking for a high quality clip of the ninja mode transform sound effect from Akai Katana Shin for ages. :/
Good job on the bank extractor, by the way. Makes sprite-ripping easier.
Image
User avatar
AntiFritz
Posts: 1630
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor.

Post by AntiFritz »

Icarus wrote:Are you able to get sound effects from the X360 games? I've been looking for a high quality clip of the ninja mode transform sound effect from Akai Katana Shin for ages. :/
Good job on the bank extractor, by the way. Makes sprite-ripping easier.
Ripping music (and i assume sound effects) isnt too hard. I used a program called dragon unpacker to extract the audio.
RegalSin wrote:Rape is very shakey subject. It falls into the catergory of Womens right, Homosexaul rights, and Black rights.
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

Ho ... dragon unpacker still exists ?
we used to reverse engineer together elb and i (we are friends from the same uni), i made the bubbles-and-bubblebobble splash a long time ago if he still uses it :P
He is a dedicated man... we were playing together about 12 years ago. We used to have fun making complementary tools, him the ripping, me the injection... Delphi VS VC++ ... good times.

Sorry, i cannot help with the 360, this is not a platform i am very familiar with.
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
AntiFritz
Posts: 1630
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor.

Post by AntiFritz »

Yeah, I've been using it for various things over the years. Still has that splash screen too and afaik the programs still in development.
RegalSin wrote:Rape is very shakey subject. It falls into the catergory of Womens right, Homosexaul rights, and Black rights.
User avatar
AntiFritz
Posts: 1630
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor.

Post by AntiFritz »

Thanks once again for this program but anyway

Image

Musou?

Also looks like they once planned on including arcade mode in the dfk port.
RegalSin wrote:Rape is very shakey subject. It falls into the catergory of Womens right, Homosexaul rights, and Black rights.
User avatar
Rupert H
Posts: 646
Joined: Sun Dec 30, 2007 4:25 am
Location: London

Re: CV1000 bank extractor.

Post by Rupert H »

Icarus wrote:Are you able to get sound effects from the X360 games? I've been looking for a high quality clip of the ninja mode transform sound effect from Akai Katana Shin for ages. :/
Good job on the bank extractor, by the way. Makes sprite-ripping easier.
I might be able to hook a brother up with this. The Cave Desktop Accessory CD-ROM Vol. 1 has a bunch of clean officially sourced sound effect and voice samples and I'm pretty sure Akai Katana is included.

I'll bring it along to the meet on a USB drive.
Aurel
Posts: 21
Joined: Wed May 02, 2012 12:18 pm

Re: CV1000 bank extractor.

Post by Aurel »

Thanks a lot for this awsome software !!
Is there a way to rebuild the u2 rom back with customized tga files?
(It could be funny to exchange some sprites :lol:)
Last edited by Aurel on Thu May 03, 2012 7:21 am, edited 1 time in total.
User avatar
THE
Posts: 403
Joined: Fri Aug 17, 2007 9:00 am
Location: Germany

Re: CV1000 bank extractor.

Post by THE »

Aurel wrote:Thanks a lot for this awsome software !!
Is their a way to rebuild the u2 rom back with customized tga files?
(It could be funny to exchange some sprites :lol:)
I'm hoping someone is homebrewing for the SH3 one day. BarfHappy I'm looking at you :wink:
The future is 2D
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

THE wrote:
Aurel wrote:Thanks a lot for this awsome software !!
Is their a way to rebuild the u2 rom back with customized tga files?
(It could be funny to exchange some sprites :lol:)
I'm hoping someone is homebrewing for the SH3 one day. BarfHappy I'm looking at you :wink:
For the TGA: Yes there is a way to put back your very own tga files in there :) I did it for deathsmiles, worked like a charm. Making the proper tools will take a while though.

Gosh THE, how do you know ?
I am in the process of purchasing the toolchain from Renesas xD It is a perfect match for CAVE platform, the SH7709s is a target for the toolchain (it is readily available as evaluation software).
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: CV1000 bank extractor.

Post by trap15 »

You don't really need to purchase a toolchain. You can just make a cross-compiling GCC yourself and compile a libc. Free and takes pretty little effort.
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

trap15 wrote:You don't really need to purchase a toolchain. You can just make a cross-compiling GCC yourself and compile a libc. Free and takes pretty little effort.
I know Trap, but considering the renesas is what cave uses... it would be perfect :)
I asked for rates though, if it s too expensive i ll do it the old ways and all in assembly (aaah the c64 ...)
st5ex0boss/st5ex0boss.cpp, st5ex0boss/st5ex0b_appear.cpp, st5ex0boss/st5ex0b_disp.cpp, st5ex0boss/st5ex0b_move.cpp, st5ex0boss/st5ex0b_anime.cpp, st5ex0boss/st5ex0b_check.cpp

And there shall be TTLB... <3 Muwohohoho
Post Reply