/code-vasm_oldstyle

A Visual Studio Code extension which provides language support for the ca65 macro assembler.

Primary LanguageTypeScriptMIT LicenseMIT

Code vasm_oldstyle

This is a hacky fork of code-ca65 to implement vasm_oldstyle syntax highlighting.

Original README


ca65 Macro Assembler Language Support (6502/65816)

This extension provides syntax highlighting and problem matchers for use with the ca65 6502/65816 Macro Assembler.

Features

All 6502, 65816, and variant opcodes are supported by the syntax highlighter, as well as all ca65 pseudovariables, control commands, operators, and literals.

Syntax Highlighting

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.

{
    "input": "main.asm",
    "params": "--verbose"
}

If you want to create custom build tasks, this extension contributes the following problem matchers:

  • cl65
  • ld65
  • ld65-config
  • ld65-unresolved

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", "$ld65-config", "$ld65-unresolved"]
        }
    ]
}

Release Notes

1.2.2

Added support for .inc files.

1.2.1

Added support for .fatal, .definedmacro, .undef, .undefine.

1.2.0

Added support for block comments. Added support for .endrepeat. Updated packages.

1.1.0

Added autodetected build tasks. Added support for cl65config.json.

1.0.0

Initial release of code-ca65.

Building/Packing Instructions

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