Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| cpm:cpa [2011/04/07 14:36] – volkerp | cpm:cpa [2024/03/05 10:24] (aktuell) – [Downloads] volkerp | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== CP/A ====== | ====== CP/A ====== | ||
| - | CP/A ist eine CP/ | + | CP/A ist ein CP/M-2.2-kompatibles Betriebssystem der **Akademie der Wissenschaften der DDR**, der Hauptentwickler war **Hans Willy Dames**. |
| + | |||
| + | CP/A setzt einen Z80-Prozessor voraus. Die Bestandteile CCP, BDOS und BIOS sind in sich abgeschlossene Programmteile und unabhängig voneinander. Sie können einzeln oder gemeinsam gegen die entsprechenden Programmteile des originalen CP/M 2.2 ausgetauscht werden. Alle CP/ | ||
| + | |||
| + | Vorteile des CP/A gegenüber CP/M 2.2. sind erweiterte Funktionalitäten. Diese sind in einem ständig erweiterten Handbuch CPA.DOK nachzulesen. Herausragend sind | ||
| + | |||
| + | * Urladen des Systems aus einer Datei @OS.COM. Das System musste nicht in speziellen Systemspuren gespeichert werden. | ||
| + | * automatische Erkennung von Diskettenformaten | ||
| + | * eingebauter Systemmonitor | ||
| + | |||
| + | Das CP/A wurde für Bürocomputer A5120, A5130 und den PC1715 ausgeliefert. Es gab BIOS-Quelltexte und REL-Dateien von CCP und BDOS, mit denen individuelle Systeme generiert werden konnten. | ||
| + | |||
| + | |||
| + | s.a. http:// | ||
| + | |||
| + | |||
| + | ===== Downloads ===== | ||
| + | |||
| + | * {{: | ||
| + | * {{: | ||
| + | |||
| + | |||
| + | ===== Versionen ===== | ||
| + | |||
| + | * cpa biop 861106.zip | ||
| + | * cpa biop 861125.zip | ||
| + | * cpa biop 890103.zip | ||
| + | * cpa bios 880531.zip | ||
| + | * cpa bios 880531.zip 2. Variante | ||
| + | * cpa bios 890925.zip | ||
| + | * Verschiedene Beschreibungen | ||
| ===== CCP ===== | ===== CCP ===== | ||
| - | FIXME | + | Das CCP von CP/A ist ziemlich sicher ursprünglich aus einem reassemblierten CP/ |
| + | |||
| + | 2014: Ich habe das CCP, welche im CP/A für den PC1715 und dem des Z9001 enthalten sind, reassembliert und mit den Originalmarkennamen und -kommentaren des originalen CP/M-2.2 CCP von Digital Research versehen. Ein Textvergleich aller Varianten offenbart die Unterschiede. | ||
| + | |||
| + | Die Version für den Z9001 und PC1715 (neuer?) unterscheiden sich in ein paar Punkten: | ||
| + | |||
| + | * der Z9001 benutzt eine andere Adresse für die User-und Laufwerks-Speicheradresse | ||
| + | * die Copyrightmeldung ist geändert | ||
| + | * das DIR-Kommando zeigt die Dateien in 2 statt 4 Spalten an | ||
| + | * Meldungstexte liegen am Ende des CCP | ||
| + | * der Buffer fürs CLK-Kommando liegt an einer anderen Adresse, außerdem werden nur 3 Byte genutzt | ||
| + | * kleine Unterschiede in der Implementierung, | ||
| + | |||
| + | **Besonderheiten des CCP** | ||
| + | |||
| + | Das CCP enthält gegenüber der Version CP/M 2.2 einige Erweiterungen | ||
| + | gleichem Hauptspeicherbedarf von 800h Bytes). Sie betreffen vor allem die | ||
| + | Arbeit mit verschiedenen | ||
| + | sinnvoll erweisen kann. | ||
| + | |||
| + | Bei einem eingestellten Nutzerbereich größer als 0 lautet die Prompt-Meldung | ||
| + | du> statt nur d> (d für Default-Laufwerk, | ||
| + | Hierdurch hat der Anwender | ||
| + | Nutzerbereiche einen leichteren Überblick, | ||
| + | bewegt. | ||
| + | |||
| + | Kommandofiles | ||
| + | auf der Systemdiskette (im Kaltstart-LW) | ||
| + | nachgeladene Files!). | ||
| + | |||
| + | Weiterhin existieren zusätzliche residente Kommandos: | ||
| + | |||
| + | **CLK** hh:mm:ss tt.mm.jj | ||
| + | |||
| + | Durch dieses | ||
| + | BCD-Form vom Kaltstart bzw. von ACCOUNT hinterlegt) neu gestellt | ||
| + | |||
| + | **GO** < | ||
| + | |||
| + | Das letzte | ||
| + | können wie beim Direktaufruf angegeben werden, | ||
| + | das Programm | ||
| + | Hauptspeicher gebracht worden sein), | ||
| + | |||
| + | **EXT** [d: | ||
| + | |||
| + | Das angegeben | ||
| + | es vor BDOS, CCP und vor evtl. schon residenten zusätzlichen Kommandos | ||
| + | Hauptspeicher abgelegt wird, um bei Aufruf statt von Diskette von dort nach 100h | ||
| + | geladen zu werden. Hierdurch | ||
| + | |||
| + | Da residente | ||
| + | auch auf < | ||
| + | |||
| + | **RES** | ||
| + | |||
| + | Streichen aller zusätzlich residenten Kommandos | ||
| + | |||
| + | **HELP** | ||
| + | |||
| + | Ausgabe einer Liste aller z.Zt. residenten Kommandos | ||
| + | |||
| + | Bei jedem Warmstart prüft das BIOS, ob das über das CCP definierte | ||
| + | Standard-Laufwerk im System definiert ist. Im negativen | ||
| + | Tippfehler) wird auf das Kaltstart-Laufwerk umgeschaltet, | ||
| + | bleibt erhalten. | ||
| ===== BDOS ===== | ===== BDOS ===== | ||
| - | Vom BDOS lag mir leider kein Quelltext vor. Ich habe deshalb das BDOS, was im CP/A für den Z9001 enthalten | + | Vom BDOS lag mir leider kein Quelltext vor. Ich habe deshalb das BDOS, welche |
| * Das CP/A-BDOS wurde im Prinzip komplett und fast 1:1 aus dem DR-BDOS abgekupfert | * Das CP/A-BDOS wurde im Prinzip komplett und fast 1:1 aus dem DR-BDOS abgekupfert | ||
| Zeile 20: | Zeile 115: | ||
| * READ beachtet zusätzlich 13H (Ctrl-S) | * READ beachtet zusätzlich 13H (Ctrl-S) | ||
| - | ===== Versionen ===== | + | Die Version vom PC1715, datiert 11.1.89, enthält eine kürzere Meldung bei "bad sector", |
| - | | + | 2014/08: Aus den Quelltexten des BIC A5105 geht hervor, dass W. Dames das originale BDOS reassembliert und hat. Das dort verwendete BDOS stammt direkt vom BDOS des CP/A ab ("// |
| - | | + | |
| - | | + | **Besonderheiten des BDOS** |
| - | | + | |
| - | | + | CP/A unterscheidet sich durch folgende inhaltlichen |
| - | | + | im BDOS vom Betriebssystem |
| - | | + | Hauptspeicherbedarf von E00h Bytes): |
| + | |||
| + | - Beschleunigung der Arbeit mit Nicht-Default-Laufwerken. | ||
| + | anderes als das Default-Laufwerk | ||
| + | ausgewählt, | ||
| + | Verlassen | ||
| + | vermerkt. | ||
| + | Dadurch | ||
| + | vermieden, | ||
| + | der Arbeit | ||
| + | |||
| + | - Wegfall der ^S-Funktion. | ||
| + | |||
| + | Das Stoppen | ||
| + | Funktion im BIOS (s.5.1.3) erreicht werden. Verbunden | ||
| + | Funktion konnte | ||
| + | verzichtet werden, | ||
| + | BDOS und direkter BIOS-Tastatureingabe gewechselt wird. | ||
| + | |||
| + | - ^S und DEL wirken bei der Stringeingabe über das BDOS wie ^H. | ||
| + | |||
| + | - Um eine Arbeit ohne LW A (weil es gerade defekt ist und die Laufwerke nicht | ||
| + | umgesteckt werden können) zu erlauben, wird statt Laufwerk A: dasjenige | ||
| + | Laufwerk, von dem aus der Kaltstart | ||
| + | selektiert. | ||
| + | SUBMIT-Strömen | ||
| + | Kaltstart-Laufwerk als Standardlaufwerk | ||
| + | Kommandostrom dort abgelegt wird! | ||
| + | Erfolgte | ||
| + | Auswirkungen. | ||
| + | |||
| + | - IX und IY werden durch das BDOS (und daraus | ||
| + | nicht zerstört. | ||
| + | |||
| + | - Es wurde ein Kopierschutz | ||
| + | führt zu der Fehlermeldung | ||
| + | Dateien). | ||
| + | |||
| + | < | ||
| + | ; - Kopierschutz durch Kommando: | ||
| + | ; POWER SET [-X] | ||
| + | ; alle zu schuetzenden Files auswaehlen. | ||
| + | ; Vor " | ||
| + | ; Beim Kopier-Versuch erfolgt die Ausschrift 'File R/O' | ||
| + | ; und Abbruch. Geschuetzte Files sind anderweitig nicht er- | ||
| + | ; kennbar, insbesondere liefern DIR und DIR in POWER keinen | ||
| + | ; Hinweis. | ||
| + | ; Die Kopierfunktion im FORMAT[P]-Programm wird im Menuetext | ||
| + | ; und als Menueantwort nur bei der Aufrufform ' | ||
| + | ; zugelassen, im normalen Aufruf ' | ||
| + | ; schem Parameter ist sie verboten. | ||
| + | ; Diese Schutzfunktionen sollten nur vom Systemverantwortlichen | ||
| + | ; genutzt werden und auch nur diesem bekannt sein! | ||
| + | </ | ||
| + | |||
| + | aus den BIC-Quellen: | ||
| + | < | ||
| + | ;; modifizierungen gegenueber original cp/m 2.2: (Original Dames) | ||
| + | ; - um eine arbeit ohne lw a zu erlauben, wird das erste | ||
| + | ; default-lw nach kaltstart als $$$.sub-lw bei disk-reset | ||
| + | ; benutzt. dem anwenderprogramm wird dazu nach disk-reset | ||
| + | ; in h die kaltstart-lw-nr (a=0, b=1,..) und in l und a | ||
| + | ; ff bei vorhandener $-datei, 00 sonst uebergeben. | ||
| + | ; - um fuer pc1715 im directory " | ||
| + | ; tionen unterzubringen, | ||
| + | ; traege bei login nicht nur an USER=e5h, sondern auch | ||
| + | ; an filename[1] =00h oder >=f0h erkannt. | ||
| + | ; - einfuehrung eines kopierschutzes: | ||
| + | ; eine $$$-datei kann nicht in eine datei mit gesetztem | ||
| + | ; bit 7 im 3. typ-byte umbenannt werden (file r/o -meldung) | ||
| + | ; die $$$-eintragung im directory wird unkenntlich gemacht. | ||
| + | ; - ix und iy werden vom BDOS gerettet und wiederhergestellt | ||
| + | ; - einsparung von bytes durch einfuehrung von jr-spruengen | ||
| + | ; und streichen von steuerzeichen fuer nicht-bildschirm- | ||
| + | ; konsolen. | ||
| + | ; - beschleunigung der arbeit mit fcb(0)=0 indem nicht sofort | ||
| + | ; wieder auf current-laufwerk zurueckgeschaltet wird | ||
| + | ; - das puffern von zeichen im BDOS entfaellt zusammen mit der | ||
| + | ; ^s-funktion (nur dafuer noetig), da im BIOS ein allgemei- | ||
| + | ; nes stop des rechners implementiert ist (ci-taste). | ||
| + | ; - ^s wirkt wie ^h (falls ^h-taste zu ^s umdefiniert wurde) | ||
| + | ; - verlegung des sprungverteilers fuer die BDOS-funktionen | ||
| + | ; nach vorn, damit speicherschutz von BDOS+40h moeglich ist. | ||
| + | ; - fehlerkorrektur bei selektivem lw-reset (fkt. 25h), funktionierte | ||
| + | ; nur bei zwischenzeitlichem lw-wechsel | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Kompilieren ===== | ||
| + | |||
| + | s. CPA.DOK | ||
| + | |||
| + | a) fuer Buerocomputer | ||
| + | (( Modifikation des BIOS-Quelltextes BIOS.MAC)) | ||
| + | t: | ||
| + | s:M80 s: | ||
| + | s: | ||
| + | | ||
| + | | ||
| + | |||
| + | b) fuer PC1715 | ||
| + | (( Modifikation des BIOS-Quelltextes BIOP.MAC)) | ||
| + | t: | ||
| + | s:M80 s: | ||
| + | s: | ||
| + | | ||
| + | | ||
| + | |||
| + | handschriftlich vom einem Listing PC1715 BIOP 02.11.87: | ||
| + | |||
| + | < | ||
| + | m80 =biop/x/c | ||
| + | ref lst:=biop ( statt lst auch datei PRN ) | ||
| + | linkmt @os=ccpbas, | ||
| + | </ | ||
| - | ===== Downloads ===== | ||
| - | * {{: | ||
| - | * {{: | ||