Mitwirkende
- Code — NoRecess
- Engine — Small-C, von Ron Cain
Mitwirkende, wie sie in der Release stehen.
PhrozenC ist ein C-Compiler auf Basis des ursprünglichen K&R-Compilers SmallC (1981!). Ich habe ein paar kleinere Funktionen ergänzt, etwa die Option #include oder einen sparsameren Umgang mit dem Speicher. Außerdem habe ich eine Fassung gebaut, die auf einem echten CPC läuft (dateibasiert bzw. als ROM)!
Small-C wurde 1980 von Ron Cain für die CP/M-Maschinen jener Zeit geschrieben — wozu auch der Amstrad CPC gehört. Anfang 2010 bin ich wieder über den Quelltext gestolpert, habe ihn für den PC übersetzt und fand ihn bemerkenswert sparsam im Speicher. Aus Spaß, wie bei den meisten Projekten, habe ich eine echte CPC-Portierung versucht. Zunächst funktionierte sie nicht wie erhofft; es hat einige Kopfschmerzen gekostet, bis sie es tat.
Was er tut, ist einfach genug: Er macht aus einer C-Datei und allem, was sie einbindet, einen einzigen Assembler-Quelltext, bereit für Arnors Maxam oder Richard Wilsons WinAPE. Er übersetzt in einem einzigen Durchgang und muss deshalb nie das ganze Programm auf einmal im Speicher halten.
Die Fassungen
- Windows — ein eigenständiges Kommandozeilenprogramm.
- CPC 464 / 464+ — ein eigenständiges Programm, das den gesamten Speicher der Maschine benutzt und alles zerstört, was vorher da war. Aus Kompatibilitätsgründen veröffentlicht, und nicht die Fassung, zu der man greifen sollte.
- CPC 6128 / 6128+ — über ein RSX gesteuert; nutzt die zusätzlichen 64K, um den Compiler komprimiert zu halten, und lässt die ersten 64K unangetastet.
- CPC 6128 / 6128+, ROM — wieder ein RSX; nutzt die oberen 48K (Bänke C5, C6 und C7) und lässt den residenten Speicher und Bank C4 unangetastet. Das ist die Fassung, die neben den Arnor-ROMs zu benutzen ist — Protext, Maxam und Promerge.
Bildschirmfotos


