2023年9月8日から2023年9月4日までの日記を表示中
2023年 9月 8日 (金)
■コネクタ
CPicS1で使えるであろう 40ピンのキー付きのメスコネクタ (ワイドタイプ) が届きました。AliExpressのショップに在庫がなくて、いつ頃入荷するか問い合わせたら、わざわざ仕入れてくれた模様。ありがたい。量産することになったらたくさん買いますw
■基板
昨日の続き。起動時にCPS-B-21にキーを書き込む間だけ、CPS-B-21のデータバスの下位2bitをサブボード側から切り離しておく実験です。CPicSKと同じ74HC4053 (マルチプレクサ・デマルチプレクサ) を使うことで簡単に実現できそうだったので、CPicSKの試作基板の余りを使って作ってみましたw
おお、動いた。殿様の野望2が動きました。大成功です。
チキチキボーイズもVARTHも、それぞれのマザーボードで試してみましたが、いずれも問題なく起動時キー書き込みに成功しました。
とにかく非常に安定していますね。素晴らしい。
[コメントを書く]
2023年 9月 7日 (木)
■ティアーズオブザキングダム
[コメントを書く]
■基板
CPicSKのRev1.0cの基板が届きました。92636D-3にも対応するよう、抵抗のパターンを追加したバージョンです。
今回は基板の厚さを1.6mmから1.2mmに減らしています。これでピンヘッダのハンダ付けも、多少はやりやすくなるかな?
[コメントを書く]
■基板
昨日の調査で、CPS1のM/BにおいてCPUリセット解除前にデータバスにデータを流しているのはCPS-A-01っぽいということはわかったんですが、そういうM/Bでも起動時のキー書き込みを安全に行えるようにするには、キー書き込み中、CPS-B-21のデータバスの下位2bitをBボードから切り離した状態としておく必要がありそうです。
というわけで、これを試すために、新たにデータバスに割り込むためのコネクタを作成しました (写真下側)。単にBボード - Cボード間で61番ピンと62番ピンを繋がないようにして、Bボード側とCボード側の両方から配線を引き出しています。
これを使って、CPS-B-21に対して、Bボード側の信号とPICの信号のどちらを繋ぐか、マルチプレクサで切り替えるようにする作戦。
[コメントを書く]
2023年 9月 6日 (水)
■基板
CPUがリセットを解除する前にデータバスに信号を出しているのは誰なのか、VARTHのM/Bを使って調べてみました。
とりあえずM/B単体だと、リセット解除までの間にデータバスに信号が出ることはなさそうです。
続いてプログラムROMがほとんど載っていないマジックソードのサブボードを載せてみましたが、こちらも無風。なるほど・・・
VARTHのサブボードに交換してみたら、データバスに信号が出てきました。
うーん、プログラムROMが怪しそうですね。そこで、試しにVARTHのプログラムROMの先頭の方のやつを抜いてやったらデータバスに信号が出なくなりました。
つまり、だれかがCPU起動前にROMを読みに行っていて、そのデータがデータバス上で見えてしまっているようです。プログラムROMからデータが出ているということは、プログラムROMのOEを操作しているのが誰かを追えば、読み出し主がわかるかもしれません。
ROMのOEはどこから来ているのかを追ってみたところ、ROM1というPALから来ていました。このPAL自体はM/B間で共通のはずです。だとすると、PALのロジック自体が原因ではなく、そこに入力されている信号に違いがあって、VARTHのM/BではOEが動いてしまっているものと推測されます。
PALの入力と思われる線を追ってみると、CPS-A-01の方から来ているものがあるようです。うーん、なるほど、Aチップか。しかし、M/Bによって差があるというのはどういう違いなのか。まさかCPS-A-01のロットによって違ったりするんですかね・・・。
[コメントを書く]
■SSD
安くなっていたのでSATAのSSD (EXCERIA 960GB) を買いましたw。デスクトップ機に細々とした容量のやつが載っているので、これを統合しつつ、空いた小さいやつは古いデスクトップにつけてLinuxを入れて・・・とかやりたいけど結局増設して終わりになりそうw
[コメントを書く]
2023年 9月 5日 (火)
■基板
起動時キー書き込みがうまくいかないチキチキボーイズについて調査しています。ひとまずマザーボードを殿様の野望2のものに交換して、Cボード無しで信号を見てみたところ、電源投入から300ミリ秒くらいの間、データバスが動かなくなりました。
この状態で改めて92641C-1で起動時キー書き込みを試してみたところ、あっさり立ち上がりました。
というわけで、電源投入直後からデータバスに信号が出てしまうのは、元々チキチキボーイズについていたM/Bの方に何かしらの原因があるようです。ひょっとしてM51953Bのタンタルコンデンサが容量抜けか何かを起こしていて、CPUリセット解除が異常に早くなっちゃってるとか・・・?
が、チキチキボーイズのマザーボードで波形を確認してみたところ、電源投入からリセット解除まで約300ミリ秒程度の遅延がついており、殿様の野望2のマザーボードと同程度でした。ここに異常はなさそうです。うーん。
元々チキチキボーイズについていたM/Bのバスの波形を観察してみたところ、起動時に何も信号が出ていない期間があるようです (波形の画像で緑や青が途切れている区間)。一定ではないようですが。ここをうまく狙うことができれば、安全にキーを書き切れたりするのかも?
追記: これはどうもロジアナのサンプリング間隔が低くて、タイミングによってはしばらくうまく信号変化を拾えなくなり、このように見えていたようです。きちんと16MHzのクロックに同期させてサンプリングしたところ、このような広い隙間は存在しないことがわかりました・・・。
試しにキー書き込みを始めるタイミングを適当に遅らせてみたところ、元のマザーボードでもチキチキボーイズが起動時キー書き込みで立ち上がりました。やった!
続いてVARTHでも起動時キー書き込みを試してみました。
成功しました。
ただ、波形を見ると、チキチキボーイズと同様に、キーを書き始める前や書き終えた後、CPUリセットが解除されるまでの間に、データバスに信号が出ているようです。チキチキボーイズのマザーボード固有の現象ではないということか・・・。
ちなみにチキチキボーイズについていたM/Bは 88617A-7bの10MHz版で、殿様の野望2についていたM/Bは 88617A-7bの12MHz版 (いわゆるCPS DASH)、VARTHについていたM/Bは 88617A-5の12MHz版 (CPS DASH) でした。CPUの動作周波数は違えど同型の殿様の野望2のM/BとチキチキボーイズのM/Bとで挙動が全然違うことを考えると、型番によってCPUリセット解除前の挙動が違ってくるというわけでもないのかな・・・。うーん。
[コメントを書く]
2023年 9月 4日 (月)
■基板
92641C-1だとPICによる起動時キー書き込みがうまくいかない問題、ロジアナで波形を見てみたら、クロック (波形画像の緑色の信号)やStrobe (波形画像のオレンジ色の信号) を LOW→HIGH→LOWと信号を変化させる際、信号がHIGHになっている時間がやたらと短いことがわかりました。
試しにHIGHになったら10μ秒くらい待つように処理に待ち時間を入れたところ92641C-1でも起動時キー書き込みがうまくいくようになったようで、ゲームが起動するようになりました。うーん、どういうことだろう・・・w
次に、CPS-B-21より前のBチップを搭載した基板で起動時キー書き込みの実験してみます。ターゲットはとりあえずチキチキボーイズ。過去にArduinoでキーを書いて動かす実験には成功しているので、起動時キー書き込みも普通に行けるはず。
が、92641C-1でも90631C-5でも起動してくれませんでした。波形を見ると、何やら電源投入後、PICが動き始めるよりも相当前からデータバスに信号が流れているようです。先日、殿様の野望2で確認した際は、CPUがリセットを解除するまでデータバスに信号らしきものは見られなかったので、だいぶ状況が違いますね。これがキーの書き込みと衝突して失敗してしまっている?
[コメントを書く]
2023年9月8日から2023年9月4日までの日記を表示中
[コメントを書く]