by anomixer (anomy@mail.com)
This project is an independent community fork of the legendary SimCoupe emulator, specifically optimized and re-engineered for the modern web environment and rebranded as SamCoupeWeb. While it is based on the original SimCoupe by Simon Owen, this version aims to provide unique web-centric features and immediate accessibility before an official port is available.
Live Demo: https://anomixer.github.io/SamCoupeWeb/
Unlike a standard native-to-wasm port, this version is built from the ground up to be a Web-First experience:
- Immediate Availability: Play SAM Coupé games in your browser today.
- Enhanced Media Support: Built-in 7z decompression and Cloud Loading (via URL parameters) with an integrated CORS Proxy for Archive.org.
- Modern Web UX: A custom, responsive UI with real-time status updates, tailored specifically for browser interaction.
- AI-Assisted Innovation: This port represents a pioneering effort in AI-assisted legacy code modernization, achieving a functional, stable web emulator through collaborative human-AI engineering.
This fork is not a simple "AI-generated" dump. It is the result of an intensive, iterative development process involving over 70 documented milestones and technical breakthroughs:
- Crafted Engineering: Every major system (Audio, Video, Input) was painstakingly refactored and debugged to overcome the unique limitations of the Emscripten environment.
- Problem Solving: We tackled complex issues like the "WebGL FBO feedback loop" and "Audio Context suspension" with custom-designed solutions that aren't found in standard ports.
- Community-First Features: The integration of 7z-wasm and CORS Proxying was a deliberate choice by the developer to solve real-world usability issues with online ROM archives like Archive.org.
- Precision Timing: We implemented a microsecond-level accumulator to ensure a flawless 50Hz experience, reflecting a deep understanding of the original hardware's timing requirements.
- Start Audio: Most browsers require a user click to enable sound. Click anywhere on the emulator canvas to start.
- Loading Media:
- Drag & Drop: Drag a disk (.dsk, .mgt, .sad), tape (.tap, .tzx), or hard disk (.hdf) file directly onto the browser window.
- Menu Bar: Use the top menu bar (
File -> Open Disk...) to select files from your local computer. - URL Parameters: Use
?d1=URLin the address bar to auto-load from the cloud.
- Control:
- Use the Menu Bar for hardware settings (Memory, SID, Joysticks) and rendering options.
- Keyboard Shortcuts: F1 (Disk 1), F2 (Disk 2 / Primary Master), F3 (Tape) for quick loading.
- Saving Progress: If you modify a disk, a prompt will appear when you "Eject" it, allowing you to download the modified file back to your computer.
| Feature | Win32 Version | Web (Wasm) Version |
|---|---|---|
| User Interface | Native Win32 Menus | Modern Web UI (Dark Mode) |
| Rendering | DirectDraw / GDI / OpenGL | WebGL 2.0 / Software Hybrid |
| Options Dialog | Modal Windows (Blocking) | Dynamic Web Menu (Non-blocking) |
| File System | Local File System (Native) | Virtual File System (VFS) / Downloads |
| Debugger | Integrated Modal Debugger | Disabled (Prevents browser hangs) |
| New Disk/Tape | Native Dialogs | Disabled (Upload existing images) |
| Import/Export Data | Supported | Disabled (No memory load/save) |
| Cloud Loading | Local Files Only | Advanced URL Parameters (with CORS Proxy support) |
| Media Export | Manual "Save As" Dialog | Automatic Browser Download |
| Data Protection | Native File Writes | Save on Eject Confirmation (Prompts to download modified images) |
| Persistence | .ini files / Registry | LocalStorage / URL Arguments |
| Archive Support | .zip, .gz (Native) | .zip, .gz, .7z (Enhanced) |
| Mouse Control | Prone to jitter (Warp-to-Center bug) | Stable & Precise (Pointer Lock) |
wasm/CMakeLists.txt: Build settings designed for Emscripten.wasm/src/: Custom source overrides for the Wasm environment (non-intrusive).wasm/deploy/: The final build artifacts and web template.package/make_wasm_release.ps1: Fully automated build script.
- Open PowerShell.
- Run the build script:
or
.\package\make_wasm_release.ps1
The script automatically checks for EMSDK and downloads necessary dependencies..\Compile.bat
After building, the artifacts are located in wasm/deploy/. Due to Wasm security restrictions, they must be served via a Web Server:
npx serve wasm/deploypython -m http.server --directory wasm/deployor
.\Run.batThen open your browser and navigate to http://localhost:8000.
- Hybrid Rendering Engine: Supports both WebGL 2.0 (High Performance) and Software (High Compatibility) backends. If you encounter a black screen or rendering issues, you can manually switch to Software mode via the
Viewmenu. - Cloud Loading: Supports loading disk and tape images directly from URLs (HTTP/HTTPS). Use URL parameters like
?d1=...or?tape=...to automatically load and Auto-Boot the software on startup. - Media Auto-Export System: Recorded WAV, GIF, AVI, or screenshots (PNG) automatically trigger a browser download upon completion.
- Desktop-Grade UI: Professional menu bar with real-time state sync, a beautifully centered three-column status bar with live FPS monitoring, and Smart Path Truncation for long filenames.
- Window Zoom System: Options from 50% to 500% zoom, including a Fit to Window auto-adaptation mode.
- Precision 50 FPS & Multi-Speed: A microsecond-level accumulator ensures flawless 50 FPS synchronization across any browser refresh rate. Features a full multi-speed menu (50% to 1000%) with continuous audio playback even at high speeds.
- Atom/AtomLite IDE Support: Integrated support for Atom and AtomLite hardware interfaces, allowing the mounting of .hdf hard disk images to Primary and Secondary master IDE units.
- Configurable Visible Area: Ported the classic Win32 border settings, offering No Border, Small Border (Default), TV Visible, and Full Active modes with real-time viewport adaptation.
- Intelligent UI Feedback: Menu items like Eject Disk/Tape and Stop Recording automatically grey out when inactive, providing clear guidance and preventing accidental clicks.
- Automatic CORS Proxy Fallback: Integrated a fallback mechanism for cloud loading. If a remote server (like Archive.org) blocks a direct download due to CORS, the emulator automatically retries via corsfix proxy to ensure the software loads successfully.
- Interactive Start-up Splash: A Win32-style 'About' window automatically appears at a refined vertical position on startup (or closes on click), providing a premium first impression and clear version information.
- Professional Visual Identity: Restored the original high-fidelity blue/red "SAM Coupé" logo and robot icon with pixel-perfect transparency. Includes a custom favicon for the web environment.
- Native 7z Archive Support: Integrated
7z-wasmto provide full support for compressed disk, hard disk, and tape images. The emulator automatically extracts and mounts the media in-memory, significantly reducing data transmission time for large HDF images. - Non-blocking Custom Modals: Replaced all blocking browser dialogs (
alert,confirm,prompt) with a custom UI system. This ensures the emulator and its audio continue to run seamlessly in the background while users interact with menu commands or error prompts. - Save on Eject Protection: Added a data protection layer that detects disk modifications. When ejecting a modified disk or hard disk image, the emulator prompts the user to download the updated image, ensuring that in-game progress or code changes are never lost.
- Mouse Stabilization (Pointer Lock): Deeply integrated the Pointer Lock API to solve the long-standing "jumping cursor" bug found in the original executable. Provides a perfectly smooth and precise control experience regardless of window scaling.
You can load software directly via URL parameters. This will automatically download, mount, and Auto-Boot the emulator:
interface: Set hardware interface (floppy,atom, oratomlite). Automatically triggers a BIOS/ROM reload.d1: URL to Disk 1 image (.dsk, .mgt, .sad, .gz, .zip, .7z).d2: URL to Disk 2 / Primary Master HDF (.hdf, .gz, .zip, .7z).d3: URL to Secondary Master HDF (.hdf, .gz, .zip, .7z).tape: URL to Tape image (.tap, .tzx, .gz, .zip, .7z).
Example 1: Floppy Disk: Sam Coupé official Demo https://anomixer.github.io/SamCoupeWeb/?d1=https://archive.org/download/Sam_Coupe_TOSEC_2012_04_23/Sam_Coupe_TOSEC_2012_04_23.zip/Sam%20Coupe%5BTOSEC%5D%2FMGT%20Sam%20Coupe%20-%20Demos%20-%20%5BDSK%5D%20%28TOSEC-v2008-12-21_CM%29%2FZZZ-UNK-officialsamcomputersdemo1991.zip
Example 2: HDF Disk: Sample for SAMCon '94 Music Demo (AtomLite) https://anomixer.github.io/SamCoupeWeb/?interface=atomlite&d2=https://sam.speccy.cz/demo/samples4samcon_hdf.7z
Example 3: Floppy Disk: Prince of Persia Game (Floppy) https://anomixer.github.io/SamCoupeWeb/?interface=floppy&d1=https://www.worldofsam.org/index.php/system/files/2022-02/PrinceOfPersia_HDD.dsk
Example 4: HDF Disk: Sam Coupé 2014-11 Demo Collection (AtomLite) - Mouse Fixed https://anomixer.github.io/SamCoupeWeb/?interface=atomlite&d2=https://sam.speccy.cz/al-software/sc-demos_collection_2014-11_atomlite.7z
- Non-Intrusive Modification: Uses a temporary file shadowing technique. Custom versions in
wasm/src/are used during build and original files are restored immediately after, preserving the native development environment. - Main Loop Refactoring: Since browsers don't allow blocking calls,
CPU::Run()was refactored intoIteration()and managed viaemscripten_set_main_loop. - WebGL 2.0: Uses GLES 3.0 standards with corrected Shader syntax and texture formats for browser compatibility.
- Dependency Management: Automatically fetches and sanitizes third-party libraries (e.g., z80, saasound) to prevent build conflicts in the Wasm environment.
To ensure browser stability and prevent hangs, some native Win32 features are intentionally disabled or modified:
- Internal Modal Dialogs: Features like
New Disk,Import/Export,Tape Browser, and the nativeDebuggerare disabled as they use blocking Win32 dialogs that are incompatible with Wasm's single-threaded nature. - Hardware Configuration: All hardware settings (Memory, SID, DAC, Joysticks) have been ported to the Web Menu Bar. Users should use the web interface instead of the native Options dialog.
- File System: Uses a Virtual File System (VFS). Files are accessed via the web file picker and exported via automatic browser downloads.
- Speed Emulation: The Wasm version natively supports precise speed controls from 50% up to 1000%, ensuring full audio functionality even during fast-forwarding, overcoming traditional browser refresh rate limitations.
- Hybrid Rendering: Defaults to
SimCoupe/GL3(WebGL 2.0). If you experience display issues, go toView -> Use WebGL Accelerationand uncheck it. The emulator will prompt for a refresh and persist the setting usinglocalStorageand command-line arguments. - Audio may require a user gesture (click) to start in some browsers.
- Third-Party Services:
Q: How is this version different from the native executable?
A: This version runs directly in your browser using WebAssembly. It features a modern web UI, integrated cloud loading, and automated media downloads. However, some native features that cause browser hangs (like the built-in Debugger or New Disk dialogs) have been disabled to ensure stability.
Q: What features has been added?
A: We added native 7z archive support, Cloud Media Loading (via URL parameters), a CORS Proxy fallback, and a high-performance WebGL 2.0 rendering engine.
Q: Why is there no sound?
A: Modern browsers require a user gesture (like a click) to enable audio. Just click anywhere on the canvas or UI to activate the sound.
Q: I see a black screen or no video. What should I do?
A: Some browsers or hardware may have WebGL 2.0 compatibility issues. Try a different browser (Chrome, Edge, or Firefox are recommended), or go to View -> Use WebGL Acceleration and uncheck it to switch to software rendering.
Q: Why are menu checkmarks or statuses incorrect?
A: This issue was officially fixed in the May 12, 2026 update. The system now performs high-frequency state synchronization upon startup to ensure all menu checkmarks perfectly align with the engine core.
- Original Emulator (SimCoupe): Simon Owen & contributors
- SamCoupeWeb (Web Port & UI): Maintained by anomixer with community-focused enhancements.
本專案是傳奇模擬器 SimCoupe 的一個獨立社群分支 (Community Fork),專為現代網頁環境進行了深度優化與重構,並更名為 SamCoupeWeb。本版本雖然基於 Simon Owen 的原始源碼,但旨在提供獨特的網頁核心功能,並在官方移植版發布前,為社群提供一個功能完備、即時可用的線上模擬方案。
線上體驗: https://anomixer.github.io/SamCoupeWeb/
不同於傳統的程式碼移植,這個版本致力於打造原生網頁級體驗 (Web-First Experience):
- 即時可用:無需下載,直接在瀏覽器中體驗完美的 SAM Coupé 模擬。
- 強大的雲端支援:內建 7z 解壓與 Cloud Loading(透過 URL 參數),並整合 CORS 代理以支援從 Archive.org 直接載入。
- 現代化介面:針對瀏覽器特性設計的響應式選單列、狀態監控與自動導出系統。
- AI 協作開發:本移植版展現了 AI 輔助開發在遺留代碼現代化方面的潛力,是人類開發者與 AI 助手深度協作的技術結晶。
本分支絕非簡單的「AI 隨機生成」成品,而是經過無數次迭代、調優與技術攻堅的成果。背後凝聚了開發者的巧思與對模擬器技術的熱忱:
- 精工細作:模擬器的每一個核心系統(音訊、影像、輸入)都經過了深度的重構與除錯,以克服 Emscripten 環境的各種邊界限制。
- 技術攻堅:我們針對 WebGL 的 FBO 渲染迴圈問題、以及瀏覽器音訊掛起死結,實作了專有的非阻塞式解決方案。
- 以人為本的功能:加入 7z 支援 與 CORS 備援代理 是開發者為了讓玩家能更流暢地從 Archive.org 等雲端載入媒體,而特別設計的「最後一哩路」。
- 致敬硬體:透過精確的微秒級時間累加器,我們在網頁端完美重現了原始硬體 50Hz 的運作節奏,這不僅是程式碼的移植,更是對經典硬體的致敬。
- 啟動音效:現代瀏覽器限制自動播放音訊。在模擬器畫面上點擊任意處即可啟動聲音。
- 載入媒體:
- 拖放載入:直接將磁碟 (.dsk, .mgt, .sad)、錄音帶 (.tap, .tzx) 或硬碟 (.hdf) 檔案拖入瀏覽器視窗即可載入。
- 選單載入:使用上方選單列 (
File -> Open Disk...) 選擇電腦中的檔案。 - 雲端載入:在網址後方加上
?d1=網址參數即可自動從網路載入。
- 控制與設定:
- 使用網頁選單列進行硬體設定(記憶體、SID、搖桿)與顯示縮放。
- 快速鍵:F1 (Disk 1)、F2 (Disk 2 / Primary Master)、F3 (Tape) 可快速開啟檔案。
- 存檔與導出:若你在遊戲中修改了磁碟內容,在「彈出磁碟 (Eject)」時系統會自動彈出存檔提示,點擊即可將修改後的影像檔下載回電腦。
| 功能特性 | Win32 原生版本 | Web (Wasm) 版本 |
|---|---|---|
| 使用者介面 | 原生 Win32 選單 | 現代化 Web UI (黑夜模式) |
| 渲染後端 | DirectDraw / GDI / OpenGL | WebGL 2.0 / 軟體渲染混合引擎 |
| 設定對話框 | 阻塞式視窗 (Modal) | 動態網頁選單 (非阻塞) |
| 檔案系統 | 本地檔案系統 (原生) | 虛擬檔案系統 (VFS) / 瀏覽器下載 |
| 除錯器 (Debugger) | 內置阻塞式除錯器 | 已禁用 (避免瀏覽器凍結) |
| 建立空白磁碟/帶 | 內置對話框 | 已禁用 (請於本地建立後上傳) |
| 匯入/匯出資料 | 支援 | 已禁用 (無直接記憶體存取) |
| 雲端載入 | 僅支援本地檔案 | 進階 URL 參數載入 (支援 CORS 修正) |
| 多媒體導出 | 彈出對話框手動存檔 | 自動導出並觸發下載 |
| 資料保護機制 | 直接寫入本地檔案 | 退出存檔提示 (偵測修改並提醒使用者下載存檔) |
| 設定持久化 | .ini 檔案 / 登錄表 | LocalStorage / URL 參數 |
| 壓縮檔支援 | .zip, .gz (原生) | .zip, .gz, .7z (進階支援) |
| 滑鼠操控 | 游標易亂跳 (Warp-to-Center 缺陷) | 穩定且精確 (Pointer Lock) |
wasm/CMakeLists.txt: 專為 Emscripten 設計的建置設定。wasm/src/: 存放針對 Wasm 環境覆寫的源碼(非侵入式)。wasm/deploy/: 編譯後的成品與網頁範本。package/make_wasm_release.ps1: 全自動建置腳本。
- 開啟 PowerShell。
- 執行建置腳本:
或
.\package\make_wasm_release.ps1
腳本會自動檢查並安裝 EMSDK,並下載必要的依賴庫。.\Compile.bat
編譯完成後,檔案會存放在 wasm/deploy/。由於 Wasm 的安全限制,必須透過 Web Server 執行:
npx serve wasm/deploypython -m http.server --directory wasm/deploy或
.\Run.bat然後開啟瀏覽器, 瀏覽 http://localhost:8000。
- 雙模渲染引擎: 同時支援 WebGL 2.0 (高性能) 與 軟體渲染 (高相容性)。若在特定設備遇到黑屏,可透過
View選單手動切換至軟體模式。 - 媒體自動導出系統: 錄製的 WAV, GIF, AVI 或螢幕截圖 (PNG) 會在停止錄製後自動觸發瀏覽器下載,無需手動管理虛擬檔案系統。
- 桌面級選單介面: 仿作業系統的選單列,具備即時狀態同步、完美置中的三欄式狀態列與即時 FPS 監控,並支援長檔名的智慧截斷顯示。
- Window Zoom 系統: 提供 50% 到 500% 的縮放選項,並包含 Fit to Window 自動適應模式。
- Atom/AtomLite IDE 支援: 深度整合 Atom 與 AtomLite 硬體介面,支援將 .hdf 硬碟影像檔 掛載至 IDE Primary 或 Secondary Master 單元。
- 可自定義顯示區域: 移植了 Win32 版經典邊框設定,提供 No Border、Small Border (預設)、TV Visible 與 Full Active 四種模式,並實作即時畫面適應。
- 智慧型 UI 回饋: 選單中的「彈出磁碟」與「停止錄影」選項會在無效時自動變灰 (Grey-out),提供更直覺的操作引導。
- 精確 50 FPS 與多段速切換: 透過微秒級時間累加器,無論瀏覽器更新率為何都能維持完美的 50 FPS。內建 50% 到 1000% 的多段速選單,且快轉時依然保留流暢的音效體驗。
- 自動 CORS Proxy 備援: 針對雲端載入實作了自動代理機制。若遠端伺服器(如 Archive.org)因 CORS 限制擋下直接下載,系統會自動透過 corsfix 代理伺服器重試,大幅提升載入成功率。
- 互動式開場畫面: 仿 Win32 風格的「About」視窗會在啟動時出現在優化後的垂直位置,提供極佳的第一印象與清晰的版本資訊。
- 專業視覺標誌: 找回並修復了原版高質感的藍紅「SAM Coupé」標誌與機器人圖示,實作了像素級去背 (Transparency) ,並整合為網頁專屬 Favicon。
- 原生 7z 壓縮檔支援: 整合了
7z-wasm技術,全面支援壓縮格式的磁碟、硬碟與磁帶影像。系統會自動在記憶體中完成解壓與掛載,大幅縮短了大型 HDF 映像檔的傳輸時間。 - 非阻塞式自定義模態視窗: 將所有會導致執行中斷的瀏覽器原生彈窗 (
alert,confirm,prompt) 替換為自定義 UI 系統。確保使用者在處理選單指令或錯誤提示時,模擬器的畫面與音效依然能在背景流暢運作。 - 退出磁碟存檔提示: 針對 WASM 虛擬環境實作了資料保護層。當使用者退出被修改過的磁碟或硬碟影像時,系統會自動彈出提示詢問是否存檔,確保遊戲進度或程式修改不會遺失。
- 滑鼠操控穩定化 (Pointer Lock): 深度整合 Pointer Lock API,徹底修復了原版執行檔在特定縮放模式下下游標「亂跳」或噴走的長年 Bug。無論畫布如何縮放,都能提供極致流暢且精確的遊戲操控體驗。
你可以透過網址參數直接載入軟體,系統會自動下載、掛載並執行 Auto-Boot:
interface: 設定硬體介面 (floppy,atom, 或atomlite),系統會自動觸發 BIOS/ROM 重載。d1: 磁碟 1 的 URL (.dsk, .mgt, .sad, .gz, .zip, .7z)。d2: 磁碟 2 / Primary Master HDF 的 URL (.hdf, .gz, .zip, .7z)。d3: Secondary Master HDF 的 URL (.hdf, .gz, .zip, .7z)。tape: 錄音帶的 URL (.tap, .tzx, .gz, .zip, .7z)。
範例連結2: 硬碟: Sample for SAMCon '94 音樂示範片 (AtomLite) https://anomixer.github.io/SamCoupeWeb/?interface=atomlite&d2=https://sam.speccy.cz/demo/samples4samcon_hdf.7z
範例連結3: 磁碟: Prince of Persia 遊戲 (Floppy) https://anomixer.github.io/SamCoupeWeb/?interface=floppy&d1=https://www.worldofsam.org/index.php/system/files/2022-02/PrinceOfPersia_HDD.dsk
範例連結4: 硬碟: Sam Coupé 2014-11 Demo 合集 (AtomLite) 已修復: 滑鼠可控制 https://anomixer.github.io/SamCoupeWeb/?interface=atomlite&d2=https://sam.speccy.cz/al-software/sc-demos_collection_2014-11_atomlite.7z
- 非侵入式修改: 採用了暫時性檔案更名技術,在編譯期間優先使用
wasm/src/中的自定義版本,建置結束後會自動還原原始檔案,確保不破壞原作者的開發環境。 - 主迴圈重構: 由於瀏覽器環境不允許阻塞,我們將
CPU::Run()拆解為Iteration(),並透過emscripten_set_main_loop呼叫。 - WebGL 2.0: 使用 OpenGL ES 3.0 規範,修正了 Shader 語法與紋理格式以符合瀏覽器標準。
- 依賴項管理: 自動下載並清理第三方庫(如 z80, saasound)中的測試程式,避免 Wasm 環境下的編譯衝突。
為了確保瀏覽器穩定性並防止畫面凍結,部分原生 Win32 功能在 WASM 版中已被封鎖或修改:
- 內置對話框禁用:
New Disk、Import/Export、Tape Browser以及內置的Debugger已被禁用,因為這些功能會呼叫阻塞式視窗,導致瀏覽器環境當機。 - 硬體設定移植: 所有的硬體設定(記憶體、SID、DAC、搖桿)都已移植至網頁選單列。請使用網頁介面進行設定,而非呼叫原版的 Options 對話框。
- 檔案系統: 使用虛擬檔案系統 (VFS)。檔案透過網頁上傳器載入,並透過瀏覽器自動下載導出。
- 模擬速度限制: Wasm 版現已完全支援 Win32 版的 50% 到 1000% 多段百分比調整,且解處理了快轉時的靜音限制,提供原汁原味的流暢加速體驗。
- 混合渲染: 目前預設使用
SimCoupe/GL3(WebGL 2.0)。若遇到顯示問題,請至View -> Use WebGL Acceleration取消勾選。系統會提示並自動重新整理,透過localStorage與命令行參數確保設定持久生效。 - 音訊在某些瀏覽器可能需要使用者點擊頁面後才能啟動。
- 第三方服務使用聲明:
Q: 這個版本與原本的執行檔版有什麼不同?
A: 此版本透過 WebAssembly 技術直接在瀏覽器中執行。它具備現代化的網頁介面、雲端載入功能以及自動下載導出。為了確保瀏覽器穩定性,我們禁用了部分會導致網頁凍結的原生功能(如內置除錯器或建立磁碟對話框)。
Q: 增加了什麼新功能?
A: 我們加入了 原生 7z 壓縮檔支援、雲端媒體載入(透過網址參數)、CORS 代理自動備援,以及高性能的 WebGL 2.0 渲染引擎。
Q: 為什麼沒有聲音?
A: 現代瀏覽器規定必須有使用者互動(如點擊)後才能啟動音訊。請在畫面(Canvas)上點擊任意處即可啟動聲音。
Q: 沒畫面或顯示黑屏怎麼辦?
A: 部分瀏覽器或硬體可能存在 WebGL 2.0 相容性問題。請嘗試更換瀏覽器(推薦使用 Chrome、Edge 或 Firefox),或到選單 View -> Use WebGL Acceleration 取消勾選以切換至軟體渲染模式。
Q: 為什麼選單的功能表沒打勾或狀態不對?
A: 此問題已在 2026-05-12 的更新中修復。系統現在會在啟動後進行多次高頻狀態同步,確保所有選單勾選狀態與引擎核心完美一致。
- 原始模擬器 (SimCoupe): Simon Owen 及貢獻者
- SamCoupeWeb (網頁移植與介面): 由 anomixer 維護並持續進行社群功能優化