| |
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! |
|
| |
Stainless Steel
Registered: Mar 2003 Posts: 966 |
ACME, Exomizer, TextPad & batchfile to compile / pack and autostart in WinVice. Works pretty good.
Not as fancy as KickAss though. |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Relaunch64 + ACME assembler is a good combo.
Just point to ACME and VICE, and you're all done.
You can get Relaunch64 at www.koolpeople.de
ACME: http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/
|
| |
Tao
Registered: Aug 2002 Posts: 115 |
vim, xa65, vice (with a patched petcat to be able to build C*Base), gimp-cbmplugs, and a bunch of home-brew tools. |
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
UltraEdit for editing
DreamAss for assembling
CodeNet for transferring file directly to c64 + execute
|
| |
HCL
Registered: Feb 2003 Posts: 728 |
What Graham said, but Emacs for editing.
Sometimes using cc65 also. |
| |
Clarence
Registered: Mar 2004 Posts: 121 |
What the others said or:
EditPlus (with 6502 syntax), 64tass.
Quick test with WinVice+action cartridge attached.
Real test with a C64 either with:
- RR + RR-net + codenet
- or an Ide64 with any kind of ideserv solution (serial, paralell, ethernet but most preferably newest Ide64 v4.1 with USB connection).
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
btw doesnt attaching the AR will spoil the autostart?:( |
| |
Edhellon
Registered: Aug 2003 Posts: 22 |
Quote: btw doesnt attaching the AR will spoil the autostart?:(
Nope, you just have to press F3 (normal reset) and it autostarts beautifully. |
| |
Heaven Account closed
Registered: Jul 2008 Posts: 102 |
Coming from Atari scene currently I am using
- Winvice
- Notepad++
- DASM or Atari cross assembler MADS
(mads.atari8.info)
oh...relaunch64 could be usefull for other 6502 work, too? I mean it is fully configurable so should be possible... |
| |
Hein
Registered: Apr 2004 Posts: 954 |
64Tass
Crimson (+6502 & Tass syntax)
Vice/Hoxs64
Timanthes
Goattracker
AOMEdit (Cadaver's level editors)
Spritepad (with colourpatch)
DPaint 2 |
| |
null Account closed
Registered: Jun 2006 Posts: 645 |
on windows: Relaunc64 + ACME
on Linux: gedit + ACME
( also sometimes nano instead of gedit )
------------------------------------
http://zomgwtfbbq.info |
| |
null Account closed
Registered: Jun 2006 Posts: 645 |
oh, and for pixeling I use ProjectOne on windows, of course :_)
------------------------------------
http://zomgwtfbbq.info |
| |
algorithm
Registered: May 2002 Posts: 705 |
Relaunch64, Acme, Winvice,exomizer
And of course my pc tools for graphic based manipulation/compression |
| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
UltraEdit
Kick Assembler
VICE |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Assembling: make, dasm, exomizer, gcc (for tools)
Editing: emacs, cvs
Testing: viceplus, dtvtrans to DTV + 1541.
|
| |
wozza
Registered: May 2003 Posts: 18 |
Same as rambones :
Relaunch64, ACME, hooked into VICE.
Using Project One, which I finished my first logo on last week ;)
Trying to code a flashy intro for it now...8P |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
I'm just (re)starting playing with the C64.
I'm using relauch64 and KickAss along with winvice. I did pre-order a 1541ultimate too.
The most difficult thing to find are good graphics cross plateform tools for tile editing, tile map, sprite editor...That's why many use their own tools I suppose.
An all in one tool would be perfect, I don't know if that exist yet or not.
Regards
Kamelito |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
Running MacOSX:
- TextMate
- ACME
- make
- codenet
- vice
- pucrunch
- exomizer
- cc1541
- warpcopy
- an rr-rom with codenet support (by J0x)
(..and some other small tools, used only in some occasions)
Running win32:
Exactly the same tools, except for using UltraEdit instead of TextMate.
@Hein: I remember trying an older version of Sprite Pad which bugged a lot, but it seems like a useful sprite editor now. Nice... |
| |
Hein
Registered: Apr 2004 Posts: 954 |
Quote: I'm just (re)starting playing with the C64.
I'm using relauch64 and KickAss along with winvice. I did pre-order a 1541ultimate too.
The most difficult thing to find are good graphics cross plateform tools for tile editing, tile map, sprite editor...That's why many use their own tools I suppose.
An all in one tool would be perfect, I don't know if that exist yet or not.
Regards
Kamelito
you can find some nice tile/map/sprite tools here:
http://cadaver.homeftp.net/tools/c64tools.zip |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
Thanks for the link Hein, I'm going to look at them.
Regards
Kamelito |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
ca65 (in the cc65 suite) is an excellent choice of cross assembler if you want to do more fancy/beardy stuff, but the advantages mostly come into play with larger codebases. gvim is my editor of choice, and I use GNU Make for the build system. |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
RadiantX does CA65 is better than KickAss, I heard that version 3 is planned but don't know the feature list.
Regards
Kamelito |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
I've read many posts about C64 cross dev but nobody ever recommended Snasm, made by an old DMA design programmer Its bizarre cause this guy is very talented. (dailly.blogspot.com)
Regards
Kamelito |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
kamelito: Don't know about that really; I have only looked very briefly at KickAss. How well does it handle things like relocatable code?
My main gripe with ca65 is that the preprocessor language can be a bit odd at times; apart from that I think it's perfect. |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
RadiantX: there a .pseudopc directive that let you assemble to a specific address while having code be like it was assembled to another.
Regards
Kamelito |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
I tried CA65 and I got errors, while I think I'm doing no errors.
ld65.exe: Warning: [builtin config](6): Segment `STARTUP' does not exist
I didn't find anything but one msg about it at lemon64 and one at comp.sys.cbm :-(
ca65 -t c64 clearscreen.asm
ld65 -S 4096 -t c64 -o clears.prg clearscreen.o
The file is created I got a clears.prg load ok through Vice but nothing at $1000.
And this error (see above)
Any idea ? (Asmone on the Amiga was easier ;)
Regards
Kamelito
|
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
cc65/ca65 + linker can be a little tricky to get into in the first place. You have to learn how the linker works, basically and you can't just do "* = $1000" to set the program counter from the code. In that respect KickAss, ACME or something else is a lot easier to get into.
Have you checked the docs?:
http://www.cc65.org/doc/ |
| |
HCL
Registered: Feb 2003 Posts: 728 |
@kamelito: ca65 generates obj-files, relocatable code. Then later when linking several obj-files they get absolute addresses, just like a C-compiler.
I also recon ca65 needs more setup stuff before you can get running, but i think there is a tutorial in the package.. |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
What Shadow said, although I have on the TODO list to try some of the other tools, although I doubt assembling could get any easier - CTRL+F9, and it pops up in Vice.
Only problem I have with KickAss is that the scripting is too slow to make anything advanced. Don't know if any of the alternative assemblers are better.
|
| |
Zone Account closed
Registered: Nov 2002 Posts: 7 |
If you want your code and data to land at certain addresses with ca65, you have to feed the linker with a link configuration file, and compile with eg. `cl65 -C [link file] mysource.s'.
But what the documentation fails to explain is that you have to append "fill=yes" to each memory segment in the link file for it to work as expected. :) It's explained in the FAQ though: http://www.cc65.org/faq.php |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Zone: Actually you don't have to add fill = yes unless you're dealing with multiple memory area definitions. I've found that practice to be a bit overused; most of the time you can deal just fine with having a single memory area, "RAM", and then using the "start = $address" attribute for your segments as needed. |
| |
JackAsser
Registered: Jun 2002 Posts: |
Quote: Zone: Actually you don't have to add fill = yes unless you're dealing with multiple memory area definitions. I've found that practice to be a bit overused; most of the time you can deal just fine with having a single memory area, "RAM", and then using the "start = $address" attribute for your segments as needed.
@radiantx: that's what I do aswell unless I have code that is loaded at one place and run at another. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
many assemblers are only good to make your code look like a highly scientifical unreadable c sources. if you're a beginner go for 64tass, there you can just do stuff which will simply work, instead of spending a week to get a screen clr routine working. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
what oswald123 said \o/ |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Quoting Oswaldmany assemblers are only good to make your code look like a highly scientifical unreadable c sources
Not all of us find "highly scientifical c sources" unreadable you know. :-) There's a point to all the metacode, though it may not be obvious at first. |
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
what oswald said:
i go for:
ultraedit
64tass
vice
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: Quoting Oswaldmany assemblers are only good to make your code look like a highly scientifical unreadable c sources
Not all of us find "highly scientifical c sources" unreadable you know. :-) There's a point to all the metacode, though it may not be obvious at first.
beginners shouldnt be advised to use assemblers where even putting the code to a specified address needs days of learning, and unnecessary complexity. and as it shows there's confusion even amongst who use these assemblers (fill vs no fill) |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Oswald: No confusion, just different ways of doing things, with different sets of advantages and disadvantages. It is very true though that for someone who is just learning to code ca65 is a bad choice, but I haven't gotten the impression that Optimus belongs in that category. As for the complexity it sure is there, but as already stated it is only unnecessary if you don't utilize the functionality it brings. |
| |
Dbug
Registered: Aug 2003 Posts: 5 |
Somebody mentioned xa65, it's also what I'm using.
Would be nice to find some kind of comparative table showing the various features of the various assemblers (support for "extra" opcodes, 6502/65c02/65816/variants, conditional assembly, macros, includes, etc...) because I really have no idea of how XA compares to KickAss, or how KickAss compares to CA65 or Acme :-/
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
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. |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
Don't know if its relaunch64 fault or KickAss but it generate an error if you put kickass on a folder with spaces (ex program files)
Regards
Kamel
|
| |
Devia
Registered: Oct 2004 Posts: 401 |
I like ca65 for the larger projects with makefiles and shit. Works pretty well and has all the config options you'd ever need (almost).
I also use it for the small and simple type-assemble-run type of stuff, although I must admit that the hotkey setup for that in UltraEdit is a bit cumbersome: ca65.exe -o "%p%n.o" -t c64 "%f" & ld65 -o "%p%n.prg" -t c64 "%p%n.o" & codenet.exe -n 10.0.1.64 -x "%p%n.prg"
..for some reason cl65 doesnt work for me.. can't remember why.
Why isn't anyone mentioning DASM, btw? Small, simple, fast, has '.' local labels \o/..
no one ever used it? or is it crap for some reason I never discovered? (i used it for years).
|
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
IMHO ca65 is the best 6502 assembler there is, but it's not a beginner's tool. Load up turbo assembler on real hw if you want to learn.
|
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
@Devia: I have also used DASM a lot in the past. It's nice. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:so is it possible to compile sources without the linker and the awkward segments ? dont think so.
it is. you can make ca65 behave almost exactly like 6502tass (or whatever that TASS thing is called). you dont really have to bother about the linker in that case at all. (but ofcourse, it defeats the whole purpose of using ca65 then)
|
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
Quote: Quote:so is it possible to compile sources without the linker and the awkward segments ? dont think so.
it is. you can make ca65 behave almost exactly like 6502tass (or whatever that TASS thing is called). you dont really have to bother about the linker in that case at all. (but ofcourse, it defeats the whole purpose of using ca65 then)
It's like trying to drive a nail with a screwdriver: it may eventually get the job done, but wouldn't it be more efficient to just use a hammer? Use the right tool for the job. |
| |
kamelito Account closed
Registered: Mar 2006 Posts: 14 |
Quote: IMHO ca65 is the best 6502 assembler there is, but it's not a beginner's tool. Load up turbo assembler on real hw if you want to learn.
Can you please elaborate? |
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
I fail to see how that statement could be made any clearer.
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: It's like trying to drive a nail with a screwdriver: it may eventually get the job done, but wouldn't it be more efficient to just use a hammer? Use the right tool for the job.
yeah, 64tass is a hammer, and ca65 is a laptop. to drive in a nail.... imho :) |
| |
Devia
Registered: Oct 2004 Posts: 401 |
so don't use ca65 on a laptop for simple projects, or the laptop will break.. noted. |
| |
JackAsser
Registered: Jun 2002 Posts: |
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: 1648 |
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: 44 |
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: 2980 |
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: 1648 |
@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: 1078 |
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: 1078 |
http://codebase64.org/
|
| |
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? |
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
Not for anything except really simple code changes. Also the monitor isn't going to display comments or nicely formatted source to edit. Then if the monitor is used to make several code changes there is the problem of reconciling those changes with the source code. |
| |
cavey
Registered: Jul 2002 Posts: 68 |
Quote: Isn't an emulator's built-in monitor good enough for that?
it's the tool for manky! |
| |
Warnock
Registered: Sep 2007 Posts: 28 |
How do you set up WinVice to work with Relaunch64? I have Tass as my assembler but when I go to run the program in Vice, I get line error codes. I can't remember what the error message was. I was wondering if there was some type of setting that is needed to activate WinVice without getting an error message. Please help!!
|
| |
Richard
Registered: Dec 2001 Posts: 621 |
You would need to go to *setup emulator*. Find the path and .exe for where x64 (inside winvice directory) lies and then change textbox (where -autostart lies) to where your assembled .prg lies. |
| |
Scout
Registered: Dec 2002 Posts: 1570 |
For the cross-developers on Windows who use Editplus (http://www.editplus.com) as an programmer's editor, I've extended the syntax file (for syntax highlighting) with the 6510 illegal opcodes and the new C64DTV opcodes.
Get it here:
http://members.ziggo.nl/rolando/tools/asm6502.zip |
| |
Hermit
Registered: May 2008 Posts: 208 |
I just started experiment of cross-development.
I use Ubuntu Linux, and 'GEANY' seems a great, light, fast IDE with syntax-highlighting (.asm) and split-window plugin.
(You have to use .asm extension if not set another in cfg.)
For compiling I think the best way is '64TASS', because it has the same syntax as Turbo Assembler on C64. E.g. it was easy to port&compile my Turbo Assembler source to PC..and maybe won't be problem with using it back on C64..
(Be careful, the 64tass won't compile source & write output with normal CR-endings, you have to convert the source with Geany to have CR+LR endings (Windows form))
The tester is (of course) Vice. There were two things to do to make things faster: Attach the tfr08.bin (Final Replay) as retro-replay cartridge into Vice, then set it as default & save settings. This fastens bootup of Vice.
The Vice '.prg'-autostart (from commandline) is delayed 3 seconds by default, it's slow when you want to test your program, because every test will start a new Vice.
The delay value can be found in the 'c64.c' in '/src' of Vice-source folder. Search second result for 'autostart' then rewrite '3' to '1' and recompile Vice...if you need I can send my Ubuntu compilation (.deb package) of Vice with 1s delay, ask it from me at hmtmade@gmail.com.
(0 delay didn't work, Vice couldn't autostart program, maybe the cartridge didn't came up fast enough')
Now, when you have 64tass and x64 in their places, only thing you have to do is opening a source code in geany with 64tass syntax & .asm extension. Then in build menu you can 'Set Includes And Arguments'. Type the next text into this box if you want to compile .asm to .prg, and then start Vice with the compiled .prg autostarted:
64tass "%f" -o "%e.prg" | x64 "%e.prg"
(In Windows 'x64.exe' and paths may be required.)
I think it's an useful set, I can compile my code&run it in Vice, all in around 2 seconds, then simply quit Vice by Alt+Q or Alt+F4 (and in Vice menu, should disable quit-confirmation then save settings). Though, the tfr08.bin cartridge seems slowing down the prg-autoload, so maybe some empty/non-fastload cartridge images with this fast machine-start would be better...:)
Hermit Software Hungary |