【拾圓日記】
〜みんな大好き日本銀行券〜
2006/02/01
- VSYNC回数を測定するテストの結果
NDS(ARM9) | 59.827Hz |
GBmicro | 59.723〜59.724Hz |
GBA | 59.722〜59.723Hz |
GBASP | 59.724〜59.725Hz |
NDS(GBAモード) | 59.652〜59.654Hz |
幅があるのはF2A UltraとM3 SDでの測定の違いから。どうも小数点以下2桁程度までが限界のようだ。
小数点以下2桁まで見ると、59.82、59.72、59.65の3つのグループに分かれる。
ひとまず、NDSでVSYNCカウント(vsc)で秒(sec)にしたければ
sec=vsc*1024/61263; // NDSでフレーム数から秒に変換
とすればいいか。
GBAなら
sec=vsc*1024/61156; // GBAでフレーム数から秒に変換
かな。
NDSのGBAモードまで考えるならBIOS判定させたあとに、
sec=vsc*1024/61085; // NDSのGBAモードでフレーム数から秒に変換
でしょうか。 - 先日のCFよりSDが遅いって話、
SD-CFアダプタを使ってCF版のM3かSCを使えば、速度の問題は解決できるかもしれません。
但し、このSD-CFアダプタがMMCのSPIモードではなくSDモードで動作する前提ならばです。
もっとも余計な回路を挟むため、消費電力的にデメリットが大きそうです。
2006/02/02
2006/02/03
- それはそれで面倒だしなぁ…。
今思いついたロジック。可能かどうかはおいといて。
DSカードをはずす
→カード割込みでキャプチャルーチン
→DSカードが差し込まれるまで待つ
→DSカードが今やっているゲームかどうか判断
別のDSカード→セーブ領域にキャプチャ(w
同じDSカード→ゲームに復帰
なんて〜のは、複雑すぎて無理だろうなぁ。
そういえば、キャプチャの部分を、任意のデータ書き換えとかにしたら、改造ツールにも応用できそう。別DSカードのセーブになにをするのか書いておく。
2006/02/06
- 今週のTODO
RAINのバンブラスコア編集(追加)、えいご漬け(4Mbit)対応。
MP3PLAYの再生時間経過をVSYNCカウンタから計算するように。
調べる事
BBSのチェックサムを生成する方法
やる事
BBSファイルセレクタで曲タイトル表示させる。制限:全角ファイル名は未対応。 - SDカードリーダーの製作 → SDカードから何か読み込んだり、書き込んだりするにはFATをサポートしないといけないので難しそうだ。
NDSで動くFATドライバは既にchishm氏のGBA MP Compact Flash Driver (gba_nds_fat_2006-01-04.zip)があります。これを元にMP3PLAY(UNICODE対応+M3SD対応)とかRAINに採用しています。
セクタ読み書きを行うio_xxxx.c,io_xxxx.hを作成して、disc_io.cに追加するだけで、FATフォーマットを知らなくてもファイルアクセスができます。
- そうだ、chishm氏より、M3SD対応したいような事IRCで言ってた。
ひとまず、今ある自分のドライバはセクタ読み込みのみで書き込みできないということ、M3SD_IsInsertedが確実かと聞かれて、ステータスレジスタが 0x20 or 0x30 だったら誤判定される可能性があることを伝えた。
MK2のSDアクセスとかもやっているらしい。
2006/02/08
- RAINのBB TOOLをデバッグ中。
BBSファイルを読み込んでスコア入れ替えは動いているけど、
カードにデータをセーブした後どうやらワーク用のメモリが壊れている・・・。
助けて!
追記
イージーミス発見。配列のレンジが8のところを32にしてた。未検証であるがたぶんそれ。
変更したと思ってたのになぁ。
2006/02/09
- さて、とりあえず不完全ながらも「らき☆すた」がチュートリアルだけでも進行できるようになったので、ドリルゲージをサーチできますた。
マスターコード(F01BE58 E12FFF1E)の桁数がどう見ても足りないので、F201BE58 E12FFF1Eで入力した。多分これは、Imaha486さんの挑戦だろう。(ぉ
しかし起動しない。
PassMeが悪いのかと思い、別のPassMeにしたら起動した。ちゃんとAボタンでゲージが回復した。すげー。
でもPassMeが接触不良っぽくてクリア直後にカードが抜かれた状態になってしまった。PassMe無し/FlashMeで動くようになったらいいのになぁ。 - [NDS]DeSmuME v0.3
MP3PLAYの下画面が表示されなかったが、BGの表示チェックを外していったら表示された。別のエミュレータだと表示がまともにされないか、起動中に死んでくれていたので、これならデバッグに有用かなぁ。
- Nintendo DS Liteの写真
これで疑問点のいくつかが解消だね。 - あくまでDipStarは「DS起動前に走るGBAプログラム」なので
それ微妙に違うと思う。
PassMeとFlashMeの違いで、
PassMeは特定のGBAROMエリアにジャンプする。ARM7で実行して、以下略
FlashMeは特定のGBAROMのシグネチャ読んでPassMe仕様のヘッダがあればGBAROMにジャンプ(ARM7)。そうでなくてGBAヘッダだったらGBAモードに移行。
起動時にA+B+X+Yを押して起動した場合、PassMeと同じように特定のGBAROMエリアにジャンプする。以下PassMeに同じ。
どちらもローダーは動かす前の状態なのでARM7+GBAROMコードの実行には違いないと思う。
違いがあるとすれば、DS CARD ROMをロードする部分。
なので動くときはDS ARM7 ROMコードであってGBAプログラムじゃないと思う。
もちろん作るときはGBA(ARM7 ROM)としてプログラムを作らないと動かないだろうけど。
NDS DEV ENVの頃の開発キットでは、NDSファイル形式の概念がまだなくて、arm7,arm9のディレクトリ以外にbootってのがあって、そこにGBAROMからRAMにコピーしてブートするシーケンスがmain.cppに書いてあった。
今となってはloader.bin+NDSファイル形式で代用できてしまうのでbootは不要になっている。
devkitPro/devkitARMではコンパイルオプションで-specs=ds_cart.specsを指定すればGBAROM上で動くコードを書けるかもしれない。
以上、俺の思い込みで間違ってたらスマン。(ぉ - devkitPro\devkitARM\arm-elf\lib 下を見ていたら
gba_er.specs,er_crt0.s を発見。
nintendo e-reader startup code とか書いてある日本でのカードeリーダー+と呼ばれているものだろう。
E-Readerって任意のソフトを動かせるんだったんだぁって発見。
いろいろ探っていたらNintendo e-Readerとか見つけた。
2006/02/10
- MP3PLAYで使うためのVSYNCカウンタを利用したストップウォッチ関数を作成。VSYNC回数から秒とミリ秒を計算するマクロとか。
実測値に基づいた計算式なので約1/60秒の分解能で正確に測れるはず。 - ARM7のSPIとARM9のSPIって同時に使えないとか?
使えないのはタッチパネルだけでしょうか?
タッチスクリーン、温度、RTCのSPIはARM7からのみのSPI
0x040001C0:16 SERIAL_CR
0x040001C2:16 SERIAL_DATA
DSカードのSPIはARM7 or ARM9選択のSPI
CARD_SPI_CR (0x040001A0:16)
CARD_SPI_DATA (0x040001A2:16)
CARD_CR2 (0x040001A4:32)
Write-onlys (0x040001B0..1BB)
全く異なるポートです。競合するとは思えません。
ちなみにRAINではARM7で温度計とRTCを拾って、かつARM9でCARDのSPIを使用していますがちゃんと動作しています。使えない card.h は使ってなくて自力の cardme.h を使っているのですが。
- gba_nds_fatの機能変更できる定義のメモ
disc_io.h
有効:_CF_ALLOW_UNALIGNED,SUPPORT_NMMC,SUPPORT_MPCF,SUPPORT_M3CF,SUPPORT_SCCF,SUPPORT_FCSR,
無効:_CF_USE_DMA,SUPPORT_SCSD,DISC_CACHE,
gba_nds_fat.h
有効:CAN_WRITE_TO_DISC,
無効:FILE_TIME_SUPPORT,
- [NDS]ニンテンドーDS Lite ハードウェア情報
ニンテンドーDS Lite ハードウェア情報 - カラーバリエーション
最初から3色あるのは選択の余地があって嬉しい。
ニンテンドーDS スペック
液晶は半透過反射型から透過型へ変更。ドットピッチは同じ。
フル充電の時間が短いのに電池持続時間に幅があることからバッテリ容量が小さくなって消費電力が小さくなっていると思われる。
という事は電源ONで開いた状態でのライトOFFというのはなくなっているのだろうなぁ。
ニンテンドーDS Lite イメージギャラリー
GBAカートリッジは約1cmはみ出します。
2006/02/13
- 今週のNDSプログラムはお休みとさせていただきます。あしからず。
2006/02/14
2006/02/15
2006/02/16
- なにが?
追記
あーわかった、メモリを増やしたいんでしょ。operaにメモリカートリッジがついてくるのでこれで(w
本末転倒。
2006/02/17
- NDSのdlltest
ソース見たけど、なかなかトリッキー。
自分でDLL作るかというと多分作らないだろう。DLL使うという事はあるかもしれないが。
逆に、DLLそのものを実行ファイルみたいにすれば、便利なのかもな。
本体側がAPIいっぱい持っていて、DLLからサービスコールするみたいな。それってOSもどきだな。
- 近況、NDSでのネタが思いつかないのでNDS開発は暫く休みにしようか。
TMOと[PS2]アカイイトをメインにして。
- そしてぶつくさ
ネットワークアプリは作るのはスケルトンができていればわりと簡単なんだけど、非同期処理(スレッド動作とか)したいときは結構めんどくさくなるね。
MI Zaurus時代のURL解析ルーチンが役に立ったりして。
"http://www.pat.hi-ho.ne.jp/~sata68/0nikki.html"を指定すると "www.pat.hi-ho.ne.jp"と"/~sata68/0nikki.html"が取り出せる関数。
2006/02/20
- 今週のTODO
M3SD対応の努力。M3SDが動いたらDS用miniSDアダプタ(略してDS-SD)。
M3SD書き込みが何故できないのかあまり深く考えた事なかったが、先日の友人との会話で書き込み許可するための手順が抜けているという結論に至ったから。
miniSD Adaptor for DSの真似なんだが、M3SDが動けばこっちも動きそうな気がして。
- M3SDセクタ書き込み。
努力の結果、ファイルシステムの破壊に成功した(笑)
中身は間違っているけど書けているということだ。
固定のセクタをwrite/readして内容を見てうまくいっているか試す事に。
SDの後ろのほうのセクタを適当に決めてそこをアクセス。
2006/02/21
- Infantile Paralysiser: 同じくCFの書き換え回数を気にする人。
フラッシュメモリやEEPROMとCF,SDを同一視しているんだろうけど。SD,CFは物理アドレスじゃないので。
WindowsのシステムHDのような使い方しない限りまず問題ないでしょう。
Zaurus時代からCF使いまくってきましたが、寿命までいったやつなんてないですし。
寿命をまっとうする前に、市販のメモリ容量がどんどん増えて安くなって入れ替えとかするでしょう。
CF,SDで寿命が心配という話は良く聞くが、寿命が尽きたとか書き込めなくなったという話は全然聞かない。それだけ使い込んでいる人なんて居ないのでは。
CFにWindows2000かXPとか入れて遊ぶとか以前に考えた事があるが、コスト面、容量の問題であんまりおいしくないなという結論に至ったので。1万かければ十分大容量のHDD買えますし。
X68000とかならHDDの代用品としては適当かなと思っています。繋ぐ方法が限られますが。
ネレイドにCFスロットとかあったら面白かったかも。
- M3SDのwrite挫折しました
MMCのSPIについては十分理解した。MMCコントロールのレジスタ(M3側)の使い方がわからない。
情報がこれ以上なくて、テストも考えられる組み合わせも十分試した、だが正しく書けてない。
つーわけで、今月はNDS開発中止〜。新しいネタができるまで。
2006/02/22
2006/02/23
- [Win32]ikm2ogg コンバータ
ときめきメモリアルオンラインで使用されているBGMファイルである ikmファイルをoggファイルに変換するツールです。 具体的には先頭0x800バイト削っているだけです。
2006/02/24
2006/02/27
- ザイリンクスでいこう → IP Core関連 → FM-TypeM
NDS ARM9でのOPMのエミュレーションが遅いとお嘆きの貴方!
こういう方法もありまっせ。やらないと思うけど。
2006/02/28
(以下略)
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-2005 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
・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]