CP/M80エミュレータ


CP/M80のエミュレータです。
Interface 2011年5月の付録基板RX62Nで動かします。


2012.01.19 特電さんのRaXinoに対応しました。
PCとのシリアルケーブルの接続は、 基板     CPU信号    TTL-232R-3V3  CN8-1 RXD0     橙色  CN8-2 TXD0     黄色  CN7-7 GND      青色(黒) 色は、ストロベリーリナックスで購入したUSB-TTLシリアルコンバータ(3.3V)に つなぐ場合の線の色(色は購入時期により異なるようです。要確認)です。 ボードにあわせて、define.h を以下のように設定してください。 RaXinoの場合 #define BOARD RAXINO CQ 付録 FRK_RX62Nの場合 #define BOARD FRK_RX62N プロジェクトファイルcpm80_20120119RX CQ用にビルドしたものがcpm80_CQ.mot、特電さんのRaXinoがcpm80_raxino.motです。 2012.01.19の更新内容 RTCによるタイムスタンプの追加。(MosakuさんのRTC処理 rtc.cにまとめました ) この追加で発覚したのですが、ファイルをクローズする機会がなかったので、 タイムスタンプを押すタイミングがなかった。 今回の修正は、ファイルライト後キャッシュをパージするようにしました。 そのタイミングでタイムスタンプが押されるようになります。 ただ、ライトアクセスのたびにキャッシュパージを行うので、 キャッシュの効果はなく、頻繁アクセスのものは、遅くなると思います。 以前のバージョンは、ファイルの変更内容も失っていたかも知れません。 時間の設定は、起動直後のChaNさんのメニューから、 "t YYYY MM DD hh mm ss"のフォーマットで入力します。 下参照してください。
TeraTerm用の時間設定マクロを用意しました。 TeraTermのメニューから、Control->MacroでSendTime.ttlを開くと PCから現在の時間を取得して自動で、tコマンドを流し込みます。
2012.01.10 リブート処理がコールドブートになっていたのを修正しました。 SDカード内容も修正しました。 イメージファイルC、Dドライブを追加しました。 準備 ハードウェアの構成は、FatFsを試すの準備を参照してください。 SDカードの内容2012.01.10版 CPM/BOOT/CPM22.HEX CPMシステムファイル CPM/CPM2.DSK A:ドライブ イメージファイル CPM/APP.DSK B:ドライブ イメージファイル CPM/hitechc.DSK C:ドライブ イメージファイル CPM/wordstar.DSK D:ドライブ イメージファイル 現在、イメージファイルの変更はできません。 変更する場合は、ソースファイルをコンパイルして変更してください。 cpmdsk.cを参照してください。 ソフトウェア プロジェクトファイル2012.01.10版 ソースは整理ができておらず、きちゃないです。覚悟してください。 FatFsを試すに、以前から取り掛かっていたZ80エミュレータAbz80を、合体して一本化し、 88DISKのインターフェイスを追加したものです。 使用方法 ChaNさんのメニューから、cpm と入力すると、下のようにCP/Mが立ち上がります。
ターミナルの設定 速度向上のため、ボーレイトをあげました。 以下は、Tera Termでの設定です。
イメージファイル操作の r.com 、w.com は、対応できていません。 いずれは、対応したいと思っています。 イメージファイルからのデータの出し入れは、シミュレータを使うことになります。
Cドライブに HITECH-C を入れました。
エディタには、ワードマスター(WM.COM)を使用しました。 本当は、D: ドライブに入れたワードスターを使用したかったのですが、 文字化けを起こすようです。 それに代わるエディタ、ワードマスターのサマリーを記します。 2つのモードを切り替えて使用します。 ビデオモード 通常の文字入力する編集モード コマンドモード 終了などのコマンドを入力するモード ^J ヘルプを表示します。引き続き、^J を押すと次ページに進みます。 ("^J" は、コントロールキーを押しながら"J"を押します) カーソル移動 ^E 上 ^X 下 ^D 右 ^S 左 ^O インサートモードの切り替え ^G デリート ^Y 一行デリート ESC コマンド入力モードになります。プロンプト * を表示する。 V コマンドモード終了 ビデオモードに遷移 E 編集終了 Q 破棄終了
Keiji Murakami さんが紹介しているテトリスを試してみました。 http://hp.vector.co.jp/authors/VA000084/quatris.html quatris.zipをhttp://www.fvempel.nl/domain.html からダウンロード、解凍します。 シミュレータを使い R.com で、イメージディスクにコピーします。 もう、多分使わないであろうD:に割りつけていたwordstar.dskの中にいれます。 それを、SdCardのwordstar.dskと入れ替えます。 RX62NのCP/MマシンにそのSdCardを挿入し起動です。 D:>quatris ターミナルの制御コードの違いで、文字化けしていましたが、 同梱のPDTINS.COMでansiに変更したら、ちゃんと動きました。 このファイルを、SdCardのwordstar.dskと入れ替えてください。 修正済みの QUATRIS.COM を入れています。

バックギャモンなんかもあったのですが、多分これもカーソル制御だと思うのですが、 うまく動かなかったです。
十分な検証もしていませんので、SDカードの内容は、バックアップを取った上でお楽しみください。 データの破損や損失が起こっても、一切責任がとれません。