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


目次


使い方

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


オプション

-16 拡張RAM無しの16KB RAMで起動します。オプション無しだと32KBです。
-64 64KB RAMモードで起動します。mkIIのモード2と同様のROM/RAMバンク切り替えが可能です。
-nowait ウェイトをかけない状態で起動します。
-noturbo テープロード中にウェイトをオフにする機能をオフにします。
-boost <n> テープロード速度の倍率を設定します。デフォルトは8です。
-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より大きい場合、新ベルーガカートリッジ機能が有効になります。

キー割り当て

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

モニタモードのコマンド

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

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

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

主な変更履歴

2015.10.13

2015.9.16

2015.3.23

2014.12.21

2014.6.16


ビルド方法

Linux、cygwin、MSYS2の場合

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

MinGWの場合

  1. wineditlineパッケージが必要です。
  2. MINGW=1 makeとしてください。

Copyright

本プログラムは無保証です。秋川藤志 (icb49250@nifty.ne.jp) が製作しました。また、同梱のWindows用実行ファイルは以下のライブラリをリンクしています。

MinGW
Public domain. (see http://www.mingw.org/license)
WinEditLine
(C) Copyright 2010-2014 Paolo Tosco <paolo.tosco@unito.it> All rights reserved. BSD license. (see COPYING.wineditline)