BigDumbDinosaur wrote:
As you can see, the MPU's A8, A9 and A10 lines drive A0, A1 and A2 on the decoder. A8 is equal to 2^8, A9 is equal to 2^9 and A10 is equal to 2^10.
2^8=256, so that's where the one page increment comes from. The final hint involves the A11 line, which you don't see anywhere in the circuit...
There are only three inputs to the decoder, so you should be able figure it out from here.
Thanks, It appears that I would want to connect the lines as follows:
Code:
(BUS) -> (74AC138)
A9 -> A0
A10 -> A1
A11 -> A2
BigDumbDinosaur wrote:
BTW, any particular reason for partitioning the I/O block in two page chunks? You're not gaining anything by doing so, as the 74AC138 only has 8 outputs. I use one page increments because it opens the door to adding another decoder to fill the range $D800-$DFFF, allowing up to 16 devices, if the need arises.
I see your point. I was thinking about future expansion with the bus design. I had originally wanted to include 8 expansion points on the SBC. The first Two or so would be taken by on-board devices (6551's, RTC, MMU if I get lucky), leaving 5 or 6 for expansion. I had lofty long term goals of a video or extension ram device, and thought it would be nice to have a single page available to write to, that was separate from the first page. The first page would include registers and such.
BigDumbDinosaur wrote:
Using the WDC part is a wise choice, as it is the definitive version, plus it can be run at any speed you might care to try (up to 20 MHz at 5 volts). Be sure to pull up unused inputs to Vcc to avoid unpleasant surprises.
I'll make a note of that.