V20/V30には16MHzで動作する高速バージョンのV20HL/V30HLというのがある。これをSBCV20で動かせないかやってみた。

 クロックジェネレータuPD71011Cは接続した水晶振動子の周波数をOSC(pin12)、1/2の周波数をCLK(pin8)、1/4の周波数をPRCLK(pin2)に出力する。uPD71011C-8は16MHz、uPD71011C-10は20MHzまでOKなので、16MHzの水晶振動子を使いOSC出力をCPUのクロックとして使い、1/2のCLK出力を周辺用のクロックにする。USARTは8MHz以上で動作するuPD71051C-10にし、ボーレートのクロックは以前SBCV20とクロックジェネレータでやったPIC12F1822により独立して供給し、システムのクロックに依存しないようにする。

 改造はパターンカットと配線2本。
(1) IC5: uPD71011Cのpin8(CLK)近傍とIC4: uPD70108のpin19(CLK)をカット。
(2) IC5: uPD71011Cのpin12(OSC)とIC4: uPD70108のpin19(CLK)を接続。
(3) IC5: uPD71011Cのpin8(CLK)とIC8: uPD71051Cのpin20(CLK)を接続。

※IC9: HC4040は外してPCI12F1822基板に差し替えているので(3)はショートしない。
※クロックの配線を両端でカットするのはアンテナになるのを防ぐため。

2021-02-17 02.15.17

 16MHz動作のメモリリードは2サイクル分で125nsなのでこれより速いROM/RAMを使用する。ROMはSTMicro M27C512-10F1、RAMはFUJITSU MB84256C-70Lに交換した。

 あと、あまり関係ないがSBCV20においてIC6はHC257の代わりにHC157が使える。

 さて、16MHzの水晶振動子を挿して実験。8080モードでのBASICは起動するがオーバーフローエラーが出てASCIIART.BASが止まる。起動時のメモリ表示も"031171 Bytes free"と先頭に0がついていておかしい。
スクリーンショット 2021-02-17 020808

 手持ちの14.31818MHzに落として実行。今度はうまくいった。ASCIIART.BASの実行に1分44秒。
だがこれはたまたま動いたことが後に判明する。
スクリーンショット 2021-02-17 021422

 さて、V20HLは16MHzまでOKなのに動かないのはおかしい。何が間に合ってないのか。このV20HL uPD70108HCZ-16は5個1000円くらいで購入したもの。外し品らしくピンには半田の跡。どうもあやしい。
 skyriver(@wcinp)さんの記事、レトロマイコン86ボードの構想(その22) 16MHz動作実験2 [8086] によるとリマーク品の疑いが。そこで残りの4個で動作確認してみると16MHzではBASICも起動しないもの、14MHzでオーバーフローエラーが出るものとおかしいものばかり。最初に引いたのがたまたま良品だったらしいのだが、これも再度14MHzで動作させると表示途中でオーバーフローエラーとなった。
 挙動を比較するため手持ちのuPD70108C-10、これはFM-11の改造用に新品を秋葉原で購入したものだが14MHzで動作させると他のものと同様のオーバーフローエラーが出た。ここから推測すると手持ち5個のV20HLはuPD70108C-10のリマーク品である可能性が高い。
 確認のためにV20HLを10MHzでASCIIART.BASを二時間連続で走らせると5個ともPASSした。
追記:12MHzでもPASSした。V20HLの12MHz品の可能性がある(はせりんさんより)

 LSIの動作周波数の上限を決めるものとしてクリティカルパスというのがある。内部の論理でいちばんタイミング的に厳しい部分が足を引っ張ってしまう。SBCV20のBASICは8080エミュレーションモードで動作していることを考えると、ノーマルV20の8080エミュレーションモードのどこかにクリティカルパスがありそうな気がする。
 また、V20は8088と差し替えクロックジェネレータも交換して12MHz動作でPCXT互換機を売っていた頃があるので実力でそのくらいで動きそうではあるが、残念ながら12MHzの発振子を持っていない。

 ということでこれ以上はV20HLの良品がないと確認できないのでどなたか挑戦してみてください。いちおう別のところからオーダーしてみましたが本物が来るかどうか……


skyriverさんのコメントを受けて写真追記:

uPD70108C-10 本物
IMGP3701
IMGP3702

uPD70108HCZ-16 ? (白字は私が書き込んだもの) ebay経由adeleparts2010より5個セット
IMGP3703
IMGP3704

uPD70108HCZ-16 16MHzでは動作せず12MHz OKebay経由CHIPS GATEより
IMGP3705
IMGP3706