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
