CV1000 bank extractor.

This is the main shmups forum. Chat about shmups in here - keep it on-topic please!
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: CV1000 bank extractor.

Post by BPzeBanshee »

BarfHappy wrote:Good news, altering the loading sequence and the levels playlist is wonderfully accepted by the game :)
So, there is nothing preventing me from doing a level editor xD However, i cannot add tilesets to the loading lists (fixed size by level, would screw up everything to shift the whole rom), so forget about having a bosses rondo in level 1 ...
'bosses rondo' = boss rush?

This would explain why Cave make their boss rush modes basically stages in themselves but jumped in position towards when the boss would normally appear anyway!
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

edit: first, by the way, if you have the missing system font problem, just reboot, this will reassign the system font to working order !

first new version of the tools for U4:
http://www.sendspace.com/file/fgx7pe (easier to work with, i padded the dec file with leading 0s so that adress in game in in the dec match)
BPzeBanshee wrote:
BarfHappy wrote:Good news, altering the loading sequence and the levels playlist is wonderfully accepted by the game :)
So, there is nothing preventing me from doing a level editor xD However, i cannot add tilesets to the loading lists (fixed size by level, would screw up everything to shift the whole rom), so forget about having a bosses rondo in level 1 ...
'bosses rondo' = boss rush?

This would explain why Cave make their boss rush modes basically stages in themselves but jumped in position towards when the boss would normally appear anyway!



Yep, i was talking about a boss rush, but no no i meant that within the games, each level has no spare entry to add elements to load. And there is a huge amount of data after these. So i would have to change literally hundreds of pointers, that would be alright if i knew the exact use of every block of data, but that s not the case, sadly. So i have to play it safe and not go beyond what already exists :)

By the way, for the curious:

enemy playlist: very simple, frame of appearance (right shifted 7 bits to the right) + move index + special + offset X + offset Y
followed by the
moves data:
first entry can be a position offset or skipped, then the moves sequence
CODE + D0 + D1 + D2
code 00: offset D0=0 D1=OFFSY D2=OFFSX
code 14: bounce D0=0 D1=bits to bounce up or down D2=bits to bounce left or right
code 08: set speed D1D2=speed
code 06: move right D0=angle, D1D2=number of frames (0 for infinite)
code 07: move left D0=angle, D1D2=number of frames
...
FF FF FF FF to end the move and stay on the last entry
followed by the pointers to the moves (so basically the code searches in here the address of the move to be used)

Example in deathsmiles:
frames counter used for enemies at c53a014
1st level enemy playlist: c1cd4a8 (so 1cd4a8 in the file)
0006 0011 000A 0000 00D4 0157
This tells us, when the frame counter reaches 0x300, spawn an enemy 0x11 (bird), using the move at index 0x0A , nothing special to pass, at vertical position 0xD4 (quite high), and horizontal position 0x157 (outside boundaries to the right)
1st level moves pointers: c1ce1cc (1ce1cc in the file) , we need to go at the 0x0A entry (so c1ce1cc+4*0x0a, c1ce1f4 ): the value there is 0C1CDB70 (1cdb70 in the file) , which is the location of the moves description
move description:
00 00 00 00 (no offset)
08 00 00 20 (speed set, 20 units/frame)
07 80 00 00 (move left, straight left [00 is down, FF is up, 80 is in between, inifinite number of frames)
FF FF FF FF (end of move)

The map starts off at c27e9c4 (27e9c4)
it is very simple in principle, it works by line bottom to top and by page of plane, far plane first, close after, each tile is a 32x32 cut of the BIG BAD OBJECT, i call the big bad object the memory where all the images are loaded to.
so basically: you have entries like that :
00 80 00 60: which means, cut me a 32x32 slice, at position of the BBO 0x0080 0x0060... but... eh... that would be too easy xD so depending on the plane, the window of the big bad object is not the same (layers detail at c2b7488/2b7488)
Last edited by BarfHappy on Mon May 14, 2012 7:36 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.

Post by BarfHappy »

Just so you know (this will become my catch phrase ahaha xD)

I now have the knowledge of everything needed.
Good news, the same logic applies for other games, this is, once again, a shared CAVE library it seems.
Application:
There are "holes", that s because the levels are not only made of layer tiles, but also of sprites which are not spawned by the enemy playlist but the layers playlist... sadly... i cannot control the sprite too much in this area, this is part of specific level code and out of the editor scope, so you will have to make everything fit on the planes or use precious enemy playlist space..
Image

Note to admins: err... perhaps somebody should move this to development ?
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: 1629
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor.

Post by AntiFritz »

This is amazing.
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 »

Yeah, and look at how many people you'll get interested in this once it gets moved. :lol:

When this becomes easy enough for a programmer idiot like myself to use I'll definitely give this a shot. As it stands it looks beyond me. Very interesting to see and read nonetheless.

With the 'holes', couldn't one just (if they wanted to do a full new game) replace the layer tiles with something that doesn't have gaps that are filled by enemy playlist objects?
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:Yeah, and look at how many people you'll get interested in this once it gets moved. :lol:

When this becomes easy enough for a programmer idiot like myself to use I'll definitely give this a shot. As it stands it looks beyond me. Very interesting to see and read nonetheless.

With the 'holes', couldn't one just (if they wanted to do a full new game) replace the layer tiles with something that doesn't have gaps that are filled by enemy playlist objects?
Yep, that s what should be done, just stick to the 4 layers given. That way you can do whatever you want... for example, during my experimentation i managed to recreate a Zaxxon level with diagonal scroll within deathsmiles, iei :) For practical aspects, on CV1000B, you are given 18 256x256 banks to work with for the backgrounds, with 8 max for a single layer. They are horizontally aligned, so you will cut 0000 to 07E0 horizontally and 0000 to 00E0 vertically. If you need more variety, two planes can share the same priority giving you 16 256x256 banks (4096*256), which is enough for a complete hand-drawn level with no repetitive element whatsoever.

Well, it s still a loooong way until there is anything usable for people, specially considering the actual editor codebase (which makes any UI element a pain to code), but we ll get there ! Deathsmiles has big limits though, the levels are too short for my liking, so i may switch to mushihime futari quickly (which i know has the same graphics library).
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
austere
Posts: 680
Joined: Mon Mar 22, 2010 10:50 am
Location: USA

Re: CV1000 bank extractor.

Post by austere »

Great work BarfHappy! By the way, you probably know this but you don't even need the development kit from Hitachi, just the parallel port on your machine ;) you have to be careful not to shift in and transfer a write mode on to the SH3 in the JTAG chain at the wrong time but otherwise it's easy to control the entire PCB with $2 equipment from an electronics store and a computer with "legacy" connectors!

