Compatibility Matrix

Netscape Navigator 3.0 Fully Supported

Optimized for early HTML 3.2, table-based layouts, and basic JavaScript 1.0. Includes custom MIME handlers for archived plugins.

Windows 95/98 Mac OS 9 X11 Linux
Mosaic Netscape 2.0 Fully Supported

Pioneer of the graphical web. Supports early CSS1 drafts, background images, and basic form elements. Runs in our isolated DOS/Windows 3.1 container.

Win 3.11 DOS Mac Classic
Internet Explorer 3.0/4.0 Partial Support

Core HTML rendering works perfectly. DHTML behaviors and early ActiveX components require the Legacy Runtime Patch v2.1.

Windows 95 Windows 98 NT 4.0
Mac OS 9 System Folder Experimental

Full environment emulation via SheepShaver/QtMac. Includes classic Sherlock search UI and early QuickTime video plugins.

Classic Mac QuickTime 3 PowerPC
WebTV (Pegasus) Partial Support

Limited to simplified HTML rendering. Requires remote control emulator input mapping. Best for viewing static 90s portals.

NTSC/PAL IR Input MIPSim
Unix/Linux Early X11 Experimental

Includes lynx, w3m, and early graphical browsers like Arena and Cello. Primarily for accessibility and terminal-based archival.

Solaris 2.6 Slackware 3.0 X11R5

Quick Setup Guide

📦 Docker Container Method (Recommended)

Spin up a fully configured emulation environment in seconds. Includes all licensed plugins, patched DNS resolvers, and pre-loaded archive profiles.

# Pull the latest stable emulator runtime docker pull 1990archive/emulator-runtime:latest # Run with isolated network & archive mount docker run -d \ --name retro-browser \ --net archive-internal \ -v ./archive-data:/usr/local/archive \ 1990archive/emulator-runtime:latest # Access the web UI at http://localhost:8080/emulator

⚙️ Configuration Flags

01

Legacy CSS Engine

Enable --force-css1-strict to disable modern flexbox/grid fallbacks and render table-based layouts exactly as authored.

02

Dead Domain Routing

Use --dns-spoof-archive to redirect broken 90s hostnames to our cached mirror nodes without breaking relative links.

03

Plugin Emulation

Flag --emulate-flash-v4 activates our SWF transpiler for safe playback of archived animations without ActiveX risks.

\n

Common Issues & Workarounds

Frames are broken or show "Access Denied"
Early framesets often failed due to cross-origin restrictions or missing base tags. Enable --fix-frameset-origin to automatically inject the correct document base URL. If using Netscape 3.0, ensure Allow Frames is checked in Network Preferences.
MIDI background music won't play
Legacy browsers relied on OS-level MIDI synth drivers. Our emulator ships with a software SoundFont emulator. Run audio --init-synth in the terminal overlay. If your host OS blocks audio devices, switch to the --webaudio-midi-bridge flag.
Images show as broken icons or X placeholders
This usually indicates a missing MIME handler for early image formats like GIF87a or early JPEG variants. The container auto-fixes this on boot. If persistent, clear the /tmp/cache/imageloader directory and reload with --rebuild-image-index.
JavaScript alerts are stuck or freezing the UI
Early JS engines lacked proper async handling. Use --js-sandbox-mode to inject non-blocking wrappers around alert(), confirm(), and infinite loops. The emulator will auto-detect and throttle blocking scripts after 2 seconds.
How do I submit a new browser/plugin for archival?
Head to our Contributor Portal. You can submit executable binaries, ROM images, or plugin DLLs via encrypted upload. Our digital archaeology team verifies authenticity and integrates them into the next runtime patch.

Still stuck? Talk to a Digital Archivist.

Our support team specializes in legacy system emulation, vintage hardware networking, and early web protocol debugging.

Open Support Ticket Join Discord Community
"}