HC-88でプログラミング! その1

HC-88の資料が少ない!

やっとHC-88でプログラミングを楽しむ段階まで来る事が出来た。

 

レトロパソコンの楽しみ方は人それぞれ、ゲームするもヨシ、ハードを充実させるもヨシ、動かさずに飾っとくのもヨシ、実用という段階から卒業してるマシンなんだから、楽しみ方なんて多岐にわたると思う。

 

私の楽しみ方は、なんといってもプログラミング。一生懸命に修理して動かすようにしているのも、その先にあるプログラミングをしたい!という大目的があるからだ。そのため、プログラミングするのに必要なものだけを最優先に修理し、本来であれば「え?これ必要でしょ?」というモノを後回しにしちゃったりもしてる(フロッピーディスクドライブとか)。

 

そんなプログラミングを楽しみにしている私でも、どーにもならない事がある。

そう、当時の資料が手に入らない事だ。

先日のブログにもちょろっと書いたけど、CAPSロックの仕方が分からないとか、マニュアルみたら一発なんだろうな…と思う事を何日も悩んだりする。

通常使用の方法ですらこうなのだから、プログラムを組む上での技術資料などは見つからなかったら手を出せないというのがホンネだ。

 

昔のマニュアルは、技術的なところにもだいぶ踏み込んで書いてくれているので、マニュアルさえ手元にあれば、あとは解析でなんとかしのげる場合もある。

しかし解析はとても時間が掛かる…。

 

そんな私が愛用しているのが国会図書館

本のタイトルが分かれば国会図書館へ出向いていき、実物を見つつ複写サービスを受ける事が出来る。著作権保護の兼ね合いから丸々1冊の複写は許されない。本の50%、または100ページの範囲で複写サービスを受ける事が出来る。

50%って事は2回行けば1冊分?とか思うかも知れないが、複写した記録は残るようになっているので、生涯を通じて50%の複写しか出来ない。

50%または100ページであっても、複写出来る恩恵は計り知れない。

どうしても手に入りにくい書籍は、こんな方法で部分的に手に入れていってる。

 

f:id:PocketGriffon:20201013004133j:plain

今、手元にあるのは「HC-80/88 テニクカルマスター」という書籍の複写だ。

この本はボリューミーかつ濃厚で、とても100ページで必要な情報が収まるような本ではなかった!仕方が無いので「ここぞ」というページを複写したつもりだったのだが、今みると「なんでココ?」って思うところも複写されてる。そう、プログラムをするには情報が足りないのだ。

 

幸い、HC-40のマニュアルは手元にあるので、なんとなく似てる…という事を頼りにHC-40の資料からHC-88の構造を予測し、解析しながら進めているというのが実情だ。

