Kick Assembler is the combination of an assembler for doing 6510 machine code and a high level script language.
The assembler has all the features you would expect of a modern assembler like macros, illegal and DTV opcodes and commands for unrolling loops. It also has features like pseudo commands, import of SID files, import of standard graphic formats and support for 3rd party Java plugins. The script language makes it easy to generate data for your programs. This could be data such as sine waves, coordinates for a vector object, or graphic converters. Writing small data generating programs directly in you assembler source code is much handier than writing them in external languages like Java or C++.The script language and the assembler is integrated. Unlike other solutions, where scripts are prepassed, the script code and the assembler directives works together giving a more complete solution.
This is the fifth version of Kick Assembler. The first version (1.x) was a normal 6510 cross assembler developed around 2003 and was never made public. The second version (2.x) was developed in 2006 and combined the assembler with a script language, giving you the opportunity to write programs that generate data for the assembler code. Finally in august 2006 the project went public. The third version (3.x) improved the underlying assembling mechanism using a flexible pass algorithm, recording of side effects and handling of invalid values. This gave better performance, and made it possible make more advanced feature. The fourth version (4.x) replaced the parsing mechanism, which where made using a parser generator, with a handwritten one which is faster, more flexible and included a preprocessor. This made it possible to do new language constructs and have better error handling. It also replaced the scoping system so it includes all entities, not just symbols. The fifth version (5.x) added segments which give the opportunity to manage the output of directives and channel it to files, disk images and other segments.
Through the years the project have grown quite big, with a professional setup including a its own code repository, a large automated test suite and automatic building and deploying.