Of course, an FPGA or that kit is far more convenient. But why dump $3000 (if we take THE's figure) on something when you can use a simpler basis that other people can construct easily and collaborate with you on. I wish I could join you but the last 14 month have been pure hell for me, I didn't even get to play with it much. :(

I still haven't found a way to change the sound ROM as its disconnected from the chain and I have to remember to give some of the sound chips I acquired to a good decapper I know (I can finally do it myself but I don't have the time anymore).

Best of luck to you, quite interested in your progress.
<RegalSin> It does not matter, which programming language you use, you will be up your neck in math.
User avatar
emphatic
Posts: 7923
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: CV1000 bank extractor.

Post by emphatic »

Very awesome progress! :D
Image | My games - http://www.emphatic.se | (Click) I have YEN stickers for sale
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
User avatar
THE
Posts: 403
Joined: Fri Aug 17, 2007 9:00 am
Location: Germany

Re: CV1000 bank extractor.

Post by THE »

austere wrote:Great work BarfHappy! By the way, you probably know this but you don't even need the development kit from Hitachi, just the parallel port on your machine ;) you have to be careful not to shift in and transfer a write mode on to the SH3 in the JTAG chain at the wrong time but otherwise it's easy to control the entire PCB with $2 equipment from an electronics store and a computer with "legacy" connectors!
I guess the great bootlegging starts soon. I'm glad my Cave PCB collection is nearly complete. :mrgreen:
The future is 2D
User avatar
austere
Posts: 680
Joined: Mon Mar 22, 2010 10:50 am
Location: USA

Re: CV1000 bank extractor.

Post by austere »

THE wrote: I guess the great bootlegging starts soon. I'm glad my Cave PCB collection is nearly complete. :mrgreen:
Well, if you don't mind strange sounds coming out of the PCB if you try to put another game on it. :P Where it can really do that is with all the different editions of each game and I don't think that's a bad thing per se. You still have the sound problem though, for example for Futari Black Label.

Then there's the matter of that CPLD, who knows what it's "supervising", I haven't tried rewriting any code/graphics yet nor have I the time to extract the schematics. But I think it's very much possible.
<RegalSin> It does not matter, which programming language you use, you will be up your neck in math.
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

http://www.sendspace.com/file/6wb3e5

This is the CV1000 Level viewer based on the editor i am preparing. IT WORKS ONLY WITH DEATHSMILES !
You will find the tools required to extract the game data in the package as well.
So, place your U2 and U4 deathsmiles roms (named U2 and U4) in the cv1000v directory. Extract them using the supplied tools (CVU4ex.exe U4 then CV1000exr.exe U2), and start cv1000v once everything is finished.

What does it do ? It just plays the levels...
I miss a ton of layer opcodes so, the later levels don t play tooo well and have shoddy alignment, there is no zoom factor and the backward moving layers are not properly jumped... buuut it works xD

Image
Last edited by BarfHappy on Wed May 16, 2012 7:25 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
emphatic
Posts: 7923
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: CV1000 bank extractor.

Post by emphatic »

:shock: :shock: :shock:
Image | My games - http://www.emphatic.se | (Click) I have YEN stickers for sale
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
User avatar
yosai
Posts: 274
Joined: Wed Jun 11, 2008 9:37 pm
Location: London

Re: CV1000 bank extractor.

Post by yosai »

Download doesn't work here, the captcha appears to be blank.
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 »

There you go (should work this time xD ):
http://www.sendspace.com/file/6wb3e5
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 »

*whistles*
good news everyone, you ll make deliveries to mushihimesama futari / 1.5/ blk as well

Image

edit: ho and what we can conclude: MushiHimeSama Futari and DeathSmiles share the same graphics library.
I am pretty sure ALL CV1000 games do... i ll check today
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 »

I'd take a quick guess that YGW's games use a different one.
@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 »

Yep, checked...
Yagawa is much more straightfoward...
No layer playlist whatsoever (sob and i spent so much time deciphering IKD code ><) ... fixed tiles allowed per level (no munching of BBO to increase available tiles for bg).
I should have started there, there would be a working editor released already xD

Anyway, so... i ll just be IKD-compliant :cry: sorry
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 »

YGW is god-tier :mrgreen:
If you do get around to doing some development on CV1000, let me know; I'm contemplating porting my next WIP game to it :wink: It'd be nice to have someone else who has messed with the hardware share their expertise.
@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 »

Ahaha :) well... now that i know IKD way for the levels, it s creatively much more flexible.

Anyway... IKD is the Recycling chief, he s ecofriendly... my tools works flawlessly with galuda2.

I ll let you know if one day i have enough time to dedicate to something else xD

Image
Image
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: 1629
Joined: Sun Apr 03, 2011 2:34 am
Location: Australia

Re: CV1000 bank extractor.

Post by AntiFritz »

*drools over galuda 2's graphics*
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 »

