Hacker News new | past | comments | ask | show | jobs | submit login
Z80 computer wirewrapped on perfboard (github.com/linker3000)
125 points by tempodox on Sept 1, 2018 | hide | past | favorite | 35 comments



I love Z80 and 6809 machines. The first computer game I ever played was Zork on a Z80. I keep trying to buy an old Z80 machine on fleaBay, but the prices either start out of a reasonable range, or I get outbid.

It's great to see so many people these days rediscovering the chip and making these modernized designs. Disk I/O was such an unreliable pain back then. It's fantastic that most of these are designed for CF and SD storage now. Every time I run across a project like this on the internet, I eat it up. And thankfully, they are becoming more common.

If I had younger eyesight, and steadier hands, I'd be all over this project. (Anyone know of a company that sells something like this I can hook up to a dumb terminal? No FPGAs, or RPis, please.)

I met a woman just this past week who used to sell S-100 and Z80 machines at BusinessLand in Silicon Valley back when everything was just starting to percolate. We talked for hours about the experience and the people she met what the valley was like back in those days. (Like getting to try out an Alto in the 70's!)

The next time I run into her I'm going to encourage her to write all of that down and post it somewhere.

[Edit to add:]

If you want an excellent CP/M experience on a modern Mac, there's Tom Harte's emulator.† Unfortunately, I haven't been able to play the full Zork on it because Zork requires multiple disks, and I don't think it has a mechanism to switch virtual disks.

https://github.com/TomHarte/CP-M-for-OS-X


If you want to get some affordable z80 hardware, pick up an TI calculator. I recommend the TI-84+ Silver Edition, the other the better if you want more RAM. 15 MHz CPU, up to 128 KiB of RAM, 2 MB of Flash, a USB OTG port, a 2.5mm stereo jack (can be used for audio or networking), crystal timers and an RTC... You may have to do some work to port CP/M, though. I recently put together a simple bare-bones operating system template for TI calculators for reference:

https://git.sr.ht/~sircmpwn/hiti/

WikiTI is a good reference for the ASIC's behavior:

http://wikiti.brandonw.net/index.php?title=Calculator_Docume...

The pages under "TI-83 Plus family" are what you're looking for.


I feel the need to also mention your OS that isn't CP/M, but does run on TI calculators: KnightOS[0].

It's fantastic, and fairly featured, and caused no end of issues at the school where I was sysadmin'ing. The kids wrote some damn good programs and games on it. (Mostly with kpy).

[0] http://www.knightos.org/


Thanks for the kind words! I'm glad to have caused chaos in your classrooms.


I've had a lot of fun with the rc2014 (rc2014.co.uk). You still gotta solder it, but it's all through-hole 0.1", so nothing scary.

It's a very (very!) modular gig, so you can pick'n'mix what to match what you're aiming for. from 32k & basic on rom, to banked ram, flashrom, cf, ide, etc.

rpi & esp8266 optional.


Thanks for that link. It looks very promising!

Still needs a bit of soldering, but I may try to find a neighborhood kid with better hands than I have to do it.


I think it would be fun to build one of these, but I don't really have a use for it.

I'm in the San Francisco Bay Area, let me know if you'd like to collaborate.


...And you can get a 6502 board for it as well.


This company sells new S-100 boards!

http://www.s100computers.com/Cards%20For%20Sale.htm

They have a Z-80 board. Lots of information about it here:

http://www.s100computers.com/My%20System%20Pages/Z80%20Board...

They also sell S-100 backplanes, serial boards, display boards, memory boards, and so on.

They have a Z80 single board computer too:

http://www.s100computers.com/My%20System%20Pages/Z80%20Board...

I have no connection to the company; I just think it's neat.


I had this project bookmarked for a while, perhaps not quite suitable but a step up from wire-wrapping:

https://www.tindie.com/products/Semachthemonkey/rc2014-class...

I'm a big fan of Z80-based projects, mostly because they're how I started coding. (48k Spectrum - https://blog.steve.fi/how_i_started_programming.html )

These days I have a hand-hand console with a spectrum emulator, which also plays gamegear/NES roms, but there's nothing quite like playing Manic Miner to make me feel nostalgic.

I dabble in ESP8266/Arduino projects for fun, but I'll never ignore z80 projects, and I'll always upvote them!


Hi folks, I see you found my 'parts bin' Z80 board!

Coincidentally, I'm reworking part of it on the desk in front of me right now. I'm removing the address decoder (top left) for the I/O (LED) port and am replacing it with a control line from the GAL (which is now a 22V10 instead of a 20V8).

Apart from giving me something to build, the intention is to use the board as a STEM show-and-tell item during school visits and local 'Jams' - I am a volunteer STEM ambassador in the UK and my company kindly gifts employees several 'volunteering' days a year for local activities, so I help out with career & STEM days as well as weekend special events (eg: https://twitter.com/linker3000/status/1020709404843421696).

Since I had the GALs to hand, using one is fine for me - but for those who haven't got a programmer it would be a bit of an expense to tool up for it, so I don't expect many to copy the design.

Someone asked in another thread about the single-sided wirewrapping technique; it IS really quick to do, is easy to trace where you're going to/from, rework is quick, PLUS as a STEM show-and-tell, everything is on one side so it can be left on a desk and doesn't need to be constantly picked up/put down to see everything; this reduces the risk of damaging the wiring and board.

Edit: The DIY retro build computer guys are really friendly and helpful, so do drop by and see what's going on:

https://groups.google.com/forum/#!forum/rc2014-z80

https://www.retrobrewcomputers.org/forum/index.php

https://www.retrobrewcomputers.org/doku.php

http://6502.org/homebuilt

There's other places out there too, those are just the ones I've actively used.

Thanks for the attention.


Is that same-side wirewrapping really better?

The project site lists several advantages including faster re-works and it being easier to see what you're connecting, but that doesn't seem to be the case since all of the wires are crammed into little channels between the chips.

On the underside of the board there's more room to spread the wires out, making it easier to see the pins and to find the wire you need to re-work - usually you can trace the wires visually, especially if you do some color coding.

They don't seem to be too hard to find, Jameco and Mouser (among other places) carry them, a 40 pin socket for a Z-80 costs $5


>A 40 pin socket for a Z-80 costs $5...

Yep + delivery to the UK...!

In the UK, Farnell and RS components don't list wirewrap sockets any more; they both sell Harwin SIL/turned pin wirewrap strips - but they are not cheap and to create a 40-pin socket would cost something like £4.20+.

A 40pin IC socket from Tayda in Thailand is $0.13. Since I usually buy around $20-$30 of parts at a time, delivery to the UK for around $4 is not an issue.


Pin 1 remains at top left, as it will be in the diagrams on the datasheet, rather than having to mentally flip everything. That's the possibility I can think of.


When I started wirewrapping, I'd use a magic marker to place a dot at the pin 1 to make it easier to visualize on an upside down board.

For a while I did some wirewrapping for a company (defense contractor) and the boards came drilled and with silkscreened component markings much like you'd see on a PCB. It's not clear why they went through all of the trouble to silkscreen and drill boards for wirewrapping and didn't just make PCB's. Probably a combination of the cost to create PCB's coupled with a low production run (they were building 5 custom products, so a pretty low volume)


This just demonstrates the Z80 love will never die ;)

Chips4Makers.io has just launched their own crowd funding campaign (seeking $22K) for the Retro-μC. A fully open-source micro-controller that runs three venerable retro CPU cores: the Zilog Z80, MOS 6502 and Motorola M68K. Yes, you read that correctly. It's like a TRS-80, Commodore-64 and Amiga on a single chip!

https://www.crowdsupply.com/chips4makers/retro-uc


I was excited when I first ran across that project on Crowd Supply, but for $42 you can buy multiples of all 3 processors. The advantage of using physical chips is they have the pinouts that have been used for decades and are well documented in hundreds of designs.

If you’re going to use an FPGA why only include the cores, what about peripherals? And if you’re synthesizing all that, how much better is it than just emulating the entire legacy system on ARM or x86? You say it’s those entire microcomputers on a chip, but isn’t it just the CPUs?

I’m not opposed to it, just looking to understand the motivation behind Retro-uC better.

Recently I ordered a set of 68k chips to build my own homebrew system, so I totally get building something that isn’t practical, where the journey is the destination.



Right! It seems like anyone who wants a retrocomputer on an FPGA would want to program it themselves. Considering you can get an EP2C5T144 dev kit for $20, and a USB-blaster for $10, I’m not sure I see any market for a $42 pre-programmed FPGA that may not be supported after it ships.


My first ASIC was validated like that. A much larger wire wrapped board with a bunch of FPGAs.

It only worked if you gently pushed with your hands into the wires, but it was sufficient to discover a bunch of bugs (that should have been found in simulation, but we were total cowboys back then.)


Your hands may have created some subtle RC time constants that killed a race condition.


The kicker is that it runs CP/M -- the demo shows WordStar


My first assembly language was Z80, not really hard but not a lot of fun. Then along came the Motorola 68000 and that instruction set was bliss.


I was lucky, in the sense that I jumped from Z80 to 386/486/etc. Because Zilog was basically founded by ex-Intel staff the instruction-sets weren't too dissimilar.

I could never get my head round 6502-instructions (as a teenager). These days I guess my knowledge is largely obsolete as I stopped writing Intel assembly language around the time SSE came out. Still there are times when I decompile & patch binaries for fun, so it wasn't entirely wasted.


I had the same phasing ( MSX 2 (Z80) -> Amiga (68k) ), but because I spent a lot more time on the Z80 and programmed many games and demos back then, I never really got to like the 68k or Amiga chips, although I did a lot of dev on it as well.


My route was 6502 (Acorn System 1, PET, UK101 and C64) -> Intel x86 (In-house dev). I've actually not done any Z80.. but at least I have a board for it now!


Please note that one of the screenshots shows:

  Z80 CP/M BIOS 1.0 by G. Searle 2007-13

  CP/M 2.2 Copyright 1979 (c) by Digital Research
A curious thing in all that is that Gary Kildall, the founder of Digital Research and the creator of CP/M, invented the concept of BIOS back then in the late 70s. We still use it today!

Please note how closely that CP/M boot text resembles newer variants we still meet in modern PCs.


How much more work would it be to build something similar with a 486? (Just as an example since I have such a CPU sitting on my desk). It's quite some more pins for sure, but how many of those are essential? And I don't mean to build something IBM PC compatible, just something that barely boots into some kind of shell and can run a basic interpreter or similar. Has this been done?


It would be very difficult to wirewrap a board that could support a 486, starting with the fact that I'm not sure wire-wrap sockets exist for it, so you'd either need a breakout or to get one custom-machined.

Once you have that, you'd want to think about clocking the chip way under its typical speed and seeing if it still gives useful results, because birds' nest wirewrap is not going to be especially useful at 16mhz.

You're right that most of the 168 pins in a typical 486 socket are not necessary or are redundant. At minimum you would need power, some address pins (probably not all of them, if you're only looking to run the most minimal program, call it 16 for a two-byte 64k address space), some data pins (again, you can probably get by with 8 if you're willing to use the 8-bit instructions only). There are a few misc pins that I don't know the exact use of, but you'll probably need 4-5 to do things like understand when the bus is in use, set up 8 bit bus mode etc.

Then you can think about what kind of i/o you want. For a minimal project, you can probably get by with driving LEDs straight from from address pins (i.e. read from a certain address in a tight loop to light it).

From here you can blow some ROMs with simple programs and convince yourself it works, but at this point you're really just treating a 486 like a 70s era micro (8080, 6502, CDP1802, etc) in a "trainer" like the KIM-1 (http://www.6502.org/trainers/buildkim/kim.htm).


There's a 386EX-based project. Not sure if it's still live:

https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:sb...



That's beautifully neat bit of wirewrapping. And the layout is very aesthetically pleasing. It feels like such craftsmanship should yield a computer faster than one you can buy off-the-shelf.


The StarTrek game was the first game I ever played. I asked my father to teach me decimals to fire the photon torpedos properly. Seeing this again brings back some really early memories.


Utterly brilliant!


Posted a bit too late :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: