クリムゾン システムズへ






CP/M-86 からMS-DOSへ変換  (CP/M-80)  


CP/M (Control Program for Microcomputers)は、デジタルリサーチの創業者ゲイリー・キルドールが開発。1976年に発売されました。
CP/Mは 8ビットのCPU: インテルの8080用に作られた 8ビットマイクロコンピュータ用OS

   Gary Kildall
 
 


その後、16bitのマイクロプロセッサ Intel 8086用に CP/M-86が発売


IBMとデジタルリサーチの交渉失敗により、IBMがマイクロソフトにOS供給依頼 ・・・ 結果的にマイクロソフトが台頭

【 過渡期のDOS 】
 ・DR-DOS: デジタルリサーチ
 ・PC-DOS: IBM
 ・MS-DOS: マイクロソフト


8bit CP/Mが台頭していた時は、デジタルリサーチが主流になると思っていました。
NovellのNetWare、PC98とDOS/V機、ロータス123とEXCEL等 ・・・ 栄華盛衰


  Altair 8800





Intel 80286   IBM-PC/ATに搭載







PC-98  CP/M-86 Ver 1.1
 
 




【 CP/M-86 Ver 1.1 NEC PC-98 1.2MB FORMAT (2HD) 】

シリンダ:00 ヘッド:0 ... 単密度 128 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:00 ヘッド:1 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:01 ヘッド:0 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:01 ヘッド:1 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:02 ヘッド:0 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:02 ヘッド:1 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:03 ヘッド:0 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:03 ヘッド:1 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
・・・ 
シリンダ:74 ヘッド:0 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:74 ヘッド:1 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:75 ヘッド:0 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:75 ヘッド:1 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:76 ヘッド:0 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90
シリンダ:76 ヘッド:1 ... 倍密度 256 バイト/セクタ 26 セクタ/トラック DA/UA:90



【 CP/M-86 System Disk DUMP 】
 


