You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

z80 computer with arduino coprocessor.

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

0
b/Hardware publicado por u/c4ooo December 22, 2017, 11:18:00 PM
I built a prototype for a z80 computer that uses an arduino for communication and bootstrapping. I can assemble a z80 source program with brass, and send it to the arduino with a small python program. The arduino is running a firmware program that waits for a program to be sent over serial, which it loads into the ram chip for the z80 to execute. The z80 communicates with the arduino via IO requests. The arduino<-->z80 API only contains 3 commands, but these can be used for the z80 to send messages to the PC via serial.

This is a small test program to send "test1" and "12345" to the PC via serial:

#define output(x, y) ld a,y \ out (x),a
#define command(x) output(PORT_COMMAND, x)
output(PORT_ADD_LOW, writeTo & FFh)
output(PORT_ADD_HIGH, writeTo >> 8) ;set data act-on address to writeTo
ld hl,string1
ld de,writeTo
ld bc,6
ldir ;copy string1 to writeTo
command(COMMAND_WRITE_SERIEL) ;tell arduino to send data from act-on address to PC
;stuff
ld hl,string2
ld de,writeTo
ld bc,6
ldir ;copy string2 to writeTo
command(COMMAND_WRITE_SERIEL) ;tell arduino to send data from act-on address to PC
jr $ ;do nothing
string1:
.db "test1",0
string2:
.db "12345",0
writeTo:


Picture:


Todo:

    Use external clock. (Currently arduino is generating a clock signal)
    Upgrade to 128kb ram chip. (Currently i am using a 32kb one)
    Make arduino use pin registers for control signal IO. (minor)
    Make a paging circuit for said ram chip.
    Add an LCD
    Write an OS(?)
    Add an SD card(?)
    Make PCB (?)
Inicia sesión o crea una cuenta para dejar un comentario
u/Yuki December 23, 2017, 12:53:20 AM
Ooooh, sounds fun. Any idea what you want to do with this?
u/c4ooo December 23, 2017, 02:20:09 AM
Quote from: Juju on December 23, 2017, 12:53:20 AM
Ooooh, sounds fun. Any idea what you want to do with this?
I dont know, i wanted to build something in the spirit of the Ninjabyte ZPX-128 ( https://codewalr.us/index.php?topic=1001.0 ) And had the part laying around. My main changes from the ninjabyte will be the use of an arduino 'stead of a Parallel Propeller (This can be an arduino mega shield), and the use of an LCD not VGA output.
u/DarkestEx April 10, 2020, 10:11:27 PM
What happened to your project? Did it go further?
u/c4ooo April 26, 2020, 06:47:46 AM
Quote from: DarkestEx on April 10, 2020, 10:11:27 PMWhat happened to your project? Did it go further?
Not really. At some point I made a VGA generator (which you saw). Later I bought a FPGA and did some VGA/CPU stuff on it. I'm mostly focused on school and software stuff at the moment. I find hardware stuff very daunting. @DarkestEx
u/Zeda April 26, 2020, 02:18:55 PM
Wow, I missed this project :0
I have a Z80 and my spouse has an Arduino, this might be a cool project to work on :0
Start a Discussion

b/Hardware

Building a robot, some old-school handheld or other piece of hardware? This is the section to showcase it.

56
Topics
Explore Board
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal