Dies ist eine alte Version des Dokuments!


CP/A

CP/A ist eine CP/M-2.2-kompatibles Betriebssystem der Akademie der Wissenschaften der DDR.

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.

Vorteile des CP/A gegenüber CP/M 2.2. sind erweiterte Funktionalitäten.

:!: TODO

Das CCP von CP/A ist ziemlich sicher ursprünglich aus einem reassemblierten CP/M-2.2-CCP entstanden; wurde aber konsequent auf Z80-Befehle umgearbeitet und vielfach verändert und erweitert.

Vom BDOS lag mir leider kein Quelltext vor. Ich habe deshalb das BDOS, welches im CP/A für den Z9001 enthalten ist, reassembliert und mit den Originalmarkennamen und -kommentaren des originalen CP/M-2.2 BDOS von Digital Research versehen. Ein Textvergleich beider Varianten (bdos_cpa.asm und bdos22.asm) mittels DIFF offenbart die Unterschiede:

  • Das CP/A-BDOS wurde im Prinzip komplett und fast 1:1 aus dem DR-BDOS abgekupfert
  • Durch Verwendung der Z80-spezifischen short jumps (jr) wurden einige Byte eingespart
  • der interne BDOS-Stack ist 32 Level tief, im Original sind es nur 24 Level
  • BDOS sichert die Register IX und IY
  • leicht andere Implementierung von CONIN, CONBRK, INITIAL2,
  • andere Implementierung von RENAME, RESELECT, FUNC13, FUNC14,FUNC25,FUNC37,GOBACK
  • DSKWR2 hat einen Patch am Anfang
  • READ beachtet zusätzlich 13H (Ctrl-S)
  • 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
  • cpa_src.zip Assembler-Quellcode des BDOS
  • cpa.zip komplettes CPA-Archiv aller obiger Vrsionen

handschriftlich vom einem Listing PC1715 BIOP 02.11.87:

m80 =biop/x/c
ref lst:=biop 	( statt lst auch datei PRN )
linkmt @os=ccpbas,ccp,bdos,x:biop/p:0ba80
  • cpm/cpa.1356882894.txt.gz
  • Zuletzt geändert: 2012/12/30 15:54
  • von volkerp