低手数料の投げ銭システム「魔法都市」登録しました(追記あり)

デコレーションスクリーン ソーシャルギフト&チップサービス
魔法都市(https://maho.city/)

(ざっくりと3行で)
1.新たな投げ銭サービスが誕生。決済手数料が10%程度と激安。
2.YouTuberだけに限らず、あらゆる人が利用可能。
3.送金はクレカで。投げ銭を受け取るには運転免許証や銀行口座が必要。

以下、本文。

 毎度おなじみYouTubeチャンネルの「4ST」のシイナさんが新法人ビットノート合同会社を設立し、任意のクリエイターに手数料10%以下の低手数料投げ銭できるサービス「魔法都市」をリリースしました。

 2023年9月30日現在はクレカ以外の決済方法が無いため、必然的に利用者は成人以上に限定されますが、スパチャなど大手投げ銭サービスは30~47%ほどの手数料を抜かれて運営会社にほとんど吸い取られ、推しにほとんど届かないという事実を考えると、極端に手数料が低めに設定された同サイトが高シェアを獲得すれば、多くのクリエイターにとって有意義な存在になりそうです。

 イラスト・ウェブ小説などのクリエイターサイトによっては投げ銭リンクを禁止している場合もあるので利用規約を要確認ですが、とりあえずX(Twitter)を使っている創作界隈の方々は登録&プロフィールにリンクを載せておくが吉でしょう。

とりあえずウチのプロフィールリンクもうpうp
https://maho.city/@imaha486

~追記~

 魔法都市では大半の行動が「マイページ」で行えるようになっていますが、投げ銭を受け取るためには本人確認が必要です。
 マイページ→本人確認 機能限定解除のページを開いて、運転免許証など身分証明として使えるカードをスマホで撮影→アップロードして審査を受けましょう。

 運営会社については特定商取引法に基づく表記を参照。
(弁護士が各機能を随時チェックしているらしいので、法的な問題も無さそうです)

 また、受け取った投げ銭の出金条件が「(資金決済法の都合上)半年ごとにリセット」「最低出金2,000円以上」=半年で総額2,000円以上稼ぐ必要アリと、少しシビアな設定になっているので、この点は注意。
※半年という条件は法的に変更できないものの、アマギフなどもっと低額なものにコンバートできる仕組みは今後あるかも。

カセット抜き差しをエミュで実装

いつものように、4STの新作を見ててふと思う。
「これメモリのゼロクリア処理をカットすればエミュレータでも出来るんじゃね?」


まあ出来ました。

(使用例)
1.SHIFTキーを押しながらスーパーマリオブラザーズのROMをロード。
2.テニスのROMをロード。
3.BGMが消えてから8歩進んでスーパーマリオのROMをロード。
4.タイトル画面でAボタンを押しながらスタートで9-1へ。

エミュレータのダウンロードリンク。
Download : nesterj-hack230905.zip

修正したソースも同梱しているので「他人の野良ビルドなんて怖くて使えねーよ!!」という人は、本家NesterJのソースコードと組み合わせて使うが吉。
※最近のVisualStudio用に再調整するの死ぬほど大変だと思うけど。
 ちなみに上記アーカイブには「カセットずらし版NesterJ」も同梱してるけど、これについてはココ参照。

ピュアオーディオの個人的終着点

どーん

 当ブログでは数年前から中華USB-DACで「良い感じのオーディオ環境」を作ってきましたが、最終的に着地したのは結局ハイエンドというオチ。
 ぶっちゃけ物価が上がる前にその当時から揃えた方が5万円以上安く済んだので無意味に遠回りしただけでしたけど、とりあえず最終構成を列挙。

・ヘッドホン SONY MDR-Z1R (URL)
 ソニーストアで定価253,000円!!!
 いきなり出オチが酷いですが、これだけコスト投入して音が良くないわけがない。
 一度コイツで音を聴いてしまうと、数万円クラスが「プラスチックとか紙がペコペコ鳴ってるように聞こえるようになる」という呪いにかかるので、正直SONY MDR-M1STで満足する方が幸せな気がします。

・USB-DAC GUSTARD A18 (URL※注:再入手不可)
 旭化成AK4499搭載のハイエンドUSB-DAC。
 ただし2020年の工場火災でAK4499の生産ラインが焼けてしまったので、今現在入手できるのは後継のAK4499EX搭載のものを買うしかないうえ、価格もかなりお高め。
 自己責任ですが、デッドストック品のAK4499を流用したと思われるZishanのDual AK4499+MUSES02のヤツ(色:H)が、6万円未満で最高峰の音が鳴る可能性アリ。

・USB-DAC SMSL D400EX (URL)
 旭化成AK4499EX×2 + AK4191EQ搭載のイカレスペックUSB-DACにリプレース。
 これまで使っていたGUSTARD A18が苦手としていたアニソンやパーカッションが派手に鳴る曲もフルパワーで発音出来てしまう超スペックのシロモノです。

・ヘッドホンアンプ Cayin iHA-6 (URL)
 AK4499に無駄な味付けをしないため、フルディスクリートヘッドホンアンプとしては最安のこちらをセレクト。
 ところが数年前に購入した当時は6万円だったのが、物価高の直撃を受けて2023年現在は10万円超というとんでもない値段に。
 GUSTARD A18のXLR3pin(L-R)から出てきた音をコイツに入れると、そのままフロントのXLR3pin(L-R)および、XLR4pinに同時出力されるので使い勝手は大変ヨシ。

・バランスケーブル onso hpct_03_blx3 (URL)
 MDR-Z1RとCayin iHA-6をバランス接続できる市販ケーブルの中でも、コストパフォーマンスに優れたこちらをセレクト。
 …と言っても、このケーブル1本でミドルクラスのヘッドホンが余裕で買えるほどのお値段なので、あくまで今回のヘッドホンにとっての良コスパに過ぎません。

・再生用PC GMKTEC ミニPC-M2 Core i7-11390Hモデル(URL)
 Amazonで売られている中華PCで、普段は5万円前後ですが「クーポンの設定ミス(?)で一瞬だけ35,496円になった」瞬間にポチってオーディオ専用PCにしました。
 そういう変わり種を狙わなくても、2.5万円前後で売られているINTEL N100搭載の省電力PCを使っても全然アリだと思います。
 そもそもこのPC、パワーリミットかけてもファンがクソうるさいし。

・再生ソフト TuneBrowser Full version有料版(URL)
 私の使い方ならフリー版でも良いのですが、たった3,080円で作者の開発の足しになるのなら、適切な出資と言えます。
 また、前述のミニPCがCore i7+メモリ32GB+SSD1TBでオーディオマシンとしてはやたらとパワフルなので、TuneBrowserのRAMdecodeを有効にして利用しています(※HDDアクセス時のノイズを消すためのバッファリング機能ですが、SSD環境だとおそらく音質に影響ないです)

・安定化電源 Weiduka AC8.8 (URL)
 普通の環境には要らんのですけど、我が家のAC100Vは微妙に不安定で時々モニタにノイズが走るので、コイツをかましてます。音質への影響は謎。

・USBアイソレータ TOPPING HS02 (URL)
 中華PCのACアダプタが信用ならないので、USB-DACを守るため電気的に絶縁するUSBアイソレータを入れてます。
 これでPC側のノイズがヘッドホン側の回路に流入せずに済むので高音質~……って、そんなもん人間の耳で分かるわけねえです。
 ちなみにTOPPING HS01という廉価版があるものの、やたらと激しい発熱&熱暴走で認識しなくなるトラブルが多いので、安定通信できるHS02が発売した今となってはそちらを買う利点はありません。

~接続イメージ~


 総額は……考えたら鼻血が出そうなので、考えないことにしよう。

~音質レビュー~

 SONY MDR-Z1Rに関してはあらゆるサイトで解説し尽くされてるので、ウチみたいな三下が偉そうに語るべきではないですが、BS-TBS火曜日23:00放送の「X年後の関係者たち」のメインテーマ曲 fox capture plan/エイジアン・ダンサー は、それまでSONY MDR-M1STでは感じられなかった「左右に流れるメロディの位置」がハッキリ聞き取れるように。
 また、Pure3 Feel Classics/Feeling Heartは楽器ごとに鳴っている場所の違いが聴き取れるようになったりと、音の情報量が猛烈に増えます。
 最初に述べたとおり、今後は人から数万円のヘッドホンを借りてもショボく感じる呪いにかかり、完全にヘッドホンへの物欲が消失します。

「お高いヘッドホンに憧れ続けるほうが、もしかして幸せなのでは?」

 そんなことを考えながら筆を置くこととします。

gimidump v0.00 公開


「Steam版ギミック!スペシャルエディション」のメモリ空間からROMダンプ。
Download : gimidump v0.00

 いつもなら「超レアROMダンプできたウヒョーイ!」とか喜ぶところなんですが、サンソフトの復刻チームが凄く頑張ってるところに水を差すのも何なので「わかる人だけ使ってね」という感じ。

 そもそも、ウン十万円もする中古カセットとかヤフオクとかメルカリで売ってる海賊版ギミック!を購入してもメーカーには1円もプラスにならんのです。
 ROMイメージを入手したいという理由だけでも、Steam版を購入すれば開発者の利益になりますので、今後のサンソフト復刻シリーズのために購入をお願いします。
Steam : Gimmick! Special Edition

激安UVランプでEPROM消去!

楽天市場:【在庫処分】充電式紫外線ランプ JP18-UV Lamp UV除菌ライト 185-254nm 殺菌 ポータブル バクテリア 細菌 カビ ウイルス 家庭 寝室 授乳室 ペット 旅行 ¥980

(アフィ踏みたくない人は 直リンク )

 まあ、これを記事に書いている時点でお察しだと思いますが、楽天のリサイクルインクショップ「インクのオアシス」で売られているアウトレットの紫外線ランプ(なんと1本980円!)の波長が185-254nmで、見事にUV EPROMの消去特性と合致。

<照射の様子>長押し5秒でフルオート10分照射

<結果>しっかり0xFFフィルされていて消去完了

 ちなみに3,980円以上注文で送料無料になるので、他にもアレコレ買うと良いかもねえ(ウチはこのランプ2本+らずぱい用HDMIモニタ2500円をポチりました)。

~追記~

 UVの特性について知らない人もいるかも知れないので念のため追記。
 この紫外線ライトは185-254nmの波長をもつ紫外線を放出しますが、思いっきり人体に有害&オゾンが出ますので、人の居る場所で使わない方が無難です。
 上の写真は撮影のために一瞬だけ正面に向けてますが、照射中はアクリルケースや段ボールの中に入れたり、トイレに入れて照射が終わるまで放置しておくのが良いでしょう。

スペランカーの「無敵モード」を実機で

 ふと気がつけば公開から約3年経過となる4ST黎明期の1本、スペランカーの無敵モードアンロックの動画を久々に見ていて、ふと……。

「この時代のファミコンカセットって特殊ROMを積んでないし、カセットを改造すれば実機でもプレイできるんじゃね?」

 というわけで、スペランカーの生贄を1本入手。

 パカっとな。

 スペランカーはPRG-ROM(256KB)+CHR-ROM(64KB)で、CHRには何故か窓シール無しのUV EPROMが採用されています(※ロット差はあるかも)。
 そして前者のPRG-ROM(写真向かって右)はINTEL P27256(DIP28pin)で、今回のターゲットはコイツです。

 半田は超ゆるゆるなので、吸い取り機などでサクッと取れます。
 続いてP27256のROMイメージをPCにダンプすることになりますが、コレもaliexpressで売られている格安ROMプログラマxgecu T48で試してみました。

Aliexpress : Xgecu-spi/nor/nand flash/emmc bga/tsop/sop/plcc 13パーツ用の新しいt48 (TL866-3G) プログラマーのサポート,34000のマイク

 私は13パーツ付き9,000円弱のヤツを買いましたが、DIPしか読まないならTSOP変換ソケットが付いてない6,500円くらいのでも十分かも。
 Aliexpressで自力で買い物をできるレベルの人に説明は不要と思いますが、xgecu公式サイトでクライアントを落としてインストール、ROMプログラマ本体をUSB接続したらファームウェアが勝手に上がり、以後は普通にROMの読み書きが可能です。


 ROMプログラマにCHR-ROMをセットしたら、デバイスセレクトで27256をサーチ、メーカーINTEL、デバイスP27256@DIP28を選んでRead。


 まったく引っかかることなく、スムーズに吸い出し成功。


 バイナリエディタでダンプしたPRG-ROMから、目的の箇所を00→20へ変更。
 ※NESヘッダ0x10バイトが無い分オフセットのズレがあるので、動画とは違い$06E9を書き換える。


 書き換えたPRG-ROMデータを生ROMに焼き焼き。
 xgecu ROMプログラマ対応+リード5Vで動作してP27256と互換性あり…という条件で、今回は TMS27C256-15 を利用(ヤフオクで送料込1個320円でした)。


 焼いたROMを基板に半田付けしつつ、窓が飽きっぱなしのCHR-ROMも気になるので念のため両方とも塞いでおく。

 ……というわけで。

 セレクトボタンで自由に空飛ぶ動作も問題ナシ。
 虚弱体質だったスペランカー先生が画面中を縦横無尽に飛び回り、空中で幽霊に体当たりして撃破する様を、いつでもファミコン実機で拝めるようになりました。

~追記~

 上記の作業を「個人で楽しむ目的」はギリギリで法律上のグレーゾーンですが、オークションサイトやフリマサイトなどで販売すると、思いっきり著作権法違反+不正競争防止法違反で一発で刑事事件になります。
(※サテラビューで配信されてたクーリーほにゃらら体験版にクラックパッチを当てたROMを焼いて売ってるあの人とか)

 改造版スペランカーで小遣い稼ぎをする変態は居ないとは思いますが、軽い気持ちで金銭が関わるとマジで人生詰むので、あくまで個人で楽しむだけにしましょう。

「超ファミつく」で遊んでみた

 レトロゲームの再生産やゲーム互換機の販売で有名なコロンバスサークル様(以後敬称略)がTwitterで実施した懸賞でSFC互換機「超ファミつく」が当選したので、ちょいと遊んでみました。
 ただし、ウチは3Dプリンタだの加工機だの高度なアイテムなんざ持ってないので、志は低めに目標は次の三つ。

1.ニンテンドースイッチと同じくらい画面がデカい(=7インチ)。
2.AC電源が要らない(=完全バッテリ駆動)。
3.ケースに収納できるポータブル型。

 そんなこんなでスタートです。

【コロンバスサークル】コロンバスサークル CC-SFCFT-GR 超 ファミつく SFC互換機DIYキット スーパーファミコン

価格:4,070円
(2023/3/12 15:12時点)
感想(0件)

・そもそも「超ファミつく」って何?
 コロンバスサークルが販売しているSFC互換機「16BIT COMPACT」の基板+ACアダプタ+パッド2個だけを単品販売しているバルク基板です。
 つまり外装パーツが無いので、どんなハコに組み込んで使うかを楽しむ商品です。

・ハードウェア仕様
 詳しくはパッケージに書いてある仕様を参考にしていただければと思いますが「出力はRCAコンポジット+S端子、電源はセンターマイナスDC10V/600mA」です。

・7インチアナログ液晶パネルの入手
 なので「アナログ映像入力が可能で、バッテリ駆動できる7インチ液晶パネル」が必要なわけですが、最近売られている多くのパネルはHDMI接続で変換回路が必要なうえ、全て揃えるとそこそこのお値段になります。
 懸賞で当選したとはいえ実売5,000円以下の互換機のためにそこまでやってられないので、いざ人柱で下記パネルを購入しました。

Amazon : OBEST 7インチモニター (執筆時3,599円)

 ただし超ファミつく接続時には画面左下にノイズが出たので、完全に適合するとは言いがたい」です。

(画面左下がビリビリしている様子)

 あくまで「安価にリモコン対応パネルを買いたい場合」に適切なだけで、もしかすると完璧に表示できる製品が別にあるかもしれません。
 ちなみに、同じくAmazonで大量に売られている「4.3インチ液晶パネル」は擬似NTSC信号と相性が悪く、適切な同期が取れなくてずっと画面がグルグル回っていたので、回避した方が良さそうです

・液晶パネル用のセンタープラスDC12Vを生成する
 前述のOBEST7インチモニターを動かすために、12V/400mAの電力源を引っ張ってくる必要があります。
 と言っても、その程度の低電力の12Vを生成するだけなら、USBモバイルバッテリにDC12V昇圧ケーブルを繋ぐだけでOK。
 今回のモニタのDC端子仕様は「外径5.5mm、内径2.1mm、センタープラス」なので、ごく普通の汎用格安品で良いでしょう。

Amazon : LANMU USB 5V-9V/5V-12V DC電源供給ケーブル(執筆時899円)

 USBモバイルバッテリと7インチモニタをこのケーブルで繋いで、靑画面が出力されれば成功です。
 あと、この記事を読んでチャレンジする人は大丈夫とは思いますが、おそらく超ファミつく本体にこのセンタープラス12Vを流し込むと即死すると思います。
 
接続時には要注意!

・超ファミつく用のセンターマイナスDC10Vを生成する
 そしてここからが少し厄介なのですが、USBモバイルバッテリからセンターマイナスDC10V/600mAを生成できる安価な既製品はほとんど無いです。
 もしかするとファミコンのように「実は本体内5V駆動で、基板に配線直結すれば10V要らない」という可能性もあるのですが、今回は回路設計までは追いかけないので、素直にダイヤル式DC-DC昇降圧コンバータを使いました。

Amazon :電圧レギュレータ DC-DC昇降圧コンバータ 2個セット (執筆時960円)
 ここに「外径5.5mm、内径2.1mmの端子をセンターマイナスになるように繋ぐ」のですが、ウチはうっかり手持ちのACアダプタをぶった切って繋いだものの、実は前述のOBEST7インチ液晶パネルに同じ仕様のケーブルが付いてます。
※そもそも車載用で12Vバッテリから電源を取るためですね。

 レギュレータのダイヤルを回して約10Vが生成できていることを確認。
 黒棒(マイナス)をDC端子の中央に突っ込んで、センターマイナスもしっかり確認。
 さっきも書いたけど、コレを間違えたら一発アウトだよ。あと、ここで生成したセンターマイナスを液晶モニタに突っ込んでも多分一発アウトだよ。
 とにかく注意!!

・動作テストを行う
 超ファミつく本体と液晶パネルを繋いで、事前に動作テストをします。
 モバイルバッテリは適当な10000mAh(USB5V 2.1A+1.0Aの2口出力)を利用。
 超ファミつく本体が6.5W要求しているのでUSB2.1Aから、液晶パネルは5W以下で動くのでUSB1.0Aから、それぞれDC10VとDC12Vを生成して供給しました。

 これで「AC電源なしでどこでも遊べる7インチ液晶パネル付きSFC」が実現可能であることが確定。
※1万円ちょいでこんなのが作れるとは、とんでもねえ時代だなぁ(‘-`;

・ケースはどうする?
 というわけで、ここから先は皆のアイデア次第です。
 アタッシェケースに組み込むとか、余ってる自作PC用ケースに入れるとか、ここで自分好みに仕上げられるのが超ファミつくの遊びどころ。
 というわけで……

 ドギャーン。

 正気を疑われそうですが、まあサイズ的に「上の黒い部分にほとんど納められるんじゃね? あと、メッシュの部分にボルト+ナットで止められそうだよね。放熱性も良さそうだし」という安直な理由でセレクト。

 結局こんなレイアウトになりますた。
 上フタはヒートシンクに干渉したのでサヨウナラ。
 透明なボディ部分は加工が超難しいので一切触っておりません。
 液晶パネルは透明な「ポスター用 剥がせる両面テープ(100均)」で軽く貼り付け。

・仕上げ
 この状態では「音が鳴らない」「遊んでいない時もUSBモバイルバッテリの残量がゴリゴリ減る」という致命的な問題があるので、それを解決します。

Amazon : KAUMO USB電源コード2分岐 (執筆時490円)

Amazon : ノーブランド USB延長コードオンオフスイッチ付 (執筆時335円)

 これでスイッチひとつで超ファミつく本体と液晶パネルを同時給電可能に。
※消費電力を考えるとUSB3A出力のモバイルバッテリを使う方が良いかと。

 ダイソーの300円USBミニスピーカーと、それをRCAの赤白オーディオ端子に接続するためのRCAオス-ステレオミニメス変換端子を用いて接続。
(もっとスマートに仕上げるならスピーカーモジュールだけ取り出して、ボリュームコントローラを外から触れるようにした方が良いですね)

・完成形

~最後に~

 当初の目的を振り返ります。

1.ニンテンドースイッチと同じくらい画面がデカい(=7インチ)。
 良い感じ。

2.AC電源が要らない(=完全バッテリ駆動)。
 これもバッチリ。

3.ケースに収納できるポータブル型。
 プレイ中はカセットが外に露出するものの、本体・画面・バッテリ・スピーカーすべて虫かごに収納できて満足です。

 虫かごの加工はニッパーとカッターナイフのみ、極性チェックに使ったテスター以外は大抵のご家庭にあるはず。
(テスターは1000円以下で買えるので1台くらい持っておくのが吉)
 そんなわけで「超ファミつくを利用した7インチ携帯型SFC互換機」は無事完成。
 皆様も何か面白そうなケースを探してチャレンジしてみましょう。

妖怪道中記 隠しパスワード解析「最初の一週間」の裏側

発売から35年、妖怪道中記・隠しパスワード完全解明までの一部始終
~531垓分の1を探し求めた男たち~

 本動画の5:10で「その一週間後、はむさんの手によりパスワード解析ツールの第一弾が完成する」と語られた「一週間」で行った作業を列挙してみました。

 なお、詳細解析情報や解析ツールのソースコードについてはZIPアーカイブにまとめていますので、そちらをご覧ください。
Download : yokai-pack-20211219.zip

工程1:ROMを眺める


 妖怪道中記のROMイメージを見ると、パスワード入力が正解した時に表示されるメッセージと謎の数字の羅列(後にチェックデジットと判明)が順番に格納していることがわかります。
 ところがパスワード本体が平文で全くヒットせず「まさか1987年にハッシュ関数を…?」と若干不安な気持ちに。
 実際にはその想像をはるか超える地獄が待っていようとは……。

工程2:メモリエリアを眺めてアドレス選定


 自作ツールemuhasteをPCEエミュレータootake専用にカスタムし、カーソルを動かしてサーチ、文字を打ったり消したりしてサーチ、入力文字数をサーチ……など、ひたすら地道な作業。

 この時点で「入力した文字の合計数がアドレス$31F6に格納されていること」「アドレス$31DC以降に入力したパスワード列情報があり、文字コードがゲーム独自である」などといった重要な要素が判明します。

工程3:[PCE 6280逆アセンブラ]を用いた解析


 アドレス$31F6に極めて重要なパラメータが格納されていたので、オールドゲームROM研究所のBAB氏作「PCE 6280逆アセンブラ」を用いて、$31F6に触れているルーチンを列挙したところ、下記コードを発見。

D6F7 : AD F6 31 LDA $31F6

 上記アドレス$D6F7からパスワード入力ルーチンが始まっており、Iボタンを押した瞬間にパスワード文字数をチェックしたり、カーソル位置を元に文字コードを生成するといった主要の処理を行っていました。
 なお、この段階ではサブルーチンコールJSR(20 xx xx)などをNOP(EA)で破壊し、実際にゲームを実行して挙動を確認するといった、かなり豪快な方法で各処理内容を調査しています。

工程4:デバッガによるリアルタイム動作解析


 マルチエミュレータMESSがPCエンジンエミュレーションに加え、超強力なデバッガが実装されていたので、下記コマンドからデバッグモードで起動。

>mess.exe pce youkaid -debug

 さらに同デバッガのブレークポイント機能( bpset $D6F7 )でアドレス$D6F7以降の処理を追跡したところ、アドレス$D853以降に露骨なゼロクリア処理を発見。

D853 : 82 CLX ; Xをゼロクリア
D854 : 8E F4 31 STX $31F4 ; 31F4=0
D857 : 8E F5 31 STX $31F5 ; 31F5=0
D85A : 8E F7 31 STX $31F7 ; 31F7=0
D85D : 8E F8 31 STX $31F8 ; 31F8=0
D860 : 8E F9 31 STX $31F9 ; 31F9=0
D863 : 8E FB 31 STX $31FB ; 31FB=0
D866 : A9 01 LDA #$01 ; A=01
D868 : 8D FA 31 STA $31FA ; 31FA=01

 これをデバッガの[Step Info]でひとつずつ追跡したところ、パスワード文字数を格納する$31F6を除く$31F4~$31FBに何らかの演算結果を入れていることが判明。

 また、適当な正解パスワードのラスト1文字を入力した瞬間に処理の終端を確認すると「ROMのメッセージ間に挟まれていた謎の値と、$31F4~$31FBの値が完全一致していた」ことから、PCエンジン版妖怪道中記のスタッフインフォメーションボードのパスワード処理ルーチンは、下記のプロセスであることが確定しました。

1.ユーザがパスワードを入力すると$31DC以降に順番に文字コード値を挿入。
2.それと同時に$31F6に入力文字数をセット。
3.サブルーチン$D853をコールし、$31F4~$31FBの値=チェックデジットを生成。
4.最終チェック処理$D730をコールし、全ての隠しパスワードの設定値と前述のサブルーチンで生成した値を比較。
5.一致するパスワードがあれば正解処理(無敵フラグや画面表示)を行う。

 あとは、チェックルーチン$D853が何をやっているのかを解読し、それを自作プログラムで再現できれば、PCエンジン実機やエミュレータが無くても隠しパスワード解析にチャレンジしたり、実際にパスワードハッキングができる…というわけです。

工程5:パスワード解析ツールを自作

 ここまで解析が進めば、後はプログラミングの時間です。
 ただし一発で完成品が出来るわけもなく、テストモジュールをコツコツ作ります。

 PCエンジンのCPU(HuC6280)用のコードをVisual C++に移植する作業です。
 HuCそのものは6502カスタム版なのでNESの開発ドキュメントあたりも参考になりますが、Googleで”Turbo Graphics 16 opcode”あたりのキーワードで検索して、CPU仕様書を探して勉強するのが無難かなぁと。
(ウチもHuCのCPU仕様書を読んだのはこの作業が初めてだったので、頑張れば何とかなるなる)
 というか、実際の置き換えもかなり力技でした。

HuC(6502) Visual C++
PHA
LDY #$08
ASL A

PHA

stackA[stackApos++]=A;
Y=8;
A = A << 1;
if(A>0xFF){ C=1; A=A&0xFF; }else{C=0;}
stackA[stackApos++]=A;

 スタック操作(PHA)は配列stackA[]と変数stackAposを用いてLIFOの流れを模倣。
 ASL Aを実行すると8ビットのAレジスタを左1ビットシフトし、溢れたビットがキャリーフラグ(C)にセットされるので、これをムリヤリ条件分岐で再現~…というメチャクチャすぎる力技を採用。
 その副産物で「環境依存せず、あらゆる言語に移植できた」ので、ケガの功名というか、まあ良かった(のかなぁ???)

・・

 以下、私が作成した初期の解析ツール群です。

yokai01(没)
 パスワードを入力するとアドレス$31DC~と同じレイアウトの配列を生成するテストプログラム。

yokai02
 yokai01のルーチンの後、妖怪道中記と全く同じ演算を行い$31F4~$31FBの値を生成し、画面に表示するパスワードシミュレータ。
 当初「$31F4と$31F5が一致すればほぼ本物じゃね?」などと安易に考えていたので、ツール名が[$31F4 $31F5 simulator]になっています。

yokai03
 yokai02のルーチンに対し、総当たりで全パターンのパスワードを試行するツール。

yokai04(没)
 yokai02のルーチンに対し、単語を順番に辞書アタックを仕掛けるツール。
 ※よくよく考えると同じ単語が連続するパスワードを解析できないので没。

yokai05
 yokai02のルーチンに対し、完全ランダムの組み合わせで辞書アタックを仕掛けるツール(無駄は多いけど無難)。


 そして、これらの解析結果は私よりもずっと高スキルのエンジニア達に共有され、発売から35年目ついに攻略~……という流れでした。

 当然、こんなプロセスを動画にまとめてもクソ退屈な映像になってしまうわけで。
 難解なシーンをすべてカットして、まるで英雄譚のように綺麗にまとめたシイナさん、超グッジョブでした(‘ω`)

セガサターン「街(体験版)」隠しメッセージ捜索

 妖怪道中記の隠しパスワード選手権関連でサーチしてたらこんなツイートを発見。


そして


まあ買うよね。

 詳細は上記ツイートのツリーを見ていただければと思いますが、とりあえずテキストコンバータ(フォントテーブル未完成)をアップしました。
Download : matconv221030.zip

 文字化けや抜けもかなり多数ありますが、はてさて本当に本作に隠しメッセージがあるのやら……

ついに「PCエンジン妖怪道中記パスワード完全解明」の動画が公開されました

関連記事
【速報】PCエンジン妖怪道中記 真パスワードが発見されました

YouTube : 発売から35年、妖怪道中記・隠しパスワード完全解明までの一部始終~
531垓分の1を探し求めた男たち~

~動画のコメント欄にあった疑問など~

Q.「なむこむな!756-2311」以外の解があるのでは?
A.候補数1.6億の中にナムコの電話番号が偶然含まれる確率0.0000165244%なので、
 これが真のパスワードである確率は99.999983%…まあ否定は無理でしょう。
 おそらく「なむこむな!」は黒電話のダイヤルの指の動きだと思われます。
 (参考)Wikipedia : 黒電話

Q.8桁パスワード「818-6104」も別解があるのでは?
A.これは宇田川氏が本物だと断言しているので、確率うんぬんでなく本物です。

Q.もし知ってたら、この祭りに参加したかった!!
A.え? まだ隠しダンジョンの攻略が終わってませんけど???