X



ゲームボーイアドバンス(GBA)非公式開発 Part2
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
04/10/30 15:50:05ID:XmInH8YR
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.net/test/read.cgi/linux/1070983168/

ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
http://bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
前スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1013750899/
0665名前は開発中のものです。
垢版 |
2007/09/18(火) 13:11:31ID:X/1lrDkx
>>663
8bitの時代からある技法だよ。
0667名前は開発中のものです。
垢版 |
2007/09/25(火) 03:48:54ID:Wtxosh+4
ゲームボーイのプログラム・改造マニュアル
ゲームボーイプログラミング入門

両方吸出し機とかの方に力入れてて全然役に立たなかった。
特に後者はGBAを表紙に入れておきながら殆ど触れていない。
一緒に買ったC言語超入門―Windowsでゲームボーイのプログラムを作ろう!は使えたなぁ。
0668名前は開発中のものです。
垢版 |
2007/09/28(金) 04:26:30ID: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と、違いが出てくるのですが、
何故なのでしょうか?
0669名前は開発中のものです。
垢版 |
2007/09/28(金) 07:29:04ID:MwwoigrE
境界揃えようとするから。
&graphicpat_t->sprites[0] でアドレス出力してみりゃいい。

typedef struct{
  u16 tileno ; // 使用するタイルデータ番号
  u8 usespritenum ; // 使用するスプライトの数
 ここにダミーが1バイト
  spritedata_t sprites[USE_SPRITE_NUM] ; // スプライトの情報
  u8 dummy[1] ;
 ここにダミーが3バイト
} graphicpat_t ;

多分こうなってる。
0670名前は開発中のものです。
垢版 |
2007/09/28(金) 07:54:45ID:S2twr9xc
詳しいことはこちら。
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;
0672名前は開発中のものです。
垢版 |
2007/09/28(金) 17:57:30ID:3PURGaCN
>>669-671
あれから自分でもパディングの事を調べてみたんですが、
パディングって構造体の最後だけじゃなくてメンバの途中にも入るんですね。
メンバがu8一つだけの構造体のサイズを調べると2バイトになっていたり、
u8二つの構造体のサイズは4バイトだったりするのが謎だったりで
まだちゃんと理解できてはいないのですがとりあえず
graphicpat_tのdummy[1]をusespritenumnumの次にする事でうまくいってます。
レスありがとうございました。

0673名前は開発中のものです。
垢版 |
2007/09/29(土) 19:37:52ID:Yyp6PcC5
.cファイルに書いた場所(順番)によって、ポインタが指す場所が変わるのですが、
原因がわかる方はいらっしゃいますか?
具体的には

const u8 hogebindata[HOGE_SIZE] ; // .oファイルから

HOGE* pHoge1 = &hogebindata[0] ; // HOGE構造体のポインタ
HOGE* pHoge2 = &hogebindata[0] ;

これでpHoge1とpHoge2の指す場所が変わったのですが。
0674名前は開発中のものです。
垢版 |
2007/09/29(土) 20:45:51ID:/Cn9Hphu
その現象は確認したことがないので
お役に立てないかも。

指す場所が変わったというけれど
1,2バイト程度のズレなのか、全然無関係な
アドレスを見ているのか気になります。

前者ならコンパイラの最適化の影響?
volatile修飾子つけてみてはどうでしょうか。

もしくは
HOGE* pHoge1;
HOGE* pHoge2;

pHoge2 = pHoge1 = &hogebindata[0];
でやってみるとか。
0675名前は開発中のものです。
垢版 |
2007/09/29(土) 22:41:19ID:Yyp6PcC5
>674
レスありがとうございます。ズレも定義する位置毎に変わったり、
さらには他の部分の関数等の量(?)にも変わったりするので良く解りません。
とりあえず、今まではグローバルで定義と初期化をしていたのですが、
初期化をAgbmain()の冒頭にしたら見かけ上はうまく行きました。
原因が解らないのが気持ち悪いところではありますが…。

