Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
cpm:cpa [2014/12/15 16:28] – [BDOS] volkerpcpm:cpa [2024/03/05 10:24] (aktuell) – [Downloads] volkerp
Zeile 1: Zeile 1:
 ====== CP/A ====== ====== CP/A ======
  
-CP/A ist eine CP/M-2.2-kompatibles Betriebssystem der Akademie der Wissenschaften der DDR, der Hauptentwickler war  Hans Willy Dames.+CP/A ist ein CP/M-2.2-kompatibles Betriebssystem der **Akademie der Wissenschaften der DDR**, der Hauptentwickler war  **Hans Willy Dames**.
  
-Es 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/M-Programme laufen weiter unverändert.+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/M-Programme laufen weiter unverändert.
  
 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 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
Zeile 13: Zeile 13:
 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. 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://www.robotrontechnik.de/html/software/scp.htm#cpa
 +
 +
 +===== Downloads =====
 +
 +  * {{:cpm:cpa_src.zip|}} Assembler-Quellcode von CCP und BDOS, 3 Versionen, incl. Quellen von CP/M 2.2 zum direkten Vergleichen
 +  * {{:cpm:cpa.zip|}} komplettes CPA-Archiv aller mir bekannten Versionen (s.u.)
 +
 +
 +===== 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 =====
Zeile 27: Zeile 46:
   * Meldungstexte liegen am Ende des CCP   * Meldungstexte liegen am Ende des CCP
   * der Buffer fürs CLK-Kommando liegt an einer anderen Adresse, außerdem werden nur 3 Byte genutzt   * der Buffer fürs CLK-Kommando liegt an einer anderen Adresse, außerdem werden nur 3 Byte genutzt
-  * kleine Unterschiede in der Implementierung, besondes bei den CP/A-spezifischen Kommandos EXT, SWAP, CLK+  * kleine Unterschiede in der Implementierung, besonders bei den CP/A-spezifischen Kommandos EXT, SWAP, CLK
  
 +**Besonderheiten des CCP**
 +               
 +Das CCP enthält gegenüber der Version CP/M 2.2 einige Erweiterungen  (bei
 +gleichem Hauptspeicherbedarf von  800h  Bytes). Sie  betreffen vor allem die
 +Arbeit mit verschiedenen  Nutzerbereichen, wie sie sich bei 800k-Disketten als
 +sinnvoll erweisen kann.
 +               
 +Bei  einem eingestellten Nutzerbereich größer als  0  lautet die Prompt-Meldung
 +du> statt nur d> (d für Default-Laufwerk, u für  dezimale Nutzernummer).
 +Hierdurch hat der Anwender  bei der  Aufteilung einer Diskette in mehrere
 +Nutzerbereiche einen leichteren Überblick,  in welchem Bereich er sich  z.Zt.
 +bewegt.
 +               
 +Kommandofiles  werden  bei USER>0 auch unter USER 0  und  wenn dort erfolglos
 +auf der Systemdiskette (im Kaltstart-LW)  unter USER 0 gesucht (gilt nicht für
 +nachgeladene Files!).
 +               
 +Weiterhin existieren zusätzliche residente Kommandos:
 +               
 +**CLK** hh:mm:ss tt.mm.jj
 +
 +Durch  dieses  Kommando  können Uhrzeit  und  Datum (beide Angaben ab 50h in
 +BCD-Form vom Kaltstart bzw. von  ACCOUNT hinterlegt) neu gestellt  werden.
 +                         
 +**GO** <beliebige Parameter>
 +                         
 +Das  letzte  geladene Programm wird   ohne  Neuladen aktiviert,  Parameter
 +können wie beim  Direktaufruf angegeben werden,  Nutzerbereich beliebig (d.h.
 +das Programm  kann  zuvor über einen anderen  Nutzerbereich in den
 +Hauptspeicher gebracht worden sein),
 +                 
 +**EXT** [d:]<filename>
 +                         
 +Das  angegeben  COM-File  wird zu  einem  residenten Kommando erklärt,  indem
 +es vor BDOS,  CCP und  vor evtl.  schon  residenten zusätzlichen Kommandos  im
 +Hauptspeicher abgelegt wird, um bei Aufruf statt von Diskette von dort nach 100h
 +geladen zu werden. Hierdurch  verringert sich jedoch der TPA  entsprechend.
 +
 +Da  residente  Kommandos nur maximal 4 Zeichen  lang sein dürfen, trifft dies
 +auch auf <filename> zu.
 +               
 +**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  Fall (z.B.
 +Tippfehler) wird auf das Kaltstart-Laufwerk umgeschaltet, der Nutzerbereich
 +bleibt erhalten.
  
 ===== BDOS ===== ===== BDOS =====
