Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user nurd ! (Registered 2024-06-16) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Kick Assembler Thread 2
2009-07-21 17:20
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....
 
2011-08-07 18:25
Angel of Death

Registered: Apr 2008
Posts: 210
Call me n00b, call me blind, call me stupid, whatever. But where were the executables of kick assembler again?
(can't find them on the designated spot)
Because Java just isn't my thing...
2011-08-08 17:39
Slammer

Registered: Feb 2004
Posts: 416
Hi,

The exe version ain't supported anymore. Dependend on which os you use, java might already be installed which means the only difference between the exe version and the java version is that you have to write
   java -jar KickAss.jar mySource
instead of
   KickAss.exe mySource
Usually people set this up in some kind of configuration (scripfile or editor command), so it aint that much of a difference.

Also check out Pantaloons KickVice.exe (KickVice)

Btw. I made a few improvements on LCP.. V3.19 should be out soon.
2011-08-09 07:18
Angel of Death

Registered: Apr 2008
Posts: 210
@Slammer
thx for the quick reply. I have a working config already. But I like to work with executables. (has to do with mobile workstations etc.) And last time I updated java it somehow changed the location of the javaw.exe and I spend some time fixing the problem. (was a pain since I was a long way away from my server)
It's just to make my life a lot easier.
thanks again for this great product.
2011-08-17 18:55
Trap

Registered: Jul 2010
Posts: 223
I am trying to load a piece of music that is located at $f000 using the LoadSid directive. However, when I do that the program crashes the machine. Is there anything I need to be aware of when trying to do this with KickAssembler?
2011-08-17 19:23
tlr

Registered: Sep 2003
Posts: 1731
Quote: I am trying to load a piece of music that is located at $f000 using the LoadSid directive. However, when I do that the program crashes the machine. Is there anything I need to be aware of when trying to do this with KickAssembler?

Does KickAssembler crash or does the resulting binary crash?
2011-08-17 19:37
Killsquad
Account closed

Registered: Jun 2005
Posts: 17
Quote: I am trying to load a piece of music that is located at $f000 using the LoadSid directive. However, when I do that the program crashes the machine. Is there anything I need to be aware of when trying to do this with KickAssembler?

I guess Vice is crashing because you're trying to load over ROM. Try to add the following parameter to the Vice cmdline: -autostartprgmode 1

An alternative is to pack it before you run it.
2011-08-17 19:41
Slammer

Registered: Feb 2004
Posts: 416
Also remember to switch off the rom and use $fffe/$ffff for irq.
2011-08-18 19:51
Trap

Registered: Jul 2010
Posts: 223
Thanks for the replies everyone. Decided to go with a simple relocation, but I'll try the Vice switch next time.
2011-08-25 11:19
Shadow
Account closed

Registered: Apr 2002
Posts: 355
I'm getting some strange behaviors with pseudopc set to a zeropage address.
I have some code that I assemble into memory, then copy to zeropage runtime. However, the self modifying parts of it doesn't get properly assembled to the ZP versions of the instructions if I reference a label that is further ahead in the code.

Here's an example that demonstrates this:

.pc=$1000
.pseudopc $90
{
some_label:
	lda $1000
	inc some_label+1
	inc some_other_label+1
some_other_label:
	lda $1000
}


This get assembled into:
AD 00 10
E6 91
EE 99 00
AD 00 10


I would have liked it to be:
AD 00 10
E6 91
E6 98
AD 00 10
2011-08-25 16:37
Slammer

Registered: Feb 2004
Posts: 416
You have stumbled upon an interesting detail. To simplify a bit, look at the following:
.pc = $fd	
	lda label
label:
In the case the position of the label depends on the size of the command, and the size of the command depends on the position of the label so the only way to determine if the command can use its zeropage form is by trial and error, which might get quite complex and lead to more passes.

Instead Kick Assembler tries to reduce the command to its zeropage form when it first meets the command, and since it doesn't know the value of the label, it fails and marks the command as using the absolute addressing mode. This is the reason why the first command in your example is reduced to the zeropage form and the second isn't.

So what do you do then?. You can use this little magic trick to tell the assembler that you want a zeropage command:
.pc=$1000
.pseudopc $90
{
some_label:
	lda $1000
	inc some_label+1
	inc CmdArgument(2, some_other_label+1)
some_other_label:
	lda $1000
}
The magic is the argument type constant 2 which actually is 'AT_ZEROPAGE' which is not exposed in the current version but will be in the next release (Nobody I know of have had this problem before - placing code on the zeropage seems kind of special, but might be a smart optimization?)

Previously I have had plans for making it easier to force addressing modes like this:
inc.zp label
lda.abs $0000
and they can be reintroduced on the todo list if there is a demand for it.
Previous - 1 | ... | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | ... | 61 - 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
jmin
Majikeyric
wil
t0m3000/HF^BOOM!^IBX
Acidchild/Padua
CA$H/TRiAD
Bieno/Commodore Plus
REBEL 1
Airwolf/F4CG
MightyAxle
E$G/hOKUtO fOrcE
fandenvoldsk
LDX#40
Guests online: 89
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.7)
6 Comaland 100%  (9.6)
7 No Bounds  (9.6)
8 Uncensored  (9.6)
9 Wonderland XIV  (9.6)
10 Aliens in Wonderland  (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 Daah, Those Acid Pil..  (9.5)
9 Birth of a Flower  (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 SHAPE  (9.3)
Top Original Suppliers
1 Black Beard  (9.7)
2 Derbyshire Ram  (9.5)
3 hedning  (9.2)
4 Baracuda  (9.1)
5 Jazzcat  (8.6)

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