A tiny obsession with a teensy machine.
June 19, 2015 9:52 AM   Subscribe

 
Nice use of the New Yorker diacritic
posted by crocomancer at 10:02 AM on June 19, 2015 [10 favorites]


We had to do one of these for the final project in my liberal arts school's Digital Electronics class (which was mandatory for a lot of the science/math majors). I only made the basic computer, but a lot of my classmates got really into it and did games with TV output, audio output, joysticks, all kinds of cool stuff. If we could do it with very little background in electronics in only a month or so, anyone can do it!
posted by miyabo at 10:05 AM on June 19, 2015


When I was in high school (many decades ago) I had a classmate, an eastern bloc immigrant, who was the biggest nerd ever. And I mean that both figuratively and literally. Coke bottle lens glasses, second hand clothes that were at least 10 years out of date, a goofy hair cut and completely socially awkward computer geek back when hardly anyone had computers and social awkwardness was really socially awkward. He had a sinclair ZX81 that he brought in to school to show off but the funny part, and the literal part of him being the biggest nerd ever, was that he was 6 foot 7 inches tall with absolutely huge hands. Seeing him sitting in our programming class in a too small chair at a too small desk hunched over that tiny little computer delicately typing on it's tiny keys is forever burned in my mind as the archetype of at-all-costs dedication to bits and bytes.

I also sometimes think of him now when I try to text on my smartphone.
posted by srboisvert at 10:06 AM on June 19, 2015 [8 favorites]


If I wanted to do a learning project like this, is this better/worse/easier/harder than using one of the the Raspberry Pi chips?

Or is it something completely different- http://www.zdnet.com/pictures/ten-raspberry-pi-2-alternatives/6/
posted by notmtwain at 11:03 AM on June 19, 2015 [1 favorite]


Out of all of the big players in the 1970s-1980s microcomputer and microcontroller explosion, the companies involved seemed to meet one of three fates:

* Becoming a huge corporate juggernaut (eg. Intel), or being purchased by one
* Spectacular failure (eg. Commodore)
* A slow fade into obscurity and eventual bankruptcy (MOS, and many many others)

But not Zilog.

The Z80 was very successful. It's a great chip. So Zilog kept making them, cautiously avoiding the grand ambitions that sank so many of their competitors.

Years go on, people keep buying Z80s, and Zilog keep making them. The Z80 is literally "1970s technology," but it's cheap, a lot of people know how to write code for it, and it's still "good enough" for many embedded systems.

As far as I can tell, Zilog don't have any other meaningful product lines, but the Z80 somehow continues its improbable streak of ubiquity and popularity. Zilog seem content to keep churning them out as long as people will buy them. After that, I guess they'll fold -- the company doesn't seem to be interested in doing much else.

Given the often grand ambitions of technology companies, Zilog's story is such a strange outlier.
posted by schmod at 11:09 AM on June 19, 2015 [15 favorites]


For learning purposes the Z80 is almost perfect. It's a real microprocessor with both program and data in memory, but it's so slow that you can literally hook up a display to the memory bus and step through instructions and see what's happening. You can't do that with an Arduino. If you want to learn about how real computers work, it's a great project. Of course if you want to do something else that just happens to use a processor, then an Arduino is a better choice.
posted by miyabo at 11:18 AM on June 19, 2015


Zilog actually tried its hands at 16 and 32-bit processors for a bit, but they were not especially successful. They seem to do a fair amount of industrial control type stuff now too. (And make comics, for some reason. About motor controllers.)
posted by mrg at 11:23 AM on June 19, 2015 [5 favorites]


As far as I can tell, Zilog don't have any other meaningful product lines, but the Z80 somehow continues its improbable streak of ubiquity and popularity. Zilog seem content to keep churning them out as long as people will buy them. After that, I guess they'll fold -- the company doesn't seem to be interested in doing much else.

The Z80 hasn't stood still. They implemented a pipelineish implementation to get rid of the 4 cycles per instruction limitation and implemented a 24-bit address bus. All while retaining cycle level accuracy for instruction execution prediction.
posted by Talez at 11:24 AM on June 19, 2015


The only bummer about the Z80 is its kind of idiosyncratic, not really at all orthogonal ISA, or at least that's what I remember from surveying the field of that generation of processors when I wanted to play around with something small enough to hold entirely in my head. The 6809 is glorious in that regard, and pretty much just as pedagogically useful, and I've never had trouble finding good reference material for it.
posted by invitapriore at 11:26 AM on June 19, 2015


For a Free Unix-like OS, Alan Cox has you covered.
posted by Poldo at 11:27 AM on June 19, 2015 [4 favorites]


And that's not ~all~ Zilog has been up to in recent years!
posted by Earthtopus at 11:29 AM on June 19, 2015


