★ APPLICATIONS ★ DIVERS ★ 8 KByte gewonnen|CPC Magazin) ★ |
CP/M Lader v2 (CPC Magazin) | Applications Divers |
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:
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
|