Remix.run Logo
alnwlsn 6 hours ago

I grew up in a world where the Arduino already existed, but it was not until I tried building homebrew Z80 computers like this that I really felt I understood how computers/processors work at the low level.

Consider this a warning though: this hobby has caused me to involuntarily collect every model of Z80 powered TRS-80 computer.

If you wish to become hooked anyway, this project might be another good place to start: https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew...

wkjagt 5 hours ago | parent | next [-]

I went through the exact same process, but with the 6502 (Ben Eater's videos, and then another SBC of my own design after). It's helped me become a better programmer too. Example: pointers in C now feel very natural instead of some abstract idea of "memory addresses, whatever those are".

And yep, I now also own many 6502 based computers :-)

sowbug 2 hours ago | parent | next [-]

I'm sure you already saw this, but in case others haven't: https://blondihacks.com/veronica/ is required reading for anyone into 6502. I was trying to rehabilitate a Cocktail Joust arcade cabinet I'd had in storage for years, and instead went off into a 6809 time warp for a while. Quinn's 6502 blog articles were helpful for inspiration while I breadboarded a really basic 6809 computer.

I ended up giving away the Joust machine to a guy (https://web.archive.org/web/20200709102945/http://www.robotr...) who had poured his heart and soul into Robotron disassembly and also was the Joust world-record holder in 1983, so I knew he'd appreciate it at least as much as I did. He happened to live in the area, and was more than happy to drive over and load it up. It's been 13 years since then. I hope he and it are doing well!

Factoid: It takes about six hours to reach 10 million points on Joust. Christian's record was 98 million points!

wpm 2 hours ago | parent | prev [-]

Not having my 'a-ha' moment with pointers until years into my education when doing assembly made me wonder why we don't start with a half-adder and work our way up from there instead of throwing novices right into C++ or Java OOP with no context.

ranger207 2 hours ago | parent [-]

That's how my comp sci degree went at Georgia Tech. There was a data structures and algorithms class first that used Java but then 2110 was building a computer from the (simulated) transistors up. I would've never understood pointers or C in general otherwise lol

f1shy 3 hours ago | parent | prev | next [-]

What I do not like is using a uC that is almost as capable as the whole board as part of it.

I know, you have to take a pragmatic approach… but feels like cheating… idk.

alnwlsn 3 hours ago | parent [-]

The Z80-MBC (the original breadboard version [0]) was actually the second Z80 computer I built. I first tried out one of the Grant Searle designs [1] on a breadboard, and it worked!... for literally 8 seconds, then the single ACIA chip I had waited weeks to get died for no reason. But I didn't have any way to debug what was wrong.

It also didn't help that I didn't have many EEPROMs or an EEPROM programmer at the time, but the ATMega32A can be programmed with an ordinary Arduino.

[0] - https://hackaday.io/project/19000-a-4-4ics-z80-homemade-comp...

[1] - http://searle.x10host.com/z80/SimpleZ80.html

SilentM68 an hour ago | parent | prev | next [-]

Loved TRS-80 PCs and the COCO in early to mid 80's. My real first PC digital hardware class used those machines. Like most people in those days, could not really afford to purchase any but was gifted a COCO. w/ Editor/Assembler for experimentation :)

citizenfishy 4 hours ago | parent | prev [-]

I have very sadly done the same with ZX Spectrums but the quest is never ending due to all of the baltic clones