EJC (Erling Jacobsen C)

EJC is a full KR (Kernighan & Ritchie) C compiler for the Sinclair QL, based on the Metacomco C Development Kit (MCDK – which itself is based on Lattice C), which can produce clear QDOS code: Position independent (i.e. no relocation needed when started, as with original MCDK or C68), reentrant and even ROMable. It is eventually even be possible to write SuperBASIC extensions with this compiler, cause the Lattice compiler has an option, which will address all static and external data via register A6, see MCDK manual, chapter 1.2.1, page 5 (option -b). Of course you must write the code to link in the SuperBASIC procedures/functions in Assembler and link the assembler object code with the object code generated by EJC. Therefore you must know how Lattice C calls functions. See MCDK manual chapter 6.3.3, page 188 how arguments are passed to C functions.

W A R N I N G : The ZIP archive „ejc.zip” does not contain the Lattice compiler phase 1 and 2! If you do not have the MCDK you cannot use EJC from this archive(!).

For more details see the file "README_txt" in the archive, which also contains a small "hello world" example with description how to compile it with EJC.

The ZIP archive should be unpacked on a QDOS system, as QL files have a fileheader which will be lost on other systems. As this archive also contains executable programms like the "cc" compiler driver, this is very important(!).

ejc_zip as ZIP archive for QDOS / SMSQ/E
(124 x downloaded

For some programs (e.g. the cc compiler driver) the Source code is included. The QeM terminal program mentioned in one of the readme files is unfortunately missing, but you can get it from Dilwyn Jones QL site.