0676名前は開発中のものです。
垢版 |
2007/09/30(日) 13:48:51ID:2cArtL+Y
・u8型なのに、HOGE*型で参照しようとするので
 キャストがおかしくなっているのかもしれない。

・Agbmain関数と聞いて、開発環境が
 DevkitAdvanceではないかと思いました。
 もしそうならばdevkitProに変えてみるといいかも。

・最終手段で、バグのままの状態でプロジェクト一式
 アップしてみるとか(ぉ。

これぐらいしか思いつくことはないので
後は傍観させていただきます。
0678名前は開発中のものです。
垢版 |
2007/10/01(月) 06:09:01ID:47UHIi+z
>676
片方が駄目で、片方は普通に使えるというのが謎なんですよね。
コンパイラの最適化関係で、何かされているのでしょうか。
makefileは他のサンプルをそのまま使っているので、
その辺のオプションは弄くれていないのでそういう事もあるかも知れないです。
それとお察しの通り、DevkitAdvanceを使ってます。
自分もdevkitProに変えたいのですが、いまいちやり方がわからず…。
もうちょい弄ってみます。
ソースは上げられませんが、HOGEの中身はu16 data[8]だけです。

>677
どれくらいの量でズレが起きるのかがイマイチ解りません。
新規に初めてみて試してみます。
0680名前は開発中のものです。
垢版 |
2007/11/01(木) 03:19:46ID:zUdctaSC
2バイトパレットってBIT15は未使用のはずなのに、
ゲームによってはBIT15が1で、+8000hされてる色が
稀に使用されていたりして、用途がさっぱり解らないんだけど
誰かわかります?

色違いキャラなどで、同じ色が使用されている時に片方のみ
+8000hされてるなんて事はないから
意図的な設定なんだろうけど
0682名前は開発中のものです。
垢版 |
2007/11/01(木) 03:57:10ID:bsWY8rCq
なんの根拠もないが、なんかのフラグで使ってるんじゃないか?
たとえば、パレットアニメの対象外にする時にビットを立てておくとか。
0683名前は開発中のものです。
垢版 |
2007/11/01(木) 05:48:27ID:ep0Z0ILK
>662
変なのー。
周りのやる気をなくさせようという気がまんまんだね。
言ってることとやってることが違うと何だか腹立つ。

…やってること自体は簡単だから、「すごい」とか騙されては駄目だよ。
一介のプロのつもりなんだろうけど、むしろ手抜きが目立つね。
サウンドも背景もちゃんと凝った方が全体の評価は高い。
0684名前は開発中のものです。
垢版 |
2007/11/01(木) 09:42:31ID:ihkhmp1x
>>680
GBAだと使用しないけど、NDSだとBIT15は透過フラグになってて、モードによってはそのBITを立てて使う。
NDSのプログラムでも使えるようにしてるか、git(データの変換)なんかでフラグ立てる設定で
変換したのを間違ってそのまま使ってるんじゃないかな。
0685名前は開発中のものです。
垢版 |
2007/11/02(金) 17:34:57ID:mn9t6mJD
透過フラグの存在は初耳です。
でもキャラスプライトに二つ以上の透過色が
必要な使われ方はしてなかったようです。
何かのフラグが残ったままって可能性はありそう。

>>682
そういうケースもありそうですが、
パレットアニメが使われてた様子はないっぽいです
0686名前は開発中のものです。
垢版 |
2007/11/02(金) 22:13:41ID:IwsTzJ5B
聞いたことないけど
もし'何かある'としたらブレンドモードだと思う。
どんな状況で表示されてるスプライトなんだ?
0687名前は開発中のものです。
垢版 |
2007/11/03(土) 10:22:21ID:gtw8DYou
>>685
NDSはスプライトにはタイルだけじゃなく、ビットマップも使えるようになってる。
ビットマップだと0番パレットみたいな透過色の代わりに、BIT15立てることによって透過を実現してるんじゃない。

0689名前は開発中のものです。
垢版 |
2007/11/15(木) 20:19:19ID:LZz2LXH5
携帯電話の液晶を再利用したボード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)

