diff --git a/docs/Navigation.md b/docs/Navigation.md index 3c8127e6..4fca5283 100644 --- a/docs/Navigation.md +++ b/docs/Navigation.md @@ -55,7 +55,6 @@ search: - [RetroAchievements](using/retroachievements.md) - [ROM Patcher](using/rom-patcher.md) - [Netplay](using/netplay.md) - - [Console Mode](using/console-mode.md) - [Account & Profile](using/account-and-profile.md) - [Languages](using/languages.md) - Platforms & Players diff --git a/docs/developers/architecture.md b/docs/developers/architecture.md index 44d85332..1e42d955 100644 --- a/docs/developers/architecture.md +++ b/docs/developers/architecture.md @@ -19,11 +19,11 @@ rommapp/romm │ ├── tasks/ # RQ jobs: scheduled/ and manual/ │ ├── alembic/ # 80+ DB migrations │ └── config/ # Env vars + YAML config.json manager -├── frontend/ # Vue 3 + Vuetify SPA (main UI + Console Mode) +├── frontend/ # Vue 3 + Vuetify SPA (main UI + alternate UI) │ └── src/ │ ├── views/ # Page-level components │ ├── components/ # ~168 components, organised by feature -│ ├── console/ # Console Mode SPA (own router, layout, input bus) +│ ├── console/ # Alternate UI SPA (own router, layout, input bus) │ ├── stores/ # 18 Pinia stores │ ├── services/ # Axios API modules + socket.io + browser cache │ └── __generated__/# TS types generated from the backend OpenAPI spec @@ -109,7 +109,7 @@ Three layouts cover the routes: Permission-protected routes follow the scope model from [Users & Roles](../administration/users-and-roles.md): `/scan` and `/library-management` require `platforms.write`, `/client-api-tokens` requires `me.write`, and `/administration` requires `users.write`. -### Console Mode +### Alternate TV and gamepad UI A second SPA bundle aimed at TVs and gamepads is kept under `frontend/src/console/`. The input system is a stack-based bus with grid-based spatial navigation, gamepad polling runs in `requestAnimationFrame`, and the sound effects are synthesised on the fly through the Web Audio API rather than shipped as audio assets. diff --git a/docs/index.md b/docs/index.md index 0fbe67da..71bdff8b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -43,7 +43,7 @@ RomM (ROM Manager) lets you scan, enrich, organise, and play your game collectio *** - Library, collections, saves & states, Console Mode, ROM Patcher, Netplay. + Library, collections, saves & states, ROM Patcher, Netplay. [Using RomM →](using/index.md) diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index 54c54f62..90f4c2b8 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -25,8 +25,6 @@ Every term the docs, UI, and API use consistently, with foundational concepts ge **Collection**: a named grouping of ROMs (see [Collections](../using/collections.md)). -**Console Mode**: separate `/console` UI optimised for gamepads and TV displays: spatial navigation, bigger hit targets, SFX, no mouse required. Same instance, same data (see [Console Mode](../using/console-mode.md)). - **Device**: a registered endpoint that syncs with RomM, such as a handheld running Grout, an Android phone running Argosy, or a SteamDeck running DeckRommSync. Devices pull saves and states, and some push them back after a session (see [Device Sync Protocol](../developers/device-sync-protocol.md)). **EmulatorJS**: the bundled in-browser retro emulator. Handles NES, SNES, N64, PSX, Saturn, and 20+ more cores (see [In-Browser Play → EmulatorJS](../using/in-browser-play/emulatorjs.md)). diff --git a/docs/using/console-mode.md b/docs/using/console-mode.md deleted file mode 100644 index 02d3a8c6..00000000 --- a/docs/using/console-mode.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Console Mode -description: TV + gamepad UI for RomM ---- - -# Console Mode - -**Console Mode** is a second UI for RomM, living at `/console` and designed for TV screens and gamepad input. It runs on the same instance with the same data, just with a completely different UX. - -## Input - -Console Mode supports gamepads (Xbox, PS, 8BitDo, Steam Controller, Switch Pro, or anything the browser sees as a standard gamepad), keyboards as a fallback, and touch on handhelds without native gamepad input. Button labels in the UI follow the Xbox convention regardless of actual controller, so "A" is always the bottom face button. - -## Available features - -Most of the main UI's features are available in Console Mode: - -- Browse library, platforms, collections -- Search and filters -- Play (launches [In-Browser Play](in-browser-play/emulatorjs.md) or offers a download if the platform isn't browser-playable) -- Saves and states: upload, select, delete -- Smart and virtual collections -- RetroAchievements progression display - -## Known limitations - -- **Admin features aren't available**: if you're the admin, flip back to the main UI for scans/user management. -- **Mobile browsers with no gamepad**: touch works but the UX is designed for gamepads, not fingers. Use the main UI or the [Argosy Launcher](../ecosystem/first-party-apps.md#argosy-launcher). - -## Troubleshooting - -- **Gamepad not detected**: Chrome sometimes needs a button press on the page before enumerating gamepads, press any button and it'll show up. -- **Laggy navigation**: Try Chrome or a beefier browser/client. diff --git a/docs/using/in-browser-play/emulatorjs.md b/docs/using/in-browser-play/emulatorjs.md index 8f758b9c..c235d7c4 100644 --- a/docs/using/in-browser-play/emulatorjs.md +++ b/docs/using/in-browser-play/emulatorjs.md @@ -12,8 +12,8 @@ description: Play retro games in your browser Older or less-powerful devices may struggle, especially with demanding cores (Dreamcast, Saturn, PSP). Try a different browser or device before filing a bug. -!!! note "Some cores don't work in Console Mode" - PSP (`ppsspp`) and MS-DOS (`dosbox-pure`) aren't supported in [Console Mode](../console-mode.md). +!!! warning "PSP requires HTTPS" + PSP games use the `SharedArrayBuffer` API through the `ppsspp` core. Browsers only expose this API in secure, cross-origin-isolated contexts, so RomM must be served over `https://` for PSP games to run. See the [SharedArrayBuffer browser requirements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) and use a [reverse proxy with TLS](../../install/reverse-proxy.md) if needed. !!! note "Zip bundles for multi-file firmware" diff --git a/docs/using/index.md b/docs/using/index.md index 9ed54937..341620bc 100644 --- a/docs/using/index.md +++ b/docs/using/index.md @@ -25,10 +25,6 @@ description: Browse, play, collect, patch, and share from the UI - **[RetroAchievements](retroachievements.md)** - **[Account & Profile](account-and-profile.md)** -## Special modes - -- **[Console Mode](console-mode.md)** - ## Tools - **[ROM Patcher](rom-patcher.md)**