Network Users' Group ``wheel'' / Dai ISHIJIMA's Page /
ソフトウェア / ポケコンエミュレータ
#旧版readme | #ダウンロード | #C言語版 | #JavaScript版 | #関連リンク | #おことわり

初版: 2000-04-04
最終更新日: 2025-04-16



C言語やJavaScriptでマシン語の各インストラクションを実行

ポケコンPC-1450/SC61860(ESR-H)エミュレータ


アーカイブダウンロードコチラ - C版 (*BSD/Linux/MacOS X)JavaScript版 / 逆アセンブラ

ポケコンのCPUであるSC61860 (いわゆるESR-H) をフルエミュレートした PC-1450のエミュレータです。 C版はコンソール画面で操作します。UNIX系OSで動作します。 JavaScript版はブラウザ上で動作し、 環境を選びません(一部のブラウザではまだ動きません)。

エミュレータの実行には別途実機のROMイメージが必要になります。


以下の記述は古いアーカイブのドキュメントです。 C版readme.txtコチラJavaScript版readme.txtこちら


/* POCKET -- SHARP PORTABLE COMPUTER PC-1450 エミュレータ */

概要

bsd (たぶん?) unix で動作する PC-1450 のエミュレータです。
PC-1450 の CPU である SC61860 をフルエミュレートしているので、
アセンブラで書いたプログラムも動作します。(動作するハズです ^^;)


動作環境

・BSD互換UNIX で動きます。
  (NEWS-OS [34].x, 386BSD, FreeBSD, SunOS 4.1.3で動作が確認されています。)
  2016年1月現在、FreeBSD、Linux、MacOS Xでの動作を確認しています。 
・画面サイズ 96x24 以上のansi互換端末での実行をお勧めします。


コンパイルおよび実行

・Makefile をテキトーに編集して make すると、pocket という
  実行ファイルが生成されます。
・pocket と入力すると、エミュレータが動きます。
・ctrl-d を押すと終了します。
・端末を raw モードに変更しているので、ctrl-C (intr) や
  ctrl-Z (susp) を押しても止まりません。


本物との相違

・あまり速くありません。10MIPS 程度のマシンで動作させて、
  やっと本物とトントンの速度で動くと思います。
・キーボード入力は鈍感です。ゆっくり、根気よく、丁寧に入力してください。
・カセットテープやプリンタなどの I/O は使えません。
・SAVE を実行すると、カレントディレクトリの sc.out にプログラムを
  書き出します。ファイルが存在していた時は上書きします。
・LOAD を実行すると、カレントディレクトリの sc.inp からプログラムを
  読み込みます。ファイルがないときはなにもしません。


キーの割り当て

^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		プログラムを実行します


バグ

・エミュレーションが十分ではありません。
・キー入力がなくてもスリープせずに、全速力で疾走することがよくあります。
・ゲームなどの画面書き換えにプログラムが追従しないことがよくあります。
・^d を押しても終了しないことがときどきあります。


今後の予定

X-Windowに対応。(笑)
同様のプログラムの HP 200LX版を作ること。(えー、そんなんできるんかぁ)


おことわり

このソフトは鋭い会社から配布許可をもらってません。
私的な範囲でお楽しみください。

pc1450.bin は、PC-1450 のメモリイメージです。
(注.配布アーカイブには含まれていません)
ttmode.c は、Ng-1.3.1 からかっぱらいました。
samples/planet.bas は、中野主一さん原作のプログラムを移植した物です。


●アーカイブのダウンロード(C言語版)

●アーカイブのダウンロード(JavaScript版)

●逆アセンブラ(Perl版)

●大昔のC言語版アーカイブ


●関連リンク


●PC-1450って何?

PC-1450はシャープから1985年に発売されたポケットコンピュータです。 ポケットコンピュータは、1980年代に発売されたコンピュータで、 文字どおりポケットに入る程度の大きさでした。 PC-1450の寸法は、横幅が約18cm×高さ約7cm×厚み約1.5cmです。 ポケットコンピュータは略して「ポケコン」と呼ばれていました。

ポケコンは関数電卓(やプログラム電卓)と 当時のパーソナルコンピュータ(パソコン)との 中間的な位置づけのコンピュータです。 言語処理系には当時主流であったBASICを備えていました。 PC-1450のお値段は26,800円と、パソコン(当時は本体だけで10万円ぐらい)より お求めやすいレベルに設定されていました。 CPUにはSC61860(ESR-H)というチップが使われています。


連絡先などはこちらをご覧ください
Copyright (C) 1994-2024 by Dai ISHIJIMA