SGM2では、便宜上この2バイトを読み込んで定義終了としていますが、実際には動作しません。LevelTypeステージの種類を表します。通常、ワールドマップから突入するマップに対しては0を指定します。ボーナスステージには1を、小部屋には2を、ボスステージには3を、ジャンプ先マップには6を指定します。BonusTypeステージの種類が1の時のみこの設定は有効です。0:ボーナスなし1:みんなやっつけろ2:星を集めろ3:コインを探せ〇LevelISD統合スタイルデータ(ISD)の所在アドレスを指定します。〇TilemapAreaNoISDで指定されたタイルマップのうち、どの部分を使用するかを指定します。タイルマップは別々のステージが使用するマップを集約した大きなマップであり、その一部分を切り分けて使用するようになっています。この切り分け方はマップ設定で規定されており、この値は、マップ設定で規定されたサブマップの番号を表します。〇LevelParamsそれぞれ独立した作用を持つ設定値が5バイトあります。具体的にどういう効果を持つのかは不明ですが、アニマルの持ち込み可否、ボーナスステージの退場処理などを操作していることが経験的に知られています。コースターに乗ったままコインを取得させた後、退場演出がかからない場合は、このパラメータを適切に設定することで修正することができます。〇CameraControllカメラアングルの設定を行います。元々は正体不明のLevelParamsの第6バイトとされていたものです。上より(やや上の方を広く映します。縦面、特に上に登るような構成のマップではこの設定が使われています)〇LevelEntrance構造化された5バイトのデータです。(符号なし16ビット。実際の座標はここから256を減じたもの。(同上)〇Destinationクリアした後に進むことができるステージはもちろん、ボーナスステージのマップなど、このマップから直接移動することができるステージの番号の配列です。1要素2バイトとなっていますが、実際には上位バイトは使用されません。〇Connectionクリア後に現在のマップとそこから直接つながるマップ以外に、ワールドマップ上で接続すべきマップがある場合に指定されます。1要素4バイトで、前半2バイトが始点、後半2バイトが終点となります。実際にはどちらも上位バイトは使用されません。具体的な使用例は、実例とワールドマップを照らし合わせながら確認するとよく理解できると思います。Quaraageステージスタイル設定ステージスタイル(ISD)は固定長のデータで、バンク$FD内に存在します。各ステージが使用するISDは、ステージ設定にて規定されており、ISDそのものの配列ポインタなどはありません。ISDのデータ構造は次の通りです。追加パレット指定(2バイト)効果1(2バイト)BGM(2バイト)ベースパレット(2バイト)不明データ1(2バイト)不明データ2(2バイト)描画メソッド(1バイト)タイルセット(1バイト)画面更新処理(2バイト)マップスクロール処理(2バイト)タイルマップ番号(1バイト)効果2(1バイト)特殊効果(1バイト)〇追加パレット指定CGRAMにロードされたパレットの一部または全部を、動的に書き換えるための追加アセンブリのポインタです。2バイトでの指定ですが、実際には上位バイトは無効です。〇効果1主に水中設定や背景などを司りますが、詳しい内容は不明です。2バイトでの指定ですが、実際には上位バイトは無効です。〇BGMステージ内で鳴らすBGMの番号です。実際には、BGM追加指定で破棄されることがあるため、この設定は基本設定と考えてください。2バイトでの指定ですが、実際には上位バイトは無効です。〇ベースパレットCGRAMに転送する地形用128色パレットの先頭アドレスを指定します。バンクは$FD内です。マップ設定に書かれた基本設定を継承する場合には、ヌルポインタ0を指定します。〇不明データ1/2具体的詳細については不明ですが、ステージ入場時の処理を司っている模様。〇描画メソッド画面モードや各BG面の使用するデータのアドレス、ウィンドウマスクなどの特殊効果など、PPUの画面レンダリング全体を司るデータを指定します。SGM2の[総合グラフィックエディタ]内、[描画方式の設定]で内容を編集できます。PPUのハードウェアレジスタに直接値をセットするため、非常に低レベルなデータとなります。〇タイルセットこのISDを適用するマップで使用するグラフィックファイルを指定します。この設定により地形の画像や背景の画像が規定されます。レイヤスクロールなどを司っているようですが、詳しいことは分かっていません。設定値はアセンブリへのポインタです。〇地形のスクロールレイヤスクロールなどを司っているようですが、詳しいことは分かっていません。設定値はアセンブリへのポインタです。2バイトでの指定ですが、実際には上位バイトは無効です。〇タイルマップ番号このISDを適用するステージで使用するタイルマップを指定します。地形のグラフィックを変更する場合は、描画メソッドだけではなくタイルマップも変更する必要があります。〇効果2ロープ判定など、一部の設定を切り替えるなどします。様々な効果を付与できます。異なる8つのフラグセットです。スプライト製の足場上での左右移動を禁止します。この設定を使用した場合、蜘蛛の巣も歩けなくなる。通常、ステージ内のBGMは、ISDで規定されたBGMを使用しますが、一部のマップ(主にボーナスステージとボスステージ)では、ISDでの指定を無視しています。このような設定を可能にするのがBGM追加指定です。※「追加指定」とあるが実際には複数のBGMを鳴らせるようにするわけではない。ISDの設定を上書きするのが目的。BGM追加指定はアドレス$BB:94B7に存在します。1要素1バイト、標準206要素です。現在のマップのBGM追加指定を取得する場合、$BB:94B7に現在のステージ番号を足したアドレスにある1バイトを参照すれば構いません。0が設定されている場合、ISDの指定を継承します。0以外の値が設定されている場合、ISDの指定をこの値に上書きします。値はBGM番号であり、ISDで指定するBGM番号と同一のものです。BGM追加指定が存在する理由ですが、(主に使用する効果音の都合で)BGMだけが違う複数のISDを定義せずに済み、容量の節約となるということが考えられます。BGM追加指定を適切に利用することで、ボスステージで別のBGMを鳴らしたり、ボーナスステージ内での音バグを改善したりすることができます。Quaraageタイルセットタイルセットとは、ステージ内で使用するスプライト以外のグラフィックデータを束ねた管理ファイルです。このデータは構造化されており、このタイルセットを通して、実際の地形/背景用グラフィックファイルをVRAMに転送しています。タイルセットは1項目7バイトで、そのデータは次のようになっています。(2バイト)〇バンク文字通り、転送するグラフィックファイルのバンクを指定します。0の場合、タイルセット定義の終了です。〇グラフィックファイルのアドレス文字通り、転送するグラフィックファイルの16bitアドレスです。上位8bitを先に読込んだバンク、下位16bitをこのアドレスとした場所からタイルセットは転送されます。下位15bitが転送先のアドレスとなります。実際の転送先アドレスはこの値の2倍です。最上位ビットが立っている場合、このグラフィックファイルは圧縮されていることを示します。したがって、VRAMへの転送前に解凍処理が行われます。最上位ビットがクリアされている場合、非圧縮生データですので直接VRAMへの転送が行われます。〇転送サイズVARMに転送するサイズを指定します。個々のグラフィックファイルそのもののサイズではないことに注意してください。グラフィックファイルの転送はDMAを介して高速に行われます。;//未使用?//ROMから直読みするようにDMAを設定している以外は処理は同じ。//おそらくROMからの直読みの場合、前回のDMA転送が間に合わずバッティングすることがあるため、コピー処理で時間稼ぎをするようになっていると思われる。Grouphttp://www.phpbb.com/。