6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Wed May 15, 2024 2:10 pm

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Wed Nov 17, 2021 5:43 am 
Offline

Joined: Wed Nov 17, 2021 5:12 am
Posts: 4
Hi all,

I'm thinking about my first 6502 project. I would like to use programmable logic for address decoding so I can change the memory map on the fly, and also make the hardware more simple. But I'm going round in circles trying to find the best solution.

I've been considering GALs, such as a 22V10 or CPLDs, such as an ATF150. But I have also read comments asking why someone would want to use ancient technology, and why not use something modern that is JTAG programmable. But I don't know what they are suggesting, other than FPGAs. GALs and CPLDs seem such a good idea; something you can program once (and reprogram) and is non volatile. What is the modern alternative? One suggestion I saw was a Cypress PSoC, but using an device with an Arm Cortex processor to replace 3 or 4 TTL chips seems like insanity to me!

So I guess what I am asking is what is the best solution for address decoding on a small 8-bit 5V design, with a low-cost programmer and simple toolchain? I would prefer the tools to run on Linux. Buying another computer to run Windows is going to cost more than a programmer.


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 17, 2021 12:55 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1076
Location: Albuquerque NM USA
Altera USB Blaster programmer is availabel on eBay for around $5. The Quartus development tool is free download and run on Linux. The big hurdle is getting working used EPM7032S or EPM7064S (PLCC44 package). I was successful get several batches of CPLD on eBay, but that source has dried up. UTSource.net seems only place I can get them reliably. Used EPM7032S there is around $1.50. CPLD is so useful that once I've identified a reliable source I'll buy 50 or even 100 of them and be good for a long time. Just-in-time is not a viable approach with retro computing, especially now.
Bill


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 17, 2021 4:37 pm 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
inshallah573 wrote:
But I have also read comments asking why someone would want to use ancient technology, and why not use something modern that is JTAG programmable.
[...] What is the modern alternative?

CPLDs are also programmed via JTAG, plus both the ATF22V10 and ATF150x series are still being produced to this day so i wouldn't call them "ancient"... as in you don't HAVE to buy old-stock part.
buying them brand new can be more expensive, but that's ultimately your choice.

inshallah573 wrote:
So I guess what I am asking is what is the best solution for address decoding on a small 8-bit 5V design, with a low-cost programmer and simple toolchain? I would prefer the tools to run on Linux. Buying another computer to run Windows is going to cost more than a programmer.

if you have a very simply memory map and almost no IO Devices then you could probably get away with just using 1 or 2 22V10's. (which can be programmed with a TL866 II Plus, which is a Programmer i highly recommend if you don't already have an alternative as it supports a crap-ton of Chips, from Microcontrollers, to ROM, FLASH, PLD/GALs, it can even test 74xx Logic ICs)
Though if you plan on making more complicated systems in the future then getting into CPLDs now seems like a good idea.
for the Programmer i personally use the ATDH1150USB-K, and while it works pretty good it's unnecessarily expensive so also recommend going with the Altera USB Blaster.

also the choice of what specific Chip to use is almost always about the amount of pins you need, rather than the Macrocells of the PLD/CPLD.
for example my simple SBC uses an ATF1504, and while the circuit only takes up around 10 out of 64 Macrocells i use almost all of the pins (34/36).


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 17, 2021 4:49 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8183
Location: Midwestern USA
inshallah573 wrote:
I've been considering GALs, such as a 22V10 or CPLDs, such as an ATF150. But I have also read comments asking why someone would want to use ancient technology, and why not use something modern that is JTAG programmable.

The Microchip (formerly Atmel) ATF15xx series is JTAG-programmable and readily available from distribution, thus avoiding the risks inherent in buying from eBay or Chinese sources. The ATF1508AS has 128 macrocells. The smaller ATF1504AS has 64. Pick yer poison!

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 17, 2021 4:53 pm 
Offline

Joined: Fri Apr 06, 2018 4:20 pm
Posts: 94
Unicorn Electronics also lists them as potentially in stock on their website for a fair price.

http://unicornelectronics.com/IC/GAL.html

But their stock is variable.


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 18, 2021 2:24 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1373
Well, there are numerous devices out there for PLD, CPLD, FPGA, etc., along with many different tool requirements, both hardware and software.

As you noted, a small 8-bit 5-volt design, that doesn't tell us much. However, I've been using the ATF22V10C with good results. A single one of these can provide full address decoding (aka single glue logic) for RAM, ROM and 5- I/O selects (at 32 bytes wide in my implementation) and clock 2 qualified Read and Write signals for memory and non-65xx I/O devices.

If you can elaborate on what your intended small 8-bit design is, that might help. Also, what tools do you currently have that might be able to program a PLD as well as a EPROM/EEPROM or other devices?

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 18, 2021 3:12 pm 
Offline

Joined: Wed Nov 17, 2021 5:12 am
Posts: 4
floobydust wrote:
Well, there are numerous devices out there for PLD, CPLD, FPGA, etc., along with many different tool requirements, both hardware and software.

