English | 日本語 | 繁體中文(廣東話) |
BEEP-8 係一部為 C/C++ 應用程式開發而設嘅虛擬復古遊戲機。佢以模擬 ARM v4 CPU 運行,時脈固定 4 MHz,同時針對垂直智能手機屏幕作咗優化。SDK 採用雙層架構:喺低層,開發人員可以透過最低限度嘅 API 直接存取硬體(H/W);喺高層,開發人員可以自由揀選自己嘅結構、框架或者函式庫去構建應用程式。亦提供咗一個類似 PICO‑8 嘅 C/C++ 函式庫,方便快速又熟悉嘅開發,但呢個全層面都係可選擇嘅。
雖然 CPU 係 32 位元處理器,但 VDP(視訊顯示處理器)同 APU(音訊處理單元)則模仿較簡單嘅 8 位元時代虛擬裝置,喺現代可程式化同懷舊硬體限制之間搵到平衡。
因為採用網頁為基礎嘅設計,同埋用 WebGL 同 GPU 睇色器作渲染優化,BEEP-8 可以喺 PC、智能手機(iPhone、Android) 同 iPad 等平板裝置 上,穩定保證 60 fps 流暢運行。
就算喺 iPhone 上,都可以完全免經 Apple App Store 審批,隨時上載同分享你自己整嘅 BEEP-8 應用畀全世界用家,因為整個平台都係網頁化。
所有應用都可以經官方門戶 https://beep8.org 即時分享,全球發佈只要上載檔案就夠簡單。
佢亦都容許開發人員創作 8 位元風格嘅觸控遊戲,結合懷舊操作體驗同現代觸控互動,啱曬休閒同手機友好型遊戲玩法。
記憶體: 主 RAM 1 MB,同 VRAM 128 KB(背景層同精靈圖樣共用,4 bpp,512×512)。
ROM 限制: 每款遊戲最大可用 1024 KB。
b8OS
)整合實現實時操作。b8OS
):
BEEP-8 SDK 支援以下跨平台環境:
大多數平台無需額外安裝工具鏈——SDK 已包含所有支援平台的預建編譯器。
您可以透過下列方式取得 SDK:
git clone https://github.com/beep8/beep8-sdk.git
選項2:以 .tar.gz 壓縮檔下載(無需 Git)
直接下載最新 SDK 原始碼的 .tar.gz 檔案:
https://github.com/beep8/beep8-sdk/archive/refs/heads/main.tar.gz
若不想使用 Git,這種方式最為方便。在 macOS 或 Linux 上可使用系統內建工具解壓。
💡 在 Windows 上建議使用 7-Zip 安全地解壓 .tar.gz 檔案。
SDK 倉庫嘅目錄結構如下:
├── README.md # 呢個文件
├── doc/ # 文件
├── gnuarm/ # 各平台預建嘅 GNU ARM GCC 工具鏈
│ ├── Windows_NT/
│ ├── linux/
│ └── osx/
├── sdk/ # 主要 SDK 組件
│ ├── app/ # BEEP-8 範例應用同構建目標
│ ├── b8helper/ # 可選嘅幫助 BEEP-8 應用開發嘅工具庫
│ └── b8lib/ # BEEP-8 SDK 核心實現
├── setenv.bat # Windows 下用嚟將 make 加入 PATH 嘅腳本
└── tool/ # 開發工具
├── busybox/ # 喺 Windows 上提供 UNIX 式命令支持嘅 BusyBox
├── ccache/ # 用於加速重構建嘅編譯器緩存
├── genb8rom/ # 用嚟生成 BEEP-8 ROM 文件系統映像嘅工具
├── geninstcard/ # 用嚟生成 BEEP-8 ROM 縮略圖嘅工具
├── make/ # Windows 兼容嘅 make.exe,由 setenv.bat 設置路徑
├── png2c/ # 可選嘅 PNG 轉 C 數組工具,用於嵌入資產
├── relb8rom/ # 用於打包最終發布 ROM 嘅工具(發布必需)
└── scripts/ # 自動化應用開發任務嘅輔助腳本
sdk/
└─ app/
├── hello/ # Hello world 範例
├── pico8_example/ # PICO-8 風格函式庫範例
├── bgprint/ # 在背景圖層顯示文字的範例
├── helper_nesctrl/ # 類 NES 控制器範例
├── ppu_example/ # 直接操作 PPU 的範例
├── touch/ # 觸控面板狀態取得範例
├── Makefile # 偏好使用 make 的使用者專用 Makefile
├── build_all.sh # 用於構建此目錄下所有範例的腳本
├── makefile.app # 供 make 使用者共用的 Makefile 引入
├── run_common.bat # Windows/DOS 提示字元下的構建批次檔
└── run_common.sh # macOS/Linux 上的構建 Shell 腳本
每個範例都可以透過單一腳本構建、生成 ROM,並直接啟動。是否需要使用 make
取決於您的喜好。
例如,要構建 pico8_example
範例,請執行:
cd sdk/app/pico8_example
./run.sh
此命令會編譯所有原始碼與圖形資源,生成 .b8
ROM,並在預設的 Web 瀏覽器中自動啟動。
當 ./run.sh
成功執行後,您會看到如下的瀏覽器視窗:
printf()
的輸出將顯示於此。./run.sh
覺得麻煩,可在 Shell 配置檔新增別名:
alias r='./run.sh'
進階使用者(Make/CI):請參考 MAKEFILE.md 獲取完整的 Make 指令說明。
欲獲取完整 API 詳細資訊,請參閱 sdk/b8lib/include/
目錄下的標頭檔。主要標頭包括:
b8OS
)的低階介面。API 參考 BEEP-8 SDK
BEEP-8 SDK 是開發 BEEP-8 應用所需的核心系統庫。
它提供直接存取虛擬硬件,例如 CPU、PPU、APU、定時器以及 RTOS(b8OS
)的功能。
所有進行裸機式開發所需的基本函式都在此定義。
API 參考 BEEP-8 HELPER LIB
BEEP-8 HELPER 是一個可選的工具庫,提供加速應用開發的輔助模組。
它包括圖形輔助、數學函式和簡易輸入管理等,能抽象化部分硬件層面的複雜性。
API 參考 PICO-8 LIKE LIB
這是一個以 C/C++ 編寫的 PICO-8 風格兼容庫。
它盡可能忠實地模擬原始 PICO-8 API,同時適應 C/C++ 語義。
其目標是為 PICO-8 用戶提供熟悉的開發體驗,同時利用原生代碼的效能和靈活性。
您只需具備對底層硬件的最基本認識,即可使用此庫構建完整遊戲。
本項目以 MIT 許可證發布。詳情請參閱 LICENSE 文件。
祝您愉快地使用 BEEP-8 編程!