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 > Your favourite cross assembler
2020-12-29 13:31
Henne

Registered: Feb 2005
Posts: 25
Your favourite cross assembler

Hi all,

I was wondering which cross assembler you use for C64 coding and started a
survey on this (see link below). I'm aware that there have been threads about
this in the past. Nevertheless I'd like to know what you use these days. New
assemblers appear (e.g. BadAss) and people might switch from one assembler to
the other.

So, here's the link to the survey:

https://fragab.de/35Ff8TS

I'm curious about your votes!

If your favourite assembler is not listed, please drop a note in this thread.
I will then add it to the list of options.

cheers,
Henne
2020-12-29 16:01
Count Zero

Registered: Jan 2003
Posts: 1222
Just one vote allowed? :)
Depends on the project I fiddle around with usually (being ACME and DreamAss)
2020-12-29 16:02
ChristopherJam

Registered: Aug 2004
Posts: 1119
Aww, only one checkbox allowed?

I mainly use ca65, but still use xa for smaller projects from time to time.
2020-12-29 16:08
Groepaz

Registered: Dec 2001
Posts: 9711
yep, acme or cc65. sometimes 64tass or dreamass. it depends =D
2020-12-29 16:34
Frantic

Registered: Mar 2003
Posts: 1480
The survey was in german and there was some german text about an app.
2020-12-29 16:38
Henne

Registered: Feb 2005
Posts: 25
Quote: The survey was in german and there was some german text about an app.

Oh, sorry about that. You shouldn't need the app. Just open the link in a web browser.
2020-12-29 16:45
Henne

Registered: Feb 2005
Posts: 25
Ok, I decided to allow multiple votes per person and changed the question to "Which cross assemblers do you use for C64 coding?"
2020-12-29 17:22
ChristopherJam

Registered: Aug 2004
Posts: 1119
Thank you!

(Frantic - google translate is your friend)
2020-12-29 17:43
Compyx

Registered: Jan 2005
Posts: 598
Can you implement a ranking when using multiple assemblers? I have my personal favourite, but I sometimes have to use others.
2020-12-29 17:43
Burglar

Registered: Dec 2004
Posts: 842
Quote: The survey was in german and there was some german text about an app.

and it's been a while since I read "SPEICHERN" anywhere ;)
2020-12-29 17:48
Oswald

Registered: Apr 2002
Posts: 4660
bitte eine taste eingaben ! :D
2020-12-29 17:53
Krill

Registered: Apr 2002
Posts: 1738
I'd find individual reasons to prefer or dislike specific assemblers much more entertaining and informative than just a simple yes/no matrix, tbh. =)
2020-12-29 17:59
Henne

Registered: Feb 2005
Posts: 25
Quote: Can you implement a ranking when using multiple assemblers? I have my personal favourite, but I sometimes have to use others.

I'm just using this platform for the survey. I don't have access to the code. It seems like a ranking isn't supported, sorry.
2020-12-29 18:03
Henne

Registered: Feb 2005
Posts: 25
Quote: I'd find individual reasons to prefer or dislike specific assemblers much more entertaining and informative than just a simple yes/no matrix, tbh. =)

Feel free to post your reasons in this thread! ;-)

I'm mainly interested in how much the different assemblers are used. At the moment, it seems that KickAss is used much more than the others. But let's see...
Well, at least more people are using KickAss. Doesn't mean they produce more code than the rest, of course.
2020-12-29 18:34
Oswald

Registered: Apr 2002
Posts: 4660
Quote: I'd find individual reasons to prefer or dislike specific assemblers much more entertaining and informative than just a simple yes/no matrix, tbh. =)

So let the assembler wars begin! :)

64tass because..

I'm very rigid in my coding style like an old man, so after 2 decades of turbo assembler, switching to 64tass was a no brainer. (I even set up my notepad++ with c64 font and turbo ass like colors)

Also I dont have much exposure to modern style programming. I am not programming for a living, never was.

So I hardly ever use macros, not even virtual brackets for labeling etc, most of the code I write is max 2000 lines, really simple.

That explains mostly my choice, I see the flexibility of KickAss but I like to think that its easyer to fully understand what your code does if you see your code as is, than coding a code that spits out code that gets assembled. (imho understanding your code at a low level leads to better optimizations, often I have ideas while looking at my code in monitor)

Importing picture to sprites, generating textures easily, yes nice KickAss features, but better keep it seperated. So it doesnt slow down your trial and error cycle.
2020-12-29 19:00
Groepaz

