CoCoTools is a VS Code extension that helps automate a Tandy Color Computer development workflow. Supports code written in BASIC, C and ASM.
NOTE: This extension is in development and should be treated as an early beta. Use on a copy of your code.
The extension adds several features to the VS Code Command Palette (accessed by hitting Ctrl+Shift+P). These Include:
BASIC Renumber: Renumbers the currently opened BASIC file in the same fashion that old RENUM statement works. Available from the Command Palette or Ctrl+Shift+r (Mac: Cmd+Shift+r)
COCO Emulator: Launches an emulator with the currently opened file added to the disk image. If it is a .BAS file, it is copied to the image. .C files are compiled using CMOC, or .ASM files are assembled in LWTOOLS and the resulting .BIN is copied to the disk image. Available from the Command Palette or Ctrl+Shift+e (Mac: Cmd+Shift+e)
COCO Emulator - All Files in Current Dir: The same as "COCO Emulator", except all files in the same directory as the currently opened file are copied (.BAS) or built (.C, .ASM) and the resulting binaries are copied. Available from the Command Palette or Ctrl+Shift+a (Mac: Cmd+Shift+a)
CoCo Emulator: The extension has been (lightly) tested with VCC on Windows and MAME on Windows and Linux.
CMOC: Required to compile .C files
LWTOOLS: Required to assemble .ASM files
Toolshed: Required for Emulator support. Used to initialize and copy files to disk image.
The extension has many settings under File -> Preferences -> Settings -> Extensions -> CoCo Tools.
Detailed description of settings coming soon.
Initial release of CoCo Tools for demo and testing.
Removed code commenting / uncommenting. This already works by default in VS Code.
Added default keybindings.
Saves changes to active document before emulator is launched.
Resolved CMOC on Windows issue
Renumber issue - can now renumber without an initial line number
Added flag for Mame RUN commands
Ability to renumber only highlighted code
Fixed bug with MAME run command on Linux
Minor run flag bug using Linux
Added "Autofuntion" feature: New renumber feature allows you to specify the line number when renumbering a block of highlighted text. For example, you can highlight a subroutine, choose renumber, and specify that you would like to move it to line 4000. The extension will automatically replace the selected text with a GOSUB line, and move the selected lines to the line you specify, along with a return statement and a "REM RENUM BLOCK" header that tells the extension not to renumber those lines in the future.