色々な手法を考えてるけど、これだ!と思う管理方法がなかなか出てこない。 今のところは仮想OAMに転送元キャラクタアドレスを格納しておいて、 OAM更新と併せて、先頭から詰めて盲目的にDMAコピーする方法を採っている。 垂直帰線期間は83,776cycleあるから、r/w=4/2の計6cycleで8ドット(4bit/dot) 転送出来て最大111,701ピクセルかな(嘘かもしれない。CowBiteSpecによると 4cycleで、Managing Sprite Cel VRAMによると6cycleになってる。後で検証し ようと思ったまま放置中)。32x32のスプライトに換算すると109キャラクタ分に 相当するグラフィックが転送できるってことになるけど、実際にはリンクリスト を追ったりOAMを更新したりでもっと少なくなる。あと更新する必要が無いキャラ クタもコピーしてたりして無駄が多い。というのが、表面化して無いけど今の所 の問題点。 んで、今日mallocを弄っていた時に「これを流用すればいいんじゃん」と思いつ いた。そこまでは良かったけど、具体的にどう流用するのかはまだ何も考えてない。 適当に続く。
Compiler Optimization (Radium Software) GBAの場合は殆どのコードをROM上で直接実行するため、コードサイズが問題になる ことは殆ど無いけど、IWRAMにコードを転送する場合は多少気になることもある。 例えば以下のようにmakefileを記述しておいて、IWRAMで実行するコードは ARM State / サイズ優先でコンパイルし、ROMで実行するコードはThumb State / 速度優先でコンパイルするとか、そういうソリューションも有りかもしれんね。 最も、ARM Stateのコードはアセンブリ言語で書くだろうから、あんまり意味無い かもしれない。 OPTIMIZE_SPEED = -O2 OPTIMIZE_SIZE = -O1 CFLAGS_THUMB = $(CFLAGS) -mthumb CFLAGS_ARM = $(CFLAGS) -marm %_arm.o: %_arm.c @echo compiling $< @$(PREFIX)gcc -MMD $(CFLAGS_ARM) $(OPTIMIZE_SIZE) -c $< -o $@ %.o: %.c @echo compiling $< @$(PREFIX)gcc -MMD $(CFLAGS_THUMB) $(OPTIMIZE_SPEED) -c $< -o $@
DSで自作デモを動かす人が出てきた。 http://auia.net/ds/ http://www.thepernproject.com/ds/ 下のURLはムービーが用意されている。上画面がパーティクルで下画面がfireだね。 後ろで子供が泣いているのと、それをあやしている声がするのが興味深い。 面白くなってきたなー。
HDDを整理してたらPPZ対応前のPMDFMで作られたデータが出てきた。 PPCだかPPSだかのパートを使ってるため現行のPMDFMプレイヤーではPCMが 鳴らないので、PMDRCを使ってPPZ対応にしてやったぜ。PMDRCマンセー。
激闘!カーバトラーGO!! 試聴 3年くらい前に試聴してGBAすげえ!と思っていたのだが、実物を聴く機会が無かった ので他のGBAゲームはしょっぺぇサウンドだよなぁと思っていたのだが、今日聴けた。 割と音がしょぼかった(^_^;) 試聴サンプルの方は16bitでレンダリングしてる上に、サンプルも贅沢に使ってるんだ なぁ。そうだよなぁ実機は8bitだし、ROM容量も限られてるもんなぁ。量子化ノイズが 乗ってない時点で気付くべきだったんだ。
怒ったタイミングが悪かった。 もっと自制できる様にしないとなぁ。
SMFコンバータと併せての平行開発が進んでいる。 それ以外、特に書くことが無いのでgbadevから音ネタ2題。 How do you insert a MIDI on a Compiled GBA File? コンパイル済みのROMにMKS4AGBを使って音楽を足すにはどうすればいい?って質問を した人が、無知でダウソな低脳野郎だと罵倒されてる。ちょっと言いすぎなんじゃな いの(笑)足すのは無理だけど、アドレステーブルを弄って差し替えるのは可能だと 思うな。最初から純正ドライバを使ってなかったらどうしようもないけど。 Music format for Gameboy advance - commercial games MusyXなんてドライバがあるなんて知らなかった。これはMIDI系なのかな。 あと任天堂のドライバってSappyって呼ばれてるんだな。ポケモン大好きっ子がサファ イアからもじって勝手につけた名前が広まってるのは、なんだか違和感があるなぁ。
三度目の正直だ。 ぶっちゃけると音周りの仕様を考えるのが一番楽しい。 別にGBAじゃなくてもいいような気がしてきた。
http://www.pdroms.de/news.php?nid=1648 特賞はNDSだって。奮って参加すべし。例によって俺も口だけ頑張ってみる。 ルールを簡単に翻訳するよ。間違ってるかもしれないので信用しないこと。ルール:カテゴリ:
- 締め切り:2005年4月10日 23時59分
- 提出物は完全オリジナルで未発表のもの。続編は可。
- 他人の著作物(コード,音楽,絵,ブランド,名前など)は使っちゃ駄目。
- 提出物は起動後、最初に"www.consolefever.com"の文字列を表示すること。 (※注:Consolefeverはコンペのスポンサー)
- サイズ制限は無し
- シンプルなゲームはコンペから除外されるし賞にも入らない。 (※注:pongとかそういう奴)
- 移植は駄目。なぜなら移植はスクラッチから作るより簡単だからだ。
- アダルトや政治的、宗教的なものは駄目。線引きが難しいようなら Kojote まで メールするか EFNET #pdromsで彼を捕まえること。
- FENIXは使っちゃ駄目。もしFENIXについて知らない場合は、特に問題は無い。
- 提出物には明確な名前とバージョン、readme.txtをつけること。
- 提出物はエミュレータで動作するようなフォーマットにすること。 DCの場合は.CDIか.SBI、GP32の場合は.FXEか.FPKであること。 (※注:GBAの場合は.gba/.bin/.mb.binなど)
- GP32はオーバークロック無し(最大133MHzまで)
- アーケード・ハードの場合は Nebula で動くこと。
- グループで参加する場合は何らかの方法で賞品を分けなきゃ駄目。
- ルールは今後(より明確になるように)変わるかもしれない。
- 提出された作品は自動的にフリーウェア/カードウェア/PDSもしくはそれに類推するもの になるので留意すること。
- ソースコードはつけてもいいし、つけなくてもいい。
- 複数の作品提出は可。でも参加賞は一つだけ。
- 作品は submissions at pdroms dot de まで送ること。 住所を書くのを忘れないように。Tシャツが届かなくなるよ。
- コンペの結果が出るまでバイナリーは配布しないこと。スクリーンショットは可。
賞品:
- GB, GBC, Intellivision, NGP, NGPC, Odessey2, WS, WSC, GG, NES, SMS, PokemonMini
- GBA, MD, GP32, PCE, SFC, DC, AC(NeoGeo, NeoGeoCD, CPS1)
- カテゴリ1:
- #1 NDS(北米版)とゲーム一個
- #2 GBA SP(北米版)とゲーム一個
- #3 NGPCとゲーム五個(箱無し・説明書無し)
- カテゴリ2:
- #1 NDS(北米版)とゲーム一個
- #2 GBA SP(北米版)とゲーム一個
- #3 NGPCとゲーム五個(箱無し・説明書無し)
- 賞漏れ(参加賞):
- Consolefeverのロゴ入りTシャツ
- Consolefeverで使える5$分の商品券
仕事用のスペースとして300MBのライトプランを借りた。申し込んだ直後に、変なところで ケチんないでスタンダードにすれば良かったかも、とちょっと思った。ちょっとだけな。 ドメインはどうするかのう。
https://noracom.net/fortune/color_cheki1.php 確実に当たっているところを赤字にするよ。 ★レッドのクロヒョウのあなたは、外見のスマートさとは違い、ゆっくりとした話し方をし ます。人当たりも柔らかく、明るく開放的な人柄です。しかし、人見知りが激しく、初対面 の人と話し合うことが苦手なタイプです。 ★また、外見からは想像できないほどのパワーを秘めています。時代を先取りして、成功を つかむために、全力を尽くして頑張るタイプです。 ★線が細く、現実感のなさが時々あらわれます。それが外見と同調すると、情緒性と芸術的 な感受性、シャープなセンスとなって現れます。しかし、何がなんでもやり通すという根性 や信念が弱く、粘り強さに欠けるので、やりかけた仕事も途中で投げ出すこともあるかもし れません。 ★表面上はスマートで迷うことを知らない風ですが、実生活では意外と気の迷いも多く、自 分で自信を持って決断したり行動できないところがあるようです。 ★しかし、自分の内面を見て欠点をふりかえる反省心は十分にあります。この真面目でひた むきな姿勢が、周囲の共感や信望を得ます。 ★絶えず希望を持って、向上していこうと心がけます。意外と気分に左右されるところもあ るので、成果にもムラがないように注意しましょう。 おい、なんだこの占いわ(;´Д`)失礼だな
工事でも揺れたが(これをP波とする) 今日は、特に風に煽られて強く揺れた(これをS波とする) 私が死んでも代わりはいるもの(これを綾波とする)
朝から近所で工事をしてて頻繁に揺れてる。 地震かと勘違いして「揺れたら揺れたと書く」べきところに、そう書きに行って しまうところだった。いや、揺れてるのは事実だが。
GBATEK等を参考にしてgba.hを書き直してるけど、これってクリーンルーム方式かも と思った。NyLib.zipに完全なものが全て入っているのは知ってるけど、これを使う のはちょっと危ないと思う。
行ってすぐ帰ってきた。 坂道のアイスバーンに嵌まった車を押したり、ワレズカートで自作GBAゲームを披露 したりなどの突発イベントがあって、ちょっと疲れたけどまぁ充実した一日であった。
明日から帰省するので、移動時間の暇つぶしにやる用のゲームでも作ってみるかと思い 立ち、作り始めたが早速詰まってしまった。スプライト画像データの作り方と持ち方に ついて。こういう風に256x256で作ってしまうと(アニメーションさせたり等で)キャラ毎にVRAM へ転送したいときの指定が面倒くさいので、OAMのMAPPING_TYPEを1Dにするんだけど
すると今度はドットエディタでの編集がしづらくなる。 じゃあどうするかっていうと、パターン毎にファイルを別けるんだけど
![]()
![]()
![]()
![]()
えーと… どこで詰まっていたか忘れてしまった。続きはまた今度。
いい初夢が見られたので今年はかなり期待できそう。幸先いいぞ。
(追記)あれれ?-O2の方が縮んだよ?それどころか-O3は更に縮むよ?
pdrv.o
-O1 : 6.29 KB (6,448 bytes)
-O2 : 5.82 KB (5,960 bytes)
-O3 : 5.81 KB (5,956 bytes)
この日記を書いた日にした実験では-O1の方が縮むという結果が
残っているので、ケースバイケースなのかもしれない。 (2005/02/20 10:27:46)