Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VMware PlayerでCP/M-86が動きます
- CP/M-86でAztec C Ver3.2dを使うやり方をまとめてみました
- http://www.z80.eu/blog/index.php?entry=entry120807-180000
- http://www.z80.eu/downloads/cpm86fl2.zip
- EDの使い方はこのPDFに簡単な使い方が載ってます
- CP/M-86について
- https://libir.josai.ac.jp/il/user_contents/02/G0000284repository/pdf/JOS-KJ00000589197.pdf
- CP/M-86の使い方に関しては英語ですがマニュアルを参照してください
- http://www.cpm.z80.de/randyfiles/DRI/CPM-86_Users_Guide.pdf
- システムコールなどはシステムマニュアルを参照してください
- http://www.cpm.z80.de/randyfiles/DRI/CPM-86_System_Guide.pdf
- 必要なファイルはこちらです
- これがVMwareのCP/M-86のイメージ
- www.z80.eu/blog/index.php?entry=entry120807-180000
- http://www.z80.eu/downloads/cpm86fl2.zip
- VMwareで認識するイメージ形式とCP/M-86のイメージ形式の変換を行うプログラム
- 付属してるバイナリは64bitWidowsでは動作しないので
- Visual Studio 2019 community、mingwなどのWindows用のC言語で自分でソースからビルドする必要がある
- http://www.z80.eu/downloads/cpm86cnv.zip
- CP/M-86のイメージディスクにファイルをコピーしたり取り出したりするツール
- http://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip
- https://www.cpm8680.com/cpmtools/index.htm#windows
- https://www.cpm8680.com/cpmtools/index.htm
- CBASIC86のイメージ
- http://www.z80.eu/downloads/cb86.zip
- Aztec C 3.2dのCP/M-86版はここからダウンロードしました
- 一番下の方にあります
- (Aztec C 3.2dのCP/M-86版のマニュアルもあるので一緒にダウンロードするといいです)
- https://aztecmuseum.ca/compilers.htm
- VMware Playerでの仮想マシンの作成
- 1.あらかじめ、cpm86fl2.zipを解凍してfloppy.flpを取り出して置いてください
- 2.VMware Playerで新規仮想マシンの作成をします
- 3.新規仮想マシン作成ウィザードへようこそで後でOSをインストールを選択します
- 4.ゲストOSの選択でその他を選択してバージョンをMS-DOSにします
- 5.仮想マシン名にCPM-86など好きな名前を入力します
- 6.ディスク最大サイズは1GBでいいです
- 7.仮想ディスクを単一ファイルとして格納を選択します
- 8.仮想マシンを作成する準備完了でハードウェアをカスタマイズを選択します
- 9.メモリ選択して、この仮想マシンのメモリを4MBにします
- 10.下の追加をクリックします
- 11.ハードウェアの種類の画面でフロッピードライブを選択して完了を押します
- 12.フロッピーを選択してフロッピーイメージファイルを使用を選択して参照を押します
- 13.cpm86fl2.zipを解凍して取り出したfloppy.flpを選択して、閉じるボタンで閉じます
- 14.完了ボタンを押して完成です
- 15.作成したCP/M-86の仮想マシンを選択して、右下の仮想マシンを再生を押すとCP/M-86が起動します
- 16.floppy.flpは必ずバックアップを取って置いてください
- HDDをつかえるようにする
- 1.作成したCP/M-86の仮想マシンを起動します
- 2.Playerメニューの「パワー」→ゲストを再起動で仮想マシンを再起動してすぐにF2キーを押してBIOS画面を起動します
- 起動が早すぎてなかなかBIOS画面が開けないかもしれませんが何度でも試してください
- 3.VMware PlayerのBIOS画面のMain画面でカーソルキーを使って
- 中段のPrimary Masterの部分を選択してEnterキーを押します
- 4.Primary Masterの画面が開きますこの画面で
- 5.Type:を+、-キーを使ってUserにします
- 6.カーソルキーを使ってCylindersの部分にカーソルを移動して+、-キーを使ってCylinders:を615にします
- 7.Heads:を4にします
- 8.Sectors:を17にします
- 9.Maximum Capacityが21MBになってることを確認します
- 10.Multi-Sector Transfers:を16 Sectorsにします
- 11.LBA Mode Control:をDisabledにします
- 12.32bit I/O:をDisabledにします
- 13.Transfer Mode:をStandardにします
- 14.ESCを押してPrimary Master画面を抜けます
- 15.F10を押すか上のメニューのEXITにカーソルを合わせてExit Saving Changesを選択してEnter
- 16.Setup Confirmationの画面でSave configration changes and exit now?でYesを選択してEnter
- 17.再起動してCP/M-86が起動します
- 次にCP/M-86の仮想マシンのHDDのフォーマットをします
- 1.cpm86fl2.zipの中のfloppy.flpをAドライブに入れて仮想マシンを起動します
- フロッピードライブはPlayerメニューの「取り外し可能デバイス」→「フロッピ」→設定で
- フロッピーイメージファイルを使用するの部分で使用するイメージを選択しなおせます
- イメージを指定したらOKを押します
- 1.CP/M-86のコマンドラインからHDMAINTと入力して起動します
- 2.SELECT FUNCTIONの画面でDisplay or change disk partitioningのF1を押します
- 3.Change or create CP/M partitionのF6を押します
- 4.Enter starting cylinderでわからなければF10を押して000にする
- 5.Enter partition size:と聞かれるのでわからなければ、F10を押して243にする
- 6.F2を押して2048を選択し、F4を押してwillを選択してF10を押します
- 7.Creation of CP/M volume completeと出たらF9を押します
- 8.Reload Operationg system from disketteのF9を押します
- 9.CP/M-86が再起動します
- これでCP/M-86の仮想マシンのHDDが使えるようになりました
- b:
- a:stat dsk:
- と入力して確認します
- AドライブのファイルをHDDにすべてコピーするには
- a:pip b:=a:*.*
- と入力するとAドライブの内容がすべてBドライブにコピーされます
- CP/M-86のフロッピーイメージファイルへファイルをコピーする方法
- cpm86cnv.zipを解凍します
- 64bit Windowsではcpm86cnv.zipの中のCPM86CNV.EXEは実行できないので
- CPM86CNV.Cが一緒に入ってるので
- Visual Studio Community 2019やMSYS2のmingwなどのWindows用のCコンパイラで
- コンパイルしてCPM86CNV.EXEを作ります
- 持ってる方はBorland C++ Compiler 5.5などでもコンパイルできると思われます
- MSYS2のmingwでもコンパイルできました
- MSYS2でのmingwのコンパイルはMSYS2のホームディレクトリにCPM86CNV.Cをコピーして
- mingw64.exeまたはmingw32.exeを起動して
- gcc -o CPM86CNV CPM86CNV.C
- と入力すればMSYS2のホームディレクトリにCPM86CNV.exeが作成されます
- Visual Studio Community 2019で行う場合は
- Visual Studio Community 2019のインストールで
- 「C++によるデスクトップ開発」を選択してインストールします
- インストールしたらWindowsを一度再起動します
- 再起動したら、Developer Command Prompt for VS 2019を起動します
- (コマンドプロンプトではないことに注意
- わからない場合はタスクバーのここに入力して検索で検索すれば出てきます)
- cdコマンドでCPM86CNV.Cを保存したディレクトリにカレントディレクトリを移動します
- 例えばc:\Users\username1\DocumentsにCPM86CNV.Cを保存した場合は
- cd c:\Users\username1\Documents
- になります
- カレントディレクトリを移動したら
- cl cpm86cnv.c
- と入力すればcpm86cnv.exeができます
- Visual Studio Community 2019のインストールは
- https://www.visualstudio.com/ja/dev-essentials/
- にアクセスして「今すぐ参加またはアクセス」をクリックします
- (Microsoftアカウントが必要になります)
- CPM86CNV.exeが用意できたらVMwareで認識するフロッピーイメージと
- cpmtoolsで認識するフロッピーイメージの変換方法は下記になります
- vmwareイメージからcp/m-86イメージに変換
- cpm86cnv vmware01.flp cpm01.flp vmw-to-cpmt
- cp/m-86イメージからvmwareイメージに変換
- cpm86cnv cpm01.flp vmware01.flp cpmt-to-vmw
- cpmtoolsWin32.zipを解凍してcpmcp.exe、cpmrm.exe、cpmls.exeとdiskdefsを
- 一緒に適当なフォルダへコピーします
- 使い方は
- cp/m-86のイメージにバイナリファイルをコピー
- (既に同じファイル名が存在する場合はコピーが失敗するので削除してから再度コピーしてください)
- cpmcp -f cpm86-144feat cpm01.flp cc.cmd 0:cc.cmd
- cp/m-86のイメージにテキストファイルをコピー(改行文字をCRLFにしてから変換する)
- cpmcp -t -f cpm86-144feat cpm01.flp hogehoge.c 0:hogehoge.c
- cp/m-86のイメージからバイナリファイルを取り出し
- cpmcp -f cpm86-144feat cpm01.flp 0:cc.cmd cc.cmd
- cp/m-86のイメージからテキストファイルを取り出し
- cpmcp -t -f cpm86-144feat cpm01.flp 0:hogehoge.c hogehoge.c
- cp/m-86のイメージからファイルを全部取り出し
- cpmcp -f cpm86-144feat cpm01.flp 0:*.* hogehogedir
- ファイルの指定にはワイルドカードも指定できます
- ワイルドカードを使ってファイルを取り出す場合はコピー先にディレクトリを指定します
- イメージに含まれているファイル一覧
- cpmls -f cpm86-144feat cpm01.flp
- cp/m-86のイメージの中のhogehoge.txtを削除
- cpmrm -f cpm86-144feat cpm01.flp 0:hogehoge.txt
- Aztec C 3.2dのイメージの作成
- cpm86fl2.zipの中のfloppy.flpをコピーしてbkvmware.flpという名前にします
- VMwareのAドライブにbkvmware.flpをセットしてCP/M-86を起動します
- 注意:CP/M-86の仮想マシンのフロッピを交換した場合は必ずCP/M-86でCTRL+Cを押してください
- era ファイル名
- で以下のファイルだけ残して他全部を削除してください
- 144BLDR2.CMD
- DATA.PFK
- ED.CMD
- SUBMIT.CMD
- PIP.CMD
- CLS.CMD
- VMwareのAドライブからbkvmware.flpを取り出します
- 適当なフォルダを作成して、cpmcp.exeとdiskdefs、CPM86CNV.EXE、bkvmware.flpをコピーします
- Aztec C 3.2dのAZCPM32d.zipを解凍します
- 解凍されたファイルでBIN、EMU、SRCをのぞくすべてのフォルダの中身を
- 先ほど作成したフォルダにコピーします(サブディレクトリは作成せずにすべてを作成したディレクトリ直下にコピーします)
- コマンドプロンプトで以下URLのコマンドを全部実行します
- https://pastebin.com/xffqSGeU
- フォルダからaztec_c.flpを取り出します
- 作成されたaztec_c.flpがVMware用のCP/M-86のAztec C 3.2dのイメージディスクになります
- このイメージディスクは容量がいっぱいいっぱいでこれ以上ファイルを追加すると
- cpm86cnvでの変換時にファイルが壊れることがあるので
- pipで全部のファイルをHDDにコピーしてから使ってください
- AドライブのファイルをすべてHDDにコピーする場合は
- pip b:=a:*.*
- (AドライブのファイルすべてをBドライブにコピーする場合です)
- 注意:CP/M-86の仮想マシンのフロッピを交換した場合は必ずCP/M-86でCTRL+Cを押してください
- Aztec Cのビルド方法は下記になります
- cc exmpl.c
- ln exmpl.o c.lib
- HDDにコピーしてカレントドライブをBドライブにしてからコンパイルする場合は
- ccに-iオプションでインクルードファイルのあるドライブ指定する-ib:オプションをつける
- b:
- cc -ib: exmpl.c
- ln exmpl.o c.lib
- アセンブラ出力が必要な場合
- cc -ib: -a exmpl.c
- as exmpl.asm
- ln exmpl.o c.lib
- 浮動小数点演算を使う場合はm.libもリンクする
- (8087命令を使う場合はm87.libをリンクします)
- cc -ib: exmpl.c
- ln exmpl.o m.lib c.lib
- インクルードファイルのドライブを指定する場合は-iオプションでドライブを指定する
- (例ではBドライブがインクルードファイルの置かれてる場所)
- cc -ib: exmpl.c
- ln exmpl.o m.lib c.lib
- ソースファイルは
- cpm86cnv bkvmware.flp srccpm01.flp vmw-to-cpmt
- cpmcp -t -f cpm86-144feat srccpm01.flp hogehoge.c 0:hogehoge.c
- cpm86cnv srccpm01.flp srcvmw01.flp cpmt-to-vmw
- として
- srcvmw01.flpをCP/M-86の仮想マシンにセットして
- CTRL+Cを押してから
- pip b:=a:hogehoge.c
- でHDDにコピーすればいいです
- CP/M-86の仮想マシンのフロッピを交換した場合は必ずCP/M-86でCTRL+Cを押してください
- Aztec C Ver 3.2dのCP/M-86版はC言語の規格のC89には対応してません
- 文法はK&Rの方式になります
- また、メモリモデルはSMALLモデルのみの対応です
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement