public EthernetController(DSystem system) { _system = system; _fifo = new Queue <ushort>(); _inputPacket = new Queue <ushort>(); _outputPacket = new Queue <ushort>(); _pendingPackets = new Queue <MemoryStream>(); _crc32 = new CRC32(); // Attach real Ethernet device if user has specified one, otherwise leave unattached; output data // will go into a bit-bucket. try { if (Configuration.HostRawEthernetInterfacesAvailable && !string.IsNullOrWhiteSpace(Configuration.HostPacketInterfaceName)) { _hostInterface = new HostEthernetEncapsulation(Configuration.HostPacketInterfaceName); _hostInterface.RegisterReceiveCallback(OnHostPacketReceived); } } catch (Exception e) { _hostInterface = null; Log.Write(LogComponent.HostEthernet, "Unable to configure network interface. Error {0}", e.Message); } _readerLock = new ReaderWriterLockSlim(); // Start the ethernet reciever poll event, this will run forever. _system.Scheduler.Schedule(_receiverPollInterval, ReceiverPollCallback); Reset(); }
public ShugartController(DSystem system, SA1000Drive drive) { _system = system; _drive = drive; _writePipeline = new Queue <ushort>(); }
public DebuggerMain(DSystem system, DebuggerReason reason, string message) { InitializeComponent(); _reason = reason; _entryMessage = message; _system = system; }
public DisplayController(DSystem system) { _system = system; _lostSyncEvent = new Event(_lostSyncInterval, null, LostSyncCallback); _fifo = new Queue <ushort>(16); }
public DWindow(DSystem system) { _system = system; InitializeComponent(); InitializeIO(); PopulateAltBoot(); _frameTimer = new System.Windows.Forms.Timer(); _frameTimer.Interval = 1000; _frameTimer.Tick += OnFrameTimerTick; _frameTimer.Start(); _system.ExecutionStateChanged += OnExecutionStateChanged; _system.IOP.MiscIO.MPChanged += OnMPCodeChanged; // // Load any disks referenced by the configuration. // if (!string.IsNullOrWhiteSpace(Configuration.FloppyDriveImage)) { try { _system.IOP.FloppyController.Drive.LoadDisk(new FloppyDisk(Configuration.FloppyDriveImage)); } catch (Exception e) { Log.Write(LogType.Error, LogComponent.Configuration, "Unable to load floppy image {0}. Error {1}", Configuration.FloppyDriveImage, e.Message); } } if (!string.IsNullOrWhiteSpace(Configuration.HardDriveImage)) { try { _system.HardDrive.Load(Configuration.HardDriveImage); } catch (Exception e) { Log.Write(LogType.Error, LogComponent.Configuration, "Unable to load hard drive image {0}. Error {1}", Configuration.FloppyDriveImage, e.Message); } } UpdateUIRunState(); UpdateMPCode(); UpdateHardDriveLabel(); UpdateFloppyDriveLabel(); UpdateMouseState(); }
public SA1000Drive(DSystem system) { _type = DriveType.Invalid; NewDisk(_type, String.Empty); _system = system; // Queue up the event that rotates our virtual disk. This runs continuously. _system.Scheduler.Schedule(_diskWordDelay, DiskWordCallback); Reset(); }
public IOPDebugger(DSystem system) { InitializeComponent(); _system = system; _sourceMap = new SourceMap("8085 ROM", "IOP\\Source\\SourceMap.txt", "IOP\\Source"); SourceDisplay.SetSourceRoot(Path.Combine("IOP", "Source")); SourceDisplay.AttachMap(_sourceMap); PopulateSourceList(); DisplayCurrentCode(); }
public CPDebugger(DSystem system) { InitializeComponent(); _system = system; SourceDisplay.SetSourceRoot(Path.Combine("CP", "Source")); _loadMap = new MicrocodeLoadMap(); _loadMap.Load(Path.Combine("CP", "Source", "load_map.txt")); _sourceMaps = new List <SourceMap>(); Disassembly.AttachCP(system.CP); PopulateSourceList(); }
public EthernetController(DSystem system) { _system = system; _fifo = new Queue <ushort>(); _inputPacket = new Queue <ushort>(); _outputPacket = new Queue <ushort>(); _pendingPackets = new Queue <MemoryStream>(); _crc32 = new CRC32(); AttachHostEthernet(); _readerLock = new ReaderWriterLockSlim(); // Start the ethernet reciever poll event, this will run forever. _system.Scheduler.Schedule(_receiverPollInterval, ReceiverPollCallback); Reset(); }
public IOProcessor(DSystem system) { _system = system; _io = new IOPIOBus(); _mem = new IOPMemoryBus(_io); _cpu = new i8085(_mem, _io); _keyboard = new Keyboard(); _mouse = new Mouse(); // // 8" floppy drive used by the IOP // _floppyDrive = new FloppyDrive(_system); // // Add devices to the IO bus // _miscIO = new MiscIO(this); _floppyController = new FloppyController(_floppyDrive, _system); _dma = new DMAController(this); _tty = new Printer(); _beeper = new Beeper(); // // Register DMA devices with controller // _dma.RegisterDevice(_floppyController, 0); // Floppy, DMA Channel 0 _dma.RegisterDevice(_system.CP, 1); // CP, DMA Channel 1 _io.RegisterDevice(_miscIO); _io.RegisterDevice(_floppyController); _io.RegisterDevice(_dma); _io.RegisterDevice(_system.CP); _io.RegisterDevice(_tty); Reset(); }
public FloppyController(FloppyDrive drive, DSystem system) { _system = system; _drive = drive; }