ターミナル用PC-6001/mkIIエミュレータ


目次


使い方

ターミナル上で動くPC-6001/mkIIエミュレータです。表示できるのは基本的に文字だけで、グラフィックについては簡易表示です。音なども出ません。どうやっても再現度に限界のあるアプローチではありますが、その分手軽に扱える面もあるのではないかと。以下、注意事項などを簡単に。


オプション

-16 拡張RAM無しの16KB RAMで起動します。オプション無しだと32KBです。
-64 初代機かつ64KB RAMモードで起動します。mkIIのモード2と同様のROM/RAMバンク切り替えが可能です。
-mk2 mkIIモードで起動します。
-nowait ウェイトをかけない状態で起動します。
-noturbo テープロード中にウェイトをオフにする機能をオフにします。
-boost <n> テープロード速度の倍率を設定します。デフォルトは8 (=9600ボー) です。うまく読み込めない場合は、小さい数字を指定してみてください。
-x11 X11 APIを用いたゲームキー状態取得機能を有効にします。アクションゲームなどでは指定すると良いでしょう。
-win Windws APIを用いたゲームキー状態取得機能を有効にします (cygwinとMSYS2のみ)。Windowsバイナリ(MinGWビルド)は自動で有効になります。アクションゲームなどでは指定すると良いでしょう。
-raw Ctrl-Cなどによってシグナルが発生せず、入力したコードが直接エミュレータに渡されます。Windowsバイナリ(MinGWビルド)はこちらがデフォルトです。
-noraw Ctrl-Cなどによってシグナルが発生し、端末に渡されます。MinGWビルド以外はこちらがデフォルトです。
-tape <filename> テープファイル(.p6/.p6t)をセットした状態で起動します。
-rom <filename> 拡張ROMファイルをセットした状態で起動します。サイズが16KBより大きい場合、戦士のカートリッジmkII (新ベルーガカートリッジ) の機能が有効になります。
-disk <filename1> <filename2> フロッピーディスクファイルをセットした状態で起動します。最大2ドライブまで対応します。D88形式とベタ形式が使用できます。(拡張子が.d88かどうかで判断)

キー割り当て

Alt GRAPHキー
Home HOME/CLRキー
PageUp ページ切替キー (PAGEキー)
PageDown MODEキー
End, Break STOPキー
Z シフトキー (ゲーム用)
F6 モニタモード
F7 かなキー
F8 SHIFT+ページ切替キー
F9 テープファイルのセット
shift+F9 拡張ROMファイルをセットしリセット
F10 ウェイトON/OFF
F11 リセット、テープ巻き戻し
shift+F11 エミュレータ終了
F12 フロッピーディスクファイルのセット
shift+F12 CAPSキー

モニタモードのコマンド

d[ump] メモリダンプ
dr[am] RAMダンプ
write メモリへの書き込み
dis[asm] 逆アセンブル
bank 読み/書きのバンク設定表示
in I/Oポート表示
out I/Oポート出力
stack スタック表示
reg[ister] Z80レジスタのセット
di 割り込み停止
ei 割り込み許可
load ファイルからメモリにロード
save メモリをファイルにセーブ
b[reak] ブレイクポイント設定/解除
s[tep] 1ステップ実行
g[o] モニタモードから抜ける
reset PC-6001のリセット
quit エミュレータ終了
help, ? コマンド一覧

モニタで「<アドレス>:」と入力するとアセンブラモードに入ります。

<ザイログニモニック> アセンブルします。
p 1バイト戻ります。
n 1バイト進みます。
db data[,data,...] バイトデータを並べます。
quit, 改行のみ モニタモードに戻ります。

主な変更履歴

2023.1.22

2018.5.17

2015.10.13

2015.9.16

2015.3.23

2014.12.21

2014.6.16


ビルド方法

Linux、cygwin、MSYS2の場合

  1. ncursesw、libeditの開発用パッケージが必要です。
  2. srcディレクトリでmakeを実行してください。
  3. X11 APIによるゲームキー状態取得機能 (-x11 オプションにより有効) を使うには、X11=1 makeとしてください。

MinGWの場合

  1. wineditlineパッケージが必要です。
  2. srcディレクトリでMINGW=1 makeとしてください。
  3. 他の環境でクロスビルドする場合は、Makefileのコメントアウトしている箇所を参考に色々試してみてください。

Copyright

本プログラムは無保証です。秋川藤志 (icb49250@nifty.ne.jp) が製作しました。2条項BSDライセンスでの利用が可能です。同梱のCOPYINGファイルを参照してください。また、同梱のWindows用実行ファイルには以下のライブラリが結合されています。

MinGW-w64 winpthreads
Copyright (c) 2011 mingw-w64 project, (C) 2010 Lockless Inc. (see COPYING.winpthreads)
WinEditLine
Copyright 2010-2020 Paolo Tosco <paolo.tosco.mail@gmail.com> All rights reserved. (see COPYING.wineditline)