
Build your own 6502 Microprocessor Kit - ingve
http://www.kswichit.com/6502/6502.html
======
mindcrime
Interesting. I _just_ got interested in going the 8-bit retrocomputer route,
as I've always wanted to learn the low-level hardware stuff... down to the
level of the CPU, the data bus, memory bus, I/O support chips, accessing RAM,
keyboard interfacing, etc. So, to that end, I just decided to build a Z80
based microcomputer.

Somebody asked "why z80 and not 6502 (or 8085, etc.)" I guess the 6502 is a
fine choice, but my subjective perception is that - out of the popular
processors from that era - the z80 is the one that still has the most actual
commercial applications, and is the one that is easiest to source, find up to
date information on, etc. Maybe I'm wrong, but so far it seems going the z80
path is pretty accessible. I was able to source chips from Jameco with no
problem (and they're pretty cheap), and the z80.info site has a ton of useful
info on homebrew z80 machines[1].

I was also able to pickup a copy of the book "Build Your Own z80 Computer"[2]
by Steve Ciarcia, which should help a little.

Anyway.. not to take anything away from the 6502. If it turns out that chips
are available, I may take a stab at building one of those after I do this z80
thing. But for now, this feels like the "path of least resistance". But I'd
love to hear about anyone else's experience building an 8-bit machine,
regardless of which processor you chose.

[1]: [http://www.z80.info/homebrew.htm](http://www.z80.info/homebrew.htm)

[2]: [https://www.amazon.com/Build-Your-
Own-Z80-Computer/dp/007010...](https://www.amazon.com/Build-Your-
Own-Z80-Computer/dp/0070109621)

~~~
jacquesm
To further confuse you: have a look at the 6809, it's a better processor than
either the 6502 and the Z80 in many respects.

~~~
nickpsecurity
To further amaze you, look at the Intel i960 (esp manual in "external links"):

[https://en.wikipedia.org/wiki/Intel_i960](https://en.wikipedia.org/wiki/Intel_i960)

It was intended to replace 286/386 and mainframes. I know: talk about shooting
for the stars. Yet, manual shows it to be a brilliant design [vs i432 APX]
that was basically an object-oriented, efficient RISC with error recovery,
concurrency, and lock-step added. Just a few, small modifications to make this
into a highly-secure, three-or-four-9's CPU. Might be Intel's best work in
terms of engineering tradeoffs. Worth _somebody_ imitating imho far as
hobbyist clones or RISC-V projects go.

~~~
mindcrime
The i960 looks pretty interesting, but it appears that they aren't
manufactured anymore. Is there something roughly equivalent out there?

Otherwise, what is the state of the art in microprocessors for embedded
systems and the like? Something like the Cortex M7?

~~~
nickpsecurity
"The i960 looks pretty interesting, but it appears that they aren't
manufactured anymore. Is there something roughly equivalent out there?"

No. Closest thing in development with open code that I know about is
Cambridge's CHERI processor that combines MIPS, capability-security, legacy
compatibility, and FreeBSD. It's not exactly simple but it does some of things
i960 intended.

[https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/](https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/)

"what is the state of the art in microprocessors for embedded systems and the
like?"

I only know stuff in that space that crosses into my research into high
reliability, security, or subversion-resistance. Studying more MCU's for last
one given gotta use old nodes. Found a few interesting things, though.

Plasma is a MIPS CPU & SOC in around 4,000 lines of HDL. Already has RTOS and
stuff. PULPino is like a RISC-V version of Arduino with 32-bit core & lots of
peripheral stuff. Some MCU's, no link on hand, are including I/O coprocessors
that give some of benefits Channel I/O and server offloaders have. Another
strategy is including HW accelerators for common, high-CPU (or I/O) functions.
Outside C & serial, JOP is small, efficient CPU for Java code. Sandia's SSP is
similar but highly-assured & rad-hard. AAMP7G is most reliable/secure in
embedded with low-power, decent speed, triplicated circuits, mathematical
verification, separation kernel, & easy ISA. I'm keeping an eye out for others
that include things like DSP's or parallel architectures that aren't just
toys. All I'm seeing so far that are being fabbed or used on FPGA's.

[http://plasmacpu.no-ip.org:8080/cpu.htm](http://plasmacpu.no-
ip.org:8080/cpu.htm)

[https://github.com/pulp-platform/pulpino](https://github.com/pulp-
platform/pulpino)

[https://en.wikipedia.org/wiki/Channel_I/O](https://en.wikipedia.org/wiki/Channel_I/O)

[http://www.jopdesign.com/](http://www.jopdesign.com/)

[https://www.researchgate.net/profile/Victor_Winter/publicati...](https://www.researchgate.net/profile/Victor_Winter/publication/220885414_The_SSP_An_Example_of_High-
Assurance_Systems_Engineering/links/00b49522dd933d0021000000.pdf?origin=publication_list)

[http://www.rockwellcollins.com/~/media/Files/Unsecure/Produc...](http://www.rockwellcollins.com/~/media/Files/Unsecure/Products/Product%20Brochures/Information%20Assurance/Crypto/AAMP7G%20data%20sheet.aspx)

------
gshubert17
I uncovered a SYM-1 6502 microprocessor kit and power supply. I'll have to
check to see if it still works. Back in the early 1980s I recall writing a few
programs and storing them to cassette tape through one of the interfaces. And
I think I upgraded the memory to 4K! It was quite a lot of fun.

------
userbinator
With just looking at the title I thought this was now being offered in kit
form:

[http://monster6502.com/](http://monster6502.com/)

------
znpy
Oh boy.

I used to use a similar thing in high school, the Z80 uProfessor, which is
based on the Zilog Z80.

(edit: yep, I have used the same "Multitech MPF-1 Kit" board!!)

So many memories!!

~~~
znpy
I can tell stories about programming things like this.

It is not as easy as you might think.

Here is how we used to do it:

1\. Draw a flow chart on paper

2\. Translate the flow-chart to assembly source.

3\. Keeping the processor data-sheet in your left hand, hand-translate
assembly code into opcodes, by hand. Compute relative jumps by hand. Do not
use a compiler. Be the compiler.

4\. Now that you have your opcodes, get your board.

4.1 Set the starting address (it was 1800_h for me)

4.2 input opcode (two hex numbers, one byte)

4.1 increment address (the '+' key is for that)

4.3 if finished goto 5

4.4 goto 4.2

5\. set address back to starting point (like 1800_h)

6\. Run your code! (press 'go')

Now... 60% of the times, it fails every time. But I miss doing this kind of
exercise :)

~~~
Johnythree
You left out...

Erase an eprom with ultraviolet

Drive for miles to a friends place to use his eprom programmer

drive back home, and plug it in

then swear a lot when it still doesn't work..

ah, the memories... (that was with a hand-wired board and an MM57109 before
the first microprocessors were available)

~~~
linker3000
...and I was that 'friend' with the EPROM programmer board for the Commodore
64 and a UV eraser. My office (bedroom) was very busy at weekends.

