Virtual PC
Virtual PC brings the nostalgia of classic computing directly to your ryOS desktop. This innovative application provides a 3D PC simulation experience, powered by an integrated js-dos emulator, allowing users to run vintage DOS games and applications seamlessly within their web browser.
Overview
Virtual PC serves as a dedicated environment for reliving or discovering the golden age of DOS computing. It transforms a section of your ryOS desktop into a functional, interactive simulation of an old-school personal computer, complete with a virtual screen and input capabilities. Whether you're looking to play beloved retro games, explore historical software, or simply appreciate the aesthetics of early computing, Virtual PC offers a unique and contained experience.
The app is designed for ease of use, abstracting away the complexities of traditional emulation software. Users can quickly load and switch between various DOS titles, managing their experience directly through the ryOS window. Its focus is on providing an authentic yet accessible journey into the world of DOS, making it a perfect companion for both seasoned enthusiasts and newcomers.
Features
Virtual PC is packed with features designed to deliver an authentic and enjoyable DOS emulation experience:
- Integrated PC Emulator: Run a wide array of classic DOS games and applications directly within your ryOS browser environment, powered by robust js-dos emulation.
- Full Keyboard Support: Interact with the emulated PC using your physical keyboard for all in-game inputs and system commands, just like a real DOS machine.
- Mouse Capture & Release: Seamlessly switch between controlling the emulated PC and your ryOS desktop. Simply click inside the Virtual PC window to capture the mouse for in-game use, and click again or press a designated key to release it.
- Immersive Full-Screen Mode: Toggle full-screen display via the
Controlsmenu for an uninterrupted and immersive gaming or application experience. - Game Management: Easily restart your current session using
File▸Reset, or load a different game or application through theFile▸Load Gameoption. - Flexible Aspect Ratio: Adjust the display to best fit your monitor with options to switch between classic 4∶3 or modern widescreen aspect ratios.
User Guide
Getting Started
To launch Virtual PC, simply click its icon in the ryOS application launcher. Once open, you'll be presented with a selection of available DOS games or applications. Click on a game card to load and begin your session.Key Actions
- Launching a Game: From the main Virtual PC window, browse the available game cards and click on your desired title. The emulator will initialize and the game will start.
- Interacting with the PC: Once a game is running, your physical keyboard will control the emulated PC.
- Mouse Control: To use the mouse within the emulated environment, click anywhere inside the Virtual PC window. The mouse cursor will be "captured," allowing you to interact with the DOS application. To release the mouse and regain control of your ryOS desktop, click inside the window again or press
Esc. - Resetting the Emulator: If a game crashes or you wish to restart it, navigate to
File▸Resetin the menu bar. - Loading a New Game: To switch to a different game or application, go to
File▸Load Gamein the menu bar. This will take you back to the game selection screen. - Full-Screen Toggle: For an immersive experience, select
Controls▸Full Screenfrom the menu bar. PressEscto exit full-screen mode. - Adjusting Display: Change the screen's aspect ratio by selecting
Controlsand choosing either4:3orWidescreen.
Tips & Shortcuts
- Remember to capture the mouse by clicking inside the window when a game requires mouse input.
- The
Esckey is often used to release the mouse or exit full-screen mode, providing a quick way to switch context. - If a game seems unresponsive, a quick
File▸Resetcan often resolve the issue without needing to close and reopen the app.
Technical Details
Window Configuration
- Default size: 645×511px
- Minimum size: 645×511px
- Maximum size: 645×511px
Component Architecture
The app consists of 2 component file(s):src/apps/pc/components/PcMenuBar.tsx: Manages the application's menu bar, handling actions like file operations, control settings, and access to help/about dialogs.
src/apps/pc/components/PcAppComponent.tsx: The main application component, responsible for rendering the game selection grid, the js-dos emulator canvas, and integrating various dialogs.
Hooks & Utilities
Custom Hooks:src/apps/pc/hooks/useJsDos.ts: Encapsulates the logic for initializing, controlling, and interacting with the js-dos emulator instance.src/apps/pc/hooks/usePcLogic.ts: Manages the core application logic, including game state, loading, and interactions with theuseJsDoshook.
No custom utility files are explicitly used within the app's core structure.
State Management
Virtual PC manages its state primarily through local React state within components and custom hooks, particularly for UI elements like dialog visibility and loading indicators. Crucially, it integrates with a Zustand store (usePcStore) to manage application-wide state related to available games, the currently selected game, and potentially emulator configuration.
Related Apps
Virtual PC pairs well with the Terminal app for users who enjoy command-line interfaces and classic computing environments. The Files app can also be a useful companion for managing any game save files or custom DOS programs, should such features be introduced for external file interaction.