ポケコン、ゲットだぜ!!!「PC-G850V」を入手

ヤフオクを見ていたらマイコンBASICマガジンの投稿作品や学生時代に工業高校出身の友人が持っていて存在を知り憧れていたポケコンのジャンク品が、送料込みでも数千円で入手できるようだったので落札してみた。

f:id:BCC:20220215234608j:plain

落札したものは数あるポケコンの中で最終モデルに近いシャープ製の「PC-G850V」

電池の液漏れにより電池ケースに乾いた電解液の汚れや、電池接触端子に錆があったがある程度ふき取っただけで問題なく動いてくれた。

なおこのポケコンは2002年発売である。最終モデルに近いと言っておきながら20年も前の製品なのか、と突っ込まれそうだが細かいことは後述する。

知らない人も多いと思うので先にポケコンについて説明しておくと、正式名ポケットコンピュータは筆箱サイズの携帯性と乾電池4本だけで何日も動かし続けられる電源の持ちの良さ、OSなど存在せず電源を入れれば一秒も経たず直接BASICやアセンブラなどオールドなプログラミング言語が起動してプログラミング学習が行えたり関数電卓代わりになることを特徴としたその名の通りの小型コンピュータである。

価格にしても数万円と非常に安価で、学生の学習用途としては最適ということで工業高校では決まってこれを購入させられることとなっていたのだが、まあ今更BASICやアセンブラなんて学んだところで業務で活用できるかといえば疑問でしかない、値段が安い分流石に機能が少なすぎて液晶の解像度もかなり低く一度に数行しか文字が表示できない、プログラムしたものすら本体のメモリ内かレコーダ方式でカセットテープに保存、パソコンとのデータ通信もシリアルポート経由ということで段々の廃れていき、最終的に2015年に生産終了となってしまっている。自分が入手したPC-G850Vにしても次のバージョンアップ機種は2009年のPC-G850VSと型番からもわかる通りマイナーアップにすぎず、2000年代初頭からほとんど進化しないまま生産され続けたのだ。

でも、小型ながら割と頑丈(駆動部がないしリチウム電池じゃないので発火の心配もない)、ネットにも繋げられず組み込まれたプログラミング言語しか起動しないのでウイルスやアップデートによる不具合の心配もないことから、小学生にもプログラミング学習をさせようとする今のGIGAスクール構成とかいうのに最適な機械だとは思うんだよね。

大きさや電池駆動という特徴はそのままに、液晶をもうちょっとだけ解像度上げて、PythonやScratch言語を組み込んだ新商品を文教専用で出してもよさそう。

 

雑学は置いといて、憧れのポケコンを入手したので何かプログラムを組んでみよう。

ふと思いついたのが映画「ターミネーター2」でジョン・コナーがパームトップコンピュータ「Atari Portfolio」を弄ってATMをハッキングして現金を引き出しているシーン


劇中ではケーブルの繋がったカードをATMに差し込んで、PIN IDENTIFICATION PROGRAMなるプログラムを起動するとカードのPIN 4桁をハッキングできるというものだが、この映っているプログラムタイトルと数字が流れるシーンをポケコン上で再現してみたい。

この表示プログラムを真似た人は既にいてコードも公開されているが、このままポケコンのBASICに移植しようとしても、

  • 文字を表示する「PRINT」文は変数を表示させると必ず最後に「.」が入ってしまい(内部変数はすべて倍精度浮動小数点で処理されている模様)、数字列しか表示されていない映画のプログラム再現できない。
  • USINGでPRINT文の変数表示の桁数指定をすれば「.」は消えるが、桁数は数値よりも一桁文多く入力しておかないとエラーとなる。今度は数字前に空白ができてしまう。
  • Atari Portfolio」は8行40桁文字を表示できているが、ポケコン「PC-G850V」の文字出力は6行24桁表示。縮めたり文字の配置を工夫しないといけない。
  • そもそもポケコンBASICの処理速度が遅い。ポケコンのCPUがZ80 8MHzと非力で、分岐命令を入れていると文字一文字出力で処理するとパラパラと文字が表示されてしまう。

ということでちょっと改良。一文字づつ表示させず先に決めておいた3文字の文字列となっている数字を10通り分用意しておいて乱数でどれを表示するか決め、3文字づつ表示されるので5行表示された際の桁減算数はそのまま3桁とした。

