timers
This is an old revision of the document!
Timers
The gamepad has the following timer registers: (TODO word better)
Address | Desc. |
---|---|
0xF0000410 | Timer 0 control |
0xF0000414 | Timer 0 counter |
0xF0000418 | Timer 0 target |
Timer 0
0xF0000410
Timer control.
Bits | Desc. |
---|---|
0 | ?? |
1 | Timer enable |
4-6 | Prescaler |
Bit0 is possibly used by firmware code but has no observable effect.
Writing 0 to bit1 resets the timer to 0.
The prescaler value has the following possible settings:
Value | Frequency |
---|---|
0 | Normal |
1 | Divide by 2 |
2 | Divide by 4 |
3 | Divide by 8 |
4 | Divide by 16 |
5 | Divide by 32 |
6 | Divide by 64 |
7 | Divide by 128 |
0xF0000414
Counter. Can be written to, the timer will count from the new value.
When the timer goes past the target, the timer is reloaded to 0 and IRQ 0x00 is triggered.
Writing a new value greater than the target does not cause a reload.
0xF0000418
Target.
Before a reload, the last value the timer takes is equal to the target.
timers.1727114298.txt.gz · Last modified: 2024/09/23 17:58 by arisotura