| |
Slammer
Registered: Feb 2004 Posts: 416 |
Kick Assembler Thread 2
The previous thread took a little long to load, so this is a new fresh one.. |
|
... 590 posts hidden. Click here to view all posts.... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
mmmmh. whats the difference between a struct and a namespace then? *shrug* |
| |
Pantaloon
Registered: Aug 2003 Posts: 124 |
groepaz, you dont know the difference between namespace & structs ? i hope you are trolling :) |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Groepaz doesn't even know the difference between .align and .fill :P |
| |
Oswald
Registered: Apr 2002 Posts: 5018 |
Probably I'm off with this here, but do we really need all this mumbo jumbo for some simple 8 bit demo effects? Namespaces, structs, macros and whatnots ? :) Anyway its just probably only me still stuck in '96 or so, it would be nice to see some examples on how are these *really* useful. when it comes cycle counting and it comes to that even with non timing critical code, you'll WANT to see the code. Speedcode generators have to be written eventually when linking the demo (so why write once a macro, once a real version?)
etc.. |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
Pantaloon: Yeah, Obviosly trolling :-)
Oswald: No you don't need it, but it can make life easier. Just take the things you find useful into your programming routine and ignore the things that doesn't appeal to you. |
| |
TWW
Registered: Jul 2009 Posts: 541 |
Hiho
Got a strange error:
.eval BMPByte = BMPByte|[BMPPattern << [6 - Pixel*2]]
^
Error: Unknown function : <<
The code itself comes from this loop:
.for (var Pixel = 0 ; Pixel < 4 ; Pixel++) {
.eval PixelColor = Graphics.getPixel([[8*BlockNumber]+[[Pixel<<1]&7]]-[320*[floor(BlockNumber/40)]] , [8*floor(BlockNumber/40)]+Byte)
.eval BMPPattern = ColorIndex.get(PixelColor)
.eval BMPByte = BMPByte|[BMPPattern << [6 - Pixel*2]]
}
Which is inside a macro which I call 3 times and no problems but the 4th, this occurs.
If I reuse the macro a 4th time with earlier parameters, it works fine so it's something with the data processed the 4th time which makes it kneel.
Ideas?
EDIT: Found it. Wrong pallette in the gfx. Pro'lly caused some invalid data to be processed. |
| |
Carlos Account closed
Registered: Mar 2009 Posts: 15 |
Which is the most efficient way to do a simple multiplication (8bit operands and product) in KickAss? i mean without using tables.
The operands are not constant numbers instead variables (zeropage normally).
I have checked:
.function mul(op1,op2)
{
.return op1*op2
}
but this multiplies the value (address) of op1 and op2 not the value that are referenced by these address.
|
| |
Pantaloon
Registered: Aug 2003 Posts: 124 |
You can't. You can see kickasm as a preprocessor only. |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Yup, the scripting language doesn't compile to c64 code. So a multiplication routine in KickAss would be pretty similar to any other assembler. |
| |
Oswald
Registered: Apr 2002 Posts: 5018 |
in the manual it should be made clear that Kickass will not compile stuff like this into multiplications and other magic stuff for you.
Maybe it would be a good idea though to create such a macro library tho, pseudo commands for mul/div, etc. it looks like there's a need. |
Previous - 1 | ... | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | ... | 61 - Next |