SHARP PC-E500 の使い方

SHARP PC-E500 に関する記事です。主にマニュアルを紛失して使い方がわからなくなった方への情報です。

このトピックでは文字が黄色のキーはSHIFTキーを押しながら、或いは2ndFキーを押した後にキートップの文字のキーを押すことを意味しています。 例えばπSHIFT+EXPあるいは2ndFEXPを意味します。



SHARP PC-E500 シリーズ諸元

SHARP PC-E500 にはバリエーションがあります。記事中で扱っているのは PC-E500 ですが、以下の機種であればこのページの記事がそのまま通用すると思います。

一般モデル 生協モデル メモリ BASIC
PC-E500
PC-E500PJ
PC-1480U
PC-1490U
32KB BASIC
PC-E550 PC-1490UII 64KB BASIC
PC-E650 PC-U6000 64KB 構造化 BASIC

スペック

SHARP PC-E500 のスペックは以下の通りです。シリーズの他機種も似たようなものです。

機能 説明
CPU SC-62015
(2.304MHz)
RAM 32KB
液晶ディスプレイ 240x32 (40x4 文字)
インターフェィス ・ペリフェラルポート 11ピン (2.54mm ピッチ)
・シリアルポート 15ピン (ハーフピッチ)
・RAM カードスロット
バッテリー ・単4電池 x 4
・バックアップ電池 (CR2016)
・[オプション] RAM カードバックアップ電池 (CR1616)
消費電力 0.07W
本体寸法 200(W)×100(D)×14(H)mm
本体重量 約250g


使い方

とりあえず電池の入れ方からでしょうか?


電池の入れ方

電池は単4電池4本が必要です。エネループ等の充電池も使えない事はありませんが、表示が薄いです。アルカリ電池だと Low Battery の表示が出る前にいきなり電池切れする事があります。

電池フタを空けた所にあるスライドスイッチですが、電池が入っている時は A 側にしておきます。B 側にするのは電池交換時です。電池交換の時にはスイッチを B 側にして電池を抜き、新しい電池を入れたら A 側に戻します。B 側の状態では電池フタが閉まらないので、戻し忘れはないと思います。

電池交換の手順を間違えると RAM の内容が消えてしまいます。


バックアップ電池の交換

バックアップ電池 (CR2016) の交換は BATT マークが出ていない状態...つまり電池が充分残っている状態で行います。電池が空、或いは電池切れ前の状態でバックアップ電池を交換すると、RAM の内容が消えてしまう可能性があります。

バックアップ電池の交換時には電池フタを空けた所にあるスライドスイッチを操作する必要はありません (つまり A 側)。


電源の ON / OFF

電源の ON / OFF はONキーとOFFキーで行います。電源 ON の状態でも何もせずにしばらく放置すると勝手に電源が OFF になります。


モード切替

PC-E500 には幾つかの動作モードがあります。

モード ショートカット
BASIC BASIC
電卓 SHIFT+MENU
行列
統計
エンジニアソフトウェア
AER SHIFT+BASIC

モード切替はMENUを押してPF1PF5を押す事によっても行えます。

[BASIC] モード時に、さらにBASICボタンを押すことでプログラムモード (PRO) と実行モード (RUN) を切り替える事ができます。エンジニアソフトウェアの実行を終了してメニューに戻るにはBREAK(ON) キーを押します。


メモリとデバイス

PC-E500 シリーズのメモリは以下のようになっています。

スロット デバイス 開始アドレス 終了アドレス
内蔵メモリ 0 S1: 0xB8000h
RAM カード 1 S2: 0x40000h
内蔵ROM 2 S3: 0xE0000h 0xFFFFFh

S1: / S2: / S3: には RAM ディスクを作成する事ができます。

スロット デバイス RAM ディスク
内蔵メモリ 0 S1: E:
RAM カード 1 S2: F:
内蔵ROM 2 S3: G:

RAM ディスクを作成すると当然プログラム実行に使えるメモリの量は減ります。その他のデバイスには以下のようなものがあります。

種類 デバイス
FDD (ポケットドライブ) X: / Y:
SIO (RS-232C) COM:
プリンタ STDL: / PRN:
カセット CAS:
LCD STDO: / SCRN:
キーボード STDI: / KYBD:

RAM ディスクの作成と削除

