#ifndef _SERIAL_H
#define _SERIAL_H
#include "SDL/SDL.h"
class CSerial {
protected:
static unsigned int NrOfDevicesAttached;
static CSerial *RootDevice;
static CSerial *LastDevice;
CSerial *PrevDevice;
CSerial *NextDevice;
char Name[16];
public:
CSerial();
~CSerial();
CSerial(unsigned int DevNr);
static Uint8 Line[16];
static void InitPorts();
Uint8 ReadBus();
Uint32 DeviceNr;
virtual void UpdateSerialState(Uint8 ) { };
static class CSerial *Devices[16];
friend class TEDMEM;
};
class CRealSerialIEC : public CSerial {
virtual void NewSerialState(Uint8 Clk);
};
class IEC;
class CFakeSerialIEC : public CSerial {
virtual void NewSerialState(Uint8 Clk);
IEC *iec;
};
class CTrueSerialIEC : public CSerial {
virtual void NewSerialState(Uint32 Clk);
};
#endif