public void WriteVar(int location, int value) { if (location < 0x10) { Registers[location] = value; } else if (location < 0x46) { LocalVarSet(location, value); //invoke any special behaviours, like track switch for setting patch LocalVar[location - 0x10] = value; } else if (location < 0x64) { return; //not mapped } else if (location < 0x88) { VM.WriteGlobal(location - 0x64, value); } else if (location < 0x271a) { return; //not mapped } else if (location < 0x2737) { ObjectVar[location - 0x271a] = value; //this probably should not be valid... but if it is used it may require some reworking to get this to sync across object threads. } }