コード例 #1
0
 public SunxiTimerUnit(Machine machine, SunxiTimer parent) : base(machine, 24000000, direction: Emul8.Time.Direction.Descending, enabled: false, eventEnabled: true)
 {
     timerGroup      = parent;
     controlRegister = new DoubleWordRegister(this, 0x04);
     controlRegister.DefineFlagField(7, changeCallback: (oldValue, newValue) => Mode        = newValue ? WorkMode.OneShot : WorkMode.Periodic);
     controlRegister.DefineValueField(4, 3, changeCallback: (oldValue, newValue) => Divider = 1 << (int)newValue);
     controlRegister.DefineFlagField(1, FieldMode.WriteOneToClear, writeCallback: (oldValue, newValue) => Value = Limit);
     controlRegister.DefineFlagField(0, changeCallback: (oldValue, newValue) => Enabled = newValue);
     controlRegister.DefineEnumField <ClockSource>(2, 2, changeCallback: OnClockSourceChange);
 }
コード例 #2
0
ファイル: SunxiTimer.cs プロジェクト: bhuvanchandra/emul8
 public SunxiTimerUnit(Machine machine, SunxiTimer parent) : base(machine, 24000000, direction: Emul8.Time.Direction.Descending, enabled: false)
 {
     timerGroup = parent;
     controlRegister = new DoubleWordRegister(this, 0x04);
     controlRegister.DefineFlagField(7, changeCallback: (oldValue, newValue) => Mode = newValue ? WorkMode.OneShot : WorkMode.Periodic);
     controlRegister.DefineValueField(4, 3, changeCallback: (oldValue, newValue) => Divider = 1 << (int)newValue);
     controlRegister.DefineFlagField(1, FieldMode.WriteOneToClear, writeCallback: (oldValue, newValue) => Value = Limit);
     controlRegister.DefineFlagField(0, changeCallback: (oldValue, newValue) => Enabled = newValue);
     controlRegister.DefineEnumField<ClockSource>(2, 2, changeCallback: OnClockSourceChange);
 }