オフセット | サイズ | ファンクション |
---|---|---|
$000 | $100 | ヘッダ |
可変 | 可変 | マップデータ |
可変 | 可変 | パターンネームデータ |
可変 | 可変 | キャラクタデータ |
可変 | 可変 | パレットデータ |
可変 | 可変 | アトリビュートデータ |
オフセット | サイズ | ファンクション |
---|---|---|
$00 | $10 | 識別子="SEGA_SATURN_SCR"+?("_"はスペース=$20) |
$10 | ロング | マップデータオフセットアドレス |
$14 | ロング | マップデータサイズ(バイト) |
$20 | ロング | パターンネームデータオフセットアドレス |
$24 | ロング | パターンネームデータサイズ(バイト) |
$30 | ロング | キャラクタデータオフセットアドレス |
$34 | ロング | キャラクタデータサイズ(バイト) |
$40 | ロング | パレットデータオフセットアドレス |
$44 | ロング | パレットデータサイズ(バイト) |
$50 | ロング | アトリビュートデータオフセットアドレス |
$54 | ロング | アトリビュートデータサイズ(バイト) |
$60 | $A0 | 空番地 全て$00 |
オフセット | サイズ | ファンクション |
---|---|---|
$00 | ワード | 横ページサイズ |
$02 | ワード | 縦ページサイズ |
$04 | $0C | ダミーデータ 全て$FF |
$10 | 可変 | ページ(番号)テーブル |
ページテーブルは、マップを構成するページ番号の配列を、横方向優先でメモリ上に連 続して格納されることにより構成されます。
SEGA2Dファイルにおけるマップデータは、セガサターンのマップデータとは若干、解釈 が異なるので注意が必要です。(1プレーン=1ページとすることで同等になります。)
オフセット | サイズ | ファンクション |
---|---|---|
$00 | ロング | キャラクタコントロールデータ |
$04 | ワード | パターンネーム補助データ |
$06 | $0A | ダミーデータ 全て$FF |
$10 | 可変 | パターンネームテーブル |
パターンネームテーブルは、「キャラクタコントロールデータ」・「パターンネーム補 助データ」によって設定される「パターンネームデータサイズ」・「キャラクタサイ ズ」よって、サイズや配列が変わります。
パターンネームデータは、セガサターンのパターンネームデータに準じています。
MSB キャラクタ サイズ │ 未使用 │ 色 数 │ 未使用 │ │ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │−│−│−│−│−│−│−│−│2│1│0│−│−│−│S│ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ │ │ │ └─ SZ : 0=1セル×1セル │ │ │ 1=2セル×2セル │ │ │ └─┴─┴───────── CN :000=16色 001=256色 011=32768色 LSB 未 使 用 │ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │−│−│−│−│−│−│−│−│−│−│−│−│−│−│−│ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
MSB LSB │ │ 未使用 │ パターンネーム補助データ │ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │P│N│−│−│−│−│0│0│0│0│0│0│0│0│0│ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ │ │ │ └─ NSM:キャラクタ番号補助モード │ 0=10bit │ 1=12bit │ └─── PNB:パターンネームデータサイズ 0=1ワード 1=2ワード
パレット番号は、16色を1単位として表現します。
キャラクタ番号は、キャラクタパターンテーブル(キャラクタデータ項参照)のオフセッ トアドレスを$20単位で指定します。従ってキャラクタサイズ・キャラクタ色数によっ て、1キャラクタ当りの占有数が以下の様に変わります。
キャラクタ色数 | 1セル×1セル | 2セル×2セル |
---|---|---|
16色 | 1 | 4 |
256色 | 2 | 8 |
32768色 | 4 | 16 |
SEGA2Dファイルでは、パターンネーム補助データを構成するビットを全て0に固定してい ます。その為、使用できるキャラクタ数やパレット等に制限が加わるので、注意が必要 です。
MSB │反転機能 │特殊機能 │未使用 │パレット番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │HF│VF│Pr│CC│−−│−−│−−│−−│−−│6 │5 │4 │3 │2 │1 │0 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ LSB │ │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │−−│14│13│12│11│10│9 │8 │7 │6 │5 │4 │3 │2 │1 │0 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │反転機能 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │3 │2 │1 │0 │VF│HF│9 │8 │7 │6 │5 │4 │3 │2 │1 │0 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │3 │2 │1 │0 │11│10│9 │8 │7 │6 │5 │4 │3 │2 │1 │0 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │反転機能 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │−−│6 │5 │4 │VF│HF│9 │8 │7 │6 │5 │4 │3 │2 │1 │0 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │−−│6 │5 │4 │11│10│9 │8 │7 │6 │5 │4 │3 │2 │1 │0 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │反転機能 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │3 │2 │1 │0 │VF│HF│11│10│9 │8 │7 │6 │5 │4 │3 │2 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │3 │2 │1 │0 │13│12│11│10│9 │8 │7 │6 │5 │4 │3 │2 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │反転機能 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │−−│6 │5 │4 │VF│HF│11│10│9 │8 │7 │6 │5 │4 │3 │2 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
MSB LSB │パレット番号 │キャラクタ番号 │ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │−−│6 │5 │4 │13│12│11│10│9 │8 │7 │6 │5 │4 │3 │2 │ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
オフセット | サイズ | ファンクション |
---|---|---|
$00 | $10 | ダミーデータ 全て$FF |
$10 | 可変 | キャラクタパターンテーブル |
セルデータは、キャラクタサイズによって以下のように配置されます。
┌───┬───┬───┬───┬───┬ │セル0│セル1│セル2│セル3│セル4│ ├───┼───┼───┼───┼───┼ │・・・│・・・│・・・│・・・│・・・│ ├───┼───┼───┼───┼───┼ │・・・│・・・│・・・│・・・│・・・│ ├───┼───┼───┼───┼───┼ |セル0=キャラクタ0| |セル1=キャラクタ1| |セル2=キャラクタ2| |セル3=キャラクタ3| |セル4=キャラクタ4| |セル5=キャラクタ5| |セル6=キャラクタ6| | ・・・・・・・・・・・・・・・ |
┌───┬───┬───┬───┬───┬ │セル0│セル1│セル4│セル5│セル8│ ├───┼───┼───┼───┼───┼ │セル2│セル3│セル6│セル7│・・・│ ├───┼───┼───┼───┼───┼ │・・・│・・・│・・・│・・・│・・・│ ├───┼───┼───┼───┼───┼ -------------------- |セル0| | |セル1|キャラクタ0 | |セル2| | |セル3| | -------------------- |セル4| | |セル5|キャラクタ1 | |セル6| | |セル7| | -------------------- | ・・・ |・・・・・ |
0 1 2 3 4 5 6 7 ┌───┬───┬───┬───┐ 0│+00│+01│+02│+03│ ├───┼───┼───┼───┤ 1│+04│+05│+06│+07│ ├───┼───┼───┼───┤ 2│+08│+09│+0a│+0b│ ├───┼───┼───┼───┤ 3│+0c│+0d│+0e│+0f│ ├───┼───┼───┼───┤ 4│+10│+11│+12│+13│ ├───┼───┼───┼───┤ 5│+14│+15│+16│+17│ ├───┼───┼───┼───┤ 6│+18│+19│+1a│+1b│ ├───┼───┼───┼───┤ 7│+1c│+1d│+1e│+1f│ └───┴───┴───┴───┘
0 1 2 3 4 5 6 7 ┌───┬───┬───┬───┬───┬───┬───┬───┐ 0│+00│+01│+02│+03│+04│+05│+06│+07│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 1│+08│+09│+0a│+0b│+0c│+0d│+0e│+0f│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 2│+10│+11│+12│+13│+14│+15│+16│+17│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 3│+18│+19│+1a│+1b│+1c│+1d│+1e│+1f│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 4│+20│+21│+22│+23│+24│+25│+26│+27│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 5│+28│+29│+2a│+2b│+2c│+2d│+2e│+2f│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 6│+30│+31│+32│+33│+34│+35│+36│+37│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 7│+38│+39│+3a│+3b│+3c│+3d│+3e│+3f│ └───┴───┴───┴───┴───┴───┴───┴───┘
0 1 2 3 4 5 6 7 ┌───┬───┬───┬───┬───┬───┬───┬───┐ 0│+00│+02│+04│+06│+08│+0a│+0c│+0e│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 1│+10│+12│+14│+16│+18│+1a│+1c│+1e│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 2│+20│+22│+24│+26│+28│+2a│+2c│+2e│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 3│+30│+32│+34│+36│+38│+3a│+3c│+3e│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 4│+40│+42│+44│+46│+48│+4a│+4c│+4e│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 5│+50│+52│+54│+56│+58│+5a│+5c│+5e│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 6│+60│+62│+64│+66│+68│+6a│+6c│+6e│ ├───┼───┼───┼───┼───┼───┼───┼───┤ 7│+70│+72│+74│+76│+78│+7a│+7c│+7e│ └───┴───┴───┴───┴───┴───┴───┴───┘
オフセット | サイズ | ファンクション |
---|---|---|
$00 | ワード | 開始(オフセット)パレット番号 |
$02 | ワード | カラーテーブル数 |
$04 | $0C | ダミーデータ 全て$FF |
$10 | 可変 | カラーテーブル |
カラーテーブルは、パレットを構成する「カラーデータ」が、メモリ上に連続して格納 されることにより構成されます。
開始パレット番号は、1色(1カラーデータ)1単位で指定されます。
MSB LSB │ │ B │ G │ R │ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │−│4│3│2│1│0│4│3│2│1│0│4│3│2│1│0│ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
オフセット | サイズ | ファンクション |
---|---|---|
$00 | ワード×キャラクタ数 | アトリビュートデータ |
アトリビュートデータに該当するセガサターンのハードウェア機能は、特に存在しませ ん。アプリケーションソフトで、キャラクタテーブルに1対1対応した何らかの情報が必 要な場合、このフィールドを利用します。