zx80nut wrote:
The RIOT only has 128 bytes of RAM - not much use by itself unless you have a dedicated system needing very little RAM
And that was the original purpose of the RIOT-- systems needing little enough RAM to integrate it with the I/O. Today those applications are taken care of by microcontrollers, and the RIOT has not been made in decades. Mike Naberezny' early
project using a 6504 used the RIOT.
Quote:
Using only an LS04 (presumably for the clock) would mean that very limited address decoding could take place (only 2 CS lines on the RIOT).
Besides recommending never using LS again (it has disadvantages and
no advantages over 74HC, not to mention 74AC), I will reieterate that you can decode for RAM, ROM, and
ten I/O ICs using only a single quad NAND, and, if you make it Schmitt-trigger (74HC132 instead of 74HC00), the one left-over gate can be used for the reset circuit. This is shown in the very basic whole-computer diagram at
http://wilsonminesco.com/6502primer/pot ... ml#BAS_CPU and further explained on the
address-decoding page of the 6502 primer.
Quote:
I agree you can do a very small system with few chips, but if you are going for a very small computer then a microcontroller (PIC, AVR, etc) is a much more viable option nowadays.
There are the 65134 and the 65265 microcontrollers available off the shelf, but unfortunately their ROM cannot be programmed on the workbench (so you either spend the tool-up cost and long lead time for mask ROM, or use external ROM, forfeiting a lot of I/O pins), and there aren't a lot of variations of them like there are of the PICs and AVRs.
Quote:
What I aim for is to have a computer that can be switched on and programmed directly, supporting BASIC, a useable terminal interface and a decent amount of RAM for messing about and the ability to be expanded or connect simple interfacing to. Also, it uses off-the-shelf parts that are fairly easy to obtain, and the only requirement is access to an EPROM/EEEPROM programmer.
I've brought a lot of products to market using PIC16's, but they cannot compile their own software into program memory. Now I'm getting familiar with PIC1
8's. They have a lot more power than the 1
6's, but although they can write to program memory, they have to do it in 64-byte blocks, and it's a process, and they can't just go compiling or assembling on the fly and writing quickly to program memory to RAM to execute. They have other obstacles for that kind of applications too. The PICs are good for tiny jobs that don't require the program to change frequently, don't require much RAM, etc.. The microcontrollers may have a place in supporting a 6502 computer, but the latter still has a very valid place on the workbench.
For your RS-232 line drivers and receivers, if your power-supply inventory has something in the area of ±10V also (even non-regulated), you can use the MC145406 16-pin IC with three drivers and three receivers instead of two like that MAX 232 has, and it is more compact because it does not need any supporting parts like the MAX232 does. Then, with the one
MC145406, you can have TD, RD, RTS, CTS, DSR, and DTR. Or, since the computer will really need some other I/O to be useful anyway, you could use a 65c22 VIA, and use a few of its I/O bits to bit-bang an SPI to a
MAX3110E UART in a 28-pin skinny DIP which is a much better UART than the 6850 or 65c51 and also has the line drivers and receivers built in, not needing any external support parts or added supply voltages. Bit-banging SPI on a 65c22 is covered at
http://wilsonminesco.com/6502primer/pot ... ITBANG_SPI, with a link to working code at
http://wilsonminesco.com/6502primer/SPI.ASM .