-5

At the moment all i have is some arbitrary 6502 class(no audio yet). all instructions are working properly.

the nesdev wiki is confusing me way too much at this point.

All i know about the ppu is that it has 0x3000 RAM and some internal registers.

I'm also aware the the RAM accessible by the 6502 has some registers on it's own end to control the flow of the PPU.

As far as how the actual process is done i have no idea.

So the question is, how exactly does the 6502 communicate with the PPU? I would also like to know more about mappers (but as far as understanding the ppu, not too much detail about the mappers) How does the ppu handle manners on it's own end? what about the scrolling?

I'm trying to paint a better picture on my head, but as far as the individual registers and all they're documented on the NES wiki. but i do need to understand things from a amore abstracted point of view.

5
  • 3
    There's a wealth of information online as to how the NES graphics work! The NESDev Wiki is the most comprehensive reference available, but for a more abstract high-level view you'll probably want to go through some tutorials such as the venerable Nerdy Nights.
    – NobodyNada
    Mar 2, 2021 at 2:04
  • 1
    Once you already have a basic understanding about how the NES graphics works and you're ready to try implementing either a simple game or an emulator, that's when the wiki will be most helpful. I would recommend starting with all the articles linked in the "Programmer's reference" section on this page. If there's a specific feature or detail that you're having a hard time wrapping your head around, then this site is a great place to ask (as are the NESDev forums) -- but Q&A sites are not the best fit for broad "how do I get started" questions.
    – NobodyNada
    Mar 2, 2021 at 2:08
  • 1
    Finally, one of the best ways to learn about NES graphics (in my experience) is to see how games actually make use of the 2C02 in practice. Download a debugging emulator such as Mesen or FCEUX (preferably the TASVideos fork, load up some games you like, and play through the games with the various PPU debugging features to see how each game utilizes the pattern tables, nametables, palettes, and sprites.
    – NobodyNada
    Mar 2, 2021 at 2:15
  • @NobodyNada While I do think the question is a less than good one, you're comment includes some valuable information pointers. Would you mind copying into an answer (probably before the question is closed) ?
    – Raffzahn
    Mar 2, 2021 at 2:38
  • 1
    @Raffzahn Sure, I've gone ahead and done that; thanks for the suggestion.
    – NobodyNada
    Mar 2, 2021 at 2:51

1 Answer 1

5

Q&A sites are not the best fit for broad "how do I get started questions" -- you really want a high-quality tutorial or reference guide. You mentioned you've already found the NESDev Wiki which is by far the most comprehensive and detailed reference available; but for a more abstract high-level view you'll probably want to go through some tutorials such as the venerable Nerdy Nights.

Once you already have a basic understanding about how the NES PPU works and you're ready to try implementing either a simple game or an emulator, that's when the wiki will be most helpful. I would recommend starting with all the articles linked in the "Programmer's reference" section on this page. If there's a specific feature or detail that you're having a hard time wrapping your head around, then this site is a great place to ask (as are the NESDev forums).

Finally, one of the best ways to learn about NES graphics (in my experience) is to see how games actually make use of the 2C02 in practice. Download a debugging emulator such as Mesen or FCEUX (preferably the TASVideos fork, load up some games you like, and play through the games with the various PPU debugging features to see how each game utilizes the pattern tables, nametables, palettes, and sprites.

1
  • nice suggestion! I'm looking into those guides as we speak
    – anon0
    Mar 2, 2021 at 3:20

Not the answer you're looking for? Browse other questions tagged .