Registered: Dec 2001
Posts: 9711
Quote:
I'd find individual reasons to prefer or dislike specific assemblers much more entertaining and informative than just a simple yes/no matrix, tbh. =)

didnt we have that thread a while ago? :)
2020-12-29 19:25
Burglar

Registered: Dec 2004
Posts: 842
Quote: I'd find individual reasons to prefer or dislike specific assemblers much more entertaining and informative than just a simple yes/no matrix, tbh. =)

oh noes! you unleashed the dragon /o\

so yea, I use KickAss, there are many things I like about it:
- portability, just requires jre
- scripting capabilities
- macros & functions
- built-ins like getMultiColorByte
- lots of usable examples on codebase64.org
- actively supported

there are also some things I do not like:
- syntax like .eval i++
- no built-in incbin
- its still java ;)

and there's one thing I hate:

lda #>$c000 - >$8000 = #$bf ($c000 - $80 = $bf80)
lda #(>$c000) - (>$8000) = #$40
2020-12-29 19:41
Krill

Registered: Apr 2002
Posts: 1738
Quoting Burglar
- no built-in incbin
Really! D= No other way to link random binaries either? How do you include SID tunes at $1000 then, convert to endless rows of ".byte"? =)

And i thought those requests to port random stuff to KickAss were just due to laziness. (I will still continue to scoff at those. :D)
2020-12-29 19:45
Burglar

Registered: Dec 2004
Posts: 842
Quoting Krill
Quoting Burglar
- no built-in incbin
Really! D= No other way to link random binaries either? How do you include SID tunes at $1000 then, convert to endless rows of ".byte"? =)

no, simply:
.var music = LoadSid("bla.sid)
.pc = music.location "Music"
.fill music.size, music.getData(i)

and incbin can be easily scripted:
.macro LoadBin(filename, length, offset) {
    .var file = LoadBinary(filename)
    .fill length, file.get(offset+i)
}
.macro LoadPrg(filename, length, offset) {
    :LoadBin(filename, length, offset+2)
}
2020-12-29 19:53
Slammer

Registered: Feb 2004
Posts: 409
There is 'incbin' functionality. See here: http://theweb.dk/KickAssembler/webhelp/content/ch03s09.html
// import the bytes from the file 'music.bin', but skip the first 100 bytes
.import binary "Music.bin", 100

// Imports $200 bytes starting from position $402 (the two extra bytes is because its a c64 file)  
.import c64 "charset.c64", $400, $200


(I know, Communicating out new stuff is not always clear)
2020-12-29 19:56
Burglar

Registered: Dec 2004
Posts: 842
you rock Slammer, and yup didnt know you added it.

May I highlight "actively supported" again now? :)
2020-12-29 20:08
Krill

Registered: Apr 2002
Posts: 1738
Ah, ".import binary" is .incbin in all but verbatim name, then. So back to blaming lazy people. =)
2020-12-29 20:26
Compyx

Registered: Jan 2005
Posts: 598
Still weird, the .import syntax. Why not simply use .import "file" [,offset [,count]] and get rid of the 'import type'? Seems confusing to me.
2020-12-29 20:37
Alta

Registered: Dec 2010
Posts: 8
I use x65 for everything but maybe you should just have an option for "My own cross assembler" so you don't get a lot of single vote entries?
2020-12-29 21:00
Krill

Registered: Apr 2002
Posts: 1738
Quoting Alta
I use x65 for everything but maybe you should just have an option for "My own cross assembler" so you don't get a lot of single vote entries?
Not public doesn't count. :)
2020-12-30 03:34
chancer

Registered: Apr 2003
Posts: 286
it's like everything .. it's objective and subjective. I have the same issue with vst music stuff, where there are 2+ versions of the same thing.

I use acme the odd time , as I don't fancy re-learning things for using a different 6502/6510 machines.

I'm annoyed you all don't use a stock machine and turbo assembler any more ;-)

find what suits you best, is the simple answer.. and complexity etc.
2020-12-30 09:04
ChristopherJam

Registered: Aug 2004
Posts: 1119
Turbo assembler? Nah, my first was pen and paper before entering decimal numbers into BASIC data statements. But that lasted less than six months and it's not something I'm remotely nostalgic about.
2020-12-30 18:12
Oswald

Registered: Apr 2002
Posts: 4660
"I'm annoyed you all don't use a stock machine and turbo assembler any more "

