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-28 13:13
Bastet

Registered: Jul 2005
Posts: 88
Quote: @Bastetfurry: Ahh, sorry about the typo. I actually meant your statement: "For the assembler, how good is that one for games, especialy RPGs?". Is that a joke I don't get? :D

No, i realy meant it, how good is the assembler to write games especialy _r_ole_p_laying_g_ames(BardsTale, Ultima,...)?
I tryed my luck with Xlang but gave up as he simply ignored a second org directive.
And dont mention cc65 ,ok unfair its a c compiler but, it steals too much power from the programmer. ;)
ATM i am using acme, but i am not that happy with it.
What i realy want is some middlething betwhen assembler and compiler, ok, that would be Slang, but its useless when i want my basic start at $0801, want to insert some music from external file to $1000, some charset at $2000 and my code at $4000.
2006-08-28 15:16
MagerValp

Registered: Dec 2001
Posts:
Slang can do that easily. Read up on how the linker works.
2006-08-28 15:52
tlr

Registered: Sep 2003
Posts: 1790
@BastetFurry: I believe that Kick Assembler would be extremly well suited for complex games!
It supports all sorts of importing of graphics, generation of tables, ...

I currently use Dasm which is a quite good all purpose assembler, but no specific c64 features.
I haven't used Kick Assembler yet. Mainly because the syntax is a bit different I guess.

@Slammer: Did you implement the .transform directive? :)
(i.e call an external program to transform the enclosed code/data)

A switch to enable support for DTV opcodes would be nice too. (SAC #<imm>/SIR #<imm>/BRA <rel>)

2006-08-28 16:50
Jetboy

Registered: Jul 2006
Posts: 337
> A switch to enable support for DTV opcodes would be nice too. (SAC #<imm>/SIR #<imm>/BRA <rel>)

DTV emulator would be cooler :)
Anyway - they sait at the Lipsk game fair, that they intend to do new version of DTV with build in keyboard plug, though they dont intend to add disc drive support. Maybe some kind of flash rom. Atleast that's what my workmate was able to get out of them.

btw. Commodore keychain I got, is so friggin cool!
2006-08-28 17:24
tlr

Registered: Sep 2003
Posts: 1790
@Jetboy: It already has flashrom you know. 2Mb Flash + 2Mb RAM.
Keyboard connector sounds nice, but no IEC? Pretty daft considering the chip has both keyboard and IEC implemented.

There is some fuzz about it here aswell:
http://jledger.proboards19.com/index.cgi?board=dtvhacking&actio..

2006-08-28 18:48
Bastet

Registered: Jul 2005
Posts: 88
Ok, read the manual, nice features and i will give it a try.
But, why for goddes sake fucking java? ;)
2006-08-28 18:53
JackAsser

Registered: Jun 2002
Posts: 2014
@BastetFurry: Try nice language, try platform independant, try has lots of stuff, try doesn't depend on zillions of libs... :D
2006-08-28 18:58
Cruzer

Registered: Dec 2001
Posts: 1048
Agree with JackAsser. I can't see any reason why to make something like this in anything else than Java. It's nice that it automagically works on my PowerBook, even though it's developed on a Windoze box.
2006-08-28 19:04
Bastet

Registered: Jul 2005
Posts: 88
Cant agree as i dislike OO-Languages, interoperabilty bought with interpreter, good point, depends on rather large download (Java interpreter)....
OTOH, who cares, use what you like and what gets the job done ;)

2006-08-28 19:10
enthusi

Registered: May 2004
Posts: 677
though Im not totally fond of Java either this is an amazing example of a perfect java-code/use.
I mean 'compilers' love OOP and actually I love being able to run it on most unix-machines too...
I dont want java in anything that needs performance though but who am I? :)
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 26 | 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
psenough
sln.pixelrat
iceout/Avatar/HF
syntaxerror
The MeatBall
t0m3000/hf^boom!^ibx
Ramon B5/DESiRE
Codey/Second Dimension
E$G/HF ⭐ 7
Guests online: 136
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 X-Mas Demo 2024  (9.5)
7 Dawnfall V1.1  (9.5)
8 Rainbow Connection  (9.5)
9 Onscreen 5k  (9.5)
10 Morph  (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 Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

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