PC-98XL^2っていうのは、i80386DX-16MHzのパソコンです。ちょっとパワーアップさせる事にしました。以下の改造を施します。
なお、改造する時は個人の責任においてやってください。
・ | CPUの交換 i386DX → Cx486DRx2 |
・ | Clock Up 16MHz → 20MHz |
・ | 39.3216MHzの水晶発振器 (できれば長方形のもの(入手困難?) |
・ | 74LS393 (DIPパッケージのもの) |
・ | 1Kオームの抵抗 |
・ | 0.2φくらいの電線 |
・ | 丸ピンの14ピンICソケット |
Cx486DRx2に交換します。このCPUはかなり発熱するのでヒートシンクを取り付けて放熱を良くします。 CPUより大きなヒートシンクを取り付ける時は、CPUの取り付けレバーにヒートシンクが掛からない様にします。
CPUボードのすぐ右隣にはHDD I/Fボードがありますが、このボードがヒートシンクに当たってCPUを取り付けられないので取り外します。 内蔵のHDD(ST-506 40MB*2(NEC D5146))は使えなくなります。潔くあきらめましょう;_;/ 薄型(高さが3mmくらい)のヒートシンクがあれば、取り外さなくても大丈夫かもしれません(^^; ちなみに、このHDDは平均シークタイム40ms以上と最近のMOより遅いです;_;/
HDD I/Fボードを取り外すと、HDDのコネクタのあった所に穴があいてしまうので、ビニールテープなどで塞いでおきます。 ついでにHDD本体も取り外してしまいましょう。HDDは前面パネルを外して前から脱着します。
CPUボード上のCPUの右隣に31.9488MHzの長方形の水晶発振器がありますが、これを取り外します。 GNDのパターンは広くて温まりにくいので28W~40Wくらいのコテで作業すると、やりやすいと思います。
次に丸ピンの14ピンのICソケットを加工します。1、7、8、14番ピンを残してピンの細くなっている部分を切り落とします。 切り落としたら4Pinと7Pin、8Pinと11Pinを短絡するように配線してください。
次に加工の終わったICソケットを取り付けます。ICソケットの方向に注意して取り付けてください。
もし取り外した31.9488MHzの発振器が無事なら一旦ソケットにさして元通り動作するか確認するといいかもしれません。 動かなかったらCPUや発振器の方向や、ソケットの抜け、ボードのさし間違え等が無いかどうかチェックします。
ボードの順番は以下の通りです。(本体正面を手前にもってきた状態)
一番左から
・ | 内蔵用拡張メモリスロット(初期状態では何もささってません(増設していなければ^^;)) |
・ | メモリボード |
・ | メモリコントロールボード |
・ | CPUボード |
・ | HDD I/Fボード(今回は取り外します) |
・ | ビデオボード |
ちなみに場所を間違えると起動しません。
PC-98XL^2は、CPUクロックから各種のシステムクロックを分周して作っているのでCPUクロックをあげるとCPU以外も影響を受けます。 このCPUクロックを分周する方法は、PC-9801FAあたりまで(?)は伝統的に使われているみたいです。 比較的新しい機種(A-MATE以降?)はシステムクロックとCPUクロックが分離されているのでクロックアップしても問題ありません。
98x1には伝統的に5MHz系と8MHz系の2種類のものがあります。
8MHz系だとRS-232C I/Fが分周比の関係で9600BPS以上だとボーレートが合わないという現象がおきて不便です。 (%N1とかのATコマンドを使うと20800BPSとか41600BPSで通信できるモデムもありますね(^^;)
5MHz系だとシステムクロックが、ちょっぴり高速なので幸せです。
5MHz系と8MHz系の違いを以下に示します。(12MHzのマシンは5MHz系です。初代98のみSCLK1が4.9152MHz)
系列 | 源発振 | SCLK1 | DMA | タイマ | S18CLK |
5MHz系 | 39.3216MHz | 9.8304MHz | 4.9152MHz | 2.4576MHz | 302.7KHz |
8MHz系 | 31.9488MHz | 7.9872MHz | 3.9936MHz | 1.9968MHz | 302.7KHz |
SCLK1へは源発振を4分周、DMAへは8分周、タイマへは16分周した周波数がそれぞれ供給されている事が分かります。 S18CLKは、5MHz系の場合はSCLK1を32分周、8MHzの場合はSCLK1を26分周して302.7KHzを作り出しています。
水晶発振器を交換すると源発振の周波数が変わるのでそれに合わせて他の周波数も変化します。 31.9488MHzの発振器を39.3216MHzへ交換したのでS18CLKを除いては5MHz系と同じになりました。
PC-98XL^2は元々8MHz系のマシンなので、S18CLKはSCLKを26分周して作っています。 このままだとS18CLKは378KHzになってしまい、元の302.7KHzとはかけ離れた値になってしまいます。 S18CLKはキーボードと通信するためのボーレートを左右するのでこれが変化するとキーボードが使えなくなってしまいます。 それでは困るので、S18CLKが302.7KHzになるように改造します。 (キーボードを同じ比率でクロックをあげて対処するって方法もあります)
S18CLKは、基板の2G~4GのあたりにあるD67020G11というQFPのICで作られるみたいです。 このICからの出力は基板の6Fあたりにある74F04の9番ピンに入り8番ピンから出力されます。
SCLK1は、基板の2Eのあたりにある、74S04(74F02だったかも(^^;)の1番ピンから出力されます。
元からあるS18CLKの出力をを切り離し、代わりにSCLK1を32分周した信号が流れるようにします。
基板の6Gのあたりにある、74LS244の左隣に細いパターンが走っているのでそれをパターンカットします。 他のパターンをカットしてしまわない様にカッターナイフでゴリゴリやります。
用意した74LS393を加工します。2番ピンと12番ピンを上側に折り曲げて互いの足が触れるようにします。なるべく高さが低くなるようにします。 次に、1、7、14番以外のピンを先の細くなっている部分だけを切ります。次に残った太い部分をペンチなどで水平になるように曲げます。 6番と13番ピンを電線を使って接続します。 11番ピンに10cm、2番ピンに5cm程度の電線を取り付けます。なるべく横にでっぱらない様にします。 (32分周するように回路を作るって事です。分かる人は手持ちのICで適当に作ってください。)
リセットボタンのあるマザーボードの部品面の2Eのあたりに74S02(74F02だったかも(^^;)があると思いますので、74S02にいま加工した74LS393を 重ねて1、7、14番ピンを74S02の1、7、14番ピンに半田付けします。 2番ピンにつけた電線を1Cのあたりにある74F374の10番ピンへ接続します。 10番ピンにつけた電線を6Gのあたりにある74LS244の20番ピンの左側にある基板のスルーホールへ接続します。(パターンカットしたところのそば) (作った分周回路の入力にSCLK1を接続して、出力を6Fにある74F04の9番ピンへ接続するって事です。分かる人は適当にやってください)
PC-98x1はノーマルモードだとIO Portの42h(プリンタのステータス)で5MHz系か8MHz系かの識別ができる様になっています。 プリンタのコネクタがある基板の3Bにある74LS244の17番ピンが識別ビットに相当します。 このピンは通常は8MHz系の場合はHで5MHz系の場合はLになります。今回は改造によって5MHz系になるのでLになるようにします。
74LS244の17番ピンは基板の13Kのあたりにあるスルーホールを経由して16J~17JのあたりにあるD65042G026というQFPのICに接続されています。 この接続をカットしてから1Kオームの抵抗を通してプルダウンします。
テスター等で13Kのスルーホールが、3Bにある74LS244の17番ピンとつながってる事を確認した後にスルーホールから2mmくらいのところでパターンをカットします。 近くに別のパターンが走っているので他のパターンを切ってしまわないように注意します。
1Kオームの抵抗を13Kのスルーホールと、同じく13Kにあるタンタル電解コンデンサのGND側に接続します。
ソケットに39.3216MHzの水晶発振器をさして起動します。 キーボードが正常に動かない場合は、74LS393まわりの配線ミスが原因です。 「ピポッ」という起動音の音程が大幅に高い場合は、74LS244の17番ピンが正常にプルダウンできてません。 正常にプルダウンされていると起動音の変化が小幅です。(って、どのくらいだか全然わからないですね;_;/) 起動しない場合はすぐに電源を切ります。
周波数カウンタがあるなら21Hにある8251の25番ピンに302.7KHzがきているかどうか調べてみてください。 (16Hにある74LS04を経由してS18CLK本線とつながっています)
5MHz系か8MHz系を見分けるには、システム共通領域とよばれるメモリを読み出す事によっても可能です。 ここが書き変わらないと一部の通信ソフトでボーレートの設定がおかしくなります(;_;/ ちなみにシステム共通領域を調べる方法がNECが推奨するやり方みたいです。
このメモリは起動時に自己診断プログラムが値をセットします。 (自己診断プログラムは普段は別のバンクにあってCPUからはアクセスできません) 本来ならROMを書き換えてここも5MHz系の設定になる様にするべきなのですが、面倒くさいのでソフトで対応する事にします。
Cバス用のメモリが4枚ほどあったので、そのうち2枚を合成して4Mのメモリとして合計3枚を本体に内蔵しました。 接続用の線を300本ほど用意したあとにCバスの裏側に半田付けします。 Cバスの裏についているプラスチック製のカバーが邪魔になるので切れ目をいれます。 アドレス拡張スイッチを押す必要があるメモリボードの場合は、Cバスの横についているジャンパピンを下側にセットすると、 Cバスについているリミットスイッチが押された状態と同じ事になります。
内蔵するボードは逆さまになります。HDDを取り外したところに空間ができますのでそこに入れます。 HDDを取り外さなくても、HDDの入ってる部分とマザーボードの間に2枚程度なら入ります。 ガムテープやプラパンを使ってショートしない様にうまい具合にやります。
ちなみに98XL^2の内蔵用メモリは、NECでまだ売ってますが8Mで9万円くらいします(あぅ~;_;/)
39.3216MHzの水晶発振器は秋葉をうろついてもなかなか見つかりませんでした。私はRAM STATEさんで買いました。
長方形型の物は在庫が無く正方形型のものはすぐ手に入るという話だったので、正方形型の物を買いました。
改造を行ったマザーボードはG8AWRというロットのものでした。
マザーボードの中央あたりにあるCバスっぽいスロットは、少々サイズが大きいですけどA1の方から順番に CバスのA1番ピンと対応してます。A50以降はアドレス拡張スイッチに使用されているみたいです。
cpubenchの結果が20くらいになりました。目に見えるほどの大きな変化はありません(^^;