Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user hoist ! (Registered 2024-10-04) 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....
 
2009-09-04 09:50
Frantic

Registered: Mar 2003
Posts: 1641
Just as a side-note, I created a section on Codebase for syntax highlighting files. There is only one file uploaded at the moment (the one just mentioned here), but please add more files, for other editors/assemblers/platforms.

http://codebase64.org/doku.php?id=base:emulation

In order to upload files on codebase, press "edit page", click on the icon that looks like a framed painting, select "sourcecode" in the popup window that appears, select your file (by clicking browse), click on the "upload" button, and when the file is uploaded, click on its name in the list to insert a link to the file on the wiki page. Note that the ".txt" extension is not allowed by the wiki system, so you have to make a ".zip" of it or so. Huh..

//FTC
2009-09-04 10:08
Conjuror

Registered: Aug 2004
Posts: 168
I use Eclipse for all my development including c64 stuff.

I use this plugin: de.fh_zwickau.asmplugin_1.0.1. for asm highlighting. Its not perfect buy its easy to modify the config file. Comments need the semi-colon to make them highlight.

The page for this plugin is down and has been for a while for some reason. If anyone wants it let me know.

Steve
2009-09-04 10:22
pmc
Account closed

Registered: Sep 2009
Posts: 5
@ Frantic - cool, until I read this I didn't realise my little UltraEdit wordfile for KickAssembler was already famous enough to be on Codebase64 ;-D

Nice one :-)
2009-09-04 10:49
Slammer

Registered: Feb 2004
Posts: 416
Conjuror: Im interested. Why don't you upload it to codebase?
2009-09-04 11:42
Conjuror

Registered: Aug 2004
Posts: 168
Done http://codebase64.org/doku.php?id=base:emulation

I added some 6502 instructions that I noticed were missing as I was working with it. Probably a lot more missing. See asm_instruction_set.xml

Enjoy!
2009-09-04 11:53
MagerValp

Registered: Dec 2001
Posts: 1066
TextMate bundle added to codebase.
2009-09-04 17:24
LOGAN
Account closed

Registered: Aug 2003
Posts: 71
I hope The assembler list will include more than just the modded Acme. And hopefully more symtax highlighting for other editors (preferably free and open source editors like, erm, notepad++ :D
2009-09-08 12:58
TWW

Registered: Jul 2009
Posts: 543
Small question regarding syntax;

I do this:

:irqEnd #$32 ; #<irq1 ; #>irq1

.pseudocommand irqEnd d12 ; irqlo ; irqhi {
lda d12
sta $d012
lda irqlo
sta $fffe
lda irqhi
sta $ffff
}

This works fine.

Question is, how would i do a:

:irqEnd #$32 ; irq1

.pseudocommand irqEnd d12 ; irq {
lda d12
sta $d012
lda #<irq
sta $fffe
lda #>irq
sta $ffff
}

So I don't need to pass both the lo- & the hi-byte to the Pseudo?

In other words, How can I splitt up the 'irq' parameter (16 bits adress pointer) into hi & lo-byte pointers wich I can pass to $ffff:$fffe inside a Pseudo?
2009-09-08 13:30
Slammer

Registered: Feb 2004
Posts: 416
Look in the manual under pseudo commands. Here is showed how to define 16 bit pseudo commands. There is a move command which is defined like this:
.function _16bit_nextArgument(arg) { 
	.if (arg.getType()==AT_IMMEDIATE) .return CmdArgument(arg.getType(),>arg.getValue()) 
	.return CmdArgument(arg.getType(),arg.getValue()+1)
}

.pseudocommand mov16 src;tar { 
	lda src
	sta tar 
	lda _16bit_nextArgument(src) 
	sta _16bit_nextArgument(tar)
} 

With this you can do stuff like:
:mov16 #irq ; $fffe
:mov16 irqTable,x ; $fffe
etc.

You can now define you pseudocommand like this:
pseudocommand irqEnd d12 ; irq {
      lda d12
      sta $d012
      :mov16 irq ; $fffe
}

and use it like this:
:irqEnd #$10 ; #irq1  
or 
:irqEnd d012Table,y ; irqTable,x  
2009-09-08 13:54
Slammer

Registered: Feb 2004
Posts: 416
Btw. forgot to tell that if you don't like to code that much then use a normal macro:

.macro endIrq(d012Value, irq) {
lda #d012Value
sta $d012
lda #<irq
sta $fffe
lda #>irq
sta $ffff
}

Pseudo commands gives more flexibility (you can use different addressing modes on the same pseudo command), while macros might be easier. However, once you get the idea, pseudocommands are really effective.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 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
ptoing
Guests online: 57
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 Wonderland XIV  (9.6)
8 Comaland 100%  (9.6)
9 No Bounds  (9.6)
10 Unboxed  (9.5)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Morph  (9.5)
8 Dawnfall V1.1  (9.5)
9 Onscreen 5k  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Nostalgia  (9.3)
5 Censor Design  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.8)
4 Acidchild  (9.7)
5 Cash  (9.6)

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