public SoftwareShiftRegister(ushort size, Cpu.Pin clock, Cpu.Pin reset, Cpu.Pin data, Cpu.Pin commit, ShiftRegisterCallback callback) { Size = size; _bits = new bool[size]; _clockPin = new InputPort(clock, true, Port.ResistorMode.Disabled); _resetPin = new InputPort(reset, true, Port.ResistorMode.Disabled); _dataPin = new InputPort(data, true, Port.ResistorMode.Disabled); _commitPin = new InputPort(commit, true, Port.ResistorMode.Disabled); _callback = callback; }