Hi Everyone,

Please forgive my ignorance. This is definitely above my pay grade.

I am curious to know if it is possible to expand the amount of space the ROMA can contain? or am I SOL?

(In case these are of interest) The files that I can spy with my little eye are:

bkChar.bin 3099KB
bk0Include.h 4KB
bkMaps.s 5317KB
bk0Pals.s 11KB
fix.bin 128KB
fixData.h 1KB
fixPals.s 1KB

I know my GFX MB's are on the low end... but I probably have too many tile references? I'm in the dark....
I finally have a project I believe I can release this year (I have thought this before) but this snag is a killer because I know I cannot mix bank data.... so I need all my GFX on the same bank....
Again very sorry for the poor wording etc... Any elaboration on the ROMA would be very helpful

I am currently getting this error....


I found this line in NeocartBank.x...

roma (rx) : ORIGIN = 0x00200000, LENGTH = 0x100000

I changed the LENGTH to 0x200000 and was able to recompile!

I then attempted to adjust my mame driver.... (I am very weak on this side of things)

<software name="game">
<description>Game Demo</description>
<sharedfeat name="release" value="MVS,AES" />
<sharedfeat name="compatibility" value="MVS,AES" />
<part name="cart" interface="neo_cart">
<dataarea name="maincpu" width="16" endianness="big" size="0x700000">
<rom loadflag="load16_word" name="dev_p1.bin" offset="0x000000" size="0x100000" crc="bdda2c6e" sha1="6a94dee2d22feb07ea68a90ce67d5cac1b17b9c9" />
<rom loadflag="load16_word" name="bank0.bin" offset="0x100000" size="0x200000" crc="d707ec72" sha1="6ca9b79e5679e49684cb8993f532966df3186ec9" />
<rom loadflag="load16_word" name="bank1.bin" offset="0x300000" size="0x200000" crc="53bed158" sha1="625f9f78980b8272303bd49309ff502e1da68315" />
<rom loadflag="load16_word" name="bank2.bin" offset="0x500000" size="0x200000" crc="53bed158" sha1="625f9f78980b8272303bd49309ff502e1da68315" />
<dataarea name="fixed" size="0x040000">
<rom offset="0x000000" size="0x020000" name="s1.s1" crc="0e6a7c73" sha1="31b1194524dcc80ec4d63bac088b6fb4909f496c" />
<dataarea name="audiocpu" size="0x040000">
<rom offset="0x000000" size="0x040000" name="m1.M1" crc="da4878cf" sha1="ce13d18a4c5d01974df8542c67c4df00dbc6e7c1" />
<dataarea name="ymsnd" size="0x1000000">
<rom name="v1.V1" offset="0x000000" size="0x100000" crc="149a5c2f" sha1="d52eac230f7aaa1d70cbb8d50a2513f180c65e4d" />
<rom name="v1.V2" offset="0x100000" size="0x100000" crc="2c6bc7be" sha1="c9c61054ce1a47bf1bf77a31117726b499df24a4" /> <!-- TC5332204 -->
<rom name="v1.V3" offset="0x200000" size="0x100000" crc="0425b27d" sha1="986863c98fc3445487242dcf2ea75b075e7f33ee" /> <!-- TC5332204 -->
<dataarea name="sprites" size="0x2800000">
<rom loadflag="load16_word" name="bk0char.bin" offset="0x000000" size="0x800000" crc="a9bdc000" sha1="93b0dfcd2121ddf6ea1fe99514a176d76e4b0c98" />
<rom loadflag="load16_word" name="bk1char.bin" offset="0x800000" size="0x800000" crc="f8e21968" sha1="e103d4f59cd841267b882580aee338e99f192c3f" />
<rom loadflag="load16_word" name="bk2char.bin" offset="0x1000000" size="0x800000" crc="f8e21968" sha1="e103d4f59cd841267b882580aee338e99f192c3f" />

Now I am greeted with a wonderful error message....



Region length is 0x100000, can't go beyond that.

If you need more data, you have to split into multiple banks and manage them.



I have multiple banks but I thought you can't mix bank data in a single scene? I'm using one bank as an intro and the primary bank as the gameplay.
A while back I had a sprite on Bank0 and tried to display a sprite on Bank1 at the same time and got a bad result.
I believe you mentioned at that time you can't combine gfx data from different banks in the same scene?

I also noticed a game like garou seems to have 2MB banks. (Again sorry about the butchering I am doing on the terms)

<feature name="crypt" value="garou_prot" />
<dataarea name="maincpu" size="0x900000">
<rom loadflag="load16_word_swap" name="kf.neo-sma" offset="0x0c0000" size="0x040000" crc="98bc93dc" sha1="01fe3d18b50f770e131e8d8eeff4c630ba8c9551" /> <!-- stored in the custom chip -->
<rom loadflag="load16_word_swap" name="253-ep1.p1" offset="0x100000" size="0x200000" crc="ea3171a4" sha1="bbda40f652baa0dc5fc6a006c001a1bdb0df43f6" /> <!-- M27C160 -->
<rom loadflag="load16_word_swap" name="253-ep2.p2" offset="0x300000" size="0x200000" crc="382f704b" sha1="0ace9c84a8b8a0524fd9a503e7d872de1bf1bd52" /> <!-- M27C160 -->
<rom loadflag="load16_word_swap" name="253-ep3.p3" offset="0x500000" size="0x200000" crc="e395bfdd" sha1="6b50f5ac15bf66b7e4e9bff57594fd3d7530c831" /> <!-- M27C160 -->
<rom loadflag="load16_word_swap" name="253-ep4.p4" offset="0x700000" size="0x200000" crc="da92c08e" sha1="5556f983ebcebc33160e90a6a6cf589d54c8cedc" /> <!-- M27C160 -->

I am assuming my issue is too many tile references?
Sorry I am confused on this one as I believed I could have 8MB per bank given my current driver set up but the pointer data to the tile references must be filling up the bank.o?

My P roms....

dev_p1.bin is only 176KB
bank0.bin is now 966KB (After lots of GFX being removed from the compile) is it possible for Bank0.bin to be up to 2MB? If so I would love to alter the NeocartBank.x to permit for this....

I believe my issue is when Bank0.bin reaches over 1mb the gfx build fails


No, the bank region size is 1MB/0x100000 like the main region. A 2 MB chip is just 2 banks.

You have to setup your data around this limit.


Ok Roger that. Thanks for clarifying.

The last question is does DATLib 0.3 have the ability to mix gfx from different banks? EX: Bank0 player 1 VS Bank1 player 2?

If not do you think you will add support for this in the future?

I imagine games with multiple banks support this gfx mixing but I could be wrong.


There's no dynamic banking at the moment, will probably add a mean to handle it in the future.


You are the best HP "THE" MAN!

Thanks for responding and for creating the world's greatest Neo Geo Dev environment!

So many hours of fun consulting the so well designed documentation. Always finding new and exciting features!

One day I hope to make this community proud!