4 ms·
I’m just amazed at how many people dig the Z80 as much as I do. It’s so cool seeing all these projects on my favourite CPU. I mean this stuff would have seemed
by doctor_eval 7y ago
I’m just amazed at how many people dig the Z80 as much as I do. It’s so cool seeing all these projects on my favourite CPU.
I mean this stuff would have seemed absolutely incredible to my 18 year old self. And so very cool to see a reference to MP/M. Though I seem to recall needing to use 8080 mnemonics to work on MP/M?
- mywittyname 7y agoI bet a lot of us got our start doing low-level programming for the Z80. I remember learning to program assembly from the manual for a TI calculator. I'm pretty sure those things are still ubiquitous. It's probably the easiest way to learn assembly programming on real hardware anymore.
- downerending 7y agoHaving no other resources, as a kid I sent Zilog a letter asking for a copy of their Z80 docs. Probably wrote it in crayon. Bless them, they sent it, and that's how I got started learning microprocessor architecture.
- tstout 7y agoThis makes me smile!
- downerending 7y agoMe too. It was essentially this, albeit a very early version: http://www.z80.info/zip/z80cpu_um.pdf http://www.z80.info/zip/z80cpu_um.pdf May the gods help any kid that tries to learn Intel CPU architecture that way these days. :-)
- mysterydip 7y ago"Well Johnny, the first thing to understand is how time travel works. You see, our CPUs guess at what you wanted to do next and start executing the pipeline before they know for sure, and sometimes it's wrong, and..."
- doctor_eval 7y agoI have the original Z80 programmer's quick reference around at home, still. If I was smart enough to know how to post a photo to HN then I would do so :)
- stevekemp 7y agoReceived my first home computer, a Sinclair ZX Spectrum, in 1982 or so. No working cassette drive in the house, so of course I started reading the manual. That taught me BASIC. Later I learned assembly language programming, partly via the manuals, and partly via some books at the local library. I'll always have a soft-spot for Z80 assembly, and have started to work on raw Z80 processors myself now - after spending the past year or two playing with Arduino and ESP8266 devices.
- socialdemocrat 7y agoSound a lot like me in the 80s. Hard to find information. Came across random books in the library. My latest experience is with AVR assembly. What is it about Z80 that makes you prefer it? Wider variety of practical instructions? Cleaner design? This blog got me curious about looking into Z80. Not a chip I ever learned anything about. I started out as an Amiga guy and I would occasionally come across books and stuff about 6502. Z80 is just a name I heard from time to time.
- stevekemp 7y agoThe Z80 I enjoy because of nostalgia, largely. I started with a Z80-based system: https://blog.steve.fi/how_i_started_programming.html https://blog.steve.fi/how_i_started_programming.html The instruction set is simple, and clean. The fact that you don't need much supporting circuitry to drive it is a nice bonus, but mostly I remember coding the thing when I was 12 or so, and now I know what I'm doing for real :)
- anonymousiam 7y agoMP/M ran fine on the Z-80. Only the mnemonics were different between Intel and Zilog. The byte-level machine code of the 8080/8085 would run just fine on the Z-80.
- yuubi 7y agoI was once blessed with a z80 c compiler, hosted on msdos but targeting cp/m (maybe it was ported for use with embedded targets). Its output was 8080 assembler with the odd db here and there when it wanted to emit a z80 instruction. It shipped with a perfectly good z80 assembler, mind; the compiler just emitted 8080 mnemonics because reasons.
- anonymousiam 7y agoI always thought that the Zilog mnemonics were better than Intel's. I learned Intel first, but immediately recognized that Zilog's were better once I became aware of them. The only C compiler I had on CP/M was BDS C. It was fairly limited and had no floating point support whatsoever. Maybe that's the one you're thinking of?
- yuubi 7y agoThis one was called Aztec and Manx C, depending on what part you looked at. It lacked bit field struct members and I think a couple of other features but don't remember now. I learned Zilog first and agree with you. I had to keep an 8080 manual handy for a while to make any sense out of that compiler output. Good(?) times.
- anonymousiam 7y agoI used Aztec C for the 68k on some embedded projects for work in the late 80's. The 68k version was a full-featured C implementation complete with IEEE-754 floating-point math and bit fields. I liked the fact that Aztec included the source code for parts of their libraries so one could write their own drivers for stdio devices. I still have that code somewhere...
- socialdemocrat 7y agoI have been a bit fascinated by this, but perhaps you could explain to me what fascinates you about Z80. Just for reference I am a Motorola 68000 fan, mostly because I grew up with Amiga. My first computer was an Amiga 1000. After Amiga Basic some of the first programming I did was 68000 assembly. I really liked it, and I absolutely hated x86 assembly when I tried that later. x86 seemed so quirky to me, with its segment registers and the naming of assembly instructions just didn't seem as nicely organized as for 68000, which almost felt like high level language in comparison. x86 turned me off assembly for years. I have gotten some interest again these last years by playing around with AVR. I like AVR for the simplicity and low price. Perhaps you could sell me on Z80, how does it compare to using AVR chips?
- doctor_eval 7y agoI love the M68K, in fact I almost said it was my favourite, but I think the Z80 taught me more. Like the 68K, the Z80 had great mnemonics, was really easy to understand. In many ways I think it was at least a spiritual predecessor to the 68K. I mean, Z80 was an 8 bit CPU and 68K was much more capable 16 bit CPU. My guess is that if you liked the 68K you'd probably like the Z80. Intel mnemonics always sucked :) 8086 and 80286 put me off assembly language too. I don't know the AVR... don't get to play with CPUs much any more :(