Where to go now?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Where to go now?
by on (#7912)
I'm making my own NES emulator, and all the CPU emulation is working. But now I need to start the PPU emulation. But the question is, how can I start it?

I've downloaded all the DOCs existing in this site, but i don't know where ti start reading. Can anyone help me to walk this path?

Please I need to know what I must learn from know. All I found in the boards are questions about specific topics in the PPU emulation.

Thank you guys...

by on (#7914)
First of all how well programmed is your 6502 emulator? Try to make sure that it is 100% before starting to work on the PPU otherwise bugs make prevent your PPU from working and you might find it hard to track them down. Secondly, read through all of the PPU docs (espcially Brad Taylor's) and make sure that you understand how the PPU works.

http://nocash.emubase.de/everynes.htm

Is probably all you'll need.

by on (#7915)
WedNESday wrote:
http://nocash.emubase.de/everynes.htm

Is probably all you'll need.


You should be aware that the above document is NOT fully up to date with current findings, and it contains several errors (the most obvious ones I've caught deal with PAL emulation, non-existant 1024KB MMC1 carts [DW4], and the MMC2 not having auto-switching CHR banks at 0000-0FFF). It's best to not rely on a single source of information - the NESdev wiki (which should be linked from somewhere on this site) is a good place to double-check.

by on (#7934)
Quietust wrote:
WedNESday wrote:
http://nocash.emubase.de/everynes.htm

Is probably all you'll need.


You should be aware that the above document is NOT fully up to date with current findings, and it contains several errors (the most obvious ones I've caught deal with PAL emulation, non-existant 1024KB MMC1 carts [DW4], and the MMC2 not having auto-switching CHR banks at 0000-0FFF). It's best to not rely on a single source of information - the NESdev wiki (which should be linked from somewhere on this site) is a good place to double-check.


I couldn't agree with you more. Always try to get something confirmed from two independent resources. My apoligies.
Re: Where to go now?
by on (#58004)
JuniorZ wrote:
I'm making my own NES emulator, and all the CPU emulation is working. But now I need to start the PPU emulation. But the question is, how can I start it?

I've downloaded all the DOCs existing in this site, but i don't know where ti start reading. Can anyone help me to walk this path?

Please I need to know what I must learn from know. All I found in the boards are questions about specific topics in the PPU emulation.

Thank you guys...

i've written almost the 50% of the 6502 CPU core. now i'm trying to implement the PPU (wich is quite confusing and not-an-easy task...). all the opcodes i've currently coded for the CPU core program are the opcodes wich uses a simple demo (a VERY simple demo...). should i finish the CPU core program before start implementing the PPU? or is it good to start implementing the PPU trying to run that demo wich i currently have all the opcodes it uses covered?

by on (#58005)
I believe most people get the CPU working 100% before moving on to the PPU, since there are programs to test the CPU that don't require the PPU.

If you work on both at the same time it might be harder to catch bugs, because you won't know which of them (CPU or PPU) is responsible for the bugs.

by on (#58037)
Definitely read and understand Brad Taylor's doc (and open it in an editor that can properly display the table in there).

I've found qeed's doc (http://spark.ofloo.net/~qeed/nes_emu.txt) to be pretty good as well. There are some bugs in the ppu code, so don't just cut and paste, but I think it does a good job of explaining/demonstrating how to put together a cycle-based ppu emulator. The site doesn't seem to be up right now, so you can download it here.

by on (#58038)
- Four years old and someone revives the topic with another question??? Why not a new topic, for good?

by on (#58039)
didn't see the original post date :)

by on (#58042)
I kinda got yelled at the last time I brought up the revival of an ancient thread, so this time I decided to stay quiet.