Yep, i really like the pixel art part of it :)
I made my tool a little more friendly (a little), i buffed up the perfs, and i enabled the extended loading lists...
I wrongly estimated the memory use,... so there were missing parts i overlooked...
So, to sum it up, IKD ENGINE (i ll call it that way) can use more than one line of the BBO and it can use a full line
the BBO line is 32 tiles of 256x256 pixels, 8192x256 of art goodness. Depending on sprites consumption of the space, a level can use part of 1 (mushihimesama), two (deathsmiles, galuda2) ... and EVEN MORE THAN 2 (MushiHimeSama futari/bl last level). Ikeda-man split the loading lists for the 3 BBO lines loading... damn you ! So i was missing the tiles of the secondary loading list.
---
Edit: figured out the missing bits that were polluting my maps...futari larsa is now perfect
---
This afternoon i ll try to analyse more how the playlist is sync-ed to the levels because some are really really off and i had to patch-in ... stupid level specific code >.< I hope i can identify some setup values telling what to use (game frame, syncro to the enemy-sync layer, bgmost layer, priorityX layer... this is a MESS).
I ll post the actual tool as well, because it is nice to see them moving ^^

Anyway !
More espgal2 for antifritz ;)

Image
Last edited by BarfHappy on Sun May 20, 2012 1:19 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.

Post by BarfHappy »

Just so you know,
I upped the IKD viewer:

supported:
deathsmiles
mushihimesama futari BLK (only this one xD)
esp galuda 2 (don t forget to rename the u2 folder !)

you must produce the u2_tga and u4dat data folders first (using the supplied tools) and put them in the same directory as the cv1000v executable binary.

http://www.sendspace.com/file/jc474q
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 »

EDIT: I figures out the missing bits ...
So now my tool produces PERFECT backgrounds
http://www.sendspace.com/file/tqa48f


there is now a save icon, which will export the full layers to a tga in lev_tga folder.
Image

The full editor will take a few weeks to make i think... (about 2 months is my guess for something polished enough).
How will the editor work:
first you will need a base, so either you will recycle an existing game level layer or override it with a new one.
the override will allow you to
- start from blank (empty page, you ll have to place tiles on a grid from the bgtilesets already available, you will be able to reload tilesets -so you can replace one tileset-)
- import a giant tga like the ones this executable produces.
While the import is running, it will process the image and find how many 256*256 tilesets are necessary to create it. If it is over the limited amount for the actual level (i will not allow to go beyond the old level number of loaded bg tiles ) then the import will offer you to replace the overflowing tiles by an icon or forget about the idea.
A warning band will appear at the top if the layer maps for the level exceeds the old level map entries.
To make the warning disappear you will have to reduce another layer in scope (for example by cutting part of it and creating a loop section) or rework your layer. layer maps are directly linked to width and height of a layer.

I have limited possibilities on the layers playlists however you ll be able to:
- set their coordinates
- set their priority
- make the layers move the direction you want, at the speed you want (and change it at given frames), within the limit of the existing lists size
- create loop sections (forward and backward loops)
- fade out music volume
- start boss soundtrack
- and... err... that s it.

The enemies playlist will have a separate tool i think, much less visual, but ill be able to provide it sooner.

Why do i explain that ? ... because... assets take a GREAT while to make, so having the export already if you planned on doing anything will allow you to start designing your levels.
The levels are huge... and i mean it...

As always, as of now, Galuda 2, Futari Black and DeathSmiles are my only targets.

I shall probably make a big exporter for soundroms as well, i don t know how to convert these, but i think i can separate the packets from a given track/sound effects and insert it elsewhere, so i think i can allow you to have a music library, just in case you want to have a medley game.

Cheers, and i <3 cave even if you don t.

Image
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 »

Just so you know (ahaha)
Rtype Futari Black Label on the way xD
Image

