atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
マリオ4改造 @wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
マリオ4改造 @wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
マリオ4改造 @wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • マリオ4改造 @wiki
  • Lunar Magic
  • How to レイヤー3

How to レイヤー3

最終更新:2021年10月31日 20:03

匿名ユーザー

- view
だれでも歓迎! 編集
  • はじめに
  • 背景として使う
  • 自由に書き換える
    • Lunar Magicで編集
    • 外部から取り込む
    • ASMでの書き換え
    • DMAで転送
  • 専用ツール(Terra Stripe)を使う
  • レイヤー3背景の縦スクロールに関する注意
  • コメント欄

はじめに

レイヤー3とはステータスバーに使われたり、レイヤ2を地形として使っている時に背景として使えたり、地形として使えたりするレイヤーのこと。
プレイ中に自由に書き換えたりもできます。でもASMの知識が必要です。


間違ってる所あったら勝手に書き直しちゃってください。日本語苦手…

背景として使う

をクリックしてプルダウンボックスからタイルセットを選ぶ
これだけです。城・洞窟・水中等で試してみましょう。

「Force Layer 3 tiles with priority......」にチェックを入れると他のレイヤーより手前に表示されます。

「Enable Advanced......」にチェックを入れると「Advanced bypass settings for Layer 3」枠内にてレイヤー3の更に細かい設定ができます。

  • CGADSUB for Layer 3
    チェックを入れるとレイヤー3が半透明になります。(ステータスバーの行は半透明になりません。)

  • Move Layer 3 to Subscreen
    チェックを入れるとレイヤー3がステータスバーと共に他のレイヤーより後ろに表示されます。
    「Force Layer 3 tiles with priority......」と共にチェックを入れているとpriorityにチェックを入れたタイルがレイヤー1とレイヤー2に挟まれます。

  • Fix Layer 3 scroll sync issue caused by status bar
    チェックを入れるとスクロール時にレイヤー3がレイヤー1・2よりズレるのを修正します。

  • Vertical scroll
    レイヤー3の縦スクロール方法を設定します。基本的にレイヤー2のスクロール方法 と同じです。
    カスタムスプライトなしで自動スクロールもできます。
  • Horizontal scroll
    レイヤー3の横スクロール方法を設定します。基本的にレイヤー2の(ry

  • Initial Y Position/Offset
    レイヤー3の初期Y位置を設定します。
    10増やす毎に上に2タイルずらします。

  • Initial X Position/Offset
    レイヤー3の初期X位置を設定します。
    10増やす毎に左に2タイルずらします。ただし000,040,080,100の4段階しかありません。

  

自由に書き換える

ちょっとズレますが、SNESの仕様について。(ここではBG=レイヤと考えてもらっていいです
SNESのBG面には7つの画面モードが用意されてます。以下コピペ

モード BG数 色数 パレット数 備考
0 4 4/4/4/4 8/8/8/8
1 3 16/16/4 8/8/8
2 2 16/16 8/8
3 2 256/16 1/8
4 2 256/4 1/8
5 2 16/4 8/8 インタレース
6 1 16 8 インタレース
7 1 256 1 拡張BG(拡大縮小回転)使用可能

表を見れば分かりますが、smwは画面モード1を使用しているので、使用できる色は

  • BG1 16色8パレット
  • BG2 16色8パレット
  • BG3 4色8パレット

となります。つまり、BG3が使用できる色は4色*8パレット。(実際は透明色があるのでもっと少ない)
一応、これを頭に入れておいてください。後で役に立つかもしれません。役に立たなくても責任は持ちません。それじゃあ書き換えましょう

Lunar Magicで編集

編集前に一度以上GFX・ExGFXを抽出・挿入しておきましょう。

  1. レイヤー3にExGFXを使用したい場合はを押す。そうでない場合は3へ
  2. Enable...Layer 3 GFX for this levelにチェックを入れ、変更したいGFX番号を使用したいExGFX番号に書き換える。
  3. Overworld Editorを開く。
  4. File→Layer 3 Level→Load Layer 3 of Levelを選ぶ。(またはAlt+F11を押す)
  5. 「はい」を選ぶ。Lunar Magicで開いている面のレイヤー3が出てくる。
  6. 自由に編集する。(編集方法はタイトル画面・クレジット編集時等と同じ)
  7. File→Layer 3 Level→Save Layer 3 of Level…を選ぶ。(またはAlt+F12を押す)
  8. 「はい」を選ぶ。
  9. 上のプルダウンボックスから80以降の好きな番号を選ぶ。
     Not Insertedと書いてある番号は使われていない番号
     16進数が書かれている番号はExGFXやレイヤー3タイルデータに使われている。
  10. 真ん中のプルダウンボックスからレイヤー3の書き込み開始場所を選ぶ
     上から説明
      1番目…ステータスバーの下から書き始める
      2番目…画面左上から書き始める(一部ステータスバーに上書きされ(優先度は上書きされない)、ステータスバーのある行はスクロールできない)
      3番目…ステータスバーの一番下の行から書き始める(ストックアイテムの枠線の一番下を上書きする。上書きした行はスクロールできない)
      4番目…レイヤー3データの下半分から書き始める
  11. 下のプルダウンボックスからファイルサイズを選ぶ(通常は2000bytesを選ぶ)
  12. OKを押す
  13. Lunar Magicに戻り、を押してExGFXを取り込む
  14. を押す。
  15. Enable......tilemap for this level.にチェックを入れ、以下の設定を7~9と同じ設定にする。
  16. 保存


外部から取り込む

  1. CなどからDLしたレイヤー3タイルデータをExGraphicsフォルダへコピーして名前を変更(今回はExGFX500)。
    ExGFXを使っている場合はそれも同様(今回はExGFX400~)。
  2. を押してExGFXを取り込む
  3. を押す。
  4. Enable...Layer 3 GFX for this levelにチェックを入れ、レイヤー3タイルデータに使われている場所を400~に書き換える。
  5. Enable......tilemap for this level.にチェックを入れ、GFX Tilemap File LT3に500を入力
  6. 保存


ASMでの書き換え

あまり沢山書き換えない場合はASMを使用してVRAMにデータを転送します。
VRAMは、通常のSTAなどでアクセスするRAMとは別に用意されているもので、I/OポートやDMAで操作します。
VRAMにアクセスするにはこうします。(…このASMはスプライトとして挿入するのをお勧め)
うpろだの人のを勝手に使ってます。マズかったら消しといてください…

	dcb "INIT"
	RTL
	dcb "MAIN"
	REP #$30
	PHX
	LDA $7F837B
	TAX
	CLC
	ADC #$000A		;000A - 0004 = 0006 bytes の転送
	STA $7F837B
	LDA.w #$xxxx		;転送先アドレス
	STA $7F837D,x
	LDA #$0500		;0006 - 0001 = 0005
	STA $7F837F,x
	LDA #$aabb
	STA $7F8381,x
	LDA #$aabb
	STA $7F8383,x
	LDA #$aabb
	STA $7F8385,x
	SEP #$30
	LDA #$FF		;終了
	STA $7F8387,x
	REP #$30
	PLX
	SEP #$30
	
	STZ $24	;BG3の位置を固定
	STZ $25
	
	RTL

(本当はI/Oポートに直接アクセスした方が早いんですが…VRAMにアクセスできるのはブランク期間中だけなので、違うRAMを用意して、そこからV-Blank期間中に転送するということです。)

「転送先アドレス」にはアクセスするVRAMのアドレスを指定します。VRAMには色々と(BG面のタイルデータとかグラフィックとか)詰まっているので…smwの場合、BG3のタイルデータは$5000から始まってます。

タイルデータとは、8x8(又は16x16)のタイルを敷き詰めたデータです…説明がむずいなぁ…一番左上のタイルが$5000、1タイル右は$5001、一番右は$501F…、2段目は$5020…という感じ。

試しに$50C0辺りを設定してみましょう。(リトルエンディアンで指定するのでASM上ではC050になります)
aabbには転送するタイルの情報を指定。
aaには(またコピペです…)

bit0 layer 3 page 1 タイル番号の上位ビット。文字とかも表示できる
bit1 layer 3 page 2
bit2 priority 優先順位?
bit3 palette パレットの下位3bit
bit4 palette
bit5 palette
bit6 flip x 左右反転
bit7 flip y 上下反転

を指定。良く分からなければ38でおk。bbにはタイル番号を指定(OWエディタでタイトル画面を開いてそれの8x8エディタを見ながら指定)
これで一応ASMでの描画は終わり。お疲れ様でした

DMAで転送

沢山のタイルを転送したい場合は↑の方法でやっていたのでは非常に非効率的です。
画面いっぱいに転送したい、という時はDMAを使用します。またうpろだの人のを使わせてもらいます…

	dcb "INIT"
	RTL
	dcb "MAIN"
	REP #$20	;16bit A
	LDY #$80	;$2118-2119にword(2バイト)書き込むごとに$2116(目的地)を1増やす設定
	STY $2115
	
	LDA #$5000	;書き換えるVRAM = $5000(レイヤー3タイルデータ)
	STA $2116
	
	LDY #$01	;代入対象は$2118→$2119→$2118→$2119→
	STY $4300
	LDY #$18	;$2118$2119に代入=指定したVRAMを代入値に書き換える。
	STY $4301
	
	LDA #$8000	;転送元SNESアドレス
	STA $4302	;SNES$21:8000はPCアドレスに直すと$108200
	LDY #$21	;バンク
	STY $4304	;転送元アドレス指定
	
	LDA #$0800	;何バイト送るか→$400バイト
	STA $4305
	
	LDY #$01
	STY $420B	;01を代入するとDMAが実行される。
	
	SEP #$20
	
	STZ $24	;BG3位置固定
	STZ $25
	
	RTL

PC$108200からタイルデータを転送します。バイナリエディタで弄りましょう。
ASMでは、
[属性] [タイル番号] [属性] [タイル番号]
…と設定していましたが、
バイナリエディタ上では
[タイル番号] [属性] [タイル番号] [属性]
…と設定します。間違えると酷いことになるので注意。
終わり。

専用ツール(Terra Stripe)を使う

SMWCのツールに行きTerra Stripeと検索(説明少なくてすまない)

レイヤー3背景の縦スクロールに関する注意

ステータスバーもレイヤー3背景の一部なので$23(レイヤー3x位置(ページ単位))が偶数の時にある程度縦スクロールさせるとステータスバーが複製されて出てきます。
又、縦スクロールさせるとステータスバー描画範囲の境界線によってレイヤー3背景が切れてしまいます。
ドーナツ平野の城のブロックが左右に動く部屋でどれだけ登っても窓が同じ位置に見える(縦スクロールされない)のはこのためです。

これらのパッチを当てることでレイヤー3を自由に縦スクロールできるようになります。

MessageBox in Minimalist Status Bar + Goal Customizer
画面の上端or下端or両端に約8ドットの黒帯を作り、そこでステータスをレイヤー3で表示します。
メッセージもそこで表示します。選択肢や数値変更なども可能です。
ゴール時もレイヤー3を妨害しなくなります。
Mode7でも表示されます。(クッパ戦を除く)
レイヤー3をラスタースクロールさせていても問題なく表示可能です。

DKCR Styled Sprite Status Bar
ドンキーコングリターンズ風に画面左からステータスをスプライトで出して表示します。
ボーナススター・制限時間・スコアの概念はなくなります。
Mode7ボスでは表示されなくなります。

Minimalist Status Bars
画面の上端or下端or両端に約8ドットの黒帯を作り、そこでステータスをレイヤー3で表示します。
Mode7では表示されなくなります。
モートン・ロイ・ルドウィッグを倒した後にグラフィックが化ける事も・・・

New Super Mario Bros. Wii Styled Status Bar v1.7
NewマリオWii風にスプライトでステータスを表示します。
ボーナススターの概念はなくなります。アイテムのストックもできなくなります。
Mode7ボスでバグる事があります。

Remove Status Bar
ステータスバーを完全に抹消します。
スコア・制限時間・ボーナススターの概念はなくなり、アイテムのストックもできなくなります。
!enable_coinsでコインの概念のありなしを変更できます(0であり、1でなし)。枚数の確認はできません。

SMB3 Status Bar v1.52
マリオ3スタイルでステータスをレイヤー3で表示します。
画面下に2タイル分の黒帯を作るため、コースの表示範囲が狭くなります。
levelheight.asmを当てるとステータスバーで隠されていたコース一番下の2タイルまで表示されるようになります。(タイトル画面にも影響し、一番下の余分な2タイルが表示されるようになります。)
Mode7ボスでは表示されなくなります。
8x8タイルマップの1B00~1B3F(LG1の上半分)がステータスバーのタイルで固定になります。

コメント欄

コメントログ

  • コレ答えられたら神様です! 他の人のROMで遊んでいたら、ワールドマップに本家に無いはずのヤシの木やピーチ城。キノピオの家や地形が色々と有りました。 コレって一体どんなツールを使っているのでしょうか? 詳しい事やURLなどを貼ってくれると幸いです!!お願いします!!!!! <m(_ _)m> - 2012-02-20 19:28:44
  • レイヤー3をスマッシュ(本家のワールド1の城でつかっているもの)はなんでステータスバーまでスマッシュされないんでしょうか? 切り離せるんでしょうか? - 2012-03-23 15:31:51
  • ↑ステータスバーの描写はスプライトより後に処理される筈。 - 2013-01-01 22:06:38
  • genpage("VFmMKakwRstAnQku42DJCP39ihhgSrE754awtyp6",155,25,25,45) (2020-08-09 00:39:33)
  • へー こんなこともできるんやー - ま (2023-01-15 02:34:24)

タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「How to レイヤー3」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • kirby.png
マリオ4改造 @wiki
記事メニュー

改造ツール

  • Lunar Magic
    • Overworld Editor
    • Lunar Magic/音楽の追加
  • pixi
  • UberASM
  • GPS



共同開発

  • 共同開発について
  • 共同への投稿
    • VIPマリオ1
    • VIPマリオ2
    • VIPマリオ3
    • VIPマリオ4
    • VIPマリオ5
    • VIPマリオ6β
  • 自作物公開場

SFCプログラム言語

  • 65C816プログラミング
    • 65c816資料
  • HDMA入門
  • xkasについて
  • 上級ASMコーディング
  • 画面視覚効果(HDMA)

コラム

  • ビギナーズガイド
  • みんなのFAQ
  • 良ステと呼ばれるステージの作り方
  • パッチについて
  • マリオワールドテクニック集
  • バグ技集
  • 良作改造マリオ紹介
  • 改造マリオリンク集
  • 効果音一覧
  • 各GFXの早見表
  • チラシの裏
  • Macで改造マリオを遊ぶ



アクセスカウンター

総数: -
今日: -
昨日: -
現在:-


リンク集

  • 本スレ
    • スレ避難所
    • 過去ログ
    • まとめサイト(更新停止)
  • あっぷろだえっくす
  • VIPマリオ攻略Wiki
  • SMW Central
  • SMW没データまとめ
  • マリオ64改造Wiki
  • マリオWii改造Wiki
記事メニュー2

編集者向け

  • 編集者向けの情報
    • ツールページ雛形
  • Wikiの情報を新しくしよう
  • 編集練習ページ

更新履歴

取得中です。
人気記事ランキング
  1. Floating IPS(Flips)
  2. Lunar Magic/ExGFXを使ってのグラフィック変更
  3. Lunar Magic
  4. 改造マリオリンク集
  5. 効果音一覧
  6. Wikiの情報を新しくしよう
  7. 改造マリオの共同開発5
  8. 良ステと呼ばれるステージの作り方
  9. WinIPS
  10. 自作物公開場
もっと見る
最近更新されたページ
  • 7日前

    投票ページ
  • 29日前

    pixiの使い方(仮)
  • 34日前

    編集練習ページ
  • 75日前

    コメント/Lunar Magic/みんなのFAQ
  • 150日前

    Lunar Magic/ExGFXを使ってのグラフィック変更
  • 218日前

    コメント/Lunar Magic/ExGFXを使ってのグラフィック変更
  • 227日前

    コメント/Lunar Magic/ゲーム内の文字を日本語化する
  • 276日前

    http:/smw-vip.hp.infoseek.co.jp/cgi-bin/_sn/src/smw2066.png
  • 299日前

    効果音一覧
  • 306日前

    Lunar Magic/みんなのFAQ
もっと見る
人気記事ランキング
  1. Floating IPS(Flips)
  2. Lunar Magic/ExGFXを使ってのグラフィック変更
  3. Lunar Magic
  4. 改造マリオリンク集
  5. 効果音一覧
  6. Wikiの情報を新しくしよう
  7. 改造マリオの共同開発5
  8. 良ステと呼ばれるステージの作り方
  9. WinIPS
  10. 自作物公開場
もっと見る
最近更新されたページ
  • 7日前

    投票ページ
  • 29日前

    pixiの使い方(仮)
  • 34日前

    編集練習ページ
  • 75日前

    コメント/Lunar Magic/みんなのFAQ
  • 150日前

    Lunar Magic/ExGFXを使ってのグラフィック変更
  • 218日前

    コメント/Lunar Magic/ExGFXを使ってのグラフィック変更
  • 227日前

    コメント/Lunar Magic/ゲーム内の文字を日本語化する
  • 276日前

    http:/smw-vip.hp.infoseek.co.jp/cgi-bin/_sn/src/smw2066.png
  • 299日前

    効果音一覧
  • 306日前

    Lunar Magic/みんなのFAQ
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. AviUtl2のWiki
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  6. ソードランページ @ 非公式wiki
  7. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  8. ドラゴンボール Sparking! ZERO 攻略Wiki
  9. 星飼いの詩@ ウィキ
  10. ヒカマーWiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 発車メロディーwiki
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. MadTown GTA (Beta) まとめウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  3. 高崎線 - 発車メロディーwiki
  4. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  5. 暦 未羽 - ストグラ まとめ @ウィキ
  6. 召喚 - PATAPON(パタポン) wiki
  7. ステージ攻略 - パタポン2 ドンチャカ♪@うぃき
  8. 暦 いのん - ストグラ まとめ @ウィキ
  9. 鬼太郎誕生 ゲゲゲの謎 - アニヲタWiki(仮)
  10. ロスサントス警察 - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.