そんなワケもあり、HC-88について書いていく情報は半分ホント、半分間違ってると思って読んでもらえると助かる(^^;;

 

なにはともあれ文字を表示をさせる

HC-88は基本OSにCP/M-80を採用しているおかげで、たとえBASIC上からであってもマシン語レベルではCP/Mシステムコールが使える。

CP/Mシステムコールを使えば、文字列の表示など造作も無い。

でもそれだと、HC-88でプログラムをしているというよりは、CP/Mマシンでプログラムをしている事であり、別にHC-88である必要性はない。

せっかくなのでHC-88の特徴を活かした方法でプログラミングしたいのが親心?だろう!

 

というわけで、基本方針は以下のように考えた。

HC-88はメインCPUのZ80、スレーブCPUの6301、補助CPUの7508というトリプル構成となっている。

このうち、表示系を担当しているのは6301CPU。

実際、HC-88の中では表示に関する事は、全て6301へ仕事を渡すというカタチで成り立っている。

作ってみる文字表示については、Z80から6301へコマンドを発行して表示させてみる事にした。

f:id:PocketGriffon:20201013012033j:plain

幸い、先ほどの複写サービスで、6301のコントロールの仕方が書かれた箇所を複写していた。日本語でぺろんと書いてあるのは良いけれども、情報として足りていない。ここから行間を読みつつ組み立てていくしかない。

どうやらBIOSコール[SLAVE]の、サブコマンドという形で存在するモノらしい。

 

LCDには表示モードというのがあるようで、大きく分けてキャラクタモード、グラフィックモードの2つがある。これはSCREENコマンドで指定するパラメータらしい(HC-40のマニュアルを参考にしたいが、HC-40にはSCREENコマンドが存在しない[SCREEN関数はある])。

そしてモードによってVRAMのアドレスが変化する…らしい。

 

この辺りをいろいろと試しながら作ったプログラムが↓。

f:id:PocketGriffon:20201013012726j:plain

画面左上に「#」を表示させる事が出来るようになった!

ここに来るまでに半日くらい掛かってしまった(T-T)

ちなみにプログラムの多くはC言語で書き、一部BIOSコールに近いところはアセンブラで書いている。

 

f:id:PocketGriffon:20201013012710j:plain

「#」が表示出来るようになった数分後、文字列も表示出来るようになった。

文字列を1文字ずつスレーブCPUに送り込みつつ表示させているのだが…この段階ですでに「あれ?かなり遅いぞ」って思うようになった。

どうやらZ80→6301のコミュニケーション回数が多ければ多いほど遅くなる。

文字列の場合は一気に送ってやらないといけないらしい。

 

f:id:PocketGriffon:20201013013152j:plain

若干怪しいところはあるものの、コミュニケーション回数を減らしたことですぱっと表示されるようになった!(^-^)

 

メモリダンププログラムを作る

この先は、解析に必要と思われるメモリダンプから作っていこうと思う。

文字さえ表示出来るようになればコッチのもの!

さっそくそれっぽい表示をさせてみた。

f:id:PocketGriffon:20201013013435j:plain

光の加減が悪くて見えづらいのは申し訳ないです!

カーソルキーでメモリダンプのアドレスを変更する事が出来る。

 

ここまで一気に作っていたが、問題が出てきました…。

Mac→HC-88への転送に時間が掛かってしまうのと、実行時にマシン語プログラムをメモリへ書き込むPOKE文の辺りが強烈に重いのだ。

メモリダンプを「利用するだけ」なら、ロード&実行の時間が掛かる事も致し方がない…となるのだろうが、今は開発中。ちょっと気になる箇所を直しては動作確認…というたびにわんさか時間が掛かる。

ロードについても実行(POKEでメモリへ書き込み)についても、HC-40に比べるとかなり時間が掛かってしまうため、へこたれてしまった(^^;;

 

そんな事情で、メモリダンプの開発途中だけど、ロード&実行時間を短縮するためのプログラムを書き始めた!

とりあえず今日はここまで!(^^;

 

ではまた次回!(^-^)ノ

HC-88とHC-40を比べてみた!

f:id:PocketGriffon:20201012012640j:plain

HC-88を使っていて不思議に思っていたんだけど、CAPSロックキーが存在しない。

特に困る事は無かったんだけど、メーカーはそこまで割り切ったか…と思っていた。

でもBASICのプログラムを組んでいると「やっぱりBASICはキャピタライズした文字だよな」と思っちゃう。昔からの刷り込みがあるので仕方ない(^^;;

そしたら!印刷はされていないんだけどCAPSロック機能が存在してた!

 

f:id:PocketGriffon:20201012013132j:plainf:id:PocketGriffon:20201012013144j:plain

右下にある「英小英数」と書かれたキーを押すと、挿入LEDが光ってCAPSがONになる。

解除は「SHIFT+英小英数」だ。

これはマニュアルないと気がつけない(^^;

他にもいろんな機能がありそうだけど、全く気がつけていない気がする…。

HC-88のマニュアル欲しいなぁ…。

 

CHARGE BATTERY問題

先日のブログで「バッテリーで駆動させているとCHARGE BATTERYの表示が出る」と報告した。この現象は「カセットテープを動かした」「キー入力をしていた」など、何かしら「物理的な動き」がある時に出やすいという事に気が付いた。

 

もしかしたら…作ったメインバッテリーの接着が甘くて、動かした瞬間に電池が離れてしまい、一瞬給電が途切れてしまうのではないか…と想像してみた。しかも電池ボックスがギチギチだったため、ビニールテープを極力少なめにしていた。もしかしたら電池の締め付けが緩かったのかも知れない。

 

そこで、作ったバッテリーの外周をもう一回りビニールテープできつめに締め付けてみた。こうすることにより微妙な振動があっても電池が離れる事はない…と思いたいw

試しにバッテリー駆動でテープを動かしたりキーを入力したり本体を動かしてみたが、とりあえず2時間ほど使う分には問題が出なかった。

これはこの先も様子見…という感じで見ていきたい。

 

HC-88プログラムの開発環境

さて!ようやく動作も安定してきたので、簡単なプログラムを楽しんでみよう!

まずは開発環境について考えてみる。

 

私は普段からMacintoshを愛用している。

使い慣れたエディタも開発環境も、すべてMacを中心に組み立てられている。

今回もHC-88の開発環境はMac上で構築した。

出来上がったプログラムをRS-232Cを経由してMac→HC-88へ送り込み実行させるのだ。

 

少し前にPC-8201やHC-40の開発環境を作っている。

PC-8201はCPUは8085という事もあり、Cコンパイラが用意出来なかったことからアセンブラでの開発をしていた。小さなプログラムを組む場合には問題ないが、少し大きなプログラムを作るのは非常にしんどい。お年頃的にも寿命が縮まっちゃうほどだ!

f:id:PocketGriffon:20201012015318p:plain

HC-40はCPUがZ80であり、世の中にある溢れんばかりのツールを使う事が出来る。その中で私はSDCCというコンパイラを利用した。コンパイラによる生産性の向上について、今さら語る事ではないけど、やはりアセンブラとは次元が違う。

きめ細かな制御が必要な場合にはインラインアセンブラを利用すれば良いので、まさに良いとこどりな環境だ!

 

HC-88も、CPUが同じくZ80なのでSDCCを利用する事にした。コンパイラを利用しながら楽に大規模なものを作っていくよ!

 

HC-40 vs HC-88

このところ、なぜかEPSONづいてる私。HC-40は超お気に入りだし、HC-88も使い込んでいけばきっと大好きになっていくに違いない。

だけどこの2機種を使い込んで行く事で、いろんな比較をしてしまうのも事実。

ここでは気になった事をいくつか列挙してみようと思う。

 

*CPU

どっちも同じZ80じゃん…というなかれ。確かに同じなんだけど、実は動作クロック数が違う。HC-40の3.58MHzに対して、HC-88は2.45MHzと約2/3の速度なのだ。

そしてこの速度差が、表示なども含めて体感としてはっきり分かるくらい違う。

HC-40に慣れた人がHC-88を触ると、間違いなく鈍重さを感じる。

 

*通信環境

ここでいう通信とは、ホストマシン(Mac)との接続についてだ。主にプログラムやデータを通信でダウンロードする事を指している。

通信については、どちらの機種も大差ない。通信速度を9600bpsに設定したとしても、実際には1文字送信するたびに7msくらい待たなければ通信バッファが溢れてしまう。

3450バイトのテキストデータを転送するのに約25秒掛かる。実質的な通信速度は2400bpsも出ていないと思う。

 

通信環境といえば1つ大きな違いがある。

HC-40はバイナリデータをRS-232Cからロード出来る。BLOADのファイルディスクリプションにCOM0が指定出来るのだ。これはめっちゃ便利!

そして困ったことにHC-88ではバイナリデータをロードセーブする事が出来ない。

この違いはめちゃくちゃ大きい。

・いちいちマシン語コードをBASICのDATA文に内包しなくても良い

・転送時間もテキストに比べると半分以下になる

・実行時にマシン語コードをPOKEする必要すら無いので、即実行可能。

この部分に関してはHC-40が大勝利だ!

 

*メモリの自由度

HC-40もHC-88もBASICのROMは、ROMカプセルという概念で存在する。CP/Mから見ると1つのドライブに割り当てられており、純粋に「BASICというプログラムを実行する」カタチでBASICが動く。

ここまでは両者ともに同じなんだけど…HC-40のBASICはプログラムがRAMにロードされることなく、ROMのまま動く。つまりメインメモリ64KBの自由度が高い。

どっちかと言えばHC-88の方が普通の構造で、実行時にRAM(TPA)にロードされ実行される。そのため、BASICのプログラムエリアが狭い。

上記の制限によりマシン語コードをBASIC化してやる必要があるHC-88で、このメモリ制限は結構きついものがある。大きなプログラムは分割して送り込むなどの必要が出てきそう。

この項目もHC-40の勝利な気がする…。

 

*グラフィック画像の扱いやすさ

ゲームにしても何にしても、高速に画面描画をしたいと思ったら、自分プログラムからVRAMを直接アクセスする方法が良い。汎用プログラムよりも高速になりそうなのは、なんとなく想像出来るかと思う。

出来ればCPUから直接アクセス出来る場所にVRAMがあるのが嬉しい。

PC-8801PC-9801など、昔のマシンの多くはCPUから直接VRAMをアクセスすることができた。逆に出来なかったのはFMシリーズやFP-1100、MSXなどなど。それぞれに一長一短があり、どちらが優れているのかは一概には言えない(特徴もあるしね)。

 

HC-40はメインメモリの一部がVRAMになっていて、Z80のプログラムから直接書き替える事が出来る。常にグラフィックVRAMとして見えていて、文字を表示する際には少し頑張らないといけない反面、自由度は非常に高い。

 

HC-88はメインCPUのZ80からは直接VRAMが見えない。どこにあるのかと言えば、スレーブCPU(6301)の先に繋がっている。つまりFM-7やFP-1100みたいな構造なのだ。そしてZ80が2.45MHzなのに比べて6301は614KHzと1/4の速度なのだ。なんか…FP-1100を彷彿させるマシン構成だ!(^^;;

実は…少し面白い使い方が出来そうなのだけど、まだテストすら出来ていない。

もう少し頑張って実験してからレポートしようと思う。

 

-----

 

あれ…なんかHC-88の優位性があんまり見いだせないぞ…(^^;

実際、HC-88でプログラムを組む方が慎重にならざるをえない構成だとは思う。

重厚なビジネス機…という感じがプンプンする!

こんな面倒なマシン……使ってて楽しくて仕方ないじゃないか!(^-^)/

 

というわけで、次回以降、HC-88でプログラミングしていこうと思う!

V20エミュレータに戻るのはもう少し待って!(^^;;

 

ではまた次回!(^-^)ノ

HC-88メンテナンス その3

直す方に一生懸命になってて、まだ大してプログラムを書いてなかったHC-88。

そういえばBASICでグラフィックを使ってみたことなかったな…と思い、簡単にLINEを表示するBASICプログラムを動かしてみた。

f:id:PocketGriffon:20201010221306j:plain

ありがちなLINE表示!

横4ドットおきに120本の線を引いてみたんだけど、まー遅い。

f:id:PocketGriffon:20201010221422j:plain

時間を計ってみたら、120本のLINEに20秒。べらぼうに遅いってワケでもないんだな。遅く見えるのは液晶表示の遅さが原因なのかも?でもこれでグラフィックアドベンチャーとか遊んだら相当イライラしそうな気はする(^^;;

 

音が出ない!

今まで全然意識してなかったんだけど、音が出ない事に気が付いた。

BASICで「BEEP 20」とかやっても何も起こらず、ちょっと時間を置いてプロンプトに戻るだけの動作。本当だったら「ピー」とか鳴ってるはずなんだろうな…。

 

気が付いてしまったモノは仕方が無い!修理してみよう!

すっかり写真を撮り忘れてしまったんだけど、内蔵スピーカー近くのコンデンサ2つの容量が抜けた状態だった。見た目はそんなに悪くなかったんだけど、外見だけじゃ判断出来ないものも多いんだな…。

 

コンデンサを交換したところ、無事に音が鳴るようになりました!

また完璧な状態に一歩近づいた(^-^)

 

ところで…

f:id:PocketGriffon:20201010222717j:plain

テスターの棒、壊れませんか???

私はこの2年間くらいの間に、2回壊してます。今回で3回め。

こんなに壊れやすいモノなんですかね…?

使い方が荒いのかなぁ(T-T)

 

マイクロカセットドライブの修理

私の中では相当なレベルで優先度の低いマイクロカセットドライブ。

多分、直ったとしても使わないだろう…と思っていたので、そもそも修理する気は無かった。

でも…せっかく分解したし、コンデンサ交換するためにメイン基板まで取り外したので、マイクロカセットも見てみよう…という気になった。

 

以前、HC-40のマイクロカセットを分解した際に、はんだされてる箇所を外さなければ分解出来ない構造になっていた。もしかしたらHC-88も同じ構造かもなぁ…と思いつつ分解。

f:id:PocketGriffon:20201010223455j:plain

そしたらやっぱり出てきましたよ、はんだを外さないといけない箇所が!
↑この赤い部分を外さないと核心部分が見えてこない。

f:id:PocketGriffon:20201010223611j:plain

はんだ吸い取り線で綺麗にしてみました!これで基板が外れる!

f:id:PocketGriffon:20201010223917j:plain

いくつかのカバーを外し、ようやく見えた核心部分!

一見、ゴムベルトが正常のように見えますが、ベルトを触ってみるとふにゃふにゃで、とてもモーターのトルクを伝えられるような感じじゃなかった!大きな丸を手で回してみても空回りするだけ…。

これは交換ですね。

 

f:id:PocketGriffon:20201010224110j:plain

手持ちのベルトと比べてみて、どうやら角ベルトのΦ40がしっくり来ることが分かった。よし、これと交換してみよう!写真は交換した直後。

大きな丸を手で回せば、もう片方も回るようになった!とてもスムース!

 

ちなみに、私はゴムベルトをWishというネットサイトで手に入れている。サイズ違いの角/平ベルトが50本くらい入って、それぞれ200円くらい。いくつもあるサイズの中から、良さそうなベルトを選ぶようにしてる。信頼性…という意味では問題あるのかも知れないけれども、それでも1〜2年はもつだろう…という割り切りをして使ってます(^-^)

 

で…組み立てようとしたところで気が付いたんですが……

f:id:PocketGriffon:20201010225036j:plain

↑見たことが無い部品が落ちてる!

これは……なんだろう??どこから?やっぱり今分解してるカセットドライブから?

こういう、見た覚えのない(意識の外にある)部品が一番困る!

果たしてどこから落ちたのか、どのタイミングだったのか、想像が出来ない(T-T)

もしもネジを外した時に奥の方から落ちたとすると、相当厄介!

こうなるともう分解してるドライブも不用意に動かせないよ…また落ちたらどーする…

 

f:id:PocketGriffon:20201010225503j:plain

散々調べてみたところ、どうやらこのモータの横にある穴の上に「置いて」あったようだ。

2つあるうちの1つが引っかかって残ったままだった。

上のフタを外した際に、固定されていると勘違いして不用意にずらしてしまったのだった。

もー…寿命縮むからやめて(T-T)

 

f:id:PocketGriffon:20201010225736j:plain

そして試しに動作確認…というのがやりづらいのも、このドライブの特徴。

ワリと完璧に組み立てるまで動かす事が出来ない。直っても直らなくてもこのままにしようと割り切った上で、動作確認なしで最後まで組み立ててしまった。

 

マイクロカセットドライブの動作確認

さて……組み立てたは良いけれども、カセットはどうやって動作確認するんだ??

マイクロカセット自体は、HC-88を手に入れた時に中に入っていたものを利用。

ふつーに考えたらLOADしつつPLAYボタンを押す…なんだろうけれども、肝心のボタンがEJECT以外にない。特段興味もなかったので使い方の知識がゼロ(^^;;

多分、HC-40と互換性があるんだろう…と思い、HC-40のマニュアルをめくる。

 

ははぁ…どうやらBASIC上で「MOUNT」するらしい。MOUNTする事でHドライブとして見える…え?カセットテープだよ?どーゆーこと???

 

半信半疑で「MOUNT」してみる。勝手にテープが巻き戻り、頭から再生し始めた!おお、カセットはちゃんと動いてるね!しかも動作音が静か。しばらく再生が続いたと思ったらテープが止まり、BASICのプロンプトに戻ってきた。

f:id:PocketGriffon:20201010230756j:plain

FILES "H:"としてみたら、なんとテープに入ってるプログラムのファイルリストが表示された!カセットテープなのに!これは面白いww なるほど、MOUNTする事でFATを読み込んだって事なのか。

じゃあ試しにプログラムをLOADしてみよう!

きゅるると巻戻り、頭出し→ロードという一連の作業を自動的に行ってくれる。

そしてプロンプトに戻ってきた。

読み込めたのかな???

LISTしてみると…

f:id:PocketGriffon:20201010230743j:plain

ちゃんと読み込めてる!!!これはホントに面白い!!

心配していたゴムベルトはキチンと仕事をしてくれてるみたい。一発完動!

 

そしてHC-88についてきたと思っていたマイクロカセットテープだけど、実はHC-40を手に入れた際についてきたモノだという事が判明。そうか、HC-40でセーブしたテープであっても、HC-88で読めるんだ!こんなところで互換性があるのはちょっと嬉しい。

全く使わないと思っていたカセットだけど、面白いので使ってみたい!

 

まだ残ってる問題は…

実はまだいくつか問題が残ったままになっている。

RS-232C経由で、ホスト→HC-88は出来るけど、HC-88→ホストは失敗する

・たまーに「CHARGE BATTERY」と表示されてしまう

 

今のところ気が付いてるのはこの2つ。

上のはプログラム開発する上ではホストからHC-88へ転送出来れば良いので放置でも良いんだけど、やっぱり気になる。

下の問題はACアダプタを繋げたまま運用すれば表示は出ない。でもなんのためのバッテリー交換だったのか…となってしまう(T-T)

 

また明日以降の自分が頑張ってくれると思います!(^^;;

ではまた次回!(^-^)ノ

HC-88メンテナンス その2

f:id:PocketGriffon:20201008221028j:plain

バッテリー環境を整えてみる!

HC-88を使っていて気になるのは、日付や時間を保持出来ないところ!

ACアダプタをずーっと繋げている状態でも、なぜかふいに日付を忘れてしまう事があって、そのたびに設定をし直している。

そんな(信頼の出来ない)状態なので、拡張ユニットのRAM DISKにデータを保持しておく事にも積極的にはなれず…。

やっぱり最低限のバッテリー環境は構築したい!

 

昨日のブログにも書いた通り、HC-88のバッテリーは3つ存在している。

今回はそのバッテリー問題を解決していくよ!

まずは本体についているメインバッテリーから交換していく!

 

メインバッテリーを作るよ!

HC-80/88は動作時の消費電力が大きいせいか、乾電池での駆動が出来ない構造になってる。そのためバッテリー切れになるとモバイルで使えなくなってしまう。

同じ時期に発売されたであろうHC-40は乾電池駆動が出来るのに…だ。 

HC-40のメインバッテリーは4.8V 500mAhに対して、HC-88は4.8V 1100mAhの容量。倍以上も違うので乾電池駆動は諦めたって事なのかなー。単2電池で駆動させるって選択肢も取れなかっただろうから、仕方ないんですかね…。

 

そしてそのメインバッテリーは特殊なサイズの電池が使われていて、簡単には手に入らないと思われた。さてどうしようか……と思っていたが、優秀な知人!のおかげで無事に互換品を手に入れる事が出来た!

Amazonで注文したら、なんと翌日には届いた!

 

f:id:PocketGriffon:20201009234139j:plain

赤いのが元から入っていたバッテリー。

隣に並んでいるのが、今回手に入れた同サイズのバッテリーで1.2V 2200mAh。

これを4つ直列に繋げて4.8V 8800mAhのバッテリーを作っていく。

容量も単純な足し算でいいのかな…8800mAhって元の8倍じゃん…。

いったい何時間、バッテリーで駆動出来るんだろ??

そしてきっと充電時間も8倍(^^;

 

f:id:PocketGriffon:20201009234658j:plain

↑このバッテリー、プラス側のでっぱりが高くなくて、周りの段ボール?よりもへっこんでしまっている。2つ繋げたとしても通電しないじゃん…どーすんのコレ…。
そもそも周りの段ボールは取るべきモノなの?それともこのまま使うモノ??

良く分かんないなー(T-T)

 

でもこれは単純な方法であっさり解決!

f:id:PocketGriffon:20201009234913j:plain

↑こんな感じに、折りたたんだアルミホイルを上に乗せて「かさまし」してやった!

これで繋げた時にもちゃんと通電されるぜぃ!

 

f:id:PocketGriffon:20201009235559j:plain

ちゃんと定格(4.8V)をクリア。

 バッテリーを繋げる(作る)辺りは素人すぎる方法なのでお見せ出来ませんが、一応ちゃんとはんだづけして固定してる。

サイズがギリギリなのでテーピングも必要最低限!

 

f:id:PocketGriffon:20201009235810j:plain

本体に入れてみるとギッチギチ!

ぎゅーぎゅー押し込んだというよりは、すぽっとはまった感じ。

よくコレで入ってるな…って感じのフィット感です!(^^;;

 

さあ、まずはこれで電源が入るのか……緊張の一瞬…。

f:id:PocketGriffon:20201010001013j:plain

↑あっさり起動した!

この状態でもうACアダプタは繋げていない。怖いので拡張ユニットは外してあり、本体単品で動作している状態。

液晶が見づらいのはやっぱりビネガー入ってるせいかな…。肉眼ではもっとちゃんと綺麗に見えています。

 

補助バッテリーについて考えてみた!

HC-88の本体内部には、補助バッテリー(Auxiliary battery)が入っている。

4.8V 90mAhの容量。

これについて、同じサイズのものを探す事が出来ず、そのまま放置となっている。

今のところ液漏れは起こしていない。

 

実はHC-40にも同じバッテリーが入っているんだけど、同じく放置状態となっている。

それでも日付も時間も忘れずに運用が出来ているところを見ると、メインバッテリーが使えている間は大丈夫らしい(勝手な解釈w)

 

同じことがHC-88にも言えると過程して、補助バッテリーについては現状そのままにする事にした。つまり何もしない。外しもしなければメンテもしない。まさにそのまま。

これで不具合が出るようだったらなんらかの事は考える。

こんな感じの消極的解決とした!

 

拡張ユニットのバッテリーを交換!

HC-88には本体下に、ちょっと目立ちすぎるくらいのユニットが取り付けられている。

このユニットには漢字ROMと増設メモリ(運用はRAM DISKのみ)が入っている。

そしてRAM DISKのデータ保持用バッテリーも入っている。

f:id:PocketGriffon:20201010002742j:plain

4.8V 500mAhの容量で、サイズ的には単3電池を4つ並べた感じだ。

このタイプ、今まで何度も作っていたが、実は既製品で売られている事を知ったw

もちろんニッカド電池単体で手に入れた方が安いんだけど、作る手間が結構面倒だった!

今回は大人パワーで手に入れてみたよ!

 

f:id:PocketGriffon:20201010003352j:plain

↑すでに配線を加工しちゃった後だけれども、こんな感じ!

こちらも当時品よりも容量が約3倍にアップ!

 

ちなみにユニット(日本語ユニット?)の全体はこんな感じ。

f:id:PocketGriffon:20201010003750j:plain

写真には映っていないが、本当はちゃんとケースに入っている。

#727というケーブルを介して本体と接続される。

この基板に漢字ROMとRAM DISK用のメモリ64KBが載っている。

下の方に8つほどの空きパターンがあるけど、ここにメモリを増設すると128KBまで増設可能らしい。でも今の時代、このメモリ(μPD4265と印刷されている)の互換品は手に入るのかな…。詳しい方、良かったら教えてください(T-T)

 

このユニットは日本でしか売られていなかったんだと思う。

だって漢字ROMが入っているんだもんw

海外で販売されていたPX-8(HC-80の海外名)にはどんなユニットがついてるんだろ?

先日の知人(PX-8を所有、今回のバッテリーを探してくれた!)に写メをもらったので掲載しておきたい。

f:id:PocketGriffon:20201010004236j:plain

基板の形は同じだけれども、中身は全くの別物。

メモリが最初から128KB載っているのが羨ましい!

そして注目は左上にあるZ80 CPU。

なんとインテリジェントなDISKユニットとして動くらしい!

もしかしたら、このユニットに積まれているZ80にプログラムを転送して動かせたりするんだろーか? PC-8801mkIISRのディスクユニットのような使い方が出来たら夢が広がりすぎる!(^-^) ぜひ解析してみたいねー。

 

そして動作確認!

さあ、それじゃあ全部を組み立てて動作確認をしてみよう!

拡張ユニットを接続した後、念のため本体のリセットとサブCPUのリセット(本体裏側にあるフタを開けたところに見える赤いスイッチ)を押してみる。

拡張ユニットのバックアップスイッチをONにする事も忘れない!

 これで本体が完全リセットするはずだ。

 

f:id:PocketGriffon:20201010005459j:plain
おおおおおおおお!!!!

問題なく起動!

 

f:id:PocketGriffon:20201010005541j:plainf:id:PocketGriffon:20201010005702j:plain

BASICも日本語ワードプロセッサもちゃんと起動した。

もちろん、この間はすべてバッテリー駆動だ!

よっしゃー!ちゃんと動くようになった!

これはテンション上がる!!(^-^)

 

ところで…見て分かる通り、液晶ユニットにテープがべたべた貼られている。

これは先日、液晶ユニットのコンデンサを交換する際に、隠しネジがあるプレートを剥がした際に、ちょっとプレートを歪ませてしまったのだ。

誰かこの手のプレートを真っ直ぐに直す方法をご存じの方がいたら教えて欲しい(T-T)

今のところ、綺麗に直せそうにないのでテープを貼ってあるが、いつまでもこのままでは悲しすぎる…でも上手に直せる自信が無いし…という感じだ。

 

この先は…

これでようやく落ち着いてHC-88を触ろうかなって気になれる。

この後は、開発環境を整えていきたいので、まずはホストマシンとHC-88を接続する事を考えたい。RS-232CはHC-40と共通…だと思うので、まずはそれで通信してみる。

また明日以降の自分が頑張るよ、多分w

 

ではまた次回!(^-^)ノ

HC-88メンテナンス その1

f:id:PocketGriffon:20201008221028j:plain

退院したけれども、なかなかV20エミュレータに集中することが出来ないので、気分転換に別のレトロを触る事にした!

別にV20エミュレータを諦めたとかそういうのじゃないのでご安心を(^^)

 

前回もブログに登場しているけれど、あの時はただ動くのを見てみただけ!

今回はもう少しちゃんとHC-88を使ってみようと思う。

まずは安定動作するための儀式(メンテ)から。

 

コンデンサ交換の必要性

とはいいつつも、実は表示以外はワリとしっかりとした動作品なので、本体のコンデンサは交換する必要性を、今のところは感じてない。

むしろ交換して動かなくなっちゃうのが怖い…汗

 

ただひとつだけ…液晶が不安定。

コントラスト調整をしようとすると、なんとなく想像と違う感じの濃淡になってしまうのと、濃さがピタッと止まらずに、なんとなくニラニラしてる。

これは…過去にHC-40で同じ経験をしてる!

液晶ユニット内にあるコンデンサを交換すると直るはず!!

 

というわけで、さっそくバラしてみた。

f:id:PocketGriffon:20201008223125j:plain

液晶ユニットを分解すると、フラットケーブルが剥き出しになる。

ヘタに力が掛かって千切れたり傷ついたりしてしまったら取り返しが付かない!

作業する時に壊してしまう前に、動かないように固定しておこう。

 

f:id:PocketGriffon:20201008223707j:plain

そして…やっぱりありましたね、コンデンサが。

HC-40と容量も電圧も同じ。

部品が共通って意味じゃないけれども、似た構造なのかなー。

あとコンデンサが液漏れしてる感じに見えない…交換する?しない?

 

f:id:PocketGriffon:20201008223843j:plain

まぁ交換したんですけどねw

ついでだったので、ビネガーシンドロームを起こしてる液晶パネルの、偏光板交換について検討してみた。

液晶パネルを取り付けている部分はこんな感じになっている。

f:id:PocketGriffon:20201008224307j:plain

この斜めにねじられている部分を元に戻してやれば、液晶パネルの枠が取れるのだと思う。

ただ…このパターンは厄介。

パネル自体が基板と導電スポンジなどで接続されてるはずで、このねじ切りを戻す事でバラバラになる気がする。そうするとPC-E500等でおなじみの、正しく表示されるまで何度も何度も取り付け取り外しを繰り返さなければならないかも…。

 

今のところ表示はちゃんと見えている状態なので、リスクを侵すべきではないだろうと判断して、ビネガーシンドロームは修理しない事とした。

いつかはやらねば…と思いつつも、そのタイミングは「今」じゃない。

 

バッテリーの交換を検討

特にバッテリー駆動にこだわっているワケではないけれども、日付が保持出来ないのと増設メモリ(実際にはディスク)が毎回初期化されてしまうのが悲しい。

というわけで、バッテリーの交換を検討してみる!

 

HC-88にはバッテリーが3つ積まれている。

メインバッテリー、補助バッテリー、そして増設メモリユニットのバッテリーだ。

メインバッテリーは本体の駆動用。4.8Vで1100mAhの容量がある。

f:id:PocketGriffon:20201008225346j:plain

 

補助バッテリーは本体内部に固定されていて、おそらくメインメモリとカレンダークロックの保持に使われるんだと思う。4.8V 90mAh。

f:id:PocketGriffon:20201008225455j:plain

 

増設メモリユニットのバッテリーは写真を撮り忘れてしまった。

おそらく4.8V 500mAhくらいだと思う。

 

理想はこの3つを交換する事となるが、ちょっと困ったことが。

既存の電池が入らないのである。

f:id:PocketGriffon:20201008225704j:plainf:id:PocketGriffon:20201008225725j:plain

長さが微妙に収まらなかったり、重ねてみたら厚み的にムリだったり。

これは困った!

そんな話を知人(PX-8[HC-80の海外版]を所有)と話をしていたら、良さげな大きさのニッカドバッテリーを探し出してくれた!さっそく注文してみたので、届いたらまたレポートしようと思う。

 

内部のチップ探索

せっかく分解したので、内部のチップを拝見してみよう!

f:id:PocketGriffon:20201008230620j:plain

メインCPUのZ80TOSHIBAのTMPZ80COOP-3というらしい。

気になるのは基板に印刷されているμPD70008という記号!

これって8MHzのZ80じゃなかったっけ??

変なところで謎が深まってしまった…汗

 

f:id:PocketGriffon:20201008232634j:plain

スレーブCPUの6303。

主にLCDとかマイクロカセットとかサウンドとかアレとかコレとか担当。

型番的に聞き慣れないけど、中身はほぼ6800。

私は68系は6809が最初だったので、正直6800は使ったことが無い。

これもちょっとアセンブラで書いてみたいね(^^)

 

f:id:PocketGriffon:20201008233315j:plain

メインCPUとスレーブCPUを繋ぐ役目のSED1320。

LCDコントローラでもあるらしい。

あんまり分かってないけど、重要な役目のチップ(^^;;

 

f:id:PocketGriffon:20201008234550j:plain

おそらくコレが補助CPUの7508…なんだと思う。

キーボード入力とか担当。

 

f:id:PocketGriffon:20201008234748j:plain

これは…おそらくシステム系のROM?

CP/Mとかシステムメニューとか入ってるのかな…。

EPROMっぽく見えるけどそうなのかな??

 

…とまぁこんな感じでHC-88を見ていってみた。

まだ何も使う事は出来ていないけれども、この先開発環境とか整えるよ!

HC-40はシンプルなマシンで使いやすいと思ったけど、HC-88はどちらかと言えば重装備なマシンに感じてる。使いこなすには時間が掛かりそう(^^)

 

この先も、体調の問題もあるのでのんびり見ていこうと思う!

まずはHello Worldからかなー!

 

ではまた次回!(^-^)ノ

 

この状況で何が作れるのか?!

レトロな身体をリペア中!

Twitterでもちょろっと書いたけれども、今現在、千葉県の某病院に入院してます汗

急な入院だったので身の回りのモノも大して持ってこれず、最低限の入院生活をしてる。

せっかくなので手元にあるモノをご紹介!

その上でなにか創作出来ないか検討したい。

 

書籍

本ダイスキーな私が本に囲まれない生活をするなんて、あんまり考えた事がなかった…。

f:id:PocketGriffon:20200919093318j:plain

今手元にあるのは、たまたまバッグの中に入っていた↑コレ1冊。

これを読みながら、主に逆アセンブラを作成してた。

エミュレータを開発するには少し情報不足(というか書籍の趣旨的に別方面に詳しい)。

8086のプログラム組むくらいならなんとかなるかな…。

 

マシン

f:id:PocketGriffon:20200919093928j:plain

こちらもたまたまバッグに入っていたから…という理由で手元にあるMacBook Air

いつも持ち歩いている充電ケーブルセットの中にType-Cも入っていたので、充電も問題無し。

 

f:id:PocketGriffon:20200919095411j:plain

先日、西さんの「反省記」を読むためだけに復活させていたKindle

こちらも幸運にも持ち込めた。

Wi-Fi環境はなんとなくなるので新しい本も持ち込める!

これで退屈度合いも相当なレベルで変わるのではないだろうか!

 

レトロを持ち歩くクセが無かったため、ポケコンやハンドヘルド等の"使って楽しいマシン"は何一つ持ち込めていない…。

仮に持ち込めたとしても、病室でMacポケコンRS-232Cで繋げてデータ送信を…ってやってる時点で怪しさ満点だ!(個室ではない)

 

通信環境

最近の病院は院内でWi-Fiが使える(有料:5day/300yen)。

有料なので出来るだけセコく環境を整えようと思い、手持ちのiPhoneのみをWi-Fiに繋げ、そこからのテザリングで通信環境を構築しようと思ったが…。

そうするとiPhoneの使い勝手がイマイチな感じがしたので、iPhoneMacBook Airを別々にWi-Fi接続した(料金2倍w)。

 

そして気になる速度がこちら↓

f:id:PocketGriffon:20200919095605j:plain

え?結構速くないですか?

ウチの環境よりもよっぽど速いですw

これは……意外に良い環境を手に入れたのでは?w

 

ちなみにWi-Fiと一緒についてくるサービスには「マガジン読み放題」と「コミック読み放題」があったのだが…週刊誌は読む習慣がなくて撃沈、コミックも聞いたことないタイトルばかりで、とりあえず病院繋がりの「ゴッドハンド輝」だけを一気読みしたw

 

ソフトウェア

普段使っているMacBook Airを持ち込めたという事で…

DOS-Boxも動くし、

f:id:PocketGriffon:20200919101738p:plainf:id:PocketGriffon:20200919101743p:plain

開発中のV20エミュレータも問題なし。

問題があるとすれば、V20-MBC実機が手元にないので「実機ではこう動く」がさっぱり分からないところだけだろう…。

 

 

あれ?

ここまで書いてみて思ったけど、意外になんでも作れてしまうのでは…汗

予定ではまだ3週間以上の入院が続くらしい…。

手術も予定されていないので、まさにヒマヒマ星人だ!

ようやく病院生活にも慣れてきたので、なにか作ってみようかな…(^-^)

 

ではまた次回!(^-^)ノ

 

HEWLETT PACKARDマシン

ワケあって自宅のマシンを整理するために、普段使ってないマシンを棚やら押し入れやらから引っ張り出しまくってる。

そしたら出てくるわ出てくるわ(^^;

全てをご紹介するのは難しいけれども、まずはまとまって出てきたHEWLETT PACKARDのマシンを載せてみたい。

 

というか…私、特にHPに対して思い入れが強いわけでもないんだけど、なぜこんなに手元にあるのか……(^^;;

 

HP100LX/200LX/1000CX

f:id:PocketGriffon:20200909105218j:plain

上からHP100LX、HP200LX、HP1000CX。

どこかにHP95LXもあるはずなんだけど、見つからず…orz

なんのかんのいいつつも、ずーっと使い続けてるHP200LX。謎パーをちゃんと使おうとしたら手放せないのが200LX。FlashATAもSRAMカードも問題なくアクセスが出来る。変換アダプタ付ければCFやSDも使えるんだから重宝しないワケがない(^^)

HP200LXが壊れたら我が家の謎パー環境が崩壊するかも…という恐怖心から、実は何台かストックとして手元にある。たまに起動テストしてみないといけないですね…汗

 

HP300LX

f:id:PocketGriffon:20200909111230j:plain

f:id:PocketGriffon:20200909111255j:plain

え!?300LXってなに?…って人もいるのではないかと思う(^^;

あんまりなじみの深くない型番も多いHEWLETT PACKARD勢。

HP300LXはWindowsCEマシン。

当時発表されたばかりのWindowsCEというOSに興味があったのと、200LXの後継機だったらCPUパワーも上がって使い勝手も向上してるだろう…と淡い期待をして手にしたのだけれども……。

そもそも200LXのPIMを全く使ってなかった私にWindowsマシンは合わなかった!

そのため、ほとんど使わず新品同様な状態で箱に入ったままになってたw

今も使い方が分かってないので、今後もずーっとこのままかも知れない…orz

 

OmniGO100

f:id:PocketGriffon:20200909112247j:plain

f:id:PocketGriffon:20200909112311j:plain

知人から譲り受けたOmniGo100。

これも基本はPIMマシンで、200LXと違うのは画面がタッチパネルになっている事。いちいちカーソルで選択しなくても、画面タッチで選ぶ事が出来るので感覚的に使いやすい…らしい。

らしい…というのは、実はタッチパネルがずれてしまっていて、キャリブレーションしても直らないという状態だった。選択出来ない項目が多く、使い勝手そのものは良く分かってない(^^;;

 

さらに…私的にはMS-DOSマシンとして使えればサイコーだったんだけど、DOSへ降りる方法が分からず、少し使ってみてそのままになってます…汗

こういうマシンをさっそうと使いこなせればカッコイイんだろうけどなぁ…(TT)

 

OmniBook425

f:id:PocketGriffon:20200909112227j:plain

f:id:PocketGriffon:20200909112719j:plain

OmniBook425。

 先日からこのブログにも登場しまくってるので見覚えがあると思う(^^)

私が所有するHPマシンの中では一番大きくて、しかも結構使いやすい。

画面解像度的にDOS/Vマシンとして使えるので結構便利。

今、一番活用しているDOS/Vマシンなんじゃないかなー?

詳しくは一連のブログを読んでみてください(^-^)

 

関数電卓

f:id:PocketGriffon:20200909175345j:plain

左からHP39gs、HP49G、HP49g+、HP50g。

いつかプログラム作ってみたいなぁ…と思い、チャンスがあるごとに手に入れていった。

全部稼働品です。

その割に…まだ一度もプログラム組んでないという(ごめんなさい!

こういう、複数行の表示がある電卓は気になってしまい、つい手にしてしまう…。

パソコンと通信するためのケーブルなども揃っているので、いつかチャレンジ!

それまで動くように保守していきます(^^)

 

他にも、まだ出てきてないんだけど所有しているHPマシンがあったはずなので、また出てきたら何かの機会にご紹介してみたい(^^)

 

ではまた次回!(^-^)ノ