A better assembler, Kick Assembler
ACME was the longstanding winner in crossassembling tools for c64, until now that is. Kick Assembler 2.12 is the first released version of a crossassembler with a truly original idea. Forget about switching to other tools and programming languages to precalculate your vectors, unrolling your loops, converting your data etc. Kick Assembler is a unique combination of a very good macro assembler and a scripting language.
I feel obliged to spit out an example of this powerful stuff. And when you see the power of scripting combined with assembler on a single source file, I believe you will never look back. This code below is the mandelbrot example that is in the zip file.
It calculates the mandelbrot set and fills character memory accordingly
.pc = $0400
.function toRe(i) .return -2+2.7*[i-floor(i/40)*40]/39
.function toIm(i) .return -1.6+3.2*floor(i/40)/24
.function mandelbroot(re,im) {
.var zr = 0
.var zi = 0
.var iter=0
.for(;[zr*zr+zi*zi]<4 && iter<20;iter++) {
.var newZr = zr*zr-zi*zi + re
.var newZi = 2*zr*zi + im
.eval zr = newZr
.eval zi = newZi
}
.var colors = List().add($20,$0f,$20,$08)
.return colors.get(iter&3)
}
.fill 25*40,mandelbroot(toRe(i),toIm(i))
Edit: Kick Assembler now support user defines pseudo commands (Yeeeeaay! 16 bit operations with one opcode!) and DTV specific opcodes.
Impressive isn't it? Here are the links if I convinced you:
Popularity: 28% [?]
Thankyou so much for putting me on to Kick. Its the mutts nuts! By the way your blog is excellent too, thanks for keeping it updated with such great info.
October 5th, 2006 | #