lol, thats me. Tho back in those days it needed like 6 months after we found Turbo Assembler, that I could get my ass and start coding in it, because I was used to Profi Ass :D
2020-12-30 18:31
Groepaz

Registered: Dec 2001
Posts: 9711
In 1996 Graham used to mock me because i used a crossassembler (the turbo vision based one from some the dreams guy... dont remember how it was called) and not native turbo assembler like he did. Apparently if you didnt write everything from scratch again and again you were lame, and the peak of lame was reusing code and have include files and libraries.

good times with them oldfarts :=)
2020-12-30 19:19
Peacemaker

Registered: Sep 2004
Posts: 198
looking at crossbows code, why use kickass and the like? :D
guess he was using SMON or his cartridge monitor :>
2020-12-30 20:03
Groepaz

Registered: Dec 2001
Posts: 9711
SMON and Final Cartridge 3, indeed :)
2020-12-30 20:26
Walt

Registered: May 2004
Posts: 29
Hmmm, I started learning assembly on the VIC20 in 1986. I got my first assembler in september 1989. Before that I used to write code using data lines (so the text in Unboxed is not just a joke ;))

(We had a small meeting at THAs place in 2015 where I was challenged to do a standard scroller with colorcycle in datalines only - let's just say I won :))

I used to know the 36 bytes to set up a raster IRQ (using 0314/0315) by heart :) - and the first cartridge I got was my 1541 Ultimate II+...
2020-12-30 20:30
Groepaz

Registered: Dec 2001
Posts: 9711
Quote:
the first cartridge I got was my 1541 Ultimate II+

thefuck
2020-12-30 20:37
Burglar

Registered: Dec 2004
Posts: 842
anyone remember PAL? thats the first assembler I used, but switched to kcs power cartridge monitor coding until turbo ass came along.

@walt, that truly is unfuckingbelievable
2020-12-30 20:39
Peacemaker

Registered: Sep 2004
Posts: 198
Quoting Walt
Hmmm, I started learning assembly on the VIC20 in 1986. I got my first assembler in september 1989. Before that I used to write code using data lines (so the text in Unboxed is not just a joke ;))

(We had a small meeting at THAs place in 2015 where I was challenged to do a standard scroller with colorcycle in datalines only - let's just say I won :))

I used to know the 36 bytes to set up a raster IRQ (using 0314/0315) by heart :) - and the first cartridge I got was my 1541 Ultimate II+...


you are crazy. hahah =)
2020-12-30 20:39
Henne

Registered: Feb 2005
Posts: 25
Quote: I use x65 for everything but maybe you should just have an option for "My own cross assembler" so you don't get a lot of single vote entries?

Hm, maybe...

I added x65.
2020-12-30 20:40
Henne

Registered: Feb 2005
Posts: 25
Wow, so many of you have participated in the survey already. Great!
I'll leave it open until, say, 2021-01-15.
2020-12-30 21:30
Alta

Registered: Dec 2010
Posts: 8
@Krill: x65 is public! https://github.com/sakrac/x65
2020-12-30 21:46
Walt

Registered: May 2004
Posts: 29
Yeah, I am a bit crazy ;)

I also did modify Turbo Assembler 5.x to replace the write-to-disk routine with send-over-userport and then made a small (200 bytes?) receive program to run on another C64. Those who visited us at the Dexion X-Mas party in Odense in 1990 may have seen it in action ;)
2020-12-31 05:59
Martin Piper

Registered: Nov 2007
Posts: 417
I used to use pen and paper with an opcode table for initial small stuff. Then wrote my own assembler in BASIC. Shortly after that 6510+ assembler was released by Commodore Disk User magazine and I used that exclusively. Much later I started to use ACME.
2020-12-31 09:32
JackAsser

Registered: Jun 2002
Posts: 1789
And here I feel nostalgic about assembler bugs in CA65 back in 2005. 😂
2020-12-31 09:43
Frantic

Registered: Mar 2003
Posts: 1480
Real elite people type binary code straight into screen ram by typing petscii characters, while blindfolded of course, and with tied hands.
2020-12-31 11:35
Martin Piper

Registered: Nov 2007
Posts: 417
Quote: Real elite people type binary code straight into screen ram by typing petscii characters, while blindfolded of course, and with tied hands.

Luxury. In my day I used to rub a wet finger over the joystick port to enter my machine code in screen RAM.
2020-12-31 13:48
Endurion