Zeile 46: Zeile 118:
  
 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 ("//modifizierungen gegenueber original cp/m 2.2: (Original Dames//") Viele Marken heißen auch noch "i<hexadr>" 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 ("//modifizierungen gegenueber original cp/m 2.2: (Original Dames//") Viele Marken heißen auch noch "i<hexadr>"
-===== Versionen ===== 
  
-  cpa biop 861106.zip +**Besonderheiten des BDOS*
-  cpa biop 861125.zip +                
-  cpa biop 890103.zip +CP/A unterscheidet sich durch folgende inhaltlichen  Veränderungen 
-  * cpa bios 880531.zip +im  BDOS vom Betriebssystem  CP/M,  Version  2.2  (bei  gleichem 
-  * cpa bios 880531.zip 2. Variante +Hauptspeicherbedarf von E00h Bytes): 
-  * cpa bios 890925.zip +                
-  * Verschiedene Beschreibungen+- Beschleunigung der Arbeit mit Nicht-Default-Laufwerken Ist im    FCB  ein 
 +anderes als das  Default-Laufwerk  angegeben (FCB[0]<>0) und dies ist nicht 
 +ausgewählt, so wird vom BDOS auf  dieses umgeschaltet (SELDSK) und beim 
 +Verlassen  nicht zurückgeschaltet,  sondern  nur eine hängende  Umschaltung 
 +vermerkt
 +Dadurch  wird eine ständige Übernahme  der  Disk-Parameter durch  das BDOS 
 +vermieden,  so dass auch in diesem Fall  die gleiche  Geschwindigkeit  wie  bei 
 +der Arbeit  mit  Default- Disketten erreicht wird. 
 +                
 +- Wegfall der ^S-Funktion.
  
-===== Downloads =====+Das  Stoppen  von Konsolausgaben kann  als  Spezialfall  der allgemeinen Stop- 
 +Funktion im BIOS (s.5.1.3) erreicht werden. Verbunden  mit  dem Wegfall der ^S- 
 +Funktion konnte  auf  die Pufferung von Konsoleingaben im BDOS völlig 
 +verzichtet werden,  d.h. es werden keine Zeichen vertauscht, wenn zwischen 
 +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  erfolgte  bei der BDOS-Funktion "Disk-Reset" 
 +selektiert.  Da mit dieser BDOS-Funktion auch die Abarbeitung von 
 +SUBMIT-Strömen  verbunden ist,  muss daher beim Aufruf  von SUBMIT das 
 +Kaltstart-Laufwerk als Standardlaufwerk  zugewiesen sein, damit der 
 +Kommandostrom dort abgelegt wird! 
 +Erfolgte  der Kaltstart von Laufwerk A,  so hat diese  BDOS-Änderung keine 
 +Auswirkungen. 
 +                
 +- IX  und  IY werden durch das BDOS (und daraus  resultierende BIOS-Aufrufe) 
 +nicht zerstört. 
 +                
 +- Es  wurde  ein Kopierschutz  integriert,  das  Kopieren  geschützter Dateien 
 +führt zu der Fehlermeldung  'File R/O' (unabhängig vom evtl.  R/O-Status der 
 +Dateien).  Wie dieser Schutz funktioniert, wird hier <del>nicht</del> verraten. 
 + 
 +<code> 
 +; - Kopierschutz durch Kommando: 
 +;     POWER SET [-X] 
 +;     alle zu schuetzenden Files auswaehlen. 
 +;     Vor "[" kann ein Laufwerk, z.B. "B:[-X]" angegeben werden. 
 +; 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 'FORMATP CPA' 
 +; zugelassen, im normalen Aufruf 'FORMATP' ohne oder mit fal- 
 +; schem Parameter ist sie verboten. 
 +; Diese Schutzfunktionen sollten nur vom Systemverantwortlichen 
 +; genutzt werden und auch nur diesem bekannt sein! 
 +</code> 
 + 
 +aus den BIC-Quellen: 
 +<code> 
 +;; 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 "sauber" die loader-informa- 
 +;    tionen unterzubringen, werden zu uebergehende dir-ein- 
 +;    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  
 +</code>
  
-  * {{:cpm:cpa_src.zip|}} Assembler-Quellcode von CCP und BDOS, 2 Versionen, incl. Quellen von CP/M 2.2 zum direkten Vergleichen 
-  * {{:cpm:cpa.zip|}} komplettes CPA-Archiv aller obiger Versionen 
  
 ===== Kompilieren ===== ===== Kompilieren =====
  • cpm/cpa.1418660928.txt.gz
  • Zuletzt geändert: 2014/12/15 16:28
  • von volkerp