| |
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.... |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
@BassetFurry: o_O ?!? :D WTF! |
| |
Bastet
Registered: Jul 2005 Posts: 88 |
Its Bastet, like the pen and paper rpg or the egypt goddes ;)
And i heard from someone from Triad(?) that he coded in screencodes inside the basic editor. A little SYS1024 in the end and the programm ran. *g*
|
| |
Quetzal
Registered: Jul 2002 Posts: 71 |
Yeah, it's true, all of my stuff, including an entire game (Xiom) was coded in the monitor of my AR IV cart. Used an assembler one time only to write a RLE depacker for use in a demo part... Probably goes a long way towards explaining my totally destructured programming style, looks just like something has exploded in the memory :) Never went as far as using screencodes, but an Amiga friend was VERY shocked when watching me code that I remembered the numbers for all the opcodes and was doing stuff like typing 60 to do an RTS and save myself a keystroke....
Having said all that, this new Kick Assembler sounds very nice indeed from what I've read so far. Might even be enough for me to turn over a new leaf and start coding in a more normal fashion?
|
| |
Jetboy
Registered: Jul 2006 Posts: 337 |
what are screencodes?
assembler is assembler - its good to write programs in. There are no assemblers designed especialy to make RPGs... huh!
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: what are screencodes?
assembler is assembler - its good to write programs in. There are no assemblers designed especialy to make RPGs... huh!
You type characters at the top of the screen that you know resembles the right opcodes in ram, then SYS1024.
I once coded a raster interrupt split this way at a museum.
Pretty stupid actually.
I think I had to rewrite it 4 times or so. Pressing restore clears the screen... :P |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
@Quetzal: A lot of demo coders work/used to work this way.
Mastermind of Horizon even made it a point not to save the memory before the demo part actually worked. It has bitten him a number of times, especially at parties where the power was cut at some point. ;)
Kjer of Horizon coded most stuff in a monitor, and so does Crossbow AFAIK. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
@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 |
| |
Scout
Registered: Dec 2002 Posts: 1570 |
Quote: You type characters at the top of the screen that you know resembles the right opcodes in ram, then SYS1024.
I once coded a raster interrupt split this way at a museum.
Pretty stupid actually.
I think I had to rewrite it 4 times or so. Pressing restore clears the screen... :P
You just admitted that you're autistic :)
---
8Bit Mayhem - The C64 Scenemusic Podcast
http://8bitmayhem.untergrund.net |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: You just admitted that you're autistic :)
---
8Bit Mayhem - The C64 Scenemusic Podcast
http://8bitmayhem.untergrund.net
Well... we kind of practised doing some simple code one afternoon before going there... ;)
(not that particular code though)
You'd be surprised how few different values you really need to enter to implement it.
You'll need to know the value of the actual opcodes though. |
| |
enthusi
Registered: May 2004 Posts: 677 |
I did some poking into screenram to change a loader-code there but actual petscii is another thing :) way different....
On one c64 I had no $-key working and poked it into screen to load directories. Did that for weeks before I changed kb - hm, that makes me look lazier than I usually am |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 26 | 27 - Next |