Ejemplo n.º 1
0
        private bool _ready; // Drive is ready for operation

        #endregion Fields

        #region Constructors

        public Drive(IEC iec)
        {
            the_iec = iec;
            LED = DriveLEDState.LedOff;
            Ready = false;
            set_error(ErrorCode1541.ERR_STARTUP);
        }
Ejemplo n.º 2
0
        public FSDrive(IEC iec, string filepath)
            : base(iec)
        {
            orig_dir_path = filepath;
            dir_path = String.Empty;

            if (change_dir(orig_dir_path))
            {
                for (int i = 0; i < 16; i++)
                    file[i] = null;

                Reset();

                Ready = true;
            }
        }
Ejemplo n.º 3
0
 public T64Drive(IEC iec, string filepath)
     : base(iec)
 {
 }
Ejemplo n.º 4
0
        // TODO
        public D64Drive(IEC iec, string fileName, Stream fileStream)
            : base(iec)
        {
            the_file = null;

            Ready = false;
            _originalD64FileName = fileName;

            for (int i = 0; i < chan_mode.Length - 1; i++)
            {
                chan_mode[i] = ChannelMode.CHMOD_FREE;
            }
            chan_mode[15] = ChannelMode.CHMOD_COMMAND;

            // Open .d64 file
            open_close_d64_file(fileName, fileStream);

            if (the_file != null)
            {
                // Allocate 1541 RAM
                //ram = new BytePtr(0x800);
                //unsafe
                //{

                _bamPointer = _ram.NewBytePointer(_ram.BamStartIndex);

                //bam = new Bam(_ram.Read(_ram.BamStartIndex, 256));

                // TODO: Will need to copy BAM to 1541 memory or do something else to make
                // sure that is mapped in there.

                    //bam = (BAM*)(ram.Pointer + 0x700);
                //}

                Reset();

                Ready = true;
            }
        }