Advertisement
Guest User

VMware PlayerのCP/M-86上でAztec C Ver3.2dを使う方法

a guest
Sep 30th, 2021
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.91 KB | None | 0 0
  1. VMware PlayerでCP/M-86が動きます
  2. CP/M-86でAztec C Ver3.2dを使うやり方をまとめてみました
  3.  
  4. http://www.z80.eu/blog/index.php?entry=entry120807-180000
  5. http://www.z80.eu/downloads/cpm86fl2.zip
  6.  
  7. EDの使い方はこのPDFに簡単な使い方が載ってます
  8. CP/M-86について
  9. https://libir.josai.ac.jp/il/user_contents/02/G0000284repository/pdf/JOS-KJ00000589197.pdf
  10.  
  11. CP/M-86の使い方に関しては英語ですがマニュアルを参照してください
  12. http://www.cpm.z80.de/randyfiles/DRI/CPM-86_Users_Guide.pdf
  13.  
  14. システムコールなどはシステムマニュアルを参照してください
  15. http://www.cpm.z80.de/randyfiles/DRI/CPM-86_System_Guide.pdf
  16.  
  17.  
  18.  
  19. 必要なファイルはこちらです
  20.  
  21. これがVMwareのCP/M-86のイメージ
  22. www.z80.eu/blog/index.php?entry=entry120807-180000
  23. http://www.z80.eu/downloads/cpm86fl2.zip
  24.  
  25. VMwareで認識するイメージ形式とCP/M-86のイメージ形式の変換を行うプログラム
  26. 付属してるバイナリは64bitWidowsでは動作しないので
  27. Visual Studio 2019 community、mingwなどのWindows用のC言語で自分でソースからビルドする必要がある
  28. http://www.z80.eu/downloads/cpm86cnv.zip
  29.  
  30. CP/M-86のイメージディスクにファイルをコピーしたり取り出したりするツール
  31. http://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip
  32. https://www.cpm8680.com/cpmtools/index.htm#windows
  33. https://www.cpm8680.com/cpmtools/index.htm
  34.  
  35. CBASIC86のイメージ
  36. http://www.z80.eu/downloads/cb86.zip
  37.  
  38. Aztec C 3.2dのCP/M-86版はここからダウンロードしました
  39. 一番下の方にあります
  40. (Aztec C 3.2dのCP/M-86版のマニュアルもあるので一緒にダウンロードするといいです)
  41. https://aztecmuseum.ca/compilers.htm
  42.  
  43.  
  44.  
  45. VMware Playerでの仮想マシンの作成
  46. 1.あらかじめ、cpm86fl2.zipを解凍してfloppy.flpを取り出して置いてください
  47. 2.VMware Playerで新規仮想マシンの作成をします
  48. 3.新規仮想マシン作成ウィザードへようこそで後でOSをインストールを選択します
  49. 4.ゲストOSの選択でその他を選択してバージョンをMS-DOSにします
  50. 5.仮想マシン名にCPM-86など好きな名前を入力します
  51. 6.ディスク最大サイズは1GBでいいです
  52. 7.仮想ディスクを単一ファイルとして格納を選択します
  53. 8.仮想マシンを作成する準備完了でハードウェアをカスタマイズを選択します
  54. 9.メモリ選択して、この仮想マシンのメモリを4MBにします
  55. 10.下の追加をクリックします
  56. 11.ハードウェアの種類の画面でフロッピードライブを選択して完了を押します
  57. 12.フロッピーを選択してフロッピーイメージファイルを使用を選択して参照を押します
  58. 13.cpm86fl2.zipを解凍して取り出したfloppy.flpを選択して、閉じるボタンで閉じます
  59. 14.完了ボタンを押して完成です
  60. 15.作成したCP/M-86の仮想マシンを選択して、右下の仮想マシンを再生を押すとCP/M-86が起動します
  61. 16.floppy.flpは必ずバックアップを取って置いてください
  62.  
  63.  
  64. HDDをつかえるようにする
  65.  
  66. 1.作成したCP/M-86の仮想マシンを起動します
  67. 2.Playerメニューの「パワー」→ゲストを再起動で仮想マシンを再起動してすぐにF2キーを押してBIOS画面を起動します
  68.   起動が早すぎてなかなかBIOS画面が開けないかもしれませんが何度でも試してください
  69. 3.VMware PlayerのBIOS画面のMain画面でカーソルキーを使って
  70.   中段のPrimary Masterの部分を選択してEnterキーを押します
  71. 4.Primary Masterの画面が開きますこの画面で
  72. 5.Type:を+、-キーを使ってUserにします
  73. 6.カーソルキーを使ってCylindersの部分にカーソルを移動して+、-キーを使ってCylinders:を615にします
  74. 7.Heads:を4にします
  75. 8.Sectors:を17にします
  76. 9.Maximum Capacityが21MBになってることを確認します
  77. 10.Multi-Sector Transfers:を16 Sectorsにします
  78. 11.LBA Mode Control:をDisabledにします
  79. 12.32bit I/O:をDisabledにします
  80. 13.Transfer Mode:をStandardにします
  81. 14.ESCを押してPrimary Master画面を抜けます
  82. 15.F10を押すか上のメニューのEXITにカーソルを合わせてExit Saving Changesを選択してEnter
  83. 16.Setup Confirmationの画面でSave configration changes and exit now?でYesを選択してEnter
  84. 17.再起動してCP/M-86が起動します
  85.  
  86. 次にCP/M-86の仮想マシンのHDDのフォーマットをします
  87. 1.cpm86fl2.zipの中のfloppy.flpをAドライブに入れて仮想マシンを起動します
  88.   フロッピードライブはPlayerメニューの「取り外し可能デバイス」→「フロッピ」→設定で
  89.   フロッピーイメージファイルを使用するの部分で使用するイメージを選択しなおせます
  90.   イメージを指定したらOKを押します
  91. 1.CP/M-86のコマンドラインからHDMAINTと入力して起動します
  92. 2.SELECT FUNCTIONの画面でDisplay or change disk partitioningのF1を押します
  93. 3.Change or create CP/M partitionのF6を押します
  94. 4.Enter starting cylinderでわからなければF10を押して000にする
  95. 5.Enter partition size:と聞かれるのでわからなければ、F10を押して243にする
  96. 6.F2を押して2048を選択し、F4を押してwillを選択してF10を押します
  97. 7.Creation of CP/M volume completeと出たらF9を押します
  98. 8.Reload Operationg system from disketteのF9を押します
  99. 9.CP/M-86が再起動します
  100.  
  101. これでCP/M-86の仮想マシンのHDDが使えるようになりました
  102. b:
  103. a:stat dsk:
  104. と入力して確認します
  105.  
  106. AドライブのファイルをHDDにすべてコピーするには
  107. a:pip b:=a:*.*
  108. と入力するとAドライブの内容がすべてBドライブにコピーされます
  109.  
  110.  
  111.  
  112.  
  113. CP/M-86のフロッピーイメージファイルへファイルをコピーする方法
  114.  
  115. cpm86cnv.zipを解凍します
  116. 64bit Windowsではcpm86cnv.zipの中のCPM86CNV.EXEは実行できないので
  117. CPM86CNV.Cが一緒に入ってるので
  118. Visual Studio Community 2019やMSYS2のmingwなどのWindows用のCコンパイラで
  119. コンパイルしてCPM86CNV.EXEを作ります
  120. 持ってる方はBorland C++ Compiler 5.5などでもコンパイルできると思われます
  121. MSYS2のmingwでもコンパイルできました
  122.  
  123. MSYS2でのmingwのコンパイルはMSYS2のホームディレクトリにCPM86CNV.Cをコピーして
  124. mingw64.exeまたはmingw32.exeを起動して
  125. gcc -o CPM86CNV CPM86CNV.C
  126. と入力すればMSYS2のホームディレクトリにCPM86CNV.exeが作成されます
  127.  
  128. Visual Studio Community 2019で行う場合は
  129. Visual Studio Community 2019のインストールで
  130. 「C++によるデスクトップ開発」を選択してインストールします
  131. インストールしたらWindowsを一度再起動します
  132. 再起動したら、Developer Command Prompt for VS 2019を起動します
  133. (コマンドプロンプトではないことに注意
  134. わからない場合はタスクバーのここに入力して検索で検索すれば出てきます)
  135.  
  136. cdコマンドでCPM86CNV.Cを保存したディレクトリにカレントディレクトリを移動します
  137. 例えばc:\Users\username1\DocumentsにCPM86CNV.Cを保存した場合は
  138. cd c:\Users\username1\Documents
  139. になります
  140. カレントディレクトリを移動したら
  141. cl cpm86cnv.c
  142. と入力すればcpm86cnv.exeができます
  143.  
  144. Visual Studio Community 2019のインストールは
  145. https://www.visualstudio.com/ja/dev-essentials/
  146. にアクセスして「今すぐ参加またはアクセス」をクリックします
  147. (Microsoftアカウントが必要になります)
  148.  
  149.  
  150.  
  151. CPM86CNV.exeが用意できたらVMwareで認識するフロッピーイメージと
  152. cpmtoolsで認識するフロッピーイメージの変換方法は下記になります
  153.  
  154. vmwareイメージからcp/m-86イメージに変換
  155. cpm86cnv vmware01.flp cpm01.flp vmw-to-cpmt
  156.  
  157. cp/m-86イメージからvmwareイメージに変換
  158. cpm86cnv cpm01.flp vmware01.flp cpmt-to-vmw
  159.  
  160.  
  161. cpmtoolsWin32.zipを解凍してcpmcp.exe、cpmrm.exe、cpmls.exeとdiskdefsを
  162. 一緒に適当なフォルダへコピーします
  163.  
  164. 使い方は
  165.  
  166. cp/m-86のイメージにバイナリファイルをコピー
  167. (既に同じファイル名が存在する場合はコピーが失敗するので削除してから再度コピーしてください)
  168. cpmcp -f cpm86-144feat cpm01.flp cc.cmd 0:cc.cmd
  169.  
  170. cp/m-86のイメージにテキストファイルをコピー(改行文字をCRLFにしてから変換する)
  171. cpmcp -t -f cpm86-144feat cpm01.flp hogehoge.c 0:hogehoge.c
  172.  
  173. cp/m-86のイメージからバイナリファイルを取り出し
  174. cpmcp -f cpm86-144feat cpm01.flp 0:cc.cmd cc.cmd
  175.  
  176. cp/m-86のイメージからテキストファイルを取り出し
  177. cpmcp -t -f cpm86-144feat cpm01.flp 0:hogehoge.c hogehoge.c
  178.  
  179. cp/m-86のイメージからファイルを全部取り出し
  180. cpmcp -f cpm86-144feat cpm01.flp 0:*.* hogehogedir
  181.  
  182. ファイルの指定にはワイルドカードも指定できます
  183. ワイルドカードを使ってファイルを取り出す場合はコピー先にディレクトリを指定します
  184.  
  185.  
  186. イメージに含まれているファイル一覧
  187. cpmls -f cpm86-144feat cpm01.flp
  188.  
  189. cp/m-86のイメージの中のhogehoge.txtを削除
  190. cpmrm -f cpm86-144feat cpm01.flp 0:hogehoge.txt
  191.  
  192.  
  193.  
  194.  
  195. Aztec C 3.2dのイメージの作成
  196.  
  197. cpm86fl2.zipの中のfloppy.flpをコピーしてbkvmware.flpという名前にします
  198. VMwareのAドライブにbkvmware.flpをセットしてCP/M-86を起動します
  199. 注意:CP/M-86の仮想マシンのフロッピを交換した場合は必ずCP/M-86でCTRL+Cを押してください
  200.  
  201. era ファイル名
  202. で以下のファイルだけ残して他全部を削除してください
  203. 144BLDR2.CMD
  204. DATA.PFK
  205. ED.CMD
  206. SUBMIT.CMD
  207. PIP.CMD
  208. CLS.CMD
  209. VMwareのAドライブからbkvmware.flpを取り出します
  210.  
  211. 適当なフォルダを作成して、cpmcp.exeとdiskdefs、CPM86CNV.EXE、bkvmware.flpをコピーします
  212.  
  213. Aztec C 3.2dのAZCPM32d.zipを解凍します
  214. 解凍されたファイルでBIN、EMU、SRCをのぞくすべてのフォルダの中身を
  215. 先ほど作成したフォルダにコピーします(サブディレクトリは作成せずにすべてを作成したディレクトリ直下にコピーします)
  216.  
  217.  
  218. コマンドプロンプトで以下URLのコマンドを全部実行します
  219. https://pastebin.com/xffqSGeU
  220.  
  221. フォルダからaztec_c.flpを取り出します
  222. 作成されたaztec_c.flpがVMware用のCP/M-86のAztec C 3.2dのイメージディスクになります
  223. このイメージディスクは容量がいっぱいいっぱいでこれ以上ファイルを追加すると
  224. cpm86cnvでの変換時にファイルが壊れることがあるので
  225. pipで全部のファイルをHDDにコピーしてから使ってください
  226. AドライブのファイルをすべてHDDにコピーする場合は
  227. pip b:=a:*.*
  228. (AドライブのファイルすべてをBドライブにコピーする場合です)
  229. 注意:CP/M-86の仮想マシンのフロッピを交換した場合は必ずCP/M-86でCTRL+Cを押してください
  230.  
  231. Aztec Cのビルド方法は下記になります
  232.  
  233. cc exmpl.c
  234. ln exmpl.o c.lib
  235.  
  236. HDDにコピーしてカレントドライブをBドライブにしてからコンパイルする場合は
  237. ccに-iオプションでインクルードファイルのあるドライブ指定する-ib:オプションをつける
  238. b:
  239. cc -ib: exmpl.c
  240. ln exmpl.o c.lib
  241.  
  242. アセンブラ出力が必要な場合
  243. cc -ib: -a exmpl.c
  244. as exmpl.asm
  245. ln exmpl.o c.lib
  246.  
  247. 浮動小数点演算を使う場合はm.libもリンクする
  248. (8087命令を使う場合はm87.libをリンクします)
  249. cc -ib: exmpl.c
  250. ln exmpl.o m.lib c.lib
  251.  
  252. インクルードファイルのドライブを指定する場合は-iオプションでドライブを指定する
  253. (例ではBドライブがインクルードファイルの置かれてる場所)
  254. cc -ib: exmpl.c
  255. ln exmpl.o m.lib c.lib
  256.  
  257.  
  258. ソースファイルは
  259. cpm86cnv bkvmware.flp srccpm01.flp vmw-to-cpmt
  260. cpmcp -t -f cpm86-144feat srccpm01.flp hogehoge.c 0:hogehoge.c
  261. cpm86cnv srccpm01.flp srcvmw01.flp cpmt-to-vmw
  262. として
  263. srcvmw01.flpをCP/M-86の仮想マシンにセットして
  264. CTRL+Cを押してから
  265. pip b:=a:hogehoge.c
  266. でHDDにコピーすればいいです
  267. CP/M-86の仮想マシンのフロッピを交換した場合は必ずCP/M-86でCTRL+Cを押してください
  268.  
  269. Aztec C Ver 3.2dのCP/M-86版はC言語の規格のC89には対応してません
  270. 文法はK&Rの方式になります
  271. また、メモリモデルはSMALLモデルのみの対応です
  272.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement