Its written in C++, using SDL as its display library. The source is completely cross platform.
Its being written just for fun and to experiment. As such, we don't really care about overhead, unless it causes a dramatic slow down.
Everything is OO, even the opcodes:
Code:
#include "stdafx.h"
#include "opcodes.h"
namespace COR
{
MOS_LDX::MOS_LDX(void)
{
this->opcode = 0xA2;
this->count = 2;
}
void MOS_LDX::execute(CPU *cpu)
{
cpu->regArray[MOS::reg_x] = cpu->memArray[cpu->regArray[MOS::reg_ip]+1];
cpu->regArray[MOS::reg_ip] += this->count;
return;
}
}
Would be the MOS 6502 opcode LDX.
The monitor is currently able to emulate anything from 80x26 text mode to 640x480 video mode.
x86 support is still far off, as we are all just learning
The 6502 is a fun starter, and having a working Apple II is a hoot.