Touchscreen¶
The BE-300 has a resistive touchscreen overlay on the LCD panel, controlled by the VRC4173 companion chip PIU (Pen Input Unit).
Registers¶
| Address | Kseg1 Address | Function |
|---|---|---|
| 0x0A000000 | 0xAA000000 | PIU base |
| 0x0A000301 | 0xAA000301 | Touchpanel register |
| 0x0A000304 | 0xAA000304 | Pen-down detection |
| 0x0A00031C | 0xAA00031C | Touchpanel register |
Pen-Down Detection¶
The pen-down register at 0xAA000304 indicates whether the stylus is touching the screen. When a touch is detected, the PIU asserts an interrupt through the GIU cascade.
Interrupt Path¶
The touchscreen interrupt follows this path through the interrupt cascade:
- Stylus contacts the touchscreen
- VRC4173 PIU detects pen-down
- GIU line 9 asserts
- GIUINTLREG (0xAF000088) bit 9 is set
- SYSINT1REG (0xAF000080) bit 8 (GIUINTR) asserts
- VR4131 ICU dispatches to GIU handler
- Handler reads pen-down register at
0xAA000304 - Returns SYSINTR_TOUCH (0x11) for initial pen-down, or SYSINTR_TOUCH_CHANGED (0x18) for movement
WinCE Touch Calibration¶
After a cold boot, the first user interaction in Windows CE is the touch calibration screen. The OS presents crosshair targets that the user must tap with the stylus to establish the mapping between touch coordinates and screen pixels.
This calibration screen appears after the "Starting..." splash screen and before the WinCE desktop loads.
Linux Support¶
The Linux4.BE project did not implement touchscreen support. The Linux kernels use only the framebuffer console and serial console for I/O.