[Jaromir Sukuba] built a very portable, low power consumption Z80 emulator using a PIC microcontroller. Looking through his build photos we love the clean and resilient construction which includes a breakout board for the PIC 32MX795F512H that interfaces with the main board via pin headers and sockets. He’s using a home-built keyboard and a 4×40 character display but there is also the option to communicate with the device over an RS232 connection. Oh, and yes it plays Zork, which seems to be the benchmark whether you are emulating a Z80 with AVR hardware, or if you built one from transistor-transistor logic.
18 thoughts on “Z80 Emulated On PIC Hardware”
Leave a Reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
I was impressed. Until I read “PIC 32″… that’s a heavy MIPS-beast, that’ll happily run C-Code. Anyway, nice job!
Pretty neat, I must say, I like the keyboard especially.
it could be done way simplier with a couple of atmegas (or single arduino)
you can also get a z80 clone from toshiba with a the standard chips (io etc) built in…
something tells me that price etc wasnt a major consideration here
@Dongcoptar
you Atmel fans just cant keep it quiet cant you ?
and Dongcoptar don’t compare 8.87$ for 32MX795F512H to arduino price. I wont go into performance comparison since there is no point
i wonder how you build it. i wish there was a parts list.
How odd, I was mentioning this project to someone else today and now here it is on Hack a Day. :-) Excellent work, Jaromir!
I like that keyboard, reminds of the old Soviet built Zx Spectrum clones.
It’s as visually pleasing as it is clever and well made.
Which is to say that it is beautiful all around!
Hello guys, thanks for your comments.
The code is written in pure C. So MIPS beast is needed here, as well for emulating peripherals (display, serial ports). Second reason for choosing this PIC was its 128kB of internal RAM – so I can run 64kB RAM virtual Z80 machine and huge RAM disk for CP/M. Adding external RAM to MCU lacking such as huge RAM would bring speed penalty, what more, device would be physically bigger. With PIC, it is only ONE(!) TQFP device – first revision of hardware had only two chips – PIC and MAX3232. Then I added external 128kB EEPROM and later I added FLASH, which is still not on pictures.
I’m planning to bring more details (more info than just 17 pictures in flickr) about this device, and make its portable, hand-held version.
The keyboard is made of single keys, salvaged from old computer, made in 80’s in former Czechoslovakia. There is a small PIC on board, outputting ASCII chars via USART for main PIC32.
That’s a nice, neat build. I’d be embarrassed to show some of the ugly stuff I’ve put together on perfboard.
hey Jaromir if you look at this page again could you please post a parts list!
mike:
sorry, I don’t know :-)
There is PIC32, PIC16 in keyboard, 25LC1024 EEPROM, MAX3232 as RS232 converter, LF33 in voltage regulator, display, 10k trimmer for contrast adjustment, 33 keys, few resistors and capacitors, few LEDs.
I’m planning to release schematics, sources etc… but I’m lacking spare time.
cantido: yes, price WAS major consideration here. Emulating it in PIC32 is definitely cheaper than getting unobtainable and expensive chip, what more, I can configure it as I need for running CP/M. Development is easier, as I don’t need to flash external program memory and I can debug it very easily.
So i have a question for what is this thing good?thx
Angelx: If you need to ask this question, then probably it is good for nothing, for you :)
You can run CP/M on it – google for it. Under CP/M, you can run software from 70’s and 80’s and that is it. Simply old computer.
i am looking to get into computer programming and this looks like a good starter project to get a general knowledge of how computers run, rather than just how to use one… any ideas for sites on how to build my own? and a overview of the coding? thanks brian
Amazing project! Have you considered to build a low-power computer with eInk display?(e.g. like this: http://www.ebay.com/itm/1st-Edition-Barnes-Noble-Nook-ED060SC4-LF-6-BNRZ100-eInk-Display-Screen/111378182537?_trksid=p2047675.c100009.m1982&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D23309%26meid%3D7583085650423948237%26pid%3D100009%26prg%3D9834%26rk%3D7%26rkt%3D10%26sd%3D291165509502)
I have HP100LX palmtop PC, which is powered from two AA-batteries. But having DIY CP/M computer with perfect display will be a dream :)