ref: a02da98cecc51f4eaa525932300b96eea19cb83c
parent: dba7f59d83c0850c86dd3009d63b2bdeeb0fed68
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Sun Jul 15 15:52:11 EDT 2018
Update FAQ
--- a/FAQ.md
+++ b/FAQ.md
@@ -4,9 +4,12 @@
## Questions
- [What is pokecrystal11.gbc?](#what-is-pokecrystal11gbc)
-- [Can't build ROM; "ERROR: `UNION` already defined"](#cant-build-rom-error-union-already-defined)
-- [Can't build ROM; "Segmentation fault" from `rgbgfx`](#cant-build-rom-segmentation-fault-from-rgbgfx)
-- [Can't build ROM; "Section is too big" or "Unable to place section in bank"](#cant-build-rom-section-is-too-big-or-unable-to-place-section-in-bank)
+- [I can't build the ROM, `make` just prints an error!](#I-cant-build-the-rom-make-just-prints-an-error)
+ - [`gcc`: command not found](#gcc-command-not-found)
+ - ["ERROR: `UNION` already defined"](#error-union-already-defined)
+ - ["Segmentation fault" from `rgbgfx`](#segmentation-fault-from-rgbgfx)
+ - ["Section is too big" or "Unable to place section in bank"](#section-is-too-big-or-unable-to-place-section-in-bank)
+ - ["Invalid file or object file version"](#invalid-file-or-object-file-version)
- [How do I edit maps?](#how-do-i-edit-maps)
- [How do I write new features?](#how-do-i-write-new-features)
- [I need more help!](#i-need-more-help)
@@ -17,31 +20,41 @@
Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `_CRYSTAL11` so the assembly builds the changed version.
-## Can't build ROM; "ERROR: `UNION` already defined"
+## I can't build the ROM, `make` just prints an error!
-Download [**rgbds 0.3.3**][rgbds]. Earlier versions will not work.
+Reread [INSTALL.md](INSTALL.md) carefully, and make sure you're following all its steps.
+### `gcc`: command not found
-## Can't build ROM; "Segmentation fault" from `rgbgfx`
+You need to install `gcc`. If you're using Cygwin, re-run its setup, and at "Select Packages", choose to install `gcc-core`.
-If you are using 64-bit Windows, download [**64-bit Cygwin**][cygwin] and [**64-bit rgbds**][rgbds].
+### "ERROR: `UNION` already defined"
+Download [the latest **rgbds** release][rgbds]. Versions earlier than 0.3.3 will not work.
-## Can't build ROM; "Section is too big" or "Unable to place section in bank"
+### "Segmentation fault" from `rgbgfx`
+If you are using 64-bit Windows, download [**64-bit Cygwin**][cygwin] and [**64-bit rgbds**][rgbds].
+
+### "Section is too big" or "Unable to place section in bank"
+
If you have not changed any of the asm, make sure you have the latest version of pokecrystal and the correct version of rgbds (see [INSTALL.md](INSTALL.md)).
If you added or changed any code, it has to fit in the **memory banks**. The 2MB ROM is divided into 128 banks of 4KB each, numbered $00 to $7F. The linkerscript **pokecrystal.link** lists which `SECTION`s go in which banks. Try moving some code into a new section.
+### "Invalid file or object file version"
+Run `make clean` to remove all the old `o` files, then re-run `make`.
+
+
## How do I edit maps?
-For `asm` scripts, read [docs/map_event_scripts.md](docs/map_event_scripts.md). For `blk` layouts, try [crowdmap][crowdmap] or [Polished Map][polished-map].
+For `asm` scripts, read [docs/map_event_scripts.md](docs/map_event_scripts.md). For `blk` layouts, try [Polished Map][polished-map] or [crowdmap][crowdmap].
## How do I write new features?
-There are a number of special-purpose scripting languages, as described in [docs](docs/). For more general features, you'll need to code directly in assembly language. See [docs/assembly_programming.md](docs/assembly_programming.md).
+There are a number of special-purpose scripting languages, as described in [docs](docs/). For more general features, you'll need to code directly in assembly language. See [docs/assembly_programming.md](docs/assembly_programming.md). Some of the [tutorials][tutorials] may also be helpful.
## I need more help!
@@ -50,5 +63,6 @@
[cygwin]: https://cygwin.com/install.html
[rgbds]: https://github.com/rednex/rgbds/releases
-[crowdmap]: https://github.com/yenatch/crowdmap/
[polished-map]: https://github.com/Rangi42/polished-map
+[crowdmap]: https://github.com/yenatch/crowdmap/
+[tutorials]: https://github.com/pret/pokecrystal/wiki/Tutorials