Hello all! It's good to be back!! I took quite a long hiatus from my SystemVerilog-based NES-on-an-FPGA emulator development. I was extremely busy with some job-related work trying to meet our delivery date for MISSE-8 (Materials International Space Station Experiment). But that's all finished now.
Rather than iron out bugs in the CPU and PPU (which are mostly complete and functional) I'm going to start working on the APU (I need a change of scenery!). Then I want to implement at least a few of the most common mappers. But right off the bat I've already met with some conflicting APU information - which is to be expected.
Specifically, in Blargg's "NES APU Sound Hardware Reference" http://nesdev.com/apu_ref.txt it says the RNG (Random Number Generator) taps for the Noise channel are "bits 0 and 1 (mode = 0) or bits 0 and 6 (mode = 1)". And in this example I can't tell if Blargg is using Big/Little-Endian notation (i.e. 14-0 or 0-14). From the posts I've seen on NesDev I would tend to trust Blargg's documentation over anyone else's since he is extremely knowledgeable about APU stuff and is very active in the forums.
In Brad Taylor's "2A03 Technical Reference" it says the taps are bits 14 and 13 (mode = 0) and bits 8 and 2 (mode 1).
And these are just two examples of the many documents out there with APU information. Does anyone have the FINAL word on which are the _exact_ RNG tap bits used in the original 2A03? And please specify how you are numbering the bits (0-14) or (14-0).
Yes, maybe I'm being a little nit-picky on which bits to use, but as I've said in other posts I want my hardware emulator to be as absolutely accurate and true to the original implementation as possible.
Thanks in advance!
Rather than iron out bugs in the CPU and PPU (which are mostly complete and functional) I'm going to start working on the APU (I need a change of scenery!). Then I want to implement at least a few of the most common mappers. But right off the bat I've already met with some conflicting APU information - which is to be expected.
Specifically, in Blargg's "NES APU Sound Hardware Reference" http://nesdev.com/apu_ref.txt it says the RNG (Random Number Generator) taps for the Noise channel are "bits 0 and 1 (mode = 0) or bits 0 and 6 (mode = 1)". And in this example I can't tell if Blargg is using Big/Little-Endian notation (i.e. 14-0 or 0-14). From the posts I've seen on NesDev I would tend to trust Blargg's documentation over anyone else's since he is extremely knowledgeable about APU stuff and is very active in the forums.
In Brad Taylor's "2A03 Technical Reference" it says the taps are bits 14 and 13 (mode = 0) and bits 8 and 2 (mode 1).
And these are just two examples of the many documents out there with APU information. Does anyone have the FINAL word on which are the _exact_ RNG tap bits used in the original 2A03? And please specify how you are numbering the bits (0-14) or (14-0).
Yes, maybe I'm being a little nit-picky on which bits to use, but as I've said in other posts I want my hardware emulator to be as absolutely accurate and true to the original implementation as possible.
Thanks in advance!