Registered: Mar 2007
Posts: 61
C64Studio obviously, and it's not even on the list :(
2020-12-31 16:08
Oswald

Registered: Apr 2002
Posts: 4660
Quote: Yeah, I am a bit crazy ;)

I also did modify Turbo Assembler 5.x to replace the write-to-disk routine with send-over-userport and then made a small (200 bytes?) receive program to run on another C64. Those who visited us at the Dexion X-Mas party in Odense in 1990 may have seen it in action ;)


you'd still want to save your source even if sending the compile over to another c64 ? :)
2020-12-31 16:13
Groepaz

Registered: Dec 2001
Posts: 9711
He refers to the "assemble to disk" feature, not "save source" :)
2020-12-31 18:37
Henne

Registered: Feb 2005
Posts: 25
Quote: C64Studio obviously, and it's not even on the list :(

added C64Studio
2020-12-31 22:34
Compyx

Registered: Jan 2005
Posts: 598
Might as well add this: https://www.ajordison.co.uk/

Appears to be popular with certain people.
2021-01-01 19:01
Henne

Registered: Feb 2005
Posts: 25
Quote: Might as well add this: https://www.ajordison.co.uk/

Appears to be popular with certain people.


done


Happy New Year! :-)
2021-01-01 20:52
Marq

Registered: Sep 2011
Posts: 45
Quote: Luxury. In my day I used to rub a wet finger over the joystick port to enter my machine code in screen RAM.

Eh, as I didn't have a C64 myself, I had to call a friend on the phone and tell him which machine code to rub in.
2021-01-03 01:02
AlexC

Registered: Jan 2008
Posts: 278
TMPx is missing from the list. I've been using it since I had a lot of code in Turbo Assembler and Style Turbo Macro Pro is awesome ;)
2021-01-03 02:27
chancer

Registered: Apr 2003
Posts: 286
Quote: anyone remember PAL? thats the first assembler I used, but switched to kcs power cartridge monitor coding until turbo ass came along.

@walt, that truly is unfuckingbelievable


well the people who were graftgold used REM statements on another machine (zx81 IRC) and converted that to asm.

so when Walt says that, it's not so strange to me. just people are inventive or max out what they have to work with.

game makers were using cross asm, esp. on zx spectrum due to the bad kebyboard, lack of disk drive. c64 games also.

remember most of tim follins music work was made on a tatung einstein , for example THEN ported to c64.
2021-01-03 08:24
Trap

Registered: Jul 2010
Posts: 192
I stumbled upon this Retro Assembler. Primary interest for me is the native M65 support, but I wonder if other people have experience with this?

https://enginedesigns.net/retroassembler/

/Trap
2021-01-03 12:55
Henne

Registered: Feb 2005
Posts: 25
Added TMPx and Retro Assembler
2021-01-03 16:30
wil

Registered: Jan 2019
Posts: 23
I'm using ca65. I like the easy integration with C and I'm quite used to its macro language. The only thing that bothers me, is that you cannot use something like ".org" to jump around in memory and leave your marks (there is .org in ca65, but it does not what you expect from other assemblers)
2021-01-04 18:56
Ninja

Registered: Jan 2002
Posts: 394
Quoting Groepaz
In 1996 Graham used to mock me because i used a crossassembler (the turbo vision based one from some the dreams guy... dont remember how it was called)


That was Cross64 by Uncle Tom. Never got into it and was using AS[1] for a long time. Yeah, some people in the late nineties were taking crossassembling to the same league as wiring graphics. Whatever.

These days, I don't use the one assembler. Mostly xa or 64tass, sometimes DreamAss or still AS.

[1] http://john.ccac.rwth-aachen.de:8000/as/
2021-01-04 23:17
Groepaz

Registered: Dec 2001
Posts: 9711
YES! and some time later i discovered the tasm clone from taboo and wrote SmartAss Editor V1.1 and Send2C64 V1.0 to use it. Damn this was 22 years ago. Fucking oldfarts we are =)
2021-01-05 03:54
ChristopherJam

Registered: Aug 2004
Posts: 1119
Quoting Ninja
Yeah, some people in the late nineties were taking crossassembling to the same league as wiring graphics. Whatever.

Heh, I was one of those. Until around 2000 I was very much in the "crossassembling is cheating" camp.

Different story now of course.
2021-01-07 21:34
shazz

Registered: May 2007
Posts: 9
I'm a big fan of C64jasm (https://nurpax.github.io/c64jasm/)
2021-01-07 23:05
Ninja

