文字配列変数MAKEMAP$にマップのデータをセットして 17行以降のFOR~NEXTで文字配列変数MAKEMAP$から一文字ずつ キャラクタを取り出してそのキャラクタに合わせてBGPUT命令で BGを配置してマップを描画しています。 IF ~ THEN ~ ELSEIF ~ THEN ~ ENDIF の羅列になっているのはキャラクターによって描画するBGのレイヤーが 違うためだと思われます。 MAKEMAP$[Y][X]と指定をするとMAKEMAP$[Y]のX文字目の キャラクタを取り出し出来ます。