Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sonictruth/vr-dos
💾 Virtual Reality DOS
https://github.com/sonictruth/vr-dos
dosbox emulator typescript vr webassembly webxr
Last synced: 3 days ago
JSON representation
💾 Virtual Reality DOS
- Host: GitHub
- URL: https://github.com/sonictruth/vr-dos
- Owner: sonictruth
- Created: 2020-04-28T14:24:24.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-13T14:49:29.000Z (11 months ago)
- Last Synced: 2024-12-22T02:09:02.758Z (10 days ago)
- Topics: dosbox, emulator, typescript, vr, webassembly, webxr
- Language: TypeScript
- Homepage: http://sonictruth.github.io/vr-dos/
- Size: 20.8 MB
- Stars: 456
- Watchers: 9
- Forks: 11
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MS-DOS Virtual Reality
http://sonictruth.github.io/vr-dos/
This is an experimental emulator for a "PC running DOS" within a VR environment.
The VR environment was constructed using Three.js, and the emulator was rendered within this world using CanvasTexture.
The main challenge was achieving good FPS, as the main thread required a significant amount of CPU for VR rendering.
Therefore, I modified JS-Dos to enable its compilation as a Web Worker.![](demo.gif)
## Keys
You can use your keyboard to control the emulator on your PC, and your mouse to look around.
You can use the virtual keys at the top right on mobile.
These are the default mappings in VR (tested with Oculus Quest):0: [Key.Enter], // Trigger
1: [Key.Shift], // Squeeze
3: [Key.Ctrl], // Joystick press
4: [Key.Space, Key.Shift, Key.Ctrl], // A
5: [Key.Ctrl, Key.Q, Key.Escape] // B
## TODO
- Add sound support
- Add mouse support
- Add Joystick support
- Optimize canvas drawing using OffscreenCanvas
- Optimize rendering loops, gamepad handling## Credits
3D Model
https://sketchfab.com/railek
js-dos
https://js-dos.com/