メモリデバイスに RAM ディスクを作成するには [BASIC] モードで INIT "d:?K" と入力します。d には E (S1:) か F (S2:) が入ります。? には確保したいサイズを KB 単位で指定します。INIT "E:10K" だと 10KB の RAM ディスクが S1: (内蔵 RAM) 上に作成されます。

DSKF "d:" でディスクの空き容量を確認できます。

一度確保した RAM ディスクに対して INIT "d:" とすると、RAM ディスクを初期化する事ができます。RAM ディスク自体が削除されるのではなく、RAM ディスクの中身が消去されるイメージです (実際には現状と同じサイズで RAM ディスクが再作成される)。

RAM ディスクを解放 (RAM ディスク自体を削除) したい場合には、0KB で初期化します。

ポケットディスクの初期化は容量指定がありませんので、INIT "X:" で行います。


メモリデバイスの切り替え

メモリデバイスを切り替えるには [BASIC] モードで MEM$="s" と入力します。s には S1 (内蔵メモリ) か S2 (RAM カード)、あるいは B を指定できます。: (コロン) は入力不要です。

内蔵メモリと RAM カードを連結して S1: として使うには [BASIC] モードで INIT "S1:P" と入力します (MEM$="B")。

切り離すには INIT "S1:S" と入力しますす (MEM$="S1")。

メモリデバイスと MEM$ の関係は次のようになります。

デバイス モード MEM$ 遷移
S1: 分離
(内蔵 RAM)
S1 S2 或いは B へ遷移可
S2: 分離
(RAM カード)
S2 B へは遷移不可
S1: 結合
(内蔵 RAM + RAM カード)
B S2 へは遷移不可

MEM$ の内容を書き換えるのと INIT "S1:P" あるいは INIT "S1:S" を行うのは同義です。結合状態で MEM$ を S1 へ変更すると結合が解除されます。また、結合状態で S2 へ移行する事はできませんし、メモリデバイスが S2: の時にメモリ結合を行う事もできません。


ファイルの操作

PC-E500 は BASIC が OS を兼ねていますので、ファイル操作は [BASIC] モードで行います。

ファイルリスト

FILES コマンドを使ってドライブ内のファイル一覧を表示する事ができます。FILES コマンドの書式は以下の通りです。

FILES ["[d:][ファイル名]"]

例えば FILES "E:" だと内蔵 RAM にある RAM ディスク内のファイル一覧を表示します。

以下の例では E: に HELLO.BAS というファイルが一つあります。

カーソル () はで移動できます。SHIFT+で次ページ、SHIFT+で前ページへ移動します。

ファイルにカーソルを合わせた状態でLキーを押すと、このファイルをメモリにロードするかどうかを尋ねられます。ロードするにはYまたはキーを押します。キャンセルするにはNキーを押します。

ファイルにカーソルを合わせた状態でKキーを押すと、このファイルを削除するかどうかを尋ねられます。削除するにはYまたはキーを押します。キャンセルするにはNキーを押します。

ファイルリスト閲覧を終了するにはBREAK(ON) またはC・CEキーを押します。ファイルリストの最後にあるファイルにカーソルを合わせてキーを押しても抜ける事ができます。

FILES "E:HE*" のようにファイル名をワイルドカードで絞り込む事もできます。ワイルドカード文字は * または ? が使えます。

ファイルプロテクト

誤ってファイルを消さないように SET コマンドを使ってファイルプロテクトを行う事ができます。SET コマンドの書式は以下の通りです。

SET "d:ファイル名",{"P" | " "}

SET "E:\HELLO.BAS","P" とすると、内蔵 RAM (S1:) にある RAM ディスク (E:) 内の HELLO.BAS をプロテクトします。

FILES で確認してみるとファイル名の後に "P" の文字がある事が判ります。これがプロテクトの印です。プロテクトを解除するには SET "d:ファイル名"," " と、二番目の引数にスペースを指定します。ファイル名には * または ? のワイルドカード文字が指定できます。

ファイルコピー

ファイルのコピーには COPY コマンドを使います。COPY コマンドの書式は以下の通りです。

COPY "d1:ファイル名1" TO "[d2:]ファイル名2" [,A]

d1 と d2 はデバイスです。コピー元とコピー先のデバイスの組み合わせによってはコピーできないものもあります。Y はディスク入れ替えによるコピー用の装置名です。

