Kick Assembler (C64), Version history

Version 1.3.2

  • Fix: Changed default executable for run/debug, from x64 to x64sc.
    In Vice 3.4 x64 is no longer available, so x64sc is used instead.

Version 1.3.1

  • New feature: Segment support
    • Using the new build annotations feature to configure which file/segment to start
    • Use build annotation startup-file to configure startup file:
      // @kickass-build "file-to-run": "filename.prg"
    • More on build annotations here
    • If you use setting for custom kickass_run_command_xx or kickass_debug_command_xx commands, you will need to update them to use this feature, since the way to describe the prg-file has changed
    • Issue #33 reported by Pontus Berg

Version 1.3.0

  • New feature: Integrating the KickAss Tooltips pluign
    Shows documentation when hovering over opcodes, vic-registers, sid-registers and some kick assembler directives. More documentation to come.
    Thanks to @brushesm and @ogt2 for this.
  • New feature: Default commands for C64Debugger
    Use of C64Debugger thru the kickass_run_path or kickass_debug_path settings
    is now detected and a custom command is used to start C64Debugger.
    The debug command will use symbols and breakpoints (4.x breakpoints) from Kick Assembler.
    Thanks to @arekbr for suggestion and to @BroneCk for help implementing
  • New setting kickass_env to add environment variables when building
    These variables has precedence over other environment variables with the same names. Mostly useful for prebuild, postbuild and make commands
    Suggested by @og2t, details: #22
  • A warning is now shown if settings cannot be loaded when a build is requested, asking the user to restart Sublime.
    This should avoid some strange errors after updating, or switching between cloned and package control install modes.
  • New settings for detailed customization of compile, run and debug commands:
    Hopefully I will write a more detailed blog post about this later.
    Thanks to @arekbr for suggestion and to @BroneCk for help implementing
  • Verified basic Kick Assembler 5 support (Kick Assembler 4.x still supported)
    Both old ( break() ) and new ( .break ) breakpoints can be used.
    Using the default segment works, better support for multi segment things will be added later.
  • Minor bug fixes and improvements

Version 1.2.5

  • Bug fix: Preferences and settings menus now works when package is installed thru Package Control.
    Thanks Pontus Berg for reporting this
  • New Feature: Make command, assigned to key F8. Invokes a script called make.bat/
    Use setting default_make_path for setting default make path,
    make-scripts located in the current directory will take precedence,
    but if not found the default path is also checked. No default value.
    Suggested by Pontus Berg

Version 1.2.4

  • Emergency release to fix serious bugs breaking the whole thing.

Version 1.2.3

  • New setting kickass_output_path for setting output-folder, default is bin
  • New setting kickass_compiled_filename for setting filename of compiled prg-file
    Default is SourceFile.prg (where SourceFile is the name part of the compiled asm-file), which is a change, before it was SourceFile_Compiled.prg
    Thanks wizofwor for suggestion
  • Menu items for accessing settings and preferences
    Can be found in menu Preferences -> Package Settings -> SublimeKickAssemblerC64
    Thanks to brushesm
  • New Feature: Settings default_prebuild_path and default_postbuild_path for setting default prebuild-/postbuild path. Prebuild/postbuild-scripts located in the current directory will take precedence, but if not found the default path is also checked. No default value. More info
    Thanks to Achim for fixing this
  • Bug fix: Paths for pre/post scripts can now include spaces
  • Bug fix: User settings in file Preferences.sublime-settings should now work again

Version 1.2.2

Version 1.2.1

Version 1.2.0

  • New feature: Settings
    It is now possible to use the following settings in sublime; kickass_run_pathkickass_debug_pathkickass_jar_path, kickass_run_args, kickass_debug_args, kickass_args, kickass_startup_file_path. See below for details.
  • New feature: Pre and post build
    The ability to run custom scripts before and after build. Feature requested by Bacchus of Fairlight. See below for details.
  • Internal changes in build system to allow the new features above. Big thanks to OdatNurd, STealthy and haSTy and their repo SublimeScraps for inspiration.
  • Minor corrections and improvements of syntax coloring

Version 1.1.5

  • Commandline argument confirmexit for Vice removed, since it seems to differ between confirmexit and confirmonexit in different versions/distributions of Vice. Instead, you can easily remove the confirm exit dialog by configuring the default setting for Vice. Thanks DannyCorkMuttley and Naali. Instead, you can easily remove the confirm exit dialog by configuring the default setting for Vice.
  • Fixed a crash when staring debug without creating breakpoint file

Version 1.1.4

  • Bug fix! Due to changes in Kick Assembler 4.10 the Build and Run and Build and Run Startup commands stopped working. This is now fixed.

