マップコマンドと敵キャラコマンドの全般の説明
1.コマンドの単位
通常のコマンドは2バイトで1つの命令になりますが、以下については例外です。
1バイト命令
● マップデータの終了を命令する FD
● 敵データの終了を命令する FF
3バイト命令
● 敵キャラクターコマンドにおける各ルーム間の移動の命令(詳細後述)
2.コマンドオーバーについて
マップコマンドについては、3つの障害物までを縦に並べる事が可能ですが、4つ以上並べようとすると、その命令からそのページの終わりまでは表示されなくなります。
ただし、基本背景ブロック(詳細後述)は例外で、その命令を出した横位置(すなわち、そのブロックが始まる1つ前の横位置)1キャラ分のみがカウントされます。
敵データについては、一画面について5キャラクターまでしか表示されません。(いわゆるキャラクターオーバーというやつです)また、マップコマンドで出現させるものの中にも、キャラクターがあります。ジャンプ台・土管の中のパックンフラワー・空飛ぶプクプク(連続)・大砲玉(連続)・ポールの旗・城のクリアした時に上がる旗などです。面の途中でキャラクターオーバーしたとしても、ゲームは正常に進みますから問題有りませんが、ポールの近くだけは注意して下さい、ここにキャラクターを不用意に出現させると、暴走しやすくなり、ゲーム続行不可能になったりします。ポールの近くにはなるべくキャラクターを出現させないようなマップ設定を心がけて下さい。特に連続出現キャラ(空飛ぶプクプク、大砲玉連続、ジュゲム、クッパの炎連続)を出した時は、ポールを出現させる前に、そのキャラを出なくするマップコマンド(マップコマンド一覧参照)を欠かさないようにして下さい。
3.改ページフラグ
マップコマンド及び敵キャラクターコマンドにおいて、各ページの最初の命令は、改ページフラグをONにします。2バイト命令及び3バイト命令の2バイト目の最上位1ビットが0なら改ページ無し。1なら改ページして、新しいページの最初のコマンドとなります。但し、マップデータの最初の2バイトのみは例外で、ページ先頭フラグは存在しません。
なお敵キャラクターは各ルームの先頭ページに出現させる事は出来ません。したがって、敵キャラクターデータの最初の命令は常にこの改ページフラグをONにしなくてはなりません。
第1バイト 第2バイト
8421 8421 8421 8421
↑
ページ先頭フラグ
0なら改ページ無し
1なら改ページ有り
以後改ページフラグをpと表記します。
4.横位置・高さ位置・キャラの長さ、幅について
|
MARIO
0000000 |
|
|
|
|
|
|
|
TIME
400 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|
←1ページ分→ |
上の図のように、高さ位置は、点数や時間表示のある位置を−1とし、画面の一番下で、半分表示されている部分をCとします。通常面(マリオ1原本の1−1など)の地面の位置は高さBになります。
横位置は、ページの始まりを0とし、ページの終わりをFとします。
|
MARIO
0000000 |
|
|
|
|
|
|
|
TIME
400 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|
←1ページ分→ |
キャラの長さ(幅)は上の図のような、縦に並んだブロックがあったとしますと、これを長さ3のブロックと呼びます。
また、高さ位置、横位置はそのキャラの左上の位置を基準として表現します。
すなわち、上の図では、横位置3、高さ8、長さ3の縦に並んだフ゛ロックと言います。
以後、横位置=n、高さ位置=h、長さ(幅)=Lと表記します。
すなわち、上の図の縦に並んだブロックは、n=3、h=8、L=3です。
マップコマンド一覧へ
敵キャラコマンド一覧へ
戻る
ホームページへ
本文中の会社名及び商品名は各社の商標または登録商標です。