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 > Assembler preferences.
2016-02-09 06:03
ChristopherJam

Registered: Aug 2004
Posts: 1378
Assembler preferences.

Two questions:
- what's everyone using these days?
- on large productions, do groups tend to enforce a single assembler for the entire project, or is the code base a bit heterogenous?

I'd like to keep this discussion purely focussed on assemblers; please leave code generators, loader toolchains etc for that other thread.


(as for me, I'm still using xa65 for most projects)
 
... 204 posts hidden. Click here to view all posts....
 
2016-05-02 08:04
Krill

Registered: Apr 2002
Posts: 2839
My point was that good programmers don't care much about which language to use, they just pick the one best suited for the job. Otherwise hammer/nail again :D
2016-05-02 08:34
Firehawk

Registered: Aug 2011
Posts: 31
In a perfect world, yes. But in real life, you need to pick a language that the rest of the development staff masters (which is usually one or two), and although most of us here can use most programming languages, this is not the case for everyone (in particular in a large coorporation like where I work). Most newly educated programmers these days only knows Java/C#, so getting ADA/C++ skills can be difficult :-)
2016-05-02 10:44
Krill

Registered: Apr 2002
Posts: 2839
Yes, i don't want to hear certain things, and yet i do... :)
2016-05-02 13:14
chatGPZ

Registered: Dec 2001
Posts: 11114
and then a client sends you a an ancient source in fucking cobol.... /o\
2016-05-02 15:30
Pitcher

Registered: Aug 2006
Posts: 61
I don't see any mention of c64prg studio, which is the first thing I found and am playing around with currently.

Should I be looking at something else instead ?, it does what I want it to and dumping any assembled code straight to an emulator for testing is quite handy.
2016-05-02 18:50
Hoogo

Registered: Jun 2002
Posts: 102
Well, I liked the way Cobol defined its memory for variables and structures - at least the parts I can still remember after all the years. Quite close to our assemblers now.
2016-05-02 19:36
Krill

Registered: Apr 2002
Posts: 2839
Pitcher: If it does what you want it to do, keep using it until you hit some walls. Whatever makes you most productive. There are people who prefer plain text editors and a shell over fully-integrated IDEs, and those who don't.

Personally, i've never considered using C64prgstudio. Can you decide which assembler to use with it?
2016-05-03 17:29
saimo

Registered: Aug 2009
Posts: 36
Interesting conversation. I thought that the way I'm writing QUOD INIT EXIT II might be somehow interesting to you - or at least give you a reason to have a good laugh. The only problem is that I suffer from Constant Lack Of Time, so I really shouldn't be doing this and rather write down some more code, but anyway...


BACKGROUND INFORMATION

I have started writing code entirely in 6502 assembly only recently (there's a long story behind, but I'm trying to keep it short). I was writing QIEII's code as a mix of BASIC and BASIC BOSS £CODE statements (so, I was writing by hand the ML code as byte values). Little by little, I replaced lots of BASIC parts to save more memory (and gain speed, but that was secondary). At some point, ~95% of the code was ML: that, combined with the fact that I really would have had a use for the extra memory taken by BASIC BOSS and the whole zero page, made me decide to switch to assembly.
I had to take a decision: which assembler to use? I had already read somewhere here that there is no standard syntax; moreover, I'm working on AmigaOS 4, so I thought I didn't have much choice. Eventually, I decided to do it my own way, much in the vein of what I was already doing. And so I decided to use... no assembler at all.


THE SOLUTION ADOPTED

What I did was, instead, creating a little framework in C that allows me to write assembly-through-C, so to speak: basically I write C code whose corresponding executable program outputs a C64 executable. Note that I'm not talking of compiling C code into 6502 ML: I'm actually writing assembly code, just in a somewhat weird syntax (that I got used to very quickly). The fact that the context is that of a C source gives me a lot of power and flexibility (which I'm not even using to the fullest, I believe).
But I guess that this description fails to give a decent idea, so let me resort to some visual aids...


EXAMPLES

This picture here shows you some ordinary code/routines.



This picture shows dynamic generation of code: if the C program detects that the 6502 ML code it is generating would overwrite itself, it generates additional code to deal with that issue.



This picture shows (conditional) inclusion of sources, declaration of an embedded table, incbinning, and debug output.




CONCLUSION

There's more to this, but chances are that you're already throwing up at the syntax, so I'll stop it here ;)
2016-05-03 17:43
Frantic

Registered: Mar 2003
Posts: 1627
@saimo: That's a funny way of doing it for sure. :D

...and speaking of Amiga. Somewhere I have a version of the ACME assembler compiled so that it is possible to run it even on A500 (with kickstart above 1.3 only I think). It is not the latest version of ACME, but it is not a very old version either.
2016-05-04 19:52
saimo

Registered: Aug 2009
Posts: 36
Never used ACME. I started with DevPac, but soon my favourite assembler became PhxAss. The only problem I had with it is that it produced incorrect base or outer displacements (can't if either or just one of them) for memory indirect pre/post-indexed modes when in conjunction with some optimization (it was something quite specific, but unfortunately I can't remember more). That bug made me waste many hours searching for a bug in my code - eventually, looking at the disassembly, I discovered the 84574rd. The author told me that the problem wasn't curable without a complete rewrite (but it was not a big deal: if I remember correctly, it was enough to specify the size of the displacements manually and correctly to avoid the problem).
Previous - 1 | ... | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 - 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
Fred/Channel 4
Peacemaker/CENSOR/Hi..
Ko-Ko
Menace/Spaceballs
tomz/TIDE
kbs/Pht/Lxt
zscs
Guests online: 126
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 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Original Suppliers
1 Black Beard  (9.5)
2 Derbyshire Ram  (9.5)
3 hedning  (9.2)
4 Baracuda  (9.1)
5 Irata  (8.5)

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