Close

Homebrew Computers & Transistors, and surely more...

A project log for today's assorted project ramble "grab-bag"

Assorted project-ideas/brainstorms/achievements, etc. Likely to contain thoughts that'd be better-organized into other project-pages

eric-hertzEric Hertz 04/16/2022 at 08:056 Comments

Mid-May, just came across this draft from about a month ago... Still pondering the idea off-n-on.

...

I'm almost certainly in no position to be, right now, but the past two months have finally calmed a bit, and I desperately need to feel like I'm accomplishing something, which I don't get outside my realm... which basically includes everything I probably should be, or have been forced to be, doing.

...

So, I've been revisiting old ideas, one of which is that of building *something* from old CPUs I have laying around, but haven't the experience with to just throw into a project.

Before the crazy-shizzle started (crazier than normal, which has been crazy itself)  I'd spent months (more?) on my TI-86, learning about z80s and more... #Vintage Z80 palmtop compy hackery (TI-86) . (Really, I'd probably kill two birds with one stone if I'd just pick up where I left off on that... but my brain doesn't switch tasks like these easily, there's a huge process involved, this is probably that process). Anyhow, one of the results of that project thus far is a renewed interest and much better understanding in the make-use-of-processors realm.

So, now, I have a pretty well-mulled-over idea of a sort of "homebrew computer" build-process that builds it in pieces, each step along the way doing /something/ blinky and interactive. And a sort-of general-path that should work with a wide variety of CPUs I've stumbled on in my collection; z80, 6800, 6502(?), 8088... even up to the 486. 

E.G. The first step is an easily hand-wired board that merely shows LEDs for the address bus (maybe just 8 bits), and simply wiring the data-bus to NOP (jumper-disableable)... Oh, AND the circuitry necessary for single-stepping. This board will have a header for an IDC-Connector-cable (E.G. an old IDE cable?) connecting the necessary pins for 16bit addressing and 8 bits of data. Though, I'm half-tempted to make it even simpler by just using a chip-clip to breakout to the next boards.

The second board will connect there, and add switches (and LEDs) for the data bus. Unlike other switch-driven systems like the Altair, this won't (alone/initially) be used to enter a program /into memory/ to be run later. Instead the idea is to have a small program which will be entered in "realtime." The processor requests an address, the user toggles the switches for the opcode, then hits "Step," repeat.

Now, with two tiny boards we have 8 bits of the address bus visible on LEDs, 8 bits for data on switches and LEDs, and a step button.

From there, I think the next board will contain a jumper-enableable diode-ROM (and couple/few-bit address demultiplexer) for a program maybe as simple as "jmp address 0". If I get this right, the Diode-ROM containing these instructions (this instruction?) could be mapped in various locations in the address-space via jumpers, and the default NOP from the previous board would be accessed otherwise. Now we have a binary counter (the program-counter) visible on LEDs and resetting at, say, a  selectable count of 4+3=7, 8+3=11, 16+3=19...128+3=131. Basically +3 because all the CPUs I've encountered so far have a 1-byte NOP and a 3-byte absolute-jump. And then, powers-of-two since its easiest to decode with one jumper.

Anyhow, the idea is... I don't want to throw these efforts away, and they're too big to hang on the fridge... So, if Imma build a homebrew computer, maybe I can make each "step" along the way /useful/ even in the "end-product". Each step will introduce more features... When RAM's added, the switches/LEDs on the data bus from the second board will be used to load the memory. The RAM board then will probably add switches and 8 more LEDs for the address bus...

One board early-on may add line-drivers/buffers, then break out to a new header with the same pinout...

Another board down the line might add memory-mapping for more than 64k, So, those same boards from before could be moved /after/ this addition... same pinout. Maybe a second IDC cable could be added for decoded higher addresses, which could then be connected in place of the jumpers on the earlier boards.

Anyhow, I kinda dig the idea, and I /think/ the "bus" can be generalized-enough to work with all these processors... Of course, the NOP and Diode-ROM (and CPU card!) are processor-specific, but the memory and LEDs/switches, line-drivers, and even memory remapping should be doably pretty universal. And I dig the IDC cable over, say, a backplane... Want to add a new card? Just crimp another connector. Want to move your 32K RAM to a mapped address? Unplug from main cable, plug into mapper cable.

Yeah, some of it will be a bit redundant (using only 64k address space from an 8088? 486?! Never switching out of "Real Mode?!")...

But, herein lies another thought-process: ALL these CPUs seem to share a sort-of base level of commonality... The 650x was developed with the idea that the 6800 instruction-set was just too complicated. I feel the same about the 8088 and the z80. Their idea was to /Reduce/ the 6800's Complex Instruction-Set down to only a few necessary instructions... Hmmm.... Sounds RISCy to me.

