【五拾圓日記】
〜みんな大好き日本銀行券〜
2006/03/01
2006/03/02
- [NDS/Win]M3 game manager V3.12
ノーチェック。アップデート。ファームはx16のまま?
- NDS Liteはどうやらハイエナのごとくらしい。
ゲームが何本か出ているので買いに行ってもいいかな。
2006/03/03
- やっぱりARM7からNDSROMを読み込む方法がイマイチ理解できんです('A`)
今見た。確かにWAIT_CR設定しないと見えないです。俺もこれに散々悩まされた。他人のソースから発見した。
GBAカート,DSカードの選択やメモリアクセスの優先度など重要なレジスタが詰まってる。
gooのblogの更新日時が正確に取れないので更新されても見に行けない状態になってるなぁ。
RSS対応のアンテナだったらいいのに。
そうだ、MSNメッセンジャーとかないですか? チャットレベルで即解決できる問題だったもしれんし。
- [NDS/dev]GBA and NDS FAT filesystem library 2006-03-03 (gba_nds_fat_2006-03-03.zip)
更新されました。
サポート追加:MK2 / MK3、M3 SD(read only)、SC SD(read only)、EFA2(read only)
RAINはほぼそのまま入れられそうだけど、MP3PLAYはいつものごとくUNICODE対応が必要になるなぁ→moonlightさん
あ、SC SDの書き込み必要だからちょっと直さないといかんか。アセンブラ版の奴で。書き込みできないハードはサポート外で。
ところで EFA2 って何ですかね。フラッシュカートっぽいけど。
- メモ:NDS開発についてのノウハウ(間違ってたらスマン)
ARM7,ARM9の両方から使用できるデバイス(メモリ、GBA cart,DS cardなど)はレジスタで選択か優先度があるので注意。WAIT_CRなど。
共用メモリは便利だけどARM7から頻繁に参照するとARM9のパフォーマンスを落とす。1回の処理での参照回数が多いときは変数にコピーして最後に書き戻すなどの工夫をする。
キー入力待ちなどのwait処理はswiWaitForVBlank()を使う。
swiWaitForVBlank()を使うには、IRQ_VBLANKを有効にして割込み処理で VBLANK_INTR_WAIT_FLAGS |= IRQ_VBLANK; をやらないと永遠にリターンしない。
起動直後の共用メモリにDSの設定がロードされているので参照だけなら簡単に利用できる。(Firmware)
ARMコードとTHUMBコードの両方が使えるのだが安易にTHUMBコードにするとはまる。割込み処理は必ずARMコードにする必要がある。
POWER_CRとかWAIT_CRとかビットで意味の違うレジスタは直接代入しない。 例えば POWER_CR |= POWER_ALL_2D; や WAIT_CR &= ~0x0800; のように書く。
GBA CARTのSRAMはWAIT_CRを設定してもすぐに書き込めない(化ける)。GBA ROMをダミーリードさせるかwaitを入れる。
PassMeを挿している状態では、DSセーブメモリへのアクセスした時の応答が変わる。サイズ判定をやる場合はPassMeを外すべき。libndsのコードは使えないのでRAINのcardmeを利用しよう。
他人のコードにもバグはある。
ありえない動きはコードを目デバッグ。引数オーバー、未初期化変数、開放漏れ、二重開放、常に真or偽の条件文、インクリメント/デクリメント忘れ、関数内の違うブロックで宣言された同じ変数、比較のはずなのに代入、別の場所(割込み)で変更している変数の監視においてvolatileがない、浮動小数点演算式で明示的なキャストがない、など。
NDSTech Wiki、DS Tek - Nintendo DS Technical Informationを読んでどんな機能があるのか眺めておく事。
どうしてもうまく動かない場合、勘違い、思い込みがあるので誰かに相談したほうが解決が早い。
ARM9のデバイス:2Dグラフィック、3Dグラフィック、スプライト、XYを除くキー、ITCM、DTCM、
ARM7のデバイス:バックライト、サウンド、マイク、ファームウェア(FLASH:無線LANモジュール内)、LED、バッテリー、XYキー、ヒンジ、ペンタッチ、RTC、無線LAN、
ARM9,ARM7兼用デバイス:メインメモリ、共用メモリ(メインメモリだがキャッシュされないだけ)、GBA Cart(ROM,SRAM)、DS CARD(ROM,セーブデータ)
ARM9,ARM7それぞれで使える独立のデバイス:DMA、TIMMER、割込み
- RAINをMK2,MK3対応にできるかどうか考えていたが、できそうにない気がしてきた。SDへのアクセスはよしとして、DSカードへのアクセスが実質PassMe経由になってしまうから。RAINではPassMe経由で使えないようにしているため、結局のところ対応不可になってしまう。
PassMe経由で問題になるのはメモリ形式が判定できなくなる事。データ読めばある程度判定できるが、サイズとか色々問題が出そう。MKを完全にPassMeない状態と同じ動作をしてくれればなにも考えなくて良いのだが。
誰かが直すと信じてドライバ組み込んでおくという手もあるか。
もちろん動かなければMK2,MK3は無効にしておくけど。
2006/03/06
- 試算資産価値
時給計算だとするとそんな感じか。
実費な経費計算だとどうだろうか。
俺の場合、例えば大人気のRAINだとしよう。
NDS 3台、GBA SP、ブートケーブルUSB、GBAフラッシュカート、PassMe 2枚、SuperCard CF、アドムービー、GBAMP、M3 SD、SD 2枚、CF 3枚、ノートPC1台、DSゲーム20本以上、AIR-EDGE、・・・どんぶり勘定で 50万以上。
食費、時給、ファミレス、インターネットカフェ、光熱費、通信費などの間接費は除外。
現在、実質的な見返りは、掲載誌1冊だけなんですよな。
たとえ、値段付けて売ったとしても元は取れないだろう。
フリーソフトで一番回収率が良かったのがベクターがCDROM本出してた時代のX68ソフトなんだよな(笑)
次はMI Zaurusのフリーソフトか、2〜3冊ぐらいもらったような。
2006/03/07
- 20060306_gba_nds_fat_2006-03-03_unicode.zip をMP3PLAYに入れて試す・・・。
MK2,MK3は対応になったが、M3 SDが認識しなくなった。
gba_nds_fat_2006-03-03.zip をテストアプリに入れてみたがこちらもM3 SDの認識できない。
M3 SD分のソースは自分が作ったものと比べてもコメント削除とSUPPORT_M3SD定義が入れられているぐらい。
認識できなくなった理由がまったくつかめず。
M3SD_Unlock()あたりで認識失敗の可能性ぐらいしか想定できない。
- 予想と違った。
_CF_USE_DMA を有効にして _CF_ALLOW_UNALIGNED を無効にしないと動作しないようになってた。
_CF_USE_DMAを有効にしても、そもそもDMAを使うようにならないので無意味。
このロジックが理解できなくて悩んだ。M3SD認識したつもりでセクタリードがfalseを返すだけで、FATドライバで失敗していた。
しかし、アライメント問題と思われる現象で音がスキップするようだ。
アライメントされてない時の処理を入れたほうが無難な気がしてきた。
アライメント対策関数を作る方向で。
元々 _CF_USE_DMA と _CF_ALLOW_UNALIGNED の解釈がおかしいソースになってたから。
return falseじゃなくて #error You can't use _CF_ALLOW_UNALIGNED とかにすべし。
こうすればコンパイル時に気付ける。
- パーソナルモバイルツール“ザウルス”<SL-C3200>を発売 | ニュースリリース:シャープ
Zaurusはまだ健在です。
関連ソフト:かんたん換太郎 for ZAURUS 製品情報
よく仕様を見てみるとZaurus用はSD-Video形式でG.726・・・。「オーディオはMP3形式です。」とかも書いてあるけどどっちが本当だ?
- Chishm's Website
Drunkencodersのサイトに入りました。
2006/03/08
- MP3PLAYに 20060306_gba_nds_fat_2006-03-03_unicode.zip を導入して、M3 SDで動くように調整中。
内容はバイトアクセスに変更しただけ。パフォーマンスがどれぐらい落ちるのか知らんけど。
- SuperCard対応について
SuperCard CF,SDでことごとく動かないらしいので今後サポート外にします。(コンパイル時に無効化します)
現物が無いのと、対処方法が不明なので。
もし対応するとしても、SuperCardを持っててコンパイルできる環境でかつ、動かす修正をできる人が居て、そのソースもらって対応ってことになると思います。
現状では無理です。
- SuperCerdのためにカンパを募るとか考えてみたけど
SuperCardのファームを直してもらったほうがずっといいよと思った。以前は普通に動いていたみたいだし。
どうせROM吸い出すにはアドムービーかGBAMPが必要なので。
2006/03/09
2006/03/10
- moonlightさん見てる〜?メール返事よろしく。
2006/03/13
- とある事情でNDS lite 白を入手。(正確には借り物)
明るさが4段階の最低輝度が旧NDS相当に見える。普通に使うなら2段階目か。それ以上はちょっとまぶしい。
液晶の発色特性が違う。より鮮やかに見える。
GBAスロットのダミーカードがなぜか基板端子がついてて、分解してみると、奥まで配線がいっていて、穴が開いている。つまり未結線。
何か新しいハードを作るときに端子として利用できそうな気がする。
アドムービーは認識せず。何度もOFF/ON試すもGBAカートとしては認識せずDSオプションカートリッジ扱い。やりかたがまずいのかも。
任意のゲーム+Passkey2+M3SDで、GBAモードで起動。このとき、GBAモードで使えるSDに制限があった。最初に専用のツール(GBA)で対応したゲームのデータを書き込んで、PassKey2をセットして電源OFF/ON。あっさり起動できた。MP3PLAYも普通に動く。
ピクトチャットでの色はパープル?→■
SL1の穴は最初から(下の左に)開いている。旧NDSは水没検出シールが貼ってあった位置(左の上)だった。
今、ファームを書き換えると元通りにできないので対応flashmeが出るまで待つしかなさそうだ。
どのみちGBAスロット飛び出すし、PassKey2でカッコ悪いし、DSゲーム専用と思ったほうがいいかも。
2006/03/14
- Flashmeに関する注意喚起: ひぐらし blog
NDS LiteでFlashMeが失敗するという事が何故起きるのかがここを見てわかってきた。
SL1にアルミホイルを入れたときにブラックアウトする状態から、はみ出したアルミホイルで恐らく電源ショートしている。
電源が入らなくなったというのは恐らくヒューズが飛んでいるのでしょうね。
FlashMe開始前に電源が落ちたのであればファームは無傷な訳ですし、ヒューズが飛んでなければもう一度やれば済む筈です。
FLaheMe中に電源が落ちたのであれば、A+B+SELECT+START を押しながら電源ONでもう一度FlashMeを起動できるはず。
NDSLite・速攻レビュー&分解方法にある写真だと、SL1の隣(写真だと下側)にVR1ってのがあるので、これにショートしているのではないだろうか。
そしてヒューズの位置は、電源コネクタ(写真右下のP9)のそばのF(?)ってあるのがそうじゃないかなぁ。
電源ランプすらつかないのは分解修理するしかなさそうだな。
2006/03/15
- MP3再生テスト r09
アラーム関連の操作変更、定義追加、自動アラーム待ち追加。
レジュームじゃないけど、最後に演奏した曲を記憶するようにした。
- NDS LiteでFlashMeが失敗の考察(続き)
A+B+SELECT+STARTをやっても起動ができない場合は、
ヒューズ飛んだ or ファームが完全に壊れた
のいずれかしかないでしょう。
ヒューズが飛んだかを確認するには分解してヒューズ(F1)の両端をテスタで抵抗値を測ってください。0Ωじゃなければヒューズ切れ。
ファーム完全破壊の場合は、ppflashなどのFLASHへの直接書き込みしかないですね。
ppflash以外の書き込み手段ですが、いくつか浮かびます。
以前、PassMeから配線してファームのFLASHをRAINで読み書きしたことがあります。
要するに別のDSマシンでFLASHを書き換えるという事です。
もしかしたらMaxDrive DSでもできちゃったりするかもしれません。
BBMEもその手のハードなので恐らく可能です。
2006/03/16
- NDSのページを整理した。
既に古くなっている情報や、無くても問題なさそうなもの、古いアーカイブを適当に削除。
10MB以上減ったような気がする。 - コードセレクトメニューとか作れたらいいんだけど、ARM7しか制御できない状態で出来るもんかなぁ>おにいちゃん
ARM9でやろうとおもえばできそうです。
NDS MPやらマルチロムローダがあります。
PassMe起動されたあとの処理の流れはご存知でしょうか。
GBAROM上のコードをARM7が実行します。
ARM7がローダーとなってどこかのメモリからメインメモリにロードして実行させます。GBAROMから読ませるのが一番楽だね。
適当なサンプルにFINEがあります。arm9のlaunchnds.cpp、arm7のmain.cpp
0x027FFE24にARM9がループするアドレスの指定(=0x027FFE04)
0x027FFE04が実行するコード ldr pc, 0x027FFE24 (=0xE59FF018)
適当なARM9コードをメインメモリに持っていって、0x027FFE24に実行開始アドレスを指定するだけでARM9を起動できます。
ARM9の処理が終わったら0x027FFFFCに任意の値を入れて、再び 0x027FFE24、0x027FFE04を設定してswi 0を発行。
ARM7側で「if (*((vu32*)0x027FFE24) == (u32)0x027FFE04) // Check for ARM9 reset」とか監視して、0x027FFFFCの値を読み込んであとは好きな処理。
・・・とか妄想してみた(w
2006/03/17
- 某所より、耳寄りなニュース。今晩秋葉に行きます。結果は後ほど書くかも。
2006/03/20
- MP3再生テスト r10
音量設定が保存されるようになってます。read onlyドライバ除く。 - ついに自分のDS lite ネイビーブルーを手に入れた。
まだ、FlashMeをやっていないので、PassKey2+M3-SD起動で色々検証。
別のDS LiteでFlashMeしたものでアドムービーを起動しようとして、何度も電源OFF/ONしても起動できなかった。他の報告では動いたとか。
PassMe2相当で起動するにはSRAM必須なのでGBAMPは不可、アドムービーも不可だが、ひょっとしたらアドムービーの先にGBAカートリッジを挿してSRAMを書き換えれば起動できるかもしれない。後日検証してみようか。
GBAモードで起動、SRAMを書き込むGBAツール、PassMe2を挿す、電源OFF/ON、PassMe2/NDSモードで起動?
2006/03/22
- loopyさんから返事が来た。
I am working on FlashMe for DS Lite. It should be ready soon, maybe next week.
だそうです。 - PassMeをPassMe2に書き換えて、
PassMe2+アドムービー+GBAフラッシュカートの構成で起動できることを確認。
準備するもの
NDS(Lite)、PassMe2、DSゲーム、アドムービー(改造ファーム)、CF(起動したいファイル_BOOT_MP.NDSを入れる)、GBAフラッシュカート(PassMe2用SRAM書き込みツール入り) or GBAゲーム
手順- GBAカートのSRAMにPassMe用データを書きこむ。(フラッシュカート:GBAモード,GAME側で起動)
- MOVIEモードにしてPassMe2+DSゲームを挿して起動。
- GBAカートリッジとして認識したら、素早く電源OFF/ONで再起動。
ただし、_BOOT_MP.NDSファイルを起動することしかできず、ランチャから別のNDSを起動することができなかった。
- そういえばアマゾンのアドムービー¥1980が売り切れになっている。これから入手したい人は早めにどこかから。
ROMダンプにはGBAMPも使えますがこちらは入手がもっと難しいと思うし。
2006/03/23
- 2006/03/23 TMO時計 r04
ときめきメモリアルオンラインで使えるかもしれない時計
Webのステータス表示に対応させました。正式稼動開始は14時ですが、メンテナンス中ですと表示されるのは確認。
もしも時間割が変更になったら書き換えないといけないな。
2006/03/27
- 日記書いてねー
色々あってNDS開発は暫く休み。
TMO再開。
2006/03/28
Is pepsiman looking?
I can not send the reply of e-mail to pepsiman. Please let me know your effective e-mail address. sataemonds at dk.pdx.ne.jp
追記:連絡付いた- 凄いものが届いたのでいじってみたら動いた。
案の定、SD書き込み遅せぇ!
2006/03/29
- [NDS]RAIN r13A_TEST 暫定人柱版
M3-SDの書き込みに対応したドライバをテスト導入。動作検証が不十分のため、SDが破壊される恐れがないとはいえませんが、動作報告いただけるとうれしいです。 - [Win]ときメモオンやってます。
わりと中の人濃い人ばかりですね。異性とツーショットとかドラマとかやるとなんだか照れるね。
NPC攻略するきがあんまり起きないけど。PC攻略したくなってしまってやばい。
(以下略)
This URL is ' http://www.pat.hi-ho.ne.jp/sata68/0nikki.html '.
mirror : ' http://hp.vector.co.jp/authors/VA013674/0nikki.html '
日記まとめ読みINDEX
All Rights Reserved, Copyright (C) 1999-2006 SaTa. |
☆ 秋葉原・有楽町の店舗営業時間メモ ☆(2005/12/14変更)
有楽町ソフマップ 11:00〜21:00
ビックカメラ有楽町店 10:00〜21:00
ヨドバシカメラ(Akiba) 9:30〜22:00
LAOX ASOBITCITY 10:00〜22:00
LAOX ザコン 10:00〜21:00
石丸(だいたいの店) 10:00〜20:00
クレバリー 平土 10:00〜20:00 日祝 〜19:30
ツクモパソコン本店 平土 10:30〜20:00 日祝 10:30〜19:30
ヤマギワソフト館 平 10:30〜20:00 金〜21:00 土10:00〜21:00 日祝10:00〜
ソフマップ本店(GAME) 11:00〜20:00
カクタソフマップ 11:00〜20:00
BLESS 秋葉原本店 11:00〜20:00
K-BOOKS ラジ館3F ALL 11:00〜20:00
若松通商 ラジ館4F ALL 10:30〜19:30
千石電商 ALL 10:00〜19:00
パソコンcity 平土 11:00〜19:00 日祝 11:00〜18:30 定休日:水
秋月電子 平土 11:30〜18:30 日 11:00〜18:00 定休日:月・木
東京ラジオデパート 10:00〜18:00 (店によりけり)
☆ どうでもいいメモ ☆
・LastSetup / 2006年インストール回数:2
white (2004/12/15 XP) PM 1.0G リモコン/ボタンがおかしいので追加INST
A55 (2004/12/20MCE) PM 1.6G 新規
snow (2005/05/18 XP) PM 900M tcpip不良で追加INST(W)
snow (2005/08/08 XP) PM 900M HD120G(Windows)
LS10新(2005/12/26 XP) P4 2.4GA TV録画ソフト異常
R15新 (2006/01/14 XP) P4 2.6G 新規導入(中古)
snow (2006/02/05 XP) PM 900M CPU負荷が高くなり
・実話 ・NEWS-14
・MI-E1 MI-L1 MI-E21 MI-E25DC
・SL-A300 SL-C700 SL-B500 SL-C750,SL-C760 SL-C860 SL-6000
・SL-C3000 SL-C1000 SL-C3100 SL-C3200
・MissingBlue. ・おかえりっ! ・AS 〜エンジェリック セレナーデ
・水夏 ・初恋/思春期 ・TLSSD ・SAKURA〜雪月華〜 ・Wind -a breath of heart-
・はにはに ・ゆりね
・MDXOnline
・CM67完了葉書[10/04]、落選[11/9]、駐車券申し込み[X]
☆ 開催日・発売日とかスケジュールメモ ☆ 情報源→ketto.com コミック/CD/DVD発売リスト
☆2006年
2/11(土)[EVT] はりケット03 都立産業貿易センター浜松町館4F
3/ 2(木)[NDS] Nintendo DS lite 発売
5/ 3水祝[EVT]CGアニメコンテスト(DoGA) 開場12:00 開演12:30 なかのZERO 大ホール
5/14(日)[EVT]しましまパーティー ハイライフプラザいたばし@JR板橋
(;vv)IAX00089X
[EOF]