Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:software:prettyc [2025/03/25 16:15] – [Hinweise] volkerp | z9001:software:prettyc [2025/07/07 11:01] (aktuell) – [Internes] volkerp | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
Pretty C ist ein kleiner Einpass-C-Compiler zum Lernen der Sprache C (K& | Pretty C ist ein kleiner Einpass-C-Compiler zum Lernen der Sprache C (K& | ||
+ | |||
+ | {{: | ||
Vor Nutzung des Compilers ist es erforderlich, | Vor Nutzung des Compilers ist es erforderlich, | ||
Zeile 34: | Zeile 36: | ||
Die originale Version lässt nur mit Kassettenrekorder nutzen! Meine gepatchte Version arbeitet auch mit USB und SD-Karten. | Die originale Version lässt nur mit Kassettenrekorder nutzen! Meine gepatchte Version arbeitet auch mit USB und SD-Karten. | ||
- | :!: Bei " | + | :!: Bei " |
:!: Es darf kein [[z9001: | :!: Es darf kein [[z9001: | ||
Zeile 93: | Zeile 95: | ||
===== Bedienung ===== | ===== Bedienung ===== | ||
+ | < | ||
EC / | EC / | ||
Zeile 130: | Zeile 133: | ||
CC debug/ | CC debug/ | ||
CC printf/ | CC printf/ | ||
+ | </ | ||
===== Internes ===== | ===== Internes ===== | ||
- | Aufbau der C-Dateien: | + | Es wird reservierter Systemspeicher genutzt. Auch die RST-Adressen |
- | + | ||
- | Der Puffer | + | |
- | Die Blöcke | + | |
- | Block 0 ist Steuerblock und enthält außer dem Filenamen | + | |
- | keine relevanten Informationen. | + | |
- | Block 1 beginnt mit der ersten Textzeile. Text im ASCII-Code. Jede | + | |
- | Textzeile endet mit ' | + | |
- | Ein Block, der ETX (03) enthält, wird als letzter Block erkannt. | + | |
- | Danach folgt ein bedeutungsloser Block mit der Nummer FFH. | + | |
+ | < | ||
+ | 90 - 18F Stack für Syntaxanalyse (nur Compiler) | ||
+ | 210- 2FF interne Puffer (Compiler + Laufzeit) | ||
+ | 300 - 4F00 Pretty C mit Arbeitszellen | ||
+ | ... | ||
+ | </ | ||
+ | JKCEMU: C@ schreibt auf Adresse FFFE/FFFD und deaktiviert dadurch den ROM des Mega-Flash. Stattdessen wird das normale BASIC eingeblendet. | ||
+ | Nach dem Kompilieren muss man daher erst mal Reset drücken (und ggf. den Massenspeicher-Treiber neu laden), ehe man wieder mit ED korrekt editieren und vor allem speichern kann! | ||
+ | --> [[..: | ||
+ | Mit einem Schreibzugriff auf Adresse FC00h wird der ROM abgeschaltet. („LD (0FC00h), | ||
+ | Mit einem Schreibzugriff auf Adresse F800h wird der ROM zugeschaltet. („LD (0F800h), |