ryOS ryOS / Docs
GitHub Launch

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 Controls menu for an uninterrupted and immersive gaming or application experience.
  • Game Management: Easily restart your current session using FileReset, or load a different game or application through the FileLoad Game option.
  • 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 FileReset in the menu bar.
  • Loading a New Game: To switch to a different game or application, go to FileLoad Game in the menu bar. This will take you back to the game selection screen.
  • Full-Screen Toggle: For an immersive experience, select ControlsFull Screen from the menu bar. Press Esc to exit full-screen mode.
  • Adjusting Display: Change the screen's aspect ratio by selecting Controls and choosing either 4:3 or Widescreen.

Tips & Shortcuts

  • Remember to capture the mouse by clicking inside the window when a game requires mouse input.
  • The Esc key 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 FileReset can 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):

Hooks & Utilities

Custom Hooks:

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.