Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Rom Hacking: |
Acmlm's Board - I2 Archive - Rom Hacking - Need help with something | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Rockman Flurry Level: 26 Posts: 56/250 EXP: 96387 For next: 5888 Since: 03-17-04 Since last post: 18 days Last activity: 16 days |
| ||
If you put graphics in a different place in your ROM, how do you call upon them? For example, say you expanded your ROM, so you have more free space available. Now, you put graphics in that new free space. How do you use those graphics in your hack? How do you get them to show up in your pattern table? Also, are there any helpful documents related to this? |
|||
MathOnNapkins Math n' Hacks Level: 67 Posts: 767/2189 EXP: 2495887 For next: 96985 Since: 03-18-04 From: Base Tourian Since last post: 1 hour Last activity: 32 min. |
| ||
Well you should say which system you're inquiring about. | |||
Rockman Flurry Level: 26 Posts: 57/250 EXP: 96387 For next: 5888 Since: 03-17-04 Since last post: 18 days Last activity: 16 days |
| ||
The NES. | |||
Dish Spiny Level: 38 Posts: 151/596 EXP: 355646 For next: 14801 Since: 03-15-04 From: Disch Since last post: 18 days Last activity: 18 days |
| ||
Depends. If the game uses CHR-ROM swapping, you'll have to figure out where in the code the game loads the bank number to swap in those graphics, and change the value so that it swaps to a different bank. It might be as simple as: LDA #$[[[bank number here]]] JSR CHR_Swap_Routine Finding that code might be difficult... and even the code itself might be more complicated. You might try finding it by setting breakpoints on CHR swapping registers and watching for when the game swaps in the bank you want to change... then backtracking the code until you find where the change needs to be made. If the game uses CHR-RAM it's a bit more difficult... although the idea might still be the same. At any rate... I doubt the game in question uses CHR-RAM, (for reasons I won't get into ;D) |
|||
Rockman Flurry Level: 26 Posts: 58/250 EXP: 96387 For next: 5888 Since: 03-17-04 Since last post: 18 days Last activity: 16 days |
| ||
The game I'm working with is Super Mario Bros. 3. There's a lot of data on the game, but I don't know if that data will help me or not. http://board.acmlm.org/thread.php?id=2380&page=0 Other than what you told me, I have no clue what to do. |
|||
dan Snap Dragon Level: 43 Posts: 214/782 EXP: 534516 For next: 30530 Since: 03-15-04 Since last post: 20 hours Last activity: 14 hours |
| ||
You look up the registers that control the pattern table for the mapper the game is using using Firebug's document. Then, you put breakpoints on the register when you find the place in the game where you want to change the pattern table. However, as SMB3 uses MMC3, this could take a while, because to initiate a swap of the pattern table using MMC3, you have to write to $8000, then to $8001, which is the same method used to swap PRG banks out. Hope that actually made some sense. |
|||
iamhiro1112 Armos Level: 35 Posts: 100/487 EXP: 259927 For next: 20009 Since: 03-27-04 From: sd Since last post: 18 days Last activity: 7 days |
| ||
One day, in a galaxy far far away...they might make SMB3 editors that are as advanced as the lunar magic. It sure would be nice to be able to add extra enemies wihtout having to replace the ones that are already there. | |||
dan Snap Dragon Level: 43 Posts: 220/782 EXP: 534516 For next: 30530 Since: 03-15-04 Since last post: 20 hours Last activity: 14 hours |
| ||
The enemy adding might be possible (with an efficient level management system in place), but actual expansion of the PRG ROM to give you more free space to work with is probably impossible. NES hacking will always be limited by the small size of banks in NES ROMs. | |||
Jaspile Red Koopa Level: 20 Posts: 65/133 EXP: 37467 For next: 4972 Since: 03-15-04 From: Paris, France Since last post: 20 hours Last activity: 11 hours |
| ||
DahrkDaiz found all the data you need : $719 = First 2K Bank of GFX (upper left of pattern table, $0000-$07FF) $71A = Second 2K Bank of GFX (lower left of pattern table, $0800-$0FFF) $71B = First 1K bank of GFX (upper right of pattern table, $1000-$13FF) $71C = Second 1K bank of GFX (second from upper right of pattern table, $1400-$17FF) $71D = Third 1K bank of GFX (second from lower right of pattern table, $1800-$1BFF) $71E = Fourth 1K bank of GFX (lower right of pattern table, $1C00-$1FFF) $71F = Current bank @ 0xA000 $720 = Current bank @ 0xC000 Now you just have to write a value to one of these adresses to select the new graphics you want. Now to know on which gfx page are your graphics, it works as this ; each graphic page you can see on YY-CHR = 2 gfx pages for your game, 1st page from tiles 00-7F, 2nd page from tiles 80-FF ; each gfx page should be an even number, so for example, on the first Smb3's YY-CHR page (raccoon mario), we have gfx pages 0 and 2. Now try to change $719 to 0 with a cheat console, and you'll see some graphics messed up with raccoon mario tiles. Hope this has been clear enough... |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Rom Hacking - Need help with something | | | |