CompactFlash Socket¶
The BE-300 has a Type I CompactFlash slot, managed through the VRC4173 companion chip via PCMCIA-compatible registers.
Status Register¶
| Address | Kseg1 Address | Function |
|---|---|---|
| 0x0A001000 | 0xAA001000 | CF status register |
Status register values:
| Value | Meaning |
|---|---|
| 0x04 | Card inserted |
| 0x0C | Card removed (or no card) |
Interrupt Path¶
CompactFlash events (card insertion, removal, I/O ready) generate interrupts through the GIRQ0 sub-cascade:
- CF state change or I/O ready
- VRC4173 signals via GIRQ0 sub-cascade
- GIU line 0 asserts
- GIUINTLREG (0xAF000088) bit 0 set
- Handler reads
0xAA000004for sub-source identification
Both state-change (insert/remove) and level (I/O ready) interrupts are supported.
Usage¶
CyaCE Bootloader¶
The CyaCE bootloader reads Linux kernels and ramdisk images from a FAT-formatted CompactFlash card. This was the primary method for booting Linux on the BE-300 from a running Windows CE session.
NANDWRITER¶
The NANDWRITER recovery tool (NANDWRITER.bin) reads firmware images from a FAT-formatted CF card:
KLOADER.bin-- SPL bootloaderAll_nand.bin-- NK.exe kernel + FAT16 filesystemnk.cpk-- Alternate compressed NK format
NANDWRITER writes these images directly to NAND flash to restore a non-booting device.
Linux Support¶
The Linux4.BE kernels did not include CompactFlash driver support. CF was only accessible under Windows CE.