예제 #1
0
        public CIA(ushort address, ushort size, Irq irqLine, byte writeOnlyPinsA, byte writeOnlyPinsB)
            : base(address, size)
        {
            _portA = new IOPort(writeOnlyPinsA);
            _portB = new IOPort(writeOnlyPinsB);

            _irqLine = irqLine;
        }
예제 #2
0
        public CIA(ushort address, ushort size, Irq irqLine, byte writeOnlyPinsA, byte writeOnlyPinsB)
            : base(address, size)
        {
            _portA = new IOPort(writeOnlyPinsA);
            _portB = new IOPort(writeOnlyPinsB);

            _irqLine = irqLine;
        }
        public void Invoke(Irq irq)
        {
            var irqMask = 1 << (byte)irq;

            if ((maskedIrqs & irqMask) == 0)
            {
                requestRegister |= irqMask;
            }
        }
예제 #4
0
 protected override void Dispose(bool disposing = true)
 {
     Irq.DisableInterrupt();
     Irq.Dispose();
     Spi.Dispose();
     ReceiveContext.Dispose();
     base.Dispose(disposing);
     SetSocketPowerState(false);
 }
예제 #5
0
 public VIA(ushort address, ushort size, Irq irqLine)
     : base(address, size)
 {
     _irqLine = irqLine;
 }