TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
おもらしゲームをつくろうぜ
プログラミングできる人 来て(ヽ゚д)クレ  U
■吉里吉里/KAG/TJS雑談質問スレ■その32
ワールドネバーランドみたいなゲーム
flashでネトゲー作らない?
■3Dツール総合@ゲーム製作■
【サクーシャ】Yuuki! Novelスレッド【ガンガレ!!】
【ボーン】スキンメッシュ勉強スレ【デフォーム】
【RPGの】アイテム・ザコ敵・村人の会話【雑品データ】
■吉里吉里/KAG/TJS雑談質問スレ■その30

ゲームボーイアドバンス(GBA)非公式開発 Part2


1 :04/10/30 〜 最終レス :2020/05/15
GBAで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。

資料、リンク等
http://www.devrs.com/gba/
http://www.gbadev.org/
http://www.vsync.org/agb/
http://nocash.emubase.de/gbatek.htm
http://www.bomber.co.jp/chaola/docs/ARM/

開発環境
DevkitAdvance http://devkitadv.sourceforge.net/index.html
DevkitARM http://www.devkit.tk/
VisualHAM http://visualham.console-dev.de/
DragonBasic http://jm-basic.com/dragon/index.php

GBA Wiki
http://cgi.f26.aaacafe.ne.jp/~gbawiki/pukiwiki/pukiwiki.php
【GBA】Linuxから目覚めるぼくらのゲームボーイ!
http://pc5.2ch.sc/test/read.cgi/linux/1070983168/

ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
http://bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
前スレ
http://pc5.2ch.sc/test/read.cgi/gamedev/1013750899/


2 :
おつ
NDSも自作できるといいな

3 :
ハードがGBPだとソフト側から認識するにはどうしたらいい?
知ってる人がいないようならレジスタダンプしてみるが...


4 :
この板って即死判定とかないよね? 大丈夫だよね?

5 :
>4
どうだろ。多分大丈夫では?

>3
知らないけど興味あるのでダンプきぼんぬ。

6 :
即死判定は2週間くらいか?
2ちゃんねらで3Dチャットを作ろう!!
http://pc5.2ch.sc/test/read.cgi/gamedev/1098710613/
だと、レス数5、最終書き込み10/26でdat落ちしてる。

7 :
とりあえず即死回避パピコ

何レスまでやればいいんだろ。

8 :
30レスくらいまでじゃなかったか?

9 :
即死防止支援

10 :
11レスまでは頑張ってみようか

11 :
即死はさけたいね

12 :
G・B・A! G・B・A!

13 :
220 名前:名無しさん、君に決めた! 投稿日:04/11/12 14:50:24 ID:EVCfPBYs
ゲームボーイアドバンスで動くやつ↓
http://up.isp.2ch.sc/up/6536f21e64a5.ZIP

チェックメイトモードのみ、十字ボタン操作で大分感じが違うのが残念。

14 :
5面どうやってクリアするんだ?

15 :
☆☆☆☆┌─┐☆☆☆☆
☆■┌─┘始└─┐■☆
☆■│■■│■■│■☆
☆□│□□│□□│□☆
☆■│■■│■■│■☆
☆■│■■│■■│■☆
☆□│□□│□□│□☆
☆■│■■│■■│■☆
☆■└┐■│■終┘■☆
☆☆☆└─┘☆☆☆☆☆

16 :
洩れは3面が解けない.......orz

17 :
AAで直感ヒトフデの問題をだすスレ
http://game8.2ch.sc/test/read.cgi/poke/1098171476/

多分、全部ここで出題された問題だと思うから。

18 :
確かにこれなら簡単に作れそう、ということで
作っちゃったんだな。
そうなると、本家としてどのようにこのルールをベースに
商品価値を付加するか見物だな。

発売日が楽しみだ。

19 :
もういっかいうぷしろ〜

20 :
すみません、質問なのですが・・・

今割込みを使ったプログラムを作っているのですが
どうやらROM(0x08000000)から割込みのベクターアドレス(0x03007FFC)
への読み込みができていないようなのです。

そこで調べてみるとbl命令は相対オフセット24ビットなので
32MBの領域しかジャンプできないために
ROM(0x08000000)とIWRAM(0x03000000)を相互に
行き来できないということがわかりました。

これを解決するためにはリンカースクリプトとスタートアップルーチンに
何か変更点を加えたらいいのでしょうか?
分かりにくい説明ですみません・・・

21 :
>>18

体験者として言わせてもらうと、
付加価値なんて考慮不要、
ヒトフデはタッチパネルに自分の手を使って
ペンで書きなぞるから面白い。
十字キーやマウスでも遊べるルールだけど、それじゃ価値がまったくない。
絵に描いたモチを食べたフリをするのと一緒。

・・・というわけで発売日を楽しみにしようぜ。

22 :
>>20
質問の意味がよく分からないんだが...
絶対アドレスにジャンプしたいならlrに戻り先をセットしておいてpcを直接変更すればいいよ。

23 :
>>22
すみません私もどう説明したら伝わるか・・・
でも、回答ありがとうございます。
試してみます。

24 :
でも正直一筆書きって、
交点からでる線が奇数のところを始点・終点にするだけだから
めちゃめちゃ簡単という

25 :
それがわからねーから一筆書きのゲームがあるんでしょう

26 :
DSのヒトフデって一筆書きとはルールが違うけどね

27 :
>19
ほい

http://gamdev.org/up/img/1948.zip


