2018年12月26日水曜日

やっぱりcp/mが好き

ことの始まりは「マイクロコンピュータのプログラミング bit '78」なのだ。
この書籍ではモニタプログラム、エディタ、アセンブラ、tinyBASIC、μPLANが紹介されている。
やはり8bitcpuを自在に使いこなすことに憧れがある。

そしてFDDを使った高度なプログラミングの象徴が高嶺の花だったcp/mなのだ

現在ならwindowsPCでもmacでもそしてlinuxでもエミュレータで動かせる

  1. cp/m player 日本で旧PCのエミュレータといえばこの人
  2. CP/M program EXEcutor for Win32 ソースも入っているらしので楽しみ
  3. altair 8800 CP/Mシミュレータ 他サイト さらに他サイト
    上記の1,2がwin32でcp/mを実行する環境を提供するのに対して
    altair 8800はwin,osx,linux,ザウルスでの実行ができるようだ。
結局、2019初頭での現状としてlinux mintではyazeを動かしている。
cp/m2.2の動作でtypeとか効かないとか悲しいのでデフォのcp/m3.0で使っている
(mbasic = basic-80動く turbo pascalはまだ試していない)

もちろんエミュレータで動かすほうが快適で楽ちんなのだが実機で動かす醍醐味というものもある

残念ながら投入する金と手間暇に対するリターンを考えたときにSBC8080とかはもっと自己研鑽がすすんでからの挑戦になるのは明らか

で、ロクにハンダも使わずにハードウェア上でcp/mを動かしたいとなればハードウェアのありものを使ったエミュレーションということになる。で、注目しているのがこれら
  1. CP/M 8266 これESP-WROOM-02 (EP8266) モジュールの載ったボードであるESPr® Developer を用いてWSLのubuntuなどでコンパイルしたcp/mエミュレータを入れて動かすもので本体は2000円で送料を見込んでもおつりがくるもの マイクロSDすらいらないみたい
    (年が明けて見てみたらESPrは年末特価が終わって送料込みだと2,000円は越すなあ)
    このESPr@DeveloperについてはここをみるArduino IDEでいろいろ出来るようなので1枚はCP/M8266用としてそしてもう一枚はその予備兼本来の機能実験用として2枚ほしい。
    因みに上記の実験用ピンソケット実装済みのものは2,376円
    またAitendoでESPr@Developerと同様の仕様かは不明なれどこんな製品もある
    (こちらはピンヘッダ付きで@695 使っている人のブログこれも
    (Amazonでも@495である 紹介ブログ
    wo!やばい めっちゃいいいって浮かれてたけどflashが4MBでないと動かないらしく
    現在流通しているのはFlash2MBらしい どうするよ?俺
    秋月のESP-WROOM-02開発ボードなら@1,280で4MBらしい
    めっちゃ怪しげだがこんなサイトもある@333ってすごくね ただしchipはESP12Sだけど
    ※Wifi使わないから技適関係ないしな
  2. RunCPM こちらは Arduino DUE または Teensy 3.5 / 3.6 または ESP32 または STM32 (F4) のボードが必要でさらにマイクロSDがTeensy 3.6ならamaで4,680円とかでゲットできる
    ESP32のdev-kitは秋月で@1,450 なのでこれかな?
  3. mbed版CP/M 秋月のSTM32 Nucleo Board STM32F401で動くCP/Mエミュ
    @1,800なので動けば面白いしこのボード自身はArduino互換なので楽しめそう
    (このmbedのnucleoのシリーズはarduino互換ボードとしての興味も強くあって
    現時点で最高峰のNUCLEO-H743ZIマルツで@3,150+TAXでclock400MHz,Flash2MB,RAM640KBEthernet付きでちょっとしたPCなのだ。)
    このNucleoシリーズはMicroPythonが使えるのでcp/mの後も楽しみは続く
上記の二者を比較してみたわけではないけどコンパイルの手間を惜しまなければ1のcp/m8266のほうが実行速度も速くて最初のチャレンジとしては良さげに思う
因みにESPr@基板はフリスクのケースに楽勝で収まる大きさ

※2019/01 追記:cp/m8266を試したブログのコメントにrun-cp/mとの比較等があって面白い

さて何から着手すべきか

※2019/01/30追記

普通追記はより発展する方向への記述が多いけどより後ろ向きの追記かも

  1. ブレッドボードでZ80 ここの「自作Z80 CP/Mマシン(4)」からブレッドボード活躍という感じ
  2. AVRCPM ATMega88と4bit x 256KのD-RAMとSD-Cardだけでエミュレータをつくるらしい
    ただし日本語の紹介サイトによるとBuggyな感じもする。他の日本語の製作例 この方はFLISKの空き箱をケースにしていくつか作っている
    UARTはaitendoのこれが使えそうだ
    ドイツ語のページ もしかしたらBIOS等が使えないか?
    AVRCPMのgithubサイト こちらは姉妹品?cp-mega88
なんで徒花っぽいのに惹かれるのだろう

※2019/01/31追記

でもやはりZ80を普通に使うほうが良いしPCB基板も欲しいのでZ-80MBCが正しいかも・・

dosvaxj3が更新されていた。

 最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...