PS1セーブデータの中身簡単に確認したかった
まず、PS1メモリーカードビューアを作りました。
LOMの旧式の情報とかを少し検証するのにセーブデータが増えたので、ゲームをいちいち起動するのが面倒臭くなり……バイナリエディタでもある程度読めるけどそれはそれで面倒臭い。
リマスターのセーブ可能数は全部で20個(+オートセーブ1つ)。 PS1は15ブロックで、LOMセーブデータは2ブロック使う。つまり7つしか保存出来ない。
ディスクをバックアップしてエミュレーター起動させるのでセーブデータのバックアップは楽だけどメモカのバックアップが増える。
現代のPS1エミュレーターはHLE BIOS(疑似BIOS)があるのでBIOSを吸いだしたりする必要すらない。
便利な世の中になったものです。
メモリカードの仕様を調べた
そもそも容量って?
サードパーティー製のメモカって1MBって書いてあるから1MByteとかと思う人がいるかと思います。
ですがなんと1MBitしかない。8bitが1byteなので131,072バイトです。
なんで15ブロックなの?
内部のデータ構造は実は16分割されている。つまり16ブロックある。
ただし、うち1ブロックは管理データとなっているため、ゲームデータに使えるのは15ブロックという構造です。
0ブロック目はゲーム製品番号のSLPS-02170などが記述されている他、どのゲームが何ブロックあるのかなどが記載されている。
131,072÷16=1ブロック=8,192バイトです。
バイナリ的には「0~1F FF FF」のデータ2000区切り、2000*16のブロック。
基本的なゲームデータ構造はMagicの53 43「SC」始まり。
このSCはSony Computer Entertainmentの頭文字からきてるらしい。続けてアスキー文字でセーブデータ名が記述される。ここまで汎用仕様。