[過去ログ] ゲームボーイアドバンス(GBA)非公式開発 Part2 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
454: 2006/02/19(日)02:00 ID:m3SmeD2S(1) AAS
>>452
了解しました。トライしてみます。
あと、timerを使わずに止める方法があるのならご教授プリーズ。
455(2): 2006/02/19(日)04:25 ID:iq15VETn(1) AAS
チョット違うことしてるのかな?一応
つdirecsoundサンプル
外部リンク[zip]:gamdev.org
456: 2006/02/19(日)10:19 ID:QSXlPkGt(1) AAS
>>455
BeLogicのサンプルみたく別タイマーで止めないとダメだとばかり思い込んでました。
このスレよく読み直したら過去にヒントが出てたんですね。。。orz
457: 2006/02/19(日)21:44 ID:oTR8sHnf(1) AAS
DarkFaderのMylibとかNylibとか入れてみようと思ってやってみたがダメだ…。
やり方が悪いのかサンプルmakeできなかった。
ライブラリ自体はすごそうだ。使ってる人いる?
458: 2006/02/20(月)03:17 ID:B+Dm9jGk(1) AAS
NyLibは任天堂の純正ライブラリそのものだから使わないほうがいいぞ
MyLibはゴミ
459(2): 2006/02/20(月)21:23 ID:bbMb17ur(1) AAS
1Dモードでスプライトの属性を指定します。
attr2(ゼロが最初)のキャラクタ番号(0-9ビットまで)に指定の番号をセットすると正しく表示されません。
2倍の値をセットすると正しく指定できました。
これってあってる? ゼロビット目がキャラクタ番号じゃないんじゃ、とか思います。
1Dのスプライトについて書かれているページとかありませんか?
460: 2006/02/20(月)21:39 ID:LHhnamaS(1/2) AAS
マジですか。コンパイルもようできんからgcc自分で持ってきてarm-elfで作ったりしたんだがなぁ。
最低限eloistのgba.hとgbatekとかのドキュメント、あとは自分でがんばるかね。
461: 2006/02/20(月)22:06 ID:LHhnamaS(2/2) AAS
>>459
スプライトが256色設定の場合は2倍で指定するらしいからそのせいではないかな?
462: 2006/02/21(火)00:33 ID:zwimk+yf(1) AAS
>>459
気になるならVBAのTile Viewerでタイル番号とアドレスを確認すれ
463(1): 2006/02/21(火)05:42 ID:uuzcpC5q(1) AAS
ボタンを押した瞬間を取得したいんですが
下記のソースがうまく動作しません。
何がいけないかわかりますか?
//ボタンに関する列挙型
typedef enum{UP,DOWN,RIGHT,LEFT,A,B,L,R,START,SELECT} KEY;
//スタティックグローバル変数
static u32 sgKey; /* キーセンス */
static u32 sgKeyhit; /* キー押した瞬間 */
//メインループの頭でボタンの状態を一括取得
void UpdateKeySense(void)
省18
464: 2006/02/21(火)07:28 ID:GiHvck/8(1) AAS
書き込みできるかテスト
465: 2006/02/21(火)08:22 ID:BSGVJJY5(1) AAS
>>463
それぞれの変数の値を出力してみろ
466(3): 2006/02/25(土)15:23 ID:LRNrnoNa(1/4) AAS
ある構造体に汎用的な配列を用意し、状況によって汎用配列部分に
別の構造体をキャストすることでいろいろ使い分けられるように
したいんですが下記(分けて書き込みます)のようなソースがうまく動きません。
「w->cnt = 5;」等の部分で値を代入しているのに正しい値がはいりません。
VC++では正しく代入できるようです。なぜだかわかりますか?
仕様なんでしょうか?
467(1): 2006/02/25(土)15:24 ID:LRNrnoNa(2/4) AAS
typedef struct{
u8use;/* 動作フラグ */
u16no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8wrk[48];/* 汎用ワークエリア */
void*entryfunc;/* 実行関数 */
}TSKWRK;
TSKWRKts[10];/* 実体 */
/* 構造体 */
typedef struct{
省15
468: 2006/02/25(土)15:25 ID:LRNrnoNa(3/4) AAS
変数の型と変数名がつながっているのは書き込み時に
つながってしまったもので実際には正しく記述しています。
469(1): 2006/02/25(土)16:32 ID:ChwfFfDn(1/3) AAS
>>466-467
アライメントの勉強をしてみよう。
外部リンク:www.google.co.jp
この場合は u8 のアライメントしか持っていない wrk に
u16 としてアクセスしていることが原因。
GBA の CPU である ARM ではアライメント違反した書き込みはできない。
VC++ で正しく動作するように見えるのは CPU が違うから。
x86 系ではアライメント違反した書き込みはパフォーマンスが落ちるだけ。
470(2): 424 [age] 2006/02/25(土)17:25 ID:T5T+YA0I(1) AAS
こういう使い方をしたいときはunionを使うんだっけ?
使ったことないけど
471(1): 2006/02/25(土)17:28 ID:JLoubNl/(1/2) AAS
>>466
>>469を踏まえてこれでもう一度テストしれ
typedef struct{
u8 use;/* 動作フラグ */
u16 no;/* 自分自身のタスク番号 */
u8 phase;/* 動作フェーズ */
u8 wrk[48];/* 汎用ワークエリア */
void *entryfunc;/* 実行関数 */
} __attribute__ ((packed)) TSKWRK;
typedef struct{
省5
472(1): 2006/02/25(土)17:30 ID:JLoubNl/(2/2) AAS
>>470
この場合unionは全く関係ないし的外れ
473: 2006/02/25(土)17:32 ID:+k+s2zkt(1) AAS
メモリをダンプしてみろ
それからだ。
上下前次1-新書関写板覧索設栞歴
あと 529 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s