This document provides a comprehensive compatibility matrix for RetroBrowser across different Windows operating systems, with a focus on Windows 98 SE as the primary target platform. It includes supported OS versions, known limitations, and troubleshooting guidance.
- ✅ Fully Supported: Tested and verified to work correctly
⚠️ Partially Supported: Works with limitations or requires additional setup- 🔶 Untested: Should work theoretically but not verified
- ❌ Not Supported: Known incompatibilities or missing requirements
| Operating System | Version | Status | Notes |
|---|---|---|---|
| Windows 95 | 4.00.950 | ❌ Not Supported | Winsock 2.2 compatibility issues, missing APIs |
| Windows 95 OSR2 | 4.00.950 B/C | Requires Winsock 2.2 update, limited testing | |
| Windows 98 First Edition | 4.10.1998 | ✅ Fully Supported | Requires Winsock 2.2 update (usually pre-installed) |
| Windows 98 Second Edition | 4.10.2222 A | ✅ Fully Supported | Primary target platform, includes Winsock 2.2 |
| Windows ME | 4.90.3000 | ✅ Fully Supported | Same Win9x kernel, enhanced stability |
| Windows NT 4.0 | 4.0 | 🔶 Untested | Should work, requires Service Pack 6a |
| Windows 2000 | 5.0 | ✅ Fully Supported | Overqualified, all APIs available |
| Windows XP | 5.1 | ✅ Fully Supported | Overqualified, excellent compatibility |
| Windows Vista | 6.0 | ✅ Fully Supported | May require compatibility mode |
| Windows 7 | 6.1 | ✅ Fully Supported | Excellent compatibility |
| Windows 8/8.1 | 6.2/6.3 | ✅ Fully Supported | Works without issues |
| Windows 10 | 10.0 | ✅ Fully Supported | Modern OS, full compatibility |
| Windows 11 | 10.0.22000+ | ✅ Fully Supported | Latest OS, full compatibility |
Requirements:
- Winsock 2.2 Update (available on Windows Update or CD)
- Internet Explorer 4.01 or higher (for common controls)
- 64 MB RAM minimum, 128 MB recommended
Installation Steps:
- Install Windows 98 FE
- Install Winsock 2.2 update from Windows Update
- Verify WS2_32.DLL exists in C:\WINDOWS\SYSTEM
- Install RetroBrowser
Known Issues:
- Slightly less stable than SE
- May require additional USB support updates
- Older network drivers
Requirements:
- No additional updates required (Winsock 2.2 included)
- 64 MB RAM minimum, 128 MB recommended
- 10 MB free disk space
Installation Steps:
- Install Windows 98 SE
- Install RetroBrowser directly
- Configure network settings
Advantages:
- Most stable Win9x version
- Winsock 2.2 pre-installed
- Better USB support
- Improved Internet Explorer 5.0
Recommended Configuration:
- CPU: Pentium II 200 MHz or higher
- RAM: 128 MB
- Display: 800x600, 16-bit color
- Network: 10/100 Ethernet
Requirements:
- Same as Windows 98 SE
- 128 MB RAM recommended (ME uses more memory)
Installation Steps:
- Same as Windows 98 SE
Advantages:
- Enhanced system restore
- Better multimedia support
- Improved stability over 98 FE
Disadvantages:
- Higher memory usage
- Some compatibility issues with older software
- Less popular than 98 SE
Recommendation: Use Windows 98 SE unless ME-specific features needed
Requirements:
- Service Pack 6a required
- Internet Explorer 4.0 or higher
- 64 MB RAM minimum
Theoretical Compatibility:
- Uses same Win32 API subset as Win98
- Should work with /SUBSYSTEM:WINDOWS,4.10
- Not tested due to limited availability
Potential Issues:
- Different kernel (NT vs 9x)
- May have driver compatibility issues
- Network stack differences
Requirements:
- No special requirements
- Application is overqualified for these OS versions
Notes:
- All Win98 APIs available and more
- Better memory management
- Enhanced security features
- Recommended for development and testing
| Component | Minimum | Recommended | Notes |
|---|---|---|---|
| CPU | Pentium 200 MHz | Pentium II 300 MHz | Tested on 200 MHz |
| RAM | 64 MB | 128 MB | 64 MB works but limited |
| HDD | 10 MB free | 50 MB free | For app + cache |
| Display | VGA (640x480) | SVGA (800x600) | 256 colors minimum |
| Network | 10 Mbps Ethernet | 100 Mbps Ethernet | Or dial-up via proxy |
- CPU: 200 MHz (throttled)
- RAM: 64 MB
- Display: 800x600, 256 colors
- Network: Host-only adapter
- Result: ✅ Works, slow but functional
- CPU: 400 MHz (throttled)
- RAM: 128 MB
- Display: 1024x768, 16-bit color
- Network: Host-only adapter
- Result: ✅ Works well, good performance
- CPU: Pentium II 266 MHz
- RAM: 128 MB
- Display: 1024x768, 16-bit color
- Network: 3Com 3C905 (100 Mbps)
- Result: ✅ Excellent performance
- CPU: Pentium MMX 200 MHz
- RAM: 64 MB
- Display: 800x600, 256 colors
- Network: NE2000 compatible (10 Mbps)
- Result:
⚠️ Works but slow, limited multitasking
| Component | Version | Status | Installation |
|---|---|---|---|
| Winsock 2.2 | 2.2.x | Required | Windows Update or CD |
| Common Controls | 5.0+ | Required | Included with IE 4.0+ |
| GDI32.DLL | Win98 version | Required | Built-in |
| USER32.DLL | Win98 version | Required | Built-in |
| KERNEL32.DLL | Win98 version | Required | Built-in |
| Component | Purpose | Notes |
|---|---|---|
| Internet Explorer 5.0+ | Enhanced rendering | Not required for RetroBrowser |
| DirectX 6.0+ | Graphics acceleration | Not used by RetroBrowser |
| Windows Media Player | Multimedia | Not used by RetroBrowser |
| Component | Issue | Workaround |
|---|---|---|
| .NET Framework | Not available for Win98 | Not needed, app uses native Win32 |
| MSVCR100.DLL | Requires XP+ | Use static CRT linking (/MT) |
| Visual C++ 2010+ Runtime | Not compatible | Use static linking |
- Issue: 32-bit address space, but practical limit ~512 MB RAM
- Impact: Large pages (>1 MB) may cause memory pressure
- Mitigation: Limit image cache to 4 MB, response buffer to 1 MB
- Issue: FAT32 only, 4 GB file size limit
- Impact: Cannot cache very large files
- Mitigation: Not applicable (web pages typically < 1 MB)
- Issue: Winsock 2.2 has limited SSL/TLS support
- Impact: Cannot connect to HTTPS sites directly
- Mitigation: Proxy server handles HTTPS, downgrades to HTTP for Win98
- Issue: Limited GDI resources (5 DC handles per process)
- Impact: Cannot render many images simultaneously
- Mitigation: Cache font handles, release DCs promptly
- Issue: Cooperative multitasking, no thread priorities
- Impact: UI may freeze during network operations
- Mitigation: Use non-blocking sockets, process messages in loop
- Supported: JPEG (via libjpeg)
- Not Supported: PNG, GIF, WebP, SVG
- Workaround: Proxy can convert images to JPEG
- Supported: HTML 3.2, basic CSS 1.0
- Not Supported: HTML5, CSS3, JavaScript
- Workaround: Proxy can simplify modern HTML
- Supported: HTTP/1.0, HTTP/1.1 (via proxy)
- Not Supported: HTTPS (direct), HTTP/2, WebSocket
- Workaround: Proxy handles HTTPS and modern protocols
- Supported: ASCII, Windows-1252 (ANSI)
- Limited: UTF-8 (may display incorrectly)
- Not Supported: UTF-16, other encodings
- Workaround: Proxy can transcode to Windows-1252
Symptoms:
- Error message when launching from DOS prompt
- Application doesn't start
Cause:
- Trying to run from pure DOS, not Windows
Solution:
- Boot into Windows 98 (not DOS mode)
- Launch from Windows Explorer or Start menu
- Verify Windows is running: check for taskbar
Symptoms:
- Error on startup
- Application fails to launch
Cause:
- Winsock 2.2 not installed
Solution:
- Insert Windows 98 CD
- Run SETUP.EXE
- Choose "Add/Remove Components"
- Install "Winsock 2 Update" under Internet Tools
- Reboot and try again
Symptoms:
- Specific error about missing procedure
- Application crashes on startup
Cause:
- Using API not available in Winsock 2.2
- Build used wrong WINVER flags
Solution:
- Rebuild with build_win98.bat
- Verify WINVER=0x0410 in build script
- Run compatibility checker on source code
- Check for Windows 2000+ APIs
Symptoms:
- "Connection failed" or "Timeout" errors
- Network operations fail
Cause:
- Network misconfiguration
- Firewall blocking
- Proxy not running
Solution:
- Verify network:
ping [proxy_host] - Check proxy is running:
netstat -an | findstr 8888(on host) - Verify firewall allows port 8888
- Check proxy address in RetroBrowser settings
- Try telnet to proxy:
telnet [proxy_host] 8888
Symptoms:
- Broken image icons
- Blank spaces where images should be
Cause:
- Unsupported image format (PNG, GIF)
- JPEG decoder issue
- Memory limitation
Solution:
- Verify image is JPEG format
- Check image size (< 1 MB recommended)
- Verify available memory: System Properties
- Try smaller test image first
- Check proxy logs for image conversion errors
Symptoms:
- Pages load very slowly (> 30 seconds)
- UI freezes during operations
- High CPU usage
Cause:
- Insufficient RAM
- Slow network
- Inefficient code
- Too many background processes
Solution:
- Close unnecessary programs
- Increase VM RAM to 128 MB or more
- Disable Windows 98 background services:
- System Configuration Utility (msconfig)
- Uncheck unnecessary startup items
- Defragment hard drive:
defrag c: - Check network speed: ping times should be < 50ms
Symptoms:
- "Out of memory" errors
- Application crashes after 30+ minutes
- Windows becomes unstable
Cause:
- Memory leak in application
- GDI resource leak
- Insufficient virtual memory
Solution:
- Restart application periodically
- Increase virtual memory:
- Control Panel → System → Performance → Virtual Memory
- Set to "Let Windows manage" or 2x physical RAM
- Report issue with details:
- How long before crash
- What operations performed
- Memory usage before crash
- Use debug build to track leaks
Symptoms:
- Strange characters instead of text
- Boxes or question marks
Cause:
- Unsupported character encoding (UTF-8)
- Missing fonts
Solution:
- Configure proxy to transcode to Windows-1252
- Install additional fonts if needed
- Check page encoding in proxy logs
- Some Unicode characters cannot be displayed on Win98
Symptoms:
- Window extends beyond screen edges
- Cannot access controls
Cause:
- Default window size too large for 640x480
Solution:
- Increase screen resolution:
- Control Panel → Display → Settings
- Set to 800x600 or higher
- Or modify source code to use smaller default window
- Window should be resizable
Symptoms:
- Windows error dialog with "Illegal operation"
- Application crashes
- Error details show module and address
Cause:
- Access violation (null pointer, buffer overflow)
- Stack corruption
- Incompatible API usage
Solution:
- Note the error details (module, address)
- Check if reproducible
- Try debug build for more information
- Report issue with:
- Steps to reproduce
- Error details
- Windows version
- What operation was being performed
| Operation | Time | Notes |
|---|---|---|
| Application startup | 2-3 seconds | Cold start |
| Connect to proxy | 0.5-1 second | Local network |
| Load text-only page (5 KB) | 2-5 seconds | Including parse and render |
| Load page with images (50 KB) | 5-15 seconds | Depends on image count |
| Render complex HTML | 1-3 seconds | After download |
| JPEG decode (100 KB) | 0.5-2 seconds | Depends on dimensions |
| Scroll page | Immediate | Should be smooth |
| Navigate back/forward | < 1 second | From cache |
| OS | Startup | Page Load | Rendering | Notes |
|---|---|---|---|---|
| Win98 SE (200 MHz) | 2.5s | 8s | 2s | Baseline |
| Win98 SE (400 MHz) | 1.5s | 4s | 1s | 2x faster |
| WinME (400 MHz) | 1.8s | 4.5s | 1.2s | Slightly slower than 98 |
| Win2000 (400 MHz) | 1.2s | 3.5s | 0.8s | Better memory management |
| WinXP (1 GHz) | 0.5s | 1.5s | 0.3s | Modern hardware |
| Version | Win98 FE | Win98 SE | WinME | Notes |
|---|---|---|---|---|
| 1.0 | ✅ | ✅ | ✅ | Initial release |
| 1.1 | ✅ | ✅ | ✅ | Bug fixes |
| 2.0 | ✅ | ✅ | Requires Winsock 2.2 update for FE |
The following configurations have been tested and certified:
-
VirtualBox 6.1 + Windows 98 SE
- ✅ Certified
- Date: 2025-11-17
- Tester: Development Team
-
VMware Workstation 16 + Windows 98 SE
- ✅ Certified
- Date: 2025-11-17
- Tester: Development Team
-
Dell OptiPlex GX1 (Pentium II 266 MHz, 128 MB)
- ✅ Certified
- Date: 2025-11-17
- OS: Windows 98 SE
-
Custom Build (Pentium MMX 200 MHz, 64 MB)
⚠️ Certified with limitations- Date: 2025-11-17
- OS: Windows 98 SE
- Note: Slow but functional
- Check this compatibility matrix
- Review troubleshooting guide
- Verify your configuration meets minimum requirements
- Test on known-good configuration if possible
- Windows version (exact build number)
- Hardware specifications (CPU, RAM)
- RetroBrowser version
- Steps to reproduce
- Expected vs actual behavior
- Error messages (exact text)
- Screenshots if applicable
- PNG/GIF images not supported - Use JPEG only
- UTF-8 text may display incorrectly - Proxy transcoding recommended
- Large pages (>500 KB) may cause memory pressure - Limit page size
- No JavaScript support - By design
- CSS support limited to basic properties - Modern CSS not supported
- Enhanced image format support (PNG via libpng)
- Better UTF-8 handling
- Improved memory management for low-RAM systems
- Performance optimizations for 200 MHz CPUs
- Windows 95 support will not be added (too many API limitations)
- Windows 3.1 support not planned (16-bit architecture)
- Win98 Testing Guide: See
docs/win98_testing_guide.md - Build Instructions: See
build_win98.batcomments - API Compatibility Report: See
docs/win98_compatibility_report.html - Source Code: See
src/browser/directory
Version: 1.0
Last Updated: 2025-11-17
Next Review: 2026-01-17
Maintained By: RetroBrowser Development Team
Note: This compatibility matrix is based on testing and research as of the last update date. Actual compatibility may vary depending on specific hardware, drivers, and Windows 98 configuration. Always test in your specific environment before deployment.