A C++ based 65C816 Emulator
Go to file
Andrew Jacobs 72a21b6af3 Bug fixes 2019-09-03 08:34:45 +01:00
examples Made class methods static for greater performance 2016-10-22 23:46:41 +01:00
.gitignore Added cycle counting and speed estimation 2016-06-28 22:26:54 +01:00
Makefile Incorporated changes for Ubuntu Mate on a Raspberry Pi 2016-06-27 23:08:51 +01:00
README.md Update README.md 2019-02-16 16:29:39 +00:00
emu816.cc Bug fixes 2019-09-03 08:34:45 +01:00
emu816.h Bug fixes 2019-09-03 08:34:45 +01:00
emu816.sln Added Visual Studio solution and example files 2016-06-27 23:01:09 +01:00
emu816.vcxproj Added S19 and updated to VS2017 2018-04-26 17:11:44 +01:00
emu816.vcxproj.filters Added Visual Studio solution and example files 2016-06-27 23:01:09 +01:00
emu816.vcxproj.user Added S19 and updated to VS2017 2018-04-26 17:11:44 +01:00
mem816.cc Made class methods static for greater performance 2016-10-22 23:46:41 +01:00
mem816.h Made class methods static for greater performance 2016-10-22 23:46:41 +01:00
program.cc Added WDM #$02 to allow character input 2018-06-18 13:53:34 +01:00
wdc816.cc Made class methods static for greater performance 2016-10-22 23:46:41 +01:00
wdc816.h Made class methods static for greater performance 2016-10-22 23:46:41 +01:00

README.md

emu816 - A C++ based 65C816 Emulator

The repository contains the source code for a simple 65C816 emulator for Windows, Linux and the embedded ChipKIT platform.

The major change since the last release has been the recoding of all the classes to make them static. This was done to increase the execution performance of the code. On my development laptop (AMD8 1.8GHz) it now runs at an emulated speed of around 225 MHz with full optimization.

There is no I/O at the moment or source of interrupts. Executing a WDM #$FF will cause the emulator to exit.

Building

The code is provided with a Visual Studio project for Windows and a Makefile for Linux plaforms.

A (very) simple example built with my DEV65 assembler is provided in the examples folder. Use the following command to run it.

emu816 -t examples/simple/simple.s28