会社のページに繋がらないのは何故だ?
0694名前は開発中のものです。
垢版 |
2007/12/05(水) 01:08:25ID:q7aGDUhk
全くの初心者なんですが質問させてください

既存のゲームをベースにポケモンやメダロットやFFなんかを、
テキストやら音楽やら絵やらパーツやらモンスターやらを追加したり差し替えたりして作りたいと思っているのですが
おおまかな手順と必要な知識を教えてください
0695名前は開発中のものです。
垢版 |
2007/12/05(水) 02:10:37ID:FhM2zJFq
簡単に言うと板違い。
gameurawazaに行って下さい。

難しく言うと
差し替え→コンスタント領域から該当箇所を見つけてリプレース
追加→コード領域からコンスタント領域参照部分を見つけて分岐もしくはテーブル書き換え
必要な知識→各種データフォーマット・LZ77圧縮法・ARM7インストラクション
0696名前は開発中のものです。
垢版 |
2007/12/05(水) 17:45:25ID:qkiwd5QC
算数知らないのに数学の教えを乞うようなモン
質問でもなんでもない

と書こうとしたら695が親切すぎて泣いた
0698名前は開発中のものです。
垢版 |
2007/12/07(金) 00:00:25ID:zCCzBOkw
super card上でデータを保存するにはどうすればいいんでしょうか
sramに書いたあと、自分でメニュー呼んでSDに保存できればいいのですが、どうパッチをあててもできず。
自作ソフトには付けられないんですかね、パッチ。

また、同じくsuper cardで新しめのファームウェアだと起動すらしないのですが、アプリ側でできる対処法などご存知の方いませんか
0699名前は開発中のものです。
垢版 |
2008/02/02(土) 06:07:02ID:9JCHDRiH
誰かwww.agbdev.netで配布してたデモ(Nok_Keysupd.zip、sprite.zipとか)
持ってる人いる?どんな中身か知りたいんだけどサイトが潰れちゃってさ。
0700名前は開発中のものです。
垢版 |
2008/03/04(火) 04:09:00ID:ajlkIhCi
すいません。この本「Linuxから目覚めるぼくらのゲームボーイ!」
を読みながら、第2章のbox_tile.cまで進んだんですが、
サンプルプログラムをそのまま使用して、
コンパイルまでできたのですが、VBAで実行させると画面が真っ暗なままで
何も起こりません。これは実機でないと動作しないのでしょうか?
0701名前は開発中のものです。
垢版 |
2008/03/04(火) 12:37:05ID:23nZbsqP
半分あたり
その本はメモリからブートすることを前提にしているので
ROMからブートすることを前提にしているエミュだとそのままでは動作しない
VBAで動かすにはbox_tile.mb.binに名前を変えてあげな
0702名前は開発中のものです。
垢版 |
2008/03/04(火) 21:25:47ID:ajlkIhCi
>>701
レスありがとうございます。
ファイル名を変えてやってみましたがうまくいきませんでした。。
代わりにリンカスクリプトでプログラムの開始アドレスを0x08000000に変えたら動きました!
おかげで挫折する期間が延びましたwありがとうございました。
しかしbox_tile.cより前に出てくるプログラムは何で内部メモリブートでもうまくいったのかなあ
0703名前は開発中のものです。
垢版 |
2008/03/08(土) 22:06:12ID:IYGGmug3
すいません。「Linuxから目覚めるぼくらのゲームボーイ!」
を第3章まで読み進めたのですが、clock.cがうまく動作しません。
割り込みハンドラの中でvolatile修飾したグローバル変数の値を書き換えているのに
全く値が変わりません。なにか考えられる原因はありますか?
ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
画面に文字が出力されるので間違いありません。
0704名前は開発中のものです。
垢版 |
2008/03/09(日) 00:32:24ID:9hgngbOa
>ちなみに割り込みハンドラ自体が実行されていることは自作のprintf文の実行結果から
>画面に文字が出力されるので間違いありません。
釈然としない
どう出力されたからそう思ったの?
ちょっと貼ってみてよ
0705名前は開発中のものです。
垢版 |
2008/03/09(日) 01:09:00ID: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;
}

