2023年9月8日から2023年9月4日までの日記を表示中

2023年 9月 8日 (金)

コネクタ

CPicS1で使えるであろう 40ピンのキー付きのメスコネクタ (ワイドタイプ) が届きました。AliExpressのショップに在庫がなくて、いつ頃入荷するか問い合わせたら、わざわざ仕入れてくれた模様。ありがたい。量産することになったらたくさん買いますw

キー付きの40ピン メスコネクタワイドタイプ

基板

昨日の続き。起動時にCPS-B-21にキーを書き込む間だけ、CPS-B-21のデータバスの下位2bitをサブボード側から切り離しておく実験です。CPicSKと同じ74HC4053 (マルチプレクサ・デマルチプレクサ) を使うことで簡単に実現できそうだったので、CPicSKの試作基板の余りを使って作ってみましたw

CPicSKの基板を使ってCPS1に起動時キー書き込み

おお、動いた。殿様の野望2が動きました。大成功です。

殿様の野望2が起動

チキチキボーイズもVARTHも、それぞれのマザーボードで試してみましたが、いずれも問題なく起動時キー書き込みに成功しました。

チキチキボーイズで確認

無事起動

VARTHで確認

これも無事起動

とにかく非常に安定していますね。素晴らしい。

2023年 9月 7日 (木)

ティアーズオブザキングダム

パトリシアちゃんが教えてくれた座標に向かったところ、そのままガノンドロフとの戦いになり、クリアにw

言われた座標に向かったらガノンドロフとの決戦に

クリア後の達成率は68% ちょっとでした。

基板

CPicSKのRev1.0cの基板が届きました。92636D-3にも対応するよう、抵抗のパターンを追加したバージョンです。

CPicSK Rev1.0cの基板が届いた

今回は基板の厚さを1.6mmから1.2mmに減らしています。これでピンヘッダのハンダ付けも、多少はやりやすくなるかな?

厚さは1.2mmに

基板

昨日の調査で、CPS1のM/BにおいてCPUリセット解除前にデータバスにデータを流しているのはCPS-A-01っぽいということはわかったんですが、そういうM/Bでも起動時のキー書き込みを安全に行えるようにするには、キー書き込み中、CPS-B-21のデータバスの下位2bitをBボードから切り離した状態としておく必要がありそうです。

というわけで、これを試すために、新たにデータバスに割り込むためのコネクタを作成しました (写真下側)。単にBボード - Cボード間で61番ピンと62番ピンを繋がないようにして、Bボード側とCボード側の両方から配線を引き出しています。

61番ピンと62番ピンについてBボード-Cボード間を切り離して個別に引き出し

これを使って、CPS-B-21に対して、Bボード側の信号とPICの信号のどちらを繋ぐか、マルチプレクサで切り替えるようにする作戦。

2023年 9月 6日 (水)

基板

CPUがリセットを解除する前にデータバスに信号を出しているのは誰なのか、VARTHのM/Bを使って調べてみました。

VARTHのM/Bで調査

とりあえずM/B単体だと、リセット解除までの間にデータバスに信号が出ることはなさそうです。

M/B単体だとデータバスに信号は流れないもよう

続いてプログラムROMがほとんど載っていないマジックソードのサブボードを載せてみましたが、こちらも無風。なるほど・・・

プログラムROMがほとんど載っていないマジックソードのサブボードを装着

同様にデータバスに変化なし

VARTHのサブボードに交換してみたら、データバスに信号が出てきました。

VARTHのサブボードに交換

信号が出てきた

うーん、プログラムROMが怪しそうですね。そこで、試しにVARTHのプログラムROMの先頭の方のやつを抜いてやったらデータバスに信号が出なくなりました。

プログラムROMの下位を外してみた

データバスに信号が出なくなった

つまり、だれかがCPU起動前にROMを読みに行っていて、そのデータがデータバス上で見えてしまっているようです。プログラムROMからデータが出ているということは、プログラムROMのOEを操作しているのが誰かを追えば、読み出し主がわかるかもしれません。

ROMのOEはどこから来ているのかを追ってみたところ、ROM1というPALから来ていました。このPAL自体はM/B間で共通のはずです。だとすると、PALのロジック自体が原因ではなく、そこに入力されている信号に違いがあって、VARTHのM/BではOEが動いてしまっているものと推測されます。

OEはROM1から来ている模様

PALの入力と思われる線を追ってみると、CPS-A-01の方から来ているものがあるようです。うーん、なるほど、Aチップか。しかし、M/Bによって差があるというのはどういう違いなのか。まさかCPS-A-01のロットによって違ったりするんですかね・・・。

SSD

安くなっていたのでSATAのSSD (EXCERIA 960GB) を買いましたw。デスクトップ機に細々とした容量のやつが載っているので、これを統合しつつ、空いた小さいやつは古いデスクトップにつけてLinuxを入れて・・・とかやりたいけど結局増設して終わりになりそうw

EXCERIA 960GB購入

2023年 9月 5日 (火)

基板

起動時キー書き込みがうまくいかないチキチキボーイズについて調査しています。ひとまずマザーボードを殿様の野望2のものに交換して、Cボード無しで信号を見てみたところ、電源投入から300ミリ秒くらいの間、データバスが動かなくなりました。

マザーボードを殿様の野望2のものに交換

データバス動かず

この状態で改めて92641C-1で起動時キー書き込みを試してみたところ、あっさり立ち上がりました。

起動時キー書き込みを試してみる

起動した!

というわけで、電源投入直後からデータバスに信号が出てしまうのは、元々チキチキボーイズについていたM/Bの方に何かしらの原因があるようです。ひょっとしてM51953Bのタンタルコンデンサが容量抜けか何かを起こしていて、CPUリセット解除が異常に早くなっちゃってるとか・・・?

CPUリセット解除を遅らせるタンタルコンデンサ

が、チキチキボーイズのマザーボードで波形を確認してみたところ、電源投入からリセット解除まで約300ミリ秒程度の遅延がついており、殿様の野望2のマザーボードと同程度でした。ここに異常はなさそうです。うーん。

電源投入 (赤) から リセット解除 (黄色) まで約300ミリ秒

元々チキチキボーイズについていたM/Bのバスの波形を観察してみたところ、起動時に何も信号が出ていない期間があるようです (波形の画像で緑や青が途切れている区間)。一定ではないようですが。ここをうまく狙うことができれば、安全にキーを書き切れたりするのかも? 追記: これはどうもロジアナのサンプリング間隔が低くて、タイミングによってはしばらくうまく信号変化を拾えなくなり、このように見えていたようです。きちんと16MHzのクロックに同期させてサンプリングしたところ、このような広い隙間は存在しないことがわかりました・・・。

データバスに信号が出ない期間もある?

試しにキー書き込みを始めるタイミングを適当に遅らせてみたところ、元のマザーボードでもチキチキボーイズが起動時キー書き込みで立ち上がりました。やった!

チキチキボーイズが立ち上がるようになった

続いてVARTHでも起動時キー書き込みを試してみました。

VARTHで起動時キー書き込みを実験

成功しました。

VARTHで起動時キー書き込み成功

ただ、波形を見ると、チキチキボーイズと同様に、キーを書き始める前や書き終えた後、CPUリセットが解除されるまでの間に、データバスに信号が出ているようです。チキチキボーイズのマザーボード固有の現象ではないということか・・・。

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

クロックがHIGHになったら10μ秒くらい待つように変更

92641C-1 でも起動時キー書き込みに成功

次に、CPS-B-21より前のBチップを搭載した基板で起動時キー書き込みの実験してみます。ターゲットはとりあえずチキチキボーイズ。過去にArduinoでキーを書いて動かす実験には成功しているので、起動時キー書き込みも普通に行けるはず。

チキチキボーイズの基板

が、92641C-1でも90631C-5でも起動してくれませんでした。波形を見ると、何やら電源投入後、PICが動き始めるよりも相当前からデータバスに信号が流れているようです。先日、殿様の野望2で確認した際は、CPUがリセットを解除するまでデータバスに信号らしきものは見られなかったので、だいぶ状況が違いますね。これがキーの書き込みと衝突して失敗してしまっている?

PICが動き始めるよりも前にデータバスに信号が出ている

2023年9月8日から2023年9月4日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2023年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