private void init()
{
//various non-emulation related initialisation
errorMessages = new LinkedList<String>();
hasErrors = false;
//initialise cpu-emulator
pc = 128;//is this really right?
memory = new CacheManager();
floatStack = new float[2, 4];
fss = 0;
fsp = new int[2];
fsp[0] = -1;
fsp[1] = -1;
fsbc = new int[2];
interruptsPending = new Queue<Int32>();
memory.Memory[41] = 1024;//see if we can't move this to the boot code
register = new Int32[32];
//init hardware
hardware = new LinkedList<IPCHardware>();
//initialise the timer
hwConnect(new PCTimer());
//initialise interrupt manager
interruptStatus = new IntStatus();
hwConnect(interruptStatus);
}