Seriously, my editor subtools (command line only atm), work like a charm..
I replaced the full third layer by RType 1 map (http://www.sendspace.com/file/76w7ww)
my tool cut it into the layermap (http://www.sendspace.com/file/arlsq0)
and the banks -i had to convert to PNG to show you ><-
Image
Image

RType was a good subject because there is tile mirroring and it works perfectly in the game !
So... it works AHAHAHAHAHAHAHAHAHAHAHAHAHA (i know i am crazy)

Edit: ho, and i figured out why my images sometimes went funky in game... i absolutely had to add the garbage footer... it helps the game code. It s not critical in the intro screens, but someplaces else it was. I will have to reup my build tools.
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
emphatic
Posts: 7923
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: CV1000 bank extractor.

Post by emphatic »

Video please. :lol:
Image | My games - http://www.emphatic.se | (Click) I have YEN stickers for sale
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
User avatar
O. Van Bruce
Posts: 1623
Joined: Mon Jul 11, 2011 2:50 pm
Location: On an alternate dimension... filled with bullets and moon runes...

Re: CV1000 bank extractor.

Post by O. Van Bruce »

My eyes were not ready...
User avatar
BarfHappy
Posts: 160
Joined: Fri Jan 14, 2011 11:20 pm
Location: In a CAVE

Re: CV1000 bank extractor.

Post by BarfHappy »

Ok folks... the editor itself is working perfectly fine now (no longer command line) :)

this is futaritype, all 4 layers replaced !
Image

in the editor:
Image
Image

As you can see, the editor interface is...er... ugly ...er... xD It s in dev works folks...
Ah and what the heck... here is the package:
http://www.sendspace.com/file/p77irt

but i will not teach you how to use it xD part of the fun ahaha
Seriously though... the eye just switches on/off the layer, if you click on the folder you import a tga map, the layer is then in *imported* status.
On the right of the folder icon you see the number of banks for the layer and the BBO line. You can change its BBO line with the little + and - signs if the level had access to more than one. at the right of the +- you see the number of banks used / number of banks available on each BBO line of the original. at the right of it the same but for the imported context, and at the far right the number of map tiles used / available for the level.
You cannot export (blue export icon) if:
- you didn t import ALL 4 LAYERS ! If you want to reuse an existing layer you will have to export (white export icon) and reimport.
- if one of the BBO lines has too many banks (like ... 17/14 )
- if your total amount of map data exceeds the available space.

I tested thoroughly only on the first level of futari blk.... i guess this should work for the rest but i have not tested xD

Once you exported with the blue icon, you get in lev_u4 the new tiles, and the new decrypted u4 rom
Image

You will have to:
delete the RAW files associated with the new tiles names in the DAT export folder of the original data
put the new tiles in the DAT folder
rebuild the U2

replace the u4.dec in the u4dat with the u4_new.dec (rename !)
rebuild the U4

and that s it :)
You will not be able to change the offset of the layers atm, it s easy to do but i am tired.
YOU WILL NOT SEE THE CHANGES IN THE EDITOR !!!!!!!!!
to see the change you will have to exit, replace the u4.dec in u4dat by the new u4 and place the new tiles in the u2_tga folder, replacing the old ones.

If you want to make several changes in sequence, always start back from the ORIGINAL DATA !!! otherwise the program will falsly analyse the available space within the rom and you will have less and less room for the fun.
Bye !
Last edited by BarfHappy on Mon May 28, 2012 4:04 pm, edited 4 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
Op Intensify
Posts: 1090
Joined: Sun Apr 29, 2012 2:19 am

Re: CV1000 bank extractor.

Post by Op Intensify »

BarfHappy wrote:*R-Type arms around Mushi Futari midboss*
:shock: :shock: :shock:

Will we get to the point where people are programming original homebrew games for SH3? Maybe a possible future venture for NG DEV Team?
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: CV1000 bank extractor.

Post by trap15 »

The main problem is that the sound ROMs can't be easily overwritten. Also most of the SH-3 boards are still fairly expensive, and can't be as easily made as MVS carts.
@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
THE
Posts: 403
Joined: Fri Aug 17, 2007 9:00 am
Location: Germany

Re: CV1000 bank extractor.

Post by THE »

Op Intensify wrote:
BarfHappy wrote:*R-Type arms around Mushi Futari midboss*
:shock: :shock: :shock:

Will we get to the point where people are programming original homebrew games for SH3? Maybe a possible future venture for NG DEV Team?
Well, we are a commercial dev, not homebrew :x
Developing for SH3 is thus not interesting for us.

:arrow: It's just a matter of time until we will have our own JAMMA hardware anyway 8)
The future is 2D
Post Reply