| |||
Views: 88,471,968 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-23-24 02:28 PM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 2 guests |
Main - ROM Hacking - Question PPU/Name Table | New thread | New reply |
RetroRain |
| ||
Fuzz Ball Level: 66 Posts: 4/994 EXP: 2437614 Next: 24237 Since: 09-30-07 Last post: 1932 days Last view: 954 days |
Why is the tile number in the PPU viewer different from the tile number in the Name Table? I'm sorry if this is a noob question, but I'm studying the NES very in-depth, and I want to ask any questions that may arise. When I noticed this, it confused me. Can anyone clarify? EDIT - and I suppose I should ask, why does the status bar show screwed up in the name table? ____________________ My YouTube Channel |
Legato |
| ||
Goomba Level: 13 Posts: 11/23 EXP: 8735 Next: 1532 Since: 02-20-07 From: Finland Last post: 4378 days Last view: 2909 days |
Tile ID shows up correctly in the name table. You are looking at the wrong tile in the PPU viewer. Status bar shows up screwed both in the name table viewer and PPU viewer, because it is drawn in different scanline. Try adjusting "Display on scanline" to the time status bar is drawn. I guess it's drawn in somewhere around 190-200. To study NES "very in-depth" I recommend reading some documents of NES architecture. You can get those for ex. from Romhacking.net. Personally I'd recommend y0shi's quite comprehensive document. |
RetroRain |
| ||
Fuzz Ball Level: 66 Posts: 5/994 EXP: 2437614 Next: 24237 Since: 09-30-07 Last post: 1932 days Last view: 954 days |
Yeah, I see what you were saying about the tiles. I was looking at the wrong id, and both ppu and name tables show messed up. y0shi's doc is very good and has a lot of information. I have been reading a lot of other documents as well, but none of them explain anything about the graphics banks.
Using SMB3 as an example, after taking a look at a few different ROMs, I realized that there can be 8 different graphics banks. They are 1K in size. Thats a total of 64 tiles per graphics bank. The documents cover how to display sprites, set up the ppu, vblank, name tables, but I see nothing of how to setup graphics banks, or specify them. I read up on the Attribute tables. I am left to wonder if those have anything to do with it, but I don't think they do, unless I'm wrong. Developing a game from scratch, how would one specify which graphics bank to use? Or, do you know a document that does cover that? Thanks. ____________________ My YouTube Channel |
JaSp |
| ||
Shyguy Level: 24 Posts: 15/95 EXP: 73271 Next: 4854 Since: 03-02-07 From: Paris, France Last post: 4347 days Last view: 4142 days |
Actually, the tile you're highlighting in the pic comes from the box where the ending star/mushroom/flower sprite is located, it has nothing to do with the status bar. The game loads another CHR bank for the status bar scanlines to be able to load the proper tiles; I believe this has to do with IRQ but I don't know the in-depth details. This changements doesn't show on the name table because I think it is only able to load one CHR bank. By the way, here's a little tip to view the status bar bank in these window : make sure PPU and Name table viewers are closed, hit F2 to pause the emulation; then open the viewers; the current CHR bank loaded should be the status bar one, same for name table (and now, the level is screwed up); if you unpause the game, it should return to the level's CHR bank.
As for the banks division, it has to do with the mapper used. Check Firebug's mappers document for more informations. The CHR bank swapping is done via writes to a certain register ($8000 for set-up and $8001 for bank number in the case of MMC3). SMB3 uses several addresses for each bank as buffers, then all of the game's routines write to these buffers (for example $71A is changed frequently to create the animated tiles effect). |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 85/417 EXP: 674298 Next: 37476 Since: 02-22-07 Last post: 3483 days Last view: 3404 days |
Also, each value (0-255) represents a 1K division in CHR-ROM. For SMB3, you can only go up to $7F, anything higher just wraps around. Remember though, on the MMC3, only one side of the pattern table can be address by 1K divisions, the other side has to use 2K, thus, only even numbers are valid for 2K divisions. |
Dwedit |
| ||
Red Paratroopa Level: 30 Posts: 125/162 EXP: 163103 Next: 2766 Since: 03-07-07 From: Chicago Last post: 3515 days Last view: 1610 days |
Use FCEUXD. That way you can set the scanline number correctly so the tiles will match up properly. ____________________ |
CKY-9K |
| ||
Pokey Level: 57 Posts: 273/693 EXP: 1430137 Next: 55791 Since: 06-27-07 From: cKy Last post: 207 days Last view: 115 days |
Posted by Dwedit That's what he's using. ____________________ |
RetroRain |
| ||
Fuzz Ball Level: 66 Posts: 6/994 EXP: 2437614 Next: 24237 Since: 09-30-07 Last post: 1932 days Last view: 954 days |
Thanks for the info. ____________________ My YouTube Channel |
Main - ROM Hacking - Question PPU/Name Table | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 72, rows: 99/100, time: 0.017 seconds. |