![rom hacking tools rom hacking tools](https://www.romhacking.net/utilities/screenshots/1077screenshot1.png)
Figure 2 – Sprite Editor Start Screen Figure 3 – Sprite Editor in use The main scoring point here is the direct editing of graphics, which does not fit my use case. The program lists all sprites in the rom, but barely offers utilities for navigation. The first tool I tried for determining the graphics hex codes is a tool simply named ‚Sprite Editor‘. A quick overview of the three systems is shown in the table below. The system is commonly used in the IT space, when binary (which is based on 2 numbers) becomes too hard to maintain. Just in case, a quick explanation of the hexadecimal system: in decimal, we have 10 numbers while in hexadecimal, we have 16. The main reason for that is again to save memory, since 2 hex symbols result in 1 byte of used memory. In this example table, which contains text information of the game Wizardry, we can see an example of these decoding problems in the very first line on the right side.Īlso, obviously, the whole table contains only hexadecimal numbers.
![rom hacking tools rom hacking tools](https://www.hackromtools.info/wp-content/uploads/2019/12/DSTextEditor.png)
In that way, everything has an address and can be found / pointed at / referenced easily.Īs shown in Figure 1, pointer tables can get very large and might look confusing at first glance – especially because the symbols on the right side often run into decoding problems. To keep everything clean and small-sized, Nintendo used pointer tables in their games, which followed the main idea that any kind of data is only stored once. Old consoles had great limitations in terms of memory. Simply put, a pointer does not execute code, it redirects the code’s flow. By changing the value of a pointer, you can change where the ROM looks for information, which can be very useful in hacking and translating games.“ – It is sort of like the GoTo command in Visual Basic, except not as easy as that. „A pointer is a string of hexadecimal numbers (usually 2 bytes) that tells the ROM to jump to a different place in the code. In this blog, I will go over all important information on pointers, graphics editing methods and its respective tools. To make the spritelist I need the pointers of all important sprites – and to do so, I am using tools made and used by ROM hackers. In the game’s files, a sprite is referenced by a so-called pointer. For the spritelist script, which metaphorically represents the eyes of the AI, requires precise information about all sprites in the game.