This is a terrific post. Here's my mandated random fact for the thread: A single Z80 runs the arcade game Pac-Man.
posted by JHarris at 11:31 AM on June 19, 2015


Since I've never found a particularly solid answer to this, is the Z80 a true superset of the 8080 or does it simple share the mnemonics of the opcodes (if you want) and the register set?
posted by plinth at 11:38 AM on June 19, 2015


Your handy Z80/8080/opcode guide, plinth.
posted by Devonian at 12:19 PM on June 19, 2015 [1 favorite]


Actually taught myself Z-80 machine code on a Sinclair ZX-81 all those years ago. Talking with my much younger co-workers, it seems like schools don't teach machine code/assembly these days which makes me a little sad.
posted by octothorpe at 12:54 PM on June 19, 2015


I love microelectronics posts.

All my life I have set goals for myself, some lofty, mostly common. Often I have succeeded; sometimes I have failed.

Microprocessor programming is one of the latter. Hoo boy

A long time ago, in my 20s, I set a goal for myself - to learn microprocessor programming and microprocessor gadget design (like, make a toaster do something different, or do something different with a doorbell). How hard could it be? Lots of people do it every day. And everything I needed to achieve this goal was within my grasp. The components at Radio Shack, and the books, at the Library.

How hard could it be? Well, maybe hard, but not a ~mystery~, right? It's the opposite of ~mystery~, it's logic! Plus solder.

Went to Radio Shack when they still sold components and bought a bunch of chips, already had me some solder and an iron and a breadboard. Bought me a 555 Cookbook and some lamps, borrowed a few books on assembly language, figured I'd make me some little flashy lights in a week or two.

Well, no. EMPHATICALLY, NO.

Maybe there's some segment of my neocortex that I wasn't born with or never developed that is required to visualize and comprehend a microprocessor-centric assembly, but I failed, and failed,and failed to GET IT. Clock, I get. Registers, no. I was able to connect this to that and reproduce a thing I saw in the pages of a book, but I never ever really clicked with microprocessor design and programming as a whole, as a holistic ideation. It was, and still is, simply a void, here in this brain of mine . A Thing I Do Not Get.

I'm not an idiot. I can spin up a LAMP stack and give you a viable dynamic UI that talks to REST points with really good UX failover, but that's nothing, compared to this.

I love FPPs like this. I'm reading all the links and wistfully appreciating the Thing I Do Not Get and really enjoying it. Thanks, boo.
posted by sidereal at 2:39 PM on June 19, 2015 [1 favorite]


"My favorite programming language is solder"

- some nut
posted by sidereal at 2:47 PM on June 19, 2015 [3 favorites]


I've seen that "Let's emulate RAM with address-line fiddling" thing before, and I'm kind-of why?

I can still disassemble Z80 hex in my head, even though the last time I needed this was looking for game POKEs on an Amstrad CPC. I keep meaning to build an N8VEM or similar, but I also have to keep reminding myself that I can emulate gigahertz-class Z80s in software on a modest laptop. Cheap microcontrollers are also incredibly powerful, like the ARM Cortex in the Teensy, or the insanity that is the cheapo ESP-12 boards.

But yeah, Z80s. They can't multiply, but at least they have enough stack and registers to do real things.
posted by scruss at 3:06 PM on June 19, 2015 [2 favorites]


If they were ta make Z80s that run at 2GHz, I'd be right there SO fast.
posted by Twang at 4:25 PM on June 19, 2015 [1 favorite]


I'm not an idiot. I can spin up a LAMP stack and give you a viable dynamic UI that talks to REST points with really good UX failover, but that's nothing, compared to this.


Wow. I just spent my entire week working on a new board design. I've been digging through thousands of technical pages of bits and gates and CPU registers and thinking "you know, I can handle this but I'm truly fucked if my client wants this thing to serve up some AJAX or CSS-whatever".

Glad to know it goes both ways....
posted by JoeZydeco at 10:27 PM on June 19, 2015 [4 favorites]


I was a 6502 nerd in the day (because that's what my first computer was) so Z80 was not on my list of adventures. However when my electronic chess game (this i sback in the early 80s) started cheating, I kniew I had to remove its brain and spinal chord to see why.

And yes! It was a Z80!
posted by arzakh at 5:05 AM on June 20, 2015 [2 favorites]


See also Bender's brain.
posted by Poldo at 7:25 AM on June 20, 2015


In the slightly-more-clever-but-not-actually-involving-a-real-Z80 dept., cpmduino and CPM_Due allow you to run CP/M 2.2 on an Arduino Due.
posted by scruss at 7:37 PM on June 28, 2015


« Older And the 2015 award for "Bad Timing in Cinema" goes...   |   Summer Reading List Newer »


This thread has been archived and is closed to new comments