d2
X E F CAS COM Y
d1 X × ×
E
F
CAS × ×
COM × ×

,A を指定すると、ファイルは ASCII (0x1A 終端) として扱われます。

ファイルの削除

ファイルの削除には KILL コマンドを使います。KILL コマンドの書式は以下の通りです。

KILL "d:ファイル名"

プロテクトが掛かっているファイルは KILL コマンドで削除できません。SET コマンドでプロテクトを解除してから削除してください。

ファイルのリネーム

ファイルのリネームには NAME コマンドを使います。NAME コマンドの書式は以下の通りです。

NAME "d:旧ファイル名" AS "新ファイル名"

プロテクトが掛かっているファイルは NAME コマンドでリネームできません。SET コマンドでプロテクトを解除してからリネームしてください。

ファイルのロード

ファイルをメモリにロードするには LOAD コマンドを使います。LOAD コマンドの書式は以下の通りです。

LOAD "d:ファイル名"[,R]

,R を指定するとロード完了後にプログラムを実行します。

また、デバイスが CAS 或いは COM の場合には ASCII 形式のファイルのみ読み込めます。バイナリファイルは読み込めません。

機械語ファイルのロード

機械語ファイルをメモリにロードするには LOAD M コマンドを使います。LOAD M コマンドの書式は以下の通りです。

LOAD M "d:ファイル名"[,ロード番地]

ロード番地を省略すると、SAVE M 命令で指定した番地に読み込みます。

ファイルのセーブ

メモリ上の BASIC プログラムをデバイスへファイルとしてセーブするには SAVE コマンドを使います。SAVE コマンドの書式は以下の通りです。

SAVE "d:ファイル名"[,A]

,A を指定するとファイルは ASCII 形式で保存されます。指定しなかった場合には内部形式で保存されます。

機械語ファイルのセーブ

メモリ上の機械語プログラムをデバイスへファイルとしてセーブするには SAVE M コマンドを使います。SAVE M コマンドの書式は以下の通りです。

SAVE M "d:ファイル名" ,開始番地, 終了番地 [, 実行開始番地]

実行開始番地は省略可能です。

プログラムの実行

メモリ上の BASIC プログラムは RUN コマンドで実行できます。RUN コマンドの書式は以下の通りです。

RUN [{行番号|*ラベル}]

RUN コマンドは [BASIC] モードの実行モード (RUN) で実行します。プログラムモード (PRO) になっている場合にはBASICキーを押して実行モードに切り替える必要があります。

引数として行番号或いはラベルを指定すると BASIC プログラムの途中から実行する事ができます。BASIC プログラムを終了させるにはBREAK(ON) キーを押します。


[電卓] モード

電卓として使うのであれば [電卓] モードにします。

普通の電卓として使うキーは以下の通りです。

キー キー入力 意味 備考
09 数値 -
AF 16進数値 - 16進表示の場合に使う。A(10)~F(15)。
÷/ 除算 value1 ÷/ value2
×* 乗算 value1 ×* value2
減算 value1 value2
加算 value1 value2
+/- 符号反転 value +/- 表示されている数値の「正(+)」と「負(-)」を入れ替える。
小数点 -
イコール - 計算結果の表示
C・CE クリア・クリアエントリー - 一度押すと表示されている値がクリアされる (訂正)。続けてもう一度押すと計算内容がクリアされる。
エラー表示のクリアにも使う。
CA 2ndFC・CE クリアオール - すべての計算内容をクリアする
x→M DEL ストアメモリー value x→M 表示されている値を独立メモリーに設定する。0 を登録する事で独立メモリーをクリアできる。
RM BS リコールメモリー - 独立メモリーの値を呼び出す。
M+ INS メモリープラス value M+ 表示されている値を独立メモリーの値に加算する。
STOAZ ストアメモリー value STOAZ A~Z の 26 個のメモリーへ値を格納する ([BASIC] モードに切り替えても変数 A~Z に残っている)。
RCLAZ リコールメモリー - A~Z の 26 個のメモリーから値を読み出す。
FSE 表示方式指定 - 押すたびに 浮動小数点->固定小数点(FIX)->科学指数(SCI)->工学指数(ENG)...と変化する
TAB 2ndFFSE 小数点位指定 - 表示方式が固定小数点表示(FIX)の時の小数点位を指定する。2ndFFSE5 だと小数点第5位の表示となる。
→HEX 16進表示 - 値を16進数表示にする。
→DEC 2ndF→HEX 10進表示 - 値を10進数表示にする。
→DEG 度.分秒→度 value →DEG 度.分秒を度に変換する。(無理矢理だが時刻計算をする事も可能)
→D.MS 2ndF→DEG 度→度.分秒 value →D.MS 度→度.分秒に変換する。(無理矢理だが時刻計算をする事も可能)
EXP 指数入力 - 指数入力を行う。例えば 1.2E-4 (1.2×10-4) を入力したい場合、
 
