A C++ based 65C816 Emulator
Go to file
2018-04-26 14:35:39 +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
emu816.cc Added simple output 2018-04-26 14:35:39 +01:00
emu816.h Added simple output 2018-04-26 14:35:39 +01:00
emu816.sln Added Visual Studio solution and example files 2016-06-27 23:01:09 +01:00
emu816.vcxproj Made class methods static for greater performance 2016-10-22 23:46:41 +01:00
emu816.vcxproj.filters Added Visual Studio solution and example files 2016-06-27 23:01:09 +01:00
emu816.vcxproj.user Snapshot of latest code 2017-11-24 14:40:47 +00:00
Makefile Incorporated changes for Ubuntu Mate on a Raspberry Pi 2016-06-27 23:08:51 +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 Merge branch 'master' of https://github.com/andrew-jacobs/emu816 2016-10-22 23:59:13 +01:00
README.md Made class methods static for greater performance 2016-10-22 23:46:41 +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

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.

This is the second release of the code and it has only had a limited amount of testing. Currently there is no support for decimal arithmetic but the full instruction set is supported.

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