public PPI8255(X8086 cpu, InterruptRequest irq) { task = new TaskSC(this); for (int i = 0x60; i <= 0x6F; i++) { ValidPortAddress.Add((uint)i); } //PPISystemControl = x8086.WordToBitsArray(&HA5, PPISystemControl.Length) //PPI = x8086.WordToBitsArray(&HA, PPISystemControl.Length) //PPICommandModeRegister = &H99 this.cpu = cpu; this.sched = cpu.Sched; this.irq = irq; if (cpu.PIT != null) { timer = cpu.PIT; timer.SetCh2Gate((ppiB & 1) != 0); } keyBuf = ""; keyShiftPending = false; keyMap = new KeyMap(); }
// Constructs and resets counter public Counter(PIT8254 owner) { this.owner = owner; // assume no gate signal mGgate = false; // set undefined mode countMode = -1; outputValue = false; }