KDevelop for C64 sources
Over the years I've used some development systems for C64 code. This story is about what I've tried out and where I arrived now:
I'm using KDevelop with a patch for syntax highlighting of C64 sources, the crossassembler XA and the transfertool PrLink.
Please take a look at the Related Links to visit their homepages for more information.
About the Patch
Screenshots
Download Patch
Related Links
A little bit of history... (or: 'will you listen to all the hardships of my life?' :)
C64
I started on a plain machine using 'Hypra Ass'. It was ok for little programms but soon I wanted to try something
bigger - a game! Of course I never finished it (was crap anyway :), but at least I changed to 'VisAss'. This was
a nice system with regular updates (the name changed to 'AssBlaster' later) and I really got some work done with it.
But picky me was still not completely happy as I ended up too often with a trashed mem and had to load the assembler
again. The final reason to leave for a new solution was the message one day: 'memory full'.
Amiga OS
By that time I already knew Ninja and his really nice crossassembler system. I would have to try really hard to get
the same error there. ;)
So I wanted a crossass system. My A1200 looked great for this task. I tried several assemblers and transfer tools
and finally chose 'Acme' and 'Prlink'. I used 'CygnusEd' for the typing, a great text editor which
also allowed my to fire up the assembler and transfer tool with an FKey. Another nice thing was Ninja's 'AAY 64'
which saved me a lot of time.
There were some other assemblers I would have really liked to try out (like 'As' which Ninja uses, or 'XA'), but
most of them were C sources for linux and I am too dumb to do a port. This was not the only time I envied the penguin
people for the enormous amount of great software they could access.
Linux
One day in 1999 it bugged me too much and I went to the big town to buy a Peecee and Suse Linux (now I'm using Debian.
it's not that chaotic ;). Finally it was no more trouble to compile all these nice crossassemblers. I decided to use
'XA' as I needed its option to produce relocation tables for my current project 'DreaMon'. My favourite transfer
tool 'PrLink' was also available for Linux, so no need to change. I used a simple text editor to write the code and a shell
to assemble and transfer. It was ok, but I missed something like CygnusEd's FKey feature.
Linux - KDevelop
One day I stumbled over 'KDevelop', an IDE for some languages like C, Java, Pascal, Pearl, etc . The actual reason
for me to choose it was my strange habit to split longer sources in many little files. KDev offered a comfortable way to work with
them. I could also use FKeys for assembling, transfering and archieving my sources. Another nice feature was the integrated
help browser, which accepts html files (fro example AAY64 :) and could also be searched for keywords. I always envied Ninja for
'THelp' on his system doing this.
The syntax highlighting
That time I used the default syntax highlighting of KDev (I guess because I did not know how to turn it off ;) . But by the time
I realized it was a handy feature after some hours in front of the screen. Of course the default settings did not match very
well for c64 sources so I thought of patching KDev - but it was not so important to motivate me enough. This changed when I
was studying for a university test in C++. I was fed up with the senseless practice exercises and looked for something
useful. Suddenly I remembered KDev. :)
About the Patch
I wrote this little patch with no public use in mind, so I just considered my needs. :)
It only tells KDevelop what parts of the text are special. Everything else like the prefs-menue for colours and styles of these parts were
already present and worked great without any change.
By default files ending with '.src', '.hx', '.a65' and '.i65' are highlighted, but you can change this in KDevelop's setup without
any modification of the patch.
This is what becomes colorful:
- all 6510, 65C02 and 65816 Opcodes
- C64 style numbers
- comments (rest of line after ';' and text betwen '/*' and '*/')
- all pseudo opcodes and preprocessor commands of XA
- my little set of macros I use in almost every code
Take a look at the Screenshots to see it in action.
Please edit the sources for your personal needs.
Download
This patch works fine with my versions of KDevelop. I have no idea what it will do to yours so please be careful.
Please tell me if it works and how you like it.
Related Links
- KDevelop
home of the nice IDE
- XA
crossassembler for 6510, 65(C)02 and 65816
- PrLink
a transfertool for many systems and cables
Back to the main page