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


Forums > C64 Coding > Crossassemblers again
2004-11-03 18:09
Hoogo

Registered: Jun 2002
Posts: 102
Crossassemblers again

Did anybody ever try more than one crossasembler? I think that everybody is happy with "his" crossasembler, because it's quite an improvement compared to C64-Assemblers. But compared to other crossasms, are there some with really disadvantages/advantages?
2004-11-03 19:33
Raf

Registered: Nov 2003
Posts: 343
I like real TASM compability (although I've ran real TASM only few times ;-) )so I use C64ASM or Taboo's c64-alike-TASM for PC. I don't use macros or such... just pure assembler. I've used other assemblers (XA , ca65) only to assemble specific 3rd party projects ;-)
2004-11-03 19:40
Case

Registered: Aug 2002
Posts: 138
I would like to know which is "the" cross-assembler. I would like on where i can do everything on the pc. The best one i used was as65 on the amiga, is there one like this for the pc or do i have to go buy an amiga ?

please some one compile a definitive list.
2004-11-03 20:09
enthusi

Registered: May 2004
Posts: 675
I guess 'the' simply meant the one you started, or were born with :)
This behavior is afaik the only explanation for not using linux btw :o)
Im more or less new to more 'sophisticated' c64-coding but I use the real TASM on a real c64 (and 80% on a green monitor :).
After all I dont code on c64 for is efficiency (well the code is, but the codingprocess not really). Its the fun and the feeling to control a hardware I actually understand (in some parts).
Personally I dislike crossdev. Maybe its good for graphics and maybe even sound, but coding? nah :)
It feels wrong even though amazing things are easier and only this way possible I admit (a bit jealous).
But xass or several c64toc64-assemblers solved at least the memory problem.
Makefiles and c64 just dont connect in my mind. I even dont like all the macrostuff. I met some coders that are what Id call quite skilled that didnt even remember the most basic c64-adresses.... I think that happens when you crossdev and use too advanced crosstools. This probably is why I will never come up with a decent loader :o)
But I do find 64hdd very useful since Im a bit paranoid about losing code and therefor save it ervy minute (which gives me enough time to rething my latest code-crime :)
I did try some cross-asm though
namely for example ca65 (coming with cc65 - yes I tried that one as well).
There I two I did like indeed but not for real projects:
acme - for its easy use and dos/linux-ports
and mainly Ophis a rather unknown python-assembler.
VERY nice and very fast and allows easy changes for its written in python :)
Well, those are my experiences but as mentioned Im no hardcoredemocoder anyways...
so long and code well,
enthusi
2004-11-04 05:02
White Flame

Registered: Sep 2002
Posts: 136
I use xa for single source file projects, and ca65 for anything bigger. I've also used dasm and others, it's just that xa is the last one I found when I was looking to see if I had any crossasms on my system. :) I've never had a preference for "small stuff" assemblers, but ca65 r0xx0r for anything big.
2004-11-04 08:49
Ninja

Registered: Jan 2002
Posts: 404
Doc Bacardi really tried a lot of assemblers and finally ended up writing his own :) (Dreamass, if i might add some advertisement.) I'd say most important is having the source of your assembler, so you can add features. There is no perfect one for your needs, anyway ;)
2004-11-04 09:30
MagerValp

Registered: Dec 2001
Posts: 1056
I've tried a bunch, and ended up with ca65. It's the only one with a real linker and that's a must for a big project imho. It's also actively developed and supported. For quick things I still sometimes use DAsm, but that's mostly just out of habit - it's what I used on my Amiga.
2004-11-04 23:20
JackAsser

Registered: Jun 2002
Posts: 1989
I'm also using ca65 and it's also good for small project, such as doing some drive coding etc when you want code loader here and run there etc...

And which is the better cross assembler, I suggest you download them all and try them.
2004-11-04 23:59
Druid
Account closed

Registered: Feb 2004
Posts: 14
I've been using a Taboo's 6502 Tass. It is compatible with Turbo Assembler, have possibility to use clean written makefiles and it simply works. I do not use all those macros too - pure assembler code is good for me. I've used this crossassembler for some projects such as Arthema game, Icarus gfx collection, some intros and it is simply great.
2004-11-05 09:57
Ray
Account closed

Registered: Jan 2002
Posts: 16
Hi there :)

Try Asm64 from us - http://www.unreal64.net/ray/asm64.zip

