Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
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-08-29 12:14
Viktor
Account closed

Registered: Apr 2002
Posts: 78
I have read the documentation too. Is it poosible, to put your macros avaible? :)

Viktor
2006-08-29 15:45
Slammer

Registered: Feb 2004
Posts: 416
Tlr: No, not yet. There where some technical dificulties that made it not that simple to do. But its still on my list :-). DTV opcodes is rather quick to implement so send me a list of the opcodes an they will be in the next release.

Bastet Furry: I selected java because its a nice language :-) Its easy to support multiple operating systems, its guards you against adressing invalid memory and it will be easy for others to write plugins for kickass in java (I have plans of giving the user access to write his own functions in java)

Viktor: I havn't distibuted my macros since I then would have to intensely test/debug them. One exception is the :BasicUpstart(address) macro I guess its will be used alot.

However. If anybody writes a tested library Ill be willing to distribute it with Kick Assembler / Insert it as standard library





2006-08-29 21:22
Danzig

Registered: Jun 2002
Posts: 430
I once had to debug/fix/finish a large SWING-Application (for those who don't know, SWING is the "successor" :D to AWT). And it was PAIN IN THE ASS, SLOW, RAM-INTENSIVE...

Later on I had to implement a Webserver-driven huge data-conversion-programm (fyi:running on ColdFusionMX) and JAVA was the way to go to create this MASSIVE amount of "commandline-tools" (non-GUI) triggered by the Webserver to be run in a JVM. And it was fast :)

for me, the only reason JAVA exists is to create CMDline-Tools ;) and its the right choice for KickAssembler.. Check it out and you will NOT encounter any "speedproblems"... Its fast!
2006-08-29 21:35
enthusi

Registered: May 2004
Posts: 675
I developed my own view on 'fast' :)
Im ok with waiting - still lovin' tapes.
But when something runs either idling or due to real heavy maths, I'd hate to be inefficient. So Id be ok if Kickasm would run in brainfuck. But due to Java I can run it at work and at home and blabla. First time something of importance used that advantage of java (actually C ist THE language for portable commandline if you keep ansi C99 :).
So Im happy to see this asm being so well designed apparently. Btw, Ophis-asm was in Python and quite fast/nice (simple) too.:)
2006-08-30 06:04
JackAsser

Registered: Jun 2002
Posts: 1997
So, people stop being lame.... Since when couldn't you afford to waste 80M on your harddrive when 300Gb costs like 100euro max?!? Just install JRE1.5.x and you have Java whenever you need it for tools like this.
2006-08-30 11:08
Shadow
Account closed

Registered: Apr 2002
Posts: 355
This seems like it could be a damn good assembler, going to give it a try.

Anyone happened to create a syntax-highlight-wordfile for UltraEdit yet? I'm so spoiled nowadays that I have trouble looking at non-highlighted code...

2006-08-30 14:57
Viktor
Account closed

Registered: Apr 2002
Posts: 78
Yes, it is good, and the documentation is good enough.

Do somebody have a display routine for the Vector section?

Slammmer:
Are the Vector calculations usable on a multicolor picture too?
2006-08-30 15:34
Jetboy

Registered: Jul 2006
Posts: 242
@Victor: those are VECTOR calculations. They give you operations over vectors, there is nothing that actualy draws any vectors. That you need to implement yourself. Those Vector objects are only so you can easily prepare precalcs.
2006-08-30 19:31
Slammer

Registered: Feb 2004
Posts: 416
Victor: Look in the examples that comes with the assembler. There is a full running vector example :-)
2006-09-01 19:36
The Syndrom

Registered: Aug 2005
Posts: 56
Hey Mads,

I think you did a great job on kickassembler! I recently used it to reassemble my (lost) sourcecode of "microtracker" (which infact is no tracker but just a very low-rastertime musicplayer), and working on that went very smoothly.

greets,
Matthias
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ... | 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
Guests online: 54
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 No Bounds  (9.6)
9 Aliens in Wonderland  (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 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Dawnfall V1.1  (9.5)
8 Birth of a Flower  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Offence  (9.3)
Top Graphicians
1 Mirage  (9.8)
2 Archmage  (9.7)
3 Talent  (9.6)
4 Facet  (9.6)
5 Mermaid  (9.6)

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