| |
Slammer
Registered: Feb 2004 Posts: 416 |
Kick Assembler
I recently did a new 6510 assembler and I hereby make it open to the public so you can use it too.
Kick Assembler is the combination of an assembler for doing 6510 machine code and a high level script language. With the assembler functionalities, you can write your assembler programs, and with the script language, you can write programs that generate data to use in the assembler programs. This could be data such as sine waves, coordinates for a vector object, or graphic converters. In addition, you can combine assembler commands and scripting commands which is a powerful combination. A little example: Where other assemblers can do simple unrolling of loops, Kick Assembler can base the unrolling of a loop on a list generated by the script language and select the content of the loop body based on the content of the list. This makes it more flexible when generating speed code.
The script language can handle values such as Numbers, Booleans, Strings, Lists, Vectors, Hashtables, Matrixes and you can define your own structures if the build in doesnt meet your needs. The assembler contains a replica of the java math library + a special 3d library for doing vector math (Rotation, move and projection matrixes). You can also define your own functions.
Finally, I want to mention that the assembler contains some special objects that makes it easy to import graphics (and convert it into you own spooky format which fits into the part you are working on) and music. Since finding the correct play address for a tune has recently been an issue in the *stupid* ASM Sid Player Example- thread I will here show how its done in kick Assembler. You simply load you PSID file into a variable in the script language and then read the things you need to know from the variable.
// Load the music into an object in the script language
.var music = LoadSid("C:/C64Music/Tel_Jeroen/Closing_In.sid")
// init the music
lda #music.startSong-1
jsr music.init
// play the music
jsr music.play
(The full example is listed in the manual)
Feel free to check out the assembler at http://www.theweb.dk/KickAssembler.htm
|
|
... 251 posts hidden. Click here to view all posts.... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
well i prefer having a few features that work 100% as expected than thousends of seemingly nice but halfassed and bugging ones :) just tried too many crossassemblers before i guess, and most of them go into the second cathegory. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
lol, TASM+VICE works like magic I can tell you :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
1) its TASS. TASM is a X86 assembler</smartass>
2) it plain sucks for any bigger projects. look at the turrican3 sources. its horrible pain to assemble them with tass |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
sure it is, but for coding a demopart for me its still the best. I have the fastest edit-test cycle with alt+w, and alt+s, alt+l :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
once your part takes a lot of memory so you have to assemble to disk i pretty much doubt that :) |
| |
Spinball
Registered: Sep 2002 Posts: 88 |
Quote: once your part takes a lot of memory so you have to assemble to disk i pretty much doubt that :)
and that´s why i love the reu emulation in vice. just like i used to code wth reu+tasm on the real thing.
last crossassembler i tested was AS (http://john.ccac.rwth-aachen.de:8000/as/). i even did some macros that generated sin-tabs and stuff. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
groapaz, as my memory usage is mostly due to speedcode thats not a problem :) I will hang myself sooner then assembling to disk :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
so you always save source to disk and reload assembler and source? same crap for me :=P |
| |
WVL
Registered: Mar 2002 Posts: 902 |
Quote: so you always save source to disk and reload assembler and source? same crap for me :=P
no, he uses save+load state.. I did that too when I was working on Arcanum ;) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
and i still cant see how that would be significantly faster than using crossasm :) |
Previous - 1 | ... | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ... | 26 | 27 - Next |