Manual · 3

Build, run and debug

One key builds, one runs, one debugs. VCSIDE passes the cartridge format, the TV standard, the symbols and your breakpoints to the emulator, so it opens ready to use.

Building

F7 builds the project:

Errors and warnings go to Problems, and clicking one opens its line. Symbols DASM cannot resolve are listed with the line that uses them. After a build, the space report is updated.

Running

F5 builds and runs the ROM in the project's emulator, Gopher2600 (the default) or Stella (Build → Emulator). Both load the symbols of the build, so their debuggers show your labels instead of bare addresses.

The TV standard is passed on the command line. Both emulators have NTSC, PAL, PAL60 and SECAM; NTSC50 and SECAM60 are only in Stella, and PAL-M only in Gopher2600. If the emulator doesn't have the chosen one, VCSIDE says so and lets the emulator choose.

Breakpoints

Click in the left margin, or press F9, to set a breakpoint on a line. F6 builds the program and starts the emulator's debugger with every breakpoint set:

Gopher2600 gets them in a script it runs when it starts. Stella gets them in build/<rom>.script, which its debugger runs when it opens (the macOS app reads it from elsewhere, so a copy goes there too). They are saved in <project>.vcsproj.user.

C for ELF cartridges runs on the cartridge's ARM, where neither emulator can stop on a line, so its breakpoints are not passed.

Emulator options

Build → Emulator options... sets how each emulator starts for this project: 54 options for Stella and 21 for Gopher2600, each with its help on hover.

The emulator options window with groups of options for Stella
Emulator options, grouped. Only the ones you change are saved in the project.

Your emulator settings are left alone

Stella saves every command-line option into its own settings when it quits. If VCSIDE started it with yours, a test with random RAM or another palette would stay in your settings for good. So each emulator starts with a private copy of your settings, renewed every time:

Your settings never change, and whatever you change inside an emulator started from VCSIDE is not kept.

Go to address

When the emulator stops at an address, Ctrl+Shift+G takes you to the source line. Type an address or a label and, if you want, a bank. The 6507 sees the cartridge at several addresses ($F000 is the same as $1000), and VCSIDE knows. If the address exists in more than one bank, it lists each line.

The Go to address window with an address and its line
From an address to its line.