Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cpm:rsm:ct [2011/10/19 15:23] – angelegt volkerp | cpm: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:// | + | Hier kommt das PRL-Format (http:// |
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 ===== |
+ | |||
+ | | ||
+ | | ||
+ | * daisy.mac, daisy.rsm: Druckertreiber für Daisy Wheel II | ||
+ | * edlin.mac, edlin.rsm: komfortabler Kommandozeileneditor | ||
+ | * freeze.mac, freeze.rsm: System einfrieren | ||
+ | * unfreeze.mac, | ||
+ | * genrsm.bas: Hilfsprogramm, | ||
+ | * rsm: Texte/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== 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, | Zum besseren Verständnis, | ||
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. | + | < |
+ | Assemblieren mit M80 + LINK80 | ||
+ | |||
+ | A>m80 =modul/z | ||
+ | A>link modul.rsm=modul [op | ||
+ | A>rsm modul | ||
+ | </ | ||
+ | |||
+ | -> **rsm**: Drei Beispiele, wie man mit verschiedenen Assemblern und Linkern eine RSM-Datei im PRL-Format erzeugt. | ||
- | --> **genrsm.bas**: | + | -> **genrsm.bas**: |
< | < | ||
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 |
- | verzweigt zum zweiten | + | verzweigt zum zweiten |
Löschen des Eingabepuffers). | Löschen des Eingabepuffers). | ||
- | --> **freeze.mac**: | + | -> **freeze.mac**: |
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, | Probleme wegen der Funktionsnummer nicht zu befürchten, | ||
- | unbekannten Funktionen | + | unbekannten Funktionen |
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**: | + | -> **rsm.mac**: |
... 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 | + | Das abgedruckte Programm |
- | sondern auch die Funktionen | + | sondern auch die Funktionen |
Console Status). Diese werden jedoch nicht wie die Funktion 'Read Console | Console Status). Diese werden jedoch nicht wie die Funktion 'Read Console | ||
Buffer' | Buffer' | ||
Zeile 520: | Zeile 543: | ||
- | ===== Das BDOS informiert | + | ==== Das BDOS informiert ==== |
BDOSINFO ist ein Hilfsprogramm, | BDOSINFO ist ein Hilfsprogramm, | ||
Zeile 537: | Zeile 560: | ||
- | ===== Viel zu tun ===== | + | ==== Viel zu tun ==== |
Die Möglichkeiten, | Die Möglichkeiten, | ||
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**: | + | -> **edlin.mac**: |
- | + | ||
- | --> **bdosinfo.mac**: | + | |
- | + | ||
- | ====== Download ====== | + | |
+ | -> **bdosinfo.mac**: | ||