Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
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
Posted on 12-24-07 07:48 AM (rev. 2 of 12-24-07 07:51 AM) Link | Quote | ID: 72079


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
Posted on 12-24-07 10:57 AM Link | Quote | ID: 72083


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
Posted on 12-24-07 04:26 PM (rev. 2 of 12-24-07 04:43 PM) Link | Quote | ID: 72091


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
Posted on 12-25-07 03:32 PM Link | Quote | ID: 72130


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
Posted on 12-25-07 04:53 PM Link | Quote | ID: 72132


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
Posted on 12-26-07 06:50 PM Link | Quote | ID: 72176


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
Posted on 12-26-07 10:19 PM Link | Quote | ID: 72195


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
Use FCEUXD. That way you can set the scanline number correctly so the tiles will match up properly.


That's what he's using.

____________________








RetroRain
Posted on 12-31-07 10:07 AM Link | Quote | ID: 72438


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

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.023 seconds. (339KB of memory used)
MySQL - queries: 72, rows: 99/100, time: 0.017 seconds.