Canvas Retro Engine

unlisted

by Mo.

Play 8-bit NES and 32-bit PlayStation 1 games directly on Canvas with interactive 3D console hardware, CRT screen shaders, and tactile gamepad overlays.

ā˜… 44 starsUpdated 1mo agoMIT
View on GitHub

Canvas Retro Engine šŸ•¹ļø

Play 8-bit NES and 32-bit PlayStation 1 games directly on the Obsidian Canvas with interactive 3D console hardware, tactile mechanical controls, vintage CRT TV shaders, physical gamepad support, and live interactive controller overlays.

Release Obsidian License


šŸ•¹ļø Overview

Canvas Retro Engine brings the magic of retro gaming hardware right into your Obsidian canvas workspace. Whether you're researching game design, taking notes on retro classics, or relaxing between deep thought sessions, Canvas Retro Engine offers a hardware-accurate, tactile 3D emulation experience with zero external software required.

  • šŸŽ® 8-bit NES & 32-bit PlayStation 1: Full high-performance emulation with pristine 60 FPS gameplay and synchronized audio.
  • ✨ Interactive 3D Consoles: Physically manipulable Three.js hardware with opening disc lids, inserted cartridges, and jewel case box art.
  • šŸ“ŗ Authentic CRT TV Experience: Scanlines, curvature distortion, RGB phosphors, and screen glass shaders.
  • šŸ•¹ļø Tactile Controls: Physical USB/Bluetooth gamepad support, live on-screen controller indentation, and full keyboard keybindings.

✨ What's New in v1.2.0

  • ⚔ Supercharged Emulation Performance: Main-thread rendering isolation during gameplay eliminates CPU bottlenecks, frame stutter, and audio crackling for both NES and 32-bit PS1 games.
  • 🌐 Starter Hub & Preservation Sets: Integrated 1-click modal connecting directly to LaunchBox GamesDB (high-res 3D covers and spine art), No-Intro NES sets, Redump PS1 archives, and official Redump PS1 BIOS repositories.
  • šŸŽ® Universal Physical Gamepad Support: Plug-and-play support for any USB or Bluetooth gamepad (PlayStation DualShock/DualSense, Xbox controllers, DirectInput USB adapters, generic PC controllers) with 60 FPS polling.
  • šŸ•¹ļø Live Tactile Button Feedback: The on-screen controller overlay reacts in real time with physical indentation feedback to keyboard typing, mouse clicks, and gamepad presses even before any game is inserted.
  • šŸ’¾ Permanent Save States: Robust disk persistence engine storing binary PS1 states and NES memory states directly in your vault, persisting permanently across app restarts.
  • šŸŽ›ļø Streamlined Action Bar: Cleaned up bottom controls with full access to the Starter Hub inside the Advanced Settings drawer.

šŸŽ® Features

  • šŸ•¹ļø Dual Console System: Seamlessly switch between the Nintendo Entertainment System (NES) and Sony PlayStation 1 (PS1) with an authentic 3D silk mesh transition.
  • ✨ Interactive 3D Hardware: High-detail 3D console bodies, cartridges, and jewel cases rendered in Three.js with realistic lighting, mechanical click sounds, disc spin-up, and physical tray animations.
  • šŸ“ŗ Authentic CRT TV Shaders: Vintage CRT curvature distortion, scanlines, phosphor triads, and switchable Modern Flat CRT or Retro Bubble CRT modes.
  • šŸ”Š Multi-Channel Mechanical SFX: Over 35 authentic mechanical switch, button plunge, disc spin, lid hinge, and cartridge insertion sound effects.
  • šŸ’¾ Vault-Backed Save States: Save and restore game states on disk at any point during gameplay.

šŸŽ® Controls & Keybindings Reference

šŸ•¹ļø NES Controller Mapping

