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**: | ||