As you noted, a small 8-bit 5-volt design, that doesn't tell us much. However, I've been using the ATF22V10C with good results. A single one of these can provide full address decoding (aka single glue logic) for RAM, ROM and 5- I/O selects (at 32 bytes wide in my implementation) and clock 2 qualified Read and Write signals for memory and non-65xx I/O devices.

If you can elaborate on what your intended small 8-bit design is, that might help. Also, what tools do you currently have that might be able to program a PLD as well as a EPROM/EEPROM or other devices?


Thanks for everyone's advice. This is all very new to me, so I'm starting slowly. I did initially post this in 'Newbies' because I'm right on step 1.

My first project will probably be more or less a Grant Searl 6502 copy. I would like to work towards making a 'headless' Acorn Atom. So, a 6502 board with the same memory map and I/O capabilities but communicating over serial. I want it to run Atom BASIC. I'll have to modify the Atom ROM to redefine OSWRCH and OSRDCH to read from a UART that I will put on the board. I will probably opt for a 65C02 and CMOS components, but it does need to be 5V and be IO compatible with a real ATOM (I have a lot to learn here. I'm a software person and still have a lot to learn with electronics). I'll use a single RAM chip of course, not stacks of 2114s like my real Atom. So the address decoding is really to select RAM / ROM, a couple of 6522s and a UART. But I'd like to be able to (for example) switch to the Atom BBC BASIC ROM memory map or anything else I want to test and play with.

But step 1 is to see if I can make the most basic 6502 board with programmable logic for address decoding, and running Grant Searl's Microsoft basic. It's essentially a 'hello world' of 6502 design, and I'll take it from there.

I have a USB Blaster and a TL866 II+. I also have a G540 programmer somewhere, which I never managed to get to work. I would really prefer working with components that are still being manufactured and tools that are still available and reasonably 'current'.

Thanks for the advise.


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 18, 2021 6:23 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1373
Well, you can certainly start with a single glue chip and use the ATF22V10C. My C02 Pocket uses one and carves out the I/O section starting at $FE00. Daryl Rictor also has a 22V10 single glue logic showing on website as well. You don't need to reinvent the wheel on this one... my github page has all of the details for my implementation. You can easily modify the WinCUPL source to create your own memory map.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 21, 2021 4:31 pm 
Offline

Joined: Wed Nov 17, 2021 5:12 am
Posts: 4
floobydust wrote:
Well, you can certainly start with a single glue chip and use the ATF22V10C. My C02 Pocket uses one and carves out the I/O section starting at $FE00. Daryl Rictor also has a 22V10 single glue logic showing on website as well. You don't need to reinvent the wheel on this one... my github page has all of the details for my implementation. You can easily modify the WinCUPL source to create your own memory map.

I think this is probably exactly what I want. Thank you for your advise. I might try building one of your CO2 Pocket boards. All helps with the learning process.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 22, 2021 2:02 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1373
inshallah573 wrote:
floobydust wrote:
Well, you can certainly start with a single glue chip and use the ATF22V10C. My C02 Pocket uses one and carves out the I/O section starting at $FE00. Daryl Rictor also has a 22V10 single glue logic showing on website as well. You don't need to reinvent the wheel on this one... my github page has all of the details for my implementation. You can easily modify the WinCUPL source to create your own memory map.

I think this is probably exactly what I want. Thank you for your advise. I might try building one of your CO2 Pocket boards. All helps with the learning process.


Another Forum member (edzard) has built a C02 Pocket SBC... he might have a PCB leftover. I also have gerber files for the PCB, so you can buy them from any PCB house... both edzard requested them when he ordered the PCBs from ExpressPCB and BDD also converted the original file to Gerbers. Here's a link to the that thread (gerbers are there):

viewtopic.php?f=12&t=6641&hilit=c02+pocket#p84427

If all else fails... I've got a few of them already built with RTC/CF-Card adapters... I can always make a couple available.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 22, 2021 6:21 pm 
Offline

Joined: Wed Nov 17, 2021 5:12 am
Posts: 4
floobydust wrote:
inshallah573 wrote:
floobydust wrote:
Well, you can certainly start with a single glue chip and use the ATF22V10C. My C02 Pocket uses one and carves out the I/O section starting at $FE00. Daryl Rictor also has a 22V10 single glue logic showing on website as well. You don't need to reinvent the wheel on this one... my github page has all of the details for my implementation. You can easily modify the WinCUPL source to create your own memory map.

I think this is probably exactly what I want. Thank you for your advise. I might try building one of your CO2 Pocket boards. All helps with the learning process.


Another Forum member (edzard) has built a C02 Pocket SBC... he might have a PCB leftover. I also have gerber files for the PCB, so you can buy them from any PCB house... both edzard requested them when he ordered the PCBs from ExpressPCB and BDD also converted the original file to Gerbers. Here's a link to the that thread (gerbers are there):

viewtopic.php?f=12&t=6641&hilit=c02+pocket#p84427

If all else fails... I've got a few of them already built with RTC/CF-Card adapters... I can always make a couple available.

Thanks a lot. I'll let you know how I get on.


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

All times are UTC


Who is online

Users browsing this forum: No registered users and 6 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: