2023年8月19日から2023年8月15日までの日記を表示中

2023年 8月19日 (土)

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

盗賊ラムダの財宝を探したりしてました。

スーファミ

新たに調達したジャンクのスーファミ本体 4台が到着。動作確認や改造は今手を付けている基板関係が落ち着いてからかなw

ジャンクのスーファミ本体

基板

海外有志が解析したCPS-B-21のドキュメントや回路図を見たりしてました。若干キーについての理解が深まった (気がする) のでメモとして残しておきます。

  • MAMEのCPS1のソースで用途不明となってるCボードのレジスタ3個のうち、2個はプロテクション用で、1個は乗算器の入力をunsignedからsigned (2の補数) 扱いにするフラグ用
  • プロテクション用のレジスタの一方 (CHECK1) に16bitの値を書き込んでも、その瞬間はなにも起きないが、内部でレジスタに保持される
  • プロテクション用のレジスタのもう一方 (CHECK2) に16bitの値を書き込むと、キーに含まれるCHECK2の期待値との比較が行われる。また、同時に、過去にCHECK1に書き込んだ値についても、キーに含まれるCHECK1の期待値との比較が行われる。
  • CHECK1もしくはCHECK2で期待値との不一致があった場合、CPS-B-21は一定フレーム後に描画系の機能を停止する。外から見ると、画面がブラックアウトした状態となる (昔電池レス化で何度もはまった現象)
  • キーの期待値は、Arcade Hacker氏の解説で用途不明となっていたフィールド16bit x2に含まれる
  • 期待値との比較はCHECK2へのWriteがトリガとなるので、CHECK2へのWriteがなければ、キーの期待値が何であろうとブラックアウトは起こらない
  • CPS1 Desuiciderでは、プログラムがCHECK2と思ってWriteしているレジスタ位置に何のレジスタもマップしないようにコンフィギュレーションすることで、プログラムの改変なしにブラックアウトを回避している
    • 回路的に、CPUがWriteしてきたアドレスに何のレジスタもマップされていなければ何も起こらない
    • CHECK2などのレジスタは、プログラム中で誰も触らない、安全なアドレスに置いておく
  • 同じくArcade Hacker氏の解説で用途不明となっていた後ろの方のフィールドはラスタ割り込み関連の設定用のレジスタのアドレスを決めるもの。CPS1では使われていないっぽい
  • CPS-IDのbit 6からbit 9の4bitはReadされた回数を示す (それ以外はキーに含まれるIDの値)

と、ここでふと疑問が。昨日自分がマッスルボマーのCボードに書いたキーは、MAMEのソースから作ったキーで、プログラムがアクセスしてくるCHECK1・CHECK2のアドレスに対して、律儀に実際のCHECK1・CHECK2をマップしてあります。一方でキーには正しい期待値を入れていません。そしてマッスルボマーは、動作中にCHECK1やCHECK2に対してWriteを行います。なのにブラックアウトせずに動き続けているのはなぜなんでしょう・・・。 追記: 後日、改めてArduinoのコードをよく見てみたところ、マッスルボマーに書いたキーは、CPS1 Desuicider 由来のものではないにしても、プログラムがCHECK1やCHECK2と思ってWriteしてくるところに何のレジスタもマップしていないものになっていました。うーん、自分で作ったものだと思うけど、全然記憶にないですね・・・(汗)

2023年 8月18日 (金)

基板

電池切れして起動しなくなってしまったマッスルボマー、電池交換せずにCボードにArduinoでキーを書き込んでみたら普通に起動しました。コンデンサのお陰で、電池がなくてもそこそこの時間はキーを保持できるんですな。というかこれ、意図して試そうとしたわけでなく、完全なうっかりミスの結果です。ゲームが起動してから何か間違ったことをしたということに気が付きました。いやー、大きな事故につながるようなミスでなくて良かった・・・(汗)

電池切れしたままの状態でキーを書き込み

それでも起動

あらためて切れた電池を外してソケットを取り付けて新品の電池を装着。キーを書き込んで無事起動することが確認できました。

電池をソケット化

改めてキーを書き直して起動確認

一方、ついでに実験で使おうと思っていた別のCボード (92631C-6を電池ありに改造したもの) は、Arduinoからキーを書き込んでも全然動作してくれませんでした。まあ、元々壊れかけていたやつ (起動せず超高温に→その後縦線が出る状態になったやつ) だったんで、いつ壊れても不思議はないですね。せっかくなので、別の壊れたCボード (90631C-5) と合わせてCPS-B-21を剥がし、いつでも配線を直接観察できるようにしましたw

故障した90631C-5と92631C-6からCPS-B-21を剥がした

コネクタ

AliExpressで買ったコネクタが届きました。今度はちゃんと間違えずに40ピンを買えましたw

40ピンコネクタ届いた

2023年 8月17日 (木)

基板

なかなか手を付けられなかったCPicS2のキットの袋詰めを終わらせました。今回の出荷先はBEEPさんになります。

袋詰め完了

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

パトリシアちゃんに水の実を捧げたら座標っぽい数字を教えてくれたので、行ってみたらまだやってないチャレンジが。既に条件を満たしていたので、始まると同時に終わったんですが、これはやってないチャレンジの場所を教えてくれるってことなのかな。

基板

CPS1のCボードのCPS-B-21の103番ピンに入っているリセット信号がどこから来ているのかを追ったりしていました。マザーボードのCPS-A-01の105番ピンから出たのが、BボードのE4ピンを経由して来ているっぽいですね。なるほど・・・。

コントローラー

コントローラーを欲しがるお子様向けのデコイの市販品が届きましたw。先日のXbox 360のコントローラーのジャンクで作ったデコイも結構活躍してくれていますが、ちゃんとしたのも評価してみようかと思いw

バイリンガル・ゲームコントローラー

これ、結構いい音が鳴りますね。アナログスティックが噛み心地の良い歯固めになっていないところが惜しいw

2023年 8月16日 (水)

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

火炎グリオークに再び挑戦。今回は肝を手に入れることができました。その後は、余りまくっているお金をつぎ込んでマイホームを拡張しまくってみたり。部屋をたくさん置いてみたけど、特に何かがあるわけでもないのかな・・・?

プール

プールに行ってきました。多分四半世紀ぶりw。しんどすぎるw

基板

コントロールボックスの電源取得に使っているATXコネクタの接触がイマイチなせいで基板の電圧が不安定になってしまっているため、いい加減ATXコネクタを取り払って、JVSの電源コネクタをコントロールボックスに直結することにしました。

接触が悪いATXコネクタ

JVSの電源コネクタを直結

コネクタ用に穴を加工し直すのは大変なので、当分このままで使いますw。普段移動させたりケーブルが引っ張られたりするようなものでもないので、まあ大丈夫でしょう。

この状態で運用

基板

CPicSKの基板装着確認のために出してきたマッスルボマーの基板、通電してみたら起動しなかったので、開けて調べてみたらCボードの電池が切れていました。まあいい機会とも考えられるかも?

マッスルボマー Cボード電池切れ

2023年 8月15日 (火)

移動

実家から帰宅しました。帰りも渋滞なしでスムーズ。

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

今日はマップ南方の海岸沿いを中心に探索。あんまり成果なし・・・。

コントローラー

0歳のお子様にSwitchのホリのワイヤレスパッドを渡したら、アナログスティック部分を思いっきり噛まれてしまいました。ここ数日、渡しても大人しく遊んでいたので大丈夫かと思ってたんですが、ちょっと目を離したスキにこれですよw

Swtichのホリのコントローラーのアナログスティック部分を噛まれた

当初、部品を取り寄せるなり何なりして修理しようかと考えたんですが、試しにそのままティアキンを遊んでみたらまったく気にならなかったので、何かもうこのままでもいいのかなという気にもなりつつありますw

しかし、今後も同じような被害が発生する可能性が非常に高いことから、デコイは用意しておきたいところ。デコイの要件としては、1) アナログスティックがあること、2) ケーブルが出ていないこと (出ているとケーブルの先を噛みそうなのと、首に絡まったりしたら危ないので)、3) 細かな部品が簡単に外れたりしないことって感じですかね。もちろん、噛まれても良い、あまり大事ではないものというのも重要ですw

まあでも、そんな都合の良いもの、そうそうないよね・・・とジャンク箱を漁ったら、ありました。昔基板を乗っ取り用に頂いたXbox 360の有線コンの抜け殻と、乾電池が液漏れして認識されなくなってしまったXbox 360の無線コンです。

Xbox360のコントローラのジャンク

無線コンの方は、そのままだと背面に電池ボックスがあり、これが外れると細かい部品が出てしまうため危ないですが、背面パネルを有線コンのものと交換することでこの問題を解消することができそうです。問題は、有線コンの背面パネルと無線コンの背面パネルにネジ穴などの互換性があるかどうかなんですが・・・

無線コンは背面パネルが外れてしまう

交換してみたら、まったく問題なく取り付けられました。ネジ穴の位置などは互換性があるようです。凄い。ありがたい。

背面パネルはピッタリ

(見た目だけは) 完璧なものができました。

見た目は完璧なデコイ

ついでにアナログスティックに残っているゴムは削り取っておきましょう。元々劣化気味だったので簡単に除去完了。これで完成ですw。この時点でご就寝だったので、どれくらい有効かは明日の確認ですねw

アナログスティック部分のゴムは除去

ちなみに、Xbox360のコントローラーでデコイを作る前に、同じジャンク箱から出てきたメガドライブのコントローラー (ケーブル切断済み) をそのまま渡してみたんですが、見向きもしませんでしたw。アナログスティックがないのがダメなのかw

メガドライブのコントローラーには見向きもせず

ジョイコン

先日バッテリーの再膨張を発見してしまったジョイコン左の互換バッテリーを、元々右のジョイコンに入っていた純正バッテリーに交換しました。

ジョイコン左に純正バッテリーを戻す

無事電源が入りました。しばらくはこっちを本体につけておきますかね。

動いた

基板

CPicSK Rev1.0bの基板をCPS1.5向けに組み立ててみました。CPS1.5に取り付ける場合、通常版と異なり、ピンヘッダを部品面側から差し込んでハンダ面側でハンダ付けすることで高さを抑える必要があります。このとき教科書通りピンの根元に立派な富士山を作ってしまうとソケットへの刺さりが悪くなるので、ピンの根元の山も極力低めにするのがポイントなんですが、これが結構大変だったり・・・。

CPicSK Rev1.0bをCPS1.5向けに組み立て

CPS1.5のDボードに取り付けてみました。狙い通りオシレータ付近のフィルタやタンタルコンデンサと干渉しなくなっています。よしよし。

パーツとの干渉が解消

動作確認はまた後ほど。

2023年8月19日から2023年8月15日までの日記を表示中

中の人情報

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

カレンダー

2023年8月
    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 31    

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