6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 3:39 am

All times are UTC




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Sat Apr 13, 2019 5:57 pm 
Offline

Joined: Sat Mar 11, 2017 1:56 am
Posts: 276
Location: Lynden, WA
Does any one know if a source for a detailed explanation of the Commodore 64's address decoding scheme? I'm ok if it treats the PLA as a black box, as long as it tells me what outputs a given set of inputs should produce. But it's also the glue logic I'm interested in. I've found a lot of info on the PLA, but nothing much else.

My recollection is that a single address is spread across all 8 chips or something, which is very much beyond my experience.

I'm repairing an old 64, and while I believe it's a bad PLA (sadly, my modern replacement not arriving for a week), I feel if I had a better grasp of the decoding details, I could make a more educated assessment.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 13, 2019 6:16 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
The PLA is the only chip that does any kind of address decoding. The PLA equations contain all that's needed to know what chip receives its chip-select given the current address on the bus. The VIC-II chip is responsible for DRAM timing generation. And the 6510 processor has an I/O port built into it which is used to bank ROM and I/O in and out of the memory map. And the cartridge port has two more pins which are used (GAME and EXROM) by the PLA, but are not accessible by the software running on the machine. The PLA is the only chip I'm aware of that does the actual address decoding.

All the chips receive low-order address bits in common (e.g., the CIAs get A0-A3, the ROMs get A12-A0, etc.), since the specific select bit asserted at any given time is decided (via the PLA) by the upper address bits, the CPU's R/W, LORAM, HIRAM, and CHRGEN pins, and the cartridge port's GAME and EXROM pins.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 13, 2019 11:09 pm 
Offline

Joined: Sat Mar 11, 2017 1:56 am
Posts: 276
Location: Lynden, WA
What are the two multiplexers for? there is also a 74139, and various other glue chips in the RAM portion of the board?

BTW, I got the thing going. Bad RAM


Top
 Profile  
Reply with quote  
PostPosted: Sun Apr 14, 2019 4:31 am 
Offline

Joined: Tue Jul 24, 2012 2:27 am
Posts: 679
Dan Moos wrote:
My recollection is that a single address is spread across all 8 chips or something, which is very much beyond my experience.

That's simply for models that use eight 64k x 1-bit RAM chips. Throw the address bus at all of them, and each drives 1 bit of the data bus. That really doesn't change any of the address decoding, though.

For individual mutiplexer roles, you can look at the schematics: http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/c64/index.html It seems the PLA doesn't necessarily generate chip select signals directly, but just which I/O region is active, then those chips demux the high address bits into individual chip select signals.

_________________
WFDis Interactive 6502 Disassembler
AcheronVM: A Reconfigurable 16-bit Virtual CPU for the 6502 Microprocessor


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 53 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: