Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user eightbitswide ! (Registered 2024-12-24) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Kick Assembler
2006-06-07 21:34
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 doesn’t 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 it’s 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....
 
2006-06-08 08:25
WVL

Registered: Mar 2002
Posts: 902
w000t :D Have to try this :))
2006-06-08 10:30
Cruzer

Registered: Dec 2001
Posts: 1048
About time! ;) Finally people can compie the source for my last couple of 256b'ers.
2006-06-08 19:37
Slammer

Registered: Feb 2004
Posts: 416
HCL: Thanks for the letter. Always nice with some feedback.

Cruzer: Ahh.. I suspected you had a hidden agenda when you argued for a soon release :-D
2006-06-09 10:25
Monte Carlos

Registered: Jun 2004
Posts: 359
Great work, did you get motivated by Cruzers "dont know the routine" demos? Or was it the other way round?
I'm looking forward on the time after my diploma ...

Monte

2006-06-09 21:04
Ghostrider
Administrator

Posts: 45
OMG this is too good to be true!! I'm halfway through the reference manual, and I don't believe my eyes. Modern compiler technology working in the service of our dear old C64! This could change the way we code - the ease of developing demos - the convenience!!
2006-06-09 22:12
Burglar

Registered: Dec 2004
Posts: 1101
this sounds really promising, but uhm...

inflating: KickAssembler_BetaRelease2/KickAss.jar bad CRC 7e255f76 (should be 70d1f6ab)
2006-06-09 22:48
Danzig

Registered: Jun 2002
Posts: 440
@enno: syhte! the same :(
2006-06-10 02:07
Moloch

Registered: Jan 2002
Posts: 2928
A R G H !
2006-06-10 07:37
Slammer

Registered: Feb 2004
Posts: 416
Sorry guys. Hcl was so kind to point out some typos in the manual. I quickly made a re-release, but the upload resulted in a bad file on the server. It should be fixed now. (Remember to clear your cache so the browser dosnt download the cached old file)
2006-06-10 08:26
Slammer

Registered: Feb 2004
Posts: 416
Monte Carlos: Kind of.. The story of Kick Assembler goes something like this. When Cruzer started coding "You know the routine" I thought about getting into c64 coding again, so he send me the Assembler he was using. Unfortunately it contained a bug (a pointer that was referencing an invalid memory location) which did that I couldn't run it on the os I used on my computer. I also develop programs for a living, and at the time I was trying to convince the management that we could easily do a script-language for our product. If I succeded then I had to produce a quick proof of concept. To make sure I could do this, I meade some research and this research project was what became the first version of Kick Assembler. This was however, never realeased. Time passed.. Then at the Retro Concert last year in Copenhagen I kind of got caught by the old c64 spirit. I met some old sceners and especially Drax's enthusiasm was catching. So in the following months i reprogrammed Kick Assembler from scratch with a new architecture that allowed alot of new features. At christmas time I had a running assembler and had programmed my first part in it.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 27 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Scan/House Designs
Guests online: 122
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 X-Mas Demo 2024  (9.5)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.095 sec.