| |
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.. |
|
... 592 posts hidden. Click here to view all posts.... |
| |
Garvin
Registered: Sep 2009 Posts: 5 |
Yeah, something in the full source is probably causing the parser to freak out (it's quite messy, I think I started coding it in a monitor and later reassembled it, judging for certain label names).
I'll try an get you a pm as soon as I get home =) |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
From the start of the KickAssembler project people have asked for executable files so you don't have to install Java. Well now we have it, atleast for Windows, with possibility for Linux support, if there is a demand for it. The executable version is up to 3 times faster than the java version. There will ofcause still be distributed a jar-file so all java platforms are supported.
Check out version 3.12 at http://www.theweb.dk/KickAssembler/Main.php |
| |
tlr
Registered: Sep 2003 Posts: 1763 |
It was a while since I tried it, but now I see that you have incorporated mostly everything I missed before, great work!
Linux support would be nice. I suggest you split the binary versions to separate downloads though.
The size of the archive grew from 1 Mbyte to 25 Mbyte, and I think you wouldn't want another 24 Mbytes extra download for each supported platform for all users.
Question:
Is there a way to differentiate between the memory address and the pseudo address for a given label?
(compare to LMA vs. VMA in ELF binaries)
This can of course be done with a fairly simple calculation function but it would be a neat feature.
example:
.pc = $1000
lda #5
sta somewhere.mem+1
:CopyPseudoCodeToTarget()
jsr somewhere // pseudo/VMA which is how it works already.
// Acc = 5
rts
.pseudopc $2000 {
somewhere:
lda #0
rts
}
|
| |
Slammer
Registered: Feb 2004 Posts: 416 |
tlr: Right now you can't, but i'll put it on the todo list. |
| |
LOGAN Account closed
Registered: Aug 2003 Posts: 71 |
The only thing I still would like to see is a way to feed it ACME or another assembler based source codes that could be converted on the fly to KickAssembler as a kind of pre-processor pass. This way people could use their old sources without the need to rewrite it.
For example someone using Acme supplies a short routine that's used by someone using KickAss. The source still can be updated by the acme coder and be used seamless in kickassembler.
Anyway would be cool as some translation table as ini files.
(Or able to be implemented as pseudo ops, though remarks using ; would through kickass off. Can't kickass not check somehow if its used as comment or seperator?
off topic:
I almost feel the different assemblers could use their own file extension. For example .tas for turbo assembler, kas for kick assembler, .acm for acme, etc. Is there some standard?
Anyway, keep up the good work, this is my fav assembler. (Hope you have added additional image formats support) |
| |
Mace
Registered: May 2002 Posts: 1799 |
The other day I made some 64TASS code to create sprites for a certain routine I'm working on.
The result was 52 lines of code.
I reworked it in Kick Assembler and it became 5 lines!
It could have been even shorter if there was some possibility to do a pattern fill:
.fill [no. of repeats],[comma separated byte pattern]
(There's a feature request hidden inside this post ;-) ) |
| |
Nitro Account closed
Registered: Aug 2008 Posts: 13 |
I've just tried the executable version hoping to get the speedup, but it worked the other way: it works very slow when there are many files included. Also file handling is different, it looks for files to include in the kickass directory, not the source directory. |
| |
Mace
Registered: May 2002 Posts: 1799 |
I just tried:
.pc = $2000
.for(var x=0; x<64; x++) {
.print x
}
Result:
Made no progress and cant solve the program.. You should have gotten an error. Contact the author!
However, the parsing went okay when I tried:
.pc = $2000
lda #$01
sta $d020
rts
What's wrong?
[edit]
I tried V2.25 and that one worked okay.
So the problem is in V3.12 (both Java and executable). |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
Mace:
If you want to fill patterns you can do it like this:
.fill $100, List().add($fe,$82,$82,$82,$82,$82,$fe,$00).get(mod(i,8))
There was a minor error in the progress detection in the for loop, if you have a program that assembles in one pass with a forloop the error will occur. I have fixed the problem and there will be a v3.13 out later this weekend.
Nitro:
I haven't noticed that about the speed (but I tend to use the java version). I will check out file problem - the java-compiler has some differences in this area. |
| |
Mace
Registered: May 2002 Posts: 1799 |
Quote:.fill $100, List().add($fe,$82,$82,$82,$82,$82,$fe,$00).get(mod(i,8)) This is so cool :-)
I will see how to modify this into what I need.
Thanks! |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ... | 61 - Next |