Talk:NES APU

From NESdevWiki

Jump to: navigation, search

I've been holding off on adding full APU documentation because I wanted to have simplified documentation here, and leave the full accuracy to the already-available documents. But attempting to write something mid-level resulted in almost the same amount of detail.

I was hoping to have a really simple description of APU operation, but it seems a simple description would be almost useless. I guess the APU tutorials can cover the very basics, and leave the learner at a point where they can comprehend all the details.

I actually have a feeling that not too many people even try to do any APU programming. My guess is that more people need APU information as a part of writing an emulator than writing APU code. -- Blargg

I think that's because there are hardly any programming tutorials or programmer-oriented references. --Tepples 15:47, 2 March 2006 (GMT)

I'm going to do a basic copy-and-paste of my APU reference here for now, then improve on it. When I originally wrote the APU reference my main aim was to concisely capture the full detail of my hardware experiments; ease of comprehension was secondary (without meeting the primary goal, comprehension is irrelevant because one can't write an accurate emulator unless one understands all the details). I think the ability to have links to the common functional units will make it easier to grasp and improve without introducing inaccuracies.

One thing I already have in mind once it's here is to add simplified descriptions to go along with the precise description; these will serve as a temporary framework for more easily digesting the details. Another nice addition would be links to demo code which demonstrate the features.

It would be great to have Talk: pages, like Wikipedia does, so discussion can be preserved without cluttering up the pages (though questions about the pages should still be made on the pages themselves, so everyone sees them). Maybe we could have koitsu set up another discussion Wiki and set up an InterLink to it, so any page could be discussed in Talk:Page_Name. -- Blargg

It looks like Quietust beat you to it. Welcome to the new wiki. --Tepples 15:47, 2 March 2006 (GMT)

[edit] Control gates?

Anyway, about the control gate in NES APU, I haven't seen that kind of gate before. Given that the control gate as you've defined it (control ? in : 0) has about the same function as an AND gate, wouldn't it look more consistent to draw it as a D-shape? The point on the end makes it look like an OR gate or a buffer.

  control
     |    _
     `-)>| \
   in -->|  )-- out
         |_/

The )> symbol is a shrunken version of an OR gate such that if even one bit of control is 1, they're all 1. --Tepples

I wanted a simple gate that could pass a value, not just a two-state signal (otherwise, an AND gate would do the trick). I think the gate symbol is a modification of the symbol for an operational amplifier (op-amp). The block diagrams aren't meant to be very precise anyway. I am putting up the first major version of the APU documentation now, and I've made the block diagrams much smaller, so there wouldn't be room for any ASCII symbols. -- Blargg

Personal tools