NintendoDS(NDS)非公式開発 Part3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/04/08(火) 07:05:13ID:MngpkM4u初心者歓迎。質問歓迎。英語苦手な人歓迎。冷やかし歓迎。ネカマ歓迎。
資料、リンク等
http://nocash.emubase.de/gbatek.htm
http://www.bottledlight.com/ds/index.php/Main/HomePage
http://www.helloworld.jp/~duke/nintendo_ds/
開発環境
http://www.devkitpro.org/
http://sourceforge.net/project/showfiles.php?group_id=114505
関連スレ
ゲームボーイアドバンス(GBA)開発@ゲ製板(避難所)
http://bbs.gamdev.org/test/read.cgi/gamedev/1055111303/
ゲームボーイアドバンス(GBA)非公式開発 Part2
http://pc5.2ch.net/test/read.cgi/gamedev/1099119005/
前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1175812090/
0002名前は開発中のものです。
2008/04/08(火) 15:17:30ID:1g0GZlxn0003名前は開発中のものです。
2008/04/08(火) 15:31:26ID:r9D6SmNl0004名前は開発中のものです。
2008/04/08(火) 15:45:39ID:MngpkM4uNDSkybookMの作者のmonnlight氏 にお願いがあります
改造したいので最新版のソース公開をお願いします。
連絡方法が無かったのでここに書いときますね
0005名前は開発中のものです。
2008/04/08(火) 17:32:32ID:slCnosDD0006名前は開発中のものです。
2008/04/09(水) 00:14:40ID:H61oeKo90007名前は開発中のものです。
2008/04/09(水) 03:07:33ID:4IBrBpDHそれとも自作でしょうか
0008名前は開発中のものです。
2008/04/09(水) 06:54:57ID:Xhu8qp67ARM7とARM9の2CPU
32ビットx2だけどThumbといって16ビットとしても使える
>>7
お前作れ
0009名前は開発中のものです。
2008/04/09(水) 07:08:13ID:vdVDxp2qなんとか呼び出せないものなのかな
0010名前は開発中のものです。
2008/04/09(水) 16:39:13ID:Wnry4HT0文字入力ってソフトキーボードのことか。
あれはライブラリの形なんてしてないので呼び出しは不可
0011名前は開発中のものです。
2008/04/09(水) 17:40:08ID:vdVDxp2q任天堂提供のライブラリに存在してるのかな
0012名前は開発中のものです。
2008/04/10(木) 23:49:50ID:buPn7sckttp://headkaze.drunkencoders.com/
のKeyboardとかどうよ?
0013名前は開発中のものです。
2008/04/11(金) 03:37:11ID:XWQeXltfこれってコンピューター的には普通なん? プログラムする側には便利なんだけど・・・
0014名前は開発中のものです。
2008/04/11(金) 08:27:41ID:SdsPk1qXメモリマップドIOのことか
普通だよ
ARMにはIN OUT命令がないんじゃないかな
0015名前は開発中のものです。
2008/04/11(金) 12:34:48ID:wT0sV7d6RISCでは普通なんだね
IN OUT命令が必要ないからハードとのやり取りに特別な処理が必要ないんだね
OSが無い環境でのプログラミングって面白いね
*( uint32 *)0x600000 = 1 << 6 とか最初何かと思ったよ
ビット演算子ってこうやって利用するんだね
0016名前は開発中のものです。
2008/04/11(金) 15:55:21ID:SdsPk1qXvolatileとかWindowsのプログラムでは使わないしね
0017名前は開発中のものです。
2008/04/12(土) 00:56:19ID:8n/EoXt3んなこたないw
0018名前は開発中のものです。
2008/04/12(土) 02:53:34ID:ktXoF+sO0019名前は開発中のものです。
2008/04/12(土) 10:57:32ID:NrwO52bjC言語の基礎は他でやってくれ
0020名前は開発中のものです。
2008/04/15(火) 20:22:42ID:s+ai1MQzどうすればいいのでしょうか?
0x40001A8に、B7xxxxxxxx000000のコマンド送信しても
データが受け取れません。
アドレス0x8000000以降には実機だとアクセスできない(?)みたいだし……
0021名前は開発中のものです。
2008/04/15(火) 21:29:57ID:s+ai1MQz0022名前は開発中のものです。
2008/04/16(水) 22:27:41ID:4zCW00RZhttp://ds.spacemonkeymafia.com/downloads.php
http://www.dcemu.co.uk/vbulletin/showthread.php?p=2148047031
以外で。
0023名前は開発中のものです。
2008/04/17(木) 19:49:01ID:xs50DV4u役立たずのお前はもう書き込まなくていいよ
0024名前は開発中のものです。
2008/04/17(木) 22:27:23ID:Q+3j3GRUそういうこといわない!
0025名前は開発中のものです。
2008/04/17(木) 23:56:49ID:EV2Io6jqじゃあおまえは役に立ってるのかと小一時間(ry
0026名前は開発中のものです。
2008/04/18(金) 22:10:09ID:hCAsKzB6この程度も出来んのなら来るな
002721
2008/04/18(金) 23:25:16ID:qK96vfQ+大変ご迷惑をおかけしましたm(_ _)m
読み込み部に下のようなプログラムを組んでみました
for (i=0; i<size; i+=4) {
swiDelay(2);
j = srcaddr + i;
// 読み込みアドレス指定
*(u32*)0x40001AC = (j & 0xff);
*(u32*)0x40001A8 = ((j & 0xff00) << 16) | (j & 0xff0000) | ((j & 0xff000000) >> 16) | 0xB7;
// ROMCTRLを読み込み設定に
*(u32*)0x40001A4 = *(u32*)0x27ffe60 | BIT(24) | BIT(29) | BIT(31);
// データコピー
*((u32*)dest + (i>>2))= *(u32*)0x4100010;
}
NO$GBAであっさり読み込めたので、もしかしたら
聞くまでもないことなのかもしれないと思ったので、
あわてて自己解決したと書き込みました。
ですが……実機ではできませんでした。
他にも手続きが必要なのかもと現在調べていますが……
私にはどうやら敷居が高すぎるようです
0028名前は開発中のものです。
2008/04/19(土) 12:33:13ID:PwhlIjw2俺にもわからんから力になれない
解決したら教えてくれ
ROM吸出しのソースでもあれば参考になるだろうが
Rudolphに聞いてみたら
0029名前は開発中のものです。
2008/04/19(土) 17:01:02ID:en5yglr0*(u32*)0x40001AC = (j & 0xff);
*(u32*)0x40001A8 = ((j & 0xff00) << 16) | (j & 0xff0000) | ((j & 0xff000000) >> 16) | 0xB7;
↑
ソースきちんと読んでないけど、見るからに怪しいな
0030名前は開発中のものです。
2008/04/19(土) 17:46:40ID:yFoqwoJA0031名前は開発中のものです。
2008/04/19(土) 18:11:36ID:en5yglr0バスの幅が16bitsだと、転送で残りの部分にゼロが入ってしまう。
エミュだと動くけど実機では×ならたいていこれ
0032名前は開発中のものです。
2008/04/19(土) 22:12:06ID:57xPYUGEデフォルト値を期待しているとエミュと実機で動作が違ったりしたと思う。
003321
2008/04/19(土) 22:53:52ID:AP7/4/OD・NO$GBA, DeSmuMEでは正常動作
・iDeasでは10000h単位(?)で読みこまれる
・実機では強制的にROMの0x10200番地読み込み(?)
と、挙動がバラバラになりました
GBATekを見てみると、Key1, Key2で暗号化してあるとか、
暗号化回避法とか書いてありますが、この辺も関係あるのかなぁ?
003421
2008/04/19(土) 23:25:16ID:AP7/4/OD・iDeasでは参照アドレスを0x29350と指定すると、0x20050のようになる
→1000h, 100hは無効
・実機ではROMにはない情報が引き出される
ROMCTRLレジスタのデフォルト値をGBATekにあるのに変えてみたところ、
得られたデータに変化がありましたがROMにない情報でした
0035名前は開発中のものです。
2008/04/20(日) 08:54:07ID:mibeG7R0このあたりは、公式じゃないROMからどうやってプログラムをブートするかの
解説だから、ブート後のROMの読み込み方法じゃないとおも。
あたしは良く読まないで諦めちゃった人だから、頑張って欲しいんだけど
いずれにしても、戻ってくるデータストリームはKEY2で暗号化されてるし
コマンドそのものもKEY2で暗号化して送らないとダメって書いてない?
素直に B7aaaaaaaa000000h 送っても無効なコマンドで処理されそう。
(その場合はKEY2ストリームをビット反転させたものが延々と戻ってくるだけです)
ここからは想像なんだけど
結局ROMのデータを読み出すなら、KEY2の暗号シードが分からないわけで
そのKEY2の暗号シードを取得するには、いったん暗号モードをリセットして
最初から自分でKEY1、KEY2って設定していくしか方法がないんじゃない
かなーって気がします。
たぶんRudolphさんが読み込みにつかってるのはこの方法だと思います。
あるいは他の方法で暗号のシードを取得できたり
暗号化そのものを無効化できる方法があるのかなぁ・・・
003621
2008/04/20(日) 21:11:27ID:gpbemj1Vご指摘ありがとうございます。GBATek読んだらかなり細かく暗号化について
書いてあるんですね。今、暗号化プログラムを組んでいるところです
コマンド送信のバイト幅を8Bitにしレジスタ系を32Bitにしたら、
実機以外のエミュですべて正常動作しました。
あとは暗号化実装さえすれば動きそうな気がしますが……
KEY1の設定大変そうです;
0037名前は開発中のものです。
2008/04/21(月) 15:03:22ID:78g5n2kW命令長が32bitだろうと16bitだろうと関係ない。
Core2Duoの最短命令長は8bitだが、8bitCPUとは言わんだろ?
ARM命令とTHUMB命令の違いは関係なくMAIN,SUB両方とも32bitCPU。
ただし、今の時代何をもって何bitCPUと言うのかが微妙になっている。
昔はバス幅で言うのが普通だったが、キャッシュ導入以降は意味がなくなっている。
というか、何bitCPUという言い方自体にあまり意味がない。
0038名前は開発中のものです。
2008/04/21(月) 20:13:25ID:Ii0/LSnu0039名前は開発中のものです。
2008/04/21(月) 20:33:12ID:78g5n2kW考え方としては賛成だが、メーカー公称はそうでもないんだよね。
例えば、
68000はレジスタは32bitだが、16bitCPU(とモトローラが言っている)。
8086は16bitCPUだが8088は8bitCPU(とIntelが言ってる)。
ただし、8088を搭載した初代IBM PCは16bit PCと誇大広告を…
データバスの幅によってそうなっているのだが、
だからと言って初代Pentiumが64bitCPUかと言うとそれはない。
何bitCPUという言い方自体に意味がなくなっているからどうでもよくなってる。
0040SunDarkness
2008/04/22(火) 13:58:50ID:fwWjNZ2KR4に移植は簡単だと思うのだが。
0041名前は開発中のものです。
2008/04/22(火) 21:20:16ID:JGZFpZqN0042名前は開発中のものです。
2008/04/22(火) 23:10:23ID:/4jMRtNW素直にソース下さいって言えよw
0043SunDarkness
2008/04/23(水) 09:11:31ID:8ypD7EyW0044名前は開発中のものです。
2008/04/30(水) 16:16:15ID:5OyLjmlFやる気なくなるんだよな
0045名前は開発中のものです。
2008/04/30(水) 20:21:55ID:dZTwB0pddevKitPro落とせないんだけど…
0046名前は開発中のものです。
2008/04/30(水) 20:46:22ID:Ss2vczPN後悔するより公開してください
0047名前は開発中のものです。
2008/05/02(金) 18:28:49ID:hSsvv74X0048名前は開発中のものです。
2008/05/02(金) 18:46:42ID:qnuTM/pb0049名前は開発中のものです。
2008/05/02(金) 20:11:01ID:YapKo0tj0050名前は開発中のものです。
2008/05/02(金) 20:27:37ID:hSsvv74Xでも開発ツールはオープンソースのものを使ってるんだよね
ちょっとは還元しようと思わないの?
0051名前は開発中のものです。
2008/05/02(金) 20:43:30ID:+5fEsdzuその理屈はおかしい。
オープンソースはオープンソースプログラム拡大の為に
GPL・LGPL等の厳しいライセンス制約を課している。
それを満たした上でどう使おうが、他人が口を挟める問題ではない。
0052名前は開発中のものです。
2008/05/02(金) 21:20:16ID:hSsvv74Xギブアンドテイクが出来ないなら廃れるだけだよ
狭い界隈だし、協力しあったほうが色々と楽だと思うんだけどねぇ
0053名前は開発中のものです。
2008/05/02(金) 21:54:02ID:+5fEsdzuだからその理屈はおかしいっての。
何でも公開するような義務を作ったら、それこそ一発で廃れるから、
廃れないように絶妙のバランスを保つためのオープンソースライセンスなんだよ。
0054名前は開発中のものです。
2008/05/02(金) 23:32:04ID:2Yr33HAjおまえ何か出したのか?おまえが件の開発ツールとやらを作って公開してるのか?
何もしてないやつが「ギブアンドテイク」だとか語ってソースを公開させるのは全くギブアンドテイクになってないと思うんだ。
100歩譲っておまえの意見が正しかったとして、おまえが何か公開してからそういうこと言わなきゃ意見が矛盾してることになるんじゃまいか?
世の中には一方的に拾っていくばかりの人が大勢だってことを頭に入れた上で意見を言ったほうがいいぜ?
巨大なお世話かもしれんけどさ。
0055名前は開発中のものです。
2008/05/02(金) 23:36:00ID:zxjXS2Eiまずは、ソースコードはおろかソフトすら公開していないやつが何を言ってもなぁw
0056名前は開発中のものです。
2008/05/02(金) 23:59:35ID:hSsvv74X他の分野でソース付で公開してる
そこまで必死になって嫌がる理由が分からない
将来的に販売するなどの目的があるなら別だけど
みんなでワイワイやったほうが楽しいと思うんだよね
0057名前は開発中のものです。
2008/05/03(土) 00:46:44ID:aXSpfdPaだから公開してからいえや
他の分野で公開ってどこだよ、見に行ってやるから言えよ
0058名前は開発中のものです。
2008/05/03(土) 00:57:44ID:My0lu+Sx0059名前は開発中のものです。
2008/05/03(土) 02:59:05ID:C2A5UDgG勝手に「ソースは公開すべき」という意見だと曲解した上で必死で否定する人たちって…
0060名前は開発中のものです。
2008/05/03(土) 03:37:35ID:t8DKVKVb0061名前は開発中のものです。
2008/05/03(土) 04:34:49ID:aXSpfdPa>>56が何らかのソースを公開したらみんなで楽しもうじゃないか
多分二度とこないと思うけどな。
0062名前は開発中のものです。
2008/05/03(土) 07:52:48ID:UJQoYt/vすごいこというな・・・
こういう人のために作者は自分の時間を使ってたのか・・・かわいそう
0063名前は開発中のものです。
2008/05/03(土) 08:01:25ID:h7+eVHMM0064名前は開発中のものです。
2008/05/03(土) 12:38:57ID:C2A5UDgGたしかに>>40みたいなあからさまな乞食は論外だが、
>>47はただ、ソースの公開は嫌なものなのか?って皆に聞いてるだけじゃん。
0065名前は開発中のものです。
2008/05/03(土) 14:02:59ID:aXSpfdPaはぁ?必死なのは「ソース見せ合ったほうが楽しいんじゃない?」とかほざいたお前だろ?
0066名前は開発中のものです。
2008/05/03(土) 16:21:59ID:C2A5UDgGそんな顔真っ赤にして言われても…
0067名前は開発中のものです。
2008/05/03(土) 16:26:20ID:79Xkme1V公開して欲しいと人に頼むなら、自分が公開してから言えってのは同意。
それを踏まえて公開したい人は公開すればいいんじゃね?
求めるだけじゃ誰も答えんよ。
0068名前は開発中のものです。
2008/05/03(土) 16:36:40ID:aXSpfdPa今俺が希望するのは56のソース公開だけだ
実に楽しみだ、きっとみんなで共有できるはずなのに
当人が一切公開しようとしないんだから困ったものだw
結局そういうもんだよw
0069名前は開発中のものです。
2008/05/03(土) 16:45:09ID:C2A5UDgGそれには全面的に同意なんだが、>>56の皆でワイワイやったほうが楽しいという意見も納得できるので、
ちょいと口を挟んでみたのだが…どうも言わんとしてるところがうまく伝わらなかったようだな。
というか、俺が>>56だと勘違いされてる?
0070名前は開発中のものです。
2008/05/03(土) 17:21:04ID:Pq8hwf/6http://sourceforge.jp
ここのどれかだ。
これ以上知りたければお前の氏名とプロバイダのメールアドレスをココに書きな
0071名前は開発中のものです。
2008/05/03(土) 17:49:48ID:9aaHDGgYそういうやり方は、公開したくないといってるのと同じだ。
0072名前は開発中のものです。
2008/05/03(土) 18:17:04ID:5+bJ1NHdsourcefourgeのプロジェクトなんて個人特定したも同じじゃねーか。
たかが名無しの煽りのためだけに、個人情報に近いものを晒したくはないだろうよ。
0073名前は開発中のものです。
2008/05/03(土) 18:30:54ID:My0lu+Sx>ギブアンドテイクが出来ないなら廃れるだけだよ
みたいにネガティブな論調、悪意から始めておいて、その態度等に文句を付けられると
>ワイワイやる方が・楽しいんじゃない?
というポジティブで同意を求めやすい善意的な論調にすり替えます。
するといつの間にか自分は公明正大な発言者であると大きな顔が出来るわけですよ
0074名前は開発中のものです。
2008/05/03(土) 20:39:50ID:79Xkme1V「sourcefourgeに公開してある」ではなくて、
これから新たにうpろだにでも公開するといいと思うよ。
IDでもテキストに書いていれておけば、証拠にもなるしな。
0075名前は開発中のものです。
2008/05/03(土) 20:53:45ID:aXSpfdPa「俺は公開している」なんてよくも言えたもんだな。
恥ずかしくないのかね
0076名前は開発中のものです。
2008/05/03(土) 21:59:35ID:C2A5UDgGオープンソースを信奉するならまず自分から公開しろというのには賛成なんだが、
ここまで煽りまくるとかえって公開しづらいだろうに…。
と思ってたが>>70のやり方見たらどっちもどっちという気がしてきた。
0077名前は開発中のものです。
2008/05/03(土) 22:03:18ID:h7+eVHMMだろう常識的に(ry
0078名前は開発中のものです。
2008/05/04(日) 00:17:02ID:uuRP6TrsDS素人な上にゲーム制作の経験もないけど、
一番最初の入門者にとって参考になれば…と思ってます。
ttp://void-main.org/dsprogram/
全然更新していないんだけど、意見あればよろしく。
0079名前は開発中のものです。
2008/05/04(日) 01:20:28ID:OhsOp0+30080名前は開発中のものです。
2008/05/04(日) 01:55:59ID:EKIuBmQb意見いったり批判はしていいとおもうけどな
どんな人が書いたかよりも
内容で読んだ方が
0081名前は開発中のものです。
2008/05/04(日) 02:30:47ID:/JCIQP6n乙、参考になります。
…って、元A○CCの方じゃないでつか?
008235
2008/05/05(月) 02:34:17ID:Uak3Varh実機でROMカートリッジの内容を読み込むの成功したんだけど
この雰囲気だと叩かれそうだw
先に結論から言うと、実機でROMを読み込んでも無駄です。
スロットに刺さってるのはマジコンのカートリッジなんだから
この状態で読み込んでも、読み込まれるのは・・・・・
なんでこんな単純なことに気がつかなかったんだろう orz
0083名前は開発中のものです。
2008/05/05(月) 07:34:21ID:uyVcAzjNソースの公開されてる自作ソフトがあると非常に助かるのは事実
>>82
ROM吸出しソフトはすでにあるよ
皇帝ルドルフとか言う人が作ってた
プログラム実行したらカートリッジ差し替えるんだよ
008435
2008/05/05(月) 08:25:36ID:Uak3Varhデータを、コードに直接埋め込んだりlibfatを使わずに
カートリッジから直接読み込みたいっていうことじゃないかな?
まぁ結局、素直にlibfat使いなさいていうことですね・・・
0085名前は開発中のものです。
2008/05/05(月) 12:08:41ID:CmhX5RoDSlot2を読み込みたいならSlot2のマジコンを使えばいい。
読み込みたい方と別のSlotからブートすれば何も問題はなかろう。せっかく2つあるんだから。
使えるマジコンは限定されるけど。
0086名前は開発中のものです。
2008/05/05(月) 15:17:08ID:rp/LnXOcgbfsで読み込むよう切り替えたいんだが、なんかいい方法はない?
0087名前は開発中のものです。
2008/05/05(月) 17:43:12ID:Wi/Q4iyL0088名前は開発中のものです。
2008/05/05(月) 19:44:29ID:I85x8lIo起動中にDSカード抜くと一発でフリーズするんだね、残念。
PSみたいに途中でメディアを入れ替えられるようになっていれば、
GBAスロットの拡張メモリに一旦転送するとかできどうだけど。
それとも特定のAPIでメディアとの接続を切ったりできるのかな?
0089名前は開発中のものです。
2008/05/06(火) 02:18:31ID:nbRAn1xUフリーズするのは主に商用のカートリッジだけですよ?
カートリッジの抜き差しでハードウェア割り込みが発生するので
公式の開発ツールは、カートリッジ割り込みを拾ったらフリーズするように
作られてるんでしょうきっと。
ためしにhomebrewなソフトで抜き差ししてみるといいです。
0090名前は開発中のものです。
2008/05/06(火) 03:34:18ID:xOcS/gYsだとすると、割り込みハンドラを登録すればフリーズしないってことだな。
irqSet(IRQ_CARD_LINE, func);
のようにして、まずはテスト用のハンドラを登録して動作を試してみたらいいんじゃないか?
0091つくりませんか
2008/05/07(水) 18:23:39ID:p5xOjkEB初心者ですが、お願いします。
自分で作ったソフトとか
http://www.geocities.jp/takahumi1102/nds.html
0092名前は開発中のものです。
2008/05/07(水) 19:00:29ID:E+5aTInZ同好の士を募集しているのか
募集しているにしても何を求めているのか
それとも単なる自己紹介なのか
さっぱり分からんな
0093つくりませんか
2008/05/07(水) 19:11:22ID:p5xOjkEBつくってください・・・・・じゃなくて、
ただ単にゲームをつくりたいです。
求めているものは、教えあえることです。
0094名前は開発中のものです。
2008/05/07(水) 19:31:57ID:Vb4M9it7とりあえず全部教えてください
0095つくりませんか
2008/05/07(水) 21:38:50ID:p5xOjkEB???????
0096名前は開発中のものです。
2008/05/07(水) 21:41:15ID:qEv9eqFr依存する気100%で「教えあう」と言われても。
0097名前は開発中のものです。
2008/05/07(水) 22:11:19ID:Vb4M9it7池沼なんだね
0098つくりませんか
2008/05/07(水) 22:47:22ID:p5xOjkEB全部教えてくださいというのはどういう意味ですか??
0099名前は開発中のものです。
2008/05/07(水) 23:35:21ID:Vb4M9it7「教えあえることです。」の教えられる部分に決まってるだろjk
0100名前は開発中のものです。
2008/05/07(水) 23:52:12ID:5piMHBxw0101名前は開発中のものです。
2008/05/08(木) 02:19:41ID:/70xYc+4それも決まってないようだと、話にならんが。
■ このスレッドは過去ログ倉庫に格納されています