Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:software:prettyc [2025/03/25 14:46] – [Downloads] volkerpz9001: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&R-Syntax!). Er wurde speziell für Kleincomputer und Kassetten-Rekorder als Massenspeicher entwickelt.  Pretty C ist ein kleiner Einpass-C-Compiler zum Lernen der Sprache C (K&R-Syntax!). Er wurde speziell für Kleincomputer und Kassetten-Rekorder als Massenspeicher entwickelt. 
 +
 +{{:z9001:software:prettyc.gif?340|}} {{:z9001:software:schaukel.gif?340|Beispiel Schaukel}}
  
 Vor Nutzung des Compilers ist es erforderlich, das Handbuch zu lesen! Vor Nutzung des Compilers ist es erforderlich, das Handbuch zu lesen!
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 "filename" darf **keine Endung** angegeben werden, nur max. 8 Zeichen für den Dateinamen. Die Eingabe muss in **Großbuchstaben** erfolgen+:!: Bei "filename" darf **keine Endung** angegeben werden, nur max. 8 Zeichen für den Dateinamen. Die Originalversion ignoriert einen Dateityp; die gepatchte Version erwartet keinen Dateityp. Der Filename muss bei USB/SD in **Großbuchstaben** eingegeben werden (FAT-Filesystem)
  
 :!: Es darf kein [[z9001:cpm:schaltrom|]] zum Einsatz kommen! Der Compiler macht Schreibzugriffe auf 0FFFEh und weitere Adressen, die zum Abschalten eines Schalt-ROMs führen! :!: Es darf kein [[z9001:cpm:schaltrom|]] zum Einsatz kommen! Der Compiler macht Schreibzugriffe auf 0FFFEh und weitere Adressen, die zum Abschalten eines Schalt-ROMs führen!
  
-Auf der Tastatur nicht vorhandene Zeichen ( z.B. [,{,~ können aus vorhandenen +Auf der Tastatur nicht vorhandene Zeichen wie [,{,~  können aus vorhandenen Zeichen
 durch nachfolgendes Drücken von '@' dargestellt werden (s. Handbuch Abschnitt 2.3.1, Sondertasten).  durch nachfolgendes Drücken von '@' dargestellt werden (s. Handbuch Abschnitt 2.3.1, Sondertasten). 
  
Zeile 55: Zeile 57:
 compiliert ist. compiliert ist.
  
->EC CLIBM/CR +>EC CLIBM/CR Textpuffer CLIBM anlegen 
-+* Leerzeile 
-*STRG-C +*STRG-C Insert-Mode beenden 
-ESC+R,CLIBM +ESC+R,CLIBM Datei CLIBM einlesen 
-ESC+E+ESC+E Editor Ende
  
->EC CMD/CR+>EC CMD/CR Textpuffer CMD anlegen
 *CC MAIN/BP:0/LI:0 *CC MAIN/BP:0/LI:0
 *CC CLIBM/CN *CC CLIBM/CN
-STRG-C +*STRG-C Insert-Mode beenden 
-ESC+E+ESC+E Editor Ende
  
-EC MAIN/CR +EC MAIN/CR Textpuffer MAIN anlegen 
-*+* Leerzeile
 *STRG-C *STRG-C
-ESC+E+ESC+E Editor Ende
  
 Speicherabzug CLIBM+CMD+MAIN auf Band sichern, dann spart man sich diese Schritte, Speicherabzug CLIBM+CMD+MAIN auf Band sichern, dann spart man sich diese Schritte,
Zeile 76: Zeile 78:
 ( prettyc muss aber vorab init werden, dazu einfach einmal CC ausführen )  ( prettyc muss aber vorab init werden, dazu einfach einmal CC ausführen ) 
  
->EC /DI+>EC /DI alle Textpuffer auflisten
 8000 8E8F CLIBM 8000 8E8F CLIBM
 9000 902A CMD 9000 902A CMD
 9200 9217 MAIN   9200 9217 MAIN  
  
->SAVE 8000 921F FFFF+>SAVE 8000 921F FFFF OS-Kommando SAVE
 filename: EC_CLIB.COM filename: EC_CLIB.COM
  
Zeile 93: Zeile 95:
 ===== Bedienung ===== ===== Bedienung =====
  
 +<code>
 EC /DI Directory EC /DI Directory
  
Zeile 130: Zeile 133:
 CC debug/BP:0/LI:0/CN  CC debug/BP:0/LI:0/CN 
 CC printf/CN  CC printf/CN 
 +</code>
    
 ===== Internes ===== ===== Internes =====
  
-Aufbau der C-Dateien: +Es wird reservierter Systemspeicher genutztAuch die RST-Adressen werden verwendetDas muss bei anderen Erweiterungen (z.BMega-Flashbeachtet werden!
- +
-Der Puffer wird in Blöcken zu 128 Bytes aufgezeichnet +
-Die Blöcke werden mit 0 beginnend durchnummeriert +
-Block 0 ist Steuerblock und enthält außer dem Filenamen (erste 8 Zeichen)  +
-keine relevanten Informationen +
-Block 1 beginnt mit der ersten TextzeileText im ASCII-Code. Jede  +
-Textzeile endet mit 'ENTER' (0D)+
-Ein Block, der ETX (03) enthält, wird als letzter Block erkannt.  +
-Danach folgt ein bedeutungsloser Block mit der Nummer FFH. +
  
 +<code>
 +90 - 18F Stack für Syntaxanalyse (nur Compiler)
 +210- 2FF interne Puffer (Compiler + Laufzeit)
 +300 - 4F00 Pretty C mit Arbeitszellen
 +...
 +</code>
  
 +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!
  
 +--> [[..:cpm:schaltrom|]]
  
 +Mit einem Schreibzugriff auf Adresse FC00h wird der ROM abgeschaltet. („LD (0FC00h),A“)
 +Mit einem Schreibzugriff auf Adresse F800h wird der ROM zugeschaltet. („LD (0F800h),A“) )
  • z9001/software/prettyc.1742914013.txt.gz
  • Zuletzt geändert: 2025/03/25 14:46
  • von volkerp