Genesis - hook up lag counter (shows all frames as lag currently), and hook core up to input config dialog (1 controller only currently)
This commit is contained in:
parent
242e6c8aed
commit
b2748b7836
|
@ -7,9 +7,13 @@ using BizHawk.Emulation.Sound;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Consoles.Sega
|
namespace BizHawk.Emulation.Consoles.Sega
|
||||||
{
|
{
|
||||||
[CoreVersion("0.0.0.1", FriendlyName = "MegaHawk")]
|
[CoreVersion("0.0.0.1", FriendlyName = "MegaHawk")]
|
||||||
public sealed partial class Genesis : IEmulator
|
public sealed partial class Genesis : IEmulator
|
||||||
{
|
{
|
||||||
|
private int _lagcount = 0;
|
||||||
|
private bool lagged = true;
|
||||||
|
private bool islag = false;
|
||||||
|
|
||||||
// ROM
|
// ROM
|
||||||
public byte[] RomData;
|
public byte[] RomData;
|
||||||
|
|
||||||
|
@ -78,16 +82,18 @@ namespace BizHawk.Emulation.Consoles.Sega
|
||||||
SoundCPU.ReadHardware = x => 0xFF;
|
SoundCPU.ReadHardware = x => 0xFF;
|
||||||
SoundCPU.IRQCallback = () => SoundCPU.Interrupt = false;
|
SoundCPU.IRQCallback = () => SoundCPU.Interrupt = false;
|
||||||
Z80Reset = true;
|
Z80Reset = true;
|
||||||
RomData = new byte[0x400000];
|
RomData = new byte[0x400000];
|
||||||
for (int i = 0; i < rom.Length; i++)
|
for (int i = 0; i < rom.Length; i++)
|
||||||
RomData[i] = rom[i];
|
RomData[i] = rom[i];
|
||||||
|
|
||||||
SetupMemoryDomains();
|
SetupMemoryDomains();
|
||||||
MainCPU.Reset();
|
MainCPU.Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FrameAdvance(bool render)
|
public void FrameAdvance(bool render)
|
||||||
{
|
{
|
||||||
|
lagged = true;
|
||||||
|
|
||||||
Frame++;
|
Frame++;
|
||||||
PSG.BeginFrame(SoundCPU.TotalExecutedCycles);
|
PSG.BeginFrame(SoundCPU.TotalExecutedCycles);
|
||||||
for (VDP.ScanLine = 0; VDP.ScanLine < 262; VDP.ScanLine++)
|
for (VDP.ScanLine = 0; VDP.ScanLine < 262; VDP.ScanLine++)
|
||||||
|
@ -96,7 +102,7 @@ namespace BizHawk.Emulation.Consoles.Sega
|
||||||
|
|
||||||
if (VDP.ScanLine < 224)
|
if (VDP.ScanLine < 224)
|
||||||
VDP.RenderLine();
|
VDP.RenderLine();
|
||||||
|
|
||||||
MainCPU.ExecuteCycles(487); // 488??
|
MainCPU.ExecuteCycles(487); // 488??
|
||||||
if (Z80Runnable)
|
if (Z80Runnable)
|
||||||
{
|
{
|
||||||
|
@ -107,7 +113,7 @@ namespace BizHawk.Emulation.Consoles.Sega
|
||||||
|
|
||||||
if (VDP.ScanLine == 224)
|
if (VDP.ScanLine == 224)
|
||||||
{
|
{
|
||||||
MainCPU.ExecuteCycles(16);// stupid crap to sync with genesis plus for log testing
|
MainCPU.ExecuteCycles(16);// stupid crap to sync with genesis plus for log testing
|
||||||
// End-frame stuff
|
// End-frame stuff
|
||||||
if (VDP.VInterruptEnabled)
|
if (VDP.VInterruptEnabled)
|
||||||
MainCPU.Interrupt = 6;
|
MainCPU.Interrupt = 6;
|
||||||
|
@ -117,6 +123,15 @@ namespace BizHawk.Emulation.Consoles.Sega
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PSG.EndFrame(SoundCPU.TotalExecutedCycles);
|
PSG.EndFrame(SoundCPU.TotalExecutedCycles);
|
||||||
|
|
||||||
|
Controller.UpdateControls(Frame++);
|
||||||
|
if (lagged)
|
||||||
|
{
|
||||||
|
_lagcount++;
|
||||||
|
islag = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
islag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CoreInputComm CoreInputComm { get; set; }
|
public CoreInputComm CoreInputComm { get; set; }
|
||||||
|
@ -133,8 +148,8 @@ namespace BizHawk.Emulation.Consoles.Sega
|
||||||
}
|
}
|
||||||
|
|
||||||
public int Frame { get; set; }
|
public int Frame { get; set; }
|
||||||
public int LagCount { get { return -1; } set { return; } } //TODO: Implement
|
public int LagCount { get { return _lagcount; } set { _lagcount = value; } }
|
||||||
public bool IsLagFrame { get { return false; } }
|
public bool IsLagFrame { get { return islag; } }
|
||||||
public bool DeterministicEmulation { get; set; }
|
public bool DeterministicEmulation { get; set; }
|
||||||
public string SystemId { get { return "GEN"; } }
|
public string SystemId { get { return "GEN"; } }
|
||||||
|
|
||||||
|
@ -180,30 +195,30 @@ namespace BizHawk.Emulation.Consoles.Sega
|
||||||
return new byte[0];
|
return new byte[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
IList<MemoryDomain> memoryDomains;
|
IList<MemoryDomain> memoryDomains;
|
||||||
|
|
||||||
void SetupMemoryDomains()
|
void SetupMemoryDomains()
|
||||||
{
|
{
|
||||||
var domains = new List<MemoryDomain>(3);
|
var domains = new List<MemoryDomain>(3);
|
||||||
var MainMemoryDomain = new MemoryDomain("68000 RAM", Ram.Length, Endian.Big,
|
var MainMemoryDomain = new MemoryDomain("68000 RAM", Ram.Length, Endian.Big,
|
||||||
addr => Ram[addr & 0xFFFF],
|
addr => Ram[addr & 0xFFFF],
|
||||||
(addr, value) => Ram[addr & 0xFFFF] = value);
|
(addr, value) => Ram[addr & 0xFFFF] = value);
|
||||||
var Z80Domain = new MemoryDomain("Z80 RAM", Z80Ram.Length, Endian.Little,
|
var Z80Domain = new MemoryDomain("Z80 RAM", Z80Ram.Length, Endian.Little,
|
||||||
addr => Z80Ram[addr & 0x1FFF],
|
addr => Z80Ram[addr & 0x1FFF],
|
||||||
(addr, value) => { Z80Ram[addr & 0x1FFF] = value; });
|
(addr, value) => { Z80Ram[addr & 0x1FFF] = value; });
|
||||||
|
|
||||||
var VRamDomain = new MemoryDomain("Video RAM", VDP.VRAM.Length, Endian.Big,
|
var VRamDomain = new MemoryDomain("Video RAM", VDP.VRAM.Length, Endian.Big,
|
||||||
addr => VDP.VRAM[addr & 0xFFFF],
|
addr => VDP.VRAM[addr & 0xFFFF],
|
||||||
(addr, value) => VDP.VRAM[addr & 0xFFFF] = value);
|
(addr, value) => VDP.VRAM[addr & 0xFFFF] = value);
|
||||||
|
|
||||||
domains.Add(MainMemoryDomain);
|
domains.Add(MainMemoryDomain);
|
||||||
domains.Add(Z80Domain);
|
domains.Add(Z80Domain);
|
||||||
domains.Add(VRamDomain);
|
domains.Add(VRamDomain);
|
||||||
memoryDomains = domains.AsReadOnly();
|
memoryDomains = domains.AsReadOnly();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IList<MemoryDomain> MemoryDomains { get { return memoryDomains; } }
|
public IList<MemoryDomain> MemoryDomains { get { return memoryDomains; } }
|
||||||
public MemoryDomain MainMemory { get { return memoryDomains[0]; } }
|
public MemoryDomain MainMemory { get { return memoryDomains[0]; } }
|
||||||
|
|
||||||
public void Dispose() { }
|
public void Dispose() { }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
namespace BizHawk.Emulation.Consoles.Sega
|
namespace BizHawk.Emulation.Consoles.Sega
|
||||||
{
|
{
|
||||||
partial class Genesis
|
partial class Genesis
|
||||||
{
|
{
|
||||||
public static readonly ControllerDefinition GenesisController = new ControllerDefinition
|
public static readonly ControllerDefinition GenesisController = new ControllerDefinition
|
||||||
{
|
{
|
||||||
Name = "Genesis 3-Button Controller",
|
Name = "Genesis 3-Button Controller",
|
||||||
BoolButtons =
|
BoolButtons =
|
||||||
{
|
{
|
||||||
"Reset",
|
"Reset",
|
||||||
"P1 Up", "P1 Down", "P1 Left", "P1 Right", "P1 A", "P1 B", "P1 C", "P1 Start"
|
"P1 Up", "P1 Down", "P1 Left", "P1 Right", "P1 A", "P1 B", "P1 C", "P1 Start"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public ControllerDefinition ControllerDefinition { get { return GenesisController; } }
|
public ControllerDefinition ControllerDefinition { get { return GenesisController; } }
|
||||||
public IController Controller { get; set; }
|
public IController Controller { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -17,6 +17,9 @@
|
||||||
NESController[3] = new NESControllerTemplate(false);
|
NESController[3] = new NESControllerTemplate(false);
|
||||||
GameBoyController = new NESControllerTemplate(true);
|
GameBoyController = new NESControllerTemplate(true);
|
||||||
TI83Controller[0] = new TI83ControllerTemplate(true);
|
TI83Controller[0] = new TI83ControllerTemplate(true);
|
||||||
|
|
||||||
|
GenesisController[0] = new GenControllerTemplate(true);
|
||||||
|
GenesisAutoController[0] = new GenControllerTemplate(true);
|
||||||
|
|
||||||
NESAutoController[0] = new NESControllerTemplate(false);
|
NESAutoController[0] = new NESControllerTemplate(false);
|
||||||
NESAutoController[1] = new NESControllerTemplate(false);
|
NESAutoController[1] = new NESControllerTemplate(false);
|
||||||
|
@ -443,8 +446,8 @@
|
||||||
public PCEControllerTemplate[] PCEAutoController = new PCEControllerTemplate[5];
|
public PCEControllerTemplate[] PCEAutoController = new PCEControllerTemplate[5];
|
||||||
|
|
||||||
// Genesis Settings
|
// Genesis Settings
|
||||||
public GenControllerTemplate GenesisController = new GenControllerTemplate(true);
|
public GenControllerTemplate[] GenesisController = new GenControllerTemplate[1];
|
||||||
public GenControllerTemplate GenesisAutoController = new GenControllerTemplate();
|
public GenControllerTemplate[] GenesisAutoController = new GenControllerTemplate[1];
|
||||||
|
|
||||||
//GameBoy Settings
|
//GameBoy Settings
|
||||||
public NESControllerTemplate GameBoyController = new NESControllerTemplate(true);
|
public NESControllerTemplate GameBoyController = new NESControllerTemplate(true);
|
||||||
|
@ -621,33 +624,35 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GenControllerTemplate
|
public class GenControllerTemplate
|
||||||
{
|
{
|
||||||
public string Up = "";
|
public string Up = "";
|
||||||
public string Down = "";
|
public string Down = "";
|
||||||
public string Left = "";
|
public string Left = "";
|
||||||
public string Right = "";
|
public string Right = "";
|
||||||
public string A = "";
|
public string A = "";
|
||||||
public string B = "";
|
public string B = "";
|
||||||
public string C = "";
|
public string C = "";
|
||||||
public string Start = "";
|
public string Start = "";
|
||||||
|
public bool Enabled;
|
||||||
|
|
||||||
public GenControllerTemplate() { }
|
public GenControllerTemplate() { }
|
||||||
public GenControllerTemplate(bool defaults)
|
public GenControllerTemplate(bool defaults)
|
||||||
{
|
{
|
||||||
if (defaults)
|
if (defaults)
|
||||||
{
|
{
|
||||||
Up = "UpArrow, J1 Up";
|
Enabled = true;
|
||||||
Down = "DownArrow, J1 Down";
|
Up = "UpArrow, J1 Up";
|
||||||
Left = "LeftArrow, J1 Left";
|
Down = "DownArrow, J1 Down";
|
||||||
Right = "RightArrow, J1 Right";
|
Left = "LeftArrow, J1 Left";
|
||||||
A = "Z, J1 B1";
|
Right = "RightArrow, J1 Right";
|
||||||
B = "X, J1 B3";
|
A = "Z, J1 B1";
|
||||||
C = "C, J1 B4";
|
B = "X, J1 B3";
|
||||||
Start = "Return, J1 B8";
|
C = "C, J1 B4";
|
||||||
}
|
Start = "Return, J1 B8";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class TI83ControllerTemplate
|
public class TI83ControllerTemplate
|
||||||
{
|
{
|
||||||
|
|
|
@ -634,26 +634,26 @@ namespace BizHawk.MultiClient
|
||||||
Global.AutofireGBControls = agbControls;
|
Global.AutofireGBControls = agbControls;
|
||||||
|
|
||||||
var genControls = new Controller(Genesis.GenesisController);
|
var genControls = new Controller(Genesis.GenesisController);
|
||||||
genControls.BindMulti("P1 Up", Global.Config.GenesisController.Up);
|
genControls.BindMulti("P1 Up", Global.Config.GenesisController[0].Up);
|
||||||
genControls.BindMulti("P1 Left", Global.Config.GenesisController.Left);
|
genControls.BindMulti("P1 Left", Global.Config.GenesisController[0].Left);
|
||||||
genControls.BindMulti("P1 Right", Global.Config.GenesisController.Right);
|
genControls.BindMulti("P1 Right", Global.Config.GenesisController[0].Right);
|
||||||
genControls.BindMulti("P1 Down", Global.Config.GenesisController.Down);
|
genControls.BindMulti("P1 Down", Global.Config.GenesisController[0].Down);
|
||||||
genControls.BindMulti("P1 A", Global.Config.GenesisController.A);
|
genControls.BindMulti("P1 A", Global.Config.GenesisController[0].A);
|
||||||
genControls.BindMulti("P1 B", Global.Config.GenesisController.B);
|
genControls.BindMulti("P1 B", Global.Config.GenesisController[0].B);
|
||||||
genControls.BindMulti("P1 C", Global.Config.GenesisController.C);
|
genControls.BindMulti("P1 C", Global.Config.GenesisController[0].C);
|
||||||
genControls.BindMulti("P1 Start", Global.Config.GenesisController.Start);
|
genControls.BindMulti("P1 Start", Global.Config.GenesisController[0].Start);
|
||||||
Global.GenControls = genControls;
|
Global.GenControls = genControls;
|
||||||
|
|
||||||
var agenControls = new AutofireController(Genesis.GenesisController);
|
var agenControls = new AutofireController(Genesis.GenesisController);
|
||||||
agbControls.Autofire = true;
|
agbControls.Autofire = true;
|
||||||
genControls.BindMulti("P1 Up", Global.Config.GenesisAutoController.Up);
|
genControls.BindMulti("P1 Up", Global.Config.GenesisAutoController[0].Up);
|
||||||
genControls.BindMulti("P1 Left", Global.Config.GenesisAutoController.Left);
|
genControls.BindMulti("P1 Left", Global.Config.GenesisAutoController[0].Left);
|
||||||
genControls.BindMulti("P1 Right", Global.Config.GenesisAutoController.Right);
|
genControls.BindMulti("P1 Right", Global.Config.GenesisAutoController[0].Right);
|
||||||
genControls.BindMulti("P1 Down", Global.Config.GenesisAutoController.Down);
|
genControls.BindMulti("P1 Down", Global.Config.GenesisAutoController[0].Down);
|
||||||
genControls.BindMulti("P1 A", Global.Config.GenesisAutoController.A);
|
genControls.BindMulti("P1 A", Global.Config.GenesisAutoController[0].A);
|
||||||
genControls.BindMulti("P1 B", Global.Config.GenesisAutoController.B);
|
genControls.BindMulti("P1 B", Global.Config.GenesisAutoController[0].B);
|
||||||
genControls.BindMulti("P1 C", Global.Config.GenesisAutoController.C);
|
genControls.BindMulti("P1 C", Global.Config.GenesisAutoController[0].C);
|
||||||
genControls.BindMulti("P1 Start", Global.Config.GenesisAutoController.Start);
|
genControls.BindMulti("P1 Start", Global.Config.GenesisAutoController[0].Start);
|
||||||
Global.AutofireGenControls = agenControls;
|
Global.AutofireGenControls = agenControls;
|
||||||
|
|
||||||
var TI83Controls = new Controller(TI83.TI83Controller);
|
var TI83Controls = new Controller(TI83.TI83Controller);
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace BizHawk.MultiClient
|
||||||
const string ControllerStr = "Configure Controllers - ";
|
const string ControllerStr = "Configure Controllers - ";
|
||||||
public static string[] SMSControlList = new string[] { "Up", "Down", "Left", "Right", "B1", "B2", "Pause", "Reset" };
|
public static string[] SMSControlList = new string[] { "Up", "Down", "Left", "Right", "B1", "B2", "Pause", "Reset" };
|
||||||
public static string[] PCEControlList = new string[] { "Up", "Down", "Left", "Right", "I", "II", "Run", "Select" };
|
public static string[] PCEControlList = new string[] { "Up", "Down", "Left", "Right", "I", "II", "Run", "Select" };
|
||||||
public static string[] GenesisControlList = new string[] { "Up", "Down", "Left", "Right", "A", "B", "C", "Start", "X,T,0", "Y=", "Z" };
|
public static string[] GenesisControlList = new string[] { "Up", "Down", "Left", "Right", "A", "B", "C", "Start", };
|
||||||
public static string[] NESControlList = new string[] { "Up", "Down", "Left", "Right", "A", "B", "Select", "Start" };
|
public static string[] NESControlList = new string[] { "Up", "Down", "Left", "Right", "A", "B", "Select", "Start" };
|
||||||
public static string[] TI83ControlList = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "ON",
|
public static string[] TI83ControlList = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "ON",
|
||||||
"ENTER", "Up", "Down", "Left", "Right", "+", "-", "Multiply", "Divide", "CLEAR", "^", "-", "(", ")", "TAN", "VARS",
|
"ENTER", "Up", "Down", "Left", "Right", "+", "-", "Multiply", "Divide", "CLEAR", "^", "-", "(", ")", "TAN", "VARS",
|
||||||
|
@ -309,8 +309,80 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void DoGen()
|
private void DoGen()
|
||||||
{
|
{
|
||||||
|
Label TempLabel;
|
||||||
|
InputWidget TempTextBox;
|
||||||
this.Text = ControllerStr + "Sega Genesis";
|
this.Text = ControllerStr + "Sega Genesis";
|
||||||
ControllerImage.Image = BizHawk.MultiClient.Properties.Resources.GENController;
|
ControllerImage.Image = BizHawk.MultiClient.Properties.Resources.GENController;
|
||||||
|
int jpad = this.ControllComboBox.SelectedIndex;
|
||||||
|
string[] ButtonMappings = new string[GenesisControlList.Length];
|
||||||
|
ButtonMappings[0] = Global.Config.GenesisController[0].Up;
|
||||||
|
ButtonMappings[1] = Global.Config.GenesisController[0].Down;
|
||||||
|
ButtonMappings[2] = Global.Config.GenesisController[0].Left;
|
||||||
|
ButtonMappings[3] = Global.Config.GenesisController[0].Right;
|
||||||
|
ButtonMappings[4] = Global.Config.GenesisController[0].A;
|
||||||
|
ButtonMappings[5] = Global.Config.GenesisController[0].B;
|
||||||
|
ButtonMappings[6] = Global.Config.GenesisController[0].C;
|
||||||
|
ButtonMappings[7] = Global.Config.GenesisController[0].Start;
|
||||||
|
|
||||||
|
IDX_CONTROLLERENABLED.Checked = Global.Config.GenesisController[0].Enabled;
|
||||||
|
Changed = true;
|
||||||
|
Labels.Clear();
|
||||||
|
TextBoxes.Clear();
|
||||||
|
|
||||||
|
for (int i = 0; i < GenesisControlList.Length; i++)
|
||||||
|
{
|
||||||
|
TempLabel = new Label();
|
||||||
|
TempLabel.Text = GenesisControlList[i];
|
||||||
|
TempLabel.Location = new Point(8, 20 + (i * 24));
|
||||||
|
Labels.Add(TempLabel);
|
||||||
|
TempTextBox = new InputWidget();
|
||||||
|
TempTextBox.Location = new Point(48, 20 + (i * 24));
|
||||||
|
TextBoxes.Add(TempTextBox);
|
||||||
|
TempTextBox.SetBindings(ButtonMappings[i]);
|
||||||
|
ButtonsGroupBox.Controls.Add(TempTextBox);
|
||||||
|
ButtonsGroupBox.Controls.Add(TempLabel);
|
||||||
|
}
|
||||||
|
Changed = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateGen(int prev)
|
||||||
|
{
|
||||||
|
ButtonsGroupBox.Controls.Clear();
|
||||||
|
InputWidget TempBox;
|
||||||
|
Label TempLabel;
|
||||||
|
|
||||||
|
TempBox = TextBoxes[0] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].Up = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Up);
|
||||||
|
TempBox.Dispose();
|
||||||
|
TempBox = TextBoxes[1] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].Down = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Down);
|
||||||
|
TempBox.Dispose();
|
||||||
|
TempBox = TextBoxes[2] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].Left = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Left);
|
||||||
|
TempBox.Dispose();
|
||||||
|
TempBox = TextBoxes[3] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].Right = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Right);
|
||||||
|
TempBox.Dispose();
|
||||||
|
TempBox = TextBoxes[4] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].A = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].I);
|
||||||
|
TempBox.Dispose();
|
||||||
|
TempBox = TextBoxes[5] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].B = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].II);
|
||||||
|
TempBox.Dispose();
|
||||||
|
TempBox = TextBoxes[6] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].C = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Run);
|
||||||
|
TempBox.Dispose();
|
||||||
|
TempBox = TextBoxes[7] as InputWidget;
|
||||||
|
Global.Config.GenesisController[0].Start = AppendButtonMapping(TempBox.Text, Global.Config.PCEController[prev].Select);
|
||||||
|
TempBox.Dispose();
|
||||||
|
Global.Config.GenesisController[0].Enabled = IDX_CONTROLLERENABLED.Checked;
|
||||||
|
|
||||||
|
for (int i = 0; i < GenesisControlList.Length; i++)
|
||||||
|
{
|
||||||
|
TempLabel = Labels[i] as Label;
|
||||||
|
TempLabel.Dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DoTI83()
|
private void DoTI83()
|
||||||
|
|
Loading…
Reference in New Issue