Close

Z80 Hackery With Ziggurat29 - A Brief History

A project log for Z80 Reverse-Engineering And Hacking Adventures

What else can I say?

eric-hertzEric Hertz 06/15/2022 at 07:322 Comments

It all started when I decided to power-up, for my first time, an old Logic Analyzer I'd been gifted nearly a decade prior. It was already quite old, then, and probably hadn't been used even during the decade prior to my receiving it.

This thing was a (Sheesh, did I say this was going to be a "brief" history?)

Alright, alright... I'm really not good at this, but I'll try to fast-forward (in the VCR-sense, not the skip-ahead DVD-era sense!).

Right, so, despite my utter shock that thing booted right up off a floppy disk which'd been clamped in the read-heads for twenty+ years and countless moves, I was *quite* intent on backing that disk up. See, apparently this system was darn-near the only one in existence... plausibly ever. Plausibly even in its heyday.

And *that* little factor, if I understand, caught the interest of someone who... well, I later discovered to be a bit of an addict. This fellow, well, he seems to be addicted to disassembling Z80 code... See how these things were implemented. Once said he found some interest in seeing into the designers' thought processes, or something.

Sufficed to say, I went into that project to just make sure that one floppy disk got backed-up before it crumbled... I guess because I've got some weird soft-spot for things folk put a lot of work into that didn't really get much recognition? I dunno...

So, I mean... How could something like that get more attention than by someone knowledgeable *and interested* to "look under the hood" and to share those findings?

"Sure, heck-yeah, I'll read those ROMs for yah!"

I didn't know then I'd become an addiction-enabler!

(Alright, it wasn't purely selfless... I had every intention of hacking that machine into some Frankenstein's monster with the knowledge I gained... But... The more I learned about it, nevermind the amount of effort that went into preserving that friggin' disk, I just couldn't bring myself to modify it... Beyond, maybe, installing a method to allow switching between the Logic Anayzer's custom waveform characters and Kaypro's normal characters? Hmmm...)

That was #OMNI 4 - a Kaypro 2x Logic Analyzer... In which my then new friend @ziggurat29 introduced me to all things Z80. At levels I never imagined I'd reach.

...

Skip forward a few years... Well, frankly, I needed something programmable and *very* portable, a bit like a microcontroller, but which didn't require a separate computer to reprogram... I tried *numerous* ideas, from laptops to Pi's, but none really fit my needs. The hunt was on for some time, to the point of becoming one of those things I kept an eye out for, without really even remembering why. And in there I'd developed a habit of going to Goodwill...

One day a TI-86 was sitting on the shelf, and middleschool-me said I just couldn't not buy it. I had no friggin' clue *why* I needed it. I had a perfectly good TI-82 I hadn't touched in years.

(Did I say this was going to be brief?)

So, next thing I know, I'm sitting in the parking lot looking up specs of my new toy...

Whoa. Did you know you can program this thing in Assembly, *on* the thing, itself?! Whoa, did you know this thing is basically a handheld Z80 computer?! Inside this thing is a friggin' address/data bus just waiting for add-ons!

Hah!

Sufficed to say, my friend the Z80 addict found it intriguing, as well... And, well, my addiction grew ten sizes, as I learned not only how to code Z80 on the thing, but also, and maybe mostly because of learning its hackable quirks... Many revealed by my fellow junkie's endeavors.

#Vintage Z80 palmtop compy hackery (TI-86)

...

That project wasn't really supposed to be shelved, but luck had other plans. And after dealing with those as best I could, I'd completely lost my place in that project. Resuming it would be a massive feat of remembering...

Meanwhile, luck again came my way with something plausibly far better suited to my *needs* than typing assembly on a keyboard which isn't even close to QWERTY... or trying to bitbang a UART without a counter/timer... So, I tried my hand at getting that going...

In the process of finding some necessary parts for that, I remembered an old surplus site I'd long forgotten... And, well, they had what I needed, that none of my regular go-to's did. But I found it hard to justify the shipping cost for a few little MOSFETS, despite the tremendous surplus savings (and, besides, it would've been one Boring order), so I browsed everything they had, lowest-price first. Scrolling into the ten dollar range I had to keep reminding myself "It's gotta be *awesome* to be an impulse-buy, now"... "What was that?! Did I just scroll past a piece of test equipment at this price?!"

Actually, at second-glance I thought it was a VCR controller, like would've been used in a TV station, just some glorified multi-VCR remote control, which might've been a hard sell, even at that price. But as I stared trying to figure out what it was, one thing caught my eye, RS-232 and GPIB... Meaning there must be some *computing* power in there. (How'd the LCD not make that click, earlier?) And, well, from the looks of it, it's darn-near exactly from the era of DIP CPUs and support chips that I can actually understand. Who knows, maybe it's even a Z80!

And, well, at that same time back when luck had thrown me off-course with the TI-86 project, I also wound-up in a situation where the portability-factor was no longer such a concern... I could actually start thinking about hackery that didn't have to squeeze into a handheld...

And here we are, with an impulse-buy that barely brought my order past the price of the parts I needed, had I bought them new, instead of surplus... (alright, I admit I tacked a few additional things on there, at, I admit, additional cost).

...

And, sure-enough this thing is darn-near an entire Z80 computer, in a nice box, with tons of space for hackery, machine-pin sockets for every IC, a few unused already-decoded I/O Addresses, 32K of ROM/RAM sockets waiting to be installed (or quite-possibly paged, per some of my hackery-ideas), a serial interface, a 40x2 LCD, a bunch of buttons...

I'd almost immediately envisioned using the front-panel for entering opcodes in hex, heh.

But, of course, when the Z80 expert caught wind of this thing, he almost immediately recognized it to be similar to a TRS80, and pointed out that it could probably run BASIC...

And from nothing more than a few photos he figured-out quite a bit about the architecture, I/O, Memory layout, Interrupts... Darn-near all confirmed later with his skill at disassembling the ROM image... A tiny bit of practically unnecessary help, from who knows how many miles away, sticking a multimeter on a few pins. Heh!

 ... The saga continues!

Discussions

ziggurat29 wrote 06/15/2022 at 15:42 point

Who doesn't need a rack-mount TRS80 Model I in their home? Think of the computing you will be able to do!

  Are you sure? yes | no

Eric Hertz wrote 06/15/2022 at 20:12 point

LOL! Well, thankfully, it also has handles on the front, because if I had a rack, it'd be filled with boxes of parts. Hrm... Actually, that might solve some of my shelving dilemmas, now that you mention it! Oh, no, wait... I'd have to insert a blank above it, else I'd never get around to its hackery!

Great read in the next (your) log-entry, BTW!

  Are you sure? yes | no