—————————————————————-
1.53.0
—————————————————————-
Shell:Changes:
– FLTK: Major rewrite to become a Nestopia-specific “Jolly Good API” frontend
– FLTK: Use libsamplerate directly instead of relying on SDL’s abstraction
– FLTK: Better looking theme
– FLTK: Window is freely resizable and the image scales to the window size
– FLTK: Codebase is now ISO C++17
– FLTK: Far better support for macOSAdditions:
– FLTK: Support for significantly more input devices
– FLTK: Joystick hotplugging
– FLTK: All UI controls may be assigned to a joystick button
– FLTK: Aspect ratio options
– FLTK: OpenGL 3.1/GLES 3.0 renderer with shaders
– FLTK: Configurable overscan masking on all edges
– FLTK: Drag and Drop support
– FLTK: Support FDS microphone using a real microphone/headsetCore:
Additions:
– Support for loading Virtual Console/NES Remix format ROMs
– Support NES 2.0 Default Expansion Device field
– Add support for Mapper 555 (EVENT2)Fixes:
– Better support for MMC3 hacks with large WRAM, CHR RAM, or PRG ROM sizes
– VRC heuristics improvement to help with VRC hacks and homebrew
– Handle NES 2.0 Mapper 30 special battery flag case
投稿者: nekokabu
CleanRIPの改造版
Wii/GCのディスクイメージを作成できる「CleanRIP」という自作ソフトがあります。
Disc Backup Tool for GC/Wii Discs
https://github.com/emukidid/cleanrip
DATEL製ディスク(例:PARなど)の吸い出しを試行錯誤する中で、CleanRIPをあれこれいじっていたところ、自分好みに改良したバージョンが完成したので公開します。
CleanRIP改
https://github.com/Nekokabu/cleanrip
以下は、現時点(2024年12月10日)のオリジナル版CleanRIPのリポジトリからの変更点:
・Force Read Modeを追加(spycrabの「2.0.0-datel2」に相当)
・DATファイルをダウンロードしないように変更
・ハッシュ値の計算を常に実行するように変更
・wii/gc/datel.datの情報を元に、ファイル名を自動変更する機能を追加
・レイヤー設定をディスクサイズ設定に変更
CleanRIPは、ディスクIDのファイル名でディスクイメージを作成しますが、DATEL製ディスクはすべて同じディスクIDを使用しているため連続して読み込むとファイルが上書きされたり、どれがどのファイルか分からなくなる問題が発生します。この問題を解決するためwii/gc/datel.datの情報を元に、ハッシュ値が一致する場合には自動的にファイル名を変更するようにしました。またハッシュ値が一致しない場合でも、「datel_xxxxxxxx」というファイル名で保存されるようにしたため、ファイルが上書きされることはありません。
さらに、redump.orgで推奨されている「2.0.0-datel2」の機能を、Force Read Modeとして追加しました。この機能は、リードエラーが発生しても強制的にデータを読み込むっぽい名前をしていますが、読み取れなかった部分を0x55で埋める仕様となっています(2.0.0-datel2のソースコードから移植した機能なので、もともとそういう動作をします。)。一応、DATEL製ディスクの場合のみ、Force Read Modeを有効にするか確認するようにしています。
さらに、Wii用Freeloaderに対応するため、ディスクサイズ「1.4GB」を追加しました。Force Read ModeをONにすると、Wii用Freeloaderの吸い出しも可能ですが、なぜかredumpのハッシュ値と一致しないことがあります。
その他の改良点として、USB Geckoのデバッグ出力を追加しています。
wii向けのDOLファイルだけ公開していますが、ソースコードから「make -f Makefile.gc」と実行するとGC向けのDOLファイルを生成できます。ただ、Wii本体ではPARなどをx01F00000まで読み取れるはずが、GC本体では0x01EF0000までしか読み取れない問題が発生するため、Wiiで使用することを推奨します。
2024/12/18
※リネームが正しくできていなかったので修正しました。
※SDカードの「apps\CleanRip\boot.dol」に上書きしてください
※同梱の「datel.dat」以外のdatファイルは、redump.orgのサイトからダウンロードし「wii.dat」、「gc.dat」にリネームし、ディスクイメージ保存先のSDカードやUSBメモリのルートに保存してください。
USBGeckoを使ったデバッグ出力
Wii/GCのHomebrew関係を片付けている際にUSBGeckoが出てきたので色々調べなおしています。
自作プログラム作成において本体からのデバッグ出力をUSBGeckoを介して取得できる機能があるのですがメモとして残しておきます。
USBGeckoとはIan Callaghan氏によるWii/GCの開発/ハッキングツールで、コンピューターのUSBポートとWii/GCメモリーカードスロットとを接続することでゲームなどの本体とのデータのやり取りをしたり、デバッガ的な使い方をすることができました。オリジナル版はすでに販売されていませんが本体のPCB設計図、回路図などが公開されているためいくつかクローンが作られており、現在は接続端子をUSB TYPE-Cに変更したものが販売されています。
USB Gecko (Type-C) debugging tool for GameCube/Wii – webhdx’s retro store
https://store.webhdx.dev/products/usb-gecko-type-c-debugging-tool-for-gamecube-wii
ドライバはFTDIのサイトからFT245RL向けのD2XX Driversをダウンロードし、インストールするか、おそらくWin10/11ならUSBケーブルを指せば勝手に認識されると思います。もしCOMポートが追加で認識されない場合は、「デバイスマネージャー」→「ユニバーサルシリアルバスコントローラー」から「USB Serial Converter」のプロパティ→詳細にある「Load VCP」等書いてあるところにチェックを入れて設定を保存したあと、USBケーブルを接続しなおせばCOMポートが認識されるはずです。
この時認識されたCOMポートの番号でTeraTermProなどで接続すれば実行中のデバッグ出力を取得することができます。
具体的なプログラミングは既存のプログラムのソースを見てもらえればいいかともいますが、例えばCleanRipならprint_gecko()関数で文字列を表示させればよいようです。
https://github.com/emukidid/cleanrip/blob/master/source/main.c#L1327
また、wiiへプログラムを転送するwiiloadはUSBGeckoからプログラムを転送することも出るのですが、「set WIILOAD=COM6」と入力するか、環境変数の設定にWIILOAD、値を先ほどのCOMの値を追加しておくと使えるようになります。
Analogue 3Dの予約受付開始
N64のFPGAによる互換ゲーム機の、Analogue 3Dの予約受付が開始されました。
https://store.analogue.co/
予約は日本時間2024年10月21日の24時から開始され、2色用意された本体の、オリジナルのN64にはなかったホワイトは早々に予約が打ち切られ現在はブラックのみが予約受付中となっています。発送は2025年第1四半期予定となっています。
私はホワイトを注文しました。送料含めて$299.98、日本円で約45,800円です。あれ?思ってたより高いな…円安の影響が…
Nestopia v1.52.1 UE 日本語化言語ファイル
スパロボ64のメッセージ変換
N64のスーパーロボット大戦64のメッセージコンバーターを作ってみました。出力された文字列から「64DD」に対応させようとしていた痕跡を見つけることができ、前後のメッセージから推測しセーブデータの読込み画面を調べてみると、801CC359を02に書き換えることで「64DDからロードします。」の表示に切り替えることができました!そのままAボタンで決定するとゲームが停止してしまうためプログラムはされていないようです、残念・・・
64DDに対応させようとしていた痕跡を発見 pic.twitter.com/MStsu1BODM
— Nekokabu (@Nekokabu) July 11, 2024
Snes9x v1.63 の日本語化パッチ
Snes9X.COM
http://www.snes9x.com/
snes9xgit/snes9x: Snes9x
https://github.com/snes9xgit/snes9x
夜光虫2 殺人航路のメッセージ変換
いつものようにテーブルファイルを作成がてら解析してみると、独自の文字配列を使っているのかと思えば実は漢字部分についてはほぼSJISの第1水準の並びを使っており比較的簡単に文字列を出力することができました。
うまく変換できた~ pic.twitter.com/hyWrANrZQZ
— Nekokabu (@Nekokabu) July 6, 2024
スーパーバグファミコン再現したエミュを作成する
Polymega買った
Polymegaを入手し国内のN64タイトルを全部インストールしてみました。
Polymega(ポリメガ)はCDドライブを搭載し、PS1、SSなどのCDメディアのゲームや、モジュールを交換することでNES、SFC、N64など各種ハードのカートリッジ対応する互換ハードです。生産量が少ないうえに予約したのに何年も発送が行われなかったため幻のハードといわれていたこともありますがここ最近はタイミングが合えば比較的すぐ入手できるようになっています。
Polymega
https://polymega.com/
発表直後は全く興味がなかったのですがN64への対応が発表され、運よくN64対応のモジュールを購入できたので本体である「ベースユニット」も購入してみました(ほんとはベースユニット必要なの知らずにN64モジュールだけ買ったのであとからベースユニット買った)。公式サイトの直販からも購入できますが国内代理店のWorld Game Expressなら2024年3月中旬発送予定で現在予約受付中です。
POLYMEGA ポリメガ – World Game Express
https://worldgameexpress.myshopify.com/collections/polymega%E7%89%B9%E9%9B%86
Polymega、国内N64ソフトのインストール、すべて完了した。
・全部インストールしても何か特別な演出はない
・未登録のゲームは認識しない(ゴエモンとか)
・ポケモンスタジアム金銀がポケモンスタジアム2とごっちゃになってる
・トップギアラリーにASIA地域の変なのがある pic.twitter.com/qLnTpk9gZa— Nekokabu (@Nekokabu) March 8, 2024
PS1などCDのからのインストールはまあまあな時間がかかりますがN64についてはかかっても10数秒でインストールできるので国内のN64ソフト別バージョン含めて約3日をかけてインストールしました。流石にゴエモンv1.1などの登録されないゲームは認識されなかったのとポケモンスタジアム金銀とトップギアラリーだけ認識が変になっていた以外ほぼすべてのゲームがすんなり認識されました。動作まではほとんど確認していませんがデータベースもゲームの簡単な紹介やスクリーンショットも載せてあり、かなりしっかりしています。
今回インストールのためにN64カートリッジを引っ張り出してきましたが、ダブりも含めて総数400本くらいありました。ポケモンスナップについては40本以上ありました。
マリオカート64が見つからないよぉ pic.twitter.com/XJ13F6l5Id
— Nekokabu (@Nekokabu) March 7, 2024
ポケモンスナップV1.1を見つけるために、刻印が隠れてわからないやつも数撃ちゃ当たる戦法で事あることに購入していますがこれだけ買っても見つからないので
・販売されてない
・メーカー修理交換用
・店頭用サンプル
・シール印刷用の器械に付属
とかで一般流通してないのではないかと思います。
当時のシール印刷用の機械なんてのこっていないのだろうか…