Demultiplexing VIC-II address bus

For discussing the 65xx hardware itself or electronics projects.
Post Reply
KhanTyranitar
Posts: 81
Joined: 21 Dec 2016

Demultiplexing VIC-II address bus

Post by KhanTyranitar »

Maybe this has been addressed before, but my search efforts didn't turn up anything relevant.

The VIC-II chip uses a multiplexed arrangement to access the address bus. What is a good and simple way to demultiplex that bus? I was thinking along the lines of using some kind of IC, but I don't know what it's called. One set of address lines is timed off the CAS signal, the other off the RAS signal.

My thinking is if this chip was timed to the one signal, latches the value, and holds it, then the next address set is presented, and that gets latched and held, presenting a full demultiplexed address.

The RAM I am using does not use the RAS and CAS signals, it expects a full address to be presented at once.
I am working on building a 65816 based computer (for personal use)

Eventual goals include:
65816 CPU up to 14-16 MHz (In Turbo Mode)
up to 16MB RAM (512K on the main board)
Dual YM3438 audio
IEC serial device support
User avatar
Hobbit1972
Posts: 80
Joined: 10 Feb 2015
Location: Germany

Re: Demultiplexing VIC-II address bus

Post by Hobbit1972 »

KhanTyranitar wrote:
The VIC-II chip uses a multiplexed arrangement to access the address bus. What is a good and simple way to demultiplex that bus? I was thinking along the lines of using some kind of IC, but I don't know what it's called. One set of address lines is timed off the CAS signal, the other off the RAS signal.
'374 should do the trick. If RAS&CAS have the wrong polarity you can throw in an inverter.
KhanTyranitar
Posts: 81
Joined: 21 Dec 2016

Re: Demultiplexing VIC-II address bus

Post by KhanTyranitar »

Perfect. That's what I was looking for.
I am working on building a 65816 based computer (for personal use)

Eventual goals include:
65816 CPU up to 14-16 MHz (In Turbo Mode)
up to 16MB RAM (512K on the main board)
Dual YM3438 audio
IEC serial device support
raccoon
Posts: 21
Joined: 05 Feb 2006
Location: The Netherlands

Re: Demultiplexing VIC-II address bus

Post by raccoon »

The Commodore 64 uses a 74LS373 octal latch.
You control the latch gate with RAS/ and the 3-state outputs with AEC/
I trust my somewhat flawed English is comprehensible to all.
KhanTyranitar
Posts: 81
Joined: 21 Dec 2016

Re: Demultiplexing VIC-II address bus

Post by KhanTyranitar »

Looking at that actually makes a little more sense. I do need the address to be bi-directional. Just so long as the output holds that state till it is released.

I'll have to take a close look later. But from initial appearances that looks good.

It looks like octal latches might be what I need for other parts of my project.
I am working on building a 65816 based computer (for personal use)

Eventual goals include:
65816 CPU up to 14-16 MHz (In Turbo Mode)
up to 16MB RAM (512K on the main board)
Dual YM3438 audio
IEC serial device support
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: Demultiplexing VIC-II address bus

Post by Dr Jefyll »

FYI, 74xx573 has the same function as 74xx373 but the '573 pinout is rearranged in a way that's usually better for PCB layout. Similarly, '374 and '574 are the same except the '574 has an improved pinout.

You'll definitely need one '373/'374/'573/'574 to demultiplex the Row Address but I doubt you'll require another to demux the Column Address. You could include another anyway -- it'll do no harm -- but you don't need it.

The muxed bus presents one half of the address then the other. The first half (the row) MUST be latched because it's about to disappear. And the latch output feeds half of the RAM address inputs. But when the second half of the address (the column) appears on the muxed bus it will remain, isn't that right? (The VIC-II timing diagram will tell you.)

I'm suggesting the muxed address bus from the VIC can directly attach to the other half of the RAM address inputs. Your RAM won't be instructed to do anything (ie; no WE or OE) until after CAS has gone true -- right? By that time both halves of the address entering the RAM will be stable.

For this application I'd lean toward using a latch, BTW -- ie '373/'573. I think that's a slightly better choice than a '374/'574.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
KhanTyranitar
Posts: 81
Joined: 21 Dec 2016

Re: Demultiplexing VIC-II address bus

Post by KhanTyranitar »

Sounds right. I'd have to check the timing. It should work. I am leaning towards the latch. The other might work, but I don't think it's as good a choice. The octal latch seems to almost be purpose made for what I'm doing.
I am working on building a 65816 based computer (for personal use)

Eventual goals include:
65816 CPU up to 14-16 MHz (In Turbo Mode)
up to 16MB RAM (512K on the main board)
Dual YM3438 audio
IEC serial device support
User avatar
cbmeeks
Posts: 1254
Joined: 17 Aug 2005
Location: Soddy-Daisy, TN USA
Contact:

Re: Demultiplexing VIC-II address bus

Post by cbmeeks »

I'm curious...are you building a SBC that uses pieces from a C64?

The preservationist in me hopes you are not gutting C64's for this. :-D

Either way, sounds like an interesting project.
Cat; the other white meat.
KhanTyranitar
Posts: 81
Joined: 21 Dec 2016

Re: Demultiplexing VIC-II address bus

Post by KhanTyranitar »

Only dead C64s.
I am working on building a 65816 based computer (for personal use)

Eventual goals include:
65816 CPU up to 14-16 MHz (In Turbo Mode)
up to 16MB RAM (512K on the main board)
Dual YM3438 audio
IEC serial device support
User avatar
KC9UDX
Posts: 246
Joined: 07 Dec 2013
Location: The Kettle Moraine

Re: Demultiplexing VIC-II address bus

Post by KC9UDX »

If you run short on them let me know. I acquired a stack of them from an ebay seller when I bought something unrelated. They've already been stripped of any socketed parts. I have no real use for them but I'm not ready to pitch them yet.
Post Reply