public void init(POS16HdwrMngr hmobj, ushort[] m) { hm = hmobj; mem = m; reg = new ushort[14]; sreg = new ushort[32]; //sreg[0] = software interrupt vector, sreg[1] = hardware interrupt vector hwiq = new ushort[256]; swiq = new ushort[256]; hwii = 0; swii = 0; }
public static void setup() { ushort[] mem = new ushort[65536]; //load ROM from "POS16.rom", otherwise quit POS16HdwrMngr hdwrmngr = new POS16HdwrMngr(); POS16CPU cpu = new POS16CPU(); hdwrmngr.init(cpu, mem); cpu.init(hdwrmngr, mem); Thread cput = new Thread(new ThreadStart(cpu.runCPU)); while (false) //replace false with some qualifiers or a checker function, like if the part still exists { } cput.Abort(); hdwrmngr.shutdown(); }