Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
cpm:rsm:ct [2011/10/19 15:23] – angelegt volkerpcpm:rsm:ct [2016/10/09 16:26] (aktuell) – [Es friert] alexhuck
Zeile 1: Zeile 1:
-**Fetter Text**====== RSM ======+====== RSM für CP/M 2.2 ======
  
 In der c't 1/87 und 2/87 gab es interessante Artikel über resident system module für CP/M 2.2, vergleichbar mit den RSX für CP/M 3. Es handelt sich hier um nachladbare kleine Programme, die etwa BDOS oder BIOS erweitern, wie zusätzliche Gerätetreiber o.ä.  In der c't 1/87 und 2/87 gab es interessante Artikel über resident system module für CP/M 2.2, vergleichbar mit den RSX für CP/M 3. Es handelt sich hier um nachladbare kleine Programme, die etwa BDOS oder BIOS erweitern, wie zusätzliche Gerätetreiber o.ä. 
Zeile 7: Zeile 7:
 Teil 1 c't 1987, Heft 1, S. 124-135; Teil 2 c't 1987, Heft 2, S. 78-85// Teil 1 c't 1987, Heft 1, S. 124-135; Teil 2 c't 1987, Heft 2, S. 78-85//
  
-Hier kommt das PRL-Format (http://www.seasip.demon.co.uk/Cpm/prl.html) zum Einsatz.+Hier kommt das PRL-Format (http://www.seasip.info/Cpm/prl.html) zum Einsatz.
  
 Beide Autoren und auch die c't haben der Veröffentlichung der Artikel im Internet zugestimmt.  Beide Autoren und auch die c't haben der Veröffentlichung der Artikel im Internet zugestimmt. 
  
-**Teil 1 c't 1987, Heft 1, S. 124-135**+===== Downloads ===== 
 + 
 +  rsm.mac, rsm.com: Das RSM-Tool 
 +  bdosinfo.mac, bdosinfo.rsm: protokolliert BDOS-Aufrufe 
 +  * daisy.mac, daisy.rsm: Druckertreiber für Daisy Wheel II 
 +  * edlin.mac, edlin.rsm: komfortabler Kommandozeileneditor 
 +  * freeze.mac, freeze.rsm: System einfrieren 
 +  * unfreeze.mac, unfreeze.com: Einfrieren aufheben 
 +  * genrsm.bas: Hilfsprogramm, falls man keinen M80 hat 
 +  * rsm: Texte/Infoboxen aus dem c't-Artikel 
 + 
 +{{:cpm:rsm:rsm.zip|}} 
 + 
 +===== Teil 1 ===== 
 + 
 +** c't 1987, Heft 1, S. 124-135**
  
 Bestimmt haben Sie bei der Arbeit mit CP/M 2 schon häufiger die eine oder andere  Bestimmt haben Sie bei der Arbeit mit CP/M 2 schon häufiger die eine oder andere 
Zeile 41: Zeile 56:
  
      
-===== Pflichten =====+==== Pflichten ====
  
 Diese Mängel schränken die Einsatzmöglichkeiten herkömmlicher CP/M- Diese Mängel schränken die Einsatzmöglichkeiten herkömmlicher CP/M-
Zeile 74: Zeile 89:
 und Compiler benutzt werden können.  und Compiler benutzt werden können. 
  
-===== Grundsätze =====+==== Grundsätze ====
  
 Zum besseren Verständnis, wie sich ohne Änderung der Systemteile CCP, BDOS und  Zum besseren Verständnis, wie sich ohne Änderung der Systemteile CCP, BDOS und 
Zeile 137: Zeile 152:
  
    
-===== Feinheiten ===== +==== Feinheiten ==== 
  
  
Zeile 176: Zeile 191:
  
  
-===== Format ===== +==== Format ==== 
  
 Aus den Punkten 2 und 3 des Pflichtenheftes folgt, daß der Speicherbereich für  Aus den Punkten 2 und 3 des Pflichtenheftes folgt, daß der Speicherbereich für 
Zeile 240: Zeile 255:
 Funktion 5) auf den Punch-Kanal um (BDOS-Funktion 4). Funktion 5) auf den Punch-Kanal um (BDOS-Funktion 4).
  
