APPLICATIONSDIVERS ★ 8 KByte gewonnen|CPC Magazin) ★

CP/M Lader v2 (CPC Magazin)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

CP/M Plus verschwendet mit den Systemspuren eigentlich Platz auf der Diskette. Mit unserem Utility kann dieser Platz für Programme verfügbar gemacht werden.

Wenn Sie schon einmal mittels eines Diskettenmonitorprogramms die ersten beiden Spuren einer CP/M-Plus-Sy-stemdiskette angeschaut haben, so ist Ihnen sicher aufgefallen, daß beinahe nichts darauf steht (nur rund 120 Byte auf dem ersten Sektor der ersten Spur). Annähernd 9 KByte sind also gar nicht belegt.

CP/M-Systemspuren

Wahrscheinlich wissen Sie, daß die ersten beiden Spuren einer CP/M-Diskette Systemspuren genannt werden, da sie wichtige Informationen für dieses Betriebssystem enthalten. DATA-formatierte Disketten benötigen diese Informationen nicht. Deshalb beträgt ihre Kapazität auch 178 KByte gegenüber 169 KByte der Systemdisketten.

Unterschiede zwischen CP/M 2.2 und CP/M Plus

Systemdisketten unter CP/M 2.2 und CP/M Plus unterscheiden sich auch darin, daß erstere auf den Systemspuren das CCP (Console Command Program) enthalten. Dies ist derTeil des Betriebssystems, mit dem der Anwender am häufigsten und offensichtlichsten konfrontiert wird. Das CCP gibt das Prompt A> auf dem Bildschirm aus und ist damit bereit, Kommandos entgegenzunehmen (DIR, ERA, REN, SAVE, USER, TYPE) oder Programme zu laden. Unter CP/M Plus dagegen wirb es mit dem File C10CPM3.EMS geladen, und eine Kopie des CCP verbleibt ständig im RAM (Bank 2, Block 2) und läßt sich nach Bedarf wieder aktivieren. Deshalb ist es auch möglich, die Diskette unter CP/M Plus zu wechseln. Auch DATA-formatierte Disketten werden anstandslos gelesen, im Gegensatz zu CP/M 2.2; Her führt dies nur zu der Meldung ”Bdos ErronA:”.

Boot-Programm

Die erwähnten 120 Byte auf der CP/M-Plus-Systemspur sind eigentlich ein kleines Programm. Seine einzige Funktion besteht darin, das C10CPM3.EMS-File (und damit CP/ M Plus) zu laden und zu starten. Deshalb wird es auch Boot-Programm genannt. Schön wäre es nun, wenn man dieses auf eine DATA-Diskette kopieren könnte, um damit CP/M zu starten. So einfach ist das Ganze aber nicht. Wenn man nämlich das Kommando CPM eingibt, wird auch ein Ladeprogramm in ROM 7 aktiviert. Und dieses wiederum ist zum Booten von CP/M unbedingt notwendig.

Ein Boot- lind Ladeprogramm

Man muß also selbst ein Lade- und Boot-Programm schreiben, um die 8 KByte an Speicherplatz zu gewinnen. (Es sind natürlich nur 8 KByte, da das Programm zumindest 1 KByte einnimmt!). Um CP/M Plus zu laden und zu starten, sind alle Informationen und Funktionen bereits im Computer eingebaut (in Rom 7) und auf Systemspuren abgespeichert. Man kann sich also viel Tipparbeit ersparen,, wenn man ein Programm erstellt, das alle nötigen Informationen aus ROM 7 und von den Systemspuren abfragt, ein paar Patches einfügt und das Ganze in ein File auf Diskette schreibt.

Funktionsweise

Das hier vorgestellte Programm CPMLADER.BAS wurde auf einem CPC 6128 erstellt und führt folgende Schritte aus:

  1. Das Boot-Programm auf den Systemspuren wird ins RAM ab Adresse Hex 3000 geladen.
  2. ROM 7 wird "geöffnet” und ein Teil davon nach Adresse Hex 3150 im RAM verschoben/kopiert.
  3. Patches werden eingefügt, die dem System mitteilen, daß es DATA-formatierte Diskettenspuren akzeptieren v soll und daß die Directory sich auf Spur 0 befindet (DATA-Format) anstatt auf Spur 2 (System-Format).
  4. Eine Startroutine, die es erlaubt, Sprünge direkt nach . ROM 7 durchzuführen, wird am Anfang des ROM-Teils hinzugefügt.
  5. Die aus ROM 7 gelesene Routine wird gepatcht.
  6. Das Ganze wird nach Adresse Hex 100 verschoben. Dies ist notwendig, damit beim Laden des EMS-Files kein Überschreiben stattfindet.
  7. Der Rest ist dann nur noch Routine. Ein File CPM.BIN wird auf eine DATA-Diskette geschrieben. Dieses enthält alle nötigen Informationen, um CP/M Plus von einer DATA-formatierten Diskette zu starten. Natürlich muß auch das C10CPM3.EMS-File auf ihr vorhanden sein.

CPMLADER nicht länger nötig

Dieses Programm ist sowohl in Basic-DATA-Zeilen vorhanden als auch in Assembler-Quelltext. Man braucht es lediglich, um CPM.BIN zu erzeugen, und nur dieses Programm muß auf der CP/M-Plus-Diskette stehen. Da es nur 1 KByte belegt, werden 8 KByte auf der Diskette gewonnen. Hier ist aber noch einmal Vorsicht geboten/Speichern Sie bitte das Programm CPMLADER hach dem Eintippen und vor einem Aufruf unbedingt ab! Es wird nämlich zerstört, da CPM.BIN es teilweise überschreibt. Um CP/M Plus wieder zu starten, geben sie also zukünftig nur RUN”CPM ein. Danach stehen Ihnen 8 KByte mehr zur Verfügung.

Sören Dahi , CPC Magazin

★ PUBLISHER: CPC Magazin
★ YEAR: 1987
★ CONFIG: 64K + CPM 2.2
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC MAGAZIN 1987
★ AUTHOR: Sören Dahi
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» CPM  Lader  v2.1    (CPC  Magazin)    LISTING    GERMANDATE: 2021-02-02
DL: 220
TYPE: PDF
SiZE: 264Ko
NOTE: 3 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Initiation a CP/M - Amstrad Magazine 05
» Applications » Format 1.1 (CPC Magazin)
» Applications » GigaCAD Grafikkonvertierung unter CP/M (CPC Amstrad International)
» Applications » ACE (Advantage CP/M Editor)
» Applications » Introduction à G.S.X : Etude des différents codes (CPC Revue n°34)
» Applications » Les Utilitaires de CP/M (Microstrad)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 188 millisecondes et consultée 1037 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.