Registered: Jan 2002
Posts: 394
Quoting Groepaz
Damn this was 22 years ago. Fucking oldfarts we are =)


Great times, yes. Custom-made receive software on EEPROM, first using SwiftLink, then parallel port to userport cable. That I used quite a while. Even used this coding for the Flash8 turbo card which was ill-fated because it was too unstable. Ah, fond memories!
2021-01-09 20:04
Henne

Registered: Feb 2005
Posts: 25
Quote: I'm a big fan of C64jasm (https://nurpax.github.io/c64jasm/)

added C64jasm
2021-01-10 15:05
Walt

Registered: May 2004
Posts: 29
"parallel port to userport cable"

Oh yes, done that too... And under Windows it was hell.

Latest incarnation before switching to 1541U2+ was using an Arduino to userport and USB. The irony of using a 16MHz CPU to communicate with a C64 ;)
2021-01-14 22:38
Henne

Registered: Feb 2005
Posts: 25
Last chance to vote!
The survey will close Fri Jan 15 19:00:00 UTC 2021.
2021-01-15 14:50
Frostbyte

Registered: Aug 2003
Posts: 40
Kickass, VS Code, Paul Hocker's kickass plugin, Vice and C64 Debugger have been great for the beginner me so far. Although to be fair, I haven't really tried anything else, so I don't know what I am missing (if anything). Anyway, features like functions, macros, pre-defined constants etc. do make life easier for someone like me with 99% high level programming background.

Felt a bit like cheating to answer, though, given the very few hours I've actually put into coding. :D Maybe the survey should have asked a few more questions, like estimated hours of use per week per assembler, to give a fairer representation of which assemblers actually get used the most. Would be also cool to see a list of pros and cons per assembler, as judged by the "voters".
2021-01-15 22:12
Henne

Registered: Feb 2005
Posts: 25
Survey is over.
These are the results:

2021-01-15 23:06
Compyx

Registered: Jan 2005
Posts: 598
The number of people using CBM Prg Studio is too damn high!
2021-01-15 23:20
Groepaz

Registered: Dec 2001
Posts: 9711
fear of operator calc?
2021-01-16 00:59
TheRyk

Registered: Mar 2009
Posts: 802
so sth like 22% prefer to smoke the same crazy shit than myself, doesn't sound too exotic or alarming :)

rather baffled that more ppl than 4-mat really like to f... around with dasm /o\ :D
2021-01-16 14:45
Henne

Registered: Feb 2005
Posts: 25
Thank you all for participating!

Didn't expect that this will lead to such an animated discussion. Great!
Besides I got to know a lot of assemblers I hadn't heard of before.

The question I originally had in mind was:
How many people are using DreamAss?

It has a few issues and I simply wanted to know if it's worth fixing them.
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
Axis/Oxyron
ptoing
Oswald/Resource
FRaNKy/Smash Designs
Lavazza/Censor Design
tonysavon
naavis
Medicus
hedning/G★P
Sledge/Fairlight
Sokratekk
Krill/Plush
Motion/ΛRTΣTΛTE·..
Guests online: 104
Top Demos
1 Christmas Megademo  (9.7)
2 Uncensored  (9.6)
3 Unboxed  (9.6)
4 Edge of Disgrace  (9.6)
5 Coma Light 13  (9.6)
6 Memento Mori  (9.6)
7 Comaland 100%  (9.6)
8 Unboxed [6581 edition]  (9.6)
9 Lunatico  (9.6)
10 The Shores of Reflec..  (9.5)
Top onefile Demos
1 Copper Booze  (9.8)
2 To Norah  (9.8)
3 Lovecats  (9.6)
4 Elite Code Mechanics  (9.6)
5 The Sprite Demo  (9.6)
6 Square Booze  (9.6)
7 Daah, Those Acid Pil..  (9.5)
8 Quadrants  (9.5)
9 Dawnfall V1.1  (9.5)
10 Hyperborea  (9.5)
Top Groups
1 Booze Design  (9.4)
2 Censor Design  (9.4)
3 Fossil  (9.4)
4 Oxyron  (9.3)
5 PriorArt  (9.3)
Top Logo Graphicians
1 Mermaid  (9.5)
2 Pal  (9.4)
3 Jailbird  (9.0)
4 Elko  (9.0)
5 Shine  (8.8)

Home - Disclaimer
Copyright © No Name 2001-2021
Page generated in: 0.109 sec.