████ ████ █ █ ████ █████ █ █
█ █ █ █ █ █ █ █ █
█ ████ █ █ ████ █ █
█ █ █ █ █ █ █ █
████ █ █ ████ ████ █ █
████ █████ █ █ ████ ███ ████
█ █ █ █ █ █ █ █ █
████ █ █ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █
████ █ ████ ████ ███ ████
edit · build · run
┌───────────────────────────────────────────────────────────┐
│ main.cbs │ actors.cbi │ level.cbi – □ × │
├───────────────────────────────────────────────────────────┤
│ 10 PROC MAIN │
│ 11 SPRITE_SHOW 0 │
│ 12 ENDPROC │
│ │
│ ready · 0 problems crustyBASIC │
└───────────────────────────────────────────────────────────┘
Edit · Build · Run
Crusty Studio is a desktop IDE for crustyBASIC, the BASIC cross-compiler for vintage computers and consoles. Source editor, project files, compiler, assembler, emulator and a set of pixel-and-sound workshops in one window — so a change from code to running game takes a keystroke instead of a chain of terminal commands.
Version 0.4.0, packaged 2026-10-18 from 226e70c.
This page always serves the newest release, currently 0.4.0. Earlier releases stay in the downloads archive.
| Platform | File | Size | Status |
|---|---|---|---|
| macOS · Apple Silicon | CrustyStudio-macos-arm64.dmg | 4.3 MB | Available |
| macOS · Apple Silicon archive | CrustyStudio-macos-arm64.zip | 4.0 MB | Available |
| macOS · Intel | CrustyStudio-macos-x86_64.dmg | 4.6 MB | Available |
| macOS · Intel archive | CrustyStudio-macos-x86_64.zip | 4.3 MB | Available |
| Windows · x64 | CrustyStudio-windows-x64-setup.exe | 3.1 MB | Available |
| Linux · x86_64 | CrustyStudio-linux-x86_64.AppImage | 86.8 MB | Available |
| Linux · Debian/Ubuntu | CrustyStudio-linux-x86_64.deb | 4.2 MB | Available |
| Demo projects | CrustyStudio-demos.zip | 593 KB | Available |
Every release includes SHA256SUMS.txt. Check a download with
shasum -a 256 -c SHA256SUMS.txt.
Both macOS downloads require macOS 12.3 or later. Take the Apple Silicon build on an M-series Mac and the Intel build on an Intel one. The Intel build also runs on an M-series Mac under Rosetta 2; the Apple Silicon build cannot run on an Intel Mac.
.dmg, or expand the .zip.These builds are signed but not notarised, so macOS warns the first time. Right-click the app and choose Open, or clear the quarantine flag:
xattr -dr com.apple.quarantine /Applications/CrustyStudio.app
-setup.exe you downloaded.The installer fetches the WebView2 runtime if Windows does not already have it.
.deb instead.chmod +x CrustyStudio-*.AppImage
./CrustyStudio-*.AppImage
crustyBASIC compiles your program and hands the assembly to VASM, which turns it into the file the emulator runs. Crusty Studio drives both and bundles neither, so VASM has to be on your machine before the first build — download the build for your computer below. Tools → Settings → Toolchain tells you whether it has been found.
One file, for both Apple silicon and Intel Macs.
macOS quarantines what it downloads. If it refuses to run, clear the flag:
xattr -d com.apple.quarantine ~/Downloads/vasm6502_oldstyle_macos-universal
64-bit Windows. This is the archive the VASM author publishes, unchanged.
It keeps the name it arrives with, vasm6502_oldstyle_windows-x64.exe, and
Crusty Studio finds it under that name or under vasm6502_oldstyle.exe.
x86-64, statically linked, so it runs on any distribution.
chmod +x vasm6502_oldstyle_linux-x86_64
VASM is one executable per CPU. The downloads above are the 6502 build, which covers the Commodore, Atari, Apple II and NES families. The Spectrum, ZX81, Amstrad CPC, MSX, ColecoVision, Game Boy and the other Z80, 8080 and Game Boy targets need the Z80 build:
Download Z80 for macOS Windows Linux
Put it in the same folder as the 6502 build, under the name it arrives with
(vasmz80_oldstyle_linux-x86_64, vasmz80_oldstyle_macos-universal or
vasmz80_oldstyle_windows-x64.exe) or renamed to vasmz80_oldstyle
(vasmz80_oldstyle.exe on Windows) — Crusty Studio resolves either. Point the
VASM folder setting at that folder rather than at one of the files, and
Crusty Studio picks the build each target names from what is in it.
The TRS-80 Color Computer is a 6809 machine, so it needs a third build. There is no Windows download for this one: the author publishes no Win64 archive for the 6809 build, and this site only redistributes the Windows archives he publishes.
It goes in the same folder as the other two, under the name it arrives with
(vasm6809_oldstyle_linux-x86_64 or
vasm6809_oldstyle_macos-universal) or renamed to
vasm6809_oldstyle. On
Windows, build it from the
source archive
with make CPU=6809 SYNTAX=oldstyle under MSYS2 or Cygwin. A Color Computer
build that cannot find it stops and names the missing assembler, and the Color Computer
is the only 6809 target, so nothing else needs it. A Color Computer build is a
.ccc cartridge, which both MAME and XRoar start on their own.
tools/assemblers/vasm/<platform>/ inside the crustyBASIC folder, whose
folder names are windows-x86_64, linux-x86_64,
macos-aarch64 and macos-x86_64 — the macOS download serves
both of those last two. Nothing has to be renamed: the suffixes the downloads carry are
the platform each file was built for, and Crusty Studio reads them.
To confirm the version yourself, run it with no arguments — the first line begins
vasm 2., and the current release reads vasm 2.0f. An older
assembler is refused, because crustyBASIC emits assembly that needs a recent one.
VASM is copyright © 2002–2026 Volker Barthelmann. It is redistributed here with his
permission: each binary is compiled from the unmodified official source, and the
manual
and the
source archive
are included alongside them. Nothing in the source is patched or configured; the macOS and Linux
builds are simply make CPU=6502 SYNTAX=oldstyle and
make CPU=z80 SYNTAX=oldstyle. The Windows binaries are the archives the author
publishes, redistributed unmodified.
README.txt lists every file, the source archive's SHA-256, and the exact commands used. LICENSE is the author's own. The manual is also online as HTML, and the author's own pages carry the release binaries: sun.hasenbraten.de/vasm and compilers.de/vasm.html.
VASM covers the 6502, 68k and Z80 families. crustyBASIC's x86 targets —
dos16, h120, pcjr, tandy1000,
linux64 and win64 — hand their assembly to NASM
instead, so install it only if you build for one of those systems.
brew install nasm on macOS, sudo apt install nasm on
Debian and Ubuntu, or the installer from
nasm.us on Windows.nasm (nasm.exe on Windows) in
tools/assemblers/nasm/<platform>/ inside the crustyBASIC folder, or point the
NASM assembler field in Tools → Settings → Toolchain
straight at it.
nasm -v prints NASM version 2.16.01 compiled on …. The other targets
build with VASM alone, so a missing NASM does not stop a C64, NES or Atari build.
vasm6502_oldstyle 2.x (download it above),
NASM for the x86 targets,
and an emulator for your machine — VICE for the Commodore machines, Mesen, FCEUX, ares or BizHawk for the NES.src/main.cbs, folders for each asset type, and a .crusty manifest. The demo projects
from the download above are good starting points.@OPTION TARGET c64
PROC MAIN
CLS
POSITION 0, 0
PRINT "HELLO, C64!"
ENDPROC
crustyBASIC syntax, completion for procedures, constants and directives, signature help, snippets, multi-line block comments, a live checker and compiler diagnostics, with go-to-definition and find-usages across the project's include graph.
Find text across every file in the project. Results are listed one row per matching line, with a single click to jump to the file and line.
Unsaved changes and files changed on disk outside the studio are marked separately, with a reload action ready when something else has been editing your files.
Per-target build options, compiler output and problems panels, and target-aware emulator launching.
C64, NES and Apple II sprites, C64 charsets, C64 and NES tile maps, sound effects for SID and the NES APU, a portable four-lane music tracker, and a SID music tracker.
A studio guide and one each for the tile workshop, charset editor, music workshop and SID music, all under Help.
Installing on each platform, and the macOS first-launch warning.
The workspace, projects, building, running and every workshop, in one document.
C64 and NES tile maps, metatiles, CHR ranges and the attribute grid.
Standard and multicolour character sets, and exporting an include.
The portable four-lane tracker, its imports, and what the exported player carries.
Composing for the SID, with the technical notes alongside.
Crusty Studio is not open source. The applications published here are provided for use with crustyBASIC; the source code is not published and no rights to it are granted. crustyBASIC itself is a separate project under its own terms.
Reporting a problem works best with the version you downloaded, your operating system, the target you were building for, and the contents of the Output panel if a build was involved.