So, what if I did the same with these /other/ processors? Or at least /treated/ them as though they'd done the same... Suddenly those 486 386 286 chips floating around, the 186s in weird embedded systems long-forgotten, the z80s sitting in old Hayes-Compatible modems that'll never see a landline again, the 6502s in scrapped/dead Commodore floppy drives or old CD players, and So Much More, (what about 8051's?) now become darn-near identical in functionality... Which, yeah, would've been stupid back when the whole point was performance, but no one's turning to these things for performance anymore, right? 

NOW they're relegated to groovy-vintage nostalgia which is near unobtanium, OR ewaste. 

Hey, these are great learning tools. And, hey, in a world where "Right To Repair" is being fought in courts, maybe we could benefit from a few folks' seeing the benefits of once-standardized parts...

We don't /need/ top-of-the-line performance anymore, from specialized parts with one-off manufacturers we're now subserviant to.

I bet there's even some plausibility ARM devices could be "Reduced" a bit like this.

So, now, say we've got a Reduced Instruction/Register Set (RIRS?) that maps almost universally across all these devices... Then, aside from Op-Codes and memory-layouts, RIRS code written for a z80 could be simply converted to run on a 6800 or 8088.

Maybe that's silly if you're talking about trying to load a 3C905 DOS driver on a Kaypro, but it's not silly at all if you're talking about trying to get folk to connect whatever weird-old processor is sitting in their bin to Hyperterminal as the beginnings of a homebrew computer. Maybe load BASIC on a DVD-ROM drive's undocumented "Mediatek" processor...? Or even on an old phone with a broken screen?

I dunno... Maybe I'm the only one with an old modem that realized its processor is the same as the full-fledged computer it was connected to, and wonders what-all it could be made to do.

...U8B, the Unified 8-bit BIOS could plausibly make all 8bit CPUs (and 8086s?) capable of at least running a terminal, BASIC, maybe an OS...? At least a simple game? Well, how would it be accessed? Addresses 000 through 0ff? What about systems with interrupts there? Addresses at the 32KB boundary? (Don't forget some systems expect ROM at 0xffff, others at 0x0000)...

 NOP at boot: EAEA would be the 6502's jump-address... hmmm...

Friggin Paper Tape, DUH.

....

Oh, then I got back to homebrew transistors... It keeps coming up. Thoughts on what happens to the electrons that are deflected by the grid in a triode... If I understand, it basically equates to the cathode is shooting off electrons no matter what, right? So the cathode current remains pretty much constant, then the Anode current is what varies... And then the "amplification" is purely between the gate and the anode, but has little if anything to do with the actual current used in doing-so...

Discussions

Ken KD5ZXG wrote 05/31/2022 at 06:11 point

Regarding triodes: A negatively biased grid repels an electron cloud back to the cathode. When a cathode is in equilibrium with the surrounding cloud, it recaptures as much as it emits, stopping the current flow. Not a simple matter of shooting off electrons no matter what. Electrons most likely to escape the cathode are also hottest. A grid allowed to go positive will attract hot electrons it was not built to catch, and could melt. Cathode and anode currents should be very nearly same in a properly biased triode.

You trying to build one of these? http://www.sparkbangbuzz.com/flame-amp/flameamp.htm

Looks to me the hot flame itself may be the cathode. Might that sort of triode still work if cathode connection were made to the cold wick instead? Pure alcohol doesn't conduct so maybe wants contamination? One reason most triodes are evacuuated is out of concern that posively charged heavy ions travel backward, erode and poison the cathode. A flame might be fine with that punishment.

  Are you sure? yes | no

Eric Hertz wrote 06/04/2022 at 20:07 point

Ah hah! I get it now, most tubes have a cathode *electrode* to emit the electrons. Apparently my previous understanding was of an earlier/rarer design using just a hot filament to eject the electrons. I was definitely confused as to how one might bias such a system's anode and grid voltages WRT a filament which has two voltages on it! Right: A separate cathode. Got it.

My interest, I guess, is in how one might create a transistor (or triode, etc.) with household supplies... yahknow, the sorta thing that might've been in a hobby magazine in the '50s. So that flame triode is quite intriguing. Thank you for sending that! I dunno the answers, though...

I also had thoughts on placing grids in various electrolytic solutions. It seems it should work, but I've yet to find any examples.

As far as the question posed earlier, the idea was that if electrons were in fact spraying from the filament regardless of the anode's collecting them, then maybe the unused electrons could've been made use of, e.g. by coating the tube with phosphor. Which also led me to wonder about incandescent lightbulbs; could they be more efficient if they not only released the emitted light, but *also* converted the emitted electrons into light. I think, though, it boils down to that filaments that emit electrons are different than those in lights; being of different materials better-suited to the task at hand. You don't see many tubes with filaments burning hot-enough to light a room... I guess that'd probably just burn off whatever material ejects electrons.

In college I worked on the data-acquisition circuitry of an Ion-Mobility Spectrometer. The idea is to ionize the unknown material, then accelerate those ions toward a plate, via an electric field. Doing-so in atmosphere causes different molecules to accelerate at different rates, due to collisions with atmospheric particles. Thus, the time it takes for the ionized particles to reach the plate gives some indication of what those molecules were... There was, in fact, a grid/gate involved. Used to start the "race to the finish line."

Heh! Looking back, I guess that was, actually, a triode. Atmospheric, no less! 

Of course, it also required many kilovolts... But, otherwise, not out of the reach of a hobbiest ;)

  Are you sure? yes | no

Ken KD5ZXG wrote 06/07/2022 at 08:10 point

Hmm, liquid triode? Indeed sounds like something that should work, but worry about plating. AC channel between two plates might be the ticket. But how to present a positive control grid to repel ions without itself dissolving into solution? Could it make useful field while coated in plastic? Does it need to be a grid, or a section of pipe between beakers? I have no clue how daft or sensible that idea might be.

  Are you sure? yes | no

Eric Hertz wrote 06/07/2022 at 23:45 point

Indeed, long-term functionality of such a device seems questionable, and chemistry is definitely not my area of expertise; but making a functional transistor from a few wires and a lemon would be far more impressive than just a battery!

Interestingly, I had, actually, thought of an inter-beaker pipe, as well... Also, membranes?

I've got some reading to do... Have yet to know the differences between the various electro-chemical things like say electroplating, batteries, separating hydrogen and oxygen, I even saw a liquid diode in one of those old hobby magazines...

  Are you sure? yes | no

Ken KD5ZXG wrote 05/31/2022 at 05:56 point

https://en.wikipedia.org/wiki/SWEET16

  Are you sure? yes | no

Dr. Cockroach wrote 05/14/2022 at 10:53 point

All of that has my mind running around in circles again :-)

  Are you sure? yes | no