Are there any glue logic families that were designed to be used with the NMOS CPUs of the late 70s and early 80s, like the 6502? Most of the retro computers seem to be built with TTL 74LS logic, even when the CPUs migrated to CMOS later in early/mid 80s (65C02, etc.).
Tangentially I'm trying to help someone interface a modern LVC part with a 65C02, and it is not working out. Mixing logic families seems to be hit and miss, and guessing is getting tiring. Working out what will and will not talk to each other is an exercise in frustration in my experience.
When these CPUs were designed, I have to believe there were specific logic families they were intended to be used with?
Thanks!
Ideal glue logic family for 6502 interfacing?
- BigDumbDinosaur
- Posts: 9428
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Ideal glue logic family for 6502 interfacing?
matthew180 wrote:
Tangentially I'm trying to help someone interface a modern LVC part with a 65C02, and it is not working out.
What do you mean by “it is not working out”? Who is the manufacturer of the 65C02? Are you sure it actually is a 65C02?
All of the common LVC-family gates produce CMOS-level outputs. There should be no compatibility issues with the 65C02. As for the NMOS 6502, it operates at TTL levels, which is why it was extensively used with 74LS logic. A CMOS device can successfully drive an NMOS 6502, but not the other way around, unless the CMOS device is of the 74xCT family.
There is plenty of info on line about logic family compatibility. A quick session in your favorite search engine should show the way.
x86? We ain't got no x86. We don't NEED no stinking x86!
-
matthew180
- Posts: 20
- Joined: 18 Sep 2015
Re: Ideal glue logic family for 6502 interfacing?
BigDumbDinosaur wrote:
What do you mean by “it is not working out”? Who is the manufacturer of the 65C02? Are you sure it actually is a 65C02?
That is all I know currently. However, since posting I may have figured out the problem. The 6502 has a very long (~300ns) delay from the time the R/!W goes low (for a write op) to when there is valid data on the data bus. That coupled with some assumptions I made, and I think this is causing the problem.
BigDumbDinosaur wrote:
There is plenty of info on line about logic family compatibility. A quick session in your favorite search engine should show the way.
BigDumbDinosaur wrote:
... As for the NMOS 6502, it operates at TTL levels, ...
Interestingly I have a lot of 80s era books for building your own computer, but they are all around the Z80, 8080, 8085, and 6809. Nothing in my library for the 6502, so I need to remedy that.
Re: Ideal glue logic family for 6502 interfacing?
Usually you validate the RWB output with the clock (by ANDing them together) since data is only valid while the clock is high but RWB can be valid way before that.
I doubt it's a fixed time of 300ns as well since that wouldn't make sense when running at +16MHz. So it depends on your clock speed.
Check the 6502 primer for more detail.
https://wilsonminesco.com/6502primer/
I doubt it's a fixed time of 300ns as well since that wouldn't make sense when running at +16MHz. So it depends on your clock speed.
Check the 6502 primer for more detail.
https://wilsonminesco.com/6502primer/
Re: Ideal glue logic family for 6502 interfacing?
matthew180 wrote:
I have been thrashing around the 'Net for a while, it is a hard topic to search, and I have yet to find a definitive answer (at least one that gives me confidence that I'm making the right choice, etc.)
https://wilsonminesco.com/6502primer/LogicFamilies.html (by our own Garth Wilson)
https://www.retrobrewcomputers.org/doku ... bstitution
I personally am fond of AHC. It's generally a good middle ground, being nearly as fast as AC, while nearly as forgiving as HC, which is important for me because I like to prototype things on breadboards before making more permanent versions. The glue logic for my "Peanutbutter-1" wire-wrapped SBC is an HC688 and an AHC139, and it runs at at least 12.6MHz.
"The key is not to let the hardware sense any fear." - Radical Brad
-
matthew180
- Posts: 20
- Joined: 18 Sep 2015
Re: Ideal glue logic family for 6502 interfacing?
Proxy wrote:
Usually you validate the RWB output with the clock (by ANDing them together) since data is only valid while the clock is high but RWB can be valid way before that.
I doubt it's a fixed time of 300ns as well since that wouldn't make sense when running at +16MHz. So it depends on your clock speed.
Check the 6502 primer for more detail.
https://wilsonminesco.com/6502primer/
I doubt it's a fixed time of 300ns as well since that wouldn't make sense when running at +16MHz. So it depends on your clock speed.
Check the 6502 primer for more detail.
https://wilsonminesco.com/6502primer/
@Paganini
Cool, good to know about AHC being a good middle ground. Thanks for the additional links.
Re: Ideal glue logic family for 6502 interfacing?
matthew180 wrote:
@Paganini
Cool, good to know about AHC being a good middle ground. Thanks for the additional links.
Cool, good to know about AHC being a good middle ground. Thanks for the additional links.
This is a vintage article talking about vintage devices, but I think it's still really good. The concepts are still accurate; you just have to consider that with a 14MHz WDC65c02 tADS is 30ns and not 300ns!
"The key is not to let the hardware sense any fear." - Radical Brad
Re: Ideal glue logic family for 6502 interfacing?
matthew180 wrote:
The 6502 has a very long (~300ns) delay from the time the R/!W goes low (for a write op) to when there is valid data on the data bus.
Echoing what Proxy said, the /WR signal (sent to RAM, for example) shouldn't go be allowed to go active (ie, low) until Phi2 rises.
-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: Ideal glue logic family for 6502 interfacing?
Also, data should not be taken as valid even before the phi2 transition from high to low. Typically you take the data into a register when phi2 goes down. RAM typically has this property i.e. taking in the data at the end of the select
Pls look at the timing diagrams in the 6502 (and other related ICs) datasheet.
Pls look at the timing diagrams in the 6502 (and other related ICs) datasheet.
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/