This extension provides syntax highlighting and problem matchers for use with the ca65 6502/65816 Macro Assembler.
All 6502, 65816, and variant opcodes are supported by the syntax highlighter, as well as all ca65 pseudovariables, control commands, operators, and literals.
Below are examples of syntax highlighting and Outliner highlighting:
6502 Color Symbol Math Local Loop Label Reference
6502 Color Symbols Loops NES Hacker
6502 Color Symbols SMB Charmap
6502 Color Symbols Super Mario Bros 1985
This extension automatically registers build tasks for 6502 and 65816 assembly files which invoke cl65 on the file currently being edited. If you have one or more memory map configuration
files in your workspace folder with the .cfg extension, a task will be created for each of them in addition to the default task, which does not specify a configuration file.
You can also create a file in the root of your workspace called cl65config.json. This allows you to optionally specify the name of the input file which is passed to the assembler as well as any additional parameters. Optionally, you can also specify the location of the cl65 executable itself, if it isn't available on your PATH.
{
"executable": "C:\\tools\\cl65.exe",
"input": "main.asm",
"params": "--verbose"
}If you want to create custom build tasks, this extension contributes the following problem matchers:
cl65ld65
You can use these problem matchers in task.json using the normal syntax.
{
"version": "2.0.0",
"tasks": [
{
"label": "ca65: Compile and Link Current File",
"group": "build",
"type": "shell",
"command": "cl65 ${file}",
"problemMatcher": ["$ca65", "$ld65"]
}
]
}To ensure other users can compile the project easily, include a tasks.json file in the .vscode folder of your workspace. This file defines tasks for building and running the project.
Here is an example tasks.json configuration:
{
"version": "2.0.0",
"tasks": [
{
"label": "Compile TypeScript",
"type": "shell",
"command": "npx tsc",
"group": "build",
"problemMatcher": ["$tsc"]
}
]
}This configuration ensures that TypeScript files are compiled into JavaScript and output to the out directory. Users can run this task by selecting it in the VS Code Task Runner.
To experience the color changes provided by this extension, switch your theme to 'CA65-ASM-Color' immediately after installation. You can do this by navigating to File > Preferences > Theme > Color Theme or using the Preferences: Color Theme command (Ctrl+K Ctrl+T).
Fixed a bug preventing comments from being recognized immediately following a blockstart. Updated tasks.json to remove references to unused problem matchers (thanks to @ianbestGV).
Reworked problem matchers.
Fixed a bug preventing the char constants ' and \ from being parsed correctly.
Fixed a bug relating to the ordering of the CLI options passed to ca65.
Added support for the executable parameter in cl65config.json.
Added support for .inc files.
Added support for .fatal, .definedmacro, .undef, .undefine.
Added support for block comments. Added support for .endrepeat. Updated packages.
Added autodetected build tasks. Added support for cl65config.json.
Initial release of code-ca65.
Make sure you have Node.js installed. Then run:
npm install -g vsce
You can use vsce to package the extension by running it within the repository directory:
vsce package




