This can be done using the RAM Search tool built into the emulator (Tools menu).
#Road fighter famicom code
Now we need to find the cell in RAM that is responsible for the Y coordinate of the car and the cell with the key code pressed. Next, insert (but do not overwrite!) Into the file an empty block of 16KB (4000h) in size immediately after the header. We set the number of PRG banks equal to two. Moreover, the data is mirrored in the range of $ 8000- $ C000 (this can be easily verified if you put the brickpoint on this range, it will never work). We go to the address $ 8000, and then to the address $ C000 and see that they contain the same data. This is necessary in order to add our code.įirst, open the built-in Hex Editor from the Debug menu. As you can see, ROM can be easily expanded by adding another 16KB memory bank. Road Fighter rum has a capacity of 24K, of which 16K is allocated to PRG-ROM (code and data) and 8K to CHR-ROM (graphics), and also uses a zero mapper (i.e. So, start the FCEUX emulator, load our patient and go to the Help-> Message Log menu. Technically, the mappers are microchips on the cartridge board, and are not reflected in the ROM file itself. The mappers operate with 16 KB memory blocks (“banks”). That is, temporarily replace one section of code with another, thereby loading the necessary data. Mappers have the ability to switch sections of code in the address space of the processor. If the game code does not fit into the specified volume, a special mechanism is used - “mappers”. In this case, the first 7FFh bytes (2KB) are allocated to RAM, then some specific things go, and the range of 8000h-FFFFh (32KB) is allocated to the code itself.
![road fighter famicom road fighter famicom](https://i.ebayimg.com/images/g/TdwAAOSwn9Jfqwt6/s-l400.jpg)
![road fighter famicom road fighter famicom](https://i.ytimg.com/vi/GbxCpW-Gv7o/hqdefault.jpg)
The 6502 processor is 8-bit, but has a 16-bit address bus and can work with the address range 0h-FFFFh. The next paragraph of the text can be skipped. The documentation for both the processor and the set-top box is enough, so I will briefly touch on only the main points. When the tools and the preparation itself were stocked up, it would not hurt to understand some of the intricacies of the architecture of the NES console. The rum file and the compiler can be taken from the link at the end of the article.
![road fighter famicom road fighter famicom](http://photos.1highscore.com/Road-Fighter-Level-1-NES-Famicom-s71844-20180404222552.jpg)
Compiler for the MSC6502 processor (optional, but desirable).As an emulator, I recommend the latest version of FCEUX-2 ( ) NES emulator with integrated debugger (or heavy artillery in the form of IDA to taste).To start, I will introduce the ability to move our racing car forward and backward. Gameplayno is justified, but I want something more.
![road fighter famicom road fighter famicom](https://www.retrogamecases.com/wp-content/uploads/nes_roadfighter.jpg)
In this game, it is possible to move the car only left or right on the screen. This is a fairly simple race, takes up little space and is ideal for experimentation. The victim will be a small toy frequented by the Chinese cartridges of multigames 9999999 in 1, the game Road Fighter. Fundamentally, ROM hacking is almost no different from the usual “cracking” of programs or writing trainers for games. Hacking (or rather modding, but the term "ROM hacking" is more common in the emuscence) of the game will consist in partial disassembling of the game code and writing its own small code. I want to talk about the principle of hacking toys for the Dendy game console (it's the Nintendo Entertainment System, it's Famicom, it's 100,500 Chinese clones, hereinafter simply NES).