9999年12月31日金曜日

当ブログにおける注意点

全般的な注意点

Basically, all articles are written in Japanese, but please feel free to ask me to translate or explain it via Twitter, etc. At GitHub, I'm using English usually.

本ブログは個人の意見を発信する場となっています。ここで記述された情報、意見は所属する組織とは一切関係ありません。

また、記述された情報を利用する事で発生した問題についても当方では一切責任は負えません。自己責任でお願いします。

コメントの見落としが多いというか、ほとんどチェックしてなかったので、何かあればTwitter等のソーシャルメディアで突いてもらえれば捕まるかと思います。

電子工作・アーケード基板系の記事について


趣味で書いてる記事のため、わりと軽い感じで書いてたりはしますが、当方一応は電子工学学士、情報理工学修士です。元LSIの論理設計者でもあり、現役のソフトウェアエンジニアでもあります。適当にやってるようで実は難しい・あるいは危険を伴う事もあるので、専門的な知識、記事の理解なしに見よう見真似で試すのはやめて下さい。ソフトと違って不可逆な失敗のリスクはいたるところに転がっています。最悪、命を脅かすような事故にも繋がりますのでご留意下さい。不明な点はTwitter等で気軽に話しかけてもらえればアドバイスできる事もあるかもしれません。


ソフトウェア系の記事について


ソフトウェアに関しても低レイヤーの情報は一歩操作を誤るとデバイスの文鎮化、データの消失など重大な被害に繋がります。こちらも十分な知識なく、記事を鵜呑みにして実行するのはやめて下さい。


際どい技術情報について


特にメーカー保証の終了した基板の修理などは、修理・調査の過程で本来開示されていなかった技術情報、あるいは守秘義務によって守られるべき技術情報を偶発的に知ることが多々あります。調べた事は可能な限り共有しあう文化で育ってきたため、自分で調べた事は積極的に発信しています。その際、関係各所には配慮するなり、不利益がないよう考えてはいますが、所詮こちらの立場しか見えておらず、権利者からみたら不都合があるかもしれません。その際には連絡頂ければ直ちに双方にとって良い状況になるよう対処したいと考えています。よろしくお願いします。権利を持たない方からの警告等は対応いたしかねますが、個人的に妥当と思える場合には対処します。例えば権利は昔在籍した会社が所有するが、実際にその製品に関わっていた、といった人からの連絡などは間違いなく配慮します。

2019年12月23日月曜日

基板修理:マグマックス

まったく起動しないやつ。数ヶ月くらい気分がのってる時にチョコチョコと思いつきで捜査を進めてました。この基板はマニュアルに回路図が載ってたみたいで資料は探せば見つかるので助かります。

起動しない時に最初に疑うのはメインCPU周り……とすぐに調査を開始したらリセットが入りっぱなしになっていました。リセットに関してはD3/R11/C21でPON後のリセット解除信号を作っており、1Eのシュミットトリガ・インバータを2段経由して68000の/RESETと/HALTに入る、という流れ。HALTは双方向なのでロジックの出力が直で入ってるのは危険な気もするけど、ダブルバスフォールトは絶対に起きない、という設計なのかな。/BERRがpull-upされてるのでそれで良い気がするけど、たくさんの信号が束ねられた上で共通のレジスタでpull-upされてるので、ぶら下がってるチップのどれかが壊れると入力が不安定になりそうではある。その辺が今回の故障部分の原因かもしれない。故障はこの1Eのシュミットトリガ・インバータでした。

1Eの交換後はバスが動き始め、メインCPUはそれっぽく動いている模様。余裕の修理かな?と期待してたんだけど、画面はまだでません。音も確認したけど無音。


しばらく放置したのち、音が出てないのと電圧がやや下がり気味なのもあり試しに電コンの全交換。よくタイムラインで電コン交換修理の報告をみかける岩崎さんからアドバイスをもらえたからってのもあった。


同じ故障基板を買い漁る系なんだけど、なぜか今まで自分が引いてるのはロジック系の故障が多い。そして今回もこれだけでは状況は改善しませんでした。

画面がでないと気持ちが高まらないので画面周りの信号の確認を進めます。画面は故障のヒントになる情報も多いし。で、まずはCSYNCを観測してみたら、なんと7.791kHzという半端な信号が出ていました。期待では15.58kHzと59.5Hzの混合が出てるので15.58kHzが観測されるはずなんだけど。という事で同期信号合成回路を遡って確認。SYNC生成部はCPU(2)の図面にあって、11EのNANDがV_SYNCとH_SYNCの合成、V_BLANKとH_BLANKの合成をやってます。負論理のORで書かれてるけどチップは等価なNANDなので紛らわしい(けど、意味は負論理のORの方が素直)。で、確認したらこの時点でV_SYNC/V_BLANKの入力が壊れていました。V_SYNCが7.791kHzだったため、7.791kHzと15.58kHzのORでデューティー比1:3の7.791kHzが出力されるわけですね。

そのままV_SYNCの生成を追いかけます。VIDEO BUSを通って裏ボードに回ります。VIDEO BUSの裏ボードで見た際の33ピンがV_SYNCです。34ピンがV_BLANK、31/32がH_*です。回路図で見るとMAGMAX_VSCで、/V_SYNCと表記されてるのが出力。CPUボード側の図面ではバーなし表記だったので紛らわしいけど、同一信号。

V_SYNCのタイミング生成では、裏ボードの3A、4A、5Aの3つの4-bitsカウンタを使って9-bitsのカウンタで表示ラインを数え、最上位桁がV_SYNCとして出力される。カウンタの初期値が12'b1110_1111_1010に固定されているので、最後の繰り上がりでカウンタが初期値に戻る事を考えると262カウント。15.58k/262=59.5Hzになります。この論理が壊れているわけですね。

信号を確認すると3Aに入る前段からの入力が中間電位に浮いています。4Aの出力を見ると全て中間電位を出しているようなので交換。手元に74*161の在庫がなかったけどリセットはpull-up固定だったので、リセットしない限り機能的な差はないはずの74*163を使って実験。


お、モニタが同期を拾った……けど何か変。BGMが早巻きで鳴っているので、これはおそらくV_SYNCが4倍の速度で出ているのではないか……と想像。画面も4分割だし、V_SYNC割り込みで演奏してる演奏も4倍速になっているのでは、という推測から。

4倍速になってるなら下位ビット担当がおかしいのかな、と5Aを確認したら出力がやはりおかしいのでこいつも交換。やはり高速に回ってるカウンタは壊れやすいのかな。達人のスプライト周りのカウンタも壊れやすいみたいだったし。



おっしゃ、直った!!

と思ったのも束の間、この体たらくです(笑)



あちゃー。スクロール値とBGパタンの読み出しラインがうまくライン毎にインクリメントされていないような感じですね。それと不定期にメインCPUにリセットがかかる。

もうしばらく修理は続きそう……って事で数日後にラスタースクロール周りの調査。まずは前回見たV_SYNC生成回路の後ろでデータが壊れていないかの調査。ここはINV線を見て通常画面と反転画面用の回路が選択されるようになっているので、2Pで動かしてみて画面反転時に結果が変わるかの確認でスキップ。同じ問題が出てました。なので次はスクロールと画面縮小のパラメータを格納してる表基板18B/20BのEPROMを確認。データは壊れてないけど、どうやら入力アドレスのA7(pin 3)が浮いている模様。


こんな感じで中途半端な電位をフラフラ……と他の入出力に影響されながら。典型的な故障パタンですね。追いかけると19Aと20Aでスキャン中のオフセット付きライン番号にスクロール値を加算してEPROMのアドレスに入れる、となっており19AのΣ3が該当出力ピン。という事で交換してみたところ……


正常動作するようになりました。この手の283も壊れやすいなぁ。

ただこの子、実はメインの68000が少し不安定で。電圧あげないと頻繁にリセットがかかってしまう。裏面の電源とか見てるとノイズも多く、電圧も4.6Vくらいまで下がってるので、他にも壊れた素子があって大きめのリーク電流が流れているか、そもそも電源容量が心もとないのか。安定して動かすにはもう少し調査が必要。ボタン2で早送りした時にノイズがいっぱい載るんだけど、これはこういうモノ?

→その後、自作じゃない環境で試したら低い電圧で安定動作。改めて確認してみたら、むしろ電圧低い方が安定する様子。


こんな感じで普通に遊べたので良しとする。

2019年12月15日日曜日

基板修理:五月陣戦

タイトル不明・起動不可のジャンク1000円。ROMのシールから五月陣戦だってのはわかってたけど。

 電源入れるとこんな感じ。これだけみると表示系のロジックが死んでるような気もするんだけど。
基板をチェックしたら傷跡が。傷の部分を洗浄して拡大鏡で見ると一番太い傷になってる部分でパターンが切れてそう。テスターで確認したらやっぱり切れてました。ここはROMが載ってる部分なのでバスが切れてた感じですね。なのでプログラムが化けて初期化できずに画面が出てなかっただけの模様。
真っ暗な時間が長くて直らなかったかな?って思ったけど、少ししたらチェック画面が出てきた。
んで、無事に起動。今回はとても簡単に修理できたケースでした。
とりあえず傷の部分が錆びると嫌なのでパッチだけじゃなくレジスト塗布も。

2019年12月2日月曜日

2019年秋のゲーム

おっさんホイホイな新作が続く秋でした。

前回のエントリに書いたイースIXの後はBloodstained: Ritual of the Nightになだれ込み。海外ではとっくに発売してたのがようやく国内流通って事で。本当はXboxのダウンロード版で買いたかったんだけど、情報が出てくる気配がないのでPS4のメディア版。最近Xboxのセールの一覧に出てきたので今だったら国内からもDL版が変えるのかも。その気あるなら一言情報出して欲しかった。ゲーム自体は主人公の動作速度に馴染まなかったのと緊急回避動作がしっくりこなかったのとで最初は違和感ありまくり。あとは洋ゲーちっくな声とか、人格破綻してる村人とか、イメージと違って全く儚くない主人公とか。ただ進めていくと操作にもなれてきて、あー、これが現行世代で作るドラキュラなんだなーって納得する感じで。このままシリーズ継続できたら良いなーと思うんですが。操作系が不安定だったり基本画面のマップ表示が化け化けだったり、テストするまでもなく遊べばすぐ気になるバグがそのままになってたのが気がかり。海外版出て長いのにそのままって事は直す気ないというか、余裕ないって事なのかなって。

そのまま慌ただしくDEATH STRANDINGに突入。元コナミ勢の新規IP立ち上げタイトルが続いて嬉しい。導入部の演出は流石だなぁ、と思う。画面を見てここまで手に汗握って主人公とともに心臓ドックンドックンさせた経験なんて未だかつて映画でもゲームでもなかった。VR以上の没入感。ゲーム自体は、普通にやったらストレスでしかないような作業の積み上げをゲームとしてきっちり仕上げてて凄い。俺、なんでゲームでこんな苦しんでるんだろ、とか思いながら楽しめる。その辺りはシナリオや演出に見え隠れする演出なのかな、と思いました。キャラクターやシナリオの魅力はいつも通りB級感を絶妙に織り交ぜた安定したAAAというか。いつもどおりに楽しめました。フラジャイルのお姉ちゃんとか、スナッチャーのランダム・ハジルっぽさが好き。

で、ここまで来てようやく閃の軌跡IIに戻るチャンス。いっきにクリアしておきました。なんか好感度システムとか、もはや葉鍵と言っても良い感じで。アリサで進めたけど、まさかのキスシーンとかあってびっくりした。そもそもBGMとか僕が知ってる範囲でも葉鍵やKIDのオマージュがちょこちょこ混ざってるし。これ男子の高感度上げて進めると何が起きるのか怖い。あと、ちょこちょこヨシュアとかエステルの名前が出てくるので空の軌跡もやりかけたSCの続きをやらないとかなぁ……という気がしてきて困った。閃の軌跡I/IIはPS4版では高速モードが付いてるので半分の時間で通せるけど、他の軌跡やってたら時間いくらあっても足らない。そうそう高速モードと言えばミニゲームやけに難しいなぁ、と思ったら高速モードのせいだった。Iの時は気づかずに頑張ってた……。

細かいところでMomodora: 月下のレクイエムがしばらく放置されてたのでクリア。BadとTrueでエンディング。PSドラキュラをSNES風に作った感じのゲーム。てっきり日本の同人かと思ったけど海外のインディーズかな。良く出来てました。

あとは出張中にザ・スーパー忍をステージ単位でのQuick Save/Loadを使わせてもらってなんとか初クリア。中学生の頃やった時は何ステージあるのかわからずに頑張ってたけど、オーラスまで行ってたみたい。やっぱり子供の頃は根性あるな。それとSwitchでアーケードの忍をやって、こっちは97コインで初クリア。現在はまだ32コインでのクリアが最高記録。1面ボスがちっとも安定しない。

PS4のディスクがパンパンなので、もう少しやりかけゲーを崩したい……(DQヒーローズあたりを消さないと……)

2019年10月28日月曜日

2019年夏前後のゲーム記録

今年前半はシューティングがそこそこ捗ってたので夏前後はシューティング以外をわりとやってた気がします。Oculus Quest買ったせいもあるかな。そこでシューティングは少しおいといて……という気分になって。個人的には東京クロノスが気になってQuestを買ったので、対応版が出たらすぐに入手してコンプしました。なんかVRの中のキャラが一回り大きく感じる事はあったんだけど、演出面では色々と面白い体験を味わえました。その流れでPSVRも使う頻度が上がって。7月あたりはVRで酔い耐性を高めようと頑張ってました。SKYRIM VR、Wipeout Omega Collectionあたりを寝る前にやって吐き気を抑えながら布団に入る日々。竜から逃げ回っておぇっぷ……洞窟少し歩いておぇっぷ……って感じで。Wipeoutとか1レースだけなんとか吐き気に耐えて、真っ青な顔してお腹痛いーってゴーグル外して。なかなか厳しい。

8月、9月は閃の軌跡I改をやってました。うっかり始めちゃったけどイース出るまでに終わらせないと……って感じで。いざ終わったらIIに繋がってて「しまったー」って感じですが。年内にIIにも手を付けたい。英雄伝説シリーズと軌跡シリーズ、どちらの伝統も大切に作られていて。シナリオや音楽の節々に思い入れを感じます。

10月はイースIXをずっとやってました。VIIIはツカミが強力で始めて一瞬で「イース、これだよ」って気分で夢中にさせてくれたし、総合的に見ても間違いなくシリーズ最高峰。それと比べるとIXは導入に意外性はあるもののツカミとしては非常に弱く、ナンバリング的にも記念碑的なXへの助走的な作品に感じられちゃうのが難点。ゲームシステム的にはVIIIより進化してて、同じシステムを維持したままよくここまで別のゲームにしたなぁ、という思いもあり、ツカミの弱さ以外は全くもって良くできた新作でした。シナリオとしては終盤になってようやく本領発揮ってところで、謎が解き明かされてくるとグイグイ引き込まれます。

トロフィー関連は慎重に進ませてればだいたい回収できるし、回収不能のイベントを落とすと露骨に表示してくれるので安心。足りないやつがあったらラスボス直前から調べて尻拭いできます。唯一困るのはナイトメアでクリアってやつ。一周目をサクッとクリアして二周目ナイトメアでコンプ目指すのが良いのかも。それ以外だと、お金とスキルレベルマックスがかなり時間かかりそうなので自分は諦めた。しかし、かなり面倒なトロフィーが多いなかで、みんな驚くほどトロフィーを埋めていて。コアなファンが多いなー、と思いました。何年後になるかわからないけどXが楽しみ。

メガドラミニも間にやってるんだけど時間足りない。魂斗羅はコンティニューしまくりで最後までいったけど悪い誘いにのってバッドエンド?大魔界村とザ・スーパー忍もやってるけど、なかなか最後までいけるようになりません。

2019年10月26日土曜日

基板修理:達人王

故障品でもなければなかなか手がでない達人王、御縁で入手させて頂きました。

カスタムのHK-1000の故障でした。海外の人がすでにrepro品を作ったりしてたので、ロジアナ当てりゃ理解できるだろうって事で調べた結果が前回のエントリHK-1000 チョットデキルです。

修理にあたって大変だったのは、解析よりも刺さってる部品の取り外しでした。普段はヒートガンあてて引っこ抜くんですが、ちっとも溶けない、動かない。特に電源周りが合金化が進んでる?感じの嫌な手応え。仕方ないので足をペンチで切って、一つ一つ丁寧にハンダを当てて抜くことにしました。それでも電源周りはうまくいかず、例によってハンドドリルで削ってます。

リプロは後々の人が見たら簡単にコピーできるよう、作るのが楽なよう、DIP部品だけで構成しました。ギチギチに詰め込んでオリジナルサイズを維持してます。



で、とりあえず部品がなかなか届かないので240だけでも落札して試作。



ほんとにびっしり配置。未実装のソケットはコインロック用の回路が入りますが、自分の環境では不要なので空きのまま実験。不要なら実装しなくて済むようにはなってます。

しかし、74Sだからか電力食って熱い。回路が正しいのか不安になるくらい熱くなります(汗



超連射やバツグンから縦シューに入った人なので、改めて達人王をやると両者の原点って印象を受けますね。難しいって話ばかりが独り歩きしてるけど、めちゃくちゃ面白いのは間違いない。あとはアレだ、どっかに壊れたバツグン落ちてないかなぁ……。

2019年10月13日日曜日

HK-1000 チョットデキル

ToaplanのHK-1000について調べたのでメモ。達人王の基板で調べてます。

1 5V 5V48
2 GND 12V 47
3 D1 D0 46
4 D3 D2 45
5 D5 D4 44
6 D7 D6 43
7 N/A(*1) N/A(*1) 42
8 2P Coin Counter 1P Coin Counter 41
9 2P Coin Lockout 1P Coin Lockout 40
10 Service N/A(*2) 39
11 Tilt Test 38
12 2P Coin 1P Coin 37
13 2P Start 1P Start 36
14 2P Up 1P Up 35
15 2P Down 1P Down 34
16 2P Left 1P Left 33
17 2P Right 1P Right 32
18 2P Button1 1P Button1 31
19 2P Button2 1P Button2 30
20 2P Button3 1P Button3 29
21 2P Button4 1P Button4 28
22 /RESET /WR 27
23 /RD_2P /RD_SYS 26
24 GND /RD_1P 25

(*1) おそらくpull-downされてるのかな?lowが出てるけど基板には繋がっていない。コインカウンタ/ロックアウトのレジスタで未使用ビットがアサインされてるか、するための予備端子?

(*2) このあたりはJAMMAのコネクタとほぼ1対1対応。サービスの裏はVideo GND、と入出力とは無関係な事から未使用の模様。

テストモードではボタンは3つまでしか確認でいないけど、バス上の信号を見るとボタン4まで対応している。

b7b6b5b4b3b2b1b0
/RD_1P 1P Button41P Button31P Button21P Button11P Right1P Left1P Down1P Up
/RD_2P 2P Button42P Button32P Button22P Button12P Right2P Left2P Down2P Up
/RD_SYS - 2P Start 1P Start 2P Coin 1P Coin-TiltService
/WR - - - - 2P Coin Lockout1P Coin Lockout2P Coin Count1P Coin Count

データバスは双方向なので制御信号が指定したタイミング以外でデータを出さないよう注意。

入力信号は240でpull-upのactive lowで受けて、反転したactive high値を返せば良い。
出力(コインカウンタ、コインロック、未使用7/42ピン)は174で保持した書き込み値を出すだけ。