z80 emulator (with plugins for devices)


codifies

Very Active Member
Joined
Sep 29, 2014
Messages
360
okay so I know this isn't specific to the Pandora/Pyra but I know there are a lot of people interested in emulating different systems.... it should just compile out of the box with the right libraries (basically gtk3!) and it'll be working on the Pyra as soon as I get my hands on one...

Its at a very early stage, but the main aim is to enable you to design your own system, by deciding which devices (plugins) you want to use and where on the port/address map they should appear

enjoy my not dulcet tones...!
 
I like where you're going with this; I was writing something similar awhile back (an emulator of sorts, for my own custom computer that I build a year or so back.) Nice :)

jeff
 
Thanks for showing me that. Looks like a nice environment to virtually play with a Z80.
As constructive criticism I can give you:
Explain more about the software. It looks feature-rich. I feel like you skipped immediately to the good stuff. Love that. plug-ins were explained. But I lack background. Setup looked hard to do it myself...
Which platforms does it run on (compile, actually you grab it from github), tell the people there is a link in the description... but there are just keywords for a search (to be fair, all that could be interested in the software and your video already know github,,,).
For the ones that like this but do not know how to find the git url ... https://github.com/chriscamacho/runz80
To be honest, the instructions are minimal... good job on compiling that and showing a running version, when I have time, I will give it a go.
big plus for keeping the blooper in. A bit of humor and I can relate to that d'oh moment. The crescendo towards the running demo was good, the demo itself, very fun to watch (enough was explained to know what was going to happen, which made it engaging).
The Outro.. meh.. could have a better outtro. Like: Want to try it yourself... do this, go there, read this. You got all these people hyped up to have "moar".
The people that were not interested already stopped watching, only a tiny few, really interested, are still watching. They like it, they might want more. So... give them "moar". Do not forget that "cherry on top". Price your viewers that make it to the end.
 
@FBnil thanks for your interest - bare in mind the project is 3 days old!!! I didn't so much skip to the good stuff as went straight to all there is.... I seem to remember youtube not liking URL's in descriptions but figured out people wouldn't have too much trouble finding it ;)
 
When you talk about the z80 ports/addresses, are these network ports/addresses on the POSIX system, or just conceptual ports used within your software? So I wouldn't need to set up a firewall to stop people messing with my simulation, or worse?

FWIW, I see loads of yt vids with URLs in the description, so if there is a restriction, it's very subtle.
 
Addresses as in z80 memory addresses, the z80 has hardware ports sharing the address and data buses
 
So, this sounds kind of like a software FPGA type thing, am I right?

ie, I could write a "graphics card" plugin, that maps to a portion of ram and generates an SDL window? Then you can have a program running off the Z80 which alters that memory space, and effectively draw to the screen?
 
not really an fpga, must something that runs Z80 assembly code, that you can write your own emulated devices for...

BUT you are exactly right in that you can write a framebuffer that uses a portion of the CPU's address space - which is exactly what the next plugin will do!

I'm thinking of emulating this https://www.sparkfun.com/products/710 at 128x64 / 8 (8 bits a byte!) as a framebuffer device (ie the cpu would just write an area of memory and the "circuit" takes care of the LCD interface) even fully laid out as a complete memory map you're only using 1KB of the 64KB address space...
 
Yeah, I was only loosely coupling it to FPGA - just because that you implement each hardware component in a seperate block, then wire them up all together, and this sounds very similar. It's just yours has a fixed Z80 CPU core.

I don't really know any Z80, but sounds like something I'd want to play with.
 
I was reluctant to use fpga as an analogy due to the large differences with C and any HDL (HDL's can be painful!)

the z80 is a great target for learning assembly language and low level programming in general with a more comprehensive instruction set than the 6502 but without it being massively more complicated....
 
Back
Top