You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(zaparoo): update fork map for two-page Launcher/Video split
Reflects 7d6b40a:
- right-side surface is now two pages (Launcher top + Video sub-page),
files renamed to launcher_pages.{cpp,h}, symbols split into
launcher_page_* / video_page_*
- Scripts row back in trimmed System Settings
- OSD auto-dismiss on launcher spawn (MenuHide in spawn())
- CRT-mode-on-exit drops to HDMI for the rest of the session
Cleanup backlog: closes#2.10 (naming drift resolved), adds #2.11 (two
OSD-dismiss paths) and #2.12 (CRT-on-exit policy).
Copy file name to clipboardExpand all lines: ZAPAROO_FORK.md
+39-15Lines changed: 39 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,11 +32,14 @@ non-blocking spawn) are intentionally omitted.
32
32
| 10 |**Native-core auto-init**|`zaparoo_is_native_core()` matches core name `"Zaparoo Launcher"`; `zaparoo_alt_launcher_init_for_core()` auto-spawns when the FPGA loads that core |`support/zaparoo/alt_launcher.cpp:480-495`, `user_io.cpp:1543`|
33
33
| 11 |**In-core "Launcher" OSD entry**| Adds row 31 (`ALT_LAUNCHER_MENUSUB`) to MENU_COMMON1 marked with `reboot_req` when activated |`menu.cpp:2831,2845-2849,3088-3091`|
34
34
| 12 |**OSD/F12 overlay over running launcher**| F12 / `KEY_MENU` reaches the OSD even with launcher running; on menu core opens System Settings directly (skip file picker); F1/F9 disabled when launcher active; `vga_nag` suppressed; auto-open suppressed in CRT mode |`menu.cpp:843-852,1289,1304-1311,1334,1583,1604-1611,6727,6739,6816,6901`, `user_io.cpp:4162-4171`|
35
-
| 13 |**Trimmed System Settings render**|`alt_launcher_render_system_menu()` overrides MENU_SYSTEM1 body for the alt-launcher path; `alt_launcher_translate_system_select()` maps trimmed menusub indices to upstream dispatch slots |`support/zaparoo/alt_launcher_menu.cpp`, `menu.cpp:6739-6745,6816-6821`|
36
-
| 14 |**Right-side Display Centering page**| New menu state hosting H/V offset adjustment + relocated CRT toggle; persisted via 2-byte `zaparoo_video_offsets.bin`; pushed via `user_io_status_set("[13:10]" / "[17:14]")`|`support/zaparoo/display_menu.cpp/.h`*(local rename in progress: `launcher_pages.cpp/.h`)*, `support/zaparoo/alt_launcher.cpp` (offset state + setters), `menu.cpp``MENU_ZAPAROO_DISPLAY*` cases |
37
-
| 15 |**Escape-to-stock semantics**| Sticky `s_escaped` flag makes `alt_launcher_configured()` return `false` after a clean exit, so the rest of the session reverts to stock OSD; reboot resets it |`support/zaparoo/alt_launcher.cpp:32,38-43,229-241`|
| 17 |**Build-time defaults flipped**|`cfg.recents` and `LOG_FILE_ENTRY` default to enabled in Zaparoo builds |`cfg.cpp` (defaults) |
35
+
| 13 |**Trimmed System Settings render**|`alt_launcher_render_system_menu()` overrides MENU_SYSTEM1 body for the alt-launcher path; `alt_launcher_translate_system_select()` maps trimmed menusub indices (Remap, Define joy, Scripts, Reboot, Exit) to upstream dispatch slots |`support/zaparoo/alt_launcher_menu.cpp`, `menu.cpp:6739-6745,6816-6821`|
36
+
| 14 |**Right-side Zaparoo Launcher pages (two-page)**| Right-arrow from System Settings enters `MENU_ZAPAROO_LAUNCHER1/2` (top page: Video, Exit). Selecting Video enters `MENU_ZAPAROO_VIDEO1/2` (sub-page: CRT mode, H Offset, V Offset, Exit) where left/right adjust values and `±` also work. Both pages live in one helper file with split renderers / select handlers per page |`support/zaparoo/launcher_pages.cpp/.h` (`launcher_page_*`, `video_page_*`), `support/zaparoo/alt_launcher.cpp` (offset state + setters), `menu.cpp``MENU_ZAPAROO_LAUNCHER*` and `MENU_ZAPAROO_VIDEO*` cases |
37
+
| 15 |**H/V offset persistence and push**| 2-byte `zaparoo_video_offsets.bin` via `FileSaveConfig` / `FileLoadConfig`; loaded at menu init alongside the CRT byte; values pushed to FPGA via `user_io_status_set("[13:10]" / "[17:14]")` so the change takes effect immediately |`support/zaparoo/alt_launcher.cpp` (`load_persisted_offsets`, `save_persisted_offsets`, `alt_launcher_set_h_offset`/`_v_offset`, `zaparoo_alt_launcher_init_for_menu`) |
38
+
| 16 |**OSD auto-dismiss on launcher spawn**|`spawn()` calls `MenuHide()` after fork so an OSD still up from CRT toggle / Reboot doesn't trap input once the launcher grabs the input device |`support/zaparoo/alt_launcher.cpp` (end of `spawn`) |
39
+
| 17 |**CRT-mode-on-exit safety**| If the launcher exits while in CRT mode (clean or crashed), drop back to HDMI / normal mode for the rest of this session instead of respawning into CRT — avoids a UX trap where the user just left CRT but the launcher would respawn into it. Persisted preference is left untouched so next reboot honors it |`support/zaparoo/alt_launcher.cpp``alt_launcher_poll()` post-`waitpid` branch |
40
+
| 18 |**Escape-to-stock semantics**| Sticky `s_escaped` flag makes `alt_launcher_configured()` return `false` after a clean exit, so the rest of the session reverts to stock OSD; reboot resets it |`support/zaparoo/alt_launcher.cpp:32,38-43,229-241`|
0 commit comments