[過去ログ]
ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
ゲームボーイアドバンス(GBA)非公式開発 Part2 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
705: 名前は開発中のものです。 [sage] 2008/03/09(日) 01:09:00 ID:gfwS1uas 該当部分のソースを張ります。 これでタイマー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; } http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/705
706: 名前は開発中のものです。 [sage] 2008/03/09(日) 01:10:28 ID:gfwS1uas ちなみにメイン関数の方では下記処理を行っており、 タイマ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); } } } http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/706
707: 名前は開発中のものです。 [sage] 2008/03/09(日) 01:16:20 ID:gfwS1uas あと、リンカスクリプトを書き換えて、テキストセクションの開始アドレスを 0x80000000にしているのですが、このことが何か関係があるのでしょうか。。 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/707
709: 名前は開発中のものです。 [sage] 2008/03/09(日) 09:31:57 ID:gfwS1uas リンカスクリプトについての理解が不十分でした。 下記ホームページを参考にリンカスクリプトを書き換えたら、 見事1秒ごとにtmr0_cntが0からカウントアップされるようになりました。 おかげで挫折する期間が延びました。ありがとうございました。 http://www.nextappli.com/index.php?GBA%2FROM%B2%BD#content_1_0 http://mevius.5ch.net/test/read.cgi/gamedev/1099119005/709
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.057s