Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:software:prettyc [2025/03/25 14:18] – angelegt volkerpz9001:software:prettyc [2025/03/26 08:50] (aktuell) 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 22: Zeile 24:
  
 ===== Downloads ===== ===== Downloads =====
 +
 +{{ :z9001:software:prettyc.zip |}}
  
   * Handbuch Version 1.0 incl. Ergänzung Version 1.1 (digitalisiert U. Zander)   * Handbuch Version 1.0 incl. Ergänzung Version 1.1 (digitalisiert U. Zander)
 +  * Beschreibung K&R C (Aus: Kernighan/Ritchie, The C Programming language, 1978, Anhang C). In Englisch!
   * Softwarepaket (PRETTYC.COM, INSTALL.COM, Bibliotheken CEXT,CLIB,CLIBM,DEBUG, Beispiele HELLO, SCHAUKEL, SIEB)   * Softwarepaket (PRETTYC.COM, INSTALL.COM, Bibliotheken CEXT,CLIB,CLIBM,DEBUG, Beispiele HELLO, SCHAUKEL, SIEB)
 +  * mein Patch
  
 ===== Hinweise ===== ===== Hinweise =====
Zeile 30: 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.
  
-**Achtung**: 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!+:!: Bei "filename" darf **keine Endung** angegeben werden, nur max. 8 Zeichen für den Dateinamen. Die Eingabe muss in **Großbuchstaben** erfolgen!  
 + 
 +:!: 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 wie [,{,~  können aus vorhandenen Zeichen 
 +durch nachfolgendes Drücken von '@' dargestellt werden (s. Handbuch Abschnitt 2.3.1, Sondertasten). 
  
 <code> <code>
Zeile 46: 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 
-*main(){}+* 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,
 sondern lädt einfach im OS.  sondern lädt einfach im OS. 
-( prettyc muss aber vorab init werden, dazu einfach einmal CC ) +( 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 82: Zeile 93:
 </code> </code>
  
 +===== Bedienung =====
 +
 +EC /DI Directory
 +
 +EC TEST/CR legt Puffer mit Namen TEXT an
 +
 +Cursor runter/cursor hoch - durch die Zeilen blättern
 +
 +ESC+T Pufferfanang
 +ESC+B Pufferende
 +
 +* kennzeichnet Insertmodus (neue Zeilen)
 +es muss mindestens eine Zeile da sein, also mindestens 1x Enter drücken
 +
 +^C -> _ (Kommandomode)
 +^D Zeile löschen
 +^E Insertmodus
 +
 +ESC+W WRITE: 
 +Ausgabe des gesamten Puffers auf Magnetband
 +
 +ESC+R READ: 
 +Lesen eines Files von Magnetband, Anhängen an das 
 +Pufferende. WIRD STATT DES Filenamens nur 'ENTER' gegeben, so wird 
 +dieser Vergleich unterdrückt
 +
 +ESC+C Großbuchstaben nutzen
 +
 +ESC+E end 
 +
 +Textpuffer mit dem Namen CMD schreiben. 
 +
 +OS-Kommando 
 +C@ 
 +arbeitet seine Zeilen nacheinander ab.
 +
 +CC CQ/BP:2/LI:1/AS:100 
 +CC debug/BP:0/LI:0/CN 
 +CC printf/CN 
 + 
 +===== Internes =====
 +
 +Aufbau der C-Dateien:
 +
 +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 Textzeile. Text 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. 
  
  
  
  
  • z9001/software/prettyc.1742912301.txt.gz
  • Zuletzt geändert: 2025/03/25 14:18
  • von volkerp