Recent Changes - Search:

Projects

More

LuaZ80

LuaZ80 is a Open Source project (by me) that emulates a Z80 microprocessor in Lua. However, it's not just a simple read-decode-execute loop of normal emulators, but a dynamic translator that changes Z80 machine code into Lua code then executes that Lua code. This is sort of like a JIT compiler that translates Z80 into Lua.

It's a work in progress and a proof-of-concept project.

More information can be found at it's github page here: http://github.com/robzed/LuaZ80.

Z80 chip image adapted from http://commons.wikimedia.org Zilog_Z80.jpg by Gennadiy Shvets. Lua logo Copyright © 1998 Lua.org.

Other Emulators

As far as I know, it's the first Lua Z80 dynamic translator, and possibly the first Z80 Lua emulator (incomplete as it is...).

read-decode-execute emulators

The closest thing to a Z80 emulator (in Lua) is the Game Boy processor emulator inside Garryboy which is a Game Boy emulator for Garry's Mod. The Game Boy processor isn't a Z80, but an 8080-derived processor with some Z80 instructions added (CB prefix) as well as unique auto-increment/decrement addressing modes (wikipedia).

There are obviously plenty of C/C++ emulators. I've used zxsp (blog) a lot recently. I've also taken a look at an emulator called z81.

I've also taken a look at PyZX80, Py-emu, PyZ80 and the Perl Spectrum Emulator.

Other dynamic-translation emulators written in dynamic-programming-languages

Everyone should visit jslinux and read the FAQ and Technical notes. LuaZ80 doesn't share actual technical ideas or code from jslinux, but the fact such a cool thing was possible, has obviously been an influence.

Edit - History - Print - Recent Changes - Search
Page last modified on September 08, 2013, at 06:04 PM