Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in 
CSDb User Forums


Forums > C64 Coding > Kick Assembler Thread 2
2009-07-21 19:20
Slammer

Registered: Feb 2004
Posts: 295
Kick Assembler Thread 2

The previous thread took a little long to load, so this is a new fresh one..
 
... 414 posts hidden. Click here to view all posts....
 
2011-11-03 09:55
JackAsser

Registered: Jun 2002
Posts: 935
Quote: @Cruzer: can you show me ex. of precalc how do i
send the $400-$500 to a list and store it back.
i know how do create bytes from list but didn't see
the opposite.



What exactly are you trying to accomplish?!? I mean... the assembler can not know what the memory contents on the real device are when assembling.

If you would like to simply add the value 6 to all bytes between $400-$500 you either write a simple assembly loop, or use Lists and macros to generate speed code.
2011-11-03 11:20
The Dr.j

Registered: Feb 2003
Posts: 73
i want to do something like that.. but i guess its not possible...

.macro mymacro(location) {
.define mymacro {
 .var mylist=List()
 .for (i=0;i<256;i++)
 mylist.add (value of location)
 mylist.add ($06) - lets say add to all elements..
 //;dump to memory

 .fill mylist.size(),mylist.get(i)


 }

}
:mymacro($0400)

2011-11-03 16:21
Cruzer

Registered: Dec 2001
Posts: 720
Nope, not possible. But since you're in control of what gets into $0400-$0500 in the first place, you should wait with the dumping to memory and keep the data elsewhere so it can be used in the macro. And when all calculations are done, it's time for dumping.
2011-11-03 16:37
The Dr.j

Registered: Feb 2003
Posts: 73
Ok Guyz..10x for the help
2011-11-03 18:38
Pantaloon

Registered: Aug 2003
Posts: 83

Slammer, the bug with .importonce and .struct is really annoying for me :) could you take a look at it and perhaps fix it :) please :)

It's very easy to reproduce:

File1

.importonce
.struct TRACKSECTOR { track, sector }

fILE2

.import source "File1"
.var tracksector_hashtable = Hashtable()
.eval tracksector_hashtable.put("STARTUP",TRACKSECTOR(1,0))

parsing
flex pass 1
.import source "File1.s"
.var tracksector_hashtable = Hashtable()
.eval tracksector_hashtable.put("STARTUP",TRACKSECTOR(1,0))
^

Error: Unknown function : TRACKSECTOR

/Panta
2011-11-03 20:47
Slammer

Registered: Feb 2004
Posts: 295
I'll check it in the weekend.

(I guess the missing .s in the sourcecode is a typo)
2011-11-03 20:51
Pantaloon

Registered: Aug 2003
Posts: 83
yes that is a typo :)
2011-11-05 16:17
Slammer

Registered: Feb 2004
Posts: 295
Ok, bug is corrected. There will be an official released version later, but until then you can use this:
www.theweb.dk/tmp/KickAss.jar

2011-11-05 23:55
Pantaloon

Registered: Aug 2003
Posts: 83
thanks alot slammer!!! :)
2011-12-01 12:48
Shadow

Registered: Apr 2002
Posts: 264
I apologize in advance for discussing non-C64 related stuff on CSDB, but since this is the defacto thread for everything KickAssembler related, I'll take my chances here.
I'm using kickass for my Atari 2600 coding, and I have some minor issues when doing bankswitching stuff.
For example, say I have two 4k banks, each should be assembled with $1000-$1fff addressing. Then I can do like this:
// Bank 1
.pc=$1000 

lda foo
sta bar
..


.pc=$1400 "Some routine"
lda this
sta that
...

// Bank 2
.pc=$2000 

.pseudopc $1000   
{
	lda foo
	sta bar
	..
}




And it works fine. However, say I want to place a routine at $1400 in the second bank. Then I have to break the pseudpc block, set the pc to $2400, and then start a new pseudopc block, like this:

// Bank 2
.pc=$2000 
.pseudopc $1000   
{
	lda foo
	sta bar
	..
}

.pc=$2400 
.pseudopc $1400   
{
	lda foo
	sta bar
	..
}


While it works, it gets a bit cumbersome to keep track of all the pc's and pseudopc blocks when you get more than a few.
Anyone have a good idea on how to work around this?
Previous - 1 | ... | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ... | 43 - 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
noone_at_all
Cresh/Elysium
Marco/Focus
Fred/Channel Four
Yazoo/Censor/Arsenic
Guests online: 21
Top Demos
1 Edge of Disgrace  (9.7)
2 Coma Light 13  (9.7)
3 Daah, those acid pil..  (9.6)
4 Deus Ex Machina  (9.3)
5 Andropolis  (9.3)
6 Te-Te-Te-TechTech It..  (9.3)
7 +H2K  (9.2)
8 Artphosis  (9.2)
9 GOLC  (9.2)
10 2011 - A Press Space..  (9.2)
Top Groups
1 Booze Design  (9.4)
2 Crest  (9.4)
3 Oxyron  (9.4)
4 Maniacs of Noise  (9.2)
5 Eagle Soft Incorpora..  (9.2)
Top NTSC-Fixers
1 Pudwerx  (9.8)
2 Horizon  (9.7)
3 Stormbringer  (9.7)
4 Booze  (9.5)
5 Fungus  (9.4)

Home - Disclaimer
Copyright © No Name 2001-2013
Page generated in: 1.291 sec.