BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
게임을 ROM-in-a-Box에 넣으면 클릭 한 번으로 실행되는 독립 앱과 직관 메뉴, RetroAchievements, 셰이더를 제공합니다
Drop a game you own onto ROM-in-a-Box and get a self-contained app you can double-click to play, with an intuitive menu, RetroAchievements and shaders. For Mac and Windows.
게임GLSL · RustGitHub @Jorl17온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Package ROMS as fully self-contained apps with an intuitive GUI. Built on RetroArch
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
ROM-in-a-Box is an app that bundles a ROM with a custom version of RetroArch into a standalone app for macOS or Windows. In other words, turn any ROM into a standalone app.README 전문 보기 ↗ROM-in-a-Box is an app that bundles a ROM with a custom version of RetroArch into a standalone app for macOS or Windows. In other words, turn any ROM into a standalone app.
For the full list of features, see rominabox.app.
The latest release has the builder for Macs with Apple silicon, for Intel Macs and for both, and an installer for Windows. Apple has notarized the Mac builders.
The Windows installer is not signed with a code-signing certificate, so Microsoft Defender SmartScreen may warn that it comes from an unknown publisher and call it dangerous. It is safe to run: choose More info, then Run anyway. A game made for Windows is not signed either, and someone who downloads it may see the same warning.
RetroArch is in our fork, rominabox-retroarch, included as a submodule:
git clone --recurse-submodules https://github.com/Jorl17/rominabox.git
You need Node.js, Rust with Tauri's prerequisites, and uv for the scripts. To build the player (our RetroArch), you also need Git, CMake, Ninja, pkg-config and Xcode's command line tools on macOS, or MSYS2's UCRT64 toolchain on Windows.
To work on the builder's interface in a browser, without building RetroArch:
cd desktop
npm ci
npm run dev
Then open http://127.0.0.1:1420/.
To build the builder, build the player into a folder given as an absolute path, then the runtime kit from that build, then the builder, from the repository root. On Windows, leave out --target macos-universal.
cd desktop && npm ci && cd ..
uv run python scripts/build_player.py --target macos-universal "$PWD/work/player"
uv run python scripts/build_kit.py "$PWD/work/player"
uv run python scripts/build_builder.py
The result is a signed .app on macOS and an installer on Windows.
uv run python scripts/test.py # the fast scopes
uv run python scripts/test.py menu frontend # one or more scopes
uv run python scripts/test.py --all # everything, including the slow scopes that start games
uv run python scripts/test.py --list # what each scope covers, and what it leaves out
In most scopes we read the runtime kit, so build the player and the kit first, as in Building. You do not need the builder itself. In the slow scopes we start games with a hidden window.
SLOW next to a scope. Its run took more than twice as long as its last recorded time (scripts/fixtures/scope-budgets.json). It is a note about speed, not a failure.
STALE files in the staging scope. The kit's copies of the menu designs are older than the designs. Run uv run python scripts/kit_assets.py to copy them again.
Skipped tests. Some tests need a game or disc that the repository does not contain, and scripts/fetch_test_content.py downloads it. When the download is not possible, those tests are skipped, with the reason in the output.
A menu design is a folder of RmlUi markup and stylesheets in integrations/designs/. To make one, follow Writing a menu design, and see the screen contract for the elements every screen must have.
You can look at a design without starting a game:
rominabox-cli preview draws a design's pause screen into a PNG, as described in Checking a design.uv run python scripts/menu_states.py work/menu-states draws every state of every design in every palette.rominabox-cli does everything the builder does, through the same Rust code: identification, previews, projects and export. Commands read JSON on stdin and write JSON Lines on stdout. Run it with --help, or schemas for the full interface. In a built builder it is at ROM-in-a-Box.app/Contents/Resources/bin/rominabox-cli on macOS, and on the PATH after installing on Windows.
There is also a skill for AI agents that describes how to use rominabox-cli. It is an idea from the early days of the project, and we have not kept it up to date.
uv run python, so every machine uses the same Python and packages.git config core.hooksPath .githooks to use our hooks. With them, the whole test suite runs before every push.desktop/: the builder (Tauri and React) and, in desktop/crates/rominabox-engine, the Rust engine and the rominabox-cli command line.vendor/retroarch/: our RetroArch fork, with the in-game menu.integrations/: consoles, menu designs, shaders and controller profiles.scripts/: building, packaging and tests.docs/: guides to menu designs, console packages, menu sounds and the native runtime.ROM-in-a-Box is licensed under the GNU General Public License v3.0 or later. Copyright (C) 2026 João Ricardo Lourenço.
The licences of third-party components are in licenses/.
ROM-in-a-Box does not include any games. Use it with games you own.