The HiTech C Compiler v3.09 is one of the best available C compilers that can be used on 8-bit CP/M 2.2 systems.
However, the high quality of this toolset is critically affected by the available 64KB RAM memory constraints.
It is very frequent that the compiler reports “out-of-memory” error messages for C source files enough small (some hundreds code lines…).
In the same time, currently there are available a lot of Z80 based hardware configurations provided with 128 KB RAM or 512KB RAM banked memory; of course, Z80 may use only a 64KB address space, but in these hardware configurations, the available extra RAM banks can be selected using I/O ports.
This opens the possibility to “enhance” the capabilities of the C compiler, by allowing him to allocate memory in the extra RAM banks.
Benefiting from the high quality work of Andrey Nikitin and Mark Ogden, who published the decompiled C sources on GitHub, I modified these source files to implement this idea of a enhanced C compiler.
I published on GitHub the solution: an enhanced HiTech C Compiler, for 128KB/512KB RAM Z80 computers, able to compile large C source files ( https://github.com/Laci1953/HiTech-C-compiler-enhanced )
The following HiTech components were modified:
- P1.COM
- CGEN.COM
- OPTIM.COM
- ZAS.COM (starting from the Hector Peraza’s ZSM4 published on GitHub)
The included files are built to be used on Z80 systems provided with 128KB RAM or 512KB RAM modules hardware configuration.
The resulting C toolset can be customized to be used on any available 128KB RAM / 512KB RAM Z80 hardware system configuration (for example, it works on any RC2014 provided with SC108, SC114, SC118, SC150, SC152 or the Phillip Stevens memory module, or the 512KB RAM + 512KB ROM module).
Waiting for your feedback,
Ladislau