この資料について
ここには FlareStorm の開発の際に PlayStation の RTC の動作を解析した情報を載せていきます。最初は psx.padua.org の解析の情報をもとに進めてきました。以下の解析の情報はその資料をもとに、私自身が解析したものです。
一応書いておきますが、以下の情報は推測を含み、間違っているものもあるかもしれません。
解析は SCPH-1000 で行っています。
ビットは最下位ビットをビット 0 とします。
| ベースアドレス | RTC |
|---|---|
| 0x1F801100 | RTC 0 |
| 0x1F801110 | RTC 1 |
| 0x1F801120 | RTC 2 |
| オフセット | ロード時 | ストア時 |
|---|---|---|
| 0x0000 | 現在のカウンタ値 | カウンタをセット |
| 0x0004 |
下位 10 ビット(マスク 0x3FF) : 現在のモード 0x0400 : 不明(常に 1 ?) 0x0800 : カウンタがターゲット値を通過した 0x1000 : カウンタが 0xFFFF を越えて 0 に戻った 他は不明 |
モードをセット, カウンタを 0 にクリア |
| 0x0008 | 現在のターゲット値 | ターゲット値をセット |
| モードのビット | 動作 |
|---|---|
| 0x0001 |
カウント停止 (RTC2 のみ) 他は未調査 |
| 0x0008 | ターゲット値有効 |
| 0x0010 | 割り込み有効 |
| 0x0040 | 不明 |
| 0x0100 |
RTC0, 詳細不明, 画面幅に比例したカウント(詳細は調査中) RTC1, 水平同期ブランクカウントモード |
| 0x0200 | カウンタ 1/8 分周 (RTC2 のみ) |