ndr-nkc.de ndr-nbc.de
  
Startseite
News
 
NDR-NKC
Geräte Z80
Geräte 68000
Geräte 8088
 
NKC Emulator
 
Z80 Section
Baugruppen
ROM's
Software
68000 Section
Baugruppen
ROM's
PASCAL/S
Software
CP/M 68K
8088 Section
Baugruppen
Downloads
 
Bussysteme
Stromversorgung
Input / Output
Grafikkarten
Speicherkarten
Massenspeicher
Weitere Baugruppen
 
Projekte
 
Dokumentation
Datenblätter
Glossar
Portraits
Links

Impressum

 

Die Entwicklungsumgebung

Zum Aufsetzen einer Entwicklungsumgebung sollte man eine speziell vorbereitete Master-Diskette mit diversen Programmen einsetzen. Zur Übersetzung von C-Quelltexten sind mehrere Programme und einige zusätzliche Dateien notwendig. Neben den Teilen des C-Compilers werden zusätzlich der 68K-Assembler AS68 und Linker LO68 benötigt. Außerdem machen einige Tools Sinn, die ebenfalls am besten auf der Arbeitsdiskette abgelegt werden sollten.

Ziel dieses Beitrages ist es, eine startfähige Diskette mit dem CP/M Betriebssystem, dem C-Compiler, dem Assembler und den wichtigsten Tools zusammenzustellen, die trotzdem ausreichend Platz für Quelltexte, temporäre Dateien und die generierten Programmdateien bereitstellt. Alle notwendigen Dateien belegen rund 550 kByte auf der Diskette, was noch etwa 220 kByte für die Entwicklung eigener Programme übrig lässt.

Notwendige Programme und Dateien

Zuerst die notwendigen Dateien für das Betriebssystem CP/M-68K. Diese werden auf eine bootfähige Diskette kopiert.

Dateiname Größe Funktion
CPMLDR.SYS 6 kByte Ladeprogramm für CP/M-68K
CPM.SYS 24 kByte CP/M-68K Betriebssystem

Hier folgen die Dateien des C-Compilers mit Bibliotheken und Header-Dateien.

Dateiname Größe Funktion
CP68.68K 26 kByte Präprozessor des C-Compilers
C068.68K 54 kByte Parser des C-Compilers
C168.68K 50 kByte Codegenerator des C-Compilers
CLIB 102 kByte Standard-Bibliothek des C-Compilers
S.O 2 kByte Standard-Startcode für Programme
LIBF.A 20 kByte Floating-Point-Bibliothek
STDIO.H 6 kByte Header-Datei mit Definitionen für Eingabe und Ausgabe
PORTAB.H 4 kByte Datentyp-Definitionen für portable Programme
OSIF.H 18 kByte File Control Block, BDOS-Funktionen, Bytefolge
CTYPE.H 4 kByte ASCII-Umwandlung für Integer Zahlen
ASSERT.H 2 kByte Assert-Funktion zu Debug-Zwecken
SIGNAL.H 4 kByte Definitionen der Argumente zur Rückgabe ans Betriebssystem
SETJMP.H 4 kByte Definitionen für Long Jump
OPTION.H 6 kByte Definition Datengetriebener Funktionsaufrufe
OSIFERR.H 2 kByte Fehlerbehandlung bei Betriebssystem-Aufrufen
OSATTR.H 4 kByte Definition der Fähigkeiten des Betriebssystems
ERRNO.H 2 kByte Definition von Fehlercodes

Jetzt noch der Assembler, Linker und Submit-Dateien zur Ablaufsteuerung.

Dateiname Größe Funktion
AS68.68K 54 kByte 68000 Assembler
AS68SYMB.DAT 8 kByte 68000 Assembler Daten
LO68.68K 24 kByte Linker
EDIT.68K 2 kByte Aufruf des Grundprogramm-Editors
C.SUB 1 kByte Submit-Datei zur Übersetzung ohne Fließkomma-Arithmetik
CF.SUB 1 kByte Submit-Datei zur Übersetzung mit Fließkomma-Arithmetik

Abschließend einige wichtige Tools, die auf der Arbeitsdiskette nicht fehlen sollten.

Dateiname Größe Funktion
NM68.68K 16 kByte Listen aller Symbole in Codedateien (nur bei Problemen)
PIP.68K 12 kByte Peripheral Interchange Program (empfehlenswert)
STAT.68K 14 kByte Informationen zu Laufwerken, Dateien und dem System (empfehlenswert)
MORE.68K 16 kByte Seitenweises Anzeigen von Testdateien
FIND.68K 16 kByte Suchen nach Mustern in Testdateien
RELOC.68K 18 kByte Programme auf feste Startadresse übersetzen (empfehlenswert)
DDT.68K 2 kByte Startprogramm für den Debugger (nur bei Problemen)
DDT68000.68K 54 kByte Debugger für den 68000 und 68008 Mikroprozessor (nur bei Problemen)

Man kann damit vernünftig arbeiten, wenn man von dieser Master-Diskette bei Bedarf neue Kopien erstellt und sich auf wenige Projekte pro Diskette beschränkt. Aber auch, wenn man über 2 Diskettenlaufwerke verfügt, macht es durchaus Sinn, sich diese Master-Diskette zu erstellen, um das System zu starten und alle Tools für die Entwicklung sofort zur Verfügung zu haben.

Auf dem zweiten Laufwerk B werden dann alle selbst erstellten Quelltexte abgelegt. Alle notwendigen Programme werden von Laufwerk A geladen, der Quelltext wird von Laufwerk B geladen. Temporäre Dateien und das übersetzte Programm entstehen nur auf dem zweiten Laufwerk. Das hat den Vorteil, dass das Laufwerk A mit einem Schreibschutz versehen werden kann. Entweder per Software oder per Hardware.

stat a:*.* ro

Mit nur wenigen zusätzlichen Submit-Dateien kann die gleiche Startdiskette auch zur Übersetzung von Assembler-Quelltexten genutzt werden. Das sind die Dateien, die schon in der Serie über die Assembler-Programmierung besprochen wurden.

Dateiname Größe Funktion
MAKE.SUB 1 kByte Submit-Datei zum Übersetzen von Assembler-Quelltext

Falls es wirklich knapp werden sollte mit dem Speicherplatz auf der Diskette, könnte man alle Kommentare in den Header-Dateien entfernen und so eine spezielle Version dieser Dateien nur für die Arbeit-Diskette vorbereiten. Damit lassen sich bestimmt 30 kByte an Dateigröße einsparen.

Fazit

Die Erstellung eines Arbeitsdiskette zur Entwicklung von Programmen mit C ist eine kleine Herausforderung. Es macht aber wirklich Sinn, sich damit eingehend zu beschäftigen, nichts ist ärgerlicher als ständig Disketten wechseln zu müssen.

Weiter zu Teil 3 der Serie: Der C-Compiler

Zurück zu Teil 1 der Serie: Vorteile und Nachteile von C