Manual · 1

Getting started

This page takes you from installing VCSIDE to a first program running in an emulator, and explains the project file and the panels you will see.

Install

VCSIDE is a single program. On macOS it is VCSIDE.app; on Windows and Linux it is vcside (or vcside.exe) with its data/ folder next to it. It needs OpenGL 2.1 or later and nothing else of its own.

It does not include the assemblers and emulators. It looks for them in your PATH and in the usual install folders, and you can set any of them by hand in Settings → Tools (Cmd+,).

ToolNeeded for
DASMassembly projects
batari Basic 1.9 and wasmtimebatari Basic projects (batari Basic brings its own DASM)
Arm GNU toolchain and GNU MakeC projects for ELF cartridges
Gopher2600 or Stellarunning and debugging

You don't have to install everything before starting. Before building or running, VCSIDE checks what the project needs. If something is missing, a window says what it is and how to install it, with its official download page, Choose the file... and Search again, and then carries on with the build.

A first project

When nothing is open, VCSIDE shows its welcome page: New project, Open project, Open folder and the recent projects and folders, one click away.

The welcome page with the VCSIDE icon, New project, Open project, Open folder and four recent projects
The welcome page.

Use New project (also in File). Give it a name and a folder, and choose:

Then press F5. VCSIDE builds the program and opens it in the emulator.

The walking-sprite example open in VCSIDE
The assembly example, open after New project.
The batari Basic template after a build
The batari Basic template after F7, with its space per bank.

The project file

A folder without one builds too: open it with File → Open folder... and press F7. VCSIDE recognises a Makefile or build script, a DASM source with its processor line or a batari Basic one (in the folder or in src/), shows what it found and builds it as it is, or writes the project file first if you want to keep or change the settings.

A project is a .vcsproj file, plain JSON that you can keep under version control. Build → Project settings..., or a click on the .vcsproj in the project panel, opens it in a tab as a form or as text, with a switch between both. Keys VCSIDE doesn't use are kept.

{
  "name": "walker",
  "language": "dasm",
  "main": "main.asm",
  "output": "build/walker.bin",
  "format": "4K",
  "tv": "NTSC",
  "emulator": "gopher2600",
  "illegal_opcodes": "allow",
  "include_dirs": []
}
FieldWhat it does
languagedasm, bb or elf.
main, outputThe program to build and the ROM it gives.
formatThe cartridge format (2K, 4K, F8, F6, F4, FE, E0, E7, 3F, 3E, FA, DPC, DPC+, CDFJ, ELF...). It is passed to the emulator and used by the space report.
tvThe TV standard passed to the emulator.
emulatorgopher2600 (the default for new projects) or stella.
illegal_opcodesallow, stable-only, warn or forbid. See illegal opcodes.
build_commandA command of the project's own that builds it: make (what ELF projects use), sh build.sh, or a line with && that the system shell runs. Its errors still go to Problems.
tool_pathsA DASM or batari Basic of the project's own, instead of the one in Settings → Tools, for example to pin a version. Paths are relative to the project or absolute.
build_flagsMore arguments for DASM, such as -DPAL=1. Those that change the code also apply when the space is measured.
space_warn_percent, stack_reserveWhen the space report warns (90 % by default) and how many bytes of RAM to keep for the stack (8). See Space report.
emulator_options, emulator_argsWhat Emulator options changes. Only the changed options are saved.

The format, TV standard, emulator and illegal-opcode policy can also be changed in the Build menu.

Breakpoints, the files that were open and where the cursor was are kept apart, in <project>.vcsproj.user. Add it to .gitignore if you don't want to share them.

Opening a folder that has a Makefile or a build script and no project file offers to create one, with the main source and the ROM read from the folder.

The window

The panels can be moved and docked wherever you like:

Project
All the project's files, hidden ones too. What Git ignores, and the build folder, show dimmed. Double-click to open one.
Editors
One tab per open file: code, graphics (.vcsgfx), project settings, or a PNG or BMP image.
Output
What the build and the emulator print.
Problems
Errors and warnings from the build and the space report. Click one to open its line.
Space
The space report of the last build.
Documentation
The knowledge base, which follows F1.

On macOS the menus are in the system menu bar, and the application menu has About, Tools and Language. On Windows and Linux they are in the window. Esc closes any dialog.

Images open in a viewer with sharp pixels: a click zooms in, Alt+click or the right button zooms out, the wheel zooms where the pointer is and dragging moves the image. The bottom line gives the pixel under the pointer and its colour, and the view follows the file when it changes on disk.

View zooms the whole IDE, and the fonts are drawn again at each size so they stay sharp. Shortcuts go by the character of the key, so they work with any keyboard layout: Ctrl+/ is Ctrl+Shift+7 on a Spanish keyboard.

Windows and sessions

Each window has one project. File → New window opens another one on the welcome page, Close project takes a window back to it, and opening a project that is already open in another window brings that window forward. Settings such as the theme, the zoom and the recent projects are shared by all.

When you quit VCSIDE it remembers its windows: next time each one opens again with its project, in the same place and size, with the files that were open, the cursor where it was in each and the breakpoints. If you start it with a file or folder to open, it opens just that.

Keyboard shortcuts

On macOS every Ctrl below is Cmd.

These are the macOS keys; on Windows and Linux, Cmd is Ctrl and Option is Alt. On a Mac laptop the F keys may need Fn.

KeysAction
F7Build
F5Build and run
F6Build and debug, with the breakpoints
F9Set or clear a breakpoint
F1Documentation for the word under the cursor
F12 or Ctrl+clickGo to definition
Ctrl+Shift+GGo to address
Ctrl+GGo to line
Ctrl+SpaceCompletion
Ctrl+F, F3, Shift+F3Find, find next, find previous
Ctrl+H (Cmd+Shift+F on macOS)Cmd+Shift+FReplace
Ctrl+/Comment or uncomment lines
Ctrl+DDuplicate lines
Alt+↑ / ↓Move lines up or down
Ctrl+Shift+KDelete lines
Ctrl+S, Ctrl+Shift+SSave, save all
Ctrl+Z, Ctrl+Shift+ZUndo, redo
Ctrl+Alt+↑ / ↓Fold or unfold the region at the cursor
Ctrl+Shift+N, Ctrl+Shift+WNew window, close window
Ctrl++ / - / 0Zoom
EscClose a dialog