DJTiki
top 3 most uninteresting microcelebrities
- 1,257
- Posts
- 11
- Years
- Florida, USA
- Seen Jun 24, 2024
I've been looking around the forums, and noticed that some beginners, may not have a clear understanding, on the basic terms, often thrown around between hackers. So to just give a friendly reminder, I'll go over the general terms used in ROM Hacking. Mainly because I know that it can get quite annoying answering questions "What is [blank]?" and "Where can I find more on [blank]?" So I'll just lift a large weight, off of it.
So let's be clear here...Most of you, already know these terms. Not alphabetical as of yet. Thanks to Lady Prixy for grabbing the defintion for RAM.
Basic Hacking Programming Terms
RAM - Random Access Memory. This is what the computer uses to store information that needs to be accessed quickly. When you are playing a Pokemon game, the map and sprites on screen are stored in the RAM so that they can be shown without having to reload them from the file system each time the screen refreshes (30 frames per second = 30 refreshes per second).
Hex- Short for hexadeciamal. It has a numerical notation of 16, rather than 10. This numerical notation ranges from 0-F. More on Hex can be found here.
Pointer-These are the offsets written backwards. By backwards, the bytes are backwards, not exactly the offset itself. So 0x9852D4 = D4 52 98 08, with the "x" becoming 8. Pointers point to specific offsets.
Repoint- This is when you move the bytes of a certain table to a new offset. This means that all the pointers must be changed to accomadate the new offset. So if we repointed to 0x81072D from 0x9852D4, all the D4 52 98 08 must change into 2D 07 81 08.
MB- Short for Megabytes. Unit of information equal to one million bytes. GBA roms, more specifically Pokémon, are 16MB, when expanded, they equal 32MB.
Free Space- The unused space in the ROM. Anything new you want to add, must be added using Free Space. You could change things already there, but it could potentially corrupt your ROM, so we just use Free Space when needed. Free Space is FF. Here is where you can find Free Space, in your ROM.
ASM- Short for Assembly. A low-level programming language that operates directly on the cpu. This is the blood and soul of your ROM hacks. Don't treat it like black magic. More on ASM can be found here.
Routine- This is used in ASM. It contains, the neccessary code, to produce something(most likely a feature), that could be used in your ROM Hack. Imagine it, as scripting, you take the right components, and write it out, to produce something. But here, we aren't making events in a game, but rather, getting hooks to the engine, to add features, not found in the original games. Want to insert a routine? Look here.
Compile- To produce something, by assembling information together.
Open Source- Software, whose orginal source code, is made public, for anyone to change and modify.
ROM's, Bases, and Emulators
ROM- Read-only memory. A storage medium used by computers and other electronic devices. To you, this is our medium, in which we make our games. It's modified using a variety of tools, found here on the Pokécommunity, or on various websites.
Rombase- This is a base, that hackers use to start development on a ROM Hack. Distributed using patches. For you, rombases are extremely helpful, to make your ROM Hack, as up to date, with current Pokémon functions, as possible.
GBA- Gameboy Advanced. The system that ran Fire Red/Leaf Green/Ruby/Sapphire/Emerald. The third generation of games.
GBC- Gameboy Color. The system that ran Gold/Silver/Crystal. Second generation of games. But mainly Crystal.
GB- Gameboy. It is the system that ran Red/Blue/Yellow. The first generation of games.
VBA- VisualBoy Advanced. An emulator you are probably using.
VBA-M- VisualBoy Advnaced Merged. The continuation of the dead VBA project, offering new features.
JPAN's Engine(or something)- An amazing rombase which hosts alot of features that made Fire Red a large forerunner in the rombase race. Found
DSLN Engine- Like JPAN's, but with Emerald. Found
Basics of Hacking Terms
Mapping/Maps- Everything, in terms of, the design aspects of the overworld. All the areas of the game, to put it blunt. More on Mapping can be found here.
Scripting/Scripts- All the basic functions for events, in the game. This ranges from dialouge to the Champion Battle. More on Scripting can be found here. If you don't use XSE, then look here instead.
Sprite- An computer graphic of something, in the overworld. This can be a character, a Pokémon...whatever.
Tiles- A shape or image, used to make up the game's overworld. This is what creates Maps, and makes up a large portion, if the game's graphical appeal. More on tiles and insertion can be found here.
Pallete- The colors that are used for a visual graphic. Depending on your ROM, there may be certain limitations, to how many colors are allowed, to be used on a pallete.
Miscellaneous Terms
Patch- This is a file that has information, which can be used to add more features to a ROM or play a new hack. Here, on Pokécommunity, new hacks and rombases are distributed through, and only through patches. If you need to know, how to patch a ROM, look here(alot of people get annoyed, if you ask them, how to, so just do it).
Tool Acroynms
XSE- Xtreme Script Editor. Find it on the internet somewhere because the links for it has been removed on HackMew's Tool Thread.
MEH- Map Editor of Happiness. Found here.
A-Map- Advanced Map. Found here.
A-Text- Advanced Text. Found
A-Trainer- Advanced Trainer. Found here
A-Series- Advanced Series. Found here
DNS- Day/Night System. Found here
GH3S- Gen 3 Hacking Suite. Found here.
G3T- Gen 3 Tools. Found here.
PGE- Pokémon Game Editor. Not giving away the link. Look for it and maybe you might find something.
NTME- Nameless Tilemap Editor. Found here.
NSE- Nameless Sprite Editor. Found here.
FSF- Free Space Finder. Found here.
THA- TileHelperAdvanced.
YAPE- Yet Another Pokémon Editor.
______________________________________
Will add more, as someone tells me more terms, I forgot :). Hope this helps anyone.
So let's be clear here...Most of you, already know these terms. Not alphabetical as of yet. Thanks to Lady Prixy for grabbing the defintion for RAM.
A General ROM Hacker's Dictionary and Lingo
Basic Hacking Programming Terms
RAM - Random Access Memory. This is what the computer uses to store information that needs to be accessed quickly. When you are playing a Pokemon game, the map and sprites on screen are stored in the RAM so that they can be shown without having to reload them from the file system each time the screen refreshes (30 frames per second = 30 refreshes per second).
Hex- Short for hexadeciamal. It has a numerical notation of 16, rather than 10. This numerical notation ranges from 0-F. More on Hex can be found here.
Pointer-These are the offsets written backwards. By backwards, the bytes are backwards, not exactly the offset itself. So 0x9852D4 = D4 52 98 08, with the "x" becoming 8. Pointers point to specific offsets.
Repoint- This is when you move the bytes of a certain table to a new offset. This means that all the pointers must be changed to accomadate the new offset. So if we repointed to 0x81072D from 0x9852D4, all the D4 52 98 08 must change into 2D 07 81 08.
MB- Short for Megabytes. Unit of information equal to one million bytes. GBA roms, more specifically Pokémon, are 16MB, when expanded, they equal 32MB.
Free Space- The unused space in the ROM. Anything new you want to add, must be added using Free Space. You could change things already there, but it could potentially corrupt your ROM, so we just use Free Space when needed. Free Space is FF. Here is where you can find Free Space, in your ROM.
ASM- Short for Assembly. A low-level programming language that operates directly on the cpu. This is the blood and soul of your ROM hacks. Don't treat it like black magic. More on ASM can be found here.
Routine- This is used in ASM. It contains, the neccessary code, to produce something(most likely a feature), that could be used in your ROM Hack. Imagine it, as scripting, you take the right components, and write it out, to produce something. But here, we aren't making events in a game, but rather, getting hooks to the engine, to add features, not found in the original games. Want to insert a routine? Look here.
Compile- To produce something, by assembling information together.
Open Source- Software, whose orginal source code, is made public, for anyone to change and modify.
ROM's, Bases, and Emulators
ROM- Read-only memory. A storage medium used by computers and other electronic devices. To you, this is our medium, in which we make our games. It's modified using a variety of tools, found here on the Pokécommunity, or on various websites.
Rombase- This is a base, that hackers use to start development on a ROM Hack. Distributed using patches. For you, rombases are extremely helpful, to make your ROM Hack, as up to date, with current Pokémon functions, as possible.
GBA- Gameboy Advanced. The system that ran Fire Red/Leaf Green/Ruby/Sapphire/Emerald. The third generation of games.
GBC- Gameboy Color. The system that ran Gold/Silver/Crystal. Second generation of games. But mainly Crystal.
GB- Gameboy. It is the system that ran Red/Blue/Yellow. The first generation of games.
VBA- VisualBoy Advanced. An emulator you are probably using.
VBA-M- VisualBoy Advnaced Merged. The continuation of the dead VBA project, offering new features.
JPAN's Engine(or something)- An amazing rombase which hosts alot of features that made Fire Red a large forerunner in the rombase race. Found
DSLN Engine- Like JPAN's, but with Emerald. Found
Basics of Hacking Terms
Mapping/Maps- Everything, in terms of, the design aspects of the overworld. All the areas of the game, to put it blunt. More on Mapping can be found here.
Scripting/Scripts- All the basic functions for events, in the game. This ranges from dialouge to the Champion Battle. More on Scripting can be found here. If you don't use XSE, then look here instead.
Sprite- An computer graphic of something, in the overworld. This can be a character, a Pokémon...whatever.
Tiles- A shape or image, used to make up the game's overworld. This is what creates Maps, and makes up a large portion, if the game's graphical appeal. More on tiles and insertion can be found here.
Pallete- The colors that are used for a visual graphic. Depending on your ROM, there may be certain limitations, to how many colors are allowed, to be used on a pallete.
Miscellaneous Terms
Patch- This is a file that has information, which can be used to add more features to a ROM or play a new hack. Here, on Pokécommunity, new hacks and rombases are distributed through, and only through patches. If you need to know, how to patch a ROM, look here(alot of people get annoyed, if you ask them, how to, so just do it).
Tool Acroynms
XSE- Xtreme Script Editor. Find it on the internet somewhere because the links for it has been removed on HackMew's Tool Thread.
MEH- Map Editor of Happiness. Found here.
A-Map- Advanced Map. Found here.
A-Text- Advanced Text. Found
A-Trainer- Advanced Trainer. Found here
A-Series- Advanced Series. Found here
DNS- Day/Night System. Found here
GH3S- Gen 3 Hacking Suite. Found here.
G3T- Gen 3 Tools. Found here.
PGE- Pokémon Game Editor. Not giving away the link. Look for it and maybe you might find something.
NTME- Nameless Tilemap Editor. Found here.
NSE- Nameless Sprite Editor. Found here.
FSF- Free Space Finder. Found here.
THA- TileHelperAdvanced.
YAPE- Yet Another Pokémon Editor.
______________________________________
Will add more, as someone tells me more terms, I forgot :). Hope this helps anyone.
Last edited: