Skeetendo

’Cause all games were better on the GBC

You are not logged in.

  • Index
  • → Help/Question
  • → Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

#1 2018-10-01 03:49:50

Lacerta
New member
Registered: 2018-10-01
Post 1/4

Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

After having added a new map.blk and script.asm file into my crystal hack and attempted to compile it with Cygwin, I received the following error:

"
rgbasm -D _CRYSTAL -D _CRYSTAL11 -L -o data/maps/map_data11.o data/maps/map_data.asm
rgblink -n pokecrystal11.sym -m pokecrystal11.map -l pokecrystal.link -o pokecrystal11.gbc audio11.o home11.o main11.o wram11.o data/text/common11.o data/maps/map_data11.o data/pokemon/dex_entries11.o data/pokemon/egg_moves11.o data/pokemon/evos_attacks11.o engine/movie/credits11.o engine/overworld/events11.o gfx/pics11.o gfx/sprites11.o lib/mobile/main11.o
error: Unable to place 'Events' (ROMX section) at $6730 in bank $25
make: *** [Makefile:91: pokecrystal11.gbc] Error 1
"

While I'm pretty certain this is because the game is running out of space in those banks, or it's maybe overflowing into other sections of the game's storage? I'm still fairly new to pokecrystal romhacking and I'm unsure of the best way to deal with this problem without potentially creating an even larger problem in the process.

Anyways, thank you in advance.

Offline

#2 2018-10-02 22:06:14

Tauwasser
Member
Registered: 2010-10-16
Post 450/452

Re: Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

You should probably just look for empty space for your new maps and scripts. If you don't, you will need to push everything that overflows to a new ROM bank anyway. You can find empty space by compiling pokecrystal without your changes and looking in the resulting pokecrystal11.map file. It will say stuff like:

ROM Bank #1:
  SECTION: $4000-$747A ($347B bytes)
  ...
    SLACK: $0B85 bytes

That means there are 0x347B bytes (out of 0x4000) used in ROM Bank 1 with 0x0B85 bytes to spare. Look for ones with much slack, or for ROM banks which say EMPTY:

ROM Bank #121:
  EMPTY

ROM Bank #122:
  EMPTY

Or you could look at the original ROM file in a Hex Editor and find regions with lots of 0xFF or 0x00 bytes.

Last edited by Tauwasser (2018-10-02 22:06:53)

Offline

#3 2018-10-03 22:41:29

Rangi
Member
Registered: 2016-05-09
Post 867/870

Re: Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

One advantage of assembly is that the assembler can do this work for you. The pokecrystal.link linkerscript explicitly places different SECTIONs so it can accurately reproduce a Crystal ROM, but you can just make a new ROMX SECTION without mentioning it in the linkerscript. Then the assembler will place the section anywhere it will fit. (Which does mean the section has to fit within one ROM bank, 16384 bytes, at most.)


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#4 2018-10-04 02:32:30

Lacerta
New member
Registered: 2018-10-01
Post 2/4

Re: Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

Rangi wrote:

One advantage of assembly is that the assembler can do this work for you. The pokecrystal.link linkerscript explicitly places different SECTIONs so it can accurately reproduce a Crystal ROM, but you can just make a new ROMX SECTION without mentioning it in the linkerscript. Then the assembler will place the section anywhere it will fit. (Which does mean the section has to fit within one ROM bank, 16384 bytes, at most.)

So for example, Rom Banks 121 and 122 are empty, so I can use the .link file to tell the game to place extra tileset data in those two empty banks?

Offline

#5 2018-10-04 04:19:08

Rangi
Member
Registered: 2016-05-09
Post 868/870

Re: Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

Lacerta wrote:
Rangi wrote:

One advantage of assembly is that the assembler can do this work for you. The pokecrystal.link linkerscript explicitly places different SECTIONs so it can accurately reproduce a Crystal ROM, but you can just make a new ROMX SECTION without mentioning it in the linkerscript. Then the assembler will place the section anywhere it will fit. (Which does mean the section has to fit within one ROM bank, 16384 bytes, at most.)

So for example, Rom Banks 121 and 122 are empty, so I can use the .link file to tell the game to place extra tileset data in those two empty banks?

Sure, but: "just make a new ROMX SECTION without mentioning it in the linkerscript. Then the assembler will place the section anywhere it will fit."


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#6 2018-10-16 08:25:06

Lacerta
New member
Registered: 2018-10-01
Post 3/4

Re: Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

Rangi wrote:
Lacerta wrote:
Rangi wrote:

One advantage of assembly is that the assembler can do this work for you. The pokecrystal.link linkerscript explicitly places different SECTIONs so it can accurately reproduce a Crystal ROM, but you can just make a new ROMX SECTION without mentioning it in the linkerscript. Then the assembler will place the section anywhere it will fit. (Which does mean the section has to fit within one ROM bank, 16384 bytes, at most.)

So for example, Rom Banks 121 and 122 are empty, so I can use the .link file to tell the game to place extra tileset data in those two empty banks?

Sure, but: "just make a new ROMX SECTION without mentioning it in the linkerscript. Then the assembler will place the section anywhere it will fit."


Thank you :D

Offline

  • Index
  • → Help/Question
  • → Cygwin Error: Unable to place 'Events' (ROMX SECTION) [pokecrystal]

Board footer

Powered by FluxBB