Cross development system

updated May 21 2000


I'm writing a cross-development system to speed up my work with the next version on LUnix. The whole system consits of 3 (or 4) more or less independent parts. All the programs are written for gcc (GNU-C-Compiler), it should be possible to run (compile) them on every system with gcc (especialy all UNIX-systems).
Use the tools with care, when you run them in a insecure environment (other than UNIX).
NO WARRANTY

BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION...
[updated] The preprocessor (lupo v0.19)
Lupo (little, universal preprocessor) is designed to proprocess assembler-sources of every kind. Lupo can expand macros, includes and conditional assembly. The syntax is very near to that of normal C-preprocessors, there are commands like #if, #elif, #endif, #define, #ifdef, #ifndef, ...

[updated] The assembler (luna v1.30)
Luna (lunix assembler) is a normal assembler (multi pass) that has some additional features to help creating LUnix-applications. Luna can also generate object files that can be processed with lld (a linker).

[updated] The linker (lld v0.07)
Lld (little linker) can link many objectfiles, librarys to one executable, and can create librarys from objectfiles. The only assembler that is able to create objectfiles for lld is luna.

A peephole optimizer (opt65) (optional, not included)
Okay, such a optimizer is normaly part of a compiler, but you can use it for handwritten sources too (it sometimes helps finding bugs in your code, a good code can't be optimized by this optimizer, so everytime there is a "REMOVED"-remark of opt65s output you should take a deeper look into your code :-)

Standard library + include files (mainly for LUnix)
The library provides some basic routines, to help you writing applications for LUnix. At the same time it tries to match the lib6502, the standard 6502 library as described by André Fachat, to give a unified interface to the operating system.

All in one !

I made a 'tar'-archive of lupo, luna and lld (sources and some docu). Plus many include files and a complete library of system calls for LUnix and many examples for applications. You can download it from here (46801 bytes).


Compiled versions:

for AMIGA

[updated]Many thanks to Stefan Haubenthal, who gave me compiled binarys for AMIGA. (In a LHA-archive.) amiga11.lha (72493 bytes, lld v0.07, luna v1.30, lupo v0.19)

for 80x86-PC running MSDOS

I've compiled them for 80x86-PCs running MSDOS (In a ZIP-achrive.) 80x86dos.zip (51534 bytes, lld v0.03, luna v1.16, lupo v0.13)

for 80x86-PC running OS/2

[updated] Many thanks to Joachim Probst, who gave me compiled binarys for OS/2 (ZIP-archive). 80x86os2.zip Should run on every 32bit OS/2 with EMX runtime environment (lld v0.05, luna v1.21, lupo v0.17).

If you have compiled some of the above on an other system, especially systems that come without a c-compiler, please email me the executable, to include it here.