投稿
なお naosus
BGについて質問です。 BGPAGEで指定するGRPページの大きさは512x512なので、定義可能な16x16のBGキャラは1024個(0〜1023番)になる計算ですが、実際には1024〜4095番までのBGがBGPUT可能です。 BGキャラ番号1024番以降は、本来どう使われるべきものなのでしょうか?
0そうだね
プレイ済み
返信[1]
親投稿
なお naosus
よくわからずに使っている私もアレなのですが、 ・BG0番に当たる位置のBGキャラは、GRPをどういじっても真っ黒にしかならない ・1024番以降のBGキャラは、0番の位置を含めてすべてGRPの内容が反映されている(以降の番号は同じキャラのループ) ようだったので、私のプログラムでは1024番以降を使って、GRPの内容をフルにBGとして扱っています。 これが実は想定外の使い方で、プチコンのアップデートで使えなくなったら困るなー…と思いまして(・・;
0そうだね
プレイ済み
返信[2]
親投稿
れい rei-nntnd
資料はなにも見当たりませんが、以下のようになっています。 0:GRPに何を指定しても真っ黒 1-1023:BGキャラ 1024:本来0にあたる部分のBGキャラ 1025-4095:BGキャラのループ。 4096以降はフラグになっていて &H1000: 右に90度 &H2000: 右に180度 &H4000: 左右反転 &H8000: 上下反転 です。 BGキャラ番号cのBGキャラを上下反転させたうえで左に90度回して表示したい場合は BGPUT l,x,y,((c+1023) MOD 1024)+1 OR &H8000 OR &H3000 こんな感じで
1そうだね
プレイ済み
返信[3]
親投稿
なお naosus
やっぱり資料ないですよねー。 しかし回転/反転パターンについては新たな知見でした。 公式の命令表でのBGPUTに記述されている回転/反転属性は、どう指定するのかまったく説明になっていませんが、本来は仰るような体系で意味が通るのかな…と思います。 ご回答ありがとうございました^^
0そうだね
プレイ済み
返信[4]
親投稿
れい rei-nntnd
回転・反転に関しての情報は2ページ目にあるという情報をいただきました。 気付かねぇ… 0がどうやっても黒いこと、1025~4095がループなのは資料ないっぽいですねぇ
0そうだね
プレイ済み
返信[5]
親投稿
なお naosus
2ページめというのがよくわからなかったのですが、BGPUTの-2-の用法には回転/反転についての記述がありますね。(こちらも圧倒的に説明不足ですが…) にしても、仮に、 0番はシステム予約、 1024〜が0番の書き換えを有効にしたパターン、 3072〜が回転/反転なしに対応するパターンを何らかの都合で個別に用意したものとしても、2048〜の存在意義が不明ですよねえ… 何となくですが、当初はBGキャラのサイズが8x8で計画されていて、そのために4095番までを通常パターンとして確保していた名残りなんではとか思ってしまいます。 詳しくはリファレンスを待つしかなさそうですね。
0そうだね
プレイ済み
返信[6]
親投稿
れい rei-nntnd
あ、失礼。 プチコンのインラインヘルプの2ページ目ですね。 こちらは多少くわしいようです。 4095まであるのは複数のGRPに対応するつもりだったのではと思ってました。 8x8説もアリですねぇ。 こういうのを探すのもプチコンの楽しみということで我慢するしかないのかな。
0そうだね
プレイ済み
返信[7]
親投稿
なお naosus
なるほど、インラインヘルプの2ページ目は、命令表の-2-の用法に対応しているようです。こちらは確かに詳しいですね。 これを見ると、16bit幅の引数のうち上4bitを属性に当てて、残りのうち、余ったb10〜b11は機能していない(だからループしてる)というようにも見えますね。 (0番は特殊な扱いをしてるとして…理由は不明ですが) こういった不明な仕様を叩いて明らかにしていくのも、また往年のホビーパソコン的な楽しみと言えると言えば言えるのかも知れません。
0そうだね
プレイ済み
返信[8]
親投稿
僕は最後のなおさん説かなと思ってます。 0は仕様だという話をTwitterか何かで見た記憶がありますね。
0そうだね
プレイ済み
返信[9]
親投稿
なお naosus
0番は実際には透明のようなので、プチコンのエディタかどこかに使われている等の理由で、うっかり書き換えてしまって画面が判別不能になるのを避けている(システム予約)のかも知れませんね。 b10〜b11が、「どちらかが立っていると、この0番の特殊な扱いを無効にするフラグ」だと考えるとスッキリする気がします。
0そうだね
プレイ済み