28 :
DSで動いてる!(当たり前かw


29 :
フラッシュROMどこで買うの?

30 :
開発セット、ネットで注文した
届くの楽しみだなぁ


31 :
DSまだ発売日ちがうでは?

32 :
フラッシュROMどこで買うの?

33 :
インポート屋から買えねえ?

34 :
開発キット届いた!
けど読んでる暇がねぇ orz


35 :
IDEはコード戦士だっけ?

36 :
DSの話か?

37 :
DSの開発環境マダー?

38 :
GBAの開発環境は発売後、どのくらいでリリースされたの?

39 :
関係あるかどうか微妙だけど一応紹介しておく

Interface2005/1号の特集
 フリーソフトウエア活用
 組み込みプログラミング

オイラはヘタレだから誰かeclipseを利用する環境を作ってくれ

40 :
>>39
これだよな
http://www.cqpub.co.jp/interface/contents/2005/200501.htm

くっそー田舎だからか、どこの本屋にも置いてないでやんの。
立ち読みできん。
誰かレポートキボン。

41 :
>>39
仮にeclipse環境を作ってやったところで、オマイは
・APIが整ってないYO!
・資料がないYO!
と騒ぎ立てるようになる。
間違いない!

42 :
APIなんてあるんか?
基本的に組み込み開発と同じだと考えているんだが?

とりあえずアドレス情報と割り込み回り関連の資料から
なんとかするしかないんじゃないのか??


43 :
雑誌来るの待ちきれないからちょっと調べた
CDT使うのな
http://www.excite.co.jp/world/english/web/body?wb_url=http%3A%2F%2Feclipsewiki.editme.com%2FCDT&wb_lp=ENJA&wb_dis=2

44 :
すまんexcite翻訳の方はってしもた
googleで検索した結果にexcite翻訳がでるとは思わなかった

本家こっちね
http://eclipsewiki.editme.com/CDT

45 :
保守

46 :


47 :
ほしゅ

48 :
保守

49 :
2005年初カキコ保守

50 :
JpegViewerつくってみた。
http://home.att.ne.jp/blue/moonlight/uraha/resources/20050102_ps2jpg.zip
ネタがなさそうなので書き込み。あけましておめでとうございます。


51 :
質問。
DevkitAdvance使ってGBAのプログラム作ってるんですけど、
これって公開すると不味かったりします?(違法性やら任天さんが怒るやら

52 :
>>50
おお、すごい。JPEGの展開方法が分かれば作れるのだろうけど。
漏れも画像処理を勉強しようと思いつつほったらかしだ…。

53 :
>>51
オレは既に公開しているが。
なにがどうまずいのか知りたいね。

54 :
>>52
Jpeg、結構おもしろかったです。当初はGBAで?と思っていたのですが、細切れ(必要な分だけ)展開とかメモリ節約とか、そういうとこは組み込み用ならではの面白さがありました。
フーリエ変換とか初めてまじめに読んだけど、エンコーダの方は数学のエッセンス(?)盛りだくさんでそういう意味でも結構楽しかったり。でもお腹一杯もうイイヤ。(苦笑
もっと色々な人のを見られたら…と日々夢想してます。海外ばっかり元気でつまらないです。(笑

>>51

公開するときにアレを入れなければとりあえず…どうなんでしょう。わからないです。
でも本気で潰そうと思われたら多分負けると思います。わからないけど多分。
良し悪し微妙ですが、GBA自体がすでにNさんのメインストリームから外れているっぽいのが安心要因かもです。わからないけど…。

長文失礼しました。


55 :
>>54

ということをGBA新参者の私が言うのがかなり間抜けなことに数秒で気付く。
スルーお願いします…(汗々


56 :
>>50
20050103.zipの方を試しますたが、pogoshell2.0b3だと表示した後L+R
復帰しないでつ。真っ白い画面でフリーズしますた
拡大縮小表示も欲しいでつMDXデータ再生ソフトと同じ用に。クレクレ厨でスマソ

57 :
>>50
なんか拡大縮小表示する画像ビュアーが出ました256色でつが
実写だとwin3.1の頃を思い出しますた
ttp://www.msh-tools.com/GBA/

58 :
>>50
20050104.zip早速試しますた。gba単体で動かす方は良かったのでつが
pogoshellに入れたら画像が油絵のように表示して・・・・。・゚・(ノД`)・゚・。ウワァァン!!

59 :
ガーーン。実機テストしてないのバレバレですね!
すいません、いまメモリ節約(拡縮表示コードのための隙間空けw)をしている最中で起動しません。(それもどうかと思うw
はうー。テストしてくださってありがとうございます。がんばってなおしますー。

(ちなみに、picture viewer for GameBoy Advanceは展開したベタ画像(BMPみたいな)が入っているみたいです。やっぱり圧縮したままROMに入れたいと思うのは私だけでしょうか…)


60 :
>>59
0107を試しますた。拡大縮小までついて・・・・GJでつ!あーうー

61 :
ネタがなくてあきてきた。>自分

62 :
GBAじゃなくてGBの事で申し訳ないけど、
GBのROMからソース吐かせるには何を使えばよいでしょうか?
gbdkとか使えますか?

63 :
なんか初歩過ぎて、一般論でいいのかわからんけど、
アセンブラのソースでいいなら、Z80の逆アセンブラ使えばいいんじゃないの?
gbdkがどうこうってまさかCのソース?

64 :
ニーモニックはある程度の互換はあるが、機械語コードレベルでは違うんでなかったっけ?
確か、Z80逆アセンブラではダメだった気がする。
違ったらスマン。


65 :
発見したのでリンク張っておきます。sourceもあります。

GB逆アセンブラ
ttp://www.interline.or.jp/~tomcat/gameboy.htm

66 :
http://web5.h7184.serverkompetenz.net/thread.php?threadid=15637
DSのメモリマップとレジスタリスト発見
はやくDSソフト作りたいぜ。

67 :
ttp://cube.txt-nifty.com/blog/2004/10/ds.html
DSってブートケーブル不可なのか_| ̄|○

68 :
DSのブートケーブルが出れば問題ないのでは。

69 :
ケーブルさす所ないよ。まぁ、GBAソフトかDSソフト挿すところ
使うって手はあるけど。
それより無線LANでDLプレイができるんだから
そっちでなんとかならないかな

70 :
>>59
ps2gsm003試しますた。ファイル名が日本語だと黒抜き表示になりまつね
同胞ps2_ChangePogoShellReset.exeでmda006にパッチがあたりませんですた
mda006はpogoshellだと動きませんですた(GBA単体では動作した)
ps2jpg002はps2jpg_linker.exeで1回変換しても表示化けする物や2回変換して
良くなったり謎でつ
ps2txt014の方はバグ無しみたいでつcsvデータが読めたらいいなぁ(チラシ裏)

ぐぁむばってくだちぃ ぷぅ〜ぅ

71 :
>>70

はっはっは。バグだらけですナー。テストありがとうございますふてくされて寝ます。


72 :
DragonBasicって消えた?
次バージョンでROMサイズの制限が解除されるってところあたりまでは
みてたんだけど…

73 :


74 :
質問です。
SFCのROMをGBAのROMに変換することは可能ですか?
ロマサガR2ってのがあるってのを聞いたんですが。

75 :
>>74
エミュレータのことだろうけど、SNESのエミュレートは完全じゃないから
出来ても遊ぶのはむりぽ

76 :
>>75
違います。
エミュではなくて、GBAで出来るエロゲとかありますでしょ?
それみたいな感じで完全再現をしてるってものがある、と聞きました。
GBAカートリッジ用のデータなのか、データだけ配布されてたのか知らないのですが。

77 :
元データをコンバートしたものということかい。

78 :
>>76
帽子屋インサイドのは全部コンバータです。
他のもあるだろうけど基本はコンバータ。
それよりGBAで"完全再現"って一体なんだ?
基本的にはエミュレータと違うもんだから完全再現なんてありえない。

79 :
>>78
コンバータ+GBA版のシナリオプレーヤ(?)じゃないですか?
アリスのsystem3.xとか。
だから、

>>76
プログラム本体とシナリオその他が別になっているから出来る技であって、そうでない
ゲームだとエミュレータを使わないと無理。

80 :
ご回答ありがとん
お話をきいてようやく私が耳にしたのはネタだったと言う事に気づきました

81 :
>>80

たぶん関係ないと思いますが…

ttp://www.gbadev.org/demos.php?year=03&month=04&screens=show
RPG Battle Engine Demo

ttp://www.gbadev.org/demos.php?year=04&month=07&screens=show
Final Fantasy 2 GBA demo
Chrono Trigger based RPG demo

とりあえず適当に探してみました。デモですが…。


82 :
>>74
http://www.pocketsnes.net/
こいつでどうだ?

83 :
一応また紹介しておく
Interface 2005/03号
ゲームボーイアドバンスへuiTRONを移植する


84 :
>>83
ずっと前からARMへの移植例は公開されてるので、
他人の褌で相撲を取るというやつだな。
美味しい仕事の取り方でうらやましい。

85 :
DSソフトの自作まだー?

86 :
ポケモソのむげんのチケットってプログラミングで作れないのか?

87 :
>>86
つ [PAR]

88 :
DSでLinuxが動いたな。

89 :
>>88
実はLinuxが動いたわけではない

90 :
単に画面制御コードを解析しただけだろ

91 :


92 :
>>89-90

93 :
そこから芋づる式に解析が進む可能性もあるだろ。

94 :
誰かノベルでもいいから上げてくれ。

95 :
>>94

ちょうどアップしたところでびっくり。(ノベルってノベルゲーという意味ですよね
デモムービーだけですが。


96 :
sage忘れました。すいません…。


97 :
>>94
さいたまベーダー移植してみたが、原作者さんからOKが出ないのでアゲらんない
残念〜ッ!

98 :
>>Moonlight
デモムービー見ました。
題材は同人ゲーですかね?
それにしても久しぶりにワクワクしました。
Moonlightさん日記はどのくらい前から読めば流れがつかめますかね。
ちなみにBGはMODE3でしょうか?

>>97
残念〜ッ!!

99 :
>>98

そうです。中里一さんという作家さんが好きなので移植してみました。
十日ほどかかったので今月分を読んで頂ければ大体何考えてたのか分かると思います。
ろくなコト書いてないですけどそれでもよろしければ…。

フルカラーを使う都合上、MODE3を使いましたが、テキストスムーズスクロールをしたかったのでスプライトを敷き詰めて16色タイルマップの代わりにしています。
BGとスプライトはアルファチャネル付き合成が出来ない(単一アルファ値の加色合成のみ)ので、アンチエイリアスフォントが読みづらくなっているのが玉に瑕です。


100 :
[GBA] ZOIDS SAGA FUZORS (ゾイドサーガフューザーズ) をMXかshareに流してください。
よろしくお願いします。

101 :
ネタが少ないのでくだらない質問でも許されるかもと期待しながら書き込み。

SRAMに高速アクセスしたときに不具合のあった経験のある方いらっしゃいますか。
また、具体的にSRAM->SRAM間のときだけは、とか読み込みだけ、書き込みだけウェイト掛けれとか。
んなのSRAMチップの仕様書見ながら多めにウェイト掛けろバカといわれればそれまでなのですが…。
というかSRAM->SRAM転送はやっちゃダメですか?(できるけどやらない方がいい、という意味で)





102 :
>>101
ダメぽ

103 :
好きにやりゃいいよ
誰にも制約されないのが非公式開発のいいところだろ

104 :
>>103

>>103

「(一応)できるけど(危ないから)やらない方がいい」という解釈だと思われ。


105 :
http://www.nintendo.co.jp/n08/playan/garage/index.html
>「プレイやん」を買ってくれた人にオマケをあげる...
>ダウンロードして「プレイやん」上で遊ぶ、その名も「ガレージゲーム」。開いているガレージをクリックしてドンドン持って帰ってね!
>毎週金曜日に1つずつガレージが開いていくヨ。お楽しみに。
>
>※ゲーム内容は?オタノシミ...
>※「ガレージゲーム」を遊ぶには「プレイやん」が必要。今すぐ買ってネ!


ひょっとすると、ひょっとしますか?

106 :
>>105
うはw任天堂なにやってるんだwww
ひょっとする予感!

107 :
うわ、これを見てプレイやんが欲しくなった。

ひょっとして、ひょっとしてくれ。

108 :
ジョイキャリーランチャーみたいな感じではないかと。


昔GBでハドソンがKISSだかゆーのやってたの思い出した。

109 :
プレイやん、ゲット。
ガレージの展開に期待。

110 :
ガレージゲームはasf形式だな。そのまま動画として再生できる。
ひょっとしたら、ひょっとした考えはダメか?

111 :
ガレージゲームの名前がプレイやんのROMの中に書き込まれてるみたい・・・


112 :
.asfでコンテナにしてるみたいだな。
しかし、ゲーム画面小さすぎだよ…orz

113 :
名前だけじゃなく、ファイルサイズとかチェックサムとかも
ROMに書かれていたら、ほぼお手上げだな。

114 :
MODE3でバックバッファ無いから、WORD配列[240*160]作ったけど、
VRAMに転送しても表示されない...。

115 :
BG2_ENABLE?

116 :
YES

117 :
配列全体に単色で塗りつぶしてもダメ...。
他の色も混じってて(横線)バグってる。
その配列にconst修飾で、画像データ入れたら綺麗に表示された。
そもそもバックバッファ作ろうとすること自体不可能なのか。。。

118 :
症状出ているサンプル上げてもらえますか?
それとも適当なサンプルアップしますか?

119 :
IWRAM 32kb
Mode3VRAM 240x160x16bit 76800byte

グローバル変数はIWRAMに確保される。EWRAMはmallocなり自流ポインタアクセスなり。


120 :
連続書き込み失礼。

const修飾するとROM領域にマッピングされる。
広大でリニアなメモリ空間のあるWindows環境と比べて、メモリが不足してないか、分断してないか、どの領域を使い分けるか、領域外アクセスしていないか、を常に頭に入れておく必要がある。
個人的には面倒くさいのでEWRAMにmallocで終わり。ちなみにEWRAMは256kb。


121 :
おぉ、ありがとうございます。
GBA初心者なものでメモリ配置とか無視してました。
というより、知らなかっただけなんですが。
256kb以内なら良いと思ってたんですが、とんでもない間違いだったと。


122 :
でかいマップを扱うときに
うまく切り替えて相対表示させるいい方法ありませんか

123 :
32x22(240x160+上下左右隠蔽8x8分)のマップを表示して見えない部分を書き換える。
8x8以下の微動分はオフセットでコントロールする。
具体的に右に動く(左にスクロールする)時は、全体を1map(8x8)分をDMAなりCPUSetなりで左にコピーして右端一列を書き換える。
上下左右一端は見えない領域だから無限マップのように見える古典的手法。
GBAはファミコン、PCEクラスの使い古されたテクニックが使えるので古い文献を当たってみるのもいいかもしれない。



124 :
画面一杯でない、CPUが有り余っている、同時に使うキャラクタパターンが異常に多い、不定形or生成キャラクタを使う、前後関係が複雑(3面以上?)、8x8の倍数以外…
めんどいからMODE4でもいいんじゃね?


125 :
>>122

ttp://j-gbadev.hp.infoseek.co.jp/cgi-bin/gba_bbs/gba_bbs.cgi?mode=log&no=836
ttp://j-gbadev.hp.infoseek.co.jp/cgi-bin/gba_bbs/gba_bbs.cgi?mode=log&no=837
ttp://j-gbadev.hp.infoseek.co.jp/cgi-bin/gba_bbs/gba_bbs.cgi?mode=log&no=838


126 :
WINDOWSの富豪的プログラムに慣れ親しんでしまってて、
高速化に鈍感だったのを思い知らされる...。GBAに。
というかPCじゃ速すぎてそうならざる得ない所が痛い。

127 :
GBAプログラム研究所にDSデモのスクショがある

128 :
ほんとだ。
つーか、エミュもうあったのか

129 :
GBAプログラム研究所にDS開発環境の詳細がある

130 :
どうする?もうDSに移行したい?

131 :
98SEなんでインスコ出来ないんです><

132 :
ちょっとまて。
2000とxpの方法が書いてあるだけでそんなことは・・・。
ためしてみるから早まるな。

133 :
http://www.drunkencoders.com/tools/ndslib.zip
のリンクが切れてるけど
http://www.aaronrogers.com/nintendods/files/ndslib.zip
でいいの?

134 :
中間報告だが、
CMD.EXEが98SEになさそうだな?
おそらく別の方法を探すしかない。

135 :
8メガのほうは展開されないので諦める。
rar形式のほうはOKだったが、
まだできないんだが。
ndslibのinstallで詰まる。
神が降臨するのを待つしかないか?

136 :
DSがPCで?

137 :
>>134
MS-DOSプロンプトでいいんでない?
98SEならcommand.exeだったと思うけど

138 :
make書き換えでなんとかなりそうですか?
ちょっとやってみます。

139 :
command.comです。

140 :
俺の気のせいだったのかも。
template.nds.binが生成されたということは成功なのかもしれん。(←かなり疑問が残る。)
Win98SE

疑問とは
install.bat実行中に
YESかNOと聞いてくるはずのところで
ディレクトリの指定が違います。が6行でて終了。

141 :
はやく実機で動してー

142 :
というかすでにエミュレータの動作環境が満たされてないっぽい。

143 :
エミュレータが関連付けに対応してない(´・ω・`)ショボーン

スプライトサンプルはなんとなくわかるけどbmp表示どうやってるんだろ
bmpから変換したっぽい.cソースが見当たらん

144 :
研究所のページによると
画像のフォーマットはGBAと同じらしい。

145 :
DSのAction Replay、セーブデータは読み書きできるみたいだけど
ROMのほうは読めないのかな?

146 :
ndsdev2.2.6
サンプルをmakeしたものを実行しようとするとエミュレータが落ちるよ(´Д⊂グスン
漏れの環境に何か問題があるんかな・・・

147 :
…即解決。
2D_Example_davrなんだけど、
StartUp Guideを読んだら、arm9.bin(エミュ用の?)が実行ファイルだったよ。
カレントに出力されたtemplate.ds.gbaを実行しようとしてたよ…

arm7とかbootとか絡めてる辺り、カレントに出力されたものは実機用なのかな。


148 :
http://users.belgacom.net/hyperds/wmb-passme.wmv
http://forum.gbadev.org/viewtopic.php?t=4447&postdays=0&postorder=asc&start=510
Wireless マルチブートきたー?

149 :
はあっ!!スレがまだ生きている!!
というかarm9が実行ファイルだったのかぁっ!!

150 :
ttp://www.nintendo.co.jp/n10/seminar/index.html
DSのソフトが作れる・・・都合が合えば行ったのに

151 :
>>150
任天堂ゲームセミナーは相当狭い門ですぜ?

152 :
>>83
コンパイルが出来ん・・・
% ./configure -C arm7tmdi -S evaluator_7t
だけじゃいけないんだよな・・・

-Pも設定しないといけないしコンパイラ設定も変更しないといけないんだよな・・・
わからん・・・

153 :
初心者過ぎて申し訳ないけど、
VisualHAMは支援ツール?これのみでコンパイルは出来ないの?
DevkitAdvanceは入れないとダメ?


154 :
コンパイル出来るぞ。
プロ研でDevkitAdvanceの導入を説明してるのは、IDEだけ使いたかったからじゃねーの。
HAM使うと最初にロゴ入っちゃうし。

155 :
>>154
回答、情報ありがとう。
とりあえず環境の構築がんばってみます。
機会があればまた宜しくお願いします。

156 :
なんで動かんの?と悩んでたんだが、リンク時のbssアドレス指定ミスか・・・
IWRAM領域を指定してたら足りなくなるよなぁ

質問なんだけど、スタック領域はどこに割り当てられるの?
このあたりの指定はどうやってするの?

♯私はIDE、ソースデバッガとしてVisualStudioを使ってます
♯VisualBoyAdvanceとは交信できないけどね。
♯Insightデバッガは使い方がわからん

157 :
>>156
ttp://www.geocities.co.jp/SiliconValley/5604/tech/EmuOnConsole.html
まず2.2.2を読んでね

DevkitAdvanceの場合はインストールしたフォルダのctrls/lnkscriptsに
指定が書いてあるよ。

158 :
今日から1ヶ月以内にGBAでインターネットができるようなソフトを作ろうと思うのですが、
遠隔操作ソフトを使ってパソコンから画像を発信してGBAではマウスの操作と画像を読み込むシステムにしようと思っているのですが、
なかなかよいソフトが見つかりません。もし何かよいソフトを持っている方がいたら教えて下さいお願いします。



159 :
まずは>>158を日本語に訳してくれる有志を募ろうか

160 :
まあ、そこまで言わなくても一行の文章を短く終わらせて書けば。

161 :
SaTaって人が全く同じことやってるよ

162 :
memsetは使えてるっぽいけどsprintfは使えないのかな?DevkitAdvance
-nostdlib ってどういう意味だろ?

最適化は面倒だからパスしようかな、とりあえずの目標はクリアしたり・・・

163 :
このまったりとした流れなら言えそうなので質問、音楽鳴らそうと思ってダイレクトサウンドについて調べた
C言語ファイルでデータを記述するものとオブジェクトデータでデータを記述するものがあるらしい
容量的にはオブジェクトデータの方が軽くなるらしいので使おうと思ったがC言語ファイルのデータを読むサンプルしか見つからない
pcmconvでコンバートしその後オブジェクトデータを出力するらしいbin2oを実行しても元ファイルに非常に似たファイルが出てくるだけです
その後調べてみたところリンカーの辺りで結合するらしいのですが、分からない事がいくつか出てきました
どのようにして結合すれば良いのでしょうか?
またデータがどこにおいてあるのかどうやって調べれば良いのでしょうか?
一番の問題としてポインタすら完全には理解できていない人の手に負えるものでしょうか?

開発環境はDevkitAdvanceのバージョン4です

164 :
>>163
ヒント:__iwram_overlay_lma

165 :
(u8 *)(&__iwram_overlay_lma)
これですか?
宣言の後にこれで読めると言うのは分かりました。
同じ所でファイルそのものをバイナリで結合していたのですが
こんな事をやっても大丈夫?と言うかこれが普通なのでしょうか?
(とりあえず確めてみてだめだったらもう一度ヒントもらいに来ます
>>164 有難うございました

166 :
__iwram_overlay_lmaは生のデータを後から追加で結合したいときだけに使え。
.oを作れるならリンクしたほうが確実だぞ。リンクの仕方は分かってるのか?

bin2o hoge.bin hoge.o !hogeでhoge.oを作ったとして
Cから使うにはextern const unsigned char hoge[];と宣言するだけだ。

167 :
リンクの仕方もわかってません
makefile.txtに色々書きこんでバッチ処理の時に一緒に読み込ませてるのはわかるので
とりあえずググッていくつかの.o読み込んでるサンプル眺めて来ます

ついでにC言語ファイルでは音が出せました
けど割り込みで失敗します
研究所の割り込みのソースのブランクをTIMER0に変えるだけでは駄目なのでしょうか?

168 :
リンクの仕方が分からないようなら書こうと思ったけど、調べるんならいいや。

>研究所の割り込みのソースのブランクをTIMER0に変えるだけでは駄目なのでしょうか?
TM0CNTの割り込みフラグは立ててるか?

169 :
>TM0CNTの割り込みフラグ
それだ!
タイマー開始のところの数字弄ったら解決できました。有難うございます。

170 :
やっぱり最適化してます

プログラムをIRAMに置かない場合、thumb用でコンパイルしないといけないんだよな?
objdumpで逆アセンブルしてみたら4Byte間隔で0x0800****番地に配置されて
いるのはARM用にコンパイルされてるから?
#リンク時に -Ttext 0x08000000 としてます

コンパイル時の指定はどうすればthumbでコンパイルできるの?
-bかな?machineの指定はどうすればいいんだろう・・・

171 :
>>170
つ -mthumb-interwork -mthumb
指定しない場合はARM
ちなみにARMだろうかTHUMBだろうが動くんじゃないかな。

172 :
ありがと>>171
いろいろ調べてみたけど、みんな気にしてないのかな?
たいてい指定無しでmakefileつくってる。-mthumb-interworkだけで

> ちなみにARMだろうかTHUMBだろうが動くんじゃないかな。
うん、いまのとこ何も指定しなくても(ってことはARMか)でも動いてる
いままではCのプログラムとしては最適化してきたけど
GBA用としてはまったく最適化してないの

つーか、GBAの機能はビデオバッファとその指定(MODE3,BG2限定)、キー入力の
#define KEYS *(volatile u32*)0x04000130
しかつかってないや・・・

みんなすごいね、割り込みとか、タイマーとか、スプライトとか、音とか・・・

173 :
typedef const unsigned char u8;
u8 foo[] = { }
っていうデータの音楽のファイルを馬鹿でかく(1.4MB)してコンパイルしよう
としたら
Virtual memory exhausted: Permission denied
って出るんだが…これってメモリに入りきらないって事?
普段はROMに置きっぱなしで必要な時だけ読み出すとかで解決出来るのであればその解決方を誰か教えて頂けないでしょうか?

174 :
>>173
Cのソースがでかすぎてコンパイル出来ねえよってこと。

コンパイルオプションに-O0(マイナスオーゼロ)をつけるか
bin2oで出来たオブジェクトファイルを直接リンクするか
ソースをasm(.s)で書け。

175 :
オブジェクトファイルのリンクが出来ない…orz
研究所のWav2gba_guiで.oファイルを作り
makefileの
OFILES += main.o \
bgm01.o
ってやってるんだが何度やっても変数がないって罵られる
makefileが悪いのかそれとも他に原因があるのか…
誰か初心者が陥っているであろうミスを教えてくれ

176 :
自己レス
とりあえず原点回帰ということで
Dark Fader's site
のwav2gba bin2oで.oファイル作ったらコンパイルできた
今度は音がならない…

177 :
またも自己レス
宣言をu16にしたら音は出たんだがCソースのデータでやってた時と比べて激しくノイジー
次から次に問題が出てくるんだが自分なんか間違ったやり方でやってるんだろうか?

178 :
もう何が原因だったのかわからない。
もう一度u8に戻しても音再生できたしorz

ついでにノイジーになったのはシンクロナイズ外してたからでコンパイル時のミスではありませんでした

まる一日掛けて駄レスしまくってスマソ

179 :
質問です
memcpyでローカル変数の配列データをVRAMへデータをセットしようとすると
上手くいく時となんか行かない時が規則的に現れるんですが
原因はなんだと思いますか?

現状は:
配列データは多分予想どおりのデータが入ってる。
#memcpyを使わないでforループで書き込むと上手くいってる
objdumpでみると多分/arm-agb-elf/lib/thumb/interwork/libc.aの中のmemcpyをリンクしている

ヒントでもいいからプリーズ

180 :
追加:
memcpyの座標が1dot x方向に増えた座標へcopyすると上手くいく
#逆に上手くいってたものが上手く色を塗らなくなった
どう変かといえば、白が薄ピンク色になる
#オセロ盤で本来なら全部白いマスのはずが白いマスとピンクのマスが交互に並んでしまう

181 :
ヒント: バス幅

182 :
あ、もしかして書込み先が4Byte境界じゃないと上手く動かないのかな?

183 :
ヒント: 8× 16○ 32○

184 :
>>182 サンクス
ここのページの
ttp://home.att.ne.jp/blue/moonlight/uraha/gbadevmemo.html
真ん中少し上の「メモリアクセス速度について」の
VRAMのwriteの書き込み制限(8bitでは×)のことかな?
こんな制限あったんだ、なるほど
wmemcpyを使えばいいんだろうか?

185 :
http://www.work.de/nocash/gbatek.htm#memorymap
Address Bus Width and CPU Read/Write Access Widths

VRAMって使いづらいよね。

186 :
ドット単位でなにかしたいのなら
仮想VRAMに書いてドカッとコピーするか、
奇数偶数で演算を変えればいいだけだが?

もっともGBAはそういうアーキじゃないけどな

187 :
VRAMは書き込みが遅いので、
mallocでとっておいて、
そこに書いた後DMA転送するのがいいです。
バイト単位で書き込みできるしね。
外部ファイルから取り込んだビットマップデータとかならDMA一発だしな。

188 :
mallocを使うのってsbrkを移植するの?
newlibを移植すればいいのかな?このあたりのことはよくわからん

この辺に書いてあるかな?
C/C++による組み込みシステムプログラミング
ttp://www.amazon.co.jp/exec/obidos/ASIN/4873110130/


189 :
>>188
#include <malloc.h>

u16* pseudoscreen;
if ((pseudoscreen = malloc(sizeof(u16) * ScreenWidth * ScreenHeight)) == NULL) while (1) {};

とか。

190 :
mallocって前もって準備しなくても使えるの?devkitadvance使ってます
PCでmallocの使い方はわかるけど、GBAの開発でそのまま使えるとは思わなかった

manでみるとsbrkのサポートが必要みたいだけどこれはどうなってるの?

使えるなら質問
mallocで確保されるメモリはIWRAM領域から確保されるの?
EWRAM領域?bssで指定された領域?グローバル変数との使い分けは大丈夫なの?

191 :
実際にmallocしてアドレス確認すりゃいいと思うんだが

192 :
>>190
つ[crt0.s]

193 :
それよりはlnkscriptとgccの吐くmapファイルを見比べるべきだと思うが。
crt0.Sなんか見ても役に立たんぞ。

194 :
>>190
つ「論よりRUN」

195 :
悩むな
u16 buff[ScreenWidth * ScreenHeight];
これでおっけー

196 :
ヒントがあるかと思ってnewlibのコンパイルに挑戦
makeは出来たっぽいけどmake installが上手くいかん
でもlibc.aは出来たし(同じとは限らんが)、malloc等標準ライブラリのソースも
付いてたのはうれしい発見だな
#おかげでmemcpyが8bit毎にコピーしてるのが確かめられた

ふーん、libc.aって***.oをarで固めたものなんだ。
やっぱり組み込み側の知識が足りんなぁ

参考資料:
Interface2005年1月号フリーソフトウエア活用組み込みプログラミング
第4章 C標準ライブラリ(newlib)を使ってみよう

197 :
>>196
おいおい、ゲーム製作とは違うところに逝ってるぞw

198 :
質問が途切れたみたいなので質問
PCMの合成はどうすれば出来るのでしょうか?
ゲーム製作時にどのチャンネルはBGMとか決めておくものなのでしょうか?

(英語の説明書が理解できなくて海外のサウンドドライバの使い方がわからない orz

199 :
>>198
PCMでいいんだよね?なら足し算
効果音をどうしたいかだよねぇ。
ファミコン時代なんかBGM使っているチャンネルで効果音を割り込ませて鳴らしてたな。

200 :
>>199
そんな簡単な方法でいいので…けどそう簡単でもないか
足し算結果をどっかに置いといてDMA転送元にそこを指定でいいのですかね?
まぁとりあえずRUNしてみます

201 :
>>200
オーバーフローチェックをどうするかだけ注意
たとえば4重合成するのなら、最初から1/4音量データを用意するとか。
シフトしてから加算でもいいけどな。

202 :
>>201
signed shortで合成しておいて、後で一括してクリッピングしてもいいかもな

203 :
>>200
つ ttp://belogic.com/gba/directsound.shtml

204 :
すっごい素人なんだけどBGMって割り込みで鳴らすの?

205 :
音用のメモリがあるからそこにDMA転送で入れる。
DMAはTimer割り込み(正しくはFIFOとか言うのが割り込んでるらしいが)で送らせるように設定しておく。
ついでにビットレートはTimerの設定速度によって決まる(なんか勝手にゲーム本体がそうする)からTimerで使う値を多く取れば
低解像度(ビットレートが少ない低音質の音楽ファイル)の音が鳴る(高音質のはむちゃくちゃ遅くなる)
だから使いたい音のビットレートによってTimerに入れる値は変わる。
…らしい(所詮勘でプログラムしてるから理解していない厨wwww

206 :
チラシの裏:
newlibのmake,make install成功。
上手くいかなかった原因はdevkitadb/binがPATHの検索順で自分でコンパイルしたarm-elf-**より先にあったためと思われる
対処方法としてdevkitadb/binをPATHからはずしてbinutils,gcc,newlibを作成

ありがとう、みんな


207 :
#mallocから逃げてるオイラ

memcpyの代わりにDMAを使ってローカル変数配列をVRAMに描くことで最適化できないかと思い
for(行数分){
// memcpy();
  DMAmemcpy(); //中でDMAをつかってる
}

こんな感じでDMAをつかってmemcpyしたら速くなるかな?とおもって作ってみました。
でも動かないT_T
こんな感じでDMAを使うのはまちがってるんでしょうか?
#間違ってるんだろうなぁ・・・
#小さい画像データならスプライト使うほうが正しいんだろうなぁ・・・

208 :
DMAmemcpy();の中身か、せめてパラメータを書いてくれないと全く要領を得んな。
・memcpyと違ってDMAの転送サイズ指定は2バイトか4バイト単位
・表示期間中はDMAでVRAMへの転送は出来ない
・そもそもDMAの設定方法が間違ってる
このどれか。

209 :
>>208
さんくす
たぶん、「 表示期間中はDMAでVRAMへの転送は出来ない」これだろうなぁ
1番はエラーチェック入れてるし、3番は多分間違ってない、と思うし
描画タイミングなんて考えたこと無かった

う〜ん、イベントループで描画用イベントをつくり、描画はそちらにまとめないと駄目だなぁ・・・

210 :
それにしても動かないってことは無いだろ。
数ミリ秒ロックかかるだけなんだから。

211 :
動かない、ってのは誤解させたか
正確に言えば、その部分の描画処理をしてくれない、かな
四角く塗りつぶす関数
for(y行分){ for(x幅){ VRAMへ書き込む } }

for(x幅){ローカル配列に書き込み}
for(y行分){ローカル配列をDMAmemcpyでVRAMへ}
って処理にしたら塗ってくれなくなったのよ
調べてたらDMAチャンネルうんぬんってのがあるみたいだし、
CPUが空いててもDMAコントローラ(?)は空いてないだろうし・・・

212 :
>>211
DMA busyチェック/終了確認してるかい?
同じDMAで転送中に更に転送開始したら、中断する。

213 :
>>212
それだ、やっと頭の中でつながった!サンクス

214 :
>>213
で、何作ってんの?
AVGサンプル(DMA使用)ならゲ研にあるよ

215 :
一番の目標は、組み込み向け開発ノウハウの勉強
それも、単純なLEDだけの世界じゃなくて、ある程度GUIがある組み込み。

でもそれだけじゃ漠然としすぎてどこから手をつけたらいいか迷うので
今作ってるのはパズル。「数独」ってしってる?
これならグラフィックやシナリオで迷わなくていい。

次はマインスイーパかソリティアでもつくろうかなって思ってるところ

216 :
ちょっと質問です。
自分もGBAで何か作ってみようと思い、まず画像を表示する程度のものを作りました。
が、エミュ(VisualBoyAdvance)上では問題無く動くのですが、実機に転送すると動きませんでした。
試しに、ttp://j-gbadev.hp.infoseek.co.jp/ にあるサンプルを転送してみましたがやはり動かず。
ttp://optimize.ath.cx/bootcable/index.html のパズルは動作しましたが、逆にこちらはエミュ上で動かず。
実機で動作させるには何が必要なのでしょうか。

217 :
>216
パズルの方はフラッシュに焼いて実行するなら、
makefile の LDFLAGS の -Ttext=0x02000000 を
-Ttext=0x08000000 にするんじゃない??


218 :
誤:パズルの方はフラッシュに焼いて実行するなら
正:パズルの法はエミュレータやフラッシュに焼いて実行するなら

219 :
optimizeのパズルサンプルをエミュレータで動かしたい場合は拡張子を.mb.gbaにすればいい。

>>216が作ったのはたぶんROMに焼いて動かすためのイメージだから
実機で動かすにはFlashROMを買ってくるか、
実機のRAMに直接転送して動くように作り直す必要がある。
プログラム研究所のサンプルも同様。

220 :
>>216
実機で起動するときNINTENDOロゴがちゃんと表示されるか?
表示されていなければヘッダを修正する必要がある。

221 :
やはり原因は0x08000000 -> 0x02000000でした。
無事実機でも動きました!

皆様色々ありがとうございました。

222 :
const int __gba_multiboot;
これもあったなあ

223 :
http://www.bidders.co.jp/item/51278471

224 :
とりあえず環境落として始めてみたんだが、
ゲーム作るためのライブラリを作るだけでおなかいっぱいになりそうだ_| ̄|○

225 :
一応動くようになりました。
ちゃんと動くかな?
質問に答えてもらったお礼です。

http://up.isp.2ch.sc/up/4b16ea0ad8c0.lzh
http://up.isp.2ch.sc/upload/c=03okari/index.cgi

226 :
操作方法は
 ・selectでメニュー
 ・Aでセルの数字が増える
 ・Bでセルクリア
 ・十字キーで移動
です

227 :
すみません。ど素人な質問なんですが、できればお答え下さい。
GBAのプログラムはだいたいどの位までの、データを実機で使えるものでしょうか?
個人的に、電子辞書+単語帳代わりにデータを写して使いたいのですが、
200Mbyteぐらいいけますか。また、基本的な組み込み系のプログラムはまるで触ったことのない人間なのですが、
C言語とC++をちょっとさわったくらい(ベターC程度にしか使えません)でも扱えるような物でしょうか?

あと、起動時間は10秒ぐらいでしょうか?

228 :
ROMが最大32Mbyte RAMが256kbyte+32kbyte
言語はCが使えれば充分 C++はベターCで全然よし
起動時間はメーカーロゴが入るので5秒くらい メーカーロゴを含めなければ一瞬

ビットマップにフォントを表示できるようになれば簡単な辞書ならすぐ作れると思う
ただし容量が少ないのでデータを厳選するか きつめに圧縮するかしないと
いけないだろうな
頑張れや

229 :
>>227
キミの好きそうなprintf()もscanf()もないからやめとけ
素直にザウルスか電子辞書買っとけ

230 :
printfくらいは自作してもいいけど入力どうしようかな?
ケータイみたいな仮想キーを作ってそれで入力する、かなぁ
これなら12この仮想キー(ボタン?)で済む

「ホームランド」みたいな入力システム作れればいいんだろうけど、ムズカシイ・・・

231 :
>>230
RとLボタンで文字種変更、十字キーで文字変更(右左で子音・上下で
母音変更とか、ケータイ方式とか)でAボタンで決定、Bでクリアとか。
SELECTでエディットモード抜けて十字キーかRLボタンでカーソル移動とか。

232 :
どうせやるならNDSでやったほうが良いと思う。入力デバイスの問題で。
実機で動かす方法は知らんが。

233 :
ゆうていみやおうきむこうでいいやん

234 :
>>233
ドラクエですな。

235 :
とあるラベルを4バイトアラインで配置したいときってどうするんでしょう?

今は配置したいラベルの前に、
asm(".align 4");
って入れているんですが、何か違うような、もっとすっきりした方法があるような気がします

236 :
>>235
ごめん。上の方法、正しくリンクできなくなります。
誰も使わないと思うけど、念のため…

237 :
>>235 gcc なら __attribute__((aligned(4))) とか

238 :
>>237
できました。ありがとうございます。

それはそうと、gccでラベル全てをアライン付けるオプション試してみたけど、何も変わりませんでした
devkitのこれとは違うんでしょうか。自分が意味を取り違えてる可能性のほうが高いと思うけど。

239 :
>>238 そんなオプションあったっけ?

240 :
無いはずだが。何かと勘違いしてるんじゃないか?

241 :
ちょっと程度の低い事ですが質問です。
スプライトの画像を左右を逆転して表示したいのですが、
sprites[0].attribute1 |= 0x1000;
とかやってますが、どうもうまくいきません。
どのようにすれば、反転して表示できるのでしょうか。

242 :
attribute0の拡縮フラグは0になってるか?
それぐらいしか思い浮かばないが・・・。

243 :
>>241
とりあえず、spritesの構造体定義を晒せ
話はそれからだ












…まさか、VBlank期間外にOAMを書き換えようとしてないだろうな?

244 :
>242
うう、まさしくそれでした。
削ったつもりだったのですが、色々試してた時のが残っていて。。。という感じでした。
兎も角、ちゃんと反転表示はできるようになりました。ありがとうございます。

>243
まんま「GBAプログラミング研究所」さんのサンプルを利用してます。

245 :
>>243
垂直表示期間中に書き換えても、その状態が継続しているのであれば
次フレームで反映される。

246 :


247 :
DMAに手を出してみたけど…むつかしいね。
というか、devkitのDMA転送マクロをそのまま使うと、ちゃんと動作しないときがあるっぽい
(同じチャンネルを使い、連続して転送を実行した場合?)

別のサイトから拾ってきたソースのを使ったらうまくいったけど…ごめん。URL忘れた。

248 :
DevkitAdvanceを使えと言われそうですが、都合により Thumb/ARM GCC の環境を作ろうとしていて、
そのために必要な libg.a を探しています。

ぐぐって探したところ、Glibc というライブラリに入ってそうな感じがしたのですが
ダウンロードしてアーカイブをバラしても見つかりませんでした。
どなたか持っている方がいたらアップして頂けないでしょうか?

ttp://gamdev.org/up/

249 :
すいません、自己解決しました。

ttp://eodevtools.sourceforge.jp/cgi-bin/wiki.cgi?page=Linux%CD%D1EOTA%A5%AF%A5%ED%A5%B9%B3%AB%C8%AF%B4%C4%B6%AD
ここにある eota-crosslib-0.8.1.tar.gz というアーカイブを展開したら出てきました

250 :
自作の同人ゲーをブートスティックに入れて売ってみたいんだが、
やっぱオプティマイズの中の人の許可が無いと色々怒られっかな。

251 :
オプティマイズの中の人も任天堂に許可を取って売っているわけではない
規模にもよるだろうけど構わないんじゃないの

252 :
スプライト表示の際ブレンド指定したら、全てのスプライトが半透明になっちゃったんですが
何か気をつけるべきことってありましたっけ?attribute0のb10,11はきっちり設定しています

あとちょっと確認なのですが、
スプライト#0はブレンド、#1はDARK…みたいにはできませんよね?
あくまでもブレンドモードなら128枚全てブレンド(か通常表示かwindow)、DARKなら128枚全てDARKで


253 :
>>252
ちょっと勘違いしてる
REG_BLDMODは面全体に掛ける指定で、OBJを指定したらOBJ面全部が半透明になる

スプライトattribute0の半透明属性は、スプライト一個一個に対して個別に
ブレンドを指定したいときに使う

スプライトを一個だけ半透明にしたいのならREG_BLDMODのOBJフラグは立てないように
また、attribute0で半透明にしておいて、さらにREG_BLDMODでDARKにすることは可能らしい

254 :
>249
それは x86 で動く EOTA という OS 専用のバイナリなので、他では使えませんよ

255 :
あちゃ、Vブランク関係のせいでコンパイルがうまく通らなかったのはそれのせいか・・・?
(↑の関数を一つコメントアウトしたら通ったけど)

経験が浅いので正直よくわかりませんが

256 :
>>253
ありがとうございます。
特定のスプライトだけ半透明にしたいときは、
パラメータはREG_COLEVで与えるだけで、REG_BLDMODは0のまま
半透明にしたいスプライトのattribute0をつつくってことでいいってことですよね。

いろいろこねくりまわしてみたす。

257 :
>>255
勘で書いてますが、コンパイルを通すためだけに libg.a が必要なら
libc.a があるならそれを libg.a のファイル名でコピーをして代用に
すればよいかもしれません。

258 :
前に出てたヒトフデのゲームをバージョンアップしてみた

http://gamdev.org/up/img/3245.zip

259 :
BASIC言語で開発が出来ると知り、初めて何か作ってみようと思い、
DragonBasicという開発ソフトを探していたのですが、見当たりませぬ…orz

入手可能なサイトの誘導 or うpきぼんぬ…

260 :
>>259
検索してみたけど、サイトなくなっちゃってるね
ドメイン乗っ取られたのか、開発やめたのか・・・

261 :
>>259
ん?
http://db.zhilaware.starfusion.org/
http://dragonbasic.tk/

262 :
DragonBasicってもう、制限外れたんですか?
だったらやってみようかな・・・

263 :
64kbの制限はもう無くなったみたい。
これで日本語の資料があればいいんだけどね。

264 :
>>263
最終版?(2.0.2)での制限は120k

http://db.zhilaware.starfusion.org/
http://dragonbasic.tk/
ここでダウンロード可能なのも同一のもの
制限が解除されていないのも、今確認しました

DragonBasicでも十分にできることがあるんで
制限解除したいんだが、、、なんとかならんのかなぁ

265 :
つ Binary Patch

266 :
>>265
すんません。もうちょっとヒントください

267 :
>>265じゃないけど

お断りだ

268 :
>>266
ヒント:等価交換の法則

269 :
亀だが、サンクス
(長らくアクセス規制の巻き添えをくらっていたもので…)

270 :
VBAだとレジスタの状態とかがチェックできることを最近知ったんだけど、
他のエミュレータでこういう開発者向け機能が付いたのってないのかな

271 :
MappyとNO$GBAは開発者向けやね
たとえばMappyは単体でbreakpointが指定できる

272 :
>>271
横レスですが、ありがとー
早速導入してみます。

今まで(VBA)は0x0001に書き込んで通過したしてないを確かめてたもので…

273 :
デバッガとその使い方を探しています。
開発環境は、devkitARM+libgba(cygwin上でビルド)です。

試したのは、
- gdb6.0
- VBAのサイトにあるinsight
- MappyVM
なんですが、gdbの接続に関する考え方やMappyVMでのブレークの貼り方などVCにどっぷりだった人間には敷居が高すぎます。
あと、NO$GBAも試したいのですが、フリー版以外(Shareware Debugger版)が見つかりません。

何かよい資料、もしくはサイトがあれば教えてください。

274 :
>>273
敷居が高いのなら手を引けばいいんジャネーノ?

275 :
>>273
http://vba.ngemu.com/faq.shtml#cat12_0
ここ見ても分からない?
no$gbaはクラック対策のためwebには無いはず。メールすれば送ってくれるよ。

>>271
IDがX68

276 :
>>275
そこも見たんですが・・・。

で、こんなページもあったので読んでみたのですが。
ttp://www.embedded.jp/article/insight-5.html
VBA側をどうしたらいいのかわかりません。

とりあえず、NO$GBAの作者にメールしました。

277 :
>>276
つ VBA-SDL

278 :
>>276
VisualBoyAdvance(-SDL) -Gtcp file.gbaで接続待機状態にしておいて
あとはInsightでfile.elfを開いて127.0.0.1:55555にtcp接続するだけ

念のため注意しておくが
コンパイルオプションに-gをつけて
デバッグ情報を付加しておくのを忘れないように

279 :
VBA-SDLで接続までこぎつけたんですが、ソースが表示できなかったり、ステップ実行できなったりきちんと動いていない模様。
CFLAGSには、-g -O0を入れているんだけど・・・。

あと、NO$GBAの作者から返事がこない。
ルーズ(時間がゆっくり進んでいる)なのか、気難しい人なのか・・・。

280 :
>>279
その作者にも日常の生活もあるし、問い合わせをするのが貴方だけとも限らない。
たかが3日で、ルーズだの気難しいなどは失礼だぞ。

281 :
>>280
MLやフォーラムだと結構早く反応がいただけるので、それと混同してました。反省します。

insightを自分の環境でビルドして、接続まで確立する事ができました。
ただ、VBAがばしばし落ちるので、シミュレーションモード?で確認を取ってます。
これだけでもかなり便利になりました。
助言をしてくださった皆さん。ありがとうございます。

insightをcygwinでビルドする際に必要なパッチを見つけました。
ttp://article.gmane.org/gmane.comp.debugging.insight/1351
同じような環境の方がいましたら、ご参考までに。

282 :
>>273
devkitARMはどのリリースを使ってる?
r14だとデバッグに支障があるって話を聞いたぞ。

283 :
>>282
cygwinで開発しているのでbuildscripts-20050915 でビルドしました。
リリースの日付から、r16(09/14リリース)相当かと勝手に思ってます。

284 :
ところでセル分割、何でやってる?

285 :
セル分割とは?

286 :
任天堂がだしてる開発ツールを使った事ある人はいませんか?
どのていどのスキルがあれば使えるのか知りたいです。Linuxのと同じくらいだと自分の腕ではツライかなって思ってます。

287 :
>>286
どんなスキルがあっても、カネとコネが無いと使えないと思うよ。

288 :
>>285
とある画面を8*8単位で分割。
同じパターンの絵をまとめて、レイアウトを吐き出すことです
これだけでわかります?

レイアウト : mode#0-2において、0600E000からに配置するデータのこと

289 :
>>288
おk
ここのTinyB2Tとかどうだろ。
ttp://nagoya.cool.ne.jp/dcdev38/gba/

290 :
>>289
ありがとうございます。でももう自分で作っちゃった
DOS窓ベースでバッチ処理可能ですが…いる人とかいます?

291 :
ゲーム製作ほぼ初心者の俺も参加していいんですかね?

292 :
任天堂が出してるツール、と一口に言われても以下略



>>290
うpうp

293 :
>>292
ありがとうございます。以下のアップローダーに上げておきました。
使用は自己責任でお願いします。
とりあえず自分で使っているので、最低限の機能はあると思います。
XPのDOS窓で動作します。使い方はヘルプ参照で。
ウィルスチェックはしてありますが、念のためお願いします

ttp://49uper.com:8080/html/img-s/89218.zip

MD5:B364816D3FA4BE611502A94AE72D3696
pass : agb_2ch0


あと>>290ですが
×DOS窓ベースでバッチ処理可能ですが…
○DOS窓ベースなのでバッチ処理可能ですが…

294 :
ちょっとDSをつついてみようかと、devkitproを入れたんですが、
コマンドが干渉しているのかGBAのプログラムのmakeができなくなってしまいました。
(dumping stack track…gcc.exeって出てくる)

一応make前に環境変数を書き換えて対応しているのですが、もっとスマートな方法ないでしょうか

295 :
環境変数の変更( set PATH でのパスの追加) → make
の一連の流れをバッチファイルにする。
うまくいくかどうかは知らない

296 :
>>294
つ [環境設定 bat]

297 :
>>295-296
即レスありがと。
当然バッチかましてますー。意外なところで役に立つMS-DOSの知識

今はこんな感じ…でもいまいちスマートじゃなくて。

[prjmake.bat]
PATH = c:\devkitadv\bin;%PATH%
make -f makefile.txt
pause

298 :
devkitproはarm-elf-gccで
devkitadvanceはarm-agb-elf-gccじゃなかったか?
makefileのgccって書いてあるところを
直接ファイル名で指定すれば干渉しないと思う

299 :
>>298
ごめん。ダメだった。
エラーがgcc.exeからarm-agb-elf-gccにかわっただけ。
もしかしてshかmakeが悪さしてるのか?

300 :
エラー内容をコピペしてみてくれないか。
>(dumping stack track…gcc.exeって出てくる)
じゃ何が起きてるのかすら分からん。そもそもdumping stack traceだし。
もしDOS窓なら右クリックでコピペできるから。
gcc.exe.stackdumpの中身もあったらよろしく。

301 :
お手数かけます

gcc -g -O3 -mthumb-interwork -Wall -fverbose-asm -fpeephole -c src/bios/actctrl.c -o actctrl.o
0 [main] gcc 816 open_stackdumpfile: Dumping stack trace to gcc.exe.stackdump

がDOS窓に出た後、
[問題が発生したため、gcc.exeを終了します。ご不便をかけて申し訳ありません。]のウィンドウが出てくる状態です

詳細情報は、
AppName : gcc.exe AppVer : 0.0.0.0 ModName cygwin1.dll
ModVer : 1003.0.0.0 Offset : 000586df

exception information
code : 0xc0000005 : flags : 0x00000000
ごめん。以下略で

302 :
stackdump忘れてました

Exception: STATUS_ACCESS_VIOLATION at eip=61008206
eax=710A66EC ebx=715B2F6C ecx=000208D0 edx=00000774 esi=00000000 edi=715B00D4
ebp=0240FEC0 esp=0240FE9C program=e:\sdk\AGB\devkitadv\bin\gcc.exe
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame Function Args
0240FEC0 61008206 (715B00D4, 00000774, 00000003, 61003A6E)
0240FF10 61003BE9 (00000000, 00000002, 852E0D98, 852E0D98)
0240FF40 6100421D (004013A0, 00000002, EC845C68, 8053D991)
0240FF60 6100425C (00000000, 00000000, FFFFFFFA, 00000000)
0240FF90 0040168F (004013A0, 852E0D20, 80579100, E5553300)
0240FFC0 0040103D (00000002, 0022DFC0, 7FFDF000, EC845CF0)
31317 [main] gcc 816 handle_exceptions: Error while dumping state (probably corrupted stack)


303 :
GBAのバンク切り替えってどうやってやればいいんでしょうか?
GB時代はSWITCH_ROM_MBC*でやっていた記憶があるのですが、
GBAでは見つかりません(使えない?)でした。

そもそも、32kbの壁を越えたプログラムって作れないんでしょうか。
1Gbitとかのフラッシュがどうやって動作しているか不思議で夜も眠れません。

304 :
16MBの壁ならあるが32kBの壁など無いぞ
何のことを指しているのだ?
誤解を解くためにはそこからはじめる必要がある

305 :
ごめん32MBの間違いだった。

306 :
>>304-305
ご、32MByteですた。ごめんなさい。

最近のフラッシュは1Gbit(1024Mbit)=128MByteですよね。
これってどうやって上位アドレスにアクセスしているのですか?

テストプログラムを組んでみたんですけど、32MB領域までしか
取り出せませんでした、、、という事はバンク切り替えで?

307 :
ひょっとしたらpogoshellのソースにあるlibfc_*が使えるかもしれないが
使えたとしてもROM全体のオフセットアドレスが変えられるだけで
GBのようにROMエリアの後半だけ切り替えるみたいな芸当は出来ないぞ
現実的でないと思う

308 :
情報ありがとうございます。libfc_*を解読中です。
でも、どこで切り替えているのかさっぱりw
多分executeCartあたりかなーっ。

> ROMエリアの後半だけ切り替えるみたいな芸当は出来ないぞ

全体切り替えでも十分です。
ただ、切り替えに相当の時間がかかるようであれば問題なのですが、、、

合計で50MBを越える大容量の画像データを扱いたいのですが、
何か良い方法はないのでしょうか。



309 :
実際に切り替えているのはsetRomStart_*
visoly系ならここにも情報がある。内容はlibfcと同じだが
ttp://www.reinerziegler.de/GBA/gba_visoly.pdf
くれぐれも言っておくけど現行の大容量カートで使えるとは限らないぞ

50MBがもし圧縮した状態での容量なら・・・PSPに転向したほうが・・・
rawなら圧縮すれば・・・でもPSPの方が・・・('A`)

310 :
ありがとうございます!! まさにコレです。
でも、ひとつ解せない事があって

> 0x8008000 rom1 register is 0x08

0x08 = 256KB(0x200000) なので、0x80200000 が開始アドレスになると思うのですが、、、
うぅ〜ん、まぁ、いいか。調べてみます。

> PSPに転向したほうが・・・('A`)

おっしゃる事は重々身に沁みるのですが、諸事情でゴホゴホ、、、


311 :
copy /b でバイナリに付加したファイルやpogoshellから引き渡されたファイルのサイズを取得する方法はありませんか?
__iwram_overlay_lma の存在までは探したんですが・・・。

312 :
引数でファイルサイズは渡されない。

フォーマットが決まっているもの(BMP等)なら、引数のアドレスから求める。
ベタデータならフォーマットを作って、予めサイズを付加しておく。


313 :
>>311
ケツにくっつけたバイナリは>>312の通りとして、pogoshellの方な

#define POGO_FILEHEAD (*(volatile u8**)0x0203fbfc)
#define POGO_FILETAIL (*(volatile u8**)0x0203fbf8)

u32 pogo_filesize = (u32)POGO_FILETAIL - (u32)POGO_FILEHEAD;

314 :
どらごんBASICのひとカモン!!

315 :
呼んだ?

316 :
ギャルのパンティおくれー!!

317 :
うちの妹のでいい?

318 :
wavファイルを元にして音を鳴らそうとしています。
ttp://yun.cup.com/falinker10.html
このページを参考に、というかそのまんまマネをして
wavファイルの用意、変換、ソースコードへの取り込みとやってみたのですが
うまく鳴りませんでした。
全く反応がないわけではありませんが、ジジジジってノイズ音がするだけです。
wavファイルを差し替えながら何回か試行してみたのですが、結果は同じでした。

何かこう、うまく質問できないんですが、どなたか原因を推測できる方・・・いませんか?

Devkit、wav2gba、b2x、wavの編集にSoundEngineを使いました

319 :
>>318
ソースとデータ一式どっかにうpれば見てくれる危篤な香具師がいるかもヨ?

320 :
↓のDIRECTSOUNDのサンプルは参考になったのを思い出した。
ttp://f1.aaa.livedoor.jp/~progrm/gba/index.html

321 :
>>320
403

322 :
あれま。
んじゃ、ココはどうよ?
ttp://www.geocities.co.jp/SiliconValley/2530/gba.html

323 :
話の流れを変えてすいませんが、どなたか
ノベルエンジンのHeavensDoorというのを
持っていませんか

324 :
あ○ぱ○ for GBA、キテタ━━━━━━(゚∀゚)━━━━━━ !!!!!
さりばとーる氏、乙

325 :
http://page9.auctions.yahoo.co.jp/jp/auction/k28054461
これはYオークションのURPです。
今ならゲームボーイSPやソフト3個510円で買えます。7時の時点で……
充電器もついています。ソフトの攻略本やいろいろなものがあります!!
私が今までに見てきた中で一番良いものだと思います!
ぜひ入札してください!


326 :
er

327 :
http://page9.auctions.yahoo.co.jp/jp/auction/k28054461
これはYオークションのURPです。
今ならゲームボーイSPやソフト3個580円で買えます。5時の時点で……
充電器もついています。ソフトの攻略本やいろいろなものがあります!!
私が今までに見てきた中で一番良いものだと思います!
ぜひ入札してください!

328 :
winMeでDS開発てどうなりました?

329 :
そんな糞OSは捨てろ

330 :
おまいら!↓の使い方を教えてください
ttp://gpf.dcemu.co.uk/files/nds/gbaSDL.rar

331 :
>>330
なに!もしかしてgbaのSDLポートですか?

332 :
>>331
逆だ逆(w
SDLのgbaポート

>>330
http://www.libsdl.org/

333 :
>>318
SoundEngineで編集する前にHotWavで一度上書きしてみ
たぶん出来るよ

334 :
GCCGBA(GCC for GBA)って今でも入手できますか?

どうやってぐぐっても、最後は
ttp://gccgba.gbacode.net/
ここに行き着くし、そのサイトで検索しても広告しか出てこないような気がする

335 :
>>334
余裕で入手出来る
日本のサイトでもダウンロードから環境設定まで
詳しく説明してくれてる

336 :
>>334
どうしてもGCCGBAじゃないと嫌なのか?
他にdevkitadvanceやdevkitarmもあるが・・・
この二つも中身はgccだぞ

337 :
ほとんどのコンパイラがgccベース(というかgccそのもの)なのは知っていますが
モノによって付属のファイルに違いがある様なので、違うものと見なして色々試している所です。

とりあえず、まだ手に入る様なのでもうちょっと探してみます

338 :
つ ttp://gamdev.org/up/img/4292.zip

339 :
>>338
それ何ですか!?
ものすごい興味があります

340 :
>>338
kwsk!

341 :
つ readme.txt

342 :
リンク先が英語でさっぱりわからないんですが
ゲームを作るにはまずどうしたら良いのでしょうか?
エミュレータ上で動けば満足です。

343 :
つ【Excite翻訳・ goo辞書】

344 :
まて、gbaならば、日本語サイト一杯あるっしょ

345 :
日本語サイトでおすすめはどこですか?

346 :
>>345
>>1

347 :
あり

348 :
サウンドエンジンでなにか良いものは無いですか?
いままで小物を作る時にはAASを使っていました。
ただ、
- ロゴ表示やライセンスがらみが大変そう
- modのチャンネル制限とかを受け入れながらデータを作ってくれる人がいない
- リンカスクリプトとか自分の把握しきれないソースを付加されるのが気分的にあまりよくない
(うまくいえないけど「気持ち悪い」ってやつ?)
などの理由があって、もっと手軽なものは無いかと探しています。

とりあえず、Code WavesのGBA Module Playerを試しています
ttp://www.codewaves.com/gbaplay.html

# oggとかでループができると嬉しいかも

349 :
>>348
madrv

350 :
#ここかNDSスレか迷ったけどこっちにしよ

任天堂がPalmOSのライセンスを買ったって本当か?
PalmはVisorの頃しか知らんが旧MacのToolboxに似たAPIを持ってたと記憶してる。
あんなライブラリが使えるのか・・・うらやましい

351 :
DevkitAdvanceのファイルをDLできないけど
他にDLできるとこないですか?

352 :
ちなみに基礎から学ぶサイトに
agb-win-core-r5.zip
agb-win-binutils-r4.zip
agb-win-gcc-r4.zip
agb-win-newlib-r4.zip
agb-win-libstdcpp-r4.zip
agb-win-patch-r4.zip
これをDLしろと書いてますが
このサイトからはDLできなかったので他のサイトで
agb-win-binutils-r5-beta-3.zip
agb-win-core-r5-beta-3.zip
agb-win-gcc-r5-beta-3.zip
agb-win-insight-r5-beta-3.zip
agb-win-libstdcpp-r5-beta-3.zip
agb-win-newlib-r5-beta-3.zip
これをDLしたのですが、これだけでいいのでしょうか?
基礎から学ぶサイトと違うので合ってるか分かりません
どなたかご指摘をお願いします

353 :
自己解決しました

354 :
oggを再生するには解凍しながら再生するわけだから
17メガヘルツ(だっけ?)のGBAではキツイかも。
音楽だけならともかくスプライトやら背景やらの表示で
処理落ちしそう。ゲーム部分の重さにもよるだろうけど。

355 :
基礎から学ぶサイトのStep 01 開発環境の通りにDLしたのですが、
その後の解凍のところで手詰まりになりました^^:
ダウンロードしたあと、それらのファイルを解凍ソフトを使って解凍したあとに
ひとつの「devkitadv」のなかにまとめます。と書いてますが、
解凍するたびに「devkitadv」フォルダが出てきて上書きになってしまいます。
これは全部上書きでいいのですか?
それとCOPYINGというファイルも複数出てくるので
これも上書きでいいのですか?
どなたか教えてください

356 :
全部上書きで良いはず
駄目でも最初からやり直せば済む話だしなんでもやってみ

357 :
全部上書きでやってみました。
また質問なんですが、
正しくインストールされたか確認するの項目の
部分がよく分からないのですが、
解凍したgcctestフォルダのgcctestをクリックでokですか?
これをクリックしてもこのサイトで
書かれてる文章が出てこないのです
何度もすみませんが教えてください

358 :
質問なんですが、bmpファイルをプログラム内で解析して、表示
(つまりbmpファイルをそのまま表示)することって出来るんですか?
なんか.gbaファイル以外はなにも生成されないので、無理っぽいのですが。。。

359 :
>>358
つ ttp://optimize.ath.cx/bootcable/sample.html

360 :
>>359
どうもです^^

361 :
初心者すぎるとだめですか
そうですか

362 :
そんなこと無いけどGBA研究所のBBSで聞いた方がいい
質問が多いみたいですね。あちらの方が丁寧に
教えてくれますよ。


363 :
ごめんスレ間違った

364 :
パスが通ってねえだけだろ
DOS窓開いて

c:
cd \devkitadv\bin
gcc -v

と打て
バージョンが表示されたらパスの設定しなおし
されなかったらインストールのしなおし

365 :
C:devkitadv¥gcctest>gcc-V
‘gcc’は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されてません。

C:devkitadv¥gcctest>pause
続行するには何かキーを押してください、、、

と出ます

366 :
だから path 通せって・・

367 :
通してますよ
Pathを選び編集、編集値の最初か最後にC\devkitadv\bin:を入れてOKですよね?これやっているけどできないです・・・ちなみに最後に付けてます

368 :
単なるタイプミスかもしれないけど、それセミコロンじゃないよな

369 :
あのレスは自分で打ったので気にしないでください。登録に使ったのは基本から学ぶサイトのをコピーして貼ったから間違いはないと思うのですが・・・

370 :
・gcc-v と打っていないか? gcc -v だぞ
・ちゃんとPATH設定してるか?
環境変数エディタ eveで確認しる
http://www.munepi.com/software/eve.html
あとは、コマンドプロンプトで、echo %PATH%と打った出力をさらしてみるとか。

371 :
>>367
最後に入れる場合は ;C\devkitadv\bin; のほうが良いかもしれない

はっきり言ってこんなところでつまづいてるようじゃ先が思いやられる
あとお前は鼻で馬鹿にしてるんだろうが>>364もちゃんとやっとけよ

372 :
>>370-371
おぉできました
ありがとうございましたm(__)m
>>1に初心者歓迎と書いてたからやってみたくなったんです
本当にありがとうございましたm(__)m

373 :
>>372
できれば、どこが間違ってたかを晒しておくと、
後で、このスレみた初心者が同じところでつまづくことがなくなっていいぞ。

374 :
>>372
>>371氏の指摘してくれたこれに ;C\devkitadv\bin; を使ったらいけました


375 :
俺様メモ:
moefs20040712の関数moe_getfilenum()内の
if(strcmpi(filepath,fn)==0)
{
return i;
}
の直下に
filepath[0] = '\0';
が必要…あれ?公開停止!?

376 :
>>375
間違えた。
for()ループの先頭にあるべきだ。

377 :
ここでいいのかわからないけど。
空ロムにただのゲームボーイソフト突っ込んで、アドバンスでうごくの?

378 :
ゲームボーイの空ロムならうごくけど
アドバンスの空ロムには無理

379 :
8bit PCMのwavをwav2gbaとかで変換せずにそのまま鳴らすには
wavヘッダ解析した後に割り込みの中でunsigned→signed変換する
しかない?


380 :
つ ttp://gamdev.org/up/img/4552.zip

381 :
つTinyB2T v0.20
ttp://nagoya.cool.ne.jp/dcdev38/gba/

382 :
すばらしい。

それでちょっと試してみたんですが、サウンドが音割れするみたい。
ここでいいのかわかりませんが一応ご報告。
>>http://gamdev.org/up/img/4582.zip

383 :
あ、382は >380へのレスです。

384 :
(コメント以外で)日本語を含むプログラムを書いた人っていませんか?

今、GCC 2.9 が採用している文字コード表を探していまして
直接的には見つからなかったのですが、「(\バグ付の)不完全なシフトJIS」らしいので
シフトJISコード表を参考にプログラムしちゃっていいんでしょうか

385 :
「ソ」や「表」などの¥でエスケープすべき文字が分かっていればそれでいいよ。
EUCに代えるのも一つの手だとは思うけど。

386 :
>>384
―ソЫR噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭xx
んだけ

387 :
>>385-386
わかりました
どうもありがとうございます

388 :
GBAプログラム研究所落ちてない?
なんでだろ。教えてエロい人。

389 :
GBAプログラム研究所落ちてない?
なんでだろ。教えてエロい人。

390 :
ほんとだ
トップページは403 その他は404になってる
鯖落ちか何かじゃない

391 :
みんななんだかんだいって見てるんだね
最近BBSにも書き込みなかったみたいだけど

392 :
SFCのロムから吸い出したスプライトデータとかみると
24*32サイズのものが多い気がします。
これをGBAで利用するには32*32のスプライトを用意して
センター寄せで読み込ませるしかないんでしょうか?
それとも24*32サイズのスプライトを造ることができるんでしょうか?

393 :
24は無理
その前に吸出しデータを利用するな

394 :
すいません。キャラチップ作るのに時間をかけたくなかったので…。
RPGツクールのフリー素材とかも24*32なんですよね。
SFCでは24*32ってモードがあったんでしょうか?

395 :
ツクールの素材ってツクールにしか使えないやつがほとんどじゃない?
任意のサイズにしたかったら複数のスプライト組み合わせればいいじゃん

396 :
32x32のスプライトをEDGEで縦3/4にするとか

397 :
ロムから吸い出したデータなんか役に立つのかいな
色化けてるんじゃない?SFCはパレットじゃなくハイカラー以上なのか

398 :
>>394
SNESも24は無理
その程度の知識でよくROM吸い出来たな

399 :
>>392
どうしたらいいのか思いつかないようなヴァカには無理だからやめとけ

400 :
>>395の言うように8x32と16x32を組み合わせるか
右に8ドットの空白を足して32x32で使うかだな
前者はROMサイズとVRAMの節約
後者は手間とスプライトの節約
俺なら後者を取るがね

401 :
>>392
センターよせが一番無難じゃないか?
回転させることとかも考えれば。

ところで、BoyScoutって公式トラッカーしかないの?
日本語環境だとレイアウトが微妙に崩れてて使いにくそうなんだが。

402 :
だいぶ前にDirectSoundで音を鳴らそうとしていた>>318です。
「波平」と、サンプルソース( >>318と同じ処理 )を拾うことができたので、
あらためてチャレンジしてみたところ音が鳴るようになりました。
どうも、SoundEngineが原因だった様な気がします。


次にwavを複数登録しようとしたのですが、また壁に当たってしまいました。
複数のWavファイルをROMに格納しておいた場合、
指定してないファイルが勝手に再生されてしまうことがあります。

extern u8 test[]; // wav1
extern u8 data[]; // wav2

void AgbMain()
{
 play_dma((u32*)&data);
// play_dma((u32*)&test);

 while(1){}
}

こういうソースがあったとき、例えば data を指定して再生すると
data だけが再生されるのですが、 test を指定して再生すると
test の再生が終わった後、勝手に data の再生が始まるのです。

どうも、wavファイルの配列の先頭のアドレスは引数として渡されているけど
終端の方がチェックされていないので、ずるずると再生が続いてるような気がします。

>>322のソースでは、フレーム数を計ってプログラマーの方で手動で再生を切っているようですが
そんな方法しかないのでしょうか

403 :
int play_dma(u32* sound_src){
// DirectSound設定 REG_SGCNT0_H = 0x0906;
*(u16*)0x4000082 = 0x0b0E; // sound control channel ( SGCNT0_H )

// 左右ボリュームの設定 1234 1234xLLL xRRR (0x77) REG_SGCNT0_L = 0xffff;0x0080;
*(u16*)0x4000084 = 0xffff; //sound enable ( SGCNT1 )

// *(u32*)0x40000BC =(unsigned long)&ROM_Sample; // the address of the source
// *(u32*)0x40000BC = (u32*)sound_src; // the address of the source
// Waveデータ転送アドレス設定
*(u32*)0x40000BC =(u32)sound_src; // the address of the source

// DMA→サウンド REG_SGFIFOA_L
*(u32*)0x40000c0 = 0x040000a0;// Dest DMA LOW&HIGH written (0x40000c0= DM1DAD_L )(0x040000a0=SGFIFOA_L)

// DMA有効,転送元増加,転送先固定,32ビット
// REG_DM1CNT_H = DMA_ENABLE(8000) | DMA_TIMMING_SOUND(3000) | // DMAイネーブル・サウンドFIFO要求
// DMA_IF_ENABLE(4000) | // 割り込み要求イネーブル
// DMA_CONTINUOUS_ON(0200) | // 連続モードON
// DMA_SRC_INC(0000) | DMA_DEST_FIX(0040) | // 転送元増加・転送先不変選択
// DMA_32BIT_BUS(0400); // 32ビット
// =e640
*(u16*)0x40000C6 = 0xB640; // サウンドFIFO要求を入れると音が鳴らない?

// タイマー0の値を設定 u16の−値がサンプリングレート(周波数)になる
// 11KHzの場合 -1520
*(u16*)0x4000100 = (u16)(-1520);

// タイマー0を設定、周期は1クロックで1進む
*(u16*)0x4000102 = 0x0080; //timer Control. Ingen IRQ eller nerdelning av CPU clockan.
}

404 :
>>402
>フレーム数を計ってプログラマーの方で手動で再生を切っているようですがそんな方法しかないのでしょうか
そんな方法しか無い
サウンドのサイズを自分で管理し
サイズ分転送したらDMAとサウンドの両方を止めれ

405 :
わかりました・・・
頑張って自前で管理することにします

406 :
ファイル長はすぐわかるね。
wav2gba.exeの吐き出した.binデータを右クリック、プロパティを開く
サイズ ???KB (????? バイト)
()内のバイトがファイルサイズ。

407 :
次のゲームの画面を再現するにはどの画面モードで
各要素をどの画像で再現すればいいでしょうか?

1)SFCのころのドラクエ風戦闘画面
要素:
背景画像
インターフェース
文字
モンスター
攻撃&魔法エフェクト

僕の予想では
画面モードはモード0。
背景、インターフェースはタイル。
エフェクトはタイル?(全画面アニメがあるため)
モンスターはスプライト(ボスキャラ等はタイル+スプライト)
文字はスプライト(タイルのBG面が足りないため)

つぎのレスにつづく

408 :

2)SFCのころのFF風戦闘画面
要素:
背景画像
インターフェース
文字
プレイヤーキャラクター
モンスター
攻撃&魔法エフェクト

僕の予想では
画面モードはモード3。
背景、インターフェース、モンスターはビットマップ。
プレイヤーキャラクター、エフェクト、文字はスプライト。
タイルモードかなと思ったんですがボスキャラが消えるときとか
キャラ画像の奇数ラインと偶数ラインがずれて消えるときとかあるので
あれをタイルモードで再現する方法がわかりませんでした。

あってますでしょうか?アドバイス御願いします。

409 :
主人公、モンスター、効果はスプライト。
BGの仕様を決めるのは難しい。
どういう演出をするのかによって変わる。
背景を拡大縮小する演出をするならモード12345。
しないなら絵がたくさん登録できるモード0。
表示する情報が少なく簡単にレイアウトできるなら0123のキャラクターモード、
多色を使って、8x8ドットに縛られたくないならモード345。
でもモード345は情報量が多く重くなる。ダブルバッファを使用するなら
モード4か5しかない
たしかBGが容量の大きいモードのとき、スプライトの登録数が圧迫されるんじゃ
なかったっけ。
全体のバランスを取るには、だいたいの仕様を決めて
サンプルを作って動かしてみるしかないんじゃない?
FFも3とか4とか決めてそれを目標にすれば、イメージも明確になるのじゃいか。

410 :
そういえば文字の表示が大きな悩み。
日本語表示するのだろうから、VRAMにすべての文字を登録するのは
不可能。割り込み中に表示画面に必要な分の文字を転送するしかない。
あるいはダブルバッファリングできるモードを使う?
ということはビットマップモード4か5。キャラのモードの時は
意識して上の領域はA、そのとき見えない領域B
としてダブルバッファリンク゛することもできるけど。

GBA研究所の日本語表示サンプルを改造してドラクエ戦闘画面の
インターフェースみたいのをまず作ってみるべき。
ワールドマップとかはそのあとでもいい。まず日本語表示が難関。

411 :
GBA研究所は落ちてるんですよね…。
マップエディタが入手できず大弱りです。

412 :
>>407
インターフェースと文字は一緒に出来る
あと戦闘中の文字は平仮名カタカナしかないことに気づこう
BG0 背景
BG1 文字+枠
BG2 半透明エフェクト
SPR 敵+エフェクト

>>408
BG0 敵
BG1 背景+文字
BG2 エフェクト
SPR 味方+エフェクト

FF6は
BG0 背景
BG1 背景+文字
BG2 半透明エフェクト
SPR 敵+味方+エフェクト
一部の魔法はBG2にウインドウ重ね掛けで

敵を消すときはタイルマップじゃなくてタイルを直接消してる

413 :
みなさん、アドバイス有難う御座います。
これでとりあえずの実装は出来そうです。
魔法別で悩んだらまた質問しますので
厳しくもやさしく教えてください。。。

414 :
俺のMAPエディタをうpしてやろうかと思ったけど
みなさんで一括りにされたからやめるか

415 :
心が狭いのね
狭くなくっちゃ、心も車も

416 :
文字表示の実装が全く分からないのですが、
分かりやすいサイトはないですか?

417 :
414さまアップお願い致します。

418 :
>>416
タイルモードのときはタイルを順番に横に並べて
並べたタイルに文字データを転送するだけ

ビットマップモードのときはVRAMに直接書けばいいだけなので
PCでやるのとやり方は一緒

どっちにしても文字データは自分で用意しなくちゃ駄目

419 :
>>406
wav2gbaはv1.01だと、バイナリの先頭に
2byte: type
2byte: stat
4byte: freq
4byte: loop
4byte: size ←これがデータ長
なヘッダが付いてるので気を付けれ。

420 :
>>418
自分の書き方が悪かったです。printf関数みたいな
感じでやりたいんです。
そもそもprintf関数の仕組みがよく分からない・・・
のぞいて見てもチンプンカンプンです。

421 :
>>420
sprintfで文字列を作って
その文字列を表示する関数を作るんだ
printfは最初から無いものとして諦めろ

422 :
研究所のやつじゃなくてもいいので
使い勝手のいいマップエディタしりませんか?
ドラクエ風のワールドマップを作りたいのですが。。。。

423 :
ttp://user.chem.tue.nl/jakvijn/downloads.htm
この辺とかは?

424 :
sprintfって使えたっけ?devkitadv
自作snprintfで対応しちゃった
#あと文字が書いてあるbitmap背景の2本立て

425 :
俺もprintf関数もどき作りました。

全角の文字列を引数として受け取って、
その先頭のアドレスから、内容を4ビット(16進一桁、要するに文字コードの中の一桁)
ずつチェックしていき、最終的に文字コードとBGタイル番号をつき合わせて
BG一面に出力するようにしました

BGを一つ占領しちゃうんであまりよいやり方では無さそうですが

426 :
>>424-425
自作するよりそっちの方が簡単だろうと思ってな
printf関数の仕組みが分からないとも書いてるし

もちろんsprintfはstring.hをincludeすれば使えるぞ

427 :
スプライトの表示数についてなんですが
最大128個でモード0〜2のVRAMのスプライトキャラクター領域は
32kバイトですよね?
32*32dotで16色のスプライトを扱う場合
下記の計算だと最大64個だと思うんですが
それ以上の表示が可能です。複数のエミュで確認したんですが
どれも表示できました。
私の計算方法がいけないんでしょうか?
それとも実機とは挙動が違うんでしょうか?


32*32dotのスプライトのデータサイズ
4bit(16色)*32dot*32dot=4096bit/8(byte換算)=512byte

VRAMのスプライトキャラクター領域
32kbyte=32768byte

16*32dotのスプライトの場合
32768byte(VRAM)/512byte(Sprite)=64個表示可能


428 :
画像データ領域(VRAM)とキャラクター領域(OAM)は分離して考えろ
>>427の例で言うと
OAMには128個登録できても
VRAMには64種類の画像しか収まらない

逆に言うと64種類の画像を128個表示できるということ

429 :
なるほど、つまりVRAMにおさまりさえすれば
64*64の画像を128個表示することができると
いうことなんですね。

430 :
自作snpritnf(snprintf_mini)です。良かったらどうぞ
http://49uper.com:8080/html/img-s/111753.lzh

431 :
ありがとうございます!
正直、よく分からないですが、参考にするか
もしくはそのまま使わせて頂きます!

432 :
コンパイル出来たけど何も表示しまへん。

コンパイル用バッチファイル
SET PATH=c:\devkitadv;c:\devkitadv\bin;c:\devkitadv\tools:$PATH;
gcc -o main.elf main.c utils.c -mthumb-interwork
objcopy -O binary main.elf main.gba

どこがいかんのでしょう
みたとこ画像データが無いようですが。

433 :
うん、文字画像データは入ってないよ
あくまでもおいらが作ったsnprintfの実装(snprintf_mini)だから文字列を作るだけです。

main.cはちゃんと作れているかどうか確認している単体テスト用のプログラム
なのでdevkitadvのgcc(arm-agb-elf-gcc)じゃなくて普通(?)のgccを使って
snprintf実装例を確認してね。
GUIなデバッガがあればどんな感じで処理してるか追っかけられるでしょ
#VCだとsnprintfが使えないかも。そのときはsprintfで代用して確認してね

作った文字列をVisualBoyAdvanceで表示するには文字列表示用の処理と文字データを
自分の環境用につくらないと出来ないです。

まず、putcみたいな1文字表示用の関数を作ってみてはどうでしょうか?

434 :
       ◆◆,,,,_    /⌒;
       /*' 3 `*ヽーっ   /<ワンワン,ツウツウ,スリィスリィ,フォウフォウ
    ⊂二  。 ゚  ⌒_つ/     ガンガン ズンズン グイグイ 上昇
       `、   ⌒_つ /
        `'ー-‐'''''"  /
            /_/

            ///




.         _____
.         `ヽ  ,」_ァ'"´ 
.      f'て}. ̄ rY   ト、  __ 
.     | r个 √`>‐.k } f゙)ヾ> 
      }l r ''"`ァ'゙  ,ノ、ム'^'ァ'゙
     人.ヒ,ィ゙ ァ弌__,,>'´゙ヽ
     い,  `'<,   ,r'^  ,ノ
.   }⌒'‐\ ,、    ゙'くョr.''"´
    い弌-、  \   }. ゝ-、
.    `'ー'  ゙'ー‐--‐'⌒''''''゙

435 :
>>433
これだけヒントを貰ってるのに文字表示すら自分で作れない香具師に
何をアドバイスしてやっても無駄だって。


436 :
>>433
親切すぎる。
漏れは呆れてレスする気がしなかったぐらいだってのに。

437 :
確認用に作った文字表示用プログラムです
ttp://49uper.com:8080/html/img-s/112125.lzh

VCとVisualBoyAdvanceの両方で動作確認できるようにちょっと細工してます
このフォントデータは多分ライセンス違反になると思います。
#外見はラスタフォント6x13そのままです。
#文字を表示した状態のスクリーンショットBMPからデータを作りました・・・

438 :
拙作
ttp://gamdev.org/up/img/4680.png

439 :
>>438
俺が流用してるフォントと同じのを使ってる・・・気がする
俺は8x8でやってるけど

440 :
>>438
liarsoftさん?

441 :
へー、かっこいい
フリーのフォントって知らなかったけど調べてみたらいろいろあるんだな
とりあえず、FONTX形式にすればいいのだろうか?

442 :
サンプルありがとうございます。
私は420=431さんとは別人です、横入りすみません。

フリーのフォント、元GBA研究所のサンプルにあったものを
流用しようと・・問題有りますでしょうか
完全フリーなものが欲しいのですけどそうなるとなかなか
ありませんよね。フリーソフトのみとかメールでの通知義務とか。

443 :
ttp://khdd.net/kanou/fonts/x11bdfs.html

444 :
おお、サンクス
でもbdfフォーマットの仕様書はadobeの有料開発メンバじゃないと読めないのね・・・

で、探した結果、良さそうなページを発見
ttp://hp.vector.co.jp/authors/VA013241/font/bdf.html

あとは日本語文字コードか、やれやれ。

445 :
DIRECTSOUNDをDMAで鳴らそうと
http://belogic.com/gba/directsound.shtml
を参考にしてるんですが、演奏を止めるためのTM1設定
REG_TM1CNT_L=0x7098; //0xffff-the number of samples to play
REG_TM1CNT_H=0xC4; //enable timer1 + irq and cascade from timer 0
のthe number of samples to playの算出式がよくわかりません。
単純にデータサイズというわけではなさそうですが。。。

446 :
データサイズで合ってる
cascade from time 0になっているということは
timer 0が桁あふれしたときにtimer 1が1つ進むということ
timer 0が桁あふれしたとき同時に何が起こっているのか考えてみればそのうち分かる
頑張れ

447 :
>>446
すみません、もう少し教えてください
データサイズが0xffffを超える場合はどう設定すればいいのでしょうか?

448 :
フリーの日本語ビットマップフォント一覧
ttp://kappa.allnet.ne.jp/kanou/fonts/x11bdfs.html


449 :
5つほど上に既に貼ってあるジャマイカ

450 :
研究所が未だに復活しない件。
猫でもみたいなTips集的な使い方をしていたので、他所を探すのが以外に大変。

451 :
儂はウェブアーカイブで拾ってきたよ。zipファイルは保存してないからサンプルは取れないけど。
ヘッダとソースは見られる。makefileが無いのが難点。

452 :
>>447
どうしてもtimerを使って止めたいならtimer 2を使えばいい
お勧めしないが。。。

// (0xXXXX * 0xYYYY = datasize)
REG_TM1CNT_L=0x10000 - 0xXXXX;
REG_TM1CNT_H=0x84; //enable timer1 + cascade from timer 0
REG_TM1CNT_L=0x10000 - 0xYYYY;
REG_TM1CNT_H=0xC4; //enable timer2 + irq and cascade from timer 1
REG_IE=0x20; //enable irq for timer 2
REG_IME=1; //master enable interrupts

453 :
間違ったスマソ

// (0xXXXX * 0xYYYY = datasize)
REG_TM1CNT_L=0x10000 - 0xXXXX;
REG_TM1CNT_H=0x84; //enable timer1 + cascade from timer 0
REG_TM2CNT_L=0x10000 - 0xYYYY;
REG_TM2CNT_H=0xC4; //enable timer2 + irq and cascade from timer 1
REG_IE=0x20; //enable irq for timer 2
REG_IME=1; //master enable interrupts

454 :
>>452
了解しました。トライしてみます。
あと、timerを使わずに止める方法があるのならご教授プリーズ。


455 :
チョット違うことしてるのかな?一応
つdirecsoundサンプル
http://gamdev.org/up/img/4705.zip

456 :
>>455
BeLogicのサンプルみたく別タイマーで止めないとダメだとばかり思い込んでました。
このスレよく読み直したら過去にヒントが出てたんですね。。。orz

457 :
DarkFaderのMylibとかNylibとか入れてみようと思ってやってみたがダメだ…。
やり方が悪いのかサンプルmakeできなかった。
ライブラリ自体はすごそうだ。使ってる人いる?

458 :
NyLibは任天堂の純正ライブラリそのものだから使わないほうがいいぞ
MyLibはゴミ

459 :
1Dモードでスプライトの属性を指定します。
attr2(ゼロが最初)のキャラクタ番号(0-9ビットまで)に指定の番号をセットすると正しく表示されません。
2倍の値をセットすると正しく指定できました。
これってあってる? ゼロビット目がキャラクタ番号じゃないんじゃ、とか思います。
1Dのスプライトについて書かれているページとかありませんか?

460 :
マジですか。コンパイルもようできんからgcc自分で持ってきてarm-elfで作ったりしたんだがなぁ。
最低限eloistのgba.hとgbatekとかのドキュメント、あとは自分でがんばるかね。

461 :
>>459
スプライトが256色設定の場合は2倍で指定するらしいからそのせいではないかな?

462 :
>>459
気になるならVBAのTile Viewerでタイル番号とアドレスを確認すれ


463 :
ボタンを押した瞬間を取得したいんですが
下記のソースがうまく動作しません。
何がいけないかわかりますか?

//ボタンに関する列挙型
typedef enum{UP,DOWN,RIGHT,LEFT,A,B,L,R,START,SELECT} KEY;

//スタティックグローバル変数
static u32 sgKey; /* キーセンス */
static u32 sgKeyhit; /* キー押した瞬間 */

//メインループの頭でボタンの状態を一括取得
void UpdateKeySense(void)
{
static u32 keyold = 0;
sgKey = (u32)(*KEYS);
sgKeyhit = sgKey & (~keyold);
keyold = sgKey;
}

//特定のキーが今押されたかを調べる
u8 KeyHit(KEY key){
switch(key){
case A:
if(!(sgKeyhit & KEY_A)) return 1;
else return 0;
case B:
if(!(sgKeyhit & KEY_B)) return 1;
else return 0;
}
return 0;
}

464 :
書き込みできるかテスト

465 :
>>463
それぞれの変数の値を出力してみろ

466 :
ある構造体に汎用的な配列を用意し、状況によって汎用配列部分に
別の構造体をキャストすることでいろいろ使い分けられるように
したいんですが下記(分けて書き込みます)のようなソースがうまく動きません。
「w->cnt = 5;」等の部分で値を代入しているのに正しい値がはいりません。
VC++では正しく代入できるようです。なぜだかわかりますか?
仕様なんでしょうか?

467 :
typedef struct{
u8use;/* 動作フラグ */
u16no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8wrk[48];/* 汎用ワークエリア */
void*entryfunc;/* 実行関数 */
}TSKWRK;
TSKWRKts[10];/* 実体 */

/* 構造体 */
typedef struct{
u16 cnt;
u8 x;
u8 y;
u32 tmp;
}TEST;

//メイン処理
int main(void)
{
TSKWRK *tp = &ts[0];
TEST *w = (TEST*)&tp->wrk[0];
  w->cnt = 5;
  w->x = 4;
w->y = 9;
w->tmp = 1;
}

468 :
変数の型と変数名がつながっているのは書き込み時に
つながってしまったもので実際には正しく記述しています。

469 :
>>466-467
アライメントの勉強をしてみよう。
http://www.google.co.jp/search?q=%E3%83%A1%E3%83%A2%E3%83%AA+%E3%82%A2%E3%83%A9%E3%82%A4%E3%83%A1%E3%83%B3%E3%83%88

この場合は u8 のアライメントしか持っていない wrk に
u16 としてアクセスしていることが原因。
GBA の CPU である ARM ではアライメント違反した書き込みはできない。
VC++ で正しく動作するように見えるのは CPU が違うから。
x86 系ではアライメント違反した書き込みはパフォーマンスが落ちるだけ。

470 :
こういう使い方をしたいときはunionを使うんだっけ?

使ったことないけど

471 :
>>466
>>469を踏まえてこれでもう一度テストしれ

typedef struct{
u8 use;/* 動作フラグ */
u16 no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8 wrk[48];/* 汎用ワークエリア */
void *entryfunc;/* 実行関数 */
} __attribute__ ((packed)) TSKWRK;

typedef struct{
u16 cnt;
u8 x;
u8 y;
u32 tmp;
} __attribute__ ((packed)) TEST;

472 :
>>470
この場合unionは全く関係ないし的外れ

473 :
メモリをダンプしてみろ
それからだ。

474 :
>>470,472
union 使ってアライメント確保する方法がある。
Cだとコレぐらいでいいんじゃないかな?

union
{
 u8 size_holder[48];
 void* pointer_align;
 long long integer_align;
 long double floating_point_align;
} wrk;

C++ だとメンバ変数・関数ポインタを追加。

>>471
packed はパフォーマンス落としたりバイナリ互換に問題が発生したりするんで
気をつけて使う必要がある。非標準になるしね。
その例だと TSKWRK に packed は必要ない。

475 :
みなさん、アドバイスありがとうございます。
アライメント自体の概念はわかりました。
実用についてはまだよくわからんのですこし調べてみます。

>>474
unionのサンプルの意味は
u8でサイズを決めつつ、何のデータを扱ってもいいように
void型のポインタと最大サイズの整数と浮動少数で
共用体を定義しているということでよろしいでしょうか?

あと、私が書き込んだソースを下記のように修正したら問題なく
動くようになったんですがこのまま使い続けるのは
問題あるでしょうか? 
u8 wrk[48] → u32 wrk[12]

476 :
>>475
サンプルの意味はそういうこと。
union 自体のアライメント要求がメンバの中で最大の物になることを利用したもの。

GBA のハードウェアで4バイト以上のアライメントを要求するものは
無かったと思うので、 GBA に限った動作だけを考えれば
u32 での置き換えで問題ないと言える。

477 :
関係ないけど
GBAって電源切ったとき画面の色が黒でなく白なのはなんでだろう?

478 :
白黒液晶ってのは黒色の文字を表示するものだから背景が黒かったらどうしようもないと
ここまで書いてGBAが白黒ではないという事実を思い出した

479 :
>>381 ノベル制作ツール「のべ〜る」で
VisualBoyAdvanceでプログラムスタート直後に音割れする現象の対策

*TOP:
#play_wav 1 music0.bin
#page
■セロ弾きのゴーシュ;
ゴーシュは町の活動写真館でセロを弾く係りでした。#w ;
けれどもあんまり上手でないと評判でした。#w ;
……

スクリプト開始のしょっぱなに何より先に#play_wavし、
直後に#pageします。これでなぜか音割れ現象が発生しなくなります。
なぜこれでうまくいくのかはよく分かりません。
ちなみに実機やその他のエミュでは試していません。
もしかしたら割り込み内でサウンドの処理より画像の処理を
先にやってるのかなとか思ったり・・見当ハズレなら作者さまスマソ。

これで使える。ヤター!

480 :
のべ〜るは>>380
でした。失礼。

481 :
構造体のキャストで質問したものです。
とりあえず、みなさんのおかげで
スプライト制御が一段落したんで
経過をご報告します。
ttp://2ch-library.com/uploader/src/up_2121.zip

482 :
くだ質で大変申し訳ないのですが、
C++でGBAのプログラミングはできないのでしょうか?
様々なサイトをググってみたのですが、すべてCでの開発で
C++を扱っているサイトを全く見かけません。

よろしければご教授をお願いします。

483 :
>>482 gcc なんだから、できるよ。

484 :
>>482
つ Tennodai Bunko

485 :
>>484氏に紹介いただいたサイトを見る限り、DevkitAdvanceで普通にできそうですね。
早速試してみようと思います。

どうもありがとうございました。

486 :
GBAプログラミング研究所のBMP2RGB.exeで256色の出力のとき、
255番のパレットを指定したドットが0x00になり、
255番のパレット自体も0x0000になって出力されるんだけど
何か意味があるのでしょうか。


487 :
確証は無いけど透明色じゃないの?

488 :
ソースレベルデバッグをしたいんですが
MAPPY VMとVHAM&DevkitAdvanceの組み合わせの場合
どのようにすればよいのでしょうか?
また、NO$GBAとMAPPY VMだとどの程度違いますか?


489 :
Insight + VBA(devel版) で*.elf読ませる方が楽っぽくね?

490 :
arm-agb-elf-insightつかってデバッグするときにVisualBoyAdvanceの画面の状態を
確認しながらデバッグするにはどうしたらいいのですか?

File-TargetSettingからConnection-TargetをSimulatar選んでからOptionをVBAの
GDB接続待ちPortの数字にあわせればいいのですか?

InsightデバッガからRun-ConnectTargetはSucessfully connectedってでるから
成功したのかな?
でも、VBA側の接続待ち状態ダイアログが消えないから違うんだろうなぁ


491 :
>>490
漏れの環境ではVBA-SDLでしかInsightと接続できないorz

492 :
ところでGBAゲームでセーブデータってどうやって作るんですが?
研究所にはあったみたいだけど落ちてて見れない・・・

493 :
>>492
VBAでGBAファイル起動

494 :
>>455
このサンプルでDirectSoundの再生方法を試しているんですが
サウンド再生関数を1回目に実行した際には音がならず
2回目の実行で音がなります。
これ以外のDirectSoundのサンプルでも同様の現象が起きます。
455のサンプルに関してはソースをまんまでコンパイルしても
同様の現象になります。
付属のロムデータでは正しく動作しているようですが
何がいけないかわかりますか?


495 :
やっとこさゲームらしくなってきたんですけど
サウンドがなるとめっさ重いんですよね。
GBAってこんなもんなんでしょうか?
それともプログラムがヘボイだけ?
ttp://2ch-library.com/uploader/src/up_2173.zip

496 :
AGBがまともにサウンドを鳴らせないほど非力なのは仕様です

497 :
まじですか!?
じゃあ、GB互換音源を使うしかないんですね。
研究所が消滅してコンバーターの入手も難しいし
こまったもんだ…。

498 :
>>493
いや、そういう意味じゃなくて、
自作したゲームにセーブデータを作らせようと思ったらどうすればいいんですか?

499 :
>494
キーを入力しないと鳴らないんです。
main.cをコレで鳴るんじゃない?
mu_wok = 0;// 再生の直前に++のため、0からの値になります。
se_wok = 0;
PlayMusic(mu_wok,PLAY_LOOP_ON); //※追加
while(1)
{

>497
4つもの機能のちがう音源を制御するのが重そう。
ゲーム部分を軽くすることは出来ないでしょうか…

500 :
GBAプログラミング研究所って結局どうなりました?
どこかへ移転したとか…
日本のGBA開発に欠かせないサイトだったし、あれほどみんなが
利用していたのに突如閉鎖というのは有り得ない。

501 :
>>498
SRAM(0x0E000000〜)に数値書き込めばいい

502 :
>>500
管理人が捕まったとか

503 :
>>502
iswebからアマゾンの広告かなんかに警告出されたとかいうこと書いてなかったっけ?
それ放置してたら消されたとか?

504 :
>>503
怒られたので消しました、って更新履歴にあったような気が?
今となっては確認が難しいが。

505 :
”捕まった”とか言うとデマに発展しそうな気がしてイヤンな感じ

広告掲載の方法についてサーバーの提供元から警告が来たので広告を消した、
というような更新が最後だった希ガス

確かにGBAの方は更新がほぼ止ってたような気がしないでもないが
DS用のページも作ってたみたいだし(DSの方はやってないのでよく知らないが)
更新意欲がなくなってそのままフェードアウトした感じではないのだが・・・

506 :
DSの方の掲示板は業者スパムだらけだったな

507 :
ソニックザヘッジホッグやロックマンとかの横スクロールアクションで
地形、足場の当たり判定をどのように持つかについて質問なんですが

素人考えだと
@タイルごとに当たり判定の属性を持つ。
A当たり判定のある背景だけを一つのBGに分けて
 背景色以外の部分に当たり判定を持つ。
だと思うのですが

@だとタイル単位でしか扱えないため斜めの坂などの複雑な地形を作れません。
Aだと坂とかも表現できるとおもいます。

でも、ロックマンゼロとかのマップデータをVBAで確認してみると
当たり判定がある部分と無い部分の背景が一枚のBGに描かれています。
この場合、どのように当たり判定を持っているのでしょうか?

作成するゲームによって当たり判定の持ち方は変わってくると思いますが
上記のようなゲームを作る場合はどのように当たり判定を持つのが一般的でしょうか?
参考になるサイトとかあれば教えてもらえないでしょうか?


508 :
>>480
つ ttp://gamdev.org/up/img/4889.zip


509 :
>>507
当たり判定だけのマップを作る
そのマップが視覚的に見えてる必要は無い

510 :
>>507
BGにとらわれずに、マップのパラメータを配列の変数として持てばいいんじゃね?
床と傾斜の違いも同じく。

511 :
>>507のAは草の上を歩く場合、困ったことに…葉っぱ一枚の上にも乗っかってしまう。
>>509 510のやり方をになると想像。チップごとに当たり判定がある@の方法。
チップごとに次のような判定をする。

0…当たり判定無し
 □□□□
 □□□□
 □□□□
 □□□□
@…当たり判定あり。
 ■■■■
 ■■■■
 ■■■■
 ■■■■
A…当たり判定ありで次のような判定をする
 ■□□□
 ■■□□
 ■■■□
 ■■■■
B…当たり判定ありで次のような判定をする。
 □□□■
 □□■■
 □■■■
 ■■■■
白い□の部分は当たり判定が無い。背景チップ番号を取得して0〜Bの場合に
分けて当たり判定。当たり判定の種類をもっと増やすこともできる。
これでマリオ風の坂道をなだらかに歩いて降りる表現もできるようになる。
チップ内の当たり判定だけど、上は4x4マスにしたけど、8x8ドットで
判定するなら8x8マスでの当たった/当たらない判定になる。
やったことないので想像です、スマソ。

512 :
>508
乙です。ありがたく使わせていただきます。

513 :
インターネットアーカイブがzipとかも保存してればなぁ・・・

514 :
つ ttp://www.liarsoft.org/diary/

515 :
使用に堪えるデバッガ付きエミュってどれでしょう?
CowBiteとMappy Virtual Machineは中々いいんですが
前者は使いづらく、後者はエミュとして弱い

516 :
タイルモードで512*512のBGを扱う際、
メモリ上の配列が256*256単位で左上→右上→左下→右下となっているのは
仕様ですか?

517 :
仕様です

518 :
>>517
レスどうもです。

なぜそんなことを聞いたかというと
市販ソフトのBGを見ると512*512でやっているのが多いんですが
なぜなのかなと思ったんですよ。
512*512にしろ256*256にしろスクロール部分を書き換えなきゃ
いけないのは一緒だし、だったら256*256でやったほうが
メモリ配列のことなんか考えなくていいし
VRAMの使用量もすくないじゃないですか。
なんでなんでしょう?

519 :
>>516
タイルの配列は、2Kごとに区切られているような扱いをしてる模様。
Webでのサンプルは256x256はかりなので以外に気付かない罠。

>>518
256だと横幅が16ピクセルしか余裕がないからそれ以上のスクロール量が発生した時の案パイだと思われ。

520 :
任天堂本社情報通達部から本スレッドをご利用の皆様に警告します。
いかなる場合においても、ゲーム機本体および周辺機器、ソフトの内容を
改変する事は違法であり、個人使用もその限りではありません。
日本条例により罰せられますので早急におやめ下さい。
今回は警告という事で免除しますが、後日2ちゃんねる管理人に許諾を得て
なんらかの処分を決定させていただきますのでご了承ください。
法的手段に踏み切る事も視野に入れて検討中です。
アクセス解析等によりご自宅にお邪魔させていただく場合があります。
会社・学校・友人・親・親戚への連絡を行う場合があります。


521 :
>>520
なんだこれ?
気になって取説とパッケージ見直してみたけど、そんなこと書いてないね。
悪質ないたずらだな。

522 :
どうせ警告だすならマジコンスレでやってくれよ頼むから(w

523 :
>>520
ダウト
情報通達部なんて部署ないぞ
やるとしても法務部だろ


524 :
"任天堂本社情報通達部"に該当するページが見つかりませんでした。
"任天堂情報通達部"に該当するページが見つかりませんでした。
"情報通達部"に該当するページが見つかりませんでした。


>会社・学校・友人・親・親戚への連絡を行う場合があります。
これ結構発想が古いよな
おっさんかな?とも思ったけど
情報通達部とかネーミングが安直杉て大人の考えた文章にも見えない

525 :
春だから変なのが出てきたな

526 :
>>524
つーか、ワンクリック詐欺のメールによくある文面じゃないか?

527 :
GBAのソフト作りたいんですが、既にGBAプログラミング研究所は閉鎖?
っぽいですね。
PC用とiアプリくらいしか作ったことなくて
メモリを書き込むとかピンとこないんですが
私でもできますかね?
一応調べてはいるんですが、なかなか良いサイトもなくて。
みなさんはどうやって調べてますか〜?

528 :
>>527
つ Google

529 :
527です。
コンパイルくらいは出来るようにと思い、挑戦してみました。
devkitadvを使っています。
パスは通せていると思うのですが、コンパイルしようとすると

'gcc' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と言われます。

明らかに失敗しているんですが、理由がわかりません。
私がディレクトリ構造が解っていないからでしょうか?
今はc:\devkitadv\{include,bin,arm-agb-elf,lib}という感じになっています。
devkitadv内のディレクトリの中はイジってません。

530 :
>>529
なんでその状態で「パスが通せている」なんて思うんだ?

531 :
>>530
申し訳ない、書き方が悪かったです(;´瓜`)
やり方は間違っていないと思うのですが、という意味でした。
XPだとDOSからパス通せないんですね(´・ェ・`)
研究所のキャッシュから何とかできました。

コンパイルなんですが、
int main(){}
に warning: no newline at end of file って返してきます。
これってドコガおかしいのでしょう?

他にも下のように返してきます、私にはよくわからないんですが。

/cygdrive/c/devkitadv/bin/../lib/gcc-lib/arm-agb-elf/3.0.2/../../../../arm-agb-e
lf/bin/ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status

crt0.oファイルが場所がわからずに開けないって事ですかね?

テキストファイルの拡張子をelfとして、出力されるであろう場所に
先にファイルを保存してからコンパイルしてみたらファイルが消えたので
アクセスしてはいるんですが…。

何度もすいません(=;ェ;=)

532 :
>コンパイルなんですが、
>int main(){}
>に warning: no newline at end of file って返してきます。
>これってドコガおかしいのでしょう?

えっと、これは多分
int main(){}[EOF]
になってるからじゃないかな?
int main(){}[改行]
[EOF]
にすればいいんじゃねーの?

533 :
あとgccじゃなくてarm-agb-elf-gccでコンパイルしてる?
%find /cygdrive/c/devkitadv -name crt0.o
でなんて表示される?
#これはcrt0.oを/cygdrive/c/devkitadv以下から検索するコマンドです

gcc(arm-agb-elf-gcc)がリンカ(arm-agb-elf-ld)をどうやって検索して
リンクするファイルを決定してるんだっけ?binutilsの知識が足りないから良くわかんないや
いっつも何も考えずに
%make
するだけだから・・・


534 :
リンク用スクリプトはこれかな?
(インストールディレクトリ)/ctrls/lnkscripts


535 :
devkitproならインストーラあるからそっちのほうが楽じゃね?
サンプルもついてるし

536 :
スーパーカードSDってミクロでも使えるのか?
ミクロで使いたいんで買おうかどうか迷ってるんだが。

537 :
>>536
http://game10.2ch.sc/test/read.cgi/handygame/1141201889/

538 :
529です。
プログラム中の改行の問題は>>532の通りでした。ありがとうございます(><

crt0.oの問題についてですが、こちらは改善しませんorz
crt0.oというファイルがディレクトリ内にあるのでしょうか?
私はファイル検索にひっかかりませんでした。

>>533
arm-agb-elf-gccでコンパイルしても結果は同じでした。
やはりcrt0.oというファイルがないとダメなんですかねぇ(;´瓜`)
zip展開してディレクトリまとめただけなんですけどねぇ(´・ω・`)

539 :
名前: sage
E-mail:
内容:
>>538下がって無かった(´・ェ・`)
なんとか、自己解決しましてgbaファイルの出力までこぎつけました。
cannot find lc とか言われましたがgoogleの文面でなんとかできました。

それでコンパイルに関しては一応できたのでいいんですがディレクトリ構造について質問です。
コンパイルまでにいくつかファイルを移動しなければなりませんでした。
今は
下記のようになっているんですが、いくつか同じディレクトリ名のものが
ありますがこれは正常なのでしょうか?
これは同一ディレクトリとしてまとまっていなければいけないのでしょうか?

これからまた問題が起こる様だと嫌なので(゚Д゚;)
全然GBA開発っぽい質問じゃないですね、申し訳ないorz



540 :
☆参照
C:\DEVKITADV
├─arm-agb-elf
│ ├─bin
│ └─lib
│   ├─interwork
│   ├─ldscripts
│   └─thumb
│     └─interwork
├─bin
├─ctrls
├─include
│ └─g++-v3
│   ├─arm-agb-elf
│   │ └─bits
│   ├─backward
│   ├─bits
│   └─ext
└─lib
  └─gcc-lib
    └─arm-agb-elf
      └─3.0.2
        ├─include
        ├─interwork
        └─thumb
          └─interwork


541 :
せっかくなので自分の環境TREE晒してみる。
C:\GBA\DEVKITADV
├─arm-agb-elf
│ ├─bin
│ ├─include
│ │ ├─machine
│ │ └─sys
│ └─lib
│ ├─interwork
│ ├─ldscripts
│ └─thumb
│ └─interwork
├─bin
│ ├─bin2o
│ └─old
├─include
│ └─g++-v3
│ ├─arm-agb-elf
│ │ └─bits
│ ├─backward
│ ├─bits
│ └─ext
└─lib
└─gcc-lib
└─arm-agb-elf
└─3.0.2
├─include
├─interwork
└─thumb
└─interwork


542 :
失敗したのでもう一度
C:\GBA\DEVKITADV
├─arm-agb-elf
│ ├─bin
│ ├─include
│ │ ├─machine
│ │ └─sys
│ └─lib
│   ├─interwork
│   ├─ldscripts
│   └─thumb
│     └─interwork
├─bin
│ ├─bin2o
│ └─old
├─include
│ └─g++-v3
│   ├─arm-agb-elf
│   │ └─bits
│   ├─backward
│   ├─bits
│   └─ext
└─lib
  └─gcc-lib
    └─arm-agb-elf
      └─3.0.2
        ├─include
        ├─interwork
        └─thumb
          └─interwork

543 :
ん〜、結構ちがうっぽいw


544 :
>>527
devkitadvにこだわらないなら、devkitproってのもあるぞ。
つttp://sourceforge.net/projects/devkitpro/
こっちはWindows用のインストーラもあって導入が楽だぞ。

横槍質問でアレなんだけど、ワイアレスアダプタの無線通信を受けたり、
送ったりしたいんだけど、規格とかの情報が載ってるサイトってありますか?
漏れの心の中にはありませんでした。

545 :
>>544
ttp://forum.gbadev.org/viewtopic.php?t=5360&highlight=wireless+adapter
ttp://forum.gbadev.org/viewtopic.php?t=5839&highlight=wireless+adapter
ttp://vbalink.wz.cz/

546 :
VHAMは人気ないのね・・・
GUIだから使いやすいのに

547 :
devkitproにもIDE環境付いてないか?

548 :
>>547
今のはProgrammer's Notepadが入っているのか
至れり尽くせりじゃん

549 :
保守シツツ質問〜。|-`).。oO(sage進行だったかしら…)

え〜、いわゆる背景のような一枚絵を表示しようとして24bitカラーを16bit
長で変換するのはできたんですが。

GBAに組み込めません。

const unsigned short bg[]={0x48f3,0x48f3,0x48f30x,48f3……}

のような配列をVRAM転送しようとしたんですが、elfファイルへの変換
で詰まってしまいました。

ん〜、これだけじゃ解らないと思うのでどこがわからないかも教えて頂ければ
その都度答えます。

どうぞよろしく<(_ _)>

550 :
elfファイルへの変換って*.oファイル群をくっつける段階ってこと?
>arm-agb-elf-gcc -o Hoge.elf main.o AAA.o … リンカ用オプション群…
この段階でエラーが出るって事でしょうか?



551 :
>>549
ヴァカには無理だから諦めろ

552 :
>>549
bin2oとかいうものをさがしなはれ

553 :
objcopy 使えよ。

554 :
え〜っと、*.oは使ってません。objcopyもつかってます。
因みにバイナリファイルじゃないのでbin2oはいらないのでは?(-_-;)
arm-agb-elf-gcc -oだけでいってます。
コンパイルは自作のプログラムにしちゃってソース消しちゃいました(;;

配列にcg=[0x7fff,0x2344…}って感じになってます。

555 :
>>554
なんかちょっと >>551 が正解な様な気がしてきた。

まともに説明できる自信が無いなら
「やったこと」と「結果」を全部そのまま貼れ。
特にエラーメッセージは一字一句変えずにコピペすること。

556 :
arm-agb-elf-gcc でコンパイルしている時の引数を正確に書いてくれ
#多分text領域指定が間違ってる(指定していない?)からgccの中の人が
#RAM領域に配置しようとして「場所がないぞゴラッ!!」って言ってるだと予想

557 :
なんか、ひさしぶりに触ったら問題はあるものの表示までできました(−。−
質問に答えてくださった。
>>550,551,552,553,555,556
みんなありがとうございまいした(><
またヴァカで解らなくなったらききにきます(´・ェ・`)

558 :
>>557
自分でできたにしても解決方法を書き残すのが最低限の礼だ。おぼえとけ。

559 :
早くDSエミュがまともにならないかなぁ
今はまだ手をつける気にならん。

560 :
ttp://www.msh-tools.com/GBA/gbagps.html
コレと同じような事をしたいと思っています。
GBAの通信ポートの最低速度は9600BPSですが、4800BPSの機器と通信することはできるのでしょうか?
信号のHI/LOを一定間隔でポーリングして8ビットずつビットを詰めてバイトにしたりできるんでしょうか?
ノウハウなしで妄想を書いてみたんですが、実際どうすればいいんでしょうか?

561 :
おお、かっこいい
とりあえず、地図データは国土地理院から入手すればいいのか。
なぜかちょうど今見てるところだw

数値地図(空間データ基盤)の閲覧(試験公開)
ttp://sdf.gsi.go.jp/

数値地図2500(空間データ基盤)について
ttp://www.gsi.go.jp/MAP/CD-ROM/2500/t2500.htm

サンプル
ttp://www.gsi.go.jp/MAP/CD-ROM/2500/gyosei.gif
ttp://www.gsi.go.jp/MAP/CD-ROM/2500/douro.gif

通信ポートはワカンネ。
単純にシリアル通信なら何とかなるのかな?ちょうど整数倍だし

562 :
予想(根拠無し):
定期的に割り込みかけてポートアドレスを監視。
アドレスを読んだ結果をリングバッファかなにかに記録していく

これでなんとかならんかな?

563 :
ここに誘導されたので再度質問です。
GBAアーケドエミュ関連現在開発進んでるのかな?
UPL系はGBAに解像度近いからRemudvance01Src参考にうまく導入してみたいけどいまいちコンパイル環境手順が分からなかったり
参考リンク
ttp://hem.passagen.se/flubba/gbadown.html

564 :
Dragon BASICの制限がいやなんで
Ver 1.4.1やってるんですけど、
このVerはローカル変数なし?

565 :
すいません、自己解決しました 自分の勘違いでした
BASICの事もよく知らずに手を出したのがそもそもの間違いでした
Dragon BASICってどのBASICに近いんですか?


566 :
PascalでGBA開発しようってページがあったと思うのですが、
どなたか知りませんか?
Delphi使いなので、Cよりよさそうに思えて

567 :
これかな?
http://itaprogaming.free.fr/#FPC_4_GBA

いや、他のページで見たような・・・
ここか!
http://fpc4gba.pascalgamedevelopment.com/

568 :
GBA WIKI
http://f26.aaa.livedoor.jp/~gbawiki/pukiwiki/pukiwiki.php

こんなのあるんだぜ
おれたちまだまだやれるんだ!

569 :
GBAで mameを動かせませんか?

570 :
mameってソース公開されてんだから、569が移植すれば動くんじゃ?

571 :
>>570
頭いい!! 気付かなかった。

572 :
誰か前スレのログ持ってませんか?にくちゃんねるには無くて…。

573 :
gbaをbinに変換するソフトでおすすめはありますか?
いろいろ探しているのですが…

574 :
MOTHER3をやってて、
RPGを作るならGBAの性能があれば十分だと悟った。

ひさしぶりのGBAだがやるぞ。
やっちゃる。

575 :
>>572
ttp://grugru.mine.nu/file.cgi?v=guru_guru_2677.zip
975までしかないけどログ

576 :
頂きました。サンクス。

577 :
誰か研究所にあったVisualHAMのDevkitAdvance用テンプレート持ってませんか?


578 :
>>577
ここの下の方に・・・
ttp://merl.ec.t.kanazawa-u.ac.jp/~masashi/gba/

579 :
>>578
おぉ!ありがとうございます!
それにしても何で研究所なくなったんでしょうね?

580 :
GBAの次はNDSかな

581 :
>>580
やるとしたら、合同スレ?

582 :
GBAでゲーム作る手順だけど、みんなどうやってる?
自分はまず、WINDOWSのVCで240x160のウンドウサイズでゲームを作ってから
GBAに移植するようにしています。

理由は、コンパイルもその方が早いし、ツールも充実してるから。

583 :
ツールが充実してても、結局は移植の際に手間がかかるんじゃね?

584 :
>>583
Cだから関数さえ用意すれば、数時間で移植出来るよ。
そのかわり、GBAのハードスペックに合わせた作りしなくちゃいけないけど。
それより、一番面倒くさいのは、データをバイナリに変換する作業。
ちっとも楽しくねぇ

585 :
>>584
> 関数さえ用意すれば

これが一番苦しくてやらない奴続出な罠。

586 :
関数セットが用意されてれば楽なんだけどね。

587 :
エディタとしてVCを使ってる
コンパイルが通るところまでVCでやってcygwin上でmakeしてエミュ上でチェック
Insightデバッガがなぜか使えないのでVC?エミュを細かい単位で繰り返してます

C++の例外的なデバッグ用マクロ作ってソースの中に埋め込んでるし
ライブラリを作る時にVC上でもデバッグもできるよう単体テストプログラムも平行して作ってる

最悪画面なしでデバッグ出来るようgba.hをVC上でも動かせるように改造してるので
何とかなってる、のかな?

588 :
竜の戦士をVBAでやっているのですが、マップ上で装備画面とか道具画面が見れません;;何か特別な操作方法でもあるのでしょうか?ごぞんじのかたおしえてください><

589 :
>>588
市ね

590 :
普通にエミュ+Devkit使った方が、簡単じゃね?
それ以外の方法で作ってる香具師がいたなんてビクーリ

591 :
VisualHAMだっけか、あれ開発しやすいね。

592 :
>>264
亀レスにもほどがあるけど、こんなもんでいい?
ttp://forums.zhilaware.starfusion.org/viewtopic.php?t=181


593 :
GBAを電子ブックにしたら便利じゃね?
とか思ったのですが自力でそんな物作れない上、検索してもその手のソフトは見つかりません。
すでに公開されてたりしないでしょうか?

なかったら仕方ないのでやってみるつもりですが
Cなんてコマンドプロンプト上で計算させるくらいしか出来ないのでちょっとキツイ

594 :
>>592
これって最終版で使えるの?

595 :
>>594
2.0.2ならいける。
簡単な試し方としては、sampleのGAPMANあたりで
音を容量が大きなものに変更したりなんかするといい。
上記方法で、コード未記入で128KBリミットエラー、記入するといけた。

596 :
f2a使いだが。セーブするとクラッシュするのがある、、、

597 :
>>593
http://www.geocities.jp/yasuho68k/gba/index.html

598 :
GBA SP 以降の本体はバッテリーで動いてますが、
このバッテリーの残り容量って何処かのレジスタとかで知ることって
できるんでしょうか?

599 :
できない

600 :
ありがとうございます。
メニューとかで残り容量をパーセント表示できれば
便利かなと思ったんですけど残念です。


601 :
>>596
環境と状況、再現方法が分からない。
詳しく書くと回答があるかも知れない。

602 :
>>601
空ロムはf2a ultra 512メガで三国志 信長の野望 この二つだけセーブするとクラッシュ。
他のはセーブできるんだが、、、でクラッシュ後でバックモード〔パソコンに繋いでセレクト+ab〕で見ると、sramエラー、、
このふたつでだけなんだよなー、、、、

603 :
マジコンスレでやれ

604 :
なんだ、自作ROMじゃなかったのか。

605 :
>>597
ありがとうございます。

606 :
SRAMのサイズは 32KB と 64KB がありますが、
このサイズ情報ってカートリッジの隠しヘッダが何かで
指定できたりしますかね?

EZClient のデフォルトだと 32KB にアサインされるので、
普段は 32KB にしているのですが、
自動的に 64KB と認識させることが出来ると、
SRAM 空間が広がって嬉しいかなと。

607 :
自分で調べろ
32KBの場合ミラーリングされるから
64KB空間に書き込んで32KB空間に変化が出れば32KBとして扱え

608 :
>>607
ありがとうございます。

32KBでも64KBでも動くようにゲームデザインをするのは
手間がかかりすぎてしまうので
それならば 32KB 決め打ちで作ってしまう感じですね。

かといって 64KB のみ対応で作ってしまって、
32KB の場合に「64KBの設定で焼き直してください」とするのも
ありえない感じがするので、
ROM 焼きの際に確実に 64KB を保証させる方法が
ないかどうかは引き続き調べてみます。


609 :
何とんちんかんなことを言ってるんだ?

610 :
はげはひっこんでろ

611 :
んー、とんちんかんですか……。
SRAM を使用するゲームの公開をする際に悩ましい問題だと思っているのですが。

ちなみに、SRAM を使用するゲームを公開している方は
何か工夫とかされてますでしょうか?

EZ とか F2A とかに焼いて遊んでくれる人が
EEPROM 形式とかで焼いてしまってセーブ出来ないという事態を出来るだけ
避けたいという気持ちもありますし。
(確実に SRAM 64KB で焼いてもらえる方法があれば、
SRAM 32KB でなくて、SRAM 64KB を使いたかったので質問しました)。

612 :
>>611
readme書いとけ

613 :
EEPROM 形式と来たか
とんちんかんにも程があるぞ

>EEPROM 形式とかで焼いてしまってセーブ出来ない
EEPROMに書き込むコードを自分で書かない限りEEPROMが使用されることはありえないわけだが

>確実に SRAM 64KB で焼いてもらえる方法
F2Aは確実に64KBありバンク切り替えで通常256KB最低でも128KB使用できるわけだが
Pogoshellにしてもデフォルトで64KB設定になっているわけだが
EZClientの件については>>612

何が悩ましいんだ?

614 :
反省はしてないが少し悪意をこめ過ぎた
はげは遺伝で俺のせいじゃない

615 :
◆ (No Subject) / 三国志 信長の野望 で

flash2advance ウルトラ 512 がセーブすると固まり、デバックモードでみるとsramエラー 
このソフト以外はセーブ出来のにセーブ形式っ一応すべて網羅してますよねこのーカード

2006/07/27(Thu) 17:56:18 [No.3522]

616 :
まぁ無理だと思うけどバーチャルコンソールで自作ゲームが動けばいいなage

617 :
http://mightymax.org/gbamp_multiboot.html
これのGBA側もマルチブートにしたいんだけど、どっかに情報無いですかね。

618 :
>>617
標準でGBAローダーが付いているのだが。
もちろんGBAROMはマルチブートで作成すること。

619 :
みんなNDSに行ってしまったのかのぉ・・・

620 :
>>619
GBAでゲーム作っても遊んだ人からの反応まったくないし
作っても公開しなくなった

理由は自分のゲームがヘボイからかもしれないけど
中国サイト行けば市販のゲームがゴロゴロしてるんでわざわざ個人が作った
ゲーム遊ぶ必要ないからかなとも思ってる。

90年代初期はメールもなかったのにしょーもないゲームを作っても
わざわざ手紙で感想を送ってくれる素晴らしい時代だっただけに
開発環境が整った現代でこのような状況は残念でならない。

そんなわけでNDSでゲーム作れるようになっても公開する気全然ないし
1人でニヤニヤしながら自分の作ったゲームを眺めるだけになりそう。
まぁ、それはそれで楽しいんだけどw
40歳近いオヤジのグチでした。

621 :
飽食の時代だからよほど美味しいものでない限り感想なんて出ないよ

622 :
日記はチラシの裏へ

623 :
枯れた名無しの水平思考:2006/10/28(土) 10:56:32 ID:+NQmeL9E0

624 :
そうか

625 :
今から(今更?)「Linuxから目覚めるぼくらのゲームボーイ!」を片手に開発しようと
しているんだが
頑張って作って公開してみるよ
11月中に公開できるように頑張ってみる

626 :
>>625
ケーブルつきのってまだ売ってます?
売ってるところ知ってたら教えてください。

627 :
大阪梅田のジュンク堂にはまだあった
他にも梅田か日本橋か天王寺で一つ二つ見かけた気がする

628 :
>>620
遊ぶために機器が必要だったり知識が必要だったりするから気軽に遊べないんだろう

629 :
ACGのローダーってないですか?

630 :
なぜか玄人受けしてるGBA

インターフェース2007年1月号
ゲームボーイアドバンスをゲームパッド入力に使おう
ttp://www.cqpub.co.jp/interface/default.asp

昔からあるゲーム・パッドは,ボタンのON/OFF の情報しか存在しなかった.しかし最近は,スティックを倒した角
度を判別できたり,加速度センサを内蔵して,「傾ける」,「振る」というような動作を入力できる.ここでは,汎用または
特定のゲームに最適化したゲーム・パッドをUSB のHID として実現する方法について解説する.
ttp://www.cqpub.co.jp/interface/sample/200701/I0701074.pdf


631 :
玄人受けというか、ARM7の教材として扱いやすいから?

632 :
元々アドバンスのソフト開発の本出してる人じゃなかったっけ?

633 :
>玄人受けというか、ARM7の教材として扱いやすいから?

まぁInterface的にはそうだろうなぁ・・・
でも現実問題としてCPUなんて気にする?Cで書いてあとはコンパイラまかせじゃない?

>元々アドバンスのソフト開発の本出してる人じゃなかったっけ?
そーすね、TeamKNOx ってのは結構みる名前だね
ttp://www.teamknox.com/

634 :
GBAプログラミング研究所のサンプルソースとか保存されてる方。出来れば、ページ全部保存されている
方とかいらっしゃいませんか?

http://72.14.235.104/search?q=cache:M0DQnBLGrZAJ:j-gbadev.hp.infoseek.co.jp/cgi-bin/viewdir/viewdir.cgi

web archiveとかだと圧縮ファイルとかが無かったり、ページが残ってなかったりするんですよねぇ…


635 :
super cardのSD版を使っているのですが、
自作のソフトが古いファームでは動くのですが、最近のファームでは動かなかったり。
原因らしきものをご存知の方、いませんでせうか。

636 :
>>634
俺も欲しいなぁ。ソースとページ合わせて
500円位なら出してもいい。

637 :
>>634,636
ttp://www.liarsoft.org/diary/20060307.html
ここにちょっと残ってたよ

638 :
>>637
ありがとう!!随分と助かりました。

639 :
>>637 頂きました。ありがとう。
それはそれとして、GBAプログラミング研究所のログ(html、ツール、ソース等)
なるべく完全な形で持ってる方、譲って頂けないでしょうか?


640 :
>>639
サンプル関係のソースは
>>637 のページで上がってるヤツが完全じゃないかなぁ

ツール類が無かったから上げといた
BMP2RGB12a
http://gamdev.org/up/img/8516.zip
WideMapEditor08
http://gamdev.org/up/img/8517.zip

ツールは
http://www.gbadev.org/
に揃ってるし、自分に合うのを探すなり、自作するなりしなよ

641 :
>>639
ある程度は自分で何とかしないと、道具だけあったって
いつまでたっても完成しないぜ。

642 :


643 :
上のツールとログ感謝。
プログラミング初心者だけど少しずつ勉強してます。

644 :
DragonBasicでプログラミングをしたみたいんですが、
どんなサイトや本で勉強するのがいいでしょうか?
また、どのBasic言語に近いですか?

645 :
DragonBasicやるぐらいなら Cの方が良くね?
資料やサンプルも多いし。。。

646 :
上に同じく、DragonBasicだけはお勧めできない。
まだVisualHAMの方がましかと思われ。

647 :
AGE

648 :
誰かすずめ愛好会のログ保管してる方いません?

649 :
>648
http://web.archive.org/web/*/http://vsync.org/

今年最初も消えた騒ぎあったから、たぶんまた復活するよ
・・と思ってたら今度は「閉鎖します」ってあるね。
どうしたんだろう・・
DSはエミュの準備が遅れたせいか盛り上がりが今ひとつだし。
コンシューマーで趣味で開発するのも下火になってくのかな

PS、DC以降になるとパソコン用のゲームを作るのとなんら変わり無いし。
そういや最近はXBOXのゲームを開発できるとか。

650 :
 

651 :
http://www.gbadev.org/
こっちも二ヶ月ほど更新ないし保存したい人は急いで・・・
と見てみたら更新キター(涙)

652 :
>>649
この前移転したばっかじゃん…と思ったら消えてた。
まぁ研究所と違ってhtml保存しといたからいいけど、
すずめ愛好会はGBAの項書きかけなんだよな。

653 :
「ゲームボーイのプログラム・改造マニュアル」って本読んだ事ある人居ますか?
買おうかと思ってるんだけど
ゲーム制作に生かせそうな内容なのかな?

654 :
ゲームボーイの構造を理解するのには使えると思う。
開発環境の導入からわからなかったり、自作のフラッシュカートリッジを作るつもりなら買うといい。

ゲーム製作についてのノウハウに期待するならやめておいた方がいい。

655 :
>>654
遅れながら参考になりました、ありがとうございます。

656 :
書籍つながりで、さっきヤフオクでケーブル付きのGBA本が
かなり競った結果、定価以上で落札されてた。
書籍は相当薄かったから価値の殆どはケーブルだろうけど。

とりあえず、昨日定価で売ってるところ見つけたんで買いに行ってくるわノシ

657 :
押入れから昔買ったパラレル用のブートケーブルが出てきた
いつ買ったか記憶にねえけどこれを使って遊んだ記憶はある
USB版もあるらしいけどもう売ってないんだね・・・

658 :
これからやろうと思うんだけど、どの環境でやるのがおすすめ?
devKitProはインストール簡単って聞いたけど、これでよい?

659 :
>>658
devkitProとVC2005EEおすすめ。

660 :
ありがとう

661 :
lfwgewreheh




hjyjrwyjwj




ryuklryul




ryeyet



ylflily



sdbhsfhfsd



yrlyrli





662 :
GBA で弾幕 1024 発
ttp://gba.pqrs.org/~tekezo/gba/doc/sprite1024/index.html

弾幕ゲー
ttp://gba.pqrs.org/~tekezo/gba/vulkanon/index.html.ja
ttp://gba.pqrs.org/~tekezo/gba/bulletgba/index.html.ja


663 :
>>662
前に見たけど、
今見ると、スプライトダブラーすごいよなあ
他の発売されたソフトでもやってたんかな?

664 :
>>662
何か知らんがやる気が湧いてきた。ありがとー。

665 :
>>663
8bitの時代からある技法だよ。

666 :
Macで作ってる人居ますか?

667 :
ゲームボーイのプログラム・改造マニュアル
ゲームボーイプログラミング入門

両方吸出し機とかの方に力入れてて全然役に立たなかった。
特に後者はGBAを表紙に入れておきながら殆ど触れていない。
一緒に買ったC言語超入門―Windowsでゲームボーイのプログラムを作ろう!は使えたなぁ。

668 :
すいません、質問させて下さい。
typedef unsigned char u8;
typedef unsigned short u16;
typedef signed char s8;

#define USE_SPRITE_NUM 8
typedef struct{
  u8 tileno ; // 使用するタイル番号
  u8 sizetype ; // スプライトの形状とサイズ。
  s8 posx ; // 座標X
  s8 posy ; // 座標Y
  u8 mirror ; // 反転フラグ。bit0が左右でbit1が上下
  u8 dummy[3] ;
} spritedata_t ;

typedef struct{
  u16 tileno ; // 使用するタイルデータ番号
  u8 usespritenum ; // 使用するスプライトの数
  spritedata_t sprites[USE_SPRITE_NUM] ; // スプライトの情報
  u8 dummy[1] ;
} graphicpat_t ;

こんな感じで、作ってるのですが、sizeof(graphicpat_t)でサイズを調べると、
VC++で作成したツール上で68、GBA上で72と、違いが出てくるのですが、
何故なのでしょうか?


669 :
境界揃えようとするから。
&graphicpat_t->sprites[0] でアドレス出力してみりゃいい。

typedef struct{
  u16 tileno ; // 使用するタイルデータ番号
  u8 usespritenum ; // 使用するスプライトの数
 ここにダミーが1バイト
  spritedata_t sprites[USE_SPRITE_NUM] ; // スプライトの情報
  u8 dummy[1] ;
 ここにダミーが3バイト
} graphicpat_t ;

多分こうなってる。

670 :
詳しいことはこちら。
ttp://www.jp.arm.com/tec_support/faqdev/ads037.html

対処法はこんな感じで。
#define __PACKED __attribute__ ((__packed__))

typedef struct{
u16 a;
u8 b;
u16 c;
} __PACKED ST_TEST;

671 :
dummy[1] を上に移動するだけでもいいよ。

672 :
>>669-671
あれから自分でもパディングの事を調べてみたんですが、
パディングって構造体の最後だけじゃなくてメンバの途中にも入るんですね。
メンバがu8一つだけの構造体のサイズを調べると2バイトになっていたり、
u8二つの構造体のサイズは4バイトだったりするのが謎だったりで
まだちゃんと理解できてはいないのですがとりあえず
graphicpat_tのdummy[1]をusespritenumnumの次にする事でうまくいってます。
レスありがとうございました。



673 :
.cファイルに書いた場所(順番)によって、ポインタが指す場所が変わるのですが、
原因がわかる方はいらっしゃいますか?
具体的には

const u8 hogebindata[HOGE_SIZE] ; // .oファイルから

HOGE* pHoge1 = &hogebindata[0] ; // HOGE構造体のポインタ
HOGE* pHoge2 = &hogebindata[0] ;

これでpHoge1とpHoge2の指す場所が変わったのですが。


674 :
その現象は確認したことがないので
お役に立てないかも。

指す場所が変わったというけれど
1,2バイト程度のズレなのか、全然無関係な
アドレスを見ているのか気になります。

前者ならコンパイラの最適化の影響?
volatile修飾子つけてみてはどうでしょうか。

もしくは
HOGE* pHoge1;
HOGE* pHoge2;

pHoge2 = pHoge1 = &hogebindata[0];
でやってみるとか。

675 :
>674
レスありがとうございます。ズレも定義する位置毎に変わったり、
さらには他の部分の関数等の量(?)にも変わったりするので良く解りません。
とりあえず、今まではグローバルで定義と初期化をしていたのですが、
初期化をAgbmain()の冒頭にしたら見かけ上はうまく行きました。
原因が解らないのが気持ち悪いところではありますが…。



676 :
・u8型なのに、HOGE*型で参照しようとするので
 キャストがおかしくなっているのかもしれない。

・Agbmain関数と聞いて、開発環境が
 DevkitAdvanceではないかと思いました。
 もしそうならばdevkitProに変えてみるといいかも。

・最終手段で、バグのままの状態でプロジェクト一式
 アップしてみるとか(ぉ。

これぐらいしか思いつくことはないので
後は傍観させていただきます。

677 :
全部じゃなくても、そちらの環境で再現する最小限のソースをうpしてみなよ。

678 :
>676
片方が駄目で、片方は普通に使えるというのが謎なんですよね。
コンパイラの最適化関係で、何かされているのでしょうか。
makefileは他のサンプルをそのまま使っているので、
その辺のオプションは弄くれていないのでそういう事もあるかも知れないです。
それとお察しの通り、DevkitAdvanceを使ってます。
自分もdevkitProに変えたいのですが、いまいちやり方がわからず…。
もうちょい弄ってみます。
ソースは上げられませんが、HOGEの中身はu16 data[8]だけです。

>677
どれくらいの量でズレが起きるのかがイマイチ解りません。
新規に初めてみて試してみます。


679 :
コンパイラはDEVKITのどのバージョンですか

680 :
2バイトパレットってBIT15は未使用のはずなのに、
ゲームによってはBIT15が1で、+8000hされてる色が
稀に使用されていたりして、用途がさっぱり解らないんだけど
誰かわかります?

色違いキャラなどで、同じ色が使用されている時に片方のみ
+8000hされてるなんて事はないから
意図的な設定なんだろうけど

681 :
同じ色が含まれている、の間違いです

682 :
なんの根拠もないが、なんかのフラグで使ってるんじゃないか?
たとえば、パレットアニメの対象外にする時にビットを立てておくとか。


683 :
>662
変なのー。
周りのやる気をなくさせようという気がまんまんだね。
言ってることとやってることが違うと何だか腹立つ。

…やってること自体は簡単だから、「すごい」とか騙されては駄目だよ。
一介のプロのつもりなんだろうけど、むしろ手抜きが目立つね。
サウンドも背景もちゃんと凝った方が全体の評価は高い。

684 :
>>680
GBAだと使用しないけど、NDSだとBIT15は透過フラグになってて、モードによってはそのBITを立てて使う。
NDSのプログラムでも使えるようにしてるか、git(データの変換)なんかでフラグ立てる設定で
変換したのを間違ってそのまま使ってるんじゃないかな。


685 :
透過フラグの存在は初耳です。
でもキャラスプライトに二つ以上の透過色が
必要な使われ方はしてなかったようです。
何かのフラグが残ったままって可能性はありそう。

>>682
そういうケースもありそうですが、
パレットアニメが使われてた様子はないっぽいです

686 :
聞いたことないけど
もし'何かある'としたらブレンドモードだと思う。
どんな状況で表示されてるスプライトなんだ?

687 :
>>685
NDSはスプライトにはタイルだけじゃなく、ビットマップも使えるようになってる。
ビットマップだと0番パレットみたいな透過色の代わりに、BIT15立てることによって透過を実現してるんじゃない。



688 :
俺にもビット15が0で色が表示されないと悩んでた時期があった


689 :
携帯電話の液晶を再利用したボードPC「DVIEW」
ttp://slashdot.jp/hardware/article.pl?sid=07/11/15/0122209

スプライトは使えないけど、オイラ的には実機でも動かしてみたいからこれ買うつもり

性能的にはこんなもん

CPU: ARM7TDMI Core (81MHz)
メモリ: On-Chip 40Kb SRAM (外部SD, FlashROMが利用可能)
ディスプレイ: 320x240、32K(RGB555)色
サウンド: 2ch,16bit audio-DAC for stereo/mono output (MP3, MIDI, ADPCM対応)
周辺機器: CMOS sensor input, VideoOut, SD Host I/F, UART, SPI, JTAG (拡張ボード利用で USB, LAN)

会社のページに繋がらないのは何故だ?

690 :
メモリ 40Kbで、一体なにができるんだw

691 :
40KBの間違いだろ

692 :
40KBでも同じこと

693 :
>>692
最初に買ったパソコンはRAM16KBだったがいろいろ出来たぞ


694 :
全くの初心者なんですが質問させてください

既存のゲームをベースにポケモンやメダロットやFFなんかを、
テキストやら音楽やら絵やらパーツやらモンスターやらを追加したり差し替えたりして作りたいと思っているのですが
おおまかな手順と必要な知識を教えてください

695 :
簡単に言うと板違い。
gameurawazaに行って下さい。

難しく言うと
差し替え→コンスタント領域から該当箇所を見つけてリプレース
追加→コード領域からコンスタント領域参照部分を見つけて分岐もしくはテーブル書き換え
必要な知識→各種データフォーマット・LZ77圧縮法・ARM7インストラクション

696 :
算数知らないのに数学の教えを乞うようなモン
質問でもなんでもない

と書こうとしたら695が親切すぎて泣いた

697 :
>>694
GBAは難しいからファミコンで練習するといいんじゃない。


698 :
super card上でデータを保存するにはどうすればいいんでしょうか
sramに書いたあと、自分でメニュー呼んでSDに保存できればいいのですが、どうパッチをあててもできず。
自作ソフトには付けられないんですかね、パッチ。

また、同じくsuper cardで新しめのファームウェアだと起動すらしないのですが、アプリ側でできる対処法などご存知の方いませんか

699 :
誰かwww.agbdev.netで配布してたデモ(Nok_Keysupd.zip、sprite.zipとか)
持ってる人いる?どんな中身か知りたいんだけどサイトが潰れちゃってさ。

700 :
すいません。この本「Linuxから目覚めるぼくらのゲームボーイ!」
を読みながら、第2章のbox_tile.cまで進んだんですが、
サンプルプログラムをそのまま使用して、
コンパイルまでできたのですが、VBAで実行させると画面が真っ暗なままで
何も起こりません。これは実機でないと動作しないのでしょうか?

701 :
半分あたり
その本はメモリからブートすることを前提にしているので
ROMからブートすることを前提にしているエミュだとそのままでは動作しない
VBAで動かすにはbox_tile.mb.binに名前を変えてあげな

702 :
>>701
レスありがとうございます。
ファイル名を変えてやってみましたがうまくいきませんでした。。
代わりにリンカスクリプトでプログラムの開始アドレスを0x08000000に変えたら動きました!
おかげで挫折する期間が延びましたwありがとうございました。
しかしbox_tile.cより前に出てくるプログラムは何で内部メモリブートでもうまくいったのかなあ

703 :
すいません。「Linuxから目覚めるぼくらのゲームボーイ!」
を第3章まで読み進めたのですが、clock.cがうまく動作しません。
割り込みハンドラの中でvolatile修飾したグローバル変数の値を書き換えているのに
全く値が変わりません。なにか考えられる原因はありますか?
ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
画面に文字が出力されるので間違いありません。

704 :
>ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
>画面に文字が出力されるので間違いありません。
釈然としない
どう出力されたからそう思ったの?
ちょっと貼ってみてよ

705 :
該当部分のソースを張ります。
これでタイマー0がオーバーフローしたときに下記関数が実行されて、
VBAver1.7.2だとなぜか0110100100111010が常に表示されます。

volatile int tmr0_cnt = 0x0000;

void int_handler(void){
int flag;
int i;

register(INT_IME) = INT_IME_OFF;
flag = register(INT_IF);

if(flag & INT_TMR0){
tmr0_cnt++;
draw_str("タイマーわりこみ", 0, 13, BG_1);
for(i=0; i<16; i++){
if(((tmr0_cnt >> i) & 0x0001) == 1){
draw_str("1", 16-i, 1, BG_1);
}
else{
draw_str("0", 16-i, 1, BG_1);
}
}
}
register(INT_IF) = flag;
register(INT_IME) = INT_IME_ON;
}



706 :
ちなみにメイン関数の方では下記処理を行っており、
タイマ0のカウンタは正常にカウントアップしていることが画面表示から確認できました。
何か分かりますでしょうか。よろしくお願い致します。

while(1){
sec = register(TMR_COUNT0);
for(i=0; i<16; i++){
if(((sec >> i) & 0x0001) == 1){
draw_str("1", 16-i, 0, BG_1);
}
else{
draw_str("0", 16-i, 0, BG_1);
}
}
}


707 :
あと、リンカスクリプトを書き換えて、テキストセクションの開始アドレスを
0x80000000にしているのですが、このことが何か関係があるのでしょうか。。

708 :
ひょっとして全て理解した上でからかってる?
>>707はたしかに関係ある
テキストセクションを0x08000000に置いたあと以降の
連続した領域にBSSセクションとデータセクションを置いているので
グローバル変数に書き込みたくてもROMだから書きこめない
今までよく動いてたな。。。

709 :
リンカスクリプトについての理解が不十分でした。
下記ホームページを参考にリンカスクリプトを書き換えたら、
見事1秒ごとにtmr0_cntが0からカウントアップされるようになりました。
おかげで挫折する期間が延びました。ありがとうございました。
http://www.nextappli.com/index.php?GBA%2FROM%B2%BD#content_1_0

710 :
例えば
mov r1, #128
strh r1, [r3, #0]
ldrh r3, [r2, #0]

を実行するのに、何クロック掛かるか・・という事を説明してくれる
本やサイトご存知内ですか?

711 :
音の多重再生をするにはどうしたらいいのですか

712 :
数十曲の音楽データをROMに格納したいのですが容量が足りません。
何か工夫が必要なのでしょうか。
マザー3なんかは100曲ものBGMが入ってましたがあれはどうやって実現しているのでしょうか。

713 :
すいません。100曲でなく250曲の間違いでした。

714 :
譜面データと、音源データを分けて持っているから、かな?
MIDI見たいな感じで。

それに、要所要所でPCMをかぶせれば
大抵の曲は再現できそう。

あとは、圧縮をかけるだね。
(譜面データにたいして、また、ADPCMとは言わないが適当な圧縮形式で。)

715 :
そんなのは俺の手に負えねえ。ここで挫折しまするわ。

716 :
ここでGBの事聞いても大丈夫かな?
バンク切り替えの事について調べてるんですけど
MBC2のバンク切り替えについてすずめさんところのウェブアーカイブと
お受験に出るゲームボーイのページを調べてみたんですけどMBC2に関する情報が載っていなくて…
恐らく0x2000番地への書き込みだと思うんですけどどこか正確な情報がある場所ってないでしょうか?
それと現在自分がどのバンクを操作しているのか判別する方法があるかないかご存知の方いらっしゃいますか?
もしかしてバンクの位置情報はどこにも展開されず完全に自分で管理する必要があるんでしょうか?
デバッグの際にバンク情報がないと調べるのが大変で…

717 :
スレ違い
ttp://www.geocities.co.jp/Playtown/2004/gmbspecj.txt
ttp://fms.komkon.org/GameBoy/Tech/Software.html
エミュレータのソースも併せて読むといい

718 :
すみません該当するようなスレが無かった物で。
挙げて頂いた上記サイト等も参考にしてみます。
エミュのソースをみれば確かに内部動作はカンペキに把握できますね。
GBのエミュも大分こなれてる様なのでその辺も参考にしてみます。
ご親切にどうもありがとうございました。スレ汚し失礼しました。

719 :
>>712-715
GBA用のFreeのMODライブラリでも使って組み込めばそれで終わり。
問題は、MODを作れるかどうかだがw

720 :
devkitProを使ってGBAでゲームを作っているのですが、
const int hoge1 = 1 ;
const int hoge2 = hoge1 ;
のようにすると、「initializer element is not constant」と出てしまいます。
VC++だと普通にコンパイルが成功しました。
Cではこういう事は出来ないのでしょうか?


721 :
>>720
スレ違いだが回答。

C言語とC++のconst修飾子の動作の違いのために起きる問題。

const int hoge1 = 1 ;
がC言語では変数として定義されるのに対し、C++では定数として定義される。
このため、
const int hoge2 = hoge1 ;
がエラーとなる(初期値つき変数に定数以外を指定したから)。

結論:C++でなくC言語で書くなら、定数はマクロやenumで定義しましょう。


余談だが、const修飾子には他にも違いがあり、グローバル変数をconst修飾した場合に、
C言語ではデフォルトで外部リンケージ(要するにextern)になるのに対し、
C++では内部リンケージ(要するにstatic)となる。

722 :
>>721
スレ違うというか板違いでしたね。
あと、一応補足。

当たり前だけどC++でグローバルな
const int hoge0 = 1;
static const int hoge1 = 1;
extern const int hoge2 = 1;

を定義すると、hoge0とhoge1は定数、hoge2は変数となる。

723 :
>>722
変数と定数と、どう言い分けてるの?
挙げられた例だと全部定数式として使えるはずだよ。

724 :
>>723
スマン。内容に不足があった。

×hoge2は変数となる
○hoge2は定数であると同時に外部リンケージの変数も定義される

725 :
なるほど、そもそもCとC++じゃconstの仕様が違うのですね。
良く分かりました。
板違いの質問に答えて頂き、ありがとうございました。


726 :
>>724
やっぱり変数と定数の意味に無理があるだろ。どこで
そんなネタ仕込まれたんだ?

722 の3つは全部 const int 型変数の定義。
const int 型変数が定数式で初期化されていれば、
それもまた定数式となる。

リンケージはそれぞれ決まっているし、外部リンケージ
じゃなければ初期化が必須だったりするけど、それらは
定数式として使えるかどうかとは別の話。

727 :
GB音源(例えばチャンネル1)でエンベロープをハードウェアでは無く自力でやりたい場合、
SOUND1CNT_Hのbit12-15をいじって、
SOUND1CNT_Xのbit15を立てて初期化するしかないのでしょうか?
これだと発音中の波形の状態も最初に戻ってしまうらしく、
音が自然にならないので困っています。
何か良い方法をご存知の方はいらっしゃらないでしょうか?


728 :
その方法しか無いがチャンネル1と2は必ず発音がリセットされるので実質使えない
チャンネル3はリセットされないからソフト制御可能

729 :
GBAのスペックに
サウンド:アナログ(パルス波2ch+波形メモリ1ch+ノイズ1chの音源、従来機と同様)+デジタル(PCM)2ch
ってあるけどこれと同時発音数は別の話だよね
もっと沢山鳴らしてるようなメガデモはあるし、実際は何音までなんでしょ

730 :
それで全部だけど?

731 :
では同じトラック三つコピペして全部違うPCMにしても
音切れがないのはどういう仕組み?

732 :
>>731
複数の音をリアルタイムに合成すればいいんじゃないの?


733 :
自分でPCMと書いてるじゃん・・・

734 :
デジタル(PCM)2chって書いてあるけど
合成すればいいってんなら何音まで?

735 :
>>734
好きなだけ重ねればいいんじゃないかな。
あとは処理時間を見て4音や8音などに制限していくとか。
「GBA PCM 合成」でググってみるといいかもよ。


736 :
>728
うへぇそうなんですかorz レスありがとうございます。
こんなキッツイ制限があるのにGBのゲームには一杯名曲があるというのが信じられません。
というかFCよりもキツイですねこれは。
FCミニとか、エミュレーターとかも結構苦労して再現してそうですね。


737 :
Raylight Studios - Resident Evil GBA + Bonus
http://jp.youtube.com/watch?v=DBHNtTNPzV0


やっぱ出なかったのは容量の問題かな

738 :
すげえな

739 :
GBAよりスーファミの方が開発意欲がそそられる


740 :
devkitProを使ってみようかと思ってるのですが、
コレを使ってGBAソフトを作ってネットで配布する場合、
ソースも配布可能にしなきゃいけないのでしょうか?


741 :
ライブラリを改変しなければ配布しなくてもよかったと思います。

742 :
>>740
ソースクレクレ厨が出てきたら、改変して売りつける悪質な業者だと思ったほうがいいよ
配布には十分注意しる

まぁ、GBAだからもう居ないと思うけどね・・・

743 :
>>741
そのまま組み込めば、配布しなくてもOKって事ですか、分かりました。
教えていただきありがとうございます。

>>742
配布しなくちゃいけなくなった場合に、そういう輩も出てくるんじゃないかと
懸念していたのですが、どうやら大丈夫みたいですね。

744 :
>>50
サイト消えてる・・・

745 :
海外ソフトの和訳ハックとか作れますか?
もし可能性が少しでもあるなら頑張ってみようかなと・・・
予備知識ゼロだけど・・・orz

746 :
GB伊次郎ってどっかで手に入らないものだろうか…

747 :
>>746
GBXchangerと任天堂パワーのGB用カートリッジがあれば、似たようなことができると思う

748 :
それが手に入れば苦労はしないっての…

749 :
この手のものは時期逃すと手に入りにくいからなあ・・・
数年前なら、数少ないが売っている店はあった

あとは今あるとしたらオークション

750 :
ヤフオクで1点だけ見かけた

751 :
GBのマジコンって今でも需要あるんだね
KOMAKUYAはもうスターターキット出さないのかな

752 :
void line(hword Xa, hword Ya, hword Xb, hword Yb, hword color) {
 hword x, y;

 int j = Ya;
 int e = 0;
 for(x = Xa; x < Xb; x++) {
  draw_point(x, j, color);
   e = e + (Yb-Ya);
   if((Xb-Xa)< e) {
    e = e - (Xb - Xa);
    j = j + 1;
    }
   }
  }

このメソッドがどのように動いて斜線を引いているか分かり易く教えていただけないでしょうか?

draw_pointメソッドは指定された(x,j)座標にcolorで指定した色のドットを表示するメソッドです。
斜線の範囲は(Xa, Ya)から(Xb, Yb)です。

753 :
void line(hword Xa, hword Ya, hword Xb, hword Yb, hword color) {
 hword x, y;

 int j = Ya;
 int e = 0;
 for(x = Xa; x < Xb; x++) {
  draw_point(x, j, color);
   e = e + (Yb-Ya);
   if((Xb-Xa)< e) {
    e = e - (Xb - Xa);
    j = j + 1;
    }
   }
  }

このメソッドがどのように動いて斜線を引いているか分かり易く教えていただけないでしょうか?

draw_pointメソッドは指定された(x,j)座標にcolorで指定した色のドットを表示するメソッドです。
斜線の範囲は(Xa, Ya)から(Xb, Yb)です。

754 :
ブレゼンハムでググれ
こんなところで聞くよりいい解説がどこかにある

755 :
デジタル微分解析(DDA)でググ・・・ったら余計わからんくて俺が吹いた

756 :
厳密に考えるとやっかいなところは多々あるが
2Dで直線や多角形描くぐらいならただの差分方程式だろ

757 :
GBAで1〜10までのランダム値を取ろうと思ったらどうすればよいのでしょうか?
rand()は使えませんよね

758 :
>>757
rand() % 10 + 1

…ってスレ違いだね。
プログラミング初心者向けのスレに行くといいよ。

759 :
Homebrew BOF

ゲーム機など開発環境が公開されていないハード、及びマイナーハード開発者の集いを企画しています。

日時:コミケ(12/28-30)前後 当日なら17-19時くらい + 宴会
場所:東京都区内
費用:会場実費(0-数百円?)

たぶん日本全体で100人もいないんじゃないかと思いますが、
コミケで上京する人もいるでしょうからその時期を予定しています。

http://www27.atwiki.jp/homebrew/

マルチすまん


760 :
age

761 :
おtingting

762 :
マジキチ動画(ββ)

763 :
GBAでMP3を再生する方法を教えてください

764 :
市販プレーヤー買った方が手間取らない

765 :
プレイやん

766 :
サウンドプレイヤーを自作したいと思っています。20曲程入れたいんですが何らかの形で圧縮して組み込みことが必要だと思うのですがどうしたらいいですか。

767 :
PCでそのプログラムは作ってみた?

768 :
PCではDXライブラリを使えばMP3の再生ができるので作れることが分かっています。

769 :
じゃ、DXライブラリ使わずにmp3再生できるように頑張れ

770 :
じゃあ脳内再生しかないな

771 :
GBAの性能じゃmp3プレイヤーは厳しくないか?

772 :
DMA1&2とTIMER0&1を使って、ダイレクトサウンドA&Bで同時に音を鳴らしたいのですが
片方しか音が鳴りません。
VBAのIOViewerでFIFOが変化しているのは確認したのですが
何も音がしない理由としては、どんな事が考えられますか?
SGCNT0_H(0x4000082)
SGCNT1(0x4000084)
の音量他もちゃんと値が入ってます。



773 :
本当に値が正しいなら
あとはVBA側でDirect Sound A,Bのどちらかがオフになってる位しか無いな

774 :
レスありがとうございます。
VBAの設定も間違いなかったみたいです。

あれから色々試してました。
実は多重再生の為に、FIFOにコピーするバッファはサウンドデータと別にしていて、
TIMERのハンドラ内で手動でDMAを使ってFIFOにコピーをしてました。
鳴らないのはダイレクトサウンドAの方(BGM用)で、
ダイレクトサウンドB(効果音用)が鳴った時に何故かAも鳴ったので
調べてみると、効果音用のTIMER1が動くと鳴ると解りました。
とりあえず、AとBのFIFOコピーにどちらもTIMER1を使用することで一応解決しました。
タイマーを分けると鳴らなくなる理由がわからないままですが。
もしやDSOUNDCTRL(0x4000082)以外にも、
TIMERとダイレクトサウンドを関連付けるレジスタがあるのでしょうか?


775 :
原因が解りました…。
DSOUNDCTRLの初期化にor演算子しか使っていなかったこと
(タイマーを指定するのに、DSOUNDCTRL |= DSOUNDCTRL_ATIMER(0)としかやってませんでした)
自分の使っているgba_sound.hのDSOUNDCTRL_ARESETが
0x0400と定義されていた事(実際は0x0800。0x0400はタイマーの指定に使用)
が原因でした…。
お騒がせしてしまってすみませんでした。


776 :
GBAとかファミコンは開発環境が強力じゃないから
そういう所でハマっちゃうと、抜けるの大変だよね

777 :
GBAではないですが、GBCの板が見当たらなかったので試しに書いてみます。

ttp://nagasaki.cool.ne.jp/xor-a/

ユーザーアプリがロッピーとかで配信出来たらなぁと思うのは愚痴ですが。


778 :
GBCの板は昔あったんだが、過疎すぎて落ちちゃった

VCとかに配信できたら面白そうだけどね>自作ゲーム

779 :
今まではメインループの始めにV-Blankを待って、それから各処理を行っていたのですが、
開発が進むにつれてV-Blank中だけじゃ処理が間に合わなくなってしまいました。
そこでゲーム処理と描画関係の処理にわけて

while( V_COUNT != 0 ){}
GameProc() ; // ゲーム処理
while( V_COUNT < 160) {}
GraphicProc() ; // 描画関係の処理

と、二つに分けてやる事にしました。
表面上はうまく動いているように見えるのですが、
こういう事をやってしまっても大丈夫なのでしょうか?

780 :
分けること自体は問題ないけど
ゲーム処理でV_COUNT != 0を待つ意味は無いよ
描画が終わったらすぐに処理を始めていい

while( V_COUNT < 160) ;
GraphicProc();
GameProc();

781 :
>780
おおなるほど。
確かにそうした方が処理時間をより多くさけますね。
レスありがとうございます。

782 :
ここってまだ人いますかね……

自分で作ったプログラムをPogoShellから起動する場合,「終了してPogoShellに戻る」
という機能をつけると便利だと思うんですが,やりかたがさっぱりわかりません.
どこで調べればいいのかご存知のかた,教えてくださいませ.

783 :
Pogoshell resetでググってみた。

ttp://boards.pocketheaven.com/viewtopic.php?p=52627&sid=a2b1ee533e1a9b52029d305b2c611034
になんか書いてあるような気がする。

あとは自分でガンバレ

784 :
カートリッジのバンクセレクタを元に戻してswi 1, swi 0の順でリセットかければおk
Visoly系(F2A)とEZ/XG-Flashはlibpogoのrestart.Sを使えばいいよ

785 :
おお,回答ありがとうございます.
リブート自体はbiosコールでできるのかなとは思ってたんですが,
バンクセレクタ云々というのが俺がよくわかってない点のようですね.

F2Aを使ってるので,とりあえずrestart.sを見てみます.
実はC言語しか知らないので時間がかかりそうですが.

786 :
圧縮した音楽ファイルはどうやって再生すればいいのでしょうか。wavじゃサイズ大きすぎる。

787 :
何で圧縮した音楽ファイル?まずはそこからだけど。
mp3は再生できないよ。

788 :
そもそも、サンプリングされた音の再生がGBAじゃ無理だと思うんだが
スペックが足りない

789 :
それはさすがにGBAなめすぎ。
44kHzで16トラック合成出来るくらいのスペックはあるよ。

790 :
>>786
> wavじゃサイズ大きすぎる

というのはちょっと理解が足りないと思います。
wavやaviは単なる入れ物なので、中身が問題。
多分、PCM(非圧縮)のことを言ってるのですよね?

同じwavでも中身がmp3だったりADPCMだったりするならサイズは小さくなります。
IMA ADPCMなら約1/4になるし、デコード処理も軽いのでオススメ。
また、Windows付属のサウンドレコーダーでデータが作成できるので手軽。

http://wiki.multimedia.cx/index.php?title=Microsoft_IMA_ADPCM
http://wiki.multimedia.cx/index.php?title=IMA_ADPCM

が参考になります。
wav内での格納形式は前者のURL、デコード処理は後者のURLを参照して作ってください。
データはwav内のブロック単位で処理し、ブロック内でデータは完結します。
デコード処理はURLに書かれている4行の処理が全てです(最適化についても書かれていますが)。

また、sox等のソースも参考になります。

791 :
効果音の周波数って、どれくらいが良いんでしょうか?
アクションゲームを作っているのですが、
現在8000kHzで同時再生させる為に自力合成で結構処理が重いです。



792 :
77.8MHzがオススメだよ。

793 :
>>791の8000kHzは8000Hzの間違いでしたw
>>792
77.8MHzという事は77800000Hzですか。
8000Hzでヒーコラ言ってるので自分では無理っぽいですね。


794 :
>>792
ZIP-FMか!

>>793
ネタをネタと(ry

795 :
なん・・・だと?
出来るかわかりませんが市販のゲームを調べてみます。


796 :
8kHzくらいで重くなるってことはほとんど無いから
なにかやり方間違ってるんじゃないの?
DirectSoundからサウンド要求があるたびに割り込んでたりとか

797 :
やっぱり8000Hzは低い部類になるって事ですね。
現在は、合成用バッファを1フレームで消費する量の2倍確保して、
前半を再生中なら後半に書き込み、後半を再生中なら前半を書き込む処理を
1フレームに一度呼び出す方法を取っています。
2チャンネル同時再生するとHBlankの数値が30弱くらいの重さです。
やっぱり何かやり方が間違ってそうなので、ソース見直して見ます。


798 :
重いというからどれほどかと思ったら2音合成でHBlank30ライン分か。
チューニングしてなければ、それくらいはいくかもね。

軽くポイントだけ。

7884Hzにしろ8121Hzにしろバッファのサイズは4の倍数なのでループを4回分展開出来るな。
10512Hzだと16の倍数になるから、16回展開出来る分更に速いかもしれない。
どっちにしてもDuff's Deviceを使えばいい。
効果音は1フレーム単位のサイズに揃えれば、終了判定は毎フレ1回/チャンネルに抑えられる。

これをやった上でそれ以上速くしたかったら、既成のライブラリを検討した方がいいかもしれないよ。

799 :
void mixAudio(); // プロトタイプ宣言
void mixAudio() { ... } // コード
があるとして
void mixAudio() IWRAM_CODE;
IWRAM_CODE void mixAudio() { ... }
にして、そのソースを-marmでコンパイルするだけで、おそらく負荷が1/3になる。

手元で軽く組んでみたが馬鹿正直に作って2チャンネル合成でHBlank30弱だったのが
IWRAM_CODEにしたら10弱になった。

800 :
>798
ループの展開…?forループを全部べた書きするという事なのか…?と思いつつ、
「Duff's Device」というのを知らなかったのでググって見たのですが、
これは凄いですね。こんな方法は自分では絶対に思いつかないです。

>799
わざわざ検証して頂いてありがとうございます。
IWRAM_CODEという存在は知っていたのですが、
効果音再生よりも重い処理があったら困るので、
これは最後の切り札にしようと思ってました。


801 :
ループで成り立っている高負荷な処理は、切り札と言わず全てIWRAM_CODEにすればいいよ。
ぶっちゃけループ展開はする必要ない。
俺はPCM合成の他にアニメーション処理や当たり判定をIWRAM_CODEにしてる。

802 :
This guy was lying in bed, tossing and turning and groaning, and finally he sits up, opens his mouth, and shoots a six-foot flame across the room. ,

803 :
300

804 :
懐かしいなぁ
毎日このスレチェックしてたよ

805 :
RTCの使い方がよく分からん

806 :
>>805
http://nocash.emubase.de/gbatek.htm#gbacartrealtimeclockrtc
を見ると、普通の3線シリアルのRTCが汎用I/Oポートに繋がってるだけみたい。

http://nocash.emubase.de/gbatek.htm#gbacartioportgpio
に書いてあるが、bit0からSCK, SIO, CS。
使わないと思うが、IRQも繋がっているのでアラーム割込みも使えるっぽい。

SII S-3511のデータシート
ftp://ftp.sii.co.jp/pub/ic/old_dtst/old_dt_j/realtime/S3511A_J.pdf
のタイミングチャートを参照し、ポートをパタパタと制御すればよい。
でも、AC特性は3Vと5Vのどっちなんだろうね…
遅いほう(3V)のタイミングで作ればどっちでも動くけど。

807 :
>>805
ソースあった
http://www.brolinembedded.se/projects/gba_rtc/
rtc.cを読んだ感想。マクロ使えよ…

808 :
>>806-807
ご親切にありがとうございます。

割り込みは使わないからrtc.cをそのまま使えば動きそうです。ありがとうございます。

809 :
それGPLだからな
それ使ったものをどこかで公開するときは一緒にソースも配布するようにしろよ

810 :
そのままで動かなくて苦労したけど
最終的には出来ました
本当にありがとうございます

811 :
エミュレータで動くのに実機や
実機BIOSで動かしたエミュレータで動かないって
どうゆうことなの?

812 :
ヘッダに適切なデータが入っているかチェックして、無ければ動かないようになってる
そのデータはdevkitARMに同梱されてるgbafixで埋めれ

813 :
thx
分かりました。

814 :
GBAって単純に考えればSFCの2〜3倍くらいのスペック?

815 :
CPUだけでも軽く8倍以上はある

816 :
>>815
謙虚だな。

817 :
理論値高くても実際に出たゲームはSFCに毛が生えた程度だったな


818 :
wikiにはsfcと同程度って書いてあるけど詳しくないからよくわからん
はやくgbaで作ってみたいなー

819 :
>>815
×CPUだけでも
○CPUだけは

CPU以外はそんなに違わないと思う。
既に完成された形。

>>817
ゲームの面白さは画面の派手さ等とは関係ないし、
無理に派手にするのは違うと思う。
それに携帯機器なので、消費電力を抑えるのもメリット。

820 :
派手さとか関係なくGBAはその程度の性能ってだけ。

821 :
>>819
スプライトが回転できて、回転BGも2面まで使えるから
そのアドバンテージだけで4倍相当くらいはあると思ってるんだけどどうよ?
画面の狭さで2倍に戻るが

822 :
>>821
うーん使いどころが…
その機能を有効に使って面白いゲームを作れたら凄いんだが。

823 :
GBAってムービー使ったりROM丸々容量使ってアニメ一話分のソフト出したり
SFCより性能が上とパッと見分かるのってそれくらいだろ

824 :
ゲームボーイアドバンスSPの内蔵充電池をNDSで使うことは出来ますか?


825 :
>>824
リチウムイオン電池は危険だから、そういう変なことはしないほうが身のためだよ。

826 :
SFCよりは当然性能いいけど
SFC末期みたいに性能フルに使うって感じは無かったから
中途半端なハードになっちまった

827 :
DSとPS1ってポリゴン数以外は似たようなもん?

828 :
アーキテクチャ的に全然違う

829 :
これ見てよ↓
http://livedoor.2.blogimg.jp/agomesu/imgs/5/8/58ff257e.jpg
ばらまこうぜ!


830 :
ネトウヨは巣に帰れよ
どんだけ貼ってんだよ

831 :
お前こそ祖国に帰れよ

832 :
 某教授より         l                 \
          /            ノ´⌒ヽ,,   \
| し な 間 〉 //     γ⌒´      ヽ   \      は
| ら っ に |/ l    // ""⌒⌒\  ) <   辞
| ん て あ   /    i /::::::::: \  /ヽ )_/   め   や
| ぞ も わ    |>    !:::::::::::(・ )` ´( ・) i/\    さ
| |   な   |`/\  |:::::::::::::::(__人_)  |   \  せ    く
っ   |    く    |/ / l´,.-― 、:::::「匸匚|'  |――/   ろ
!!!! |        \ ', /  /`7-、|/^⌒|  /// /        俺
           lT´ {  /  /  ト、_ノ _'// /    !!!!!  
          l´ ヽ、 > ー    ,/ |ニ.ノ  /_        を
              i``` 、/ }    ',,,..'  |-'´,- '´ ̄/ ヽ∧  ____
           \/ ' \_  `´ノ7l´   /    // ヽ lヽ
         / ̄ |      ̄ ̄/ ノ L_/      ★  U |
        /   ヽ      /`ー´  /l               |
 

833 :
ケーブルって今手に入らないのかよwww



834 :
F2A USB LinkerかF2A USB Link Cableなら手に入ると思うぞ
ブートケーブルと中身一緒だから同じように使える

835 :
>>834
thx! 今度秋葉行った時探してみる。


836 :
どうしてもブートケーブルじゃなきゃ駄目な理由があるならともかく
探すならF2Aだけじゃなくて他のマジコンも視野に入れたほうがいいよ

837 :
関係ないがFC、GB、GBC、GGって性能面でどういう順序なん

838 :
FC据え置き GB GBC GG 携帯ゲーム機
FC GB GBC 任天堂 GG セガ
登場時期 FC 。。。GB GBC=GG

FCとGBがほとんど同じ性能
表示能力はGBのほうがはるかに劣るけど音源が同じだし、CPUが同じ8BIT
FCとGBCが表示能力も同じ程度かな
画面の解像度はGB GBCのほうがはるかに狭いけど
登場時期からしてGGはGBCと同じ程度の能力じゃないの?

839 :
DS開発スレ無くなったね

ここも2009年から更新無し。ダウンロードもリンク切れ
ネットアーカイブにも一切情報無し
http://www.gbadev.org/index.php

840 :
DSは今はプチコンでお手軽にプログラミングできちゃうから需要もないのかなぁ・・・

841 :
http://hackaday.com/2010/03/18/arduino-based-multiboot-cable-for-game-boy-advance/

Arduino based multiboot cable for Game Boy Advance
March 18, 2010 By Mike Szczys 20 Comments

[Steve] wanted to do some ARM development and set his sights on the Game Boy Advance as a development package.
In order to get his code onto the device he build an Arduino-based communications cable.

842 :
久しぶりに検索してみたらIDEまで出来てるんだな
devkitPro
ttp://sourceforge.net/projects/devkitpro/files/Automated%20Installer/

Doc.1 devkitPro(開発環境)のインストール
ttp://akkera102.sakura.ne.jp/gbadev/index.php?doc.1
ttp://akkera102.sakura.ne.jp/gbadev/index.php?plugin=ref&page=doc.1&src=clip_3.png

843 :



844 :

ぐ、途中書き込みしてしまった。
テスト段階だけど自分で作ったGBAソフトが想像したものより若干しょぼく見えるとかなり凹むよね。
あー・・・まるで製品みたいだなって言われるくらいクオリティ高いゲーム作りたいわ・・・

845 :
わと

846 :
test

847 :
最近1から勉強し始めたが
bx命令でThumbのまま任意のアドレスに飛ばす場合は
実際に飛ばしたいアドレスに+1hしないとだめで+分は勝手に調整されるのか
これがわからずにちょっと困ってた

848 :
勝手に調整はされないはずだよ
bx r0なら
r0に飛ばしたいアドレス+1hしないと
ARMなら別にしなくていいけど Thumbは必須 のはず

849 :
BGAってなんかこう、ちょうどいいよな
画質とか音質の微妙な古さがな

850 :
GBAで他機のゲームを動かせるなんて知らなかった。
まだアレが来てないから試してないけど、動くけど音が出ないと言うSFCがかなり惜しいね。
しかしPCEが動くんだとしたら驚異だよな。
PCEのゼビウスやサーガイアが遊べるなら昇天するぜ。

マリオスキンや日本語パッチがあるというから年末年始は楽しみだ。
もともとはアドバンスでファミコンが動くというから買ったんだけど、
調べたらそれどころじゃないみたいなので驚いている。

851 :
アドバンスでMDが動くとどこかで読んだんだけどそら耳だったのかな。
PCEAdvanceは見つけたんだけど、どこを探してもMDロムを
GBAロムに変換するものが見つからない。

852 :
!!毎日勝手に稼げる方法!
http://goo.gl/6qmuTb

853 :
かなり遅そうだよね
pceの動作周波数が7.5メガヘルツ、GBAが17メガヘルツくらいだっけ
わずかしか能力差が無いし画面更新とかも少なくなりカクカクしそう
画面解像度も縦方向が足りないから文字とかは化けるのでは
ファミコンも意外にも縦に解像度が高いんですよね

854 :
ファミコンとマスターシステムが全画面で動くだけで驚異、幸運。
全画面でGBをやりたいときはカートリッジを挿して遊ぼう。

855 :
初代かspならクロックアップ改造すればPCEはいけるんじや?

856 :
そのクロックアップの方法を書いた人は主にアドバンスのポケモンシリーズを動かそうと
したようだけど、アドバンス用のソフトなのに普通に動かないのかね。
何のために速くさせようとしているのだろう。
PCEのゲームは起動さえもできなかったから速度を上げてもだめなんじゃないかな。
SMSとSG-1000、アドバンスソフトとファミコンが全画面でできるというだけで奇跡だと思っておこう。

857 :
>>856
いやPCEは音無しなら実機60-70%位で動くよ
ゲームによるみたいだけど中には実速?って思うものまである
2倍まではoc可能らしいから
普通に遊べるレベルになるんじゃない

858 :
DSでも動くゲームが少ないって書いてる人がいるようだからやめておいた方がいいんじゃないか。
買ったばっかりだしあまりゲーム機を分解してまでどうのこうのしたくないな。
ハンダ、というだけでなあ。。。

859 :
マジコンは何使ってる?
スパカならエミュが搭載済みだから変換無しで手軽に動作確認できるよ
試してみるとわかるが結構動いてる
もしかして変換ミスってない?
それとDSのGBAモードはエミュじゃないはず
GBAより能力が高いわけじゃない

860 :
EZ-Flash4というものだよ。
マリオローダー1.77で動かしてる。
変換ミスか。
あとで調べてみるよ。

861 :
>>860
究極タイガー、源平、達人、忍者ウォリアーズ、ゼビウス、ギャラが88、あとカトケン
この辺りは体感だけど90%レベルで動いてるよ
十分遊べるレベル
かなりゲームによるはず
ちなpceadvanceで
EZ4でもイケてる

862 :
>>861
ゼビウスファードラウトとカトケンとギャラガ'88を変換して起動させてみたけど
読み込んだ後黒い画面のまま何も起きないね。
ただLR両押しでメニューは呼び出せます。
PCEAdvance_ROM_BUILDERを起動させるとHacks file not.It should be 'F:\ドキュメント
\GBA用エミュレーター\PCEAdvance\neshacks.txt'
とメッセージが出てOKボタンが出るけどとくに関係ないよね。
ROMsにPCEファイルをドラッグドロップしてBuildを押して名前を書いて出す場所を確認して
それでgbaファイルができるんだけど問題ないよね。
確かにgamelistにはいろんなゲームが動くと書いてあるのにおかしいと思っていた。
GBA用エミュの紹介ページにも「Good!!」が出ているから動いてもおかしくないんだよな。
もう少しいろいろやってみます。
それクロックアップ後の話しじゃないよね。

863 :
>>862
もちろんオバクロ前です
一通り変換したのが第分前なんで詳しく覚えてないんだけど
かなり調べてるみたいなんで手順は基本間違えてないんでは?
エミュとファームのverが相性悪いとか?
いずれにせよタイトルでないのは変換したファイルに問題がある

864 :
普通のアドバンスでPCEゼビウスできるなんていいな。
Lボタン押しながら起動させてリセット版ローダーで起動しようがセレクト押して
NORだかに書き込んでから起動させてもだめだ。
PCEAdvance V7.5以前のものはどうも入手できないみたい。
でも遊べている人がいるようなことはわかったよ。
ダライアス+も良好に動くという書き込みがあるし悔しいね。
いろいろ考えてみる。

865 :
おう、頑張ってくれ
と言いつつ開発板だからいう訳じゃないが
最近はハックマリオと自作ゲームばかりやってる
探すとかなりオモロイのあるよ

866 :
PCEの人はうまく行ったのかな?

867 :
まだ動いてないよ。
ゼビウスとダライアス+。
今度新しいPC買ったらそっちでも変換してみる。
けっこう動いたりしてな。

868 :
SFC変換して動かしてみたが
スト2のリュウのダッキング?が終わらないw
まあ動くだけで十分すごいんだが

869 :
新しいパソコンが来たからPCEAdvanceを起動させようとしたら
Componen't comdlg32.ocx or one of its dependencies not correctly
registered: a file is missing or invalid
とエラーが出て使えなくなってる。
どういうことなんだろうなあ。

870 :
PCEAdvanceのような変換ツールもOSに対応していないから
開けないということもあるんだろうな。

871 :
>>869
ランタイムがインストールされていないだけのように見える。
PCEAdvanceはVB6.0製なのでVB6ランタイムがいるよ。
http://www.vector.co.jp/soft/win95/util/se063979.html

872 :
>>871
ランタイムの情報をありがとう。
さっそくインストールしたらすぐに起動できましたが、できたファイルをGBAで
起動させるとフォーマットエラー、というメッセージが出ます。
前は、読み込むものの、黒い画面のままで、メニューは呼び出せました。
Xevious - Fardraut Densetsu.pce
Darius Alpha.pce
Galaga '88.pce
この3つですが、もう少しいろいろやってみたいと思います。
この3つは本当に音が出て遊べるのでしょうか。

873 :
ランタイム入れてもダメですか
俺はxpでやったけど関係ないよなー
質問のゲームですが、
fps表示が数字つぶれるんであくまで音声とかのずれ考えての体感ですが
ゼビウスは100%出てるんじゃないかと
ギャラガは80%位?時々間延びする印象でしょうか
ちなみにv7.5です
がんばれ

874 :
やっぱりその変換ソフトが作られたOSというのが鍵のようですね。
おれの持ってる古いOSはVistaだからその辺いろいろとありそうだ。
XPを持っている人と知り合いになりたいね。

875 :
PCEAdvanceはきっとXPで制作されたからXPで変換ソフトを使う方が
うまくいくと考えるのが妥当だね。
そういう兼ね合いもあるんだな。

876 :
おれもVMware上のXPで変換しましたね
>>872
FPS表示がつぶれるんで音のずれとかの体感ですがPCEadvance v7.5で
ゼビウスはほぼ100%
ギャラガは80%程度?たまに間延びする感じがする程度でしょうか
ダライアスはやった事ない
音なしならかなりのゲームがそれなりに動きますよ

877 :
秋になったらいろいろ考えてみるよ。
XPが置いてあるネットカフェを探してSD一式持ってGO!
しかないかな。
こういうことに関してはやる気出るよ。

878 :
PCEAdvanceってCD-ROMソフトを起動できるようなファイル入ってるんで
試しにイース1.2を起動しようとしてんだがうまくいかないな
できた人居るか?

879 :
>>878
PSPのエミュでもCDは無理なんだからできないんじゃないの?

880 :
PSPはできるよ
ファイル変換したりリネームしたりで結構面倒だけど
PCEAdvanceでもできるんだっけ?初耳
でも音声ファイルとか再生っできるの?
Huカードでも結構重いのあるから実用的ではなさそうだけど

881 :
PCEAdvanceはCD音源のファイルは再生できないと思う
エミュ本体と付属のファイル(tcg)とCDに入ってるゲームのデータ(イースならTrack02.iso)を専用のbatファイルでくっ付けるんで音声ファイルは含まれない
一応batを編集してcopy /b pcebuild.gba+Ys(J).tcd+Track02.iso tuff.gbaというコマンドにはしてあるんだが何度試しても砂嵐しか表示されない・・・
ダウンロードはここ
http://www.emutopia.com/index.php/downloads-emulators/item/285-nec-pc-engine-turbografx/334-pceadvance

882 :
やっぱりXPにて変換すればmsxやpceもアドバンスで動くような気がする。VMWareというのを調べてみよう。

883 :
やっぱりXPにて変換すればmsxやpceもアドバンスで動くような気がする。VMWareというのを調べてみよう。

884 :
仮想OS!
あるOSにて違うOSを起動させることができるのか。
そういうツールを作っている会社があるのか。
また金がかかるんじゃないだろうな。
パソコンが壊れるような使い方だ。

885 :
おお、ごぶさたです
まずパソコンが壊れたりはしない
多少スペックはいるが今の普通のPCなら問題なく動くと思う
XPのアカウント持ってたら金はかからないよ
win7のpro持ってたらXPmodeでXPが使える
ただwin標準のXPモードは遅いうえ一部ドライバが入らなかったりとか使い勝手が悪いん
で、そのイメージをVMware用に変換できるツールとかもある
今はvirtualBOXの方が情報は多いかもしれんので調べてみては?
862さんであってたら自分で調べてそれだけのことができるならたぶんハードルはそんなに高くない
個人的には出所のわからないゴニョゴニョなアプリを使うときとかに仮想PC側で試したりしてる
イメージをバックアップ取っておけば(ファイルは馬鹿でかいけどw)、なんかあっても元の状態にすぐ戻せるし重宝する

886 :
>>885
情報ありがとう。
ゆっくりと、やってみるよ。
調べてみる。

887 :
がんばれ
そういや書き忘れたがMSXやX1はできる事はできるけど画面が圧縮されてまともに文字が読めないのでADVゲームが致命的で実用的じゃないかも
FCではシナリオ改変されちゃったJESUSの原作やりたくて変換したけどさっぱりだった
MSX無印では思い入れのあるアクションは無いのでその後は全くやってないけど
よほど思い入れないと大抵のゲームは移植度はファミコン以下の場合も多いので意味ないかもよ

888 :
MSXはミクロでうまくいったと書いてる人がひとりいるくらいのようだからな。
GBA、GBASP、ミクロ、でCPUの違いでもあるのかな。
これがなかなか書かれていないんだよな。
ゼビウスが(音ありで?)動くという書き込みもあるから頭の隅に置いておくよ。

889 :
そうなのか
MSXはどうだったか忘れたけど(よく考えたらやってなかったかもしれん)
X1はgbaに変換する前にディスクイメージを結合する際、結合するツールによって失敗する場合があったと覚えてる
最終的に何を使ったか覚えてないんだけどその原因もあるのかね?
どっちから変換できるのか知らないけどディスクイメージとロムイメージ変換のツールの違いとか

890 :
Windows 10 に別用で DirectX エンド ユーザー ランタイム というのを入れたので、
MSXAdvance で Super Cobra を変換してみたけど動かなかった。
やっぱり本物のXPじゃないとダメなんじゃない。
仮想OSとか恐すぎるわ。

891 :
饅頭怖い

892 :
すごいカスタムオーダーを受け付けているところがあるらしい。
音質を向上させる GBAmp3 という基盤がスゴい!
説明が外国人なところもいいな。
http://ton-chi-ki.blogspot.jp/2016/07/built-to-order-gameboy-advance.html

893 :
仮想OSというのよりかは、例えば MSXAdvance だったら、右クリックから
「互換モードでこのプログラムを実行する」で、XPで実行してみるのと同じことなのかね、
仮想OSというのは。
互換モードはアプリによって7だったりXPだったりと、ソフトごとに表示が違うことから、
そのプログラムが何のOSで製作されたのか、パソコンは把握してるのかもしれないな。

894 :
age

895 :
ttp://catskull.net/GB-Logo-Generator/
ゲームボーイの起動ロゴが作れるらしい奴

896 :
>>895
そのページで起動ロゴを作ったら何で見るの?
GBCなんかで見られるの?

897 :
動かないな。どういじればいいんだろ

898 :
http://www.dotup.org/uploda/www.dotup.org1184429.png

899 :
ゲームラボ休刊だってさ
いろいろ言われる雑誌だったけど楽しませてもらいました
CSのアングラ関係知ったのはあの雑誌だったな
ここも完全に過疎っちゃったけど
GBAのマジ○ンは単なるコピーゲーム起動じゃないすごい可能性を秘めたハード?だったとおもう
こっちも楽しませてもらいました
やすらかに

900 :
保守

901 :
リベラル

902 :
パヨパヨチーン

903 :
チップチューン

904 :
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

GWSJ9AAD72

905 :
M3のGBA expansion pack の SRAM領域 (1MB)
へのアクセス方法の資料とかってどこかにないですか?

906 :
書き込めるのかな?

907 :
Raspberry Pi Zero (W) というのがあるらしいけど、なんでもこの写真通りアタリの
ゲームもできるのかね。
https://1.bp.blogspot.com/--1oKplzLI20/WSY90rHy6FI/AAAAAAAALM4/oPnIfnbaBocPUccKB2hriqhpxqALpoenACLcB/s1600/retromodding_05.jpg
テレビにも出力できるらしい。
あとはGBAのブルートゥース化とかなんとか。
ここを読んでいる人で使っている人はいるのかな。

908 :
GAMEBOY zeroじゃなくて?
初代ゲームボーイのボディにラズパイ入れたDIYは結構前からあってレンズやボタン部の基盤やら専用パーツもある
ラズパイエミュだからアタリどころかPSも動くはず
ただし自作はハードルがバカ高い
ebayとかで完成品売ってる人もいる

写真はその亜流かな?

909 :
>>908
Gameboy Zero Raspberry Pi というのを売っているね。
これってプレステをGBでできると考えてもいいものなの?

910 :
>>909
ラズパイで作ったエミュレータマシンをゲームボーイの側に入れる改造だからエミュ本体を自分でインスコすればpsまでなら実速どおけ
ただしボタンが足らないから自分で改造プランを練らなきゃならん
スーファミまでにしとくのが無難

911 :
ちなみにそれらはどっちもケースを利用してるだけだから中身はGBGBAとは別物
アケゲも動くのはある
素体はせいぜいボタン回りの基盤を使う程度
携帯機に限らす据え置きなんかもオリジナルのボディに納めたラズパイエミュ機を個人やサークルレベルの会社が世界中で売ってるので探すと面白いかも

912 :
超今更だがマルチブートローダーを作ってみている。とりあえず起動できたので今度は本体側のプログラミングで通信とメモリの読み書きか
類似の機能を持つ既成のROMイメージはあるようだけど通信プロトコルなどの技術資料付きのは見あたらないんだよなぁ

913 :
もはや誰もいないのか

914 :
帰省の道中の暇潰しに久々にミクロとslot2マジコンを持ち出した
新幹線で隣に座った人がめっちゃ除き混んでたわ
ごめんよ
やってたの自作ゲームだから覚えは絶対無いとおもうわ

915 :
>>912
気になってるので成果報告もとむ

916 :
>>915
開発環境の構築が進んでいないので今のところ進展無し。特にリンカ周りの情報が少ない

917 :
Pocketnes などで EZ-Flashを使って遊ぶときの質問はここでいいのでしょうか。
前はEZ-Flashのスレがあったと思いましたがなくなっているようです。

918 :
EZ4 で検索したら出ました。

919 :
みんなの自作ROM遊んでみたいのに、後悔してる人少ないんだなぁ・・・。dlサイトとかで販売してほしい。

920 :
ROM不要、シリアルブートで遊べるよさげな作とかあれば自分も知りたい

921 :
ロムってフラッシュロム?
sdのマジコンで普通に動くのばかりだよ

922 :
そうじゃなくってWRAMのみで動くという意味
オンボードメモリといえども2Mbitあるんだからそこそこの物になるはずだ

923 :
まだあったんかこのスレ

924 :2020/05/15
ホッシュホッシュ

◆◆フリーの最強3Dツールgmaxを使おう!◆◆
【Basic】プチコン4総合スレ【Switch】PRG1
ポケットモンスター赤
DXライブラリ 総合スレッド その19
作業じゃないミニRPGを作ってます
初心者が3Dゲームを作るスレ
Blenderで3Dゲーム作ろうぜ
gamdev.orgが落ちるたびにあげてみるスレ
ドラクエみたいな電脳空間RPGみたいなMMORPG
スケジュールに合わせてRPGの設定を考えるスレ
--------------------
「田村ゆかり バースデーイベント2020」中止のお知らせ
棋士達は藤井聡太の出現をどう思ってるわけ?
【open up】セダスSedus【work assistant】3脚目
【悲報】こどおじ死亡!10万円は「世帯主」の口座に振り込まれる [743191609]
ヤハウェ・イエス・キリスト☆🇮🇱イスラエル☆ニューエルサレム☆YHWH 77
【おかっぱり】琵琶湖岸釣り情報【2020GW】
なんで静岡や沼津は人口減ってんの?
車人気ランキング 2018年の最新版がこれらしい
財布爆裂した…は年始早々パパンがパン
【MTG】Magic The Gathering Arena 118【アリーナ】
押忍!番長3 Part87
中京テレビアナウンサー総合スレ6
プログラマのオナペット*3*
【ギャラ詐欺】ぷちめいヲチスレ☆part1【ハムスター凍死】
ブシロード 響所属声優オーディション開催決定
ガチンコラーメン道、大検ハイスクールのスレッド
【常夏の島】 スーパーロック KYOI 【サイパンより】
歌舞伎界も少子化ですねえ
エロ本探し
ゆうちょ銀行に勤めていたおっさん、女上司2人に滅茶苦茶叱られて自殺 パワハラ認定は棄却 [389326466]
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