Many parts of the 6502 primer are applicable to practically any digital project.
brad wrote:I am actually looking at using the SWINSID which is an emulated version of the SID chip used in the commodore 64. I will be using it for my latest LED game!
That ARM-based one is at
http://www.swinkels.tvtom.pl/swinsid/
There's also this Atmel ATmega-based one:
http://roboterclub-freiburg.de/atmega_s ... gaSID.html
I think it's great that people are still using the same cpu that was used in the good old commodore 64! very fond memories of that computer.
Although the x86 has made more progress in the last 30 years, the 6502 has come a long way too, with
the CMOS version having more instructions and addressing modes and having the bugs removed and more signal pins added, and turning the clock speed way up. Current-production ones are conservatively rated for 14MHz and will usually do 25MHz if the surrounding parts can support it. The fastest ones are at the heart of custom ICs and run above 200MHz, which would be worth about 400MHz (100 MIPS) of a PIC16.
Then of course there's the 65816 which is, as BigDumbDinosaur (his screen name) put it, "a 6502 on steroids." I probably won't ever write a separate primer on the '816 but perhaps an article would be in order debunking the unfounded fears people seem to have about the '816, especially about the multiplexed address bus (which you don't have to use to get a ton of benefits) and the mode bits (which you can leave nearly untouched in many applications). When you're constantly dealing with 16-bit numbers, I find the '816 to actually be much easier to program.
The 6502 primer will keep getting improved but the major page addtion since the original post here is the
circuit potpourri page which shows how to interface a lot of general-purpose things, some examples having accompanying code linked. There's a lot more coming but I'm taking a little break first.
Our older son showed a lot of technical ability very early in life, and I got him started on C64 when the other kids were on Windoze and Mac. The point was to get him into the insides and keep him from being content to be an appliance operator. He went a long way on C64 but never got into assembly language or much into the actual electronics. Today at age 24 he is somewhat of a networking expert, maintaining the computer networks and servers and phone networks at two school campuses, all self-taught. He is very strong on Linux too. Recently when he was telling me about a problem he solved at the school, I asked him, "How is it that you know so much about this and yet don't know what a simple NAND gate is?" He said, "Because if the NAND gate goes out, I'll replace the mother board or whatever it was on," IOW, very much at the systems level, not the component level.