/* POCKET -- SHARP PORTABLE COMPUTER PC-1450 エミュレータ */ 【概要】 UN*X系OS (FreeBSD, Linux, MacOS X, etc.) で動作する ポケットコンピュータPC-1450のエミュレータです。 【動作環境】 UN*X系OSで動くはずです。 画面サイズ96x24のANSI (VT100) 互換ターミナルでの実行を推奨します。 【追加で必要なファイル】 SC61860の内部ROMイメージを実機から取得して「cpu-1450.rom」として 保存しておいてください。外部ROMイメージも同様に採取のうえ 「bas-1450.rom」というファイル名で保存してください。 実行時のカレントディレクトリにこれらの2つのファイルが必要です。 【コンパイルおよび実行】 必要に応じてMakefileを編集します。たとえば、以下のとおり。 % vi Makefile make(1) コマンドでバイナリを生成します。 % make 生成された「pocket」が実行ファイルです。以下のように起動します。 % ./pocket 【エミュレータの終了方法】 ctrl-dの入力で終了します。 【実機との相違】 カセットテープやプリンタなどのI/Oは使えません。 シリアルインターフェイスは、入力が sc.inp、出力が sc.out という ファイルにそれぞれ対応します。 インターフェイスを「OPEN」命令で初期化しておけば、 「LOAD」や「SAVE」でプログラムを読み書きすることができます。 エミュレーションの速度は実行環境に依存します。 音は出ません。 【キーの割り当て】 ^d (ctrl-d) は POWER スイッチを OFF にすることに対応します。 (つまり pocket を終了します。) [ 0-9a-z] は、そのまま [ 0-9A-Z] に対応します。 +, -, *, / も、そのまま +, -, *, / に対応します。 ^n, ^p, ^b, ^f はカーソル移動キーに対応します。 ^c は BRK, ^l は C/CE, ^m は ENTERキーに対応します。 大文字アルファベットは特殊キーに対応します。 【キーの対応表】 H → hyp S → sin C → cos T → tan F → F<->E X → HEX G → DEG N → ln L → log I → 1/x | → STAT E → EXP ^ → x^y R → SQRT Q → x^2 ( → ( ) → ) > → x->M < → RM P → M+ % → +/- . → . = → = A → CAL B → BASIC Z → SHIFT D → DEF M → SML U → SHIFT K → カナ [ → ゛ \ → ー 【操作例】 % make コンパイル % pocket 実行 3 0 S sin(30) を計算します [ 3 0 sin ] 6 9 U ) 69の階乗を計算します [ 6 9 SHIFT ) ] B RUNモードに移行します [ BASIC ] o p e n ^M l o a d ^M sc.inp を BASICプログラムとしてロードします r u n ^M プログラムを実行します 【参考文献】 1. 「I/O別冊 ポケコン・マシン語入門」(1984/09, 工学社) 2. 「シャープポケットコンピュータ機械語マニュアル」(1986/05, 工学社)