これがサラ・コナー直伝、PC-G850V用ATM(なんちゃって)ハッキングプログラムだ!!

10 WAIT 3
20 PRINT "PPP   III  N  N"
30 PRINT "P  P   I   NN N IDENTIFI"
40 PRINT "PPP    I   N NN CATION"
50 PRINT "P     III  N  N PROGRAM"
60 PRINT ""
70 WAIT
80 PRINT "Strike a key when ready."
90 WAIT 6
100 PRINT ""
110 PRINT ""
120 WAIT 0
130 FOR I=0 TO 11 STEP 1
140 PRINT "1";
150 PRINT "2";
160 PRINT "3";
170 PRINT "4";
180 PRINT "5";
190 PRINT "6";
200 PRINT "7";
210 PRINT "8";
220 PRINT "9";
230 PRINT "0";
240 NEXT
250 A=0:B=-6:C=24
260 WHILE C>4
270 ON RND (10) GOTO 280,290,300,310,320,330,340,350,360,370
280 PRINT "900";:GOTO 380
290 PRINT "184";:GOTO 380
300 PRINT "236";:GOTO 380
310 PRINT "395";:GOTO 380
320 PRINT "476";:GOTO 380
330 PRINT "510";:GOTO 380
340 PRINT "693";:GOTO 380
350 PRINT "735";:GOTO 380
360 PRINT "801";:GOTO 380
370 PRINT "003";
380 A=A+3
390 IF A=24 THEN
400 A=0:B=B+1
410 ELSEIF A=C THEN
420 A=0:B=B+1
430 PRINT ""
440 ELSE 270
450 ENDIF
460 IF B=5 THEN
470 B=0:C=C-3
480 ENDIF
490 WEND
500 WAIT 1
510 FOR I=0 TO 10 STEP 1
520 PRINT "9";
530 PRINT "0";
540 PRINT "0";
550 PRINT "3"
560 NEXT
570 PRINT ""
580 PRINT "PIN NUMBER: 9003"
590 PRINT ""
600 END

実際に上記のBASICソースを起動した動画

まだ微妙に遅いけどなんかそれっぽくなったぞ。Easy Money

圧電ブザーを取り付ければビープ音も鳴るようなので、劇中で微かになっているビィビィという音も再現すればさらにそれっぽくなるか。

 

 

ちなみに、このジャンク品のほかに電源が入らないというジャンク品も先に購入していたのだが、そちらのほうはかなり電池液漏れによる劣化が酷くて、電池端子とキーボードの液漏れ跡をふき取ったところ電源は入ったものの、40ピン拡張端子のプラス電源端子を断線、液晶ケーブルの隙間にも浸透していたため液晶ライン抜けが治らずじまいだった。

ポケコンは消費電力がかなり低いのが特徴だが、その低さゆえと、更に内部メモリのデータ保持のため液晶を映っていない状態でもスタンバイ状態にしている関係で、電池を入れたままにしていると過放電状態になりやすいようだ。入手したジャンク品二台とも液漏れしているところから、まず100%液漏れすると思っていたほうがいい。そして液漏れすると最悪修理が難しい。ある程度使った電池、もしくは長期間電源を入れなくなるようならすぐに外しておくのをお勧めしておく。

f:id:BCC:20220209104552j:plain

修理不可だったPC-G850V

 

f:id:BCC:20220209121349j:plain

電池ケース真下や液晶ケーブル左端に電解液が浸み込んでいて絶縁層が剥がれたりビアに電解液に付着したまま

f:id:BCC:20220209122422j:plain

キーボードのランドに電解液跡が付着して導体を絶縁させてしまい、右上端の電源オンボタンの通電を妨害していたようだった。

 

f:id:BCC:20220209163256j:plain

f:id:BCC:20220209173824j:plain

中性洗剤と水を含ませた布→アルコールで拭いてある程度綺麗にしたところ電源は入ったものの、液晶ライン抜けは治らず。

ライン抜けの修復方法として液晶ケーブルをコテで加熱して基板と再接着する(接着剤で固定されているようで、熱を加えて溶かしなおす)方法があるが、試したところ浸透していた電解液が蒸発して焦げて余計症状が悪化してしまった。