k5nwa wrote:
I'm a newbie to the 6502 CPU, I have worked with the 8080, 8085, Z80, MC6809, and MC68000 before designing hardware and software.
I'm retired now and have time to work on hardware/software projects so I want to try out a 6502 design, I looked on eBay and was shocked by the prices for old 6502 PCs in any cases I want to build one myself. I looked on Mouser and I was pleasantly surprised that both the 65C02 and 65C816 are available for just a couple of dollars in DIP40 format.
I'm thinking that maybe I should design a 65C816 board as that device can emulate a 65C02 and its native enhance form so one get two CPUs for the price. Any problems with that thinking?
I'm thinking of making it a simple board with 64K to 256K of RAM and some Phantom EPROM, a large capacity serial Flash chip, a serial port, and maybe a parallel port of two. I would talk to it with the serial port and a terminal emulator. Most likely I would use eForth for the OS/Monitor/Development system.
Are there some reasonable boards available that are decent? Otherwise I would layout a simple two layer board after wire-wrapping a prototype to verify the hardware design.
Any comments or suggestions is appreciated.
Thanks
Starting off the 65C816 is a good idea. Too many shy away from it because it is somehow perceived as too complicated or too hard to program. Starting with the 65C816 gives you the opportunity to get familiar with the 6502 assembly language and then open the 65C816's native mode door and take advantage of features that don't exist in the 8 bit world.
My opinion is you will learn more and probably enjoy the hobby more if you design and built your own unit, instead purchasing something that someone else designed. I would not recommend going the microcontroller route, as you will be insulated from much of the low-level logic that you would have to work out by using a discrete MPU, RAM, ROM, etc. The 65C816, like the other WDC 65xx devices, can be gotten in PDIP40 or PLCC44, the latter which is my preference for use on PCBs. PLCC44 can be used on a wire-wrapped unit, but compatible sockets are pricey.
As for eForth being a working environment, that is a step above writing a basic firmware for your machine. eForth, from
what I've read about it, doesn't appear to support any kind of primitive input/output, e.g., reading keystrokes. Ting's discussion clearly indicates that his 8086 reference build calls MS-DOS APIs to handle all outside world interactivity. You are going to have to have enough code in place to talk to the hardware of your machine before you can get anywhere. That is going to entail 65C816 assembly language.
Also, I am curious as to how eForth would act as a machine language monitor. A machine language monitor has to be able to touch the bare metal in order to do its job. That's not a specialty of Forth.
Anyhow, there is a lot to read around here, as a number of members have scratch-built 65C02 and 65C816 hardware. Reading up on all of that should give you plenty of ideas on how to get started.