---> **rsm**: Drei Beispiele, wie man mit verschiedenen Assemblern und Linkern eine RSM-Datei im PRL-Format erzeugt.+<code> 
 +Assemblieren mit M80 + LINK80 
 + 
 +A>m80 =modul/z 
 +A>link modul.rsm=modul [op 
 +A>rsm modul 
 +</code> 
 + 
 +-> **rsm**: Drei Beispiele, wie man mit verschiedenen Assemblern und Linkern eine RSM-Datei im PRL-Format erzeugt.
  
---> **genrsm.bas**: Dieses MBASIC-Programm erzeugt PRL-Dateien, wenn der LINK80 nicht zur Verfügung steht. +-> **genrsm.bas**: Dieses MBASIC-Programm erzeugt PRL-Dateien, wenn der LINK80 nicht zur Verfügung steht. 
  
 <code> <code>
Zeile 261: Zeile 284:
  
  
-===== Laden =====+==== Laden ====
  
 Und wie kommen die im PRL-Format vorliegenden RSMs nun an ihren Platz? Da der  Und wie kommen die im PRL-Format vorliegenden RSMs nun an ihren Platz? Da der 
Zeile 325: Zeile 348:
  
  
-===== Es friert =====+==== Es friert ====
  
 Wie gesagt bleibt RSMs ohne besondere Vorkehrungen nur bis zum nächsten  Wie gesagt bleibt RSMs ohne besondere Vorkehrungen nur bis zum nächsten 
Zeile 338: Zeile 361:
 Warmstart-Routine bei Adresse bios + 3 auf eine eigene Routine umlenkt. Diese  Warmstart-Routine bei Adresse bios + 3 auf eine eigene Routine umlenkt. Diese 
 errichtet einen lokalen Stack, initialisiert den BDOS-Sprungvektor auf den  errichtet einen lokalen Stack, initialisiert den BDOS-Sprungvektor auf den 
-Anfang von FREEZE, setzt das Diskettensystem zurück (BDOS-Funk tion 13) und  +Anfang von FREEZE, setzt das Diskettensystem zurück (BDOS-Funktion 13) und  
-verzweigt zum zweiten Einsprang in den CCP (Adresse ccp + 3, CCP-Aufruf mit +verzweigt zum zweiten Einsprung in den CCP (Adresse ccp + 3, CCP-Aufruf mit 
 Löschen des Eingabepuffers). Löschen des Eingabepuffers).
  
---> **freeze.mac**: Damit man RSMs nicht nach jedem Warmstart neu laden muß, können sie mit diesem Spezial-RSM 'eingefroren' werden.+-> **freeze.mac**: Damit man RSMs nicht nach jedem Warmstart neu laden muß, können sie mit diesem Spezial-RSM 'eingefroren' werden.
  
 Nach dem Aktivieren von FREEZE sind alle vorher geladenen RSMs warmstartsicher  Nach dem Aktivieren von FREEZE sind alle vorher geladenen RSMs warmstartsicher 
Zeile 371: Zeile 394:
 (anstelle des JP 0). Selbst wenn kein FREEZE-Modul im Speicher steht, sind  (anstelle des JP 0). Selbst wenn kein FREEZE-Modul im Speicher steht, sind 
 Probleme wegen der Funktionsnummer nicht zu befürchten, weil das BDOS bei  Probleme wegen der Funktionsnummer nicht zu befürchten, weil das BDOS bei 
-unbekannten Funktionen so fort 'returnt'. Alternativ ist das folgende +unbekannten Funktionen sofort 'returnt'. Alternativ ist das folgende 
 Minimalprogramm geeignet. Minimalprogramm geeignet.
  
  
-===== Fortzusetzen =====+==== Fortzusetzen ====
  
 Mit den hier vorgestellten Programmen ist das Handwerkszeug zum Erstellen und  Mit den hier vorgestellten Programmen ist das Handwerkszeug zum Erstellen und 
Zeile 403: Zeile 426:
  
  
---> **rsm.mac**: Das Ladeprogramm für die RSMs ist in zwei Versionen abgedruckt: Als Assembler-Quelltext für diejenigen, die alles genau wissen wollen, ...\\+-> **rsm.mac**: Das Ladeprogramm für die RSMs ist in zwei Versionen abgedruckt: Als Assembler-Quelltext für diejenigen, die alles genau wissen wollen, ...\\
 ... und als Hexdump für diejenigen, die es schnell und ohne viel Aufwand zum Laufen bringen wollen. ... und als Hexdump für diejenigen, die es schnell und ohne viel Aufwand zum Laufen bringen wollen.
  
  
-------------------------------------------------------------------------------+===== Teil 2 =====
  
-**Teil 2 c't 1987, Heft 1, S. 78-85**+**c't 1987, Heft 1, S. 78-85**
  
 Nachdem Sie vielleicht schon die ersten Erfahrungen mit RSMs und ihrer  Nachdem Sie vielleicht schon die ersten Erfahrungen mit RSMs und ihrer 
Zeile 445: Zeile 468:
  
  
-===== Mehr BIOS =====+==== Mehr BIOS ====
  
 BIOS-Änderungen per RSM stehen eigentlich im Widerspruch zu Punkt 1 des  BIOS-Änderungen per RSM stehen eigentlich im Widerspruch zu Punkt 1 des 
Zeile 476: Zeile 499:
  
  
-===== Eingabekomfort =====+==== Eingabekomfort ====
  
 Kommen wir nun zu den beiden RSM-Anwendungen. Die erste, EDLIN, ist ein  Kommen wir nun zu den beiden RSM-Anwendungen. Die erste, EDLIN, ist ein 
Zeile 508: Zeile 531:
 | Ctrl-M (Return) | Eingabe beenden                     | | Ctrl-M (Return) | Eingabe beenden                     |
  
-Das abgedruckte Programm er setzt übrigens nicht nur die BDOS-Funktion 10,  +Das abgedruckte Programm ersetzt übrigens nicht nur die BDOS-Funktion 10,  
-sondern auch die Funktionen (Console Input), 2 (Console Output) und 1 1 (Get +sondern auch die Funktionen (Console Input), 2 (Console Output) und 11 (Get 
 Console Status). Diese werden jedoch nicht wie die Funktion 'Read Console  Console Status). Diese werden jedoch nicht wie die Funktion 'Read Console 
 Buffer' erweitert, sondern eher im Gegenteil: Anders als die Original-Funktionen  Buffer' erweitert, sondern eher im Gegenteil: Anders als die Original-Funktionen 
Zeile 520: Zeile 543:
  
  
-===== Das BDOS informiert =====+==== Das BDOS informiert ====
  
 BDOSINFO ist ein Hilfsprogramm, das alle BDOS-Aufrufe mit Ausnahme der Zeichen- BDOSINFO ist ein Hilfsprogramm, das alle BDOS-Aufrufe mit Ausnahme der Zeichen-
Zeile 537: Zeile 560:
  
  
-===== Viel zu tun =====+==== Viel zu tun ====
  
 Die Möglichkeiten, das CP/M-2-System durch RSMs 'aufzubohren', sind fast nur  Die Möglichkeiten, das CP/M-2-System durch RSMs 'aufzubohren', sind fast nur 
Zeile 575: Zeile 598:
 Wir danken Herrn Rainer Wagner für die freundliche Unterstützung unserer Arbeit. Wir danken Herrn Rainer Wagner für die freundliche Unterstützung unserer Arbeit.
  
---> **edlin.mac**: Etwas länger, aber weit leistungsfähiger als die Original-Read-Buffer-BDOS-Routine: der Zeileneditor EDLIN. +-> **edlin.mac**: Etwas länger, aber weit leistungsfähiger als die Original-Read-Buffer-BDOS-Routine: der Zeileneditor EDLIN.
- +
---> **bdosinfo.mac**: Außer zu den sogenannten Charakter-IO-Funktionen hat BDOSINFO zu jeder von einem Anwenderprogramm aufgerufenen BDOS-Funktion etwas zu sagen"+
- +
-====== Download ====== +
  
 +-> **bdosinfo.mac**: Außer zu den sogenannten Charakter-IO-Funktionen hat BDOSINFO zu jeder von einem Anwenderprogramm aufgerufenen BDOS-Funktion etwas zu sagen".
  
  • cpm/rsm/ct.1319037824.txt.gz
  • Zuletzt geändert: 2011/10/19 15:23
  • von volkerp