[過去ログ] ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
696: 2007/12/05(水)17:45 ID:qkiwd5QC(1) AAS
算数知らないのに数学の教えを乞うようなモン
質問でもなんでもない

と書こうとしたら695が親切すぎて泣いた
697: 2007/12/06(木)19:07 ID:+3Rk8p3E(1) AAS
>>694
GBAは難しいからファミコンで練習するといいんじゃない。
698: 2007/12/07(金)00:00 ID:zCCzBOkw(1) AAS
super card上でデータを保存するにはどうすればいいんでしょうか
sramに書いたあと、自分でメニュー呼んでSDに保存できればいいのですが、どうパッチをあててもできず。
自作ソフトには付けられないんですかね、パッチ。

また、同じくsuper cardで新しめのファームウェアだと起動すらしないのですが、アプリ側でできる対処法などご存知の方いませんか
699: 2008/02/02(土)06:07 ID:9JCHDRiH(1) AAS
誰かwww.agbdev.netで配布してたデモ(Nok_Keysupd.zip、sprite.zipとか)
持ってる人いる?どんな中身か知りたいんだけどサイトが潰れちゃってさ。
700: 2008/03/04(火)04:09 ID:ajlkIhCi(1/2) AAS
すいません。この本「Linuxから目覚めるぼくらのゲームボーイ!」
を読みながら、第2章のbox_tile.cまで進んだんですが、
サンプルプログラムをそのまま使用して、
コンパイルまでできたのですが、VBAで実行させると画面が真っ暗なままで
何も起こりません。これは実機でないと動作しないのでしょうか?
701
(1): 2008/03/04(火)12:37 ID:23nZbsqP(1) AAS
半分あたり
その本はメモリからブートすることを前提にしているので
ROMからブートすることを前提にしているエミュだとそのままでは動作しない
VBAで動かすにはbox_tile.mb.binに名前を変えてあげな
702: 2008/03/04(火)21:25 ID:ajlkIhCi(2/2) AAS
>>701
レスありがとうございます。
ファイル名を変えてやってみましたがうまくいきませんでした。。
代わりにリンカスクリプトでプログラムの開始アドレスを0x08000000に変えたら動きました!
おかげで挫折する期間が延びましたwありがとうございました。
しかしbox_tile.cより前に出てくるプログラムは何で内部メモリブートでもうまくいったのかなあ
703: 2008/03/08(土)22:06 ID:IYGGmug3(1) AAS
すいません。「Linuxから目覚めるぼくらのゲームボーイ!」
を第3章まで読み進めたのですが、clock.cがうまく動作しません。
割り込みハンドラの中でvolatile修飾したグローバル変数の値を書き換えているのに
全く値が変わりません。なにか考えられる原因はありますか?
ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
画面に文字が出力されるので間違いありません。
704: 2008/03/09(日)00:32 ID:9hgngbOa(1/2) AAS
>ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
>画面に文字が出力されるので間違いありません。
釈然としない
どう出力されたからそう思ったの?
ちょっと貼ってみてよ
705: 2008/03/09(日)01:09 ID:gfwS1uas(1/4) AAS
該当部分のソースを張ります。
これでタイマー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){
省14
706: 2008/03/09(日)01:10 ID:gfwS1uas(2/4) AAS
ちなみにメイン関数の方では下記処理を行っており、
タイマ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{
省4
707
(1): 2008/03/09(日)01:16 ID:gfwS1uas(3/4) AAS
あと、リンカスクリプトを書き換えて、テキストセクションの開始アドレスを
0x80000000にしているのですが、このことが何か関係があるのでしょうか。。
708: 2008/03/09(日)05:29 ID:9hgngbOa(2/2) AAS
ひょっとして全て理解した上でからかってる?
>>707はたしかに関係ある
テキストセクションを0x08000000に置いたあと以降の
連続した領域にBSSセクションとデータセクションを置いているので
グローバル変数に書き込みたくてもROMだから書きこめない
今までよく動いてたな。。。
709: 2008/03/09(日)09:31 ID:gfwS1uas(4/4) AAS
リンカスクリプトについての理解が不十分でした。
下記ホームページを参考にリンカスクリプトを書き換えたら、
見事1秒ごとにtmr0_cntが0からカウントアップされるようになりました。
おかげで挫折する期間が延びました。ありがとうございました。
外部リンク[php]:www.nextappli.com
710: 2008/03/09(日)19:34 ID:I/rPhsey(1) AAS
例えば
mov r1, #128
strh r1, [r3, #0]
ldrh r3, [r2, #0]

を実行するのに、何クロック掛かるか・・という事を説明してくれる
本やサイトご存知内ですか?
711: 2008/03/11(火)00:29 ID:IfG+az6x(1/4) AAS
音の多重再生をするにはどうしたらいいのですか
712
(1): 2008/03/11(火)00:36 ID:IfG+az6x(2/4) AAS
数十曲の音楽データをROMに格納したいのですが容量が足りません。
何か工夫が必要なのでしょうか。
マザー3なんかは100曲ものBGMが入ってましたがあれはどうやって実現しているのでしょうか。
713
(1): 2008/03/11(火)00:38 ID:IfG+az6x(3/4) AAS
すいません。100曲でなく250曲の間違いでした。
714
(1): 2008/03/11(火)01:46 ID:UWuqXy/S(1) AAS
譜面データと、音源データを分けて持っているから、かな?
MIDI見たいな感じで。

それに、要所要所でPCMをかぶせれば
大抵の曲は再現できそう。

あとは、圧縮をかけるだね。
(譜面データにたいして、また、ADPCMとは言わないが適当な圧縮形式で。)
715
(1): 2008/03/11(火)09:34 ID:IfG+az6x(4/4) AAS
そんなのは俺の手に負えねえ。ここで挫折しまするわ。
1-
あと 287 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s