【 CP/M-86 directory 】  ( 8"2D )

FCBは32バイト   1つのFCBで管理できない大きなファイルは、複数のFCBで管理


※ FCBブロックの先頭 1バイトは、ユーザー番号( 通常 00 )
  ERAコマンドでファイルを削除すると、 X'5E' になる




 IBM PC  CP/M-86 Ver 1.1        ( IBM PCでは、英語キーボード要 )
 
 
 




CP/M-86 Ver 1.1 IBM PC 5.25inch 320K (DSDD)

1トラック = 512B x 8sec x 2面 =  8,192B
全容量  = 8,192B x 40trk   = 327,680B


【 IBM2: CPMDISKS.DEF 】
 BEGIN IBM2 IBM PC, CP/M-86 - DSDD 48 tpi 5.25"
 DENSITY MFM ,LOW
 CYLINDERS 40
 SIDES 2
 SECTORS 8,512
 SIDE1 0 1,2,3,4,5,6,7,8
 SIDE2 1 1,2,3,4,5,6,7,8
 ORDER CYLINDERS
 LABEL IBM2
 BSH 4 BLM 15 EXM 1 DSM 157 DRM 63 AL0 080H AL1 0 OFS 1
 END




 CP/M-86 Ver 1.1 IBM PC 1.44MB FORMAT (2HD)



【 IBM4: CPMDISKS.DEF 】
 BEGIN IBM4 IBM PC, CP/M-86 - 1.44 MB - DSHD - 96TPI - 3.5"
 DENSITY MFM HIGH
 CYLINDERS 80
 SIDES 2
 SECTORS 18,512
 SIDE1 0 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
 SIDE2 1 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
 ORDER cylinders
 BSH 5 BLM 31 EXM 1
 DSM 354 DRM 255
 AL0 0C0h AL1 0
 OFS 2
 END








  CP/M-86 コマンド
コマンドは、ビルトイン・コマンドとトランジェント・コマンドがあります。
 @ビルトイン・コマンド(組み込みコマンド)
  システムプログラムのCCP部にあり、システム起動後メモリに常駐

 Aトランジェント・コマンド
  システムディスクに内にあり、拡張子がCMDのファイル



CP/M-86の基本的な操作コマンドは、 DIR、 ERA、 REN、 TYPE、PIP、 ED、 FORMAT等です。

  → DIGITAL RESEARCH CP/M-86 User's Guide

コマンド名 内 容
 DIR ディスクのディレクトリを表示する
 ERA ファイルを消去する
 REN ファイル名の変更
 TYPE ファイルの内容をコンソールにダンプ
 USER ユーザー番号の表示・変更
 ASM86 8086アセンブラ
 COPYDISK ディスクのコピー
 DDT86 デバッガ
 ED ラインエディタ
 FORMAT フロッピーディスクのフォーマット     ( ハードディクスのフォーマットは FORMATHD )
 GENCMD H86ファイルから,CMDファイルを作成
 HELP コマンドの使用方法のヘルプ機能
 PIP ファイル転送など   Peripheral Interchange Program
 STAT ファイル,ディスクのステータスチェック STAT
 SUBMIT コマンドのバッチ処理
 TOD 日付け・時間
 LDCOPY コールドスタートローダのセット


拡張子 内 容
 ASM アセンブラ・ソース
 A86 8086アセンブラ・ソース
 COM 実行ファイル(トランジェント・コマンド・ファイル)
 HEX インテルHEX方式のファイル
 BAK バックアップ・ファイル
 PRN アセンブル・リスト
 LIB ライブラリ・ファイル
 SUB SUBMITファイル(バッチ処理)
 $$$ テンポラリ・ファイル



 ASM86  アセンブラ概要&サンプル
 

 
8086の主要なレジスタ
 

【 プログラムの作成手順 】
 

 

※ソースプログラムの入力は、CP/MコマンドのED(行エディタ)で可能ですが、使い勝手が悪いので
 WordStar、 WordMasterTED 等で行います。




【 アセンブラ ソース:  HELLO.A86 】

 
【 プログラムの概要 】
@パラメータに表示する文字のアドレス(MSG)をセットし、
 BDOSファンクションコード9で割り込み(システムコール) → Hello World! が画面に表示される
ABDOSファンクションコード0で割り込み(システムコール) → CP/M-86のCCPに戻る




※プログラムは、コード部とデータ部と分けセグメントという名称になっています。
 COBOLの DATA DIVISION、PROCEDURE DIVISIONのような感じですね。

※オンラインシステムでは、システムを落とさずに動的修正をすることが有りました。
 このようなことを考慮し、ダミーのデータ領域を予め用意しておき
 ダミー領域内で命令をセットし、この部へブランチすることによりサブルーチン化ができます。
 (コンソールからFetch Address Stopを行い、コンソールSWでメモリを動的に修正する)

 パッチを当てることで、オンラインシステムを落とさずに運用できます。
 ( 後日パッチをまとめて、システムを再構築 → SYSGEN )

 


 ASM86 システムコールの方法
 
    MOV DX,parameter     DX         → パラメータをセット
    MOV CL,functionn     CL         → ファンクション番号をセット
    INT 0E0h         システムコール割込 → X'0E' ... 224 

 ※CP/M-80のシステムコールは、名前のとおり CALL 5 でしたが、
   CP/M-86から INT (Interrupt: 割り込み)になりました。       → INT 224
   MS-DOSも INTです。                       → INT 25H

  メィンフレームのSVC (Supervisor Call) から  CALL(System Call)  → INT(Interrup) 



 ※BDOS (Basic Disk Operating System) 詳細は、下記URL参照
 ・ BDOS Function Summary
 ・ BDOS calls
  ・ CP/M Error Messages





 OS毎のメモリマップ

CCP:  Console Command Processor    コマンド・インタプリタ
BDOS: Basic Dsk Operating System    ディスクドライブを制御・管理 ファイルのOpen/Close/Read/Write等 
BIOS: Basic Disk Operating System   周辺機器の入出力を管理 キーボード、ディスプレイ、プリンタ
TPA: Transient Program Area      ユーザープログラムのロード領域

CP/M-86 が扱える 外部記憶装置は最大8Mを16台迄、アクセス可能なメモリ空間は1Mバイト


  Personal BASIC
 対話式に行う一般的なBASICです。 ( BASIC.CMD )
 
 




【 Personal BASICのコマンド例 】
 保存           >SAVE  ファイル名
 連番           >RENUM
 終了           >SYSTEM
 既存ファイルのロード >OLD ファイル名

 ※ファイル名の拡張子(BAS)は不要


======================================================

A>BASIC   プログラムの作成・テスト・TEST1で保存 [TEST1.BAS]
--------------------------------------------------------------------------
NEW
・・・・・・・・・・
・・・・・・
・・・
RUN
SAVE TEST1
SYSTEM




A>BASIC    前に作成した TEST1を読込み、修正して TEST2で保存 [TEST2.BAS]
--------------------------------------------------------------------------
OLD TEST1
LIST
・・・・・・・・・・
・・・・・・
・・・
○○○○
RUN
RENUM 1000
SAVE TEST2
SYSTEM



  CBASIC Ver 1.0

  BASIC コンパイラ  ・・・ CBAS86.CMD でコンパイル後、CRUN86.CMDで実行
 


CBASICは処理時間を早くする為、一旦中間言語に落とします。( CBAS86.CMD )
 その後ランタイム・インタラプタで実行されます。( CRUN86.CMD ) 





 

 




 Pascal/MT+86

 

 ※元は、MT MicroSYSTEMS社のPascal コンパイラ (1981 年にDigital Researchに買収された)






【 サンプルプログラム 】
Pascal/MT+86は、ワンパスコンパイラですがメモリ不足の対応として複数のモジュールからできています。

・コンパイラ → MT+86.CMD、 MT+86.000、 MT+86.001、 MT+86.002、MT+86.003、MT+86.004、MT+86.005

・リンカ    → LINKMT.CMD、LINKMT.001、LINKMT.002、LINKMT.003




 Turbo Pscal 3.0

プログラムの編集は、別途 WS,WM,TEDなどを用意する必要がありましたが、
Turbo Pascalは、プログラムのIDE(統合開発環境)の草分け的なもので、エディタとコンパイラが入っています。

 



【 操作コマンド 】
 L Logged drive    ドライブの変更
 W Work file      ワークファイルの選択
 M Main file      メインファイルの選択

 E Edit         ファイルの編集
 C Compile       コンパイル
 R Run         プログラムの実行
 S Save        ワークファイルの保存

 D Dir          ファイルの表示
 Q Quit         終了
 O ompiler Options  コンパイラオプション




エディタのキーは、WSと同等で、少しのキーコマンドでプログラミング可




・編集時の主な操作キー
   CTRL + E  上
   CTRL + X  下
   CTRL + D  右
   CTRL + S  左

   CTRL + R  PageUp
   CTRL + C  PageDown

   CTRL + V  挿入/上書の切替
   CTRL + G  1文字削除
   CTRL + N  行の挿入
   CTRL + Y  行の削除


   CTRL + K D 編集の終了




















 書籍

入門CP/M  村瀬康治    


CP/M-86 vs MS-DOS 河西朝雄







  22DISK        SYDEX: CP/M to MS-DOS uty





各バージョンのCPMDISKS定義
http://cpmarchives.classiccmp.org/ftp.php?b=cpm/Software/cpmdisks/22Disk/









 CP/M Software

CP/M-86 download



Digital Research Binary Files
 



 CP/M-86 FILE DOWNLOADS
 
Commercial CP/M Software Archive
 



Vetusware.com




http://www.z80.eu/msx2.html




https://www.cpm8680.com/cpmtools/





 
 
CP/M and Computer Histry
Digital Research Binary Files


..................................................................................................................................................................................................................................................


 CP/M-86 からMS-DOSへファイルの相互に変換いたします。

 ※CP/M-80 (8インチFD)から、ソースも取出し可

 お気軽に、お問い合わせください。



 CP/M-86のフロッピーを送付していただければ、ファイルをCD-Rにコピーし
 ヤマト運輸代引きで返却いたします。
 (無ければ、当方で用意出来ます。)


 ※お預かりする桐データの機密保護は厳守いたします。
  ご安心ください。

 ※全くフロッピーが読めない場合、わずかですが調査費用が発生します。

 ※お見積書を発行いたします。

 ※請求書・納品書・領収書の発行もできます。(銀行振込・ヤマト運輸の代引)
  (法人様の場合、媒体変換後 納品書・請求書を添付して返却いたします)



■ データ変換の流れ  
 
crimson@cotton.ocn.ne.jp
(匿名のメールは、受付ません。)

クリムゾン システムズ TEL 0776-66-3854  担当: 山田
(月〜金:  10:00 〜17:00 )
 特定商取法



【発送先】
郵便番号 910-0242
住  所 福井県坂井市丸岡町西里丸岡14−50−1
宛  名 クリムゾン システムズ


※納期: 3〜4日です。





▲ 上へ



5インチフロッピー エンベロープ画像集  (5インチFDのコレクション)
8インチフロッピー エンベロープ画像集  (8インチFDのコレクション)
2インチフロッピー集
PDカートリッジ コレクション









CRIMSON Systems Homeへ Copyrught (C) CRIMSON Systems CRIMSON Systems Home