示例#1
0
        public PriamDiskController(byte deviceId, RidgeSystem sys)
        {
            _sys      = sys;
            _mem      = sys.Memory;
            _deviceId = deviceId;

            // TODO: load from file, etc.
            _disk = new PriamDisk(Geometry.Priam142);
        }
示例#2
0
        public Display(byte deviceId, RidgeSystem sys)
        {
            _sys = sys;
            _mem = sys.Memory;
            _keyboardDeviceId = deviceId;
            _displayDeviceId  = (byte)(deviceId | 0x1);

            // 128kb of framebuffer.
            _framebuffer = new uint[32768];

            _display = new DisplayWindow();

            _frameEvent = new Event(_frameTimeNsec, null, FrameCompleteCallback);
            _sys.Scheduler.Schedule(_frameEvent);
        }
示例#3
0
        public FDLP(byte deviceId, RidgeSystem sys)
        {
            _sys      = sys;
            _mem      = sys.Memory;
            _deviceId = deviceId;

            _handshake = 0;

            // Character send callback used for handshaking between ridge/fdlp when sending
            // single characters.  appx. 833333ns per character at 9600 baud.
            _characterOutEvent = new Event(0, null, CharacterOutCallback);
            _floppyActionEvent = new Event(0, null, FloppyActionCallback);

            _floppyDisk = new FloppyDisk("F:\\software\\ridge\\ROS\\ROS35\\004-2761.imd");
            //_floppyDisk = new FloppyDisk("F:\\software\\ridge\\ROS\\ROS_3.3_IMD\\ROS_3.3_IMD\\002-4218.imd");
            //_floppyDisk = new FloppyDisk("Disks\\sus.imd");
        }
示例#4
0
 public DebugPrompt(RidgeSystem system)
 {
     _system = system;
 }