How austinio7116/thumbyone works
ThumbyOne is unified multi-boot firmware for the Thumby Color. The principal workflow is: the user chooses a system in the lobby; the handoff code reboots into its flash slot; the selected system runs, using shared FAT storage where applicable, and can return to the lobby. The lobby also exposes that shared drive over USB and offers defragmentation. Groups reflect the lobby, shared platform services, and documented runtime systems. Several systems are documented in the README but have no implementation files in this tree; their nodes therefore have null paths, and their internals are not inferred.
Main entry points: lobby_main.c System lobby · thumbyone_handoff.c Slot handoff · thumbyone_fs.c Shared FAT access · lobby_usb.c USB drive access
Components 20
Lobby
- System lobby
lobby/lobby_main.c - Game picker
common/picker/picker.c - USB drive access
lobby/lobby_usb.c - FAT defragmenter
lobby/lobby_defrag.c
Shared platform
- Slot handoff
common/thumbyone_handoff.c - Flash slot layout
common/slot_layout.h - Shared FAT access
common/fs/thumbyone_fs.c - Flash disk
common/fs/thumbyone_disk.c - Shared settings
common/lib/thumbyone_settings.c
Runtime systems
- Emulation systems
- MicroPython games
- Mote platform
- ThumbyCraft
- ThumbyRogue
Device hardware
- Backlight control
common/lib/thumbyone_backlight.c - Battery readings
common/lib/thumbyone_battery.c - Status LED
common/lib/thumbyone_led.c - LCD display
common/picker/lcd_gc9107.c
Other components
- Device user
- USB host
Connections 23
- Device user → System lobby: chooses system
- System lobby → Slot handoff: requests slot
- Slot handoff → Flash slot layout: resolves partition
common/slot_layout.h - Slot handoff → Emulation systems: boots slot
- Slot handoff → MicroPython games: boots slot
- Slot handoff → Mote platform: boots slot
- Slot handoff → ThumbyCraft: boots slot
- Slot handoff → ThumbyRogue: boots optional slot
- System lobby → USB drive access: pumps USB
- USB host → USB drive access: mounts drive
- USB drive access → Flash disk: reads and writes
- System lobby → FAT defragmenter: offers compaction
lobby/lobby_main.c - FAT defragmenter → Shared FAT access: compacts volume
- Shared FAT access → Flash disk: uses sectors
- System lobby → Shared FAT access: mounts shared drive
- Game picker → Shared FAT access: scans games
common/picker/picker.c - Game picker → Slot handoff: returns to lobby
common/picker/picker.c - System lobby → Shared settings: loads and saves
lobby/lobby_main.c - Shared settings → Shared FAT access: reads and writes
- System lobby → Backlight control: controls brightness
lobby/lobby_main.c - System lobby → Battery readings: reads level
lobby/lobby_main.c - System lobby → Status LED: updates indicator
lobby/lobby_main.c - System lobby → LCD display: renders interface
lobby/lobby_main.c