InfoTaskForce cross compiled on Windows, linked on AmigaDOS 2.0 Running under WinUAEĪnd even better, it worked. LinkingĪnd it linked without any unresolved externals. Running that as a single line (or better in a command file) got me my executable. This time it was slightly different as now we had a bunch of object files:īLink LIB:HCC.o+fileo.o+funcso.o+infocomo.o+inito.o+inputo.o+interpo.o+ioo.o+jumpo.o+objecto.o+optionso.o+pageo.o+printo.o+propertyo.o+supporto.o+variableo.o LIB LIB:HCC.lib+LIB:stubs.lib TO infocom SC SD VERBOSE I had to add in the include files from the DICE compiler, and surprisingly, in no time, it was all compiled, and assembled the only step remaining was to run the BLINK linker. Now to try something bigger, like the ancient 1987 vintage InfoTaskForce. The syntax for BLINK was a little strange, mostly because I really don’t know what I’m doing.īLink LIB:HCC.o+hanoi.o LIB LIB:HCC.lib+LIB:stubs.lib TO hanoi SC SD VERBOSE Much to my amazement, the a68k assembler functions just fine as a cross assembler, and I only had to copy the object file into the emulator, and I could happily link.
Wow wasn’t that fun! I haven’t seen the source code to the BLINK linker, so I just end up using a native linker, BLINK. Total hunk sizes: 94 code, 10 data, 0 BSS linking Top Version 2.00 Copyright (c) 1988-1991 by Sozobon, Limited.Ħ8000 Assembler - version 2.61 (January 11, 1990)ĪmigaDOS conversion copyright 1989 by Charlie Gibbs.
For the heck of it, I did try a68k, and to my amazement it did actually work, once I had updated the file output call. With the compiler and optimizer running (it is actually needed to run to further massage the assembly output into something the Amiga a68k assembler can read), it was time to look at an assembler. As always if you can see what is going on in a debugger it’s not too hard to make some wild guesses and get it running, and if you get lucky it may even work too… Running the compiler
From the readmeĪnd isn’t that great? It even supports 32 bit integers! I had to massage things in Visual C++, as there was some weird instances of return codes missing, and the optimizer not actually mallocing it’s memory, but just blindly using pointers. Uses assembler A68k, linker BLink, and provided run-time shared C library CClib.library. Includes compiler, optimizer, tool for creating interface code for Amiga system calls, startup code, C library, include files, and library routines that work with Motorola FFP format. Can completely compile itself, supports 32 bit ints, and optimizer can ‘registerize’ variables. From it’s description:Īmiga port of Sozobon, Limited’s C Compiler. To start this fun voyage, I used HCC, the first usable port of Sozobon C to the Amiga I could track down.