現在地

PC-1246の思い出


ちょっと思い出したのでシャープのポケコンPC-1246の思い出を書いてみようかと思います。

中学生の時、クラスメイトにPC-1245を持っているのがおりました。非公式ですがマシン語やグラフィック(キャラクタLCDなので横5ドットごとに1ドット分の隙間はありますが)が使えるという情報があり、当時電車通学していたこともあって欲しくなってしまいました。

それでお金を貯めて買いに行ったのですが......

ちょうど後継機のPC-1246が発売されており、かなり高速化もされているとのことで、若干の不安もあったのですが新しいPC-1246を買ってしまったのでした。

これ確かに公式には上位互換の後継機なのですが、CPUも全くの別物に変更されており、マシン語もグラフィックも使えません。

弄り始めてすぐにそのことに気づいて愕然としたのですが、非公式の機能が使えないからと言って文句を言う筋合いはありません。

それでも何か出来ないかと探り始めました。

後にPC-286note FPC-386note Aで、買ってすぐに解析始める習慣はここから始まったといってよいと思います。

すぐにわかったのはPOKE命令・PEEK関数は存在するということです。アドレス範囲はRAMサイズと同じ0~2047までなので残念ながらROMを読むことはできません。まぁ読めてもCPUの情報はまったくありませんでしたが。

一方CALL命令はありませんでした。

行番号を付けて入力してからその行を編集しようとすると、予約語はカーソルが飛ぶ(予約語でなければ1文字ずつ)ので命令(関数)が存在するかは簡単にわかります。

この辺りで調べるべきことがハッキリしてきます。

  1. BASICテキストの格納方法がどうなっているのか
  2. VRAMに相当するエリアはあるのか
  3. BASICの隠し命令(特にマシン語実行にかかわるもの)はないのか

1.は比較的簡単で、REMか文字列に特徴的なモノを入れておいてサーチ(もちろんそんな機能は無いのでプログラムを組む)しました。その前後を読めば大体わかります。

2.は結局わからなかったはずです。

3.は最初は予約語の短縮入力を使いました。

例えば10 B.のように入力します。もしBで始まる予約語が存在しなければこのままですが、もしあればこの行は10 BEEPのように表示されます。ただし他にもあるかもしれませんので次は10 BA. BB. BC. BD. BE.などと入力して探っていくのです。

これはさすがに面倒なので途中からは1.の結果を利用しました。

予約語はコード化されて保存されているのでプログラムテキストの保存されている領域を書き換えてはリストを表示させてみるのです。

これらを繰り返して探したのですが、残念ながらマシン語の実行できる命令は見つかりませんでした。

発見できたのはCK00CK01だったかな。詳細は忘れてしまいましたが、キーボードとLCD表示のテストをする機能が入っていました。

というわけでマシン語で遊ぶという夢はかないませんでしたが、BASICの範囲では普通に使えて電車内の暇つぶしの道具としても活躍しました。

また後に別のクラスメイトからPC-1261を安価に譲り受けてポケコンのマシン語も無事に堪能できました。

関連項目: 

コメント

PC-1246が出る前に、安売りしていたのを買いました。
マシン語には手を出しませんでしたが、V-RAMにPOKEでパターンを書き込むのはかなり遊べました。
画面が小さいので、BASICでゲームを作っても実行速度にあまり不満はなかった気がします。
当時は中学生で普段の生活で電車に乗ることはあまりなかったですが、親に内緒でPC-1245を購入して、家で机に向かっているふりをして遊んでいました…親にはバレていたようですが。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。