| |
Optimus
Registered: Jan 2002 Posts: 122 |
C64 crossdeveloping suggestions?
Yep. I am motivated to start coding something on the C64 again. I need to use some helpful tools that will speed up developing and make things less frustrating. I am searching for crossdeveloping tools on the C64.
I am already considering kick assembler. But I might want to hear more suggestions. Btw,. is there a C64 emulator coming with internal assembler? Something like the thing I use on CPC, the Winape32 emulator/assembler? That would be great! |
|
... 66 posts hidden. Click here to view all posts.... |
| |
JackAsser
Registered: Jun 2002 Posts: 1990 |
Bla bla bla bla... u're all lamers. :D Why do u assume C64-newbies are computer illiterates and never have used make, gcc and other tools? |
| |
Frantic
Registered: Mar 2003 Posts: 1629 |
Just a little more seriously:
I never understood why people find it so good to have a linker. I mean.. Why exactly is it so much better to have a linker compared to having a non-linker assembler and just structuring the main code file like this:
* = $0800
STARTUP_SEGMENT:
!include "file1.i"
!include "file2.i"
* = $1000
MUSIC_SEGMENT:
!incbin "muzak.bin"
MORE_CODE_SEGMENT:
...etc, setting up memory segments and so on? I fail to see the power in a c64 coding context. You can separate actual code from memory setup anyway (like my example above demonstrates). If you want to produce overlapping code segments there is always the pseudopc directive and that stuff of course, and... Assembling all of the files usually takes 0.001 seconds anyway, unless you're using some lame assembler. So???
Then there might be other reasons for using ca65 (I have used it too), but that is another story. |
| |
AüMTRöN
Registered: Sep 2003 Posts: 42 |
Ultraedit
DASM (iAN CooG mods)
VICE
BTW: For metal testing I have a simple and quaint solution. Save .prg to 3.5" floppy on PC -> insert floppy into 64HDD server. |
| |
Zone Account closed
Registered: Nov 2002 Posts: 7 |
Frantic: The only advantage of using a linker, I think, is that you can easily move around your program without having to change all your sources. Just give your linker new instructions.
Historically, the problem with your code was that Turbo Assembler failed when assembling to disk... I don't know why, really. |
| |
Krill
Registered: Apr 2002 Posts: 2853 |
Frantic: Imagine you have an obscure file like "loader.a" which some lamer gave you, and which you can link to your various projects to a memory location which is different for every one of them.
Now, each of your projects comes with a link file saying where each of the three loader segments (LOADERZP, LOADER, and INSTALL) are to be placed.
Et voilà.
I could think up more real-world examples, maybe.. :) |
| |
Frantic
Registered: Mar 2003 Posts: 1629 |
@Zone/Krill: I fail to see the advantage. In both cases you could easily move around the code by placing it somewhere else in the "linker"-like sourcefile that I exemplified in my previous post, since, as I said, the exact memory locations could be specified outside the files containing actual code anyway when doing it that way.
Well, if I understood Krill's example correctly, the "loader.a" would have to be distributed as three separate files, rather than one, to be included where you want to have them, but that's not a very big deal I guess? The code of this "lamer" ;) would also be more close to being compatible to a lot of different cross-assemblers. I mean, it is a fact that many people do not use ca65, no matter if it is the "best" or not. My point is that using a linker, you would have to learn a separate "linker syntax" and when doing it the way I exemplified above, you would simply do this "linking" stuff using the ordniary syntax of the assembler which you are more likely to be familiar with.
Anyway... It doesn't matter THAT much... :) I'm fine with ca65 and linking too. I just never really understood the "ca65 is so good because you have a linker"-argument. |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
Quote: so is it possible to compile sources without the linker and the awkward segments ? dont think so. ca65 is also a bad choice for one who is not familiar with c compilers. imho its a huge overkill and gives an unnecessary complexity for the average c64 project.
Dbug I agree with you we need something like that for 6502.
http://webster.cs.ucr.edu/AsmTools/WhichAsm.html
Regards
Kamelito |
| |
MagerValp
Registered: Dec 2001 Posts: 1059 |
Frantic: of course you can implement a kind of linker like meta-source with any (decent) assembler. ld65 just gives you a dedicated, powerful, and standard way of doing it. No need to reinvent the wheel each time (and you don't end up with square wheels either :).
It has a bunch of nice features too, like automatic segment labels, output file control, relocation support, BSS/LOWCODE segments, etc - all of which I have used. There are also a bunch of advanced features like CONDES that gives you load-time linkable modules (e.g. in Contiki), but that's beyond the scope of most C64 productions.
|
| |
Dbug
Registered: Aug 2003 Posts: 5 |
Kamelito: Yup, exactly. Could probably contain a section for native assembler, and a section for cross-compilers.
Guess some kind of wiki could be used for that ?
I seem to remember there was a c64 wiki somewhere, with code sample, does it still exist ?
|
| |
MagerValp
Registered: Dec 2001 Posts: 1059 |
http://codebase64.org/
|
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next |