Version 1.1.3

  • Support for Kick Assembler 4.x (supports for Kick Assembler 3.x discontinued)
  • Improved error detection. Can now detect several errors at the same time, and show error messages in code
  • Support for new language features (syntax highlighting)
  • Updated snippets
  • Added filetypes .lib as expected filetype

Kick Assembler 3.x support?

In version1.1.3, Kick Assembler 3.x support is discontinued. However, if you for some reason need it, you can download the KickAssembler3x branch from GitHub, or download, and install it manually (see the detailed install guide here for tips).

Version 1.1.2

  • Added filetypes .inc .s .a as expected filetypes
  • Both breakpoints and labels to Vice for for build variants Build and Debug and Build and Debug startup
  • Last version compatible with Kick Assembler 3.x

Version 1.1.0

  • Support for Linux (tested on Ubuntu, install instruction here)
  • Support for Sublime Text 2
  • Fixed annoying extra indentation for some snippets

Version 1.0.3

  • The Java CLASSPATH is used when running Kick Assembler,  which means you can place the KickAss.jar file anywhere,  as long as it exists in your CLASSPATH environment variable
  • Small fixes in language-definition (syntax coloring)
  • Version upped to 1.0, to indicate that all basic functionality is in there and that its fairly stable

A note about the CLASSPATH stuff is that the default paths is still used if KickAss.jar is not found in the CLASSPATH (default path for OSX is /Applications/KickAssembler/KickAss.jar, and for windows C:/C64/Tools/KickAssembler/KickAss.jar). For tips on how to set environment variables, like CLASSPATH, “permanently” on OSX, look here.

Version 0.7.0

  • Bin-folder, all results of build (prg, symbols etc.) ends up in sub folder called bin
  • Language-definition corrections:
    • New: Support for char data type (coloring)
    • Fix: Block comments on single line is now correctly colored
    • Fix: !: labels are now correctly colored
    • Fix: Coloring of List key word
    • Fix: Coloring added for GREY/LIGHT_GREY/DARK_GREY color constants
    • Fix: Various coloring issues when several commands are stacked on one line

If you use the breakpoint script form this post, it is wise to upgrade to the following, due to the addition of the bin-folder. The code works with older versions of the package too.

// Code for creating the breakpoint file sent to Vice.
.var _useBinFolderForBreakpoints = cmdLineVars.get("usebin") == "true"
.var _createDebugFiles = cmdLineVars.get("afo") == "true"
.print "File creation " + [_createDebugFiles 
 ? "enabled (creating breakpoint file)"
 : "disabled (no breakpoint file created)"]
.var brkFile
.if(_createDebugFiles) { 
  .eval brkFile = createFile("bin/breakpoints.txt")
  .eval brkFile = createFile("breakpoints.txt")
.macro break() {
 .if(_createDebugFiles) {
  .eval brkFile.writeln("break " + toHexString(*))

Version 0.6.0

  • Improvements to Show symbol:
    • Function, pseudocommands and namespaces visible in Show symbol
    • Type shown in symbol list (macro, function, label etc.)
  • Improvements to language definition:
    • Improved syntax coloring
    • Many more keywords recognized and colored
    • Better matching of functions, macros, pseudoommands and namespaces
  • Corrected error for OSX build variant Build and run (F7) (bad path for BuildLog)

Version 0.5.2

Corrected keymap for Build Startup (OSX)

Version 0.5.1

  • New build variant; Build Startup, compiles a file with name Startup.asm in the same folder as the current file. Handy if you have several code files included in a main runnable file.

Version 0.5.0

  • First “public” version (unclear what this means /Swoffa 2018-05-23)
  • ReadMe updated.

Version 0.4.6

  • Several snippets added
  • Macros now visible in symol list
  • Comment preferences updated

Version 0.4.5

  • Updates in ReadMe-file
  • Bug fixes and improvments to Build system on OSX.

Version 0.4.4

  • Updates in ReadMe-file
  • Improvments to Build system:
    • More fixes for quoting and paths
    • Cleanup and reformat of file KickAssembler(C64).sublime-build
    • Afo command variable sent to KickAss when -afo is used
    • Comments

Version 0.4.1

  • Build system: Solved som issues with quoting of file names
    Build system: Solved som issues with PATH environment variable

Version 0.4.0

  • Added support for error output capturing in build system, which means the F4 key can be used to navigate to the line of code causing the error. Navigation can also be done by double clicking the error in the console outout,

Version 0.3.0 – 0.3.2

  • Corrections for Package Control compatibility.
  • Bug fix in build system.

Version 0.2.0

  • Minor updates to ReadMe-file

Version 0.1.0

First public version (GitHub).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: