0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kazuedaの活動記録2024Advent Calendar 2024

Day 9

FreePSXBootに標準搭載のunirom8

Last updated at Posted at 2024-12-08

はじめに

 公開されているFreePSXBootのメモリーカードイメージには、unirom8とよばれるツールが搭載されています。
 unirom8は、ディスクの起動、PARなどのカートのファームウェアの入れ替え、リージョンの変更、メモリカードの操作やデバッガーを搭載しています。
 本稿では、「unirom8 Home」を参考に、初代プレステで自作プログラムを起動する環境について、調べました。

メモリカードの操作

 FreePSXBootと併用すると、メモリカードのフォーマットが可能です。また、マルチカードの場合、カードイメージの切り替えをすることが可能です。

ボタン操作

 unirom8が起動しているときに、特定のボタンを押すと以下の操作が可能です。
・R1ボタンを押すと、カート内のプログラムを起動可能
・□ボタンを押すたびに、シリアルポートの転送速度を切り替えることが可能
・L1ボタンと□ボタンを同時に押すと、デバッグモードに移行可能

コンピュータとの間のシリアル接続関連

 初代プレステのシリアルポートを介して、コンピュータとシリアル通信が可能です。unirom8では、Windowsで動作するNOTPSXSerial、略して、nopsを使用して、シリアル通信を行います。LinuxとMacではmonoを使うと、nopsを起動することが可能です。
・コンピュータ側から、exeファイルを初代プレステに転送して起動可能
・様々なバイナリファイルを転送可能
・カート内のROMにROMファイルを書き込むことが可能
・メモリーカードへのファイルの書き込みが可能
・メモリーカードの内容をダンプ可能
・RAMの内容をダンプ可能
・RAMの状態の監視
・RAMのPokeが可能
・ブレークポイントでの読み書きが可能
・特定のアドレスを呼び出しや移動が可能
・カーネルのデバッグモードへの入退が可能。

HEXエディタ

HEXエディタを利用可能です。
・L1 / R1:1ページ次あるいは前に移動
・L1 / R1 + Triangle:少し早く前後に移動
・L1 / R1 + Square:さらに早く前後に移動
・R2:RAM、EEPROM、BIOS等の1サイクル
・X: バイトごとの編集
・L2:あるアドレスに手動で移動(ヒント:R2を使って、最初に保存してから移動)
・Start / Sel:カーソルのある所からコードを実行
・Circle:エディタ終了
 NOPSを使って、デバッグします。

おわりに

 unirom8の機能は、github.ioに掲載のもの以外にもあるようです。そのような機能は、検索エンジンで直接、psxdev内の検索から、探す必要があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?