’Cause all games were better on the GBC

You are not logged in.

#1 2021-10-30 23:40:48

New member
Registered: 2021-09-21
Post 2/3

adding moves limit in red dis?

Working in Pokered Disassembly, picking up some steam, currently trying to add moves/attacks to database.

After adding 7 moves successfully to the game and running a successful 'make' check, apparently if you add an 8th
technique to the game using similar methods, it rejects it for some reason.

The error it submits is as follows:

ERROR: main.asm(359) -> engine/items/tm_prices.asm(25) -> data/items/tm_prices.a
sm(39) -> macros/asserts.asm::nybble(57):
    Section 'bank1E' grew too big (max size = 0x4000 bytes, reached 0x4001).
ERROR: main.asm(359) -> engine/items/tm_prices.asm(25) -> data/items/tm_prices.a
sm(54) -> macros/asserts.asm::end_nybble_array(72):
    Assertion failed: TechnicalMachinePrices: expected 25 bytes
error: Assembly aborted (2 errors)!
make: *** [Makefile:89: main_red.o] Error 1

From what I understand this is attempting to explain that a table "bank1E" has grown beyond certain constraints.
What these particular constraints are and how to potentially circumvent them, I could really use some advise on,
or even just point me to where the answer could be found.
There seems to be an additional, related error of unknown mechanism as well.

Any help is greatly appreciated.


Last edited by thenightmayor (2021-10-30 23:45:26)


#2 2021-10-31 18:36:00

Registered: 2021-08-18
Post 7/21

Re: adding moves limit in red dis?

When you are editing a ROM, you are still constrained by the original hardware limitations. A Gameboy Cartridge can only contain so much data, and your ROM hack cannot exceed that limit either. The ROM is split into a number of 'banks', each with its own limits. So by adding that 8th move, you have made one of those banks exceed its limit. To rectify this, you can try and remove some other data from that bank to compensate (maybe delete some crappy, redundant moves?) Or you can try and move where you store the pokemon moves to another bank with more space (or to a bank with data that you are more happy to delete). I'm not skilled enough to tell you how, practically, to do the latter solution.

As for the other error, it seems to be caused not by hardware constraints as such, but by some code that is referring to the move database. There is some code which is written in such a way that it presumes that there is only so much data in the move database. You've now added more data than it expected, so the code cannot be executed.

Sorry to not give more specifics. I'm still a relative newbie to all this, so not even confident that I've explained all that accurately.


#3 2021-11-01 02:44:18

New member
Registered: 2021-09-21
Post 3/3

Re: adding moves limit in red dis?

Thank you so much for the information, I was aware of the first technique, but the second one you were describing sounds far more promising.
Can you or anyone point me to any guide or tutorial reference material that may walk through how to do so?

Either way, this reply cleared a lot of mystery up for me, so thank you again for the timely information.



Board footer

Powered by FluxBB