ActionKeyboard KeyPhysical Gamepad (PS / Xbox / Generic)
D-Pad UpW / ↑ ArrowD-Pad Up / Left Analog Stick Up
D-Pad DownS / ↓ ArrowD-Pad Down / Left Analog Stick Down
D-Pad LeftA / ← ArrowD-Pad Left / Left Analog Stick Left
D-Pad RightD / → ArrowD-Pad Right / Left Analog Stick Right
B Button (Run / Fire)JSquare (ā–”) / Cross (āœ•)
A Button (Jump)KCircle (ā—‹) / Triangle (ā–³)
SelectC / ShiftSelect / Share / Back (Button 8)
StartEnter / V / BStart / Options (Button 9)

šŸ•¹ļø PS1 (PlayStation 1) Controller Mapping

PS1 ButtonKeyboard KeyPhysical Gamepad (W3C Standard)DirectInput USB Gamepad
Cross (āœ•)KButton 0 (Bottom)Button 2 (Bottom)
Circle (ā—‹)LButton 1 (Right)Button 1 (Right)
Square (ā–”)JButton 2 (Left)Button 3 (Left)
Triangle (ā–³)IButton 3 (Top)Button 0 (Top)
L1 (Left Bumper)Q / UButton 4 (L1)Button 4 (L1)
R1 (Right Bumper)R / YButton 5 (R1)Button 5 (R1)
L2 (Left Trigger)E / 1Button 6 (L2)Button 6 (L2)
R2 (Right Trigger)O / 2Button 7 (R2)Button 7 (R2)
SelectC / ShiftButton 8 (Select)Button 8 (Select)
StartEnter / V / BButton 9 (Start)Button 9 (Start)
D-Pad DirectionalsW, A, S, D / ArrowsD-Pad & Left StickD-Pad & Left Stick

šŸš€ Quick Start & Installation

  1. Copy the canvas-retro-engine folder into your Obsidian vault's plugin directory: <Vault>/.obsidian/plugins/canvas-retro-engine/
  2. Run npm install and npm run build (or use the pre-built main.js, manifest.json, and styles.css).
  3. Enable Canvas Retro Engine in Obsidian Settings → Community Plugins.
  4. Open any Canvas note and enjoy your 3D retro console right on the canvas.

šŸ“‚ Adding Games, Covers & BIOS

Place your files in the respective folders inside the plugin's assets/ directory (or click 🌐 GET ROMS & 3D COVERS... in Advanced Settings):

  • NES ROMs: assets/nes/roms/ (.nes files)
  • PS1 Games: assets/psx/roms/ (.iso, .bin, .cue, .chd, .pbp files)
  • PS1 BIOS: assets/psx/bios/SCPH1001.BIN or SCPH5501.BIN
  • Box Art Covers: assets/nes/covers/ and assets/psx/covers/ (.png / .jpg / .webp)

šŸ’Ž Also Check Out: Crystal Canvas

If you enjoy interactive 3D hardware and spatial experiences on the Obsidian Canvas, check out Crystal Canvas — the ultimate visual workspace and 3D spatial organization engine for Obsidian.

Crystal Canvas Documentation

✨ What is Crystal Canvas?

Crystal Canvas elevates Obsidian Canvas into a high-performance, hardware-accelerated visual workspace designed for researchers, worldbuilders, and visual thinkers:

  • šŸš€ High-Performance GPU Architecture: Hardware-accelerated rendering delivering buttery-smooth 144+ FPS fluid canvas navigation even with massive workspaces.
  • šŸŽØ 3D Asset Gallery & Atmospheric Shaders: Bring your canvas to life with interactive 3D visual assets, procedural WebGL background environments, and modern styling.
  • šŸ—ŗļø Interactive Mini-Map & Viewport HUD: Real-time spatial radar, cluster tracking, and instant canvas overview navigation.
  • šŸ”„ 100% JSON Canvas 1.0 Spec Compatible: Seamlessly reads and writes standard .canvas files with zero lock-in.

šŸ‘‰ Discover Crystal Canvas at momansour.com → | šŸ“– Read the Documentation →


šŸ“œ License

MIT License. Open source and free for the Obsidian community.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.