06/02/11 03:47:31 lrk8MfSr
>>395の言うように8x32と16x32を組み合わせるか
右に8ドットの空白を足して32x32で使うかだな
前者はROMサイズとVRAMの節約
後者は手間とスプライトの節約
俺なら後者を取るがね
401:名前は開発中のものです。
06/02/11 06:59:41 hZfjJeiU
>>392
センターよせが一番無難じゃないか?
回転させることとかも考えれば。
ところで、BoyScoutって公式トラッカーしかないの?
日本語環境だとレイアウトが微妙に崩れてて使いにくそうなんだが。
402:名前は開発中のものです。
06/02/12 17:28:27 7Ys7XIFa
だいぶ前に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:名前は開発中のものです。
06/02/12 17:33:59 7Ys7XIFa
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:名前は開発中のものです。
06/02/12 20:32:14 lQGmnJOY
>>402
>フレーム数を計ってプログラマーの方で手動で再生を切っているようですがそんな方法しかないのでしょうか
そんな方法しか無い
サウンドのサイズを自分で管理し
サイズ分転送したらDMAとサウンドの両方を止めれ
405:名前は開発中のものです。
06/02/12 23:09:14 Cgq3GpSK
わかりました・・・
頑張って自前で管理することにします
406:名前は開発中のものです。
06/02/13 02:39:56 Gtc5I6Df
ファイル長はすぐわかるね。
wav2gba.exeの吐き出した.binデータを右クリック、プロパティを開く
サイズ ???KB (????? バイト)
()内のバイトがファイルサイズ。
407:名前は開発中のものです。
06/02/13 14:40:33 eECtxr3h
次のゲームの画面を再現するにはどの画面モードで
各要素をどの画像で再現すればいいでしょうか?
1)SFCのころのドラクエ風戦闘画面
要素:
背景画像
インターフェース
文字
モンスター
攻撃&魔法エフェクト
僕の予想では
画面モードはモード0。
背景、インターフェースはタイル。
エフェクトはタイル?(全画面アニメがあるため)
モンスターはスプライト(ボスキャラ等はタイル+スプライト)
文字はスプライト(タイルのBG面が足りないため)
つぎのレスにつづく
408:名前は開発中のものです。
06/02/13 14:41:59 eECtxr3h
2)SFCのころのFF風戦闘画面
要素:
背景画像
インターフェース
文字
プレイヤーキャラクター
モンスター
攻撃&魔法エフェクト
僕の予想では
画面モードはモード3。
背景、インターフェース、モンスターはビットマップ。
プレイヤーキャラクター、エフェクト、文字はスプライト。
タイルモードかなと思ったんですがボスキャラが消えるときとか
キャラ画像の奇数ラインと偶数ラインがずれて消えるときとかあるので
あれをタイルモードで再現する方法がわかりませんでした。
あってますでしょうか?アドバイス御願いします。
409:名前は開発中のものです。
06/02/13 16:11:54 2pbmjWEa
主人公、モンスター、効果はスプライト。
BGの仕様を決めるのは難しい。
どういう演出をするのかによって変わる。
背景を拡大縮小する演出をするならモード12345。
しないなら絵がたくさん登録できるモード0。
表示する情報が少なく簡単にレイアウトできるなら0123のキャラクターモード、
多色を使って、8x8ドットに縛られたくないならモード345。
でもモード345は情報量が多く重くなる。ダブルバッファを使用するなら
モード4か5しかない
たしかBGが容量の大きいモードのとき、スプライトの登録数が圧迫されるんじゃ
なかったっけ。
全体のバランスを取るには、だいたいの仕様を決めて
サンプルを作って動かしてみるしかないんじゃない?
FFも3とか4とか決めてそれを目標にすれば、イメージも明確になるのじゃいか。
410:名前は開発中のものです。
06/02/13 16:17:41 2pbmjWEa
そういえば文字の表示が大きな悩み。
日本語表示するのだろうから、VRAMにすべての文字を登録するのは
不可能。割り込み中に表示画面に必要な分の文字を転送するしかない。
あるいはダブルバッファリングできるモードを使う?
ということはビットマップモード4か5。キャラのモードの時は
意識して上の領域はA、そのとき見えない領域B
としてダブルバッファリンク゛することもできるけど。
GBA研究所の日本語表示サンプルを改造してドラクエ戦闘画面の
インターフェースみたいのをまず作ってみるべき。
ワールドマップとかはそのあとでもいい。まず日本語表示が難関。
411:名前は開発中のものです。
06/02/13 17:42:11 eECtxr3h
GBA研究所は落ちてるんですよね…。
マップエディタが入手できず大弱りです。
412:名前は開発中のものです。
06/02/13 19:45:25 VY0KRAb6
>>407
インターフェースと文字は一緒に出来る
あと戦闘中の文字は平仮名カタカナしかないことに気づこう
BG0 背景
BG1 文字+枠
BG2 半透明エフェクト
SPR 敵+エフェクト
>>408
BG0 敵
BG1 背景+文字
BG2 エフェクト
SPR 味方+エフェクト
FF6は
BG0 背景
BG1 背景+文字
BG2 半透明エフェクト
SPR 敵+味方+エフェクト
一部の魔法はBG2にウインドウ重ね掛けで
敵を消すときはタイルマップじゃなくてタイルを直接消してる
413:407
06/02/13 19:55:05 eECtxr3h
みなさん、アドバイス有難う御座います。
これでとりあえずの実装は出来そうです。
魔法別で悩んだらまた質問しますので
厳しくもやさしく教えてください。。。
414:名前は開発中のものです。
06/02/13 20:19:49 VY0KRAb6
俺のMAPエディタをうpしてやろうかと思ったけど
みなさんで一括りにされたからやめるか
415:名前は開発中のものです。
06/02/13 20:34:51 NZEWyj/P
心が狭いのね
狭くなくっちゃ、心も車も
416:名前は開発中のものです。
06/02/13 20:59:44 pe7jKuDW
文字表示の実装が全く分からないのですが、
分かりやすいサイトはないですか?
417:407
06/02/13 23:11:29 eECtxr3h
414さまアップお願い致します。
418:名前は開発中のものです。
06/02/13 23:53:36 VY0KRAb6
>>416
タイルモードのときはタイルを順番に横に並べて
並べたタイルに文字データを転送するだけ
ビットマップモードのときはVRAMに直接書けばいいだけなので
PCでやるのとやり方は一緒
どっちにしても文字データは自分で用意しなくちゃ駄目
419:名前は開発中のものです。
06/02/14 00:03:36 Mc0x+HZh
>>406
wav2gbaはv1.01だと、バイナリの先頭に
2byte: type
2byte: stat
4byte: freq
4byte: loop
4byte: size ←これがデータ長
なヘッダが付いてるので気を付けれ。
420:名前は開発中のものです。
06/02/14 00:06:53 x7UBz7YU
>>418
自分の書き方が悪かったです。printf関数みたいな
感じでやりたいんです。
そもそもprintf関数の仕組みがよく分からない・・・
のぞいて見てもチンプンカンプンです。
421:名前は開発中のものです。
06/02/14 00:34:47 WgJRobF9
>>420
sprintfで文字列を作って
その文字列を表示する関数を作るんだ
printfは最初から無いものとして諦めろ
422:名前は開発中のものです。
06/02/14 00:40:40 945ce4fT
研究所のやつじゃなくてもいいので
使い勝手のいいマップエディタしりませんか?
ドラクエ風のワールドマップを作りたいのですが。。。。
423:名前は開発中のものです。
06/02/14 00:51:24 kJMSUOot
URLリンク(user.chem.tue.nl)
この辺とかは?
424:名前は開発中のものです。
06/02/14 00:51:46 DPfKwksc
sprintfって使えたっけ?devkitadv
自作snprintfで対応しちゃった
#あと文字が書いてあるbitmap背景の2本立て
425:384
06/02/14 00:59:46 tYPhpHwC
俺もprintf関数もどき作りました。
全角の文字列を引数として受け取って、
その先頭のアドレスから、内容を4ビット(16進一桁、要するに文字コードの中の一桁)
ずつチェックしていき、最終的に文字コードとBGタイル番号をつき合わせて
BG一面に出力するようにしました
BGを一つ占領しちゃうんであまりよいやり方では無さそうですが
426:名前は開発中のものです。
06/02/14 01:49:16 WgJRobF9
>>424-425
自作するよりそっちの方が簡単だろうと思ってな
printf関数の仕組みが分からないとも書いてるし
もちろんsprintfはstring.hをincludeすれば使えるぞ
427:名前は開発中のものです。
06/02/14 18:19:17 KtOq4mfG
スプライトの表示数についてなんですが
最大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:名前は開発中のものです。
06/02/14 18:55:03 WgJRobF9
画像データ領域(VRAM)とキャラクター領域(OAM)は分離して考えろ
>>427の例で言うと
OAMには128個登録できても
VRAMには64種類の画像しか収まらない
逆に言うと64種類の画像を128個表示できるということ
429:429
06/02/14 19:29:47 KtOq4mfG
なるほど、つまりVRAMにおさまりさえすれば
64*64の画像を128個表示することができると
いうことなんですね。
430:424
06/02/14 21:44:12 oQP7vhex
自作snpritnf(snprintf_mini)です。良かったらどうぞ
URLリンク(49uper.com:8080)
431:420
06/02/15 23:02:19 UMaLkZ5l
ありがとうございます!
正直、よく分からないですが、参考にするか
もしくはそのまま使わせて頂きます!
432:名前は開発中のものです。
06/02/16 00:00:45 htR/zHvl
コンパイル出来たけど何も表示しまへん。
コンパイル用バッチファイル
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:424
06/02/16 09:40:13 IJObToHy
うん、文字画像データは入ってないよ
あくまでもおいらが作ったsnprintfの実装(snprintf_mini)だから文字列を作るだけです。
main.cはちゃんと作れているかどうか確認している単体テスト用のプログラム
なのでdevkitadvのgcc(arm-agb-elf-gcc)じゃなくて普通(?)のgccを使って
snprintf実装例を確認してね。
GUIなデバッガがあればどんな感じで処理してるか追っかけられるでしょ
#VCだとsnprintfが使えないかも。そのときはsprintfで代用して確認してね
作った文字列をVisualBoyAdvanceで表示するには文字列表示用の処理と文字データを
自分の環境用につくらないと出来ないです。
まず、putcみたいな1文字表示用の関数を作ってみてはどうでしょうか?
434:名前は開発中のものです。
06/02/16 09:44:32 zo8+sFWC
◆◆,,,,_ /⌒;
/*' 3 `*ヽーっ /<ワンワン,ツウツウ,スリィスリィ,フォウフォウ
⊂二 。 ゚ ⌒_つ/ ガンガン ズンズン グイグイ 上昇
`、 ⌒_つ /
`'ー-‐'''''" /
/_/
///
. _____
. `ヽ ,」_ァ'"´
. f'て}. ̄ rY ト、 __
. | r个 √`>‐.k } f゙)ヾ>
}l r ''"`ァ'゙ ,ノ、ム'^'ァ'゙
人.ヒ,ィ゙ ァ弌__,,>'´゙ヽ
い, `'<, ,r'^ ,ノ
. }⌒'‐\ ,、 ゙'くョr.''"´
い弌-、 \ }. ゝ-、
. `'ー' ゙'ー‐--‐'⌒''''''゙
435:名前は開発中のものです。
06/02/16 18:36:32 kz0iIF7u
>>433
これだけヒントを貰ってるのに文字表示すら自分で作れない香具師に
何をアドバイスしてやっても無駄だって。
436:名前は開発中のものです。
06/02/16 20:06:45 M6PXBfNk
>>433
親切すぎる。
漏れは呆れてレスする気がしなかったぐらいだってのに。
437:424
06/02/16 21:32:19 IJObToHy
確認用に作った文字表示用プログラムです
URLリンク(49uper.com:8080)
VCとVisualBoyAdvanceの両方で動作確認できるようにちょっと細工してます
このフォントデータは多分ライセンス違反になると思います。
#外見はラスタフォント6x13そのままです。
#文字を表示した状態のスクリーンショットBMPからデータを作りました・・・
438:名前は開発中のものです。
06/02/16 22:19:46 M6PXBfNk
拙作
URLリンク(gamdev.org)
439:名前は開発中のものです。
06/02/16 22:21:45 kxrgDS8c
>>438
俺が流用してるフォントと同じのを使ってる・・・気がする
俺は8x8でやってるけど
440:名前は開発中のものです。
06/02/16 22:53:00 Jk3f3/1N
>>438
liarsoftさん?
441:424
06/02/16 23:55:24 IJObToHy
へー、かっこいい
フリーのフォントって知らなかったけど調べてみたらいろいろあるんだな
とりあえず、FONTX形式にすればいいのだろうか?
442:432
06/02/17 16:40:32 x9jBkP1z
サンプルありがとうございます。
私は420=431さんとは別人です、横入りすみません。
フリーのフォント、元GBA研究所のサンプルにあったものを
流用しようと・・問題有りますでしょうか
完全フリーなものが欲しいのですけどそうなるとなかなか
ありませんよね。フリーソフトのみとかメールでの通知義務とか。
443:名前は開発中のものです。
06/02/17 18:32:26 iAZtWxeh
URLリンク(khdd.net)
444:424
06/02/18 01:08:37 uRwRaCgY
おお、サンクス
でもbdfフォーマットの仕様書はadobeの有料開発メンバじゃないと読めないのね・・・
で、探した結果、良さそうなページを発見
URLリンク(hp.vector.co.jp)
あとは日本語文字コードか、やれやれ。
445:名前は開発中のものです。
06/02/18 02:27:52 QKtp7HhO
DIRECTSOUNDをDMAで鳴らそうと
URLリンク(belogic.com)
を参考にしてるんですが、演奏を止めるための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:名前は開発中のものです。
06/02/18 03:41:17 4ZdB2i2h
データサイズで合ってる
cascade from time 0になっているということは
timer 0が桁あふれしたときにtimer 1が1つ進むということ
timer 0が桁あふれしたとき同時に何が起こっているのか考えてみればそのうち分かる
頑張れ
447:名前は開発中のものです。
06/02/18 16:03:02 1rrcgcm5
>>446
すみません、もう少し教えてください
データサイズが0xffffを超える場合はどう設定すればいいのでしょうか?
448:名前は開発中のものです。
06/02/18 17:05:13 ZbScaNGm
フリーの日本語ビットマップフォント一覧
URLリンク(kappa.allnet.ne.jp)
449:名前は開発中のものです。
06/02/18 18:51:03 iQRmZRdR
5つほど上に既に貼ってあるジャマイカ
450:名前は開発中のものです。
06/02/18 21:15:59 yUcx3isO
研究所が未だに復活しない件。
猫でもみたいなTips集的な使い方をしていたので、他所を探すのが以外に大変。
451:名前は開発中のものです。
06/02/18 22:05:41 q2PjLLP+
儂はウェブアーカイブで拾ってきたよ。zipファイルは保存してないからサンプルは取れないけど。
ヘッダとソースは見られる。makefileが無いのが難点。
452:名前は開発中のものです。
06/02/19 01:10:26 prU8DMPB
>>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:452
06/02/19 01:11:38 prU8DMPB
間違ったスマソ
// (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:名前は開発中のものです。
06/02/19 02:00:16 m3SmeD2S
>>452
了解しました。トライしてみます。
あと、timerを使わずに止める方法があるのならご教授プリーズ。
455:名前は開発中のものです。
06/02/19 04:25:56 iq15VETn
チョット違うことしてるのかな?一応
つdirecsoundサンプル
URLリンク(gamdev.org)
456:名前は開発中のものです。
06/02/19 10:19:03 QSXlPkGt
>>455
BeLogicのサンプルみたく別タイマーで止めないとダメだとばかり思い込んでました。
このスレよく読み直したら過去にヒントが出てたんですね。。。orz
457:名前は開発中のものです。
06/02/19 21:44:01 oTR8sHnf
DarkFaderのMylibとかNylibとか入れてみようと思ってやってみたがダメだ…。
やり方が悪いのかサンプルmakeできなかった。
ライブラリ自体はすごそうだ。使ってる人いる?
458:名前は開発中のものです。
06/02/20 03:17:45 B+Dm9jGk
NyLibは任天堂の純正ライブラリそのものだから使わないほうがいいぞ
MyLibはゴミ
459:名前は開発中のものです。
06/02/20 21:23:56 bbMb17ur
1Dモードでスプライトの属性を指定します。
attr2(ゼロが最初)のキャラクタ番号(0-9ビットまで)に指定の番号をセットすると正しく表示されません。
2倍の値をセットすると正しく指定できました。
これってあってる? ゼロビット目がキャラクタ番号じゃないんじゃ、とか思います。
1Dのスプライトについて書かれているページとかありませんか?
460:名前は開発中のものです。
06/02/20 21:39:23 LHhnamaS
マジですか。コンパイルもようできんからgcc自分で持ってきてarm-elfで作ったりしたんだがなぁ。
最低限eloistのgba.hとgbatekとかのドキュメント、あとは自分でがんばるかね。
461:名前は開発中のものです。
06/02/20 22:06:12 LHhnamaS
>>459
スプライトが256色設定の場合は2倍で指定するらしいからそのせいではないかな?
462:名前は開発中のものです。
06/02/21 00:33:12 zwimk+yf
>>459
気になるならVBAのTile Viewerでタイル番号とアドレスを確認すれ
463:名前は開発中のものです。
06/02/21 05:42:06 uuzcpC5q
ボタンを押した瞬間を取得したいんですが
下記のソースがうまく動作しません。
何がいけないかわかりますか?
//ボタンに関する列挙型
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:名前は開発中のものです。
06/02/21 07:28:21 GiHvck/8
書き込みできるかテスト
465:名前は開発中のものです。
06/02/21 08:22:43 BSGVJJY5
>>463
それぞれの変数の値を出力してみろ
466:名前は開発中のものです。
06/02/25 15:23:38 LRNrnoNa
ある構造体に汎用的な配列を用意し、状況によって汎用配列部分に
別の構造体をキャストすることでいろいろ使い分けられるように
したいんですが下記(分けて書き込みます)のようなソースがうまく動きません。
「w->cnt = 5;」等の部分で値を代入しているのに正しい値がはいりません。
VC++では正しく代入できるようです。なぜだかわかりますか?
仕様なんでしょうか?
467:名前は開発中のものです。
06/02/25 15:24:22 LRNrnoNa
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:名前は開発中のものです。
06/02/25 15:25:34 LRNrnoNa
変数の型と変数名がつながっているのは書き込み時に
つながってしまったもので実際には正しく記述しています。
469:名前は開発中のものです。
06/02/25 16:32:04 ChwfFfDn
>>466-467
アライメントの勉強をしてみよう。
URLリンク(www.google.co.jp)
この場合は u8 のアライメントしか持っていない wrk に
u16 としてアクセスしていることが原因。
GBA の CPU である ARM ではアライメント違反した書き込みはできない。
VC++ で正しく動作するように見えるのは CPU が違うから。
x86 系ではアライメント違反した書き込みはパフォーマンスが落ちるだけ。
470:424
06/02/25 17:25:32 T5T+YA0I
こういう使い方をしたいときはunionを使うんだっけ?
使ったことないけど
471:名前は開発中のものです。
06/02/25 17:28:03 JLoubNl/
>>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:名前は開発中のものです。
06/02/25 17:30:14 JLoubNl/
>>470
この場合unionは全く関係ないし的外れ
473:名前は開発中のものです。
06/02/25 17:32:36 +k+s2zkt
メモリをダンプしてみろ
それからだ。
474:名前は開発中のものです。
06/02/25 17:38:12 ChwfFfDn
>>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:名前は開発中のものです。
06/02/25 18:20:18 LRNrnoNa
みなさん、アドバイスありがとうございます。
アライメント自体の概念はわかりました。
実用についてはまだよくわからんのですこし調べてみます。
>>474
unionのサンプルの意味は
u8でサイズを決めつつ、何のデータを扱ってもいいように
void型のポインタと最大サイズの整数と浮動少数で
共用体を定義しているということでよろしいでしょうか?
あと、私が書き込んだソースを下記のように修正したら問題なく
動くようになったんですがこのまま使い続けるのは
問題あるでしょうか?
u8 wrk[48] → u32 wrk[12]
476:474
06/02/25 18:33:56 ChwfFfDn
>>475
サンプルの意味はそういうこと。
union 自体のアライメント要求がメンバの中で最大の物になることを利用したもの。
GBA のハードウェアで4バイト以上のアライメントを要求するものは
無かったと思うので、 GBA に限った動作だけを考えれば
u32 での置き換えで問題ないと言える。
477:名前は開発中のものです。
06/02/26 00:08:14 WfB5cmW7
関係ないけど
GBAって電源切ったとき画面の色が黒でなく白なのはなんでだろう?
478:名前は開発中のものです。
06/02/26 00:10:13 vz2qCRmn
白黒液晶ってのは黒色の文字を表示するものだから背景が黒かったらどうしようもないと
ここまで書いてGBAが白黒ではないという事実を思い出した
479:名前は開発中のものです。
06/02/26 07:47:46 e+6sQVje
>>381 ノベル制作ツール「のべ~る」で
VisualBoyAdvanceでプログラムスタート直後に音割れする現象の対策
*TOP:
#play_wav 1 music0.bin
#page
■セロ弾きのゴーシュ;
ゴーシュは町の活動写真館でセロを弾く係りでした。#w ;
けれどもあんまり上手でないと評判でした。#w ;
……
スクリプト開始のしょっぱなに何より先に#play_wavし、
直後に#pageします。これでなぜか音割れ現象が発生しなくなります。
なぜこれでうまくいくのかはよく分かりません。
ちなみに実機やその他のエミュでは試していません。
もしかしたら割り込み内でサウンドの処理より画像の処理を
先にやってるのかなとか思ったり・・見当ハズレなら作者さまスマソ。
これで使える。ヤター!
480:479
06/02/26 07:53:54 e+6sQVje
のべ~るは>>380
でした。失礼。
481:466
06/02/26 15:39:57 UpVKMws2
構造体のキャストで質問したものです。
とりあえず、みなさんのおかげで
スプライト制御が一段落したんで
経過をご報告します。
URLリンク(2ch-library.com)
482:名前は開発中のものです。
06/02/27 22:06:09 KqQE3G30
くだ質で大変申し訳ないのですが、
C++でGBAのプログラミングはできないのでしょうか?
様々なサイトをググってみたのですが、すべてCでの開発で
C++を扱っているサイトを全く見かけません。
よろしければご教授をお願いします。
483:名前は開発中のものです。
06/02/27 22:45:37 NtZAdaLq
>>482 gcc なんだから、できるよ。
484:名前は開発中のものです。
06/02/27 23:07:51 yy1S2zAQ
>>482
つ Tennodai Bunko
485:482
06/02/28 00:35:45 jBhKnEbd
>>484氏に紹介いただいたサイトを見る限り、DevkitAdvanceで普通にできそうですね。
早速試してみようと思います。
どうもありがとうございました。
486:名前は開発中のものです。
06/02/28 09:22:37 1wwrrnAa
GBAプログラミング研究所のBMP2RGB.exeで256色の出力のとき、
255番のパレットを指定したドットが0x00になり、
255番のパレット自体も0x0000になって出力されるんだけど
何か意味があるのでしょうか。
487:名前は開発中のものです。
06/02/28 13:47:49 ykuetkSe
確証は無いけど透明色じゃないの?
488:名前は開発中のものです。
06/03/01 17:29:46 CwoNSWML
ソースレベルデバッグをしたいんですが
MAPPY VMとVHAM&DevkitAdvanceの組み合わせの場合
どのようにすればよいのでしょうか?
また、NO$GBAとMAPPY VMだとどの程度違いますか?
489:名前は開発中のものです。
06/03/02 21:30:54 yUNPC8aZ
Insight + VBA(devel版) で*.elf読ませる方が楽っぽくね?
490:名前は開発中のものです。
06/03/02 22:48:33 LnIoHKvJ
arm-agb-elf-insightつかってデバッグするときにVisualBoyAdvanceの画面の状態を
確認しながらデバッグするにはどうしたらいいのですか?
File-TargetSettingからConnection-TargetをSimulatar選んでからOptionをVBAの
GDB接続待ちPortの数字にあわせればいいのですか?
InsightデバッガからRun-ConnectTargetはSucessfully connectedってでるから
成功したのかな?
でも、VBA側の接続待ち状態ダイアログが消えないから違うんだろうなぁ
491:名前は開発中のものです。
06/03/02 23:52:12 fFp03F4Q
>>490
漏れの環境ではVBA-SDLでしかInsightと接続できないorz
492:名前は開発中のものです。
06/03/04 11:46:20 m5qLcxRB
ところでGBAゲームでセーブデータってどうやって作るんですが?
研究所にはあったみたいだけど落ちてて見れない・・・
493:名前は開発中のものです。
06/03/04 13:52:52 x3hAFwv9
>>492
VBAでGBAファイル起動
494:名前は開発中のものです。
06/03/04 14:06:07 KUpila9P
>>455
このサンプルでDirectSoundの再生方法を試しているんですが
サウンド再生関数を1回目に実行した際には音がならず
2回目の実行で音がなります。
これ以外のDirectSoundのサンプルでも同様の現象が起きます。
455のサンプルに関してはソースをまんまでコンパイルしても
同様の現象になります。
付属のロムデータでは正しく動作しているようですが
何がいけないかわかりますか?
495:名前は開発中のものです。
06/03/04 17:16:26 KUpila9P
やっとこさゲームらしくなってきたんですけど
サウンドがなるとめっさ重いんですよね。
GBAってこんなもんなんでしょうか?
それともプログラムがヘボイだけ?
URLリンク(2ch-library.com)
496:名前は開発中のものです。
06/03/04 17:18:01 vi0lIxtr
AGBがまともにサウンドを鳴らせないほど非力なのは仕様です
497:名前は開発中のものです。
06/03/04 17:34:40 KUpila9P
まじですか!?
じゃあ、GB互換音源を使うしかないんですね。
研究所が消滅してコンバーターの入手も難しいし
こまったもんだ…。
498:492
06/03/04 21:18:52 m5qLcxRB
>>493
いや、そういう意味じゃなくて、
自作したゲームにセーブデータを作らせようと思ったらどうすればいいんですか?
499:名前は開発中のものです。
06/03/04 21:53:58 Msh9zdwX
>494
キーを入力しないと鳴らないんです。
main.cをコレで鳴るんじゃない?
mu_wok = 0;// 再生の直前に++のため、0からの値になります。
se_wok = 0;
PlayMusic(mu_wok,PLAY_LOOP_ON); //※追加
while(1)
{
>497
4つもの機能のちがう音源を制御するのが重そう。
ゲーム部分を軽くすることは出来ないでしょうか…
500:名前は開発中のものです。
06/03/04 22:08:24 Msh9zdwX
GBAプログラミング研究所って結局どうなりました?
どこかへ移転したとか…
日本のGBA開発に欠かせないサイトだったし、あれほどみんなが
利用していたのに突如閉鎖というのは有り得ない。
501:名前は開発中のものです。
06/03/04 22:30:48 ega3649d
>>498
SRAM(0x0E000000~)に数値書き込めばいい
502:名前は開発中のものです。
06/03/05 10:53:06 bBYTbtx/
>>500
管理人が捕まったとか
503:名前は開発中のものです。
06/03/05 11:16:39 JLfn0Pan
>>502
iswebからアマゾンの広告かなんかに警告出されたとかいうこと書いてなかったっけ?
それ放置してたら消されたとか?
504:名前は開発中のものです。
06/03/05 16:30:00 vg84cSdA
>>503
怒られたので消しました、って更新履歴にあったような気が?
今となっては確認が難しいが。
505:名前は開発中のものです。
06/03/05 22:27:41 aIloybH9
”捕まった”とか言うとデマに発展しそうな気がしてイヤンな感じ
広告掲載の方法についてサーバーの提供元から警告が来たので広告を消した、
というような更新が最後だった希ガス
確かにGBAの方は更新がほぼ止ってたような気がしないでもないが
DS用のページも作ってたみたいだし(DSの方はやってないのでよく知らないが)
更新意欲がなくなってそのままフェードアウトした感じではないのだが・・・
506:名前は開発中のものです。
06/03/05 22:32:48 ZGr9k1wh
DSの方の掲示板は業者スパムだらけだったな
507:名前は開発中のものです。
06/03/07 00:19:36 2maRPTXR
ソニックザヘッジホッグやロックマンとかの横スクロールアクションで
地形、足場の当たり判定をどのように持つかについて質問なんですが
素人考えだと
①タイルごとに当たり判定の属性を持つ。
②当たり判定のある背景だけを一つのBGに分けて
背景色以外の部分に当たり判定を持つ。
だと思うのですが
①だとタイル単位でしか扱えないため斜めの坂などの複雑な地形を作れません。
②だと坂とかも表現できるとおもいます。
でも、ロックマンゼロとかのマップデータをVBAで確認してみると
当たり判定がある部分と無い部分の背景が一枚のBGに描かれています。
この場合、どのように当たり判定を持っているのでしょうか?
作成するゲームによって当たり判定の持ち方は変わってくると思いますが
上記のようなゲームを作る場合はどのように当たり判定を持つのが一般的でしょうか?
参考になるサイトとかあれば教えてもらえないでしょうか?
508:名前は開発中のものです。
06/03/07 01:50:52 TN1OAFRk
>>480
つ URLリンク(gamdev.org)
509:名前は開発中のものです。
06/03/07 07:32:50 P11agiDo
>>507
当たり判定だけのマップを作る
そのマップが視覚的に見えてる必要は無い
510:名前は開発中のものです。
06/03/07 07:35:16 jNiGJUSI
>>507
BGにとらわれずに、マップのパラメータを配列の変数として持てばいいんじゃね?
床と傾斜の違いも同じく。
511:名前は開発中のものです。
06/03/07 22:33:51 GCKxwI5B
>>507の②は草の上を歩く場合、困ったことに…葉っぱ一枚の上にも乗っかってしまう。
>>509 510のやり方をになると想像。チップごとに当たり判定がある①の方法。
チップごとに次のような判定をする。
0…当たり判定無し
□□□□
□□□□
□□□□
□□□□
①…当たり判定あり。
■■■■
■■■■
■■■■
■■■■
②…当たり判定ありで次のような判定をする
■□□□
■■□□
■■■□
■■■■
③…当たり判定ありで次のような判定をする。
□□□■
□□■■
□■■■
■■■■
白い□の部分は当たり判定が無い。背景チップ番号を取得して0~③の場合に
分けて当たり判定。当たり判定の種類をもっと増やすこともできる。
これでマリオ風の坂道をなだらかに歩いて降りる表現もできるようになる。
チップ内の当たり判定だけど、上は4x4マスにしたけど、8x8ドットで
判定するなら8x8マスでの当たった/当たらない判定になる。
やったことないので想像です、スマソ。
512:名前は開発中のものです。
06/03/07 22:38:25 GCKxwI5B
>508
乙です。ありがたく使わせていただきます。
513:名前は開発中のものです。
06/03/10 16:21:11 /vUYzsUw
インターネットアーカイブがzipとかも保存してればなぁ・・・
514:名前は開発中のものです。
06/03/10 17:28:14 2iPTfRgc
つ URLリンク(www.liarsoft.org)
515:名前は開発中のものです。
06/03/11 03:21:32 wvglnkMZ
使用に堪えるデバッガ付きエミュってどれでしょう?
CowBiteとMappy Virtual Machineは中々いいんですが
前者は使いづらく、後者はエミュとして弱い
516:名前は開発中のものです。
06/03/12 22:58:52 oHXV1jml
タイルモードで512*512のBGを扱う際、
メモリ上の配列が256*256単位で左上→右上→左下→右下となっているのは
仕様ですか?
517:名前は開発中のものです。
06/03/12 23:37:14 Yfw9wRAT
仕様です
518:516
06/03/13 01:03:53 OoJGMs+j
>>517
レスどうもです。
なぜそんなことを聞いたかというと
市販ソフトのBGを見ると512*512でやっているのが多いんですが
なぜなのかなと思ったんですよ。
512*512にしろ256*256にしろスクロール部分を書き換えなきゃ
いけないのは一緒だし、だったら256*256でやったほうが
メモリ配列のことなんか考えなくていいし
VRAMの使用量もすくないじゃないですか。
なんでなんでしょう?
519:名前は開発中のものです。
06/03/13 06:13:07 CqXZ+TIn
>>516
タイルの配列は、2Kごとに区切られているような扱いをしてる模様。
Webでのサンプルは256x256はかりなので以外に気付かない罠。
>>518
256だと横幅が16ピクセルしか余裕がないからそれ以上のスクロール量が発生した時の案パイだと思われ。
520:任天堂本社より警告
06/03/21 20:45:17 5b78pgIg
任天堂本社情報通達部から本スレッドをご利用の皆様に警告します。
いかなる場合においても、ゲーム機本体および周辺機器、ソフトの内容を
改変する事は違法であり、個人使用もその限りではありません。
日本条例により罰せられますので早急におやめ下さい。
今回は警告という事で免除しますが、後日2ちゃんねる管理人に許諾を得て
なんらかの処分を決定させていただきますのでご了承ください。
法的手段に踏み切る事も視野に入れて検討中です。
アクセス解析等によりご自宅にお邪魔させていただく場合があります。
会社・学校・友人・親・親戚への連絡を行う場合があります。
521:名前は開発中のものです。
06/03/21 22:14:46 QjFV0BDn
>>520
なんだこれ?
気になって取説とパッケージ見直してみたけど、そんなこと書いてないね。
悪質ないたずらだな。
522:名前は開発中のものです。
06/03/22 08:47:24 a/VO7x3i
どうせ警告だすならマジコンスレでやってくれよ頼むから(w
523:名前は開発中のものです。
06/03/22 08:58:11 YwZnSigd
>>520
ダウト
情報通達部なんて部署ないぞ
やるとしても法務部だろ
524:名前は開発中のものです。
06/03/22 10:09:51 LO+kTHWz
"任天堂本社情報通達部"に該当するページが見つかりませんでした。
"任天堂情報通達部"に該当するページが見つかりませんでした。
"情報通達部"に該当するページが見つかりませんでした。
>会社・学校・友人・親・親戚への連絡を行う場合があります。
これ結構発想が古いよな
おっさんかな?とも思ったけど
情報通達部とかネーミングが安直杉て大人の考えた文章にも見えない
525:名前は開発中のものです。
06/03/22 15:43:49 xfpFN+qP
春だから変なのが出てきたな
526:名前は開発中のものです。
06/03/22 22:30:28 GCp07UCj
>>524
つーか、ワンクリック詐欺のメールによくある文面じゃないか?
527:名前は開発中のものです。
06/03/23 06:40:59 yzl+UCcc
GBAのソフト作りたいんですが、既にGBAプログラミング研究所は閉鎖?
っぽいですね。
PC用とiアプリくらいしか作ったことなくて
メモリを書き込むとかピンとこないんですが
私でもできますかね?
一応調べてはいるんですが、なかなか良いサイトもなくて。
みなさんはどうやって調べてますか~?
528:名前は開発中のものです。
06/03/23 08:38:46 hqVbe+bQ
>>527
つ Google
529:名前は開発中のものです。
06/03/23 08:44:08 yzl+UCcc
527です。
コンパイルくらいは出来るようにと思い、挑戦してみました。
devkitadvを使っています。
パスは通せていると思うのですが、コンパイルしようとすると
'gcc' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と言われます。
明らかに失敗しているんですが、理由がわかりません。
私がディレクトリ構造が解っていないからでしょうか?
今はc:\devkitadv\{include,bin,arm-agb-elf,lib}という感じになっています。
devkitadv内のディレクトリの中はイジってません。
530:名前は開発中のものです。
06/03/23 09:06:24 dQR3ranb
>>529
なんでその状態で「パスが通せている」なんて思うんだ?
531:名前は開発中のものです。
06/03/23 10:01:02 yzl+UCcc
>>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:名前は開発中のものです。
06/03/23 10:20:27 4oHn/BWJ
>コンパイルなんですが、
>int main(){}
>に warning: no newline at end of file って返してきます。
>これってドコガおかしいのでしょう?
えっと、これは多分
int main(){}[EOF]
になってるからじゃないかな?
int main(){}[改行]
[EOF]
にすればいいんじゃねーの?
533:名前は開発中のものです。
06/03/23 10:59:35 4oHn/BWJ
あと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:名前は開発中のものです。
06/03/23 11:11:31 4oHn/BWJ
リンク用スクリプトはこれかな?
(インストールディレクトリ)/ctrls/lnkscripts
535:名前は開発中のものです。
06/03/23 12:44:58 sIg8RrCZ
devkitproならインストーラあるからそっちのほうが楽じゃね?
サンプルもついてるし
536:名前は開発中のものです。
06/03/23 14:34:43 T8UKKPq0
スーパーカードSDってミクロでも使えるのか?
ミクロで使いたいんで買おうかどうか迷ってるんだが。
537:名前は開発中のものです。
06/03/23 15:25:44 o1aF/CaP
>>536
スレリンク(handygame板)
538:sage
06/03/24 02:14:18 ImOqKFUg
529です。
プログラム中の改行の問題は>>532の通りでした。ありがとうございます(><
crt0.oの問題についてですが、こちらは改善しませんorz
crt0.oというファイルがディレクトリ内にあるのでしょうか?
私はファイル検索にひっかかりませんでした。
>>533
arm-agb-elf-gccでコンパイルしても結果は同じでした。
やはりcrt0.oというファイルがないとダメなんですかねぇ(;´瓜`)
zip展開してディレクトリまとめただけなんですけどねぇ(´・ω・`)
539:sage
06/03/24 03:24:57 ImOqKFUg
名前: sage
E-mail:
内容:
>>538下がって無かった(´・ェ・`)
なんとか、自己解決しましてgbaファイルの出力までこぎつけました。
cannot find lc とか言われましたがgoogleの文面でなんとかできました。
それでコンパイルに関しては一応できたのでいいんですがディレクトリ構造について質問です。
コンパイルまでにいくつかファイルを移動しなければなりませんでした。
今は
下記のようになっているんですが、いくつか同じディレクトリ名のものが
ありますがこれは正常なのでしょうか?
これは同一ディレクトリとしてまとまっていなければいけないのでしょうか?
これからまた問題が起こる様だと嫌なので(゚Д゚;)
全然GBA開発っぽい質問じゃないですね、申し訳ないorz
540:名前は開発中のものです。
06/03/24 03:25:32 ImOqKFUg
☆参照
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:名前は開発中のものです。
06/03/24 09:41:39 VA7n455u
せっかくなので自分の環境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:名前は開発中のものです。
06/03/24 09:44:01 VA7n455u
失敗したのでもう一度
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:名前は開発中のものです。
06/03/25 02:45:10 O8/pDA5A
ん~、結構ちがうっぽいw
544:名前は開発中のものです。
06/03/26 17:31:57 7U+q1LYU
>>527
devkitadvにこだわらないなら、devkitproってのもあるぞ。
つURLリンク(sourceforge.net)
こっちはWindows用のインストーラもあって導入が楽だぞ。
横槍質問でアレなんだけど、ワイアレスアダプタの無線通信を受けたり、
送ったりしたいんだけど、規格とかの情報が載ってるサイトってありますか?
漏れの心の中にはありませんでした。
545:名前は開発中のものです。
06/03/26 20:02:36 M0ZU0si1
>>544
URLリンク(forum.gbadev.org)
URLリンク(forum.gbadev.org)
URLリンク(vbalink.wz.cz)
546:名前は開発中のものです。
06/03/28 21:13:27 Fmy3qIDJ
VHAMは人気ないのね・・・
GUIだから使いやすいのに
547:名前は開発中のものです。
06/03/28 22:02:28 GzxMWvBO
devkitproにもIDE環境付いてないか?
548:名前は開発中のものです。
06/03/28 23:16:11 14VFmU6o
>>547
今のはProgrammer's Notepadが入っているのか
至れり尽くせりじゃん
549:名前は開発中のものです。
06/03/28 23:20:56 2Tli5+F3
保守シツツ質問~。|-`).。oO(sage進行だったかしら…)
え~、いわゆる背景のような一枚絵を表示しようとして24bitカラーを16bit
長で変換するのはできたんですが。
GBAに組み込めません。
const unsigned short bg[]={0x48f3,0x48f3,0x48f30x,48f3……}
のような配列をVRAM転送しようとしたんですが、elfファイルへの変換
で詰まってしまいました。
ん~、これだけじゃ解らないと思うのでどこがわからないかも教えて頂ければ
その都度答えます。
どうぞよろしく<(_ _)>
550:名前は開発中のものです。
06/03/28 23:32:05 UREbAOXw
elfファイルへの変換って*.oファイル群をくっつける段階ってこと?
>arm-agb-elf-gcc -o Hoge.elf main.o AAA.o … リンカ用オプション群…
この段階でエラーが出るって事でしょうか?
551:名前は開発中のものです。
06/03/29 02:04:54 WkICK/I5
>>549
ヴァカには無理だから諦めろ
552:名前は開発中のものです。
06/03/29 10:03:26 r+qS9JpC
>>549
bin2oとかいうものをさがしなはれ
553:名前は開発中のものです。
06/03/29 12:23:13 Jy2dPNlV
objcopy 使えよ。
554:549
06/03/30 05:54:46 2KH+avLQ
え~っと、*.oは使ってません。objcopyもつかってます。
因みにバイナリファイルじゃないのでbin2oはいらないのでは?(-_-;)
arm-agb-elf-gcc -oだけでいってます。
コンパイルは自作のプログラムにしちゃってソース消しちゃいました(;;
配列にcg=[0x7fff,0x2344…}って感じになってます。
555:名前は開発中のものです。
06/03/30 09:06:25 ogJM85e3
>>554
なんかちょっと >>551 が正解な様な気がしてきた。
まともに説明できる自信が無いなら
「やったこと」と「結果」を全部そのまま貼れ。
特にエラーメッセージは一字一句変えずにコピペすること。
556:名前は開発中のものです。
06/03/30 10:09:46 40ZORAcq
arm-agb-elf-gcc でコンパイルしている時の引数を正確に書いてくれ
#多分text領域指定が間違ってる(指定していない?)からgccの中の人が
#RAM領域に配置しようとして「場所がないぞゴラッ!!」って言ってるだと予想
557:554
06/04/02 05:20:18 5zOmLFeS
なんか、ひさしぶりに触ったら問題はあるものの表示までできました(-。-
質問に答えてくださった。
>>550,551,552,553,555,556
みんなありがとうございまいした(><
またヴァカで解らなくなったらききにきます(´・ェ・`)
558:名前は開発中のものです。
06/04/02 07:26:03 pqlR3pBE
>>557
自分でできたにしても解決方法を書き残すのが最低限の礼だ。おぼえとけ。
559:名前は開発中のものです。
06/04/11 16:57:08 1tPl+P9e
早くDSエミュがまともにならないかなぁ
今はまだ手をつける気にならん。
560:名前は開発中のものです。
06/04/12 21:43:04 eCr+OvCf
URLリンク(www.msh-tools.com)
コレと同じような事をしたいと思っています。
GBAの通信ポートの最低速度は9600BPSですが、4800BPSの機器と通信することはできるのでしょうか?
信号のHI/LOを一定間隔でポーリングして8ビットずつビットを詰めてバイトにしたりできるんでしょうか?
ノウハウなしで妄想を書いてみたんですが、実際どうすればいいんでしょうか?
561:名前は開発中のものです。
06/04/12 22:52:25 Pdaasamk
おお、かっこいい
とりあえず、地図データは国土地理院から入手すればいいのか。
なぜかちょうど今見てるところだw
数値地図(空間データ基盤)の閲覧(試験公開)
URLリンク(sdf.gsi.go.jp)
数値地図2500(空間データ基盤)について
URLリンク(www.gsi.go.jp)
サンプル
URLリンク(www.gsi.go.jp)
URLリンク(www.gsi.go.jp)
通信ポートはワカンネ。
単純にシリアル通信なら何とかなるのかな?ちょうど整数倍だし
562:名前は開発中のものです。
06/04/12 22:59:14 Pdaasamk
予想(根拠無し):
定期的に割り込みかけてポートアドレスを監視。
アドレスを読んだ結果をリングバッファかなにかに記録していく
これでなんとかならんかな?
563:名前は開発中のものです。
06/04/18 18:57:27 L6MQWgAf
ここに誘導されたので再度質問です。
GBAアーケドエミュ関連現在開発進んでるのかな?
UPL系はGBAに解像度近いからRemudvance01Src参考にうまく導入してみたいけどいまいちコンパイル環境手順が分からなかったり
参考リンク
URLリンク(hem.passagen.se)
564:名前は開発中のものです。
06/04/20 15:30:08 7OthIVhC
Dragon BASICの制限がいやなんで
Ver 1.4.1やってるんですけど、
このVerはローカル変数なし?
565:564
06/04/22 02:35:28 uGulsd+Z
すいません、自己解決しました 自分の勘違いでした
BASICの事もよく知らずに手を出したのがそもそもの間違いでした
Dragon BASICってどのBASICに近いんですか?
566:名前は開発中のものです。
06/04/27 00:23:16 aBoGbIWj
PascalでGBA開発しようってページがあったと思うのですが、
どなたか知りませんか?
Delphi使いなので、Cよりよさそうに思えて
567:名前は開発中のものです。
06/04/27 00:30:05 aBoGbIWj
これかな?
URLリンク(itaprogaming.free.fr)
いや、他のページで見たような・・・
ここか!
URLリンク(fpc4gba.pascalgamedevelopment.com)
568:名前は開発中のものです。
06/05/06 20:28:44 Uqj9gm5h
GBA WIKI
URLリンク(f26.aaa.livedoor.jp)
こんなのあるんだぜ
おれたちまだまだやれるんだ!
569:名前は開発中のものです。
06/05/09 00:27:24 Nv+mbjmE
GBAで mameを動かせませんか?
570:名前は開発中のものです。
06/05/09 02:59:23 eqJo6wAB
mameってソース公開されてんだから、569が移植すれば動くんじゃ?
571:名前は開発中のものです。
06/05/09 22:09:18 6xd2h4+n
>>570
頭いい!! 気付かなかった。
572:名前は開発中のものです。
06/05/13 17:43:00 OsxHn0Ej
誰か前スレのログ持ってませんか?にくちゃんねるには無くて…。
573:名前は開発中のものです。
06/05/14 23:16:33 Jm7sUt47
gbaをbinに変換するソフトでおすすめはありますか?
いろいろ探しているのですが…
574:名前は開発中のものです。
06/05/15 22:24:21 DwdJ4zT9
MOTHER3をやってて、
RPGを作るならGBAの性能があれば十分だと悟った。
ひさしぶりのGBAだがやるぞ。
やっちゃる。
575:名前は開発中のものです。
06/05/23 03:50:20 wGCAP7LG
>>572
URLリンク(grugru.mine.nu)
975までしかないけどログ
576:572
06/05/24 15:18:05 aWvyhvvF
頂きました。サンクス。
577:名前は開発中のものです。
06/05/29 20:09:31 jhiqce0m
誰か研究所にあったVisualHAMのDevkitAdvance用テンプレート持ってませんか?
578:名前は開発中のものです。
06/05/30 21:03:09 lX9ZFjmr
>>577
ここの下の方に・・・
URLリンク(merl.ec.t.kanazawa-u.ac.jp)
579:名前は開発中のものです。
06/05/30 21:50:07 j6SFvMMD
>>578
おぉ!ありがとうございます!
それにしても何で研究所なくなったんでしょうね?
580:名前は開発中のものです。
06/06/18 08:30:21 Iwgpk4q4
GBAの次はNDSかな
581:名前は開発中のものです。
06/06/19 20:44:22 lrDe9uLw
>>580
やるとしたら、合同スレ?
582:名前は開発中のものです。
06/06/21 09:42:50 Oos3inT2
GBAでゲーム作る手順だけど、みんなどうやってる?
自分はまず、WINDOWSのVCで240x160のウンドウサイズでゲームを作ってから
GBAに移植するようにしています。
理由は、コンパイルもその方が早いし、ツールも充実してるから。
583:名前は開発中のものです。
06/06/22 03:07:18 XW6d1QEA
ツールが充実してても、結局は移植の際に手間がかかるんじゃね?
584:名前は開発中のものです。
06/06/22 03:23:46 vS7x8MJH
>>583
Cだから関数さえ用意すれば、数時間で移植出来るよ。
そのかわり、GBAのハードスペックに合わせた作りしなくちゃいけないけど。
それより、一番面倒くさいのは、データをバイナリに変換する作業。
ちっとも楽しくねぇ
585:名前は開発中のものです。
06/06/22 21:24:46 2jXoXtXB
>>584
> 関数さえ用意すれば
これが一番苦しくてやらない奴続出な罠。
586:名前は開発中のものです。
06/06/22 22:22:26 pTqJvHvW
関数セットが用意されてれば楽なんだけどね。
587:名前は開発中のものです。
06/06/23 00:23:34 jbDE0Qdh
エディタとしてVCを使ってる
コンパイルが通るところまでVCでやってcygwin上でmakeしてエミュ上でチェック
Insightデバッガがなぜか使えないのでVC?エミュを細かい単位で繰り返してます
C++の例外的なデバッグ用マクロ作ってソースの中に埋め込んでるし
ライブラリを作る時にVC上でもデバッグもできるよう単体テストプログラムも平行して作ってる
最悪画面なしでデバッグ出来るようgba.hをVC上でも動かせるように改造してるので
何とかなってる、のかな?
588:dささfsdfs
06/06/27 03:18:06 yZB52bbM
竜の戦士をVBAでやっているのですが、マップ上で装備画面とか道具画面が見れません;;何か特別な操作方法でもあるのでしょうか?ごぞんじのかたおしえてください><
589:名前は開発中のものです。
06/06/27 09:05:11 WebWAjXw
>>588
市ね
590:名前は開発中のものです。
06/06/28 00:09:29 WdTnG40v
普通にエミュ+Devkit使った方が、簡単じゃね?
それ以外の方法で作ってる香具師がいたなんてビクーリ
591:名前は開発中のものです。
06/07/05 00:05:09 ra5FwpZJ
VisualHAMだっけか、あれ開発しやすいね。
592:名前は開発中のものです。
06/07/25 00:34:26 4v+uyAFm
>>264
亀レスにもほどがあるけど、こんなもんでいい?
URLリンク(forums.zhilaware.starfusion.org)
593:名前は開発中のものです。
06/07/25 01:40:38 U994UVSu
GBAを電子ブックにしたら便利じゃね?
とか思ったのですが自力でそんな物作れない上、検索してもその手のソフトは見つかりません。
すでに公開されてたりしないでしょうか?
なかったら仕方ないのでやってみるつもりですが
Cなんてコマンドプロンプト上で計算させるくらいしか出来ないのでちょっとキツイ
594:名前は開発中のものです。
06/07/25 18:20:40 Xal8c/qW
>>592
これって最終版で使えるの?
595:名前は開発中のものです。
06/07/25 21:25:41 kSvtGVTG
>>594
2.0.2ならいける。
簡単な試し方としては、sampleのGAPMANあたりで
音を容量が大きなものに変更したりなんかするといい。
上記方法で、コード未記入で128KBリミットエラー、記入するといけた。
596:名前は開発中のものです。
06/07/26 16:40:18 fHmjjFuN
f2a使いだが。セーブするとクラッシュするのがある、、、
597:名前は開発中のものです。
06/07/28 23:13:23 pQfRcCXe
>>593
つ URLリンク(www.geocities.jp)
598:名前は開発中のものです。
06/07/28 23:30:50 ILCF31zU
GBA SP 以降の本体はバッテリーで動いてますが、
このバッテリーの残り容量って何処かのレジスタとかで知ることって
できるんでしょうか?
599:名前は開発中のものです。
06/07/28 23:33:52 Inp46MmS
できない
600:名前は開発中のものです。
06/07/29 00:19:44 vqUDD/EX
ありがとうございます。
メニューとかで残り容量をパーセント表示できれば
便利かなと思ったんですけど残念です。
601:名前は開発中のものです。
06/07/29 00:50:52 lpRblFOt
>>596
環境と状況、再現方法が分からない。
詳しく書くと回答があるかも知れない。
602:名前は開発中のものです。
06/07/29 05:16:54 VU8bWXZr
>>601
空ロムはf2a ultra 512メガで三国志 信長の野望 この二つだけセーブするとクラッシュ。
他のはセーブできるんだが、、、でクラッシュ後でバックモード〔パソコンに繋いでセレクト+ab〕で見ると、sramエラー、、
このふたつでだけなんだよなー、、、、
603:名前は開発中のものです。
06/07/29 05:26:02 M8WNXU2q
マジコンスレでやれ
604:名前は開発中のものです。
06/07/29 19:35:49 lpRblFOt
なんだ、自作ROMじゃなかったのか。
605:名前は開発中のものです。
06/07/31 00:24:52 I8BNhVVH
>>597
ありがとうございます。
606:名前は開発中のものです。
06/08/01 01:17:52 039nNzKB
SRAMのサイズは 32KB と 64KB がありますが、
このサイズ情報ってカートリッジの隠しヘッダが何かで
指定できたりしますかね?
EZClient のデフォルトだと 32KB にアサインされるので、
普段は 32KB にしているのですが、
自動的に 64KB と認識させることが出来ると、
SRAM 空間が広がって嬉しいかなと。
607:名前は開発中のものです。
06/08/01 12:57:20 cmFrblxi
自分で調べろ
32KBの場合ミラーリングされるから
64KB空間に書き込んで32KB空間に変化が出れば32KBとして扱え
608:名前は開発中のものです。
06/08/02 23:36:16 uFl4wB70
>>607
ありがとうございます。
32KBでも64KBでも動くようにゲームデザインをするのは
手間がかかりすぎてしまうので
それならば 32KB 決め打ちで作ってしまう感じですね。
かといって 64KB のみ対応で作ってしまって、
32KB の場合に「64KBの設定で焼き直してください」とするのも
ありえない感じがするので、
ROM 焼きの際に確実に 64KB を保証させる方法が
ないかどうかは引き続き調べてみます。
609:名前は開発中のものです。
06/08/03 08:42:51 jp84eOiV
何とんちんかんなことを言ってるんだ?
610:名前は開発中のものです。
06/08/03 18:55:58 CqYcVTC5
はげはひっこんでろ
611:名前は開発中のものです。
06/08/03 20:38:32 4JgSJQVV
んー、とんちんかんですか……。
SRAM を使用するゲームの公開をする際に悩ましい問題だと思っているのですが。
ちなみに、SRAM を使用するゲームを公開している方は
何か工夫とかされてますでしょうか?
EZ とか F2A とかに焼いて遊んでくれる人が
EEPROM 形式とかで焼いてしまってセーブ出来ないという事態を出来るだけ
避けたいという気持ちもありますし。
(確実に SRAM 64KB で焼いてもらえる方法があれば、
SRAM 32KB でなくて、SRAM 64KB を使いたかったので質問しました)。
612:名前は開発中のものです。
06/08/04 00:09:49 klI4CtM6
>>611
readme書いとけ
613:名前は開発中のものです。
06/08/04 01:32:08 sySwsE88
EEPROM 形式と来たか
とんちんかんにも程があるぞ
>EEPROM 形式とかで焼いてしまってセーブ出来ない
EEPROMに書き込むコードを自分で書かない限りEEPROMが使用されることはありえないわけだが
>確実に SRAM 64KB で焼いてもらえる方法
F2Aは確実に64KBありバンク切り替えで通常256KB最低でも128KB使用できるわけだが
Pogoshellにしてもデフォルトで64KB設定になっているわけだが
EZClientの件については>>612
何が悩ましいんだ?
614:名前は開発中のものです。
06/08/04 01:52:10 sySwsE88
反省はしてないが少し悪意をこめ過ぎた
はげは遺伝で俺のせいじゃない
615:名前は開発中のものです。
06/08/11 11:13:04 edGLQjp3
◆ (No Subject) / 三国志 信長の野望 で
flash2advance ウルトラ 512 がセーブすると固まり、デバックモードでみるとsramエラー
このソフト以外はセーブ出来のにセーブ形式っ一応すべて網羅してますよねこのーカード
2006/07/27(Thu) 17:56:18 [No.3522]
616:名前は開発中のものです。
06/09/15 12:07:00 NHtCgRBY
まぁ無理だと思うけどバーチャルコンソールで自作ゲームが動けばいいなage
617:名前は開発中のものです。
06/10/02 02:19:05 G8hRGYQD
URLリンク(mightymax.org)
これのGBA側もマルチブートにしたいんだけど、どっかに情報無いですかね。
618:名前は開発中のものです。
06/10/02 11:33:47 b0JWh8R+
>>617
標準でGBAローダーが付いているのだが。
もちろんGBAROMはマルチブートで作成すること。
619:名前は開発中のものです。
06/10/08 21:49:25 4xsfh3Uv
みんなNDSに行ってしまったのかのぉ・・・
620:名前は開発中のものです。
06/10/24 06:12:37 ZAHl0B0T
>>619
GBAでゲーム作っても遊んだ人からの反応まったくないし
作っても公開しなくなった
理由は自分のゲームがヘボイからかもしれないけど
中国サイト行けば市販のゲームがゴロゴロしてるんでわざわざ個人が作った
ゲーム遊ぶ必要ないからかなとも思ってる。
90年代初期はメールもなかったのにしょーもないゲームを作っても
わざわざ手紙で感想を送ってくれる素晴らしい時代だっただけに
開発環境が整った現代でこのような状況は残念でならない。
そんなわけでNDSでゲーム作れるようになっても公開する気全然ないし
1人でニヤニヤしながら自分の作ったゲームを眺めるだけになりそう。
まぁ、それはそれで楽しいんだけどw
40歳近いオヤジのグチでした。
621:名前は開発中のものです。
06/10/24 15:26:23 cYlleL0y
飽食の時代だからよほど美味しいものでない限り感想なんて出ないよ
622:名前は開発中のものです。
06/10/26 03:20:46 24QDK3Yd
日記はチラシの裏へ
623:名無しさん@ピンキー
06/10/28 13:47:39 gjo4UGO4
枯れた名無しの水平思考:2006/10/28(土) 10:56:32 ID:+NQmeL9E0
624:名前は開発中のものです。
06/10/28 17:15:12 xWspkZfp
そうか
625:名前は開発中のものです。
06/10/31 16:54:30 yUNj5TBp
今から(今更?)「Linuxから目覚めるぼくらのゲームボーイ!」を片手に開発しようと
しているんだが
頑張って作って公開してみるよ
11月中に公開できるように頑張ってみる
626:名前は開発中のものです。
06/11/01 07:04:47 /sm3ufDZ
>>625
ケーブルつきのってまだ売ってます?
売ってるところ知ってたら教えてください。
627:名前は開発中のものです。
06/11/01 20:04:33 Guie0q3r
大阪梅田のジュンク堂にはまだあった
他にも梅田か日本橋か天王寺で一つ二つ見かけた気がする
628:名前は開発中のものです。
06/11/06 20:09:23 KtIFIqw2
>>620
遊ぶために機器が必要だったり知識が必要だったりするから気軽に遊べないんだろう
629:名前は開発中のものです。
06/11/07 01:50:38 AW0GICw7
ACGのローダーってないですか?
630:名前は開発中のものです。
06/11/28 17:59:17 lYNXLR4z
なぜか玄人受けしてるGBA
インターフェース2007年1月号
ゲームボーイアドバンスをゲームパッド入力に使おう
URLリンク(www.cqpub.co.jp)
昔からあるゲーム・パッドは,ボタンのON/OFF の情報しか存在しなかった.しかし最近は,スティックを倒した角
度を判別できたり,加速度センサを内蔵して,「傾ける」,「振る」というような動作を入力できる.ここでは,汎用または
特定のゲームに最適化したゲーム・パッドをUSB のHID として実現する方法について解説する.
URLリンク(www.cqpub.co.jp)
631:名前は開発中のものです。
06/11/28 18:59:45 CQsPXXr+
玄人受けというか、ARM7の教材として扱いやすいから?
632:名前は開発中のものです。
06/11/28 22:55:47 mND01pQW
元々アドバンスのソフト開発の本出してる人じゃなかったっけ?
633:名前は開発中のものです。
06/11/29 00:46:30 PE+92vg7
>玄人受けというか、ARM7の教材として扱いやすいから?
まぁInterface的にはそうだろうなぁ・・・
でも現実問題としてCPUなんて気にする?Cで書いてあとはコンパイラまかせじゃない?
>元々アドバンスのソフト開発の本出してる人じゃなかったっけ?
そーすね、TeamKNOx ってのは結構みる名前だね
URLリンク(www.teamknox.com)
634:名前は開発中のものです。
06/12/12 12:32:09 6ZcgJMVe
GBAプログラミング研究所のサンプルソースとか保存されてる方。出来れば、ページ全部保存されている
方とかいらっしゃいませんか?
URLリンク(72.14.235.104)
web archiveとかだと圧縮ファイルとかが無かったり、ページが残ってなかったりするんですよねぇ…
635:名前は開発中のものです。
06/12/14 02:04:38 vETQ7Qmk
super cardのSD版を使っているのですが、
自作のソフトが古いファームでは動くのですが、最近のファームでは動かなかったり。
原因らしきものをご存知の方、いませんでせうか。
636:名前は開発中のものです。
06/12/26 01:28:36 7oMVjVXx
>>634
俺も欲しいなぁ。ソースとページ合わせて
500円位なら出してもいい。
637:名前は開発中のものです。
06/12/27 01:19:21 B3711zVe
>>634,636
URLリンク(www.liarsoft.org)
ここにちょっと残ってたよ
638:名前は開発中のものです。
06/12/27 22:58:49 IYuKdSXr
>>637
ありがとう!!随分と助かりました。
639:636
06/12/30 15:23:02 0mYHchrL
>>637 頂きました。ありがとう。
それはそれとして、GBAプログラミング研究所のログ(html、ツール、ソース等)
なるべく完全な形で持ってる方、譲って頂けないでしょうか?
640:名前は開発中のものです。
07/01/02 16:05:42 5lu1SnWM
>>639
サンプル関係のソースは
>>637 のページで上がってるヤツが完全じゃないかなぁ
ツール類が無かったから上げといた
BMP2RGB12a
URLリンク(gamdev.org)
WideMapEditor08
URLリンク(gamdev.org)
ツールは
URLリンク(www.gbadev.org)
に揃ってるし、自分に合うのを探すなり、自作するなりしなよ
641:名前は開発中のものです。
07/01/02 18:54:04 2qSyyt6K
>>639
ある程度は自分で何とかしないと、道具だけあったって
いつまでたっても完成しないぜ。
642:名前は開発中のものです。
07/01/25 03:02:53 M87w4hor
h
643:名前は開発中のものです。
07/02/25 15:53:52 6fWnPDMq
上のツールとログ感謝。
プログラミング初心者だけど少しずつ勉強してます。
644:名前は開発中のものです。
07/03/29 00:37:24 82qQevcM
DragonBasicでプログラミングをしたみたいんですが、
どんなサイトや本で勉強するのがいいでしょうか?
また、どのBasic言語に近いですか?
645:名前は開発中のものです。
07/03/29 21:18:19 YDI3ylWF
DragonBasicやるぐらいなら Cの方が良くね?
資料やサンプルも多いし。。。
646:名前は開発中のものです。
07/03/30 22:12:15 YkDKnwst
上に同じく、DragonBasicだけはお勧めできない。
まだVisualHAMの方がましかと思われ。
647:名前は開発中のものです。
07/04/02 22:07:34 0q+4yudy
AGE
648:名前は開発中のものです。
07/04/17 16:29:53 P6JhDjR/
誰かすずめ愛好会のログ保管してる方いません?
649:名前は開発中のものです。
07/04/20 17:48:19 i9Q+t8gp
>648
URLリンク(web.archive.org)
今年最初も消えた騒ぎあったから、たぶんまた復活するよ
・・と思ってたら今度は「閉鎖します」ってあるね。
どうしたんだろう・・
DSはエミュの準備が遅れたせいか盛り上がりが今ひとつだし。
コンシューマーで趣味で開発するのも下火になってくのかな
PS、DC以降になるとパソコン用のゲームを作るのとなんら変わり無いし。
そういや最近はXBOXのゲームを開発できるとか。
650:名前は開発中のものです。
07/04/20 17:50:22 uuMZCywc
651:名前は開発中のものです。
07/04/20 17:53:27 i9Q+t8gp
URLリンク(www.gbadev.org)
こっちも二ヶ月ほど更新ないし保存したい人は急いで・・・
と見てみたら更新キター(涙)
652:名前は開発中のものです。
07/04/27 02:08:37 DA6N3Znq
>>649
この前移転したばっかじゃん…と思ったら消えてた。
まぁ研究所と違ってhtml保存しといたからいいけど、
すずめ愛好会はGBAの項書きかけなんだよな。
653:名前は開発中のものです。
07/05/01 16:14:42 PWiUSG0M
「ゲームボーイのプログラム・改造マニュアル」って本読んだ事ある人居ますか?
買おうかと思ってるんだけど
ゲーム制作に生かせそうな内容なのかな?
654:名前は開発中のものです。
07/05/01 19:52:28 GE2MjvK1
ゲームボーイの構造を理解するのには使えると思う。
開発環境の導入からわからなかったり、自作のフラッシュカートリッジを作るつもりなら買うといい。
ゲーム製作についてのノウハウに期待するならやめておいた方がいい。
655:名前は開発中のものです。
07/05/03 00:08:58 D5OchpDV
>>654
遅れながら参考になりました、ありがとうございます。
656:名前は開発中のものです。
07/05/07 00:05:29 OG5zBZdn
書籍つながりで、さっきヤフオクでケーブル付きのGBA本が
かなり競った結果、定価以上で落札されてた。
書籍は相当薄かったから価値の殆どはケーブルだろうけど。
とりあえず、昨日定価で売ってるところ見つけたんで買いに行ってくるわノシ
657:名前は開発中のものです。
07/05/13 11:57:01 wW9pgdXS
押入れから昔買ったパラレル用のブートケーブルが出てきた
いつ買ったか記憶にねえけどこれを使って遊んだ記憶はある
USB版もあるらしいけどもう売ってないんだね・・・
658:名前は開発中のものです。
07/05/30 00:46:12 FQR+i3Gi
これからやろうと思うんだけど、どの環境でやるのがおすすめ?
devKitProはインストール簡単って聞いたけど、これでよい?
659:名前は開発中のものです。
07/05/30 07:51:59 bMMHSJx3
>>658
devkitProとVC2005EEおすすめ。
660:名前は開発中のものです。
07/06/06 23:28:50 sfjb+KuV
ありがとう
661:名前は開発中のものです。
07/07/11 15:37:40 yUK6R5E5
lfwgewreheh
hjyjrwyjwj
ryuklryul
ryeyet
ylflily
sdbhsfhfsd
yrlyrli
662:名前は開発中のものです。
07/09/15 13:41:17 KXWFvYd6
GBA で弾幕 1024 発
URLリンク(gba.pqrs.org)
弾幕ゲー
URLリンク(gba.pqrs.org)
URLリンク(gba.pqrs.org)
663:名前は開発中のものです。
07/09/15 18:35:07 odGWNMQb
>>662
前に見たけど、
今見ると、スプライトダブラーすごいよなあ
他の発売されたソフトでもやってたんかな?
664:名前は開発中のものです。
07/09/17 23:06:03 01k7iDJx
>>662
何か知らんがやる気が湧いてきた。ありがとー。
665:名前は開発中のものです。
07/09/18 13:11:31 X/1lrDkx
>>663
8bitの時代からある技法だよ。
666:名前は開発中のものです。
07/09/19 03:28:20 /41S7z44
Macで作ってる人居ますか?
667:名前は開発中のものです。
07/09/25 03:48:54 Wtxosh+4
ゲームボーイのプログラム・改造マニュアル
ゲームボーイプログラミング入門
両方吸出し機とかの方に力入れてて全然役に立たなかった。
特に後者はGBAを表紙に入れておきながら殆ど触れていない。
一緒に買ったC言語超入門―Windowsでゲームボーイのプログラムを作ろう!は使えたなぁ。
668:名前は開発中のものです。
07/09/28 04:26:30 3PURGaCN
すいません、質問させて下さい。
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:名前は開発中のものです。
07/09/28 07:29:04 MwwoigrE
境界揃えようとするから。
&graphicpat_t->sprites[0] でアドレス出力してみりゃいい。
typedef struct{
u16 tileno ; // 使用するタイルデータ番号
u8 usespritenum ; // 使用するスプライトの数
ここにダミーが1バイト
spritedata_t sprites[USE_SPRITE_NUM] ; // スプライトの情報
u8 dummy[1] ;
ここにダミーが3バイト
} graphicpat_t ;
多分こうなってる。
670:名前は開発中のものです。
07/09/28 07:54:45 S2twr9xc
詳しいことはこちら。
URLリンク(www.jp.arm.com)
対処法はこんな感じで。
#define __PACKED __attribute__ ((__packed__))
typedef struct{
u16 a;
u8 b;
u16 c;
} __PACKED ST_TEST;
671:名前は開発中のものです。
07/09/28 10:15:25 MwwoigrE
dummy[1] を上に移動するだけでもいいよ。
672:名前は開発中のものです。
07/09/28 17:57:30 3PURGaCN
>>669-671
あれから自分でもパディングの事を調べてみたんですが、
パディングって構造体の最後だけじゃなくてメンバの途中にも入るんですね。
メンバがu8一つだけの構造体のサイズを調べると2バイトになっていたり、
u8二つの構造体のサイズは4バイトだったりするのが謎だったりで
まだちゃんと理解できてはいないのですがとりあえず
graphicpat_tのdummy[1]をusespritenumnumの次にする事でうまくいってます。
レスありがとうございました。
673:名前は開発中のものです。
07/09/29 19:37:52 Yyp6PcC5
.cファイルに書いた場所(順番)によって、ポインタが指す場所が変わるのですが、
原因がわかる方はいらっしゃいますか?
具体的には
const u8 hogebindata[HOGE_SIZE] ; // .oファイルから
HOGE* pHoge1 = &hogebindata[0] ; // HOGE構造体のポインタ
HOGE* pHoge2 = &hogebindata[0] ;
これでpHoge1とpHoge2の指す場所が変わったのですが。
674:名前は開発中のものです。
07/09/29 20:45:51 /Cn9Hphu
その現象は確認したことがないので
お役に立てないかも。
指す場所が変わったというけれど
1,2バイト程度のズレなのか、全然無関係な
アドレスを見ているのか気になります。
前者ならコンパイラの最適化の影響?
volatile修飾子つけてみてはどうでしょうか。
もしくは
HOGE* pHoge1;
HOGE* pHoge2;
pHoge2 = pHoge1 = &hogebindata[0];
でやってみるとか。
675:名前は開発中のものです。
07/09/29 22:41:19 Yyp6PcC5
>674
レスありがとうございます。ズレも定義する位置毎に変わったり、
さらには他の部分の関数等の量(?)にも変わったりするので良く解りません。
とりあえず、今まではグローバルで定義と初期化をしていたのですが、
初期化をAgbmain()の冒頭にしたら見かけ上はうまく行きました。
原因が解らないのが気持ち悪いところではありますが…。
676:名前は開発中のものです。
07/09/30 13:48:51 2cArtL+Y
・u8型なのに、HOGE*型で参照しようとするので
キャストがおかしくなっているのかもしれない。
・Agbmain関数と聞いて、開発環境が
DevkitAdvanceではないかと思いました。
もしそうならばdevkitProに変えてみるといいかも。
・最終手段で、バグのままの状態でプロジェクト一式
アップしてみるとか(ぉ。
これぐらいしか思いつくことはないので
後は傍観させていただきます。
677:名前は開発中のものです。
07/09/30 14:47:25 3pf8Eidk
全部じゃなくても、そちらの環境で再現する最小限のソースをうpしてみなよ。
678:名前は開発中のものです。
07/10/01 06:09:01 47UHIi+z
>676
片方が駄目で、片方は普通に使えるというのが謎なんですよね。
コンパイラの最適化関係で、何かされているのでしょうか。
makefileは他のサンプルをそのまま使っているので、
その辺のオプションは弄くれていないのでそういう事もあるかも知れないです。
それとお察しの通り、DevkitAdvanceを使ってます。
自分もdevkitProに変えたいのですが、いまいちやり方がわからず…。
もうちょい弄ってみます。
ソースは上げられませんが、HOGEの中身はu16 data[8]だけです。
>677
どれくらいの量でズレが起きるのかがイマイチ解りません。
新規に初めてみて試してみます。
679:名前は開発中のものです。
07/10/03 14:03:17 XInTGgcu
コンパイラはDEVKITのどのバージョンですか
680:名前は開発中のものです。
07/11/01 03:19:46 zUdctaSC
2バイトパレットってBIT15は未使用のはずなのに、
ゲームによってはBIT15が1で、+8000hされてる色が
稀に使用されていたりして、用途がさっぱり解らないんだけど
誰かわかります?
色違いキャラなどで、同じ色が使用されている時に片方のみ
+8000hされてるなんて事はないから
意図的な設定なんだろうけど
681:名前は開発中のものです。
07/11/01 03:21:30 zUdctaSC
同じ色が含まれている、の間違いです
682:名前は開発中のものです。
07/11/01 03:57:10 bsWY8rCq
なんの根拠もないが、なんかのフラグで使ってるんじゃないか?
たとえば、パレットアニメの対象外にする時にビットを立てておくとか。
683:名前は開発中のものです。
07/11/01 05:48:27 ep0Z0ILK
>662
変なのー。
周りのやる気をなくさせようという気がまんまんだね。
言ってることとやってることが違うと何だか腹立つ。
…やってること自体は簡単だから、「すごい」とか騙されては駄目だよ。
一介のプロのつもりなんだろうけど、むしろ手抜きが目立つね。
サウンドも背景もちゃんと凝った方が全体の評価は高い。
684:名前は開発中のものです。
07/11/01 09:42:31 ihkhmp1x
>>680
GBAだと使用しないけど、NDSだとBIT15は透過フラグになってて、モードによってはそのBITを立てて使う。
NDSのプログラムでも使えるようにしてるか、git(データの変換)なんかでフラグ立てる設定で
変換したのを間違ってそのまま使ってるんじゃないかな。
685:名前は開発中のものです。
07/11/02 17:34:57 mn9t6mJD
透過フラグの存在は初耳です。
でもキャラスプライトに二つ以上の透過色が
必要な使われ方はしてなかったようです。
何かのフラグが残ったままって可能性はありそう。
>>682
そういうケースもありそうですが、
パレットアニメが使われてた様子はないっぽいです
686:名前は開発中のものです。
07/11/02 22:13:41 IwsTzJ5B
聞いたことないけど
もし'何かある'としたらブレンドモードだと思う。
どんな状況で表示されてるスプライトなんだ?
687:名前は開発中のものです。
07/11/03 10:22:21 gtw8DYou
>>685
NDSはスプライトにはタイルだけじゃなく、ビットマップも使えるようになってる。
ビットマップだと0番パレットみたいな透過色の代わりに、BIT15立てることによって透過を実現してるんじゃない。
688:名前は開発中のものです。
07/11/05 08:24:18 WSMZViqh
俺にもビット15が0で色が表示されないと悩んでた時期があった
689:名前は開発中のものです。
07/11/15 20:19:19 LZz2LXH5
携帯電話の液晶を再利用したボードPC「DVIEW」
URLリンク(slashdot.jp)
スプライトは使えないけど、オイラ的には実機でも動かしてみたいからこれ買うつもり
性能的にはこんなもん
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:名前は開発中のものです。
07/11/16 05:22:54 FnKxVSr6
メモリ 40Kbで、一体なにができるんだw
691:名前は開発中のものです。
07/11/16 06:49:53 oFaiRmep
40KBの間違いだろ
692:名前は開発中のものです。
07/11/16 07:05:03 FnKxVSr6
40KBでも同じこと
693:名前は開発中のものです。
07/11/16 12:22:54 oFaiRmep
>>692
最初に買ったパソコンはRAM16KBだったがいろいろ出来たぞ
694:名前は開発中のものです。
07/12/05 01:08:25 q7aGDUhk
全くの初心者なんですが質問させてください
既存のゲームをベースにポケモンやメダロットやFFなんかを、
テキストやら音楽やら絵やらパーツやらモンスターやらを追加したり差し替えたりして作りたいと思っているのですが
おおまかな手順と必要な知識を教えてください
695:名前は開発中のものです。
07/12/05 02:10:37 FhM2zJFq
簡単に言うと板違い。
gameurawazaに行って下さい。
難しく言うと
差し替え→コンスタント領域から該当箇所を見つけてリプレース
追加→コード領域からコンスタント領域参照部分を見つけて分岐もしくはテーブル書き換え
必要な知識→各種データフォーマット・LZ77圧縮法・ARM7インストラクション
696:名前は開発中のものです。
07/12/05 17:45:25 qkiwd5QC
算数知らないのに数学の教えを乞うようなモン
質問でもなんでもない
と書こうとしたら695が親切すぎて泣いた
697:名前は開発中のものです。
07/12/06 19:07:23 +3Rk8p3E
>>694
GBAは難しいからファミコンで練習するといいんじゃない。
698:名前は開発中のものです。
07/12/07 00:00:25 zCCzBOkw
super card上でデータを保存するにはどうすればいいんでしょうか
sramに書いたあと、自分でメニュー呼んでSDに保存できればいいのですが、どうパッチをあててもできず。
自作ソフトには付けられないんですかね、パッチ。
また、同じくsuper cardで新しめのファームウェアだと起動すらしないのですが、アプリ側でできる対処法などご存知の方いませんか
699:名前は開発中のものです。
08/02/02 06:07:02 9JCHDRiH
誰かwww.agbdev.netで配布してたデモ(Nok_Keysupd.zip、sprite.zipとか)
持ってる人いる?どんな中身か知りたいんだけどサイトが潰れちゃってさ。
700:名前は開発中のものです。
08/03/04 04:09:00 ajlkIhCi
すいません。この本「Linuxから目覚めるぼくらのゲームボーイ!」
を読みながら、第2章のbox_tile.cまで進んだんですが、
サンプルプログラムをそのまま使用して、
コンパイルまでできたのですが、VBAで実行させると画面が真っ暗なままで
何も起こりません。これは実機でないと動作しないのでしょうか?
701:名前は開発中のものです。
08/03/04 12:37:05 23nZbsqP
半分あたり
その本はメモリからブートすることを前提にしているので
ROMからブートすることを前提にしているエミュだとそのままでは動作しない
VBAで動かすにはbox_tile.mb.binに名前を変えてあげな
702:名前は開発中のものです。
08/03/04 21:25:47 ajlkIhCi
>>701
レスありがとうございます。
ファイル名を変えてやってみましたがうまくいきませんでした。。
代わりにリンカスクリプトでプログラムの開始アドレスを0x08000000に変えたら動きました!
おかげで挫折する期間が延びましたwありがとうございました。
しかしbox_tile.cより前に出てくるプログラムは何で内部メモリブートでもうまくいったのかなあ
703:名前は開発中のものです。
08/03/08 22:06:12 IYGGmug3
すいません。「Linuxから目覚めるぼくらのゲームボーイ!」
を第3章まで読み進めたのですが、clock.cがうまく動作しません。
割り込みハンドラの中でvolatile修飾したグローバル変数の値を書き換えているのに
全く値が変わりません。なにか考えられる原因はありますか?
ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
画面に文字が出力されるので間違いありません。
704:名前は開発中のものです。
08/03/09 00:32:24 9hgngbOa
>ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
>画面に文字が出力されるので間違いありません。
釈然としない
どう出力されたからそう思ったの?
ちょっと貼ってみてよ
705:名前は開発中のものです。
08/03/09 01:09:00 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;
}
706:名前は開発中のものです。
08/03/09 01:10:28 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);
}
}
}
707:名前は開発中のものです。
08/03/09 01:16:20 gfwS1uas
あと、リンカスクリプトを書き換えて、テキストセクションの開始アドレスを
0x80000000にしているのですが、このことが何か関係があるのでしょうか。。
708:名前は開発中のものです。
08/03/09 05:29:51 9hgngbOa
ひょっとして全て理解した上でからかってる?
>>707はたしかに関係ある
テキストセクションを0x08000000に置いたあと以降の
連続した領域にBSSセクションとデータセクションを置いているので
グローバル変数に書き込みたくてもROMだから書きこめない
今までよく動いてたな。。。
709:名前は開発中のものです。
08/03/09 09:31:57 gfwS1uas
リンカスクリプトについての理解が不十分でした。
下記ホームページを参考にリンカスクリプトを書き換えたら、
見事1秒ごとにtmr0_cntが0からカウントアップされるようになりました。
おかげで挫折する期間が延びました。ありがとうございました。
URLリンク(www.nextappli.com)
710:名前は開発中のものです。
08/03/09 19:34:43 I/rPhsey
例えば
mov r1, #128
strh r1, [r3, #0]
ldrh r3, [r2, #0]
を実行するのに、何クロック掛かるか・・という事を説明してくれる
本やサイトご存知内ですか?
711:名前は開発中のものです。
08/03/11 00:29:05 IfG+az6x
音の多重再生をするにはどうしたらいいのですか
712:名前は開発中のものです。
08/03/11 00:36:17 IfG+az6x
数十曲の音楽データをROMに格納したいのですが容量が足りません。
何か工夫が必要なのでしょうか。
マザー3なんかは100曲ものBGMが入ってましたがあれはどうやって実現しているのでしょうか。
713:名前は開発中のものです。
08/03/11 00:38:46 IfG+az6x
すいません。100曲でなく250曲の間違いでした。
714:名前は開発中のものです。
08/03/11 01:46:18 UWuqXy/S
譜面データと、音源データを分けて持っているから、かな?
MIDI見たいな感じで。
それに、要所要所でPCMをかぶせれば
大抵の曲は再現できそう。
あとは、圧縮をかけるだね。
(譜面データにたいして、また、ADPCMとは言わないが適当な圧縮形式で。)
715:名前は開発中のものです。
08/03/11 09:34:19 IfG+az6x
そんなのは俺の手に負えねえ。ここで挫折しまするわ。
716:名前は開発中のものです。
08/03/12 17:36:52 Us8flhJs
ここでGBの事聞いても大丈夫かな?
バンク切り替えの事について調べてるんですけど
MBC2のバンク切り替えについてすずめさんところのウェブアーカイブと
お受験に出るゲームボーイのページを調べてみたんですけどMBC2に関する情報が載っていなくて…
恐らく0x2000番地への書き込みだと思うんですけどどこか正確な情報がある場所ってないでしょうか?
それと現在自分がどのバンクを操作しているのか判別する方法があるかないかご存知の方いらっしゃいますか?
もしかしてバンクの位置情報はどこにも展開されず完全に自分で管理する必要があるんでしょうか?
デバッグの際にバンク情報がないと調べるのが大変で…
717:名前は開発中のものです。
08/03/12 17:53:19 Jo1vXsg5
スレ違い
URLリンク(www.geocities.co.jp)
URLリンク(fms.komkon.org)
エミュレータのソースも併せて読むといい
718:名前は開発中のものです。
08/03/12 18:12:53 Us8flhJs
すみません該当するようなスレが無かった物で。
挙げて頂いた上記サイト等も参考にしてみます。
エミュのソースをみれば確かに内部動作はカンペキに把握できますね。
GBのエミュも大分こなれてる様なのでその辺も参考にしてみます。
ご親切にどうもありがとうございました。スレ汚し失礼しました。
719:名前は開発中のものです。
08/03/13 15:11:16 d99ZfhW7
>>712-715
GBA用のFreeのMODライブラリでも使って組み込めばそれで終わり。
問題は、MODを作れるかどうかだがw
720:名前は開発中のものです。
08/03/16 06:19:18 RXPkoV7l
devkitProを使ってGBAでゲームを作っているのですが、
const int hoge1 = 1 ;
const int hoge2 = hoge1 ;
のようにすると、「initializer element is not constant」と出てしまいます。
VC++だと普通にコンパイルが成功しました。
Cではこういう事は出来ないのでしょうか?
721:名前は開発中のものです。
08/03/16 12:05:58 0SBCpDyI
>>720
スレ違いだが回答。
C言語とC++のconst修飾子の動作の違いのために起きる問題。
const int hoge1 = 1 ;
がC言語では変数として定義されるのに対し、C++では定数として定義される。
このため、
const int hoge2 = hoge1 ;
がエラーとなる(初期値つき変数に定数以外を指定したから)。
結論:C++でなくC言語で書くなら、定数はマクロやenumで定義しましょう。
余談だが、const修飾子には他にも違いがあり、グローバル変数をconst修飾した場合に、
C言語ではデフォルトで外部リンケージ(要するにextern)になるのに対し、
C++では内部リンケージ(要するにstatic)となる。
722:名前は開発中のものです。
08/03/16 12:18:17 0SBCpDyI
>>721
スレ違うというか板違いでしたね。
あと、一応補足。
当たり前だけどC++でグローバルな
const int hoge0 = 1;
static const int hoge1 = 1;
extern const int hoge2 = 1;
を定義すると、hoge0とhoge1は定数、hoge2は変数となる。
723:名前は開発中のものです。
08/03/16 15:31:08 3fassPpA
>>722
変数と定数と、どう言い分けてるの?
挙げられた例だと全部定数式として使えるはずだよ。
724:名前は開発中のものです。
08/03/17 02:10:37 xMktvNUH
>>723
スマン。内容に不足があった。
×hoge2は変数となる
○hoge2は定数であると同時に外部リンケージの変数も定義される
725:720
08/03/17 03:34:16 C1jKoyjP
なるほど、そもそもCとC++じゃconstの仕様が違うのですね。
良く分かりました。
板違いの質問に答えて頂き、ありがとうございました。
726:名前は開発中のものです。
08/03/17 10:01:08 7F2zgz+N
>>724
やっぱり変数と定数の意味に無理があるだろ。どこで
そんなネタ仕込まれたんだ?
722 の3つは全部 const int 型変数の定義。
const int 型変数が定数式で初期化されていれば、
それもまた定数式となる。
リンケージはそれぞれ決まっているし、外部リンケージ
じゃなければ初期化が必須だったりするけど、それらは
定数式として使えるかどうかとは別の話。
727:名前は開発中のものです。
08/03/24 05:51:58 UCF17QKn
GB音源(例えばチャンネル1)でエンベロープをハードウェアでは無く自力でやりたい場合、
SOUND1CNT_Hのbit12-15をいじって、
SOUND1CNT_Xのbit15を立てて初期化するしかないのでしょうか?
これだと発音中の波形の状態も最初に戻ってしまうらしく、
音が自然にならないので困っています。
何か良い方法をご存知の方はいらっしゃらないでしょうか?
728:名前は開発中のものです。
08/03/24 08:16:50 bI8PsKud
その方法しか無いがチャンネル1と2は必ず発音がリセットされるので実質使えない
チャンネル3はリセットされないからソフト制御可能