- 1 名前:名前は開発中のものです。 mailto:sage [2007/04/06(金) 07:28:10 ID:0HAbZjic]
- NDSで何やら作ってみようという人の為のスレ。ライセンス不要。
初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。 資料、リンク等 nocash.emubase.de/gbatek.htm www.bottledlight.com/ds/index.php/Main/HomePage www.helloworld.jp/~duke/nintendo_ds/ 開発環境 www.devkitpro.org/ sourceforge.net/project/showfiles.php?group_id=114505 関連スレ ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所) bbs.gamdev.org/test/read.cgi/gamedev/1055111303/ ゲームボーイアドバンス(GBA)非公式開発 Part2 pc5.2ch.net/test/read.cgi/gamedev/1099119005/ 前スレ pc11.2ch.net/test/read.cgi/gamedev/1113780562/
- 4 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 14:53:35 ID:+VlUtZQM]
- 前スレ落ちました
以後、こちらで
- 5 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 02:06:48 ID:ecimlsy5]
- devkitproに入っるサンプルの、16bit_color_bmpとか256_color_bmpに
あるようなイメージデータってどうやって作るの? IrfanviewでRAW形式で保存してみたら24bitでしか保存できない・・・ 適当に見つけたチュートリアル( patatersoft.info/manual.html) 見たら、gfx2gbaとhConverter使えって書いてある。 そこで256色BMP用意して、gfx2gba -fsrc test.bmp で出来たtest.cを hConverterに読み込ませても何もおきない・・・ みんなどうやってイメージデータつくってんのか教えてくんなせ。
- 6 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 19:28:30 ID:ecimlsy5]
- 一部、自己解決した。
gfx2gba test.bmp で256色のtest.rawとtest.palができたんで、それを使って256色のイメージ だけは表示できた! んでも、16bitカラーのイメージデータは作る方法がわからなーい。 とりあえず、256色でいろいろ試してみるわな。
- 7 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 23:18:21 ID:ecimlsy5]
- 16bitカラーの画像も自己解決したんで報告。
www.geocities.jp/momoonga/ の、BMP2NDSを使って、16bitカラー画像の表示もいけました。 あざーす!
- 8 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 01:25:38 ID:Cr+2/GKK]
- 開発環境がハードルたっけぇ
開発に入る前にコンパイル時点でつまづいたよ・・・
- 9 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 06:13:50 ID:Jsfs0BwG]
- >>8
exampleの1個をProgrammerNotepadで開いてmake(Alt+1だっけ)するだけで要領はつかめんかな? VC++のほうが、編集→ビルドの流れは楽だけど。 makefileも直すところが判れば流用しやすいし。
- 10 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 08:25:58 ID:SeFFf7Ol]
- カメレオンUSB DS-RAMアダプター
optimize.ath.cx/NDS/cusbram.html これ使って開発してる人いる?購入検討してんだけど、使い勝手とか聞きたい。
- 11 名前:名前は開発中のものです。 [2007/04/12(木) 12:04:53 ID:LqS5raGs]
- DSのVRAMは8bitではアクセスできないんですね〜
www.bottledlight.com/ds/index.php/Memory/Layout 見るとWidth / modesが16 / 16,32となってるし DesmuMEでは動くのに実機じゃ動かないのでちょっとはまりました no$gbaはこの辺もちゃんとエミュレートしてるようですね 256色パレットモードだと2ドットずつ処理しないといけないのが面倒
- 12 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 12:33:09 ID:0IVewgP9]
- >>10
コマンド一発でGBAスロットに入れたRAMにNDSファイルを転送できる。 SD出し入れ、ファイル転送などから解放される。 リセットを配線すれば(俺はまだしてない),転送+リセット起動ができる。(DS側操作不要) FlashMeは必須です。 batとかうまく作ればコンパイル完了後にNDS転送+リセット起動までできることになります。 デメリットはlibfatでSlot1,Slot2のメディアにアクセスできないところか。 Slot2は言うまでもなくSlot1の初期化が通らない。 ちなみにlibfat使ったデバッグだけであればDeSmuMEなどで可能。 実機じゃないと再現できないグラフィックとかWiFiなどやらない限りは不要と思う。 まだ使った事ないが同じ事するならDS-Xtremeあたりがよさそうな気がする。
- 13 名前:10 mailto:sage [2007/04/12(木) 18:24:32 ID:SeFFf7Ol]
- >>12
devkit r20+libfat(DLDI)組み込んでエミュで動かそうとすると、自作プログラムはfatInitDefault()の部分で大抵コケてる。 r19+gba_nds_fatの時は、dualisでGBAMPと認識させてファイルアクセスしてた。 DLDI使っててもDeSmuME(wpも?)で動くようだったらいいんだけど...って試したらやっぱりコケた。 ところでDeSmuMEとかってDLDIに対応出来るん? DS-XtermeはUSB接続だからSDカードとか抜き差しする必要がないから、少しは楽になるかもしれない。 ただ、DS起動させる時間が鬱陶しい。そして高い... エミュだと即起動なんだけどね... あと、DS-RAMアダプターでfgetcとかするの面倒そうなヤカン
- 14 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 09:23:07 ID:Ifok8dwe]
- dldiを使ったサンプルROMとかないかな〜っと
- 15 名前:12 mailto:sage [2007/04/15(日) 07:53:20 ID:jqid1ubY]
- >>13
>devkit r20+libfat(DLDI) 同じ環境だなぁ。 DeSmuME は ver 0.5.0 DLDIはデフォルトのまま(空)にしておいて起動してみた? DLDIがなくてもGBAMPとして動作するはず。 動かないっていうソースとバイナリくれたら試してもいいが。
- 16 名前:10 mailto:sage [2007/04/16(月) 07:28:54 ID:SJmsxErn]
- >>15
あ〜、DLDIいつも組み込んでる。 組み込まなかったらエミュで起動はしたけど、fgetcとかで正しい値返してこないね。 よくわからん
- 17 名前:12 mailto:sage [2007/04/16(月) 09:28:52 ID:1IWCo6WN]
- >>16
DLDIドライバが悪さしてたか。 あとは問題のソース、読ませたファイル、fgetcの戻り値、errnoとか
- 18 名前:10 mailto:sage [2007/04/16(月) 23:58:30 ID:SJmsxErn]
- >>17
ソースは適当にこんなの。test.txtの中身は半角英数適当に。 全部255が帰ってくるわ。(DeSmuME 0.60) 根本的に何か間違ってるような気がする。 Live2chだと改行大杉でエラーになっちゃうんで、該当部分だけ。適当に補完してくんろ。 if ( !fatInitDefault() ) { iprintf("init error"); while(1); } FILE *fp; if ( (fp=fopen("test.txt","r"))==NULL ) { iprintf("file open error\n"); while(1); } int i; char ch; for (i=0;i<10;i++) { ch=fgetc(fp); iprintf("%d ",ch); } fclose(fp);
- 19 名前:名前は開発中のものです。 [2007/04/17(火) 07:36:56 ID:jhZOjVgZ]
- >>18
同じくDeSmuMEでlibfatが使えないものです fopen( )はできるんだけどfgets( )はNULLが返るしfreadも0バイトしか読み込めない SDカードで実機テストは効率悪いです。 エミュのバージョン0.6.0と0.5.0でも試したけどだめでした
- 20 名前:12 mailto:sage [2007/04/17(火) 10:29:15 ID:IHSQkBqI]
- >>18
確かにfread(),fgetc()とかは動きませんでした。 dirnext()は動作しているので動いているものと勘違いしていました。 というわけで実機以外ダメということになりました。
- 21 名前:名前は開発中のものです。 [2007/04/17(火) 12:51:47 ID:jhZOjVgZ]
- >>20
ディレクトリは読めて表示も出来るんですがね 誰かエミュ用のDLDIを頼む
- 22 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 13:27:01 ID:3bpgwEwp]
- >>18
つttp://amponzi.googlepages.com/
- 23 名前:12 mailto:sage [2007/04/17(火) 13:53:20 ID:IHSQkBqI]
- March 17, 2007 Build版でfread,fgetcも動いた
- 24 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 16:05:12 ID:jhZOjVgZ]
- >>23
読めますね でも書き込み系はだめですね まあ読み込めるだけでも助かります
- 25 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 17:56:51 ID:X+tElrNz]
- おまいら楽しそうだな
- 26 名前:名前は開発中のものです。 [2007/04/17(火) 23:24:39 ID:C1BCDQQc]
- 新スレで早くも挫折っぽいな
- 27 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 19:31:10 ID:2iKKJuRD]
- マイク使ってる人居る?
NitroTrackerぐらいしか見ないなーと思って
- 28 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 15:01:28 ID:W38vL8ue]
- >>27
moonさんのお絵かきボイスチャット
- 29 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 22:02:38 ID:9tB1+O5n]
- 前スレ979辺りでフォントについて質問した者ですが、
レンダラの部分をフレームバッファに突っ込んでできました。ありがとうございました。 しかしvramSetMode(MODE_FB0);を使ってるとバックグラウンドが使えません。 何か指定することでできるようになりますか? それかBG_GFXに文字をレンダリングするとして、2枚以上のバックグラウンドを表示させるにはどうすればいいんですか?
- 30 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 23:26:59 ID:2jDSNcy8]
- >>29
前スレ980でフレームバッファに「見立てて」とあるわけだが。 あまり考えずにレスすると、やりたい事は多分出来ない。 フレームバッファじゃなくてタイルに書く。 例えば、10x10の文字を書こうとすると、右(2x8)と下(8x2)と右下(2x2)があふれる。 これを並べたときに隣接するタイルに書く。 文章だけだとややこしい。誰かフォローよろ。 # 3Dでビルボード重ねればできるかも?
- 31 名前:名前は開発中のものです。 [2007/04/20(金) 07:41:55 ID:KjZsdrCt]
- >>29
自分はMODE5使ってる videoSetMode(MODE_5_2D | DISPLAY_BG2_ACTIVE | DISPLAY_BG3_ACTIVE); vramSetBankA(VRAM_A_MAIN_BG_0x06000000); vramSetBankB(VRAM_B_MAIN_BG_0x06020000);
- 32 名前:名前は開発中のものです。 [2007/04/20(金) 07:55:19 ID:KjZsdrCt]
- framebuffer型背景レイヤ
* 最もシンプルな背景レイヤ。直接ピクセルを操作する。 * キャンバスサイズは256x192固定。 * 背景レイヤは一つのみ。重ね合わせ処理不可。 * 色深度は16bit固定。 * サブ画面では使用不可。 * せっかくのDSの各種ハードウェアサポートが全く得られないので、framebuffer型を選択する利点はほとんど無いと思われる。 extended rotation型背景レイヤ * 基本的にはframebuffer型背景レイヤと同じ。以下の点が違う。 o 名前の通り、回転拡大縮小が可能。 o 色深度は16bit/8bit選択可能。 o キャンバスサイズも選択可能。 o 複数背景レイヤが使用可能。重ね合わせ処理ok。
- 33 名前:名前は開発中のものです。 mailto:sage [2007/04/20(金) 13:21:39 ID:q1lk0Smr]
- gbalzssについて、moonlight氏のサイトを読んで気になったので検証してみたところ、
DSのBIOSコールでは展開不可(データが化ける)であることがわかりました。 gbalzssでは最初に辞書テーブルの先頭4078バイトを0xFFで埋めていますが DSのBIOSルーチンでは辞書テーブルすら存在せず、ただ展開後のデータから 同じ部分をコピーするだけになっています。 (つまりデータの頭のほうで0xFFが圧縮されると展開時に不定のデータで埋められてしまう) 0xFFが潰されているのはこれが原因です。(dectestだとパレットが死んでますね) とりあえずこんなところでしょうか。見当違いだったらごめんなさい。
- 34 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 12:06:37 ID:TfVa2cpF]
- スリープ機能を実装しようと思って前スレに書いてあった7sleep.hとか参考に組んだんだけど
EZ5では動くもののR4とかでは動かない状況になった ちょっと見てみたらarm9側でtouchReadXY()をコール後に停まってるみたい。 液晶閉じるとバックライトは消えるからarm7側は生きてるっぽい。 arm7側でIPCに設定する項目のIPC->heartbeatはコンパイラ通らないのでコメントアウトしてある。 注意する項目とかそういうないかな?
- 35 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 21:00:34 ID:NJ6jBP1q]
- 背景2枚使うときって2枚目の背景データはどこに入れればいいんですか?
- 36 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 23:00:17 ID:ul3qRtvV]
- >>35
まずどの画面モードを使うかを聞かせてくれ。それからだ。
- 37 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 23:04:18 ID:NJ6jBP1q]
- videoSetMode(MODE_5_2D | DISPLAY_BG2_ACTIVE | DISPLAY_BG3_ACTIVE);
vramSetBankA(VRAM_A_MAIN_BG_0x06000000); vramSetBankB(VRAM_B_MAIN_BG_0x06020000); です。1枚の時は dmaCopy(haikei_Map, BG_GFX, haikei_Map_size); dmaCopy(haikei_Palette, BG_PALETTE, haikei_Palette_size); で表示してました。
- 38 名前:名前は開発中のものです。 [2007/04/25(水) 11:37:03 ID:33OeOyDS]
- >>37
自分で割り当てたメモリに書き込めむのでは BG2_CR = BG_BMP8_256x256; BG3_CR = BG_BMP8_256x256 | BG_BMP_BASE(8); なら dmaCopy(drunkenlogoBitmap, (void*)BG_BMP_RAM(0), 256*256); //BG2に書き込み dmaCopy(drunkenlogoBitmap, (void*)BG_BMP_RAM(8), 256*256); //BG3に書き込み
- 39 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 13:37:30 ID:gTKp5KH5]
- ttp://mdxonlinemirror.dyndns.org/resources/20051007_nokia888.designawards2005.winner.avi
- 40 名前:Moonlight mailto:sage [2007/04/25(水) 16:41:02 ID:HxrT4e6P]
- >>37
私も聞きたいです。 haikei_Paletteが見えるので8bitパレットモードを使っているようですが、二枚同時に表示できる画面モードがあったら教えて欲しいです。 拡張パレットエリアを使ってBG0/1とBG2/3で上下分割すれば(BG4枚使えば)表示できる、というところまでいったのですが分割するとアルファブレンドが使えません。 なんとかBG2枚だけで賄えたらいいのですが…。
- 41 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 16:43:49 ID:9PTGEnxc]
- パレットは1個しか使えないんですか?
- 42 名前:Moonlight mailto:sage [2007/04/25(水) 16:59:41 ID:HxrT4e6P]
- >>41
NDSで追加された拡張パレットを使えばいけます。 アルファブレンドを使わないならば、普通に一枚ビットマップBG(BG2かBG3)を表示して、スプライト疑似ビットマップモード(勝手に銘々)でもう一枚使うのが簡単だと思います。
- 43 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 22:40:25 ID:bi207Gqh]
- 素人考えで思いついたこと。
256x192ドットの画像をメインメモリに4枚持ち、2枚づつブレンドしてキャプチャ。 そのキャプチャした2枚の画像を更にBG上でブレンド。 実際にそんな事が出来るか試す技術もないけど、静止画程度なら出来るんじゃないかと考えてみたり。 多分処理に時間が掛かって、使い物にならないだろうけど。 素人の考える事なので多分上手くいかない。
- 44 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 19:00:36 ID:jP033NAs]
- BG3がVRAM_Fの拡張パレットを使うとして、それはBG3_CRにどう指定すればいいんですか?
あとパレットを書き込むときはVRAM_F_EXT_PALETTEでいいんですか?
- 45 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 19:57:11 ID:vnhXkHDU]
-
- 46 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 22:30:59 ID:1ufEd1K7]
- 拡張パレットの時に使用する拡張パレットスロット
BG0:0 or 2 BG1:1 or 3 BG2:2 BG3:3 と、手元の資料に書いてある。
- 47 名前:Moonlight mailto:sage [2007/04/26(木) 23:32:01 ID:ulX9vZIH]
- >>44
BGx_CR関連のフラグがlibndsのヘッダファイルで定義されていますので、そこからコピペすればOKだと思います。 ちなみに、拡張パレットはCPUから直接読み書きできるエリアにマッピングされていませんので注意です。 >>46 拡張パレットは複数個持てる、とどこかに書いてあったような気がします。 改めて調べなおしてみます。示唆ありがとうございます。
- 48 名前:名前は開発中のものです。 mailto:sage [2007/04/27(金) 01:37:33 ID:E4LQ/b6I]
- 無線LANカード+DSダウンロードプレイで、
改造なしで実行できるらしいがそれで開発してる人いますか?
- 49 名前:名前は開発中のものです。 mailto:sage [2007/04/27(金) 01:56:43 ID:ps+Zsnff]
- BG0〜2がどんな設定になってるか知らないから、適当に書いてみる。
VRAM-Fに拡張パレットのカラー設定をして、 vramSetBankF(VRAM_F_BG_EXT_PALETTE); VRAM_F_CR |=(vuint8)0x08; こうやったら、VRAM-Fに設定したカラーが、BG拡張パレットスロット2と3に設定された。 >>46 にも書いたけど、BG2とBG3が使う拡張パレットスロットは固定。 BG3_CRは標準パレット使ってた時と同じ設定。
- 50 名前:名前は開発中のものです。 [2007/04/27(金) 07:50:40 ID:vQAonU6X]
- ちょっとbookmark
www.dev-scene.com/NDS/Tutorials ranekov.tir.jp/ndn
- 51 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 00:00:44 ID:5RL/W00i]
- >>48
wifimeは昔のDSじゃないとできないんじゃなかったかな
- 52 名前:名前は開発中のものです。 mailto:sage [2007/04/29(日) 13:58:59 ID:FnWZvnH2]
- DSの自作ソフト開発をしたいのですがR4やM3 DS Simplyを買えばできるのでしょうか?
- 53 名前:名前は開発中のものです。 mailto:sage [2007/05/01(火) 08:16:03 ID:SB3umWqP]
- >>52
出来る 他にもSuperCardとかあるよ
- 54 名前:名前は開発中のものです。 mailto:sage [2007/05/01(火) 16:23:58 ID:Xh0zyFlr]
- その前にエミュで遊んでみてからでもいいんじゃない?
- 55 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 18:38:51 ID:OD2Plci2]
- オプティマイズのカメレオンUSBとDS-RAMアダプタを試してみた。
ファイルアクセスしないようなプログラムだと全く問題なさそうだけど、DS-RAMアダプタ経由のPC上のファイルアクセスになると遅すぎ。 ファイルのアクセス方法によっては、これ止ってんじゃね?って思うほど。 PC上のファイルアクセスに期待してたんだけど、ちょっと期待はずれかな... リセット信号線つけたら、自動で再起動してくれるとかは便利なんだけどね。
- 56 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 19:07:56 ID:2UmfDvtL]
- WiFiMeを使って自作プログラムの実行はできますか?
- 57 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 01:02:08 ID:fIbkcnTP]
- 2年前からタイムスリップしてきた御方が降臨なさったぞ!
- 58 名前:名前は開発中のものです。 mailto:sage [2007/05/06(日) 02:22:22 ID:+OsIRxhX]
- あきらめたw
- 59 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 07:01:19 ID:o4/cQJiO]
- DSMPlay Ver0.1
R4とSC LiteとSC SDで起動しない・・・ MicroSDが悪いのと思って変えたけどだめですた。 フォント Loasdで止るし・・
- 60 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 00:06:14 ID:hPGMHvWN]
- R4とSCDSで普通に動いてる
明らかにお前のmicroSDが悪い
- 61 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 01:03:48 ID:D70iJ7rj]
- うちもR4だけど うごくで?
ただ、画面から動画がはみ出してるけど\(^o^)/
- 62 名前:61 mailto:sage [2007/05/08(火) 01:07:20 ID:D70iJ7rj]
- おっと訂正 最後の1フレーズで飛んでフリーズだわ
- 63 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 01:24:05 ID:ooYgEOtg]
- >>59
置く場所間違ってるだけじゃね?
- 64 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 06:05:46 ID:bToGIqLO]
- microSDは a-data 東芝で動かなかった・・・orz
- 65 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 07:18:14 ID:bToGIqLO]
- up3.viploader.net/mini/src/viploader136244.zip
動いたー っ すきん
- 66 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 10:22:42 ID:cd24JBcZ]
- 細かいことを言うとあれだが、本家WMPだと
再生中に「一時停止ボタン」が表示されて 一時停止中に「再生ボタン」が表示されるんだよね ボタンの機能を表示するか、現在のステータスを表示するかなんだけどね
- 67 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 22:18:05 ID:1OObYo6q]
- DSで動く、日本語(漢字など)も使えるエディタは作れないものか
- 68 名前:名前は開発中のものです。 [2007/05/08(火) 22:28:12 ID:SsfRj51a]
- >>67
ATOKとかMS-IMEみたいな漢字変換ライブラリを作ってくれたら作れるよ
- 69 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 23:14:14 ID:cjZWy55g]
- Linuxとかで使われてるのならオープンソースでフリーのがあるよ
- 70 名前:名前は開発中のものです。 mailto:sage [2007/05/09(水) 00:53:30 ID:7zdYh5y4]
- >>69
任せた
- 71 名前:名前は開発中のものです。 mailto:sage [2007/05/09(水) 02:15:50 ID:BYMV35Oq]
- DSMPで再生中完全フリーズするのは、動画側のエラーなんかな?
物によっては完走するので
- 72 名前:名前は開発中のものです。 mailto:sage [2007/05/09(水) 08:23:16 ID:B4n4WDrd]
- 再現したことがないのでわかりません
- 73 名前:名前は開発中のものです。 mailto:sage [2007/05/11(金) 23:47:22 ID:4e1ivnnK]
- えろげこんばぁたぁまってますよ
- 74 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 10:56:26 ID:Jej5bFNf]
- まずははじるすですよ
- 75 名前:名前は開発中のものです。 mailto:sage [2007/05/13(日) 23:07:47 ID:XBYGxj8Z]
- up3.viploader.net/mini/src/viploader137808.zip.html
fmsxDS 0.6 DLDI対応 アンオフィシャルテスト版 う〜ん自分には無理かも…
- 76 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 04:36:41 ID:mEyOEgzk]
- >75
- 77 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 04:38:17 ID:mEyOEgzk]
- >>75
しまったPASSはdldi
- 78 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 12:15:28 ID:Mb4m3oBs]
- とりあえずDeSmuMEのFAT部分をどうにかしようと考え中
今のところDSMPlayとかMoonshellとか動いてる状況
- 79 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 13:03:26 ID:iunJLtuy]
- 3g2とか再生できると熱いよね
- 80 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 05:17:45 ID:h4OBkN9Q]
- OPLLのエミュレーションをARM7でやらせようとしたら、コードだけで0x8000越えてる罠。
- 81 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 06:53:31 ID:h4OBkN9Q]
- ARM7用バイナリから、OPLLエミュのソースをはずしてコンパイルしても、容量空かない。
ndslibだけで容量食われてる? 色々情報集めてみます…
- 82 名前:名前は開発中のものです。 [2007/05/22(火) 15:19:25 ID:Lr8LbkHm]
- devkitProのdevkitARMでプログラムしてます
ARM7のスタックとヒープエリアはWRAMですよね 特に意識してプログラムしなくてもARM9と干渉することはないと考えてよいでしょうか
- 83 名前:名前は開発中のものです。 mailto:sage [2007/05/23(水) 07:45:05 ID:idMNbs3F]
- >>82
ARM7のプログラムが置かれるWRAMは専用の領域だそうです。 ttp://www.bottledlight.com/ds/index.php/Memory/Layout のPrivate RAM(0x03800000〜0x0380FFFF:64 KB) Shared RAM(0x037F8000〜0x037FFFFF:32 KB) を、ARM9からWRAM_CR = 3を実行してARM7に割り当てようとしたんですが
- 84 名前:名前は開発中のものです。 mailto:sage [2007/05/23(水) 07:49:34 ID:idMNbs3F]
- すみません途中できれました。
(続き) ARM7からShared RAMの部分をアクセスしたらフリーズしてしまいます。 しょうがないので、VRAM_DをARM7のメモリ空間に指定して使ってます。 (desmumeのソースを参考にしました)
- 85 名前:82 [2007/05/23(水) 11:58:16 ID:motUPcYL]
- >>83
ARM7はプログラム自体がWRAMに置かれるのですね それでプログラムサイズの制限が64Kだったんだ 私もVRAM_Dを使うことにします
- 86 名前:名前は開発中のものです。 mailto:sage [2007/05/23(水) 14:29:57 ID:CBYIFONF]
- それって高速動作が必要な関数だけじゃないの?
プログラム全部で64kてしょぼすぎる。
- 87 名前:名前は開発中のものです。 mailto:sage [2007/05/23(水) 15:28:30 ID:motUPcYL]
- >>86
www.helloworld.jp/~duke/nintendo_ds/nds_develop4.html には GBADEVフォーラムにおけるポストでは、DevKitPROでは、 ARM7実行可能コードは最大64KBに制限されると言及されました。 って書いてあるんだ。
- 88 名前:名前は開発中のものです。 [2007/05/23(水) 15:34:36 ID:motUPcYL]
- サウンドルーチンだけなのでコード部分は64Kあれば十分かな。
ただサウンドバッファ用のメモリをどうするかで悩んでました。 ところでVRAM_DはARM7からアクセスするときもワード単位ですかね。
- 89 名前:Moonlight mailto:sage [2007/05/23(水) 17:43:56 ID:GSLlsCFn]
- 横槍失礼します。
VRAMC/DはARM7からアクセスするときは8bit読み書きできて、普通にWRAMの増設に使えるので便利でした。 ARM7でmallocすると、WRAMのコード領域を除いたエリアから切り分けしてくれますが、普通の4MByteメモリをARM9でmallocしてIPCでARM7に渡してやれば、ARM7で自由に使えます。 malloc使わないで4MByteエリアを同時に使っても構わないのですが、メモリ管理が面倒なので普段はARM9からmallocするかな、くらいの感じです。 補足1。ARM9のデータキャッシュ(読み書き両方)さえ気を付けていれば、ARM7とARM9のデータ通信に4MByteエリアを使うことも出来ます。 補足2。4MByteエリアを同時にアクセスすると、どちらかのCPUがもう片方のCPUを待ちます。どちらのCPUが待つかはREG_WAIT_CR (*(vuint16*)0x04000204) で設定できます。 補足3。REG_WAIT_CRの設定はARM9側からしかできません。 補足4。DevKitProR20で正式採用されたARM7用WRAM96kbyte設定ですが、一部のファームウェアはこれを正しく扱えません。 問題があったときは(リンカスクリプトをいじるのは面倒なので)r17aかr19辺りを使うのが楽だと思います。SharedRAMを結合しないのでWRAMが64kbyteになります。 補足5。サウンドバッファを4MByteエリアに確保するときは、CPU優先設定をARM7優先にしておかないと、ARM9に負荷が掛かるたびにブツブツ切れます。 補足6。ARM7で大量のメモリをハンドリングするときは、VRAM_CとVRAM_Dを両方ともARM7に割り当てて(ついでに暇があればリンカスクリプトをいじってmallocをVRAM領域にして)256kbyte使うと便利です。 この場合はARM7優先設定する必要がありません。 補足7。libnds-20060719より前の基本ライブラリにはVRAM設定が不十分です。128kbyteまでしかdefineがありません。VRAMC/Dを256kbyte全部ARM7に割り当てるときは、libnds-20070127以降を使う必要があります。 defineを自分で定義すれば気にしなくても大丈夫だと思います。 長い上に箇条書きな補足ばかりですいませんです。 追記、C++を使うと(例外とか使わなくても)C++ライブラリが組み込まれるので、r18/r19b辺りを使うときは、ARM7でC++を使わない方がいいかも。
- 90 名前:88 [2007/05/24(木) 07:06:54 ID:aj7YaroW]
- >>89
バイト単位で読み書きできるんですね その他情報も参考になります ありがとうございました。
- 91 名前:名前は開発中のものです。 mailto:sage [2007/05/25(金) 03:43:00 ID:4YzO8T1a]
- ありがとうございます。参考になりました。
なるほど、DevKitProR20はすでに共有WRAMもARM7に割り当てているのですか… ファームによっては動かないのは困りますね。やはりVRAMをARM7に割り当てることにします。 そしてARM7のソースはCPPではなくCソースとしてコンパイルするようにしてみました。 頂いた情報を元にして色々弄ってみます。
- 92 名前:名前は開発中のものです。 [2007/05/26(土) 14:07:43 ID:prDWTsQK]
- すみませんが誰か助けていただきたく
最近になってdevkitProで遊び始めました examplesのndsをmakeしまくったら全部動いたので、今度はデータを変えて動かしてみようと SimpleSoundのrawデータを手持ちのwavをrawに変換して置き換えたところ 元のwavのそれっぽい音は鳴ったのですが同時にブチブチノイズが入って(´・ω・`)ショボーン wavを8bit,16bitに変えたり周波数を変えてソースもそれに合わせて変えても同じでした 動作はエミュレータのdualisと実機で確認しました wavはSoundEngineで編集、rawへの変換はHomebrewを参考にしてsoxを使いました 音量の制限とか特別なツールが要るとかなにかコツがあったら誰か教えて欲しいです プログラムの話じゃなくてすみません
- 93 名前:Moonlight mailto:sage [2007/05/27(日) 21:05:25 ID:MUD6Al/y]
- >>92
mdxonlinemirror.dyndns.org/sndtest.zip A/B/X/Yボタンでそれぞれ違うフォーマットのサウンドファイルを再生するサンプルをでっち上げました。 変換にはSOXを使用しました。変換オプションはsndtest/arm9/data/convert/conv.batを参照してください。 DevKitProのcombinedサンプルをベースにしましたが、ARM7とARM9で8bit/16bitの設定方法が食い違っていたので、ARM7のtemplate.cを修正しました。 devkitPror20/nds-examples-20070327/templates/combined/arm7/source/template.cの10行目を、 SCHANNEL_CR(channel) = SCHANNEL_ENABLE | SOUND_ONE_SHOT | SOUND_VOL(vol) | SOUND_PAN(pan) | (format==1?SOUND_8BIT:SOUND_16BIT); から、 SCHANNEL_CR(channel) = SCHANNEL_ENABLE | SOUND_ONE_SHOT | SOUND_VOL(vol) | SOUND_PAN(pan) | (format==0?SOUND_8BIT:SOUND_16BIT); に変更してあります。 あと、ダミーの割り込みを有効にしないと、swiWaitForVBlankは使えないので、InitInterruptsで空の割り込みを有効にしてます。combinedサンプルはそのままじゃ動かない…ですよね? ここから下は補足です。 NDSのサウンドチップは32768Hzをベースにしているので、これ以外の周波数を鳴らそうとすると量子化ノイズが入ります。 A/Bボタンの22kHz再生でチリチリ言うのがわかると思います。容量の問題ならもっと下げて16384Hzで二倍オーバーサンプリングするのが良いと思います。 ADPCMは未だになんだかよくわかりません。二種類のADPCMを使えるみたいですが。 ステレオデータを再生するときは、左右分離してデータを二つ用意して、パンを両端に振って同時に再生すればOKですが、libndsの標準関数を使うと1vsync(16ミリ秒)ずれるので、自分でステレオ再生用関数を作った方が良いと思います。 8bit/16bitは、平滑化フィルタを入れれば8bitでも充分かなと私は思っています。容量などを考えながらケースバイケースで使い分ける感じで。 ちなみに、DSMPlayは8bitデータで平滑化フィルタを使っています。sin波ボタンでON/OFFできるので、聴いてみたいだけなら試してみてください。
- 94 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 03:35:30 ID:GoMQTjDv]
- 量子化ノイズは振幅方向じゃないですか
- 95 名前:Moonlight mailto:sage [2007/05/28(月) 05:00:53 ID:KQ4mCJx4]
- >>94
わ、確かにその通りです。慧眼お見それしました。量子化ノイズはAD変換かビット数変換時のノイズですよね。適当なこと書いてごめんなさい。 適切な表現がわからないのですが、周波数変換は(おそらく聴く限りでは)最近傍補完なので変換誤差が大きい、ということです。 モスキートノイズのようなものが入るのですが、こういう現象を表現する単語があったら教えて頂けると有り難いです。
- 96 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 10:03:54 ID:2YHfuliX]
- なるほど、エミュレータの改造してて、サウンドの生成とかしてるので
参考になります。 ハードウェア側の基本周波数に合わせた周波数設定にしないと、 ハードウェアによる補完が発生→音質の低下が発生する なんですね。 出来るだけ少ないデータで音質をあげたいので、参考になりました
- 97 名前:名前は開発中のものです。 mailto:sage [2007/05/28(月) 20:28:54 ID:3IWalm8E]
- >>95
ttp://www.groovecube.com/ja/tutorial/tech_alias.html これでいいのかな
- 98 名前:名前は開発中のものです。 mailto:sage [2007/05/29(火) 22:12:53 ID:8czSWuso]
- 16bit色背景を使ってるんですが、透過色にしたいときはそのドットのアドレスに何を入れればいいんですか?
- 99 名前:名前は開発中のものです。 [2007/05/30(水) 07:17:31 ID:T+UjS17y]
- >>98
0x8000じゃないですか
- 100 名前:名前は開発中のものです。 mailto:sage [2007/05/30(水) 11:45:42 ID:gnisP2wT]
- ありがとうございましゅ〜
- 101 名前:名前は開発中のものです。 mailto:sage [2007/06/01(金) 12:30:36 ID:WIXJ61jG]
- >>99
0x8000だと黒くなってしまうのですが。
- 102 名前:99 [2007/06/01(金) 17:36:25 ID:7cHDqmoD]
- >>101
適当に書いただけだからごめんね
- 103 名前:名前は開発中のものです。 mailto:sage [2007/06/02(土) 14:15:45 ID:E7QBhPlx]
- >>92
ソースまで付けていただいてありがとうございます おかげさまでwavをきちんと再生できるようになりました 結局soxの使い方が間違っていただけのようです(^^; 大きなデータを入れたらコンパイルが通らなかったので次はファイルシステムをいじってみようと思います arm7は最大64KBの制限があるとの記述を見つけたのですが、arm9のサイズ制限っていくつでしょう?
- 104 名前:名前は開発中のものです。 [2007/06/04(月) 08:26:57 ID:QTKoOJgP]
- >>103
arm9はメインRAMに転送されるから4MBかな
|

|