| |
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.... |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Frantic: What Magervalp said. That loader.a file is an archive which includes at least install.o and loader.o, so just that one file needed. And yes, you'd have to use ca65 and ld65. But there's always the option to just compile to .prg and incbin that in any other assembler. Some day i will set up a build server with web frontend for that, though, so people don't have to wade through all the shit to compile my stuff. :) |
| |
Stainless Steel
Registered: Mar 2003 Posts: 966 |
Quoting Krillso people don't have to wade through all the shit to compile my stuff. :)
Hallelujah!
|
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
For general purpose C64 development I prefer using the Microsoft Visual Studio IDE, ACME and VICE. Both of the later with my own tweaks to give me:
Automatic symbol loading of whatever file is loaded.
Memory watch window. Useful for watching variables change while single stepping.
CPU Execution history (with extra register and ST info).
The execution history isn't enabled in the standard VICE build but it is really useful feature that shows the last n number of instructions executed and their memory address, so if there is a crash it is possible to see the instructions leading up to the crash. For example this makes it easy to see when an interrupt exits without restoring a register and causing the mainline to use a bad register value.
In this screen shot the execution can be seen returning from an IRQ at $4beb and returning to the mainline at $b1a. The memory watch window is on the right of the picture. I added the register contents and status register to each CPU history entry as well. It makes debugging even easier. :)
If anyone wants the code changes or the built EXEs drop me a PM.
|
| |
Heaven Account closed
Registered: Jul 2008 Posts: 102 |
Martin,
Visual Studio?
not bad... if someone could explain me in detail how to setup such a nice dev system incl. your mentioned features. |
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
Create a new Makefile project in Visual Studio.
In the build commands use something like:
acme -v3 --msvc HelloWorld.a
The --msvc is part of my tweaks to ACME to get it to integrate its warning and error report with the MS IDE. Basically, after assembly pressing F4 will jump to the next warning or error in the IDE output window.
Then when you press F7 to build it will use ACME to build your project. :)
The whole VICE 2.0 source archive with my tweaks is available from: http://www.wellytop.com/VICE2WithTweaksSrc.zip
Win32 Binary:
http://www.wellytop.com/VICE2WithTweaksBin.zip
ACME With tweaks (adds --msvc and !svl to save labels for VICE):
http://www.wellytop.com/ACMEWithTweaksSrc.zip
Win32 Binary:
http://www.wellytop.com/ACMEWithTweaksBin.zip
|
| |
Heaven Account closed
Registered: Jul 2008 Posts: 102 |
ok. will give it a try... Xpress Studio 2008 would work, too?
and DASM, too? not a fan of ACME to be honest... it looks like the polish scene using QASM with some weird non-common commands like DTA a(adress) instead of .word adress etc...
|
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
Xpress Studio 2008 should work too as well as dasm, all you are doing is giving the IDE a command line to execute to assemble your files.
When I'm not so busy I'll have another look at DASM, but I'll need to see if I can get it to save labels in VICE format and in a decent label order as well. Most assemblers will dump immediate values and memory addresses in the symbol table without any indication that they are memory addresses, which isn't a lot of good because it causes VICE to display immediate values as zero page labels. :(
*Thinks* A proper debug file format would enable VICE to display the source code for each disassembled memory location. Hmm... |
| |
Heaven Account closed
Registered: Jul 2008 Posts: 102 |
my dream is always to have at least a kind of realtime debugger...
like the no$gba emulator ones. but haven't found any c64 or atari 800 emulator giving me that feature...
|
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
A debugger that allows the machine state to be rewound, code changes made and then continue debugging would be nice. :)
|
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Isn't an emulator's built-in monitor good enough for that? |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next |