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.

macOS on Apple Silicon. Windows and Linux builds are on the way.

Download

PlatformFileSizeStatus
macOS · Apple Silicon CrustyStudio-macos-arm64.dmg 4.1 MB Available
macOS · archive CrustyStudio-macos-arm64.zip 3.8 MB Available
Demo projects CrustyStudio-demos.zip 0.4 MB Available
Windows · x64 installer Not yet
Linux · x64 AppImage / .deb Not yet

Every release includes SHA256SUMS.txt. Check a download with shasum -a 256 -c SHA256SUMS.txt.

Installing on macOS

From the disk image

  1. Open the .dmg.
  2. Drag Crusty Studio onto the Applications shortcut.
  3. Eject the disk image.

First launch

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

Quick start

  1. Install the toolchain. Crusty Studio drives tools you install yourself: crustyBASIC, VASM vasm6502_oldstyle 2.x, and an emulator for your machine — VICE for the Commodore machines, Mesen or FCEUX for the NES.
  2. Point the studio at them. Open Tools → Settings → Toolchain, choose the compiler and assembler, and add the folder holding your emulators. Check installation confirms all three are found.
  3. Open or create a project. Project → New creates a project folder with src/main.cbs, folders for each asset type, and a .crusty manifest. The demo projects from the download above are good starting points.
  4. Write, build, run. Press Build and run and the studio saves the source, calls crustyBASIC with VASM, reports what the compiler said, and launches the artifact in the emulator.
@OPTION TARGET c64

PROC MAIN
    CLS
    POSITION 0, 0
    PRINT "HELLO, C64!"
ENDPROC

What is in it

Editor

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.

Search

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.

Tabs that keep up

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.

Build and run

Per-target build options, compiler output and problems panels, and target-aware emulator launching.

Workshops

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.

Guides inside the app

A studio guide and one each for the tile workshop, charset editor, music workshop and SID music, all under Help.

Supported targets

Machines

  • Commodore 64, 128, Plus/4, VIC-20, MEGA65
  • Atari 8-bit, 5200, 2600, 7800
  • Apple II
  • TRS-80 Color Computer
  • Nintendo Entertainment System, Super Nintendo
  • MS-DOS 16-bit, Windows x64

Not included

Crusty Studio does not bundle crustyBASIC, VASM, emulators or any ROMs. Install those separately and point the studio at them. .prg, .crt and cartridge images come from your own build.

Guides

Installing

Installing on each platform, and the macOS first-launch warning.

Studio guide

The workspace, projects, building, running and every workshop, in one document.

Tile workshop

C64 and NES tile maps, metatiles, CHR ranges and the attribute grid.

Charset editor

Standard and multicolour character sets, and exporting an include.

Music workshop

The portable four-lane tracker, its imports, and what the exported player carries.

SID music

Composing for the SID, with the technical notes alongside.

Licence

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.