public IEC(C64Display display)
{
the_display = display;
int i;
// Create drives 8..11
for (i = 0; i < drive.Length; i++)
{
drive[i] = null; // Important because UpdateLEDs is called from the drive constructors (via set_error)
}
if (!GlobalPrefs.ThePrefs.Emul1541Proc)
{
Prefs prefs = GlobalPrefs.ThePrefs;
DriveType[] prefDrives = prefs.DriveType;
for (i = 0; i < drive.Length; i++)
{
if (!prefs.Emul1541Proc)
{
if (prefs.DriveType[i] == DriveType.DRVTYPE_DIR)
drive[i] = new FSDrive(this, prefs.DrivePath[i]);
else if (prefs.DriveType[i] == DriveType.DRVTYPE_D64)
drive[i] = new D64Drive(this, prefs.DrivePath[i], prefs.DriveData[i]);
else
drive[i] = new T64Drive(this, prefs.DrivePath[i]);
}
}
// TODO
//for (i = 0; i < prefDrives.Length; i++)
//{
// if (prefDrives[i] == DriveType.DRVTYPE_DIR)
// drive[i] = new FSDrive(this, GlobalPrefs.ThePrefs.DrivePath[i]);
// else if (prefDrives[i] == DriveType.DRVTYPE_D64)
// drive[i] = new D64Drive(this, GlobalPrefs.ThePrefs.DrivePath[i]);
// else
// drive[i] = new T64Drive(this, GlobalPrefs.ThePrefs.DrivePath[i]);
//}
}
listener_active = talker_active = false;
listening = false;
}