0706名前は開発中のものです。
垢版 |
2008/03/09(日) 01:10:28ID: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);
}
}
}
0707名前は開発中のものです。
垢版 |
2008/03/09(日) 01:16:20ID:gfwS1uas
あと、リンカスクリプトを書き換えて、テキストセクションの開始アドレスを
0x80000000にしているのですが、このことが何か関係があるのでしょうか。。
0708名前は開発中のものです。
垢版 |
2008/03/09(日) 05:29:51ID:9hgngbOa
ひょっとして全て理解した上でからかってる?
>>707はたしかに関係ある
テキストセクションを0x08000000に置いたあと以降の
連続した領域にBSSセクションとデータセクションを置いているので
グローバル変数に書き込みたくてもROMだから書きこめない
今までよく動いてたな。。。
0710名前は開発中のものです。
垢版 |
2008/03/09(日) 19:34:43ID:I/rPhsey
例えば
mov r1, #128
strh r1, [r3, #0]
ldrh r3, [r2, #0]

を実行するのに、何クロック掛かるか・・という事を説明してくれる
本やサイトご存知内ですか?
0712名前は開発中のものです。
垢版 |
2008/03/11(火) 00:36:17ID:IfG+az6x
数十曲の音楽データをROMに格納したいのですが容量が足りません。
何か工夫が必要なのでしょうか。
マザー3なんかは100曲ものBGMが入ってましたがあれはどうやって実現しているのでしょうか。
0714名前は開発中のものです。
垢版 |
2008/03/11(火) 01:46:18ID:UWuqXy/S
譜面データと、音源データを分けて持っているから、かな?
MIDI見たいな感じで。

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

あとは、圧縮をかけるだね。
(譜面データにたいして、また、ADPCMとは言わないが適当な圧縮形式で。)
0716名前は開発中のものです。
垢版 |
2008/03/12(水) 17:36:52ID:Us8flhJs
ここでGBの事聞いても大丈夫かな?
バンク切り替えの事について調べてるんですけど
MBC2のバンク切り替えについてすずめさんところのウェブアーカイブと
お受験に出るゲームボーイのページを調べてみたんですけどMBC2に関する情報が載っていなくて…
恐らく0x2000番地への書き込みだと思うんですけどどこか正確な情報がある場所ってないでしょうか?
それと現在自分がどのバンクを操作しているのか判別する方法があるかないかご存知の方いらっしゃいますか?
もしかしてバンクの位置情報はどこにも展開されず完全に自分で管理する必要があるんでしょうか?
デバッグの際にバンク情報がないと調べるのが大変で…
0717名前は開発中のものです。
垢版 |
2008/03/12(水) 17:53:19ID:Jo1vXsg5
スレ違い
ttp://www.geocities.co.jp/Playtown/2004/gmbspecj.txt
ttp://fms.komkon.org/GameBoy/Tech/Software.html
エミュレータのソースも併せて読むといい
0718名前は開発中のものです。
垢版 |
2008/03/12(水) 18:12:53ID:Us8flhJs
すみません該当するようなスレが無かった物で。
挙げて頂いた上記サイト等も参考にしてみます。
エミュのソースをみれば確かに内部動作はカンペキに把握できますね。
GBのエミュも大分こなれてる様なのでその辺も参考にしてみます。
ご親切にどうもありがとうございました。スレ汚し失礼しました。
0720名前は開発中のものです。
垢版 |
2008/03/16(日) 06:19:18ID:RXPkoV7l
devkitProを使ってGBAでゲームを作っているのですが、
const int hoge1 = 1 ;
const int hoge2 = hoge1 ;
のようにすると、「initializer element is not constant」と出てしまいます。
VC++だと普通にコンパイルが成功しました。
Cではこういう事は出来ないのでしょうか?
0721名前は開発中のものです。
垢版 |
2008/03/16(日) 12:05:58ID:0SBCpDyI
>>720
スレ違いだが回答。

C言語とC++のconst修飾子の動作の違いのために起きる問題。

const int hoge1 = 1 ;
がC言語では変数として定義されるのに対し、C++では定数として定義される。
このため、
const int hoge2 = hoge1 ;
がエラーとなる(初期値つき変数に定数以外を指定したから)。

結論:C++でなくC言語で書くなら、定数はマクロやenumで定義しましょう。


余談だが、const修飾子には他にも違いがあり、グローバル変数をconst修飾した場合に、
C言語ではデフォルトで外部リンケージ(要するにextern)になるのに対し、
C++では内部リンケージ(要するにstatic)となる。
0722名前は開発中のものです。
垢版 |
2008/03/16(日) 12:18:17ID:0SBCpDyI
>>721
スレ違うというか板違いでしたね。
あと、一応補足。

当たり前だけどC++でグローバルな
const int hoge0 = 1;
static const int hoge1 = 1;
extern const int hoge2 = 1;

を定義すると、hoge0とhoge1は定数、hoge2は変数となる。
0724名前は開発中のものです。
垢版 |
2008/03/17(月) 02:10:37ID:xMktvNUH
>>723
スマン。内容に不足があった。

×hoge2は変数となる
○hoge2は定数であると同時に外部リンケージの変数も定義される
0725720
垢版 |
2008/03/17(月) 03:34:16ID:C1jKoyjP
なるほど、そもそもCとC++じゃconstの仕様が違うのですね。
良く分かりました。
板違いの質問に答えて頂き、ありがとうございました。
0726名前は開発中のものです。
垢版 |
2008/03/17(月) 10:01:08ID:7F2zgz+N
>>724
やっぱり変数と定数の意味に無理があるだろ。どこで
そんなネタ仕込まれたんだ?

722 の3つは全部 const int 型変数の定義。
const int 型変数が定数式で初期化されていれば、
それもまた定数式となる。

リンケージはそれぞれ決まっているし、外部リンケージ
じゃなければ初期化が必須だったりするけど、それらは
定数式として使えるかどうかとは別の話。
0727名前は開発中のものです。
垢版 |
2008/03/24(月) 05:51:58ID:UCF17QKn
GB音源(例えばチャンネル1)でエンベロープをハードウェアでは無く自力でやりたい場合、
SOUND1CNT_Hのbit12-15をいじって、
SOUND1CNT_Xのbit15を立てて初期化するしかないのでしょうか?
これだと発音中の波形の状態も最初に戻ってしまうらしく、
音が自然にならないので困っています。
何か良い方法をご存知の方はいらっしゃらないでしょうか?
0728名前は開発中のものです。
垢版 |
2008/03/24(月) 08:16:50ID:bI8PsKud
その方法しか無いがチャンネル1と2は必ず発音がリセットされるので実質使えない
チャンネル3はリセットされないからソフト制御可能
0729名前は開発中のものです。
垢版 |
2008/03/24(月) 13:22:21ID:o6pWhQxB
GBAのスペックに
サウンド:アナログ(パルス波2ch+波形メモリ1ch+ノイズ1chの音源、従来機と同様)+デジタル(PCM)2ch
ってあるけどこれと同時発音数は別の話だよね
もっと沢山鳴らしてるようなメガデモはあるし、実際は何音までなんでしょ
0731名前は開発中のものです。
垢版 |
2008/03/24(月) 18:13:20ID:o6pWhQxB
では同じトラック三つコピペして全部違うPCMにしても
音切れがないのはどういう仕組み?
0735名前は開発中のものです。
垢版 |
2008/03/24(月) 21:01:23ID:+9oLoWUN
>>734
好きなだけ重ねればいいんじゃないかな。
あとは処理時間を見て4音や8音などに制限していくとか。
「GBA PCM 合成」でググってみるといいかもよ。
0736727
垢版 |
2008/03/25(火) 03:27:18ID:XMS5LhkT
>728
うへぇそうなんですかorz レスありがとうございます。
こんなキッツイ制限があるのにGBのゲームには一杯名曲があるというのが信じられません。
というかFCよりもキツイですねこれは。
FCミニとか、エミュレーターとかも結構苦労して再現してそうですね。
0739名前は開発中のものです。
垢版 |
2008/04/04(金) 05:56:12ID:hXz7vhFd
GBAよりスーファミの方が開発意欲がそそられる
0740名前は開発中のものです。
垢版 |
2008/04/27(日) 02:28:18ID:BegmYBqI
devkitProを使ってみようかと思ってるのですが、
コレを使ってGBAソフトを作ってネットで配布する場合、
ソースも配布可能にしなきゃいけないのでしょうか?
0742名前は開発中のものです。
垢版 |
2008/04/27(日) 14:36:38ID:gA0/oGVB
>>740
ソースクレクレ厨が出てきたら、改変して売りつける悪質な業者だと思ったほうがいいよ
配布には十分注意しる

まぁ、GBAだからもう居ないと思うけどね・・・
0743740
垢版 |
2008/04/28(月) 03:52:19ID:fpXnuQEH
>>741
そのまま組み込めば、配布しなくてもOKって事ですか、分かりました。
教えていただきありがとうございます。

>>742
配布しなくちゃいけなくなった場合に、そういう輩も出てくるんじゃないかと
懸念していたのですが、どうやら大丈夫みたいですね。
0745名前は開発中のものです。
垢版 |
2008/07/22(火) 08:08:44ID:UkA+4UPJ
海外ソフトの和訳ハックとか作れますか?
もし可能性が少しでもあるなら頑張ってみようかなと・・・
予備知識ゼロだけど・・・orz
0749名前は開発中のものです。
垢版 |
2008/10/21(火) 09:46:42ID:weSdSC9r
この手のものは時期逃すと手に入りにくいからなあ・・・
数年前なら、数少ないが売っている店はあった

あとは今あるとしたらオークション
0752名前は開発中のものです。
垢版 |
2008/11/16(日) 05:12:20ID:yRHdgsS9
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)です。
0753名前は開発中のものです。
垢版 |
2008/11/16(日) 12:27:42ID:yRHdgsS9
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)です。
0756名前は開発中のものです。
垢版 |
2008/11/17(月) 22:21:48ID:0FeRBUS+
厳密に考えるとやっかいなところは多々あるが
2Dで直線や多角形描くぐらいならただの差分方程式だろ
0757名前は開発中のものです。
垢版 |
2008/11/18(火) 22:54:21ID:35X+8Y/i
GBAで1〜10までのランダム値を取ろうと思ったらどうすればよいのでしょうか?
rand()は使えませんよね
0759名前は開発中のものです。
垢版 |
2008/12/03(水) 21:17:08ID:ZUsaZJd3
Homebrew BOF

ゲーム機など開発環境が公開されていないハード、及びマイナーハード開発者の集いを企画しています。

日時:コミケ(12/28-30)前後 当日なら17-19時くらい + 宴会
場所:東京都区内
費用:会場実費(0-数百円?)

たぶん日本全体で100人もいないんじゃないかと思いますが、
コミケで上京する人もいるでしょうからその時期を予定しています。

http://www27.atwiki.jp/homebrew/

マルチすまん
0760名前は開発中のものです。
垢版 |
2009/01/09(金) 21:44:01ID:JmGx4bkn
age
0761名前は開発中のものです。
垢版 |
2009/01/09(金) 21:54:46ID:JmGx4bkn
おtingting
0762名前は開発中のものです。
垢版 |
2009/01/09(金) 22:02:00ID:JmGx4bkn
マジキチ動画(ββ)
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況