It includes documentation, it is 100% compatible and includes many nice features - e.g. direct loading graphics from various GFX formats (png/bmp/..), c64 key shortcut (PC char sux :) macros, repeats and all other things, you expect in crosasm. It also recognized SID formats, D64, etc.

From not common used features I would like to name private/publci symbos, for sharing more files and rich expressions.

I will welcome any comments, opinions, etc. at ray@unreal64.net

R.
2004-11-05 13:01
Ben
Account closed

Registered: Feb 2003
Posts: 163
I personally like to be able to use Joliet filenames in .include and .binary references (either with or without spaces) rather than the silly 8+3 filename convention..
2004-11-05 13:15
Ben
Account closed

Registered: Feb 2003
Posts: 163
Quote: Hi there :)

Try Asm64 from us - http://www.unreal64.net/ray/asm64.zip

It includes documentation, it is 100% compatible and includes many nice features - e.g. direct loading graphics from various GFX formats (png/bmp/..), c64 key shortcut (PC char sux :) macros, repeats and all other things, you expect in crosasm. It also recognized SID formats, D64, etc.

From not common used features I would like to name private/publci symbos, for sharing more files and rich expressions.

I will welcome any comments, opinions, etc. at ray@unreal64.net

R.


I have just quickly browsed through your documentation. If it can live up the expectations, you have very nice assembler there!

1.
However, as for the conversions goes, the documentation does not mention PNG/BMP/.. conversions explicitly, perhaps it would be a good thing to expand it a little to cover that issue too?

2.
Are you sure it is fully compliant with existing TASM compilers? You appear to use the C style operators, rather than the conventional operators?

I will give your assembler a try when doing my next project!
2004-11-05 13:50
Ray
Account closed

Registered: Jan 2002
Posts: 16
Documentation is not 100% 'up-to-date' you know.. About graphics. You can simple use code like:

.load "../Gfx/Font.bmp" img set.addr $0800

Which by default takes '2' color bitmap and converts to pixels. Because I used 'load' directive, it is good idea to override 'addr' where to load, because bmp ofcourse doesn't include any 'load address'. If .insert is used, there is no need to set address ofcourse, because '*' is used instead.

Asm64 also recognizes 'c64' formats (can be simply enhanec about new oens). So, you can do this:

.load "../data/b_background.bin" c64.gfx.artstudiom set.addr.pixels $2000 set.addr.vram $0400 set.addr.colors $0800

This 'load' art studio multi picture. It consists of '3' parts - pixels, vram and colors. You can simple load them at some places. Instead of 'addresses' you can ofcourse use any label, expression whatever. If you like to include file 'as is' - just don't tell formats, asm64 will take as 'normal' c64 file.

Or koala picture:
.load "../data/a_background.bin" c64.gfx.koala set.addr.pixels $4000 set.addr.vram $6000 set.addr.colors backcolors

Where backcolors is some label. similar way, any format can be loaded. It makes possible to use asm64 to produce 'final' image - you don't need linker. In some cases, I produced images $0200-$ffff :) I had too much datas...

Similar to 'sid' files. You can get from file song, play/init address etc.

There are no 'conversions' about GFX format added. But if someone will like, I (or someone else, because it is open) can add some color dithering, etc. But I personally thing, there are good prorgams to do that. Asm itselfs don't to any 'conevrsions' - just enable programmer to use 'c64 related' datas directly. For example, if the giben BMP/PNG will not include only '2' colors, it will use only first 2 of them and ignore others. Similar to multicolor. so, graphcis have to be 'c64' ready.

About compatibility - it is compatible with c64 tasm. I used simple conversion tool (from SEQ files saved on c64) and recompile with asm64. The only thing I have to do in convertor is replace 'c64' chars (which are problem on PC) with text constants. E.g. instead of 'inverse small q' I put |dn (dn=down) etc.

I don't know about compatibility with other crossasms. I will welcome coments regarding this topic.

And yes, there are 'C' operators used, but new 'enhacement' wasn't present @ tasm I used on C64, so, I selected C/Java/... family operators style.

Just note that asm64 can be native compiled under *nix & windoze and it always uses unicode, so, it doesn't have trouble with wierd filenames/comments/etc. For writing special C64 chars there are several ways. Including direct - if editor supports, all 'c64 chars' can be mapped to some portion of UNICODE address space and used directly.

R.
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
Board Rider/Commodor..
Guests online: 117
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 S!R  (9.9)
3 Antitrack  (9.8)
4 Mr Zero Page  (9.8)
5 OTD  (9.8)

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