12EXP+/-4
 
と入力する事で 0.00012 を入力できる。
( / ) 演算順序指定 - 演算の順序を指定する。例えば (1+2)*3 のような場合に使う。
DRG SHIFT 角度単位変更

関数電卓として使う場合にはさらに以下のキーを使います。

キー キー入力 意味 備考
hyp ハイパボリック - 続くsin,cos,tanをハイパボリック (双曲線) とする。
archyp 2ndFhyp アークハイパボリック - 続くsin,cos,tanをアークハイパボリック (逆双曲線) とする。
(座標の区切り) - 座標の区切りを入力、或いは座標の切り替えに使う。主に座標変換の入力の際に使われる。
sin sin (正弦) value sin
sin-1 2ndFsin arcsin (逆正弦) value sin-1
hypsin sinh (双曲線正弦) value hypsin
archypsin 2ndFhypsin arcsinh (逆双曲線正弦) value archypsin
cos cos (余弦) value cos
cos-1 2ndFcos arccos (逆余弦) value cos-1
hypcos cosh (双曲線余弦) value hypcos
archypcos 2ndFhypcosn arccosh (逆双曲線余弦) value archypcos
tan tan (正接) value tan
tan-1 2ndFtan arctan (逆正接) value tan-1
hyptan tanh (双曲線正接) value hyptan
archyptan 2ndFhyptan arctanh (逆双曲線正接) value archyptan
ln ln (自然対数) value ln
ex 2ndFln exp (指数) value ex
log log10 (常用対数) value log
10x 2ndFlog 10x (10 の冪乗) value 10x
π 2ndFEXP π/ pi (円周率) value π
yx 冪乗 value1 yx value2 =
x√y 2ndFyx 冪根 value1 x√y value2 =
√ (平方根) value
3√ 2ndF 3√ (立方根) value 3√
x2 2乗 (平方) value x2
2ndFx2 % (百分率) value 直前の値を 1/100 にする。
 
1200 の 15% を求める:
1200×*152ndFx2=
 
180 が 1200 の何 % かを求める:
180÷/12002ndFx2=
1/x 1/x (逆数) value 1/x 1/5 の場合には51/x
→rθ 2ndF1/x 極座標変換 value1 value2 →rθ 直交座標 (x,y) を極座標 (r, θ) へ変換する。直交座標 (6, 4) を極座標に変換するには
 
642ndF1/xと入力する。
 
最初は r (動径) が表示されている。もう一度を押すと θ(偏角) が表示される。
→xy 2ndF( 直交座標変換 value1 value2 →xy 極座標 (r, θ) を直交座標 (x,y) へ変換する。極座標 (7.2, 33.7) を直交座標に変換するには
 
723372ndF(と入力する。
 
最初は座標 x が表示されている。もう一度を押すと座標 y が表示される。
n! 2ndF) n! (階乗) value n!

[電卓] モード (BASIC)

簡易電卓として使うのであれば RUN モードにします。

キー キー入力 意味 備考
09 数値 -
小数点 -
除算 value1 value2
乗算 value1 value2
減算 value1 value2
加算 value1 value2
C・CE クリア - 表示されている値がクリアされる。エラー表示のクリアにも使う。
CA SHIFTC・CE クリアオール - すべての計算内容をクリアする
EXP 指数入力 - 指数入力を行う。例えば 1.2E-4 (1.2×10-4) を入力したい場合、
 
12EXP-4
 
と入力する事で 0.00012 を入力できる。
( / ) 演算順序指定 - 演算の順序を指定する。例えば (1+2)*3 のような場合に使う。
ENTER 計算実行 -

関数電卓のように使うにはさらに以下のキーを使います。

キー キー入力 意味 備考
DRG SHIFT 角度単位変更
DEGREE DEGREE (度) DEGREEENTER で角度の単位を度に変更。DEG のシンボルが点灯する。
RAD RAD (ラジアン) RADENTER で角度の単位をラジアンに変更。RAD のシンボルが点灯する。
GRAD GRAD (グラード) GRADENTER で角度の単位をグラードに変更。GRAD のシンボルが点灯する。
π SHIFT0 π/ pi (円周率) value π
√ (平方根) value
yx 冪乗 value1 yx value2
SHIFT+ 冪乗 value1 value2

次の演算子も使えます。これらの演算子は BASIC プログラム内でも使えます。

キー キー入力 意味 備考
AND AND (論理積) value1 AND value2
NOT NOT (否定) NOT value
OR OR (論理和) value1 OR value2

次の関数も使えます。これらの関数は BASIC プログラム内でも使えます。

キー キー入力 意味 備考
ABS ABS (絶対値) ABS value
cos-1 SHIFTcos ACS (逆余弦: arccos) cos-1 value
archypcos SHIFThypcos AHC (逆双曲線余弦) archypcos value
archypsin SHIFThypsin AHS (逆双曲線正弦) archypsin value
archyptan SHIFThyptan AHT (逆双曲線正接) archyptan value
sin-1 SHIFTsin ASN (逆正弦: arcsin) sin-1 value
tan-1 SHIFTtan ATN (逆正接: arctan) tan-1 value
cos COS (余弦) cos value
3 SHIFT CUR (立方根) 3 value
→DEC SHIFT→HEX DEC (16進→10進変換) →DEC value
→DEG DEG (度分秒→10進数度) →DEG value
→D・MS SHIFT→DEG DMS (10進数度→度分秒) →D・MS value
ex SHIFTln EXP (指数: ex) ex value EXPボタンでは E が入力されるだけ。
n! SHIFT) FAC (階乗: n!) value n!
hypcos HCS (双曲線余弦) hypcos value
→HEX HEX (10進→16進変換) →HEX value
hypsin HSN (双曲線正弦) hypsin value
hyptan HTN (双曲線正接) hyptan value
INT INT (整数化) INT value
ln LN (自然対数: loge) ln value
log LOG (常用対数: log10) log value
π SHIFTEXP PI (円周率) π ※擬似変数
→rθ SHIFT1/x POL (直交座標→極座標変換) →rθ (value1, value2)
1/x RCP (逆数: 1/x) 1/x value
→xy SHIFT( REC (極座標→直交座標変換) →xy (value1, value2)
RND RND (ランダム) RND value
X が負数の場合 直前に発生した乱数 (あるいは乱数列) と同じ乱数を発生させるために初期値を一定にする。
X が 0 から1 未満の場合 0 から 1 未満の乱数を発生させる。
X が1 以上の整数の場合 1 から X の値以下の乱数を発生させる。(1 ≦ RND X ≦ X)。
X が1 以上の実数の場合 1 から X の整数部に 1 を加えた値以下の乱数を発生させる。(1 ≦ RND X ≦ (INT X) + 1)
ただし、この場合は小数部の値によって乱数の発生に差が出る。
x√y SHIFTyx ROT (冪乗根) x√y value
SGN SGN (符号関数) SGN value
X > 0 1
X < 0 -1
X = 0 0
sin SIN (正弦) sin value
SQR (平方根) value
x2 SQU (2 乗) x2 value
tan TAN (正接) tan value
10x SHIFTlog TEN (指数: 10x) 10x value


ハードウェア

購入したり作ったり...。

カセットインターフェイス CE-124

CE-124 は幅広い機種で使えるカセットインターフェイスです (現物を所持していないので、サービスマニュアルの画像です)。

今となっては入手難の CE-124 を探すより、後述の『ポケ POWER +』 を購入するのが便利でいいと思います。はんだ付けが苦手でないのなら、自作してみるのも手だと思います。

ブレッドボードで構築する事もできますし、基板を使った場合でも \2,000円程度で作れます。

See also:


プリンタ/カセットインターフェイス CE-126P

CE-126P はプリンタ/カセットインターフェイスです。

See also:


RS-232C レベルコンバータ CE-130T

RS-232C で通信するために必要なケーブルです。ハードウエアフロー制御に対応しています。


RS-232C レベルコンバータ CE-140T

RS-232C で通信するために必要なケーブルです。ハードウエアフロー制御に対応していない代わりに外部電源が不要です。


USB シリアル I/F を自作する

USB シリアル I/F は比較的簡単に自作できます。


RAM カードを入手する

今となっては純正 RAM カードの入手は難しいです。

自作 (or 改造) できる自信がないのであれば、高松製作所さんから RAM カードを購入するといいでしょう。

自作するより購入した方が安いと思います (トータルで考えると)。



ソフトウェア

何はともあれ "ポケットリンクシステム(PLINK)" 環境を構築すれば便利になります。ポケットリンクシステムとは PC に仮想ドライブを作成するもので、PLINK.SYS はそのために必要な PC-E500 側のデバイスドライバです。PC-E500 と PC は RS-232C で接続します。PC 側にはサーバ (APLINKS) が起動している必要があります。PC-E500 からはこの仮想ドライブを L: として利用でき、容量も 128KB (または 512KB) あります。

最初の PLINK.SYS の導入だけが難関ですが、これさえできれば後はポケットリンクシステムでファイル転送が可能になります。


PLINKC

PLINKC はポケットリンクシステム (PLINK) の高速化版です。別途サーバが必要になります。

PLINK.SYS のインストール方法を以下に示します。

  1. PC-E500 を [BASIC] モードにする。
  2. PC-E500 を実行モード (RUN) にする。
  3. マシン語領域を確保する
    POKE &BFE03,&1A,&FD,&0B,&00,&0C,&00
    CALL &FFFD8
  4. RS-232C の設定を行う (CE-140T を使っていない場合、POKE 文は不要)
    POKE &BFD35,0,255,0,80
    OPEN "COM:9600,N,8,1,A,L,&H1A,X,N"
    CLOSE
  5. PC で PLINKC のアーカイブを解凍する。
  6. PLINKC.BAS のある場所に "PLINK インストーラ転送ツール" を解凍する。
  7. PC-E500 で受信待機状態にする。
    LOAD "COM:",R
  8. "PLINK インストーラ転送ツール" (TransPLINK.exe) を実行。
  9. "PLINK インストーラ転送ツール" で [Config] ボタンを押して COM ポートを変更する (他は変更する必要がありません)。
  10. [Transfer PLINK installer] ボタンを押して転送を開始する。
  11. 実行モード (RUN) だった場合、転送が終わると自動的に PLINK のインストールが開始される。プログラムモード (PRO) だった場合には自動でインストーラが実行されないので、BASICキーを押して実行モード (RUN) にし、RUN コマンドを実行する。
  12. PLINK のインストールが完了。

"PLINK インストーラ転送ツール" は PLINK / PLINKC インストーラ転送用の専用アプリケーションです。EXE と同じ場所に PLINK.BAS または PLINKC.BAS があればそれを転送します。Vista 以降にはハイパーターミナルが付属しませんし、ハイパーターミナルは文字化けする事があります...かといって他のターミナルプログラムをインストールして使うのは大げさなので専用ツールを作ってみました。


APLINKS

APLINKS for Win32 はポケットリンクシステム (PLINK) の Windows 用サーバです。APLINKS は適当な場所に解凍するだけで使えます。

以下にサーバの起動手順を示します。

  1. aplinksw32.exe を実行します。
  2. [設定 | 環境設定] でポートを設定します。
  3. [ファイル | 接続] で接続します。

APLINKS 側で行う事はこれだけです。今度は PC-E500 側で設定を行います。

  1. PC-E500 を [BASIC] モードにする。
  2. RS-232C の設定を行う
    OPEN "COM:9600,N,8,1,A,L,&H1A,N,N"
    CLOSE
  3. APLINKS (サーバ) で仮想ドライブを 512KB に設定した場合には INIT "L:5" を実行する。

これで仮想ドライブ L: が使えるようになりました。読み書きが終わって仮想ドライブの中身をフラッシュするには INIT "L:D" を行う必要があります。つまり、ポケットリンクシステムを終了する前 (ケーブルを抜くかサーバを停める前) には必ず INIT "L:D" を行わなくてはなりません。

PC のファイルを L: に転送したい場合には、APLINKS の "デフォルトディレクトリ" ([設定 | 環境設定] の [一般設定] タブで設定できます) にファイルをコピーするだけです。ここまでできればインターネットで公開されている PC-E500 用のソフトウェアを簡単にインストールする事ができますね。


PC-E500 エミュレータ

PC-E500 の実機はいつまで動作するかわかりません。エミュレータを使えば PC-E500 の環境で遊ぶ事ができるのですが、それには実機の ROM (S3:) を吸い出したものが必要となります。

そこで S3ROM を簡単に吸い出すためのツール "Get S3" を作りました。以下に使い方を示します。

PUTROM.BAS の転送

まずは S3 吸出し用の PUTROM.BAS を転送しなくてはなりません。

  1. Get S3 のアーカイブをダウンロードする。
  2. Get S3 を適当な所に解凍し、gets3.exe を実行する。
  3. Get S3 で [Config] ボタンを押して COM ポートを変更する (他は変更する必要がありません)。
  4. PC-E500 で受信待機状態にする (CE-140T を使っていない場合、POKE 文は不要)。
    POKE &BFD35,0,255,0,80
    OPEN "COM:9600,N,8,1,A,L,&H1A,X,N"
    CLOSE
    LOAD "COM:"
  5. [Transfer PUTROM.BAS] ボタンを押して転送を開始する。

S3 の吸出し

S3 ROM を吸い出します。

  1. Get S3 の [Connect] ボタンを押して受信待機状態にする。
  2. PC-E500 で RUN して PUTROM.BAS を実行する。
  3. S3 が吸い出される。
  4. PC-E500 に完了のメッセージが出るまで待つ (4時間以上掛かりますので電池に注意)。
  5. [Save S3.ROM] ボタンを押して S3.ROM を保存する。

Windows 用 PC-E500 エミュレータ

PC-E500 用のエミュレータはイロイロありますが、まずは Windows で動作する "e500e 2000" を試してみるといいでしょう。

このトピックの PC-E500 のスクリーンショットは "e500e 2000" のものです。また、"e500e 2000" はポケットリンクシステムの機能を備えています (APLINKS サーバを内蔵している)。


Tips

イロイロ。


ペリフェラルコネクタ (11ピン) のピンアサインは?

ペリフェラルコネクタ (11ピン) のピンアサインは以下の通りです。ピン番号は本体上から順に振っていますが、資料によってはシールドが #1、SEL1 (IB5) が #2...MTout2 が #12 になっているものがあります。

NO 端子 信号名 IN/OUT I/O
1 - MTout2 IN -
2 GND GND (+6V) -
3 VGG VGG (0V) -
4 FO1 Busy OUT OUT
5 FO2 Din OUT OUT
6 Xin MTin IN -
7 Xout MTout1 OUT -
8 IB8 Dout IN I/O
9 IB7 ACK IN I/O
10 IB6 SEL2 OUT I/O
11 IB5 SEL1 OUT I/O

通常のピンヘッダやブレッドボード用のジャンパーワイヤーを使って接続できます。


シリアルポートコネクタ (15ピン) のピンアサインは?

シリアルポートコネクタ (15ピン) のピンアサインは以下の通りです。

NO 信号名 シンボル IN/OUT
1 フレームグラウンド
(Frame Ground)
FG -
2 送信データ
(Send Data)
SD OUT
3 受信データ
(Recieve Data)
RD IN
4 送信要求
(Request to Send)
RS OUT
5 送信可
(Clear to Send)
CS IN
6 (NC) -
7 信号用接地
(Signal Ground)
SG -
8 キャリア検出
(Data Carrier Detect)
CD IN
9 (NC) -
10 (電源電圧) VC -
11 受信可
(Recieve Ready)
RR OUT
12 ペリフェラル応答
(Peripheral Acknowledge)
PAC IN
13 (電源電圧) VC -
14 データターミナルレディ
(Data Terminal Ready)
ER OUT
15 ペリフェラル要求
(Peripheral Request)
PRQ OUT

こちらはハープピッチのピンヘッダを使って接続できます。


キーボードのクリック音を消すには?

キーボードのクリック音を消すには [BASIC] モードでCTRL+0を押します。クリック音を出すようにするには再度CTRL+0を押します。


キーリピートをやめるには?

キーリピートをやめるには [BASIC] モードでCTRL+1を押します。キーリピートを行うようにするには再度CTRL+1を押します。


USB<->シリアル変換ケーブルを使っているのだけれど COM ポート番号が判らない&変更したい

USB<->シリアル変換ケーブルの現在の COM ポート番号はデバイスマネージャを開くと判ります。

USB<->シリアル変換ケーブルの場合、COM17 とかアプリケーションによっては指定できない COM ポート番号を割り振られる事がありますが、これは表示されている当該 COM デバイスをダブルクリックしてプロパティダイアログを表示し、[ポートの設定] タブで変更する事ができます。 [ポートの設定] タブの内容はハードウェアそれぞれで独自なので一概には説明できませんが、大抵はコンボボックスで COM ポート番号を変更できるようになっています。

iBuffalo BSUSRC0610BS の場合には、[ポートの設定] タブにある [詳細設定] ボタンを押すとその中で COM ポート番号を変更する事ができます。


9600 baud では遅い

PC-E500 の RS-232C は無改造で 19200 baud にする事ができます。OPEN コマンドでは 9600 baud までしか指定できませんが、BFD33H の上位 4 ビットを 0111 にする事によって 19200 baud に変更する事ができます。具体的には以下のように設定します。

POKE &BFD33, (PEEK &BFD33) OR &70
OPEN "COM:"
CLOSE

パラメータ SIO baud rate: BFD33H の詳細は以下の通りです。

7 6 5 4 3 2 1 0
- Speed Parity Char Len Stop Bit
0 000: None
001: 300 baud
010: 600 baud
011: 1200 baud
100: 2400 baud
101: 4800 baud
110: 9600 baud
111: 19200 baud
00: Even
01: Odd
10: None
11: None
0: 8bit
1: 7bit
0: 1bit
1: 2bit

19200 baud 以外の速度にするには OPEN コマンドを使ったほうが解りやすいです。

現在の状態を確認するには以下を実行します。

HEX$(PEEK &BFD33)

0x~7x (x は 0~F) が表示されると思いますが、上位桁が速度を表しています。7x と表示されたら 19200 baud です。

2^(((PEEK &BFD33) AND &70) / 16) * 150

面倒でなければこちらがいいでしょう。正直な話、9600 baud で使ったほうが問題も無くていいと思います。なお、PC-E500 では baud=bps です。


OPEN コマンドの詳細が解らない (RS-232C)

ごもっとも。COM に対する OPEN コマンドの書式は以下の通りです。

OPEN "COM:ボーレート,パリティ,キャラクタ長,ストップビット,転送種類,改行コード,EOF,Xon/Xoff制御,シフト制御"

ボーレート

パリティ

キャラクタ長

ストップビット

転送種類

改行コード

EOF (ファイル終端)

Xon / Xoff 制御 (ソフトウエアフロー制御)

シフト制御 (キャラクタ長が 7bit の時)

パラメータを省略すると現在の値が使われます。現在の値は OPEN$ で確認できます。


SIO のオマジナイについて詳しく!

「POKE &BFD35, ~」というのは、BASIC の OPEN 文では設定できないシリアル通信についての設定です。

アドレス 機能 ビット デフォルト 備考
7 6 5 4 3 2 1 0
BFD35H Recieve Port Condition CS CD 02H (2) 指定されたポートが High の時に受信する
BFD36H Recieve Port Control 1 ER RR RS 1 1 1 1 DFH (223) 受信バッファが Full の時、指定されたポートが Low になる
BFD37H Send Port Condition CS CD 04H (4) 指定されたポートが High になったら送信する。Low の場合、エラータイマー時間の分だけ待つ
BFD38H Send Port Control ER RR RS 50H (80) データ送信前に指定されたポートが High、送信後に Low になる

Download

自作の PC-E500 用ツールです。


PLINK インストーラ転送ツール

PLINK.BAS / PLINKC.BAS を転送するツールです。


Get S3

エミュレータ用の ROM イメージを吸い出すツールです。PUTROM.BAS 及び GETROM.EXE (MAKEROM3 に含まれる) は不要です。

0xC0000h~0xFFFFFh の 256KB の ROM イメージを作成します。PC-E650 / PC-U6000 の場合には 384KB の ROM イメージ (+0x20000h~0x3FFFFh) を作成します。吸出しに掛かる時間は 9600 baud で 4 時間超です (256KB の場合)。

ポケットリンクシステムを使えているのなら、SAVEM で吸い出した方が高速だと思います。

SAVEM コマンドの書式は SAVEM "d:ファイル名",開始アドレス,終了アドレス です。



ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。

メニュー: