2008年12月アーカイブ

MoonShell Version2.00 beta.1 試作ビルド

どうかな、私以外の環境でも動くかな...。とても長いブランクが空いてしまったので心配です。(笑

moonshell200beta1.zip (32,382,196byte) MD5

気力が尽きたのでスキンが適当です。いくつか確認用にファイル名を入れたままの素材があります。
汎用DLDIパッチを作っていないので(dldibody.binに上書きすれば使えますが)HomeBrewの起動が面倒です。
がらっと変えちゃう予定なので、この試作ビルドは実用性をあまり考慮していません。
スキン仕様や言語ファイル仕様、システムファイル構成などは参考程度にお願いします。

---------------------------------

Version 2.00 beta.1 2008/12/31

メモリが充分空いたのでio_dldi.sの4kbyte制限を解除した。
テキストリーダーでデフォルトコードページを指定できるようにした。
テキストリーダーの上画面を、テキスト/時計/消灯から選べるようにした。
テキストリーダーで行間を変更できるようにした。
充電ケーブルに連動した機能をいくつか追加した。(何を割り当てるかは未定)
L/Rコンビネーションキー(シングルクリックや長押しなど)を追加した。(readme_keymap.txt参照)
起動処理を見直して、起動時間を少し短縮した。
HomeBrew起動時に安全なメモリ初期化をするように変更した。
スライドアクションを削除して、長押しサブメニューの下地を整えた。(まだ作ってない)
カーソルとタッチ位置が違っていても1クリックでファイルを開けるようにした。

起動時の簡易チェックディスクの書き込みテストでディスクを破壊するバグを修正した。
ディスクキャッシュのメモリ配置を勘違いして、めがっさ(100kbyte位)無駄なメモリを使用していたバグを修正。
DPG再生時に、最後まで再生されないで終わる、まれにCPUが停止してしまうバグを修正した。
HomeBrewの自動DLDIパッチが正常に適用できないことがあるバグを修正。
テキストリーダーの文字コード自動変換コードがメモリアクセス違反していたバグを修正。
DPGデコーダで使っているYUV->RGB変換アルゴリズムが間違っていたバグを修正した。
MP3再生時にNDSのふたを開け閉めすると停止することがあるバグを修正。
環境設定保存時に環境設定ファイルを破壊することがあるバグを修正。
画像表示モードのファイルリスト番号が間違っていたバグを修正。
システムメニューの背景がセットアップ画面になってしまうことがあるバグを修正。

The アクセス規制

MoonShellVer1.71+1付属のMID/RCPプラグイン用サウンドフォント

GMMap/8bit/1,609,554byte
mspv21_midrcp_sf8bit_gmmap.zip MD5:91f115d82356dc3aab5857bc6267b93b

SC88ProMap/8bit/2,575,536byte
mspv21_midrcp_sf8bit_88promap.zip MD5:d9479da5debbad19a3520499b5ec04fd

GMMap/16bit/5,197,350byte
mspv21_midrcp_sf16bit_gmmap.zip MD5:7c0f08af9df60ae9325752ed59c254bb

SC88ProMap/16bit/8,093,514byte
mspv21_midrcp_sf16bit_sc88promap.zip MD5:2f3c95232b457f51231db8c7e44bfba8

お久しぶりです。メモリと音色のバランスでお勧めはSC88Proマップの8bit版です。それではー。

わはっ、めがっさ大バグ発見。

今までちまちまメモリ節約していたのが霞むくらい大量のメモリを無意味に確保していたバグを見つけました。
なおすよー。めがっさなおすよー。納期が無いといつまでもだらだら修正かけるよー。ダメプロジェクトの典型だよ...。

スキン終わらない...

どうせハリボテなんだからというのはわかってるんだけど、触れば触るほど終わらない...。(ばか(苦笑
2画面テキストと行間調整オプション付けたらやめにしよ。

だいたいできたっと。

スケルトンまくりで誰も使わないだろうし一日デバッグすれば充分でしょっ。(適当すぎ

ようつべのあれ。

こんな感じになりました。ただ単にYouTubeダウンローダをくっつけただけで何も特別なことはしていません...。してないのにやけに時間を使ってしまった。(笑
コーデックのインストールやらWindowsの設定やらを一切考えなくてもとりあえずFLVとMP4だけはエンコードできるようにしました。(どちらかといえばこれが主目的(笑
せめて英語メッセージだけでも(あとで別の人が翻訳するときのために)作らないとなー。といっても翻訳エンジンに放り込むだけなんですけど。めんどーい。

エンコードの終了間際で停止してしまう症状は根が深そう。マルチスレッドアプリケーションが陥るよくある罠だと思うのだけど...。あれよあれ。みんなが苦しむアクセス違反。たぶんあれです。

クリスマスケーキってどこで買えますか。

昨日のは別腹ということで今時分になると半値くらいになっていると思うのですがコンビニくらいしか思いつきませんふらふら出掛けても買えますか。

ちいさいの(9号)しかなかった。けど安かったので二つ(ひとつは実家用)買ってきたー。ティラミスうまうま。

昨日か一昨日でたさくらの扱いが余りにも粗末(ぞんざい)で、あれを私のプロダクトだと思われるのが非常に辛いので、
年末の仕事が無くなったっぽい?ので、早めにMoonShell2.0のβ版をアップしたいと思います。
音楽とテキスト/画像を同時に出したいとかWMA対応とか色々やりたいことは尽きないのでβアップ後に大幅な変更を覚悟の上でとりあえず今ある形でファーストインプレッション的なあれです。
早めに~といっても、これから作業に入るので2~3日後になると思いますが予定は未定という感じでまったりやりたいと思います。まる。

(追記 2008/12/27 01:50)
紹介ありりです~。出す出す詐欺みたいでいやん。(笑
本当に感触チェックのためだけで、機能追加はほぼゼロですし、スキンもでっちあげのハリボテなので、実用には耐えないかと思います。(プログラマ的にこんなんじゃ納得いかない、じゃなくて、本当に普通に「使えない代物」になると思います。期待せずに待っていて頂けるととても嬉しいです...)(そして微妙に難航中(笑))

RockBoxも癖があるなぁ...

鳴ったー♪(WMAだけに)

wmadecodetestlog.txt

原因はエンディアンとアラインでした。NDSはいつも同じところで躓いている気がする。(成長してないから(苦笑
ベンチマークはこんな感じ。全然最適化してない今でも実時間内に終わってるのでたぶん大丈夫。

変換元:無圧縮WAVEファイル 44100Hz 2ch 16bit 341828byte 1.937sec

CBR/48kbps 27318byte 1.369sec
CBR/64kbps 29483byte 1.345sec
VBR/50% 17609byte 1.040sec
VBR/75% 25039byte 1.312sec
VBR/90% 47329byte 1.453sec
VBR/100% 150103byte error.

「Windows Media Audio Lossless V9」(VBR/100%)が開けないのはいいとして、「Windows Media Audio Professional V9」ってなんだろう...。
あ、あと暗号化されたWMAが再生できないので、lavcから引っこ抜いてきてどこかに突っ込めば...鳴るのかなぁ。暗号化されたWMAが無いのでわかりません。普通無いような気がするしあったらあとで。
といっても今手元でいじれる(現プラグイン仕様の)アプリはさくらしかないので、結局来年の話。っていうかMoonShell2.0...ねぇ。大風呂敷を広げてみたはいいけど需要の少なさとやる気のなさにげんなりだー。(自家中毒(笑

どうでもいいや。プログラマって人種は使う人のことなんか考えてないんだ。デコードできただけで満足です。(笑

libavcodecは思った以上に...

お休みなので午後一杯いじってみた通称lavc。ffmpegやffdshowなどを使ってる人にはおなじみの超多種フォーマット対応コーデックソース群のあれ。
そういえば今年八月頃にWMAの再生がまともになったという噂を聞いたなーと思って(嫌々(笑))lavcを分解してみた。
とりあえずコンパイルが通るまではいったけど、全然まともに動かない。アライメントだったらお手上げ。あんなの一行ずつ調べてられなーい。というわけで、rockboxに色気を出してみたり。rockbox版のlavc(のWMA抽出コード)はまともにWMA鳴るのかなぁ。
なんとなくだけど、WMAデコード自体は問題ないけど、ASFコンテナからWMAストリームをDemuxできてない感触が。(lavc以外の)資料が全然見つからなくて見当も付きません。

wmadecodetestlog.txt

むー。私はWMA使わないのですが。

http://temple-knights.com/archives/2008/12/blu-ray_box.html

あまりに嬉しくてAA使っちゃうくらい大ニュースだよっ!
しかも、

http://goten.jp/archives/2008/12/081212.php

> 今回のブルーレイ化にあたって、35mmフィルムをハイビジョンネガテレシネした上に、更に細かくフィルム修正を加えたニューマスター!(本編は以前リリースされたDVD-BOXのマスター流用ではございません)

ですってよ!これを買わない選択はないよね!

劇場版はもちろん映画館でみたけど、実は50話辺りから先みてなかったり。(笑
わはー。PS3とで15万コースかぁ。こ、これは欲しいなぁ...。それまでにFullHDテレビ買っておかないと。

メモ帳欲しいよねー。

ファイル名なんか日付+時間.bmpでいいから、ざばっと書いて自動保存なメモ帳が欲しい。

pendemo2.zip (287,091byte) 動作確認用Windowsバイナリ (追記:サムネイル雰囲気いれてみた)(追記:ペン先の太さを変えられるようにしてみた)

DSで手書きするとすごく汚いので、これくらい滑らかに補正すれば気持ちよく書けるかなー。マウスだと補正強すぎですが。おもそー。(笑

MDX offline Version 1.0 仮プロモページ

'MDX offline'は、NDSに特殊なハードウェアを接続することにより、往年のFM音源を響かせることができるアプリケーションです。
特殊なハードウェアを接続しなくても起動だけはできますので、クリアタイプフォントがどんな風に綺麗になるのかだけでも見てほしいです。(好き嫌いがあるかもですが(苦笑))


・起動するだけのインストール方法

mdxoff10.zip をダウンロードして、どこか好きな場所に解凍する。
SDの一番上(ルートフォルダ)にmdxoff.ndsとmdxoff.efsとmdxoff.pfsをコピーする。
NDSでmdxoff.ndsを起動する。
「エラーが発生しました」と表示されますが、気にせず何か押すと次に進みます。
ファイルリストになったら、左下の「ClearType」ボタンを押すと、クリアタイプON/OFFを切り替えられますので、ファイル名/タイトル文字が綺麗になって...いますよね!?(笑
右下の「オンラインヘルプ」ボタンを押すと説明書画面になりますが、ここでSELECTボタンを押してもクリアタイプON/OFFを切り替えられます。


・添付説明ファイル

mdxoff10_readme.html 基本的な説明書

mdxoff10_readme_ClearTypeFont.html クリアタイプフォントについて

mdxoff10_readme_forsupply.html 車載モードについて


・画面プレビュー

---------------

ちゃんとした紹介ページは発売までには整備したいと思います。ついでに「特殊ハードウェア」も買ってくれると嬉しい...です。

特に質問が多いので別エントリを起こしました。
M3さくらにはDLDIバグがあるため、自作アプリ(いわゆるNDS Homebrew)が起動できません。
次期さくらは普通の自作アプリと同じなので同様に起動できません。

M3さくらを買ってくれたユーザの方々は、私にとって宝物のようなものだと心底思っていて特殊対応したいのは山々なのですが、私個人の保身のためM3日本に極力関わりたくない気持ちでいっぱいです...。
言語プロテクト及びゲーム起動に関する知識を使えばもちろん起動できますし、M3さくらにスタティックリンクされたプログラム(コード or ソース)なので、GPL規約の下それらも公開すべきなのは当然なのですが、要するにそんな理由です...。色々怖くて私からは積極的に踏み込めません。

重ねて、そんな理由により、当ブログ上で(既に実装済みの機能を含め)いくつかの新機能をアナウンスしていますが、これら全てが公開できるというわけでもありません。ほらなんというか私にも色々事情があってさー主に保身というか保身しかないんだけど!(苦笑
結局は、半端なく要望の多かったいくつかの機能と、致命的だったいくつかのバグ修正を行って、非GPL主義者様(に限らずどなたか第二次開発者)にあとをお願いする形になると思います。
ま、そんな内々の話はどうでもいいですね。

PogoShellやMoonShellの頃にやっていたことと同じなのですが、たとえば関連付け設定ファイルとして次のようにしておいて、
/sakura2/bootlink.ini
IPK=/tool/imgview.nds
GBA=/tool/gbaloader.nds
NES=/tool/bootnes.nds
対応拡張子のファイルを起動しようとしたら外部アプリを起動する、って案はどうでしょうか。

たとえば/sampledata/sample_images.ipkファイルを起動したら、
/sakura2/bootlink.dat
shortpathname=/SAMPLE~1
shortfilename=SAMPLE~1.IPK
longpathname=/sampledata
longfilename=sample_images.ipk
こんなファイルを作成後、/tool/imgview.ndsを実行する感じで。
MoonShellのころも似たような機構があったのですが複雑すぎて誰も使えなかった(私も作るのが面倒くさかった)ので出来るだけ対応の負担が少ない機構にしたいです。

各アプリ制作者様に対応をお願いする必要があるとか、UTF-16にすべきかUTF-8がいいか、とか、短いファイル名だけはANK文字にしたほうが対応が楽だよねとか、色々ありますが。
さくら単体で全て実現しようとすると肥大化一直線だし、エミュレータ関係は私には(技術力の問題で)出来ないし、ファイル選択を作るのは面倒くさいけどアプリは作ってみたいって人もいたら嬉しいし...。
まぁこんな大幅な変更をするなんてできないのでやらないんですけどねこーわーいーかーらー(笑

こんな感じでどうでしょうか。

とりあえずYouTubeJPだけ対応しました。(今までのdpgencと両方添付する感じかな)
目的は「お手軽に」ということでしたので、コーデックのインストールとかスプリッターとか一切不要でできるようにしました。
直接エンコードに比べると若干遅いですが、最近はCPUも速いし、大量に変換する人はffdshowとflv_splitterをインストールすれば自動で直接モードになるようにしたのでいいかな、と。

変換先ファイル名は、日時+タイトル.dpgでいいのかな。descriptionとかもあるけど要らなさそう。
たとえば上のなら、
>20081207_191050_水飲みの最中におぼれそうになる犬.dpg
という感じで。

過去エントリのコピー (2008/12/06 23:03:14)

>>507様
m3uできました。ドライブ名適応フルパスと、同フォルダ省略ファイル名に対応したのでたぶん必要充分だと思います。相対パス指定はたぶん使ってるソフトが少ないことと面倒くさいので除外しました。(笑
問題はプレイリスト再生中はどんなファイルがストックされているのかわからないところと、レジューム関係を大幅に変更しなければいけないところかな...。

>>532様
chじゃないですね、g6dsload.gbでした。chinaだからchと確認もせずに私はもー。(苦笑

今日の小ネタ。五月上旬頃あまりに暇だったので模索していたプロモ画像を発掘したので紹介。

DSは「触れない巨大な液晶」がある、これをなんとか有効活用できないかと思っていた頃のデモ画像です。
普通の電卓はボタン&一行液晶だけど、十何行も同時に表示できる電卓なんて?という感じで試作しました。
ちなみに、W-ZERO3やiPhoneなどのタッチパネルで電話を掛けたことがある人はわかると思いますが、めたくた押しづらいです。(大笑

過去5段までの計算式と答えをまとめて表示できて(後から検算できて)、いつでも過去の答えをコピーできるのが売り...のつもり。
画像の「前答をコピー」ボタンを押すと、過去5段の計算結果が選べるサブウィンドウが開く、というものです。
括弧を想定しているのでほんとは必要ないのですが、たとえば板チョコ五枚と生クリーム二箱を買うときに、(89x5)+(385x2)=1215、と一気に入力しなければいけないところを、
89x5=445
385x2=770
答1コピー+答2コピー=1215
という感じで直感的かつ確認しながら計算できるのがいいかな、と思っていました。
なおかつ、計算式入力部と結果表示部が分かれているので、入力中の途中結果が出せるのもいいと思っていたのですがダメですかねー。

基本的にこの手のはWindows上で作り終わったら完了(あとは単なる移植だから)なのですが、計算式を計算する方法(逆ポーランド方?)がめんどくさかったのでお蔵入りしました。
まぁこの話をしている最中に「レート変換」なんてバカも休み休み言おうねバカバカってことを言われたので見せずに終わった、という経緯もありますが。(苦笑

過去エントリのコピー (2008/12/06 05:03:58)

いや、ちがうんよー。
今までのさくらが動いてるんだから、同じようにやればもちろん次期さくらも起動できるんだけど、それはg6dsload.jp/.en/.chの作り方を公開するってことで、それは言語プロテクトの仕様を公開することとほぼイコールなわけで。
もう関わりたくないってのもあるけど、自分が作った部分じゃないところに能動的に踏み込むのは怖いんよ...。
未確認ですがたぶんクラック版REALファームからなら起動できると思うので(多少もっさりが直ったらしいですし)許してくれると嬉しいです...。

あ、誤解を招くとアレなので補足。
M3さくらでDLDIバグが混入してしまったのは純粋に私のミスです。ちょー単純なケアレスミスだったので速攻直しました。(恥
これに関してM3日本代理店には一切責任はありません。

これだけだとアレなので小ネタなど。クリアタイプフォントの比較画像です。


(パソコンの液晶パネルの種類によっては超ボケボケ文字になるかも)
DSL用確認画像 cleartypefont_for_dsl.png

 

私はかなり重度の活字中毒なので、綺麗な文字で読みたいんです!というのは冗談ですが。(苦笑
特にDSみたいな低解像度で画面も小さい液晶だと効果覿面です。というか自分用はもうこれです。(笑
これ以外にもさくらのテキストビュアには不満が沢山あるので作り直しちゃいたいくらいです。スムーススクロール欲しいしねー。あとやっぱり行間も自由に変えたいしー。

実際に使ってみてこれは難しいなーと思った点。
・旧DSだと二画面モードを作るのがめんどくさい。(画素配置が逆だから)
・白い背景&黒い文字以外の配色だと逆に見辛くなりそう。(背景画像が表示できない)
・それなりに重いし、フォントファイルが大きくなる。
という感じ。全然関係ない別のアプリだけど、クリアタイプフォントの実装例は近々お披露目できると思います。

仕事なのに眠れーない~。睡眠時間が短くても活動できるのは利点だけど、ちゃんと頭が働けば、っていう条件付きだよねー。

過去エントリのコピー (2008/12/06 01:48:08)

あ!507さんの書き込みみていて気付いたのですが、次期さくらはM3さくらでは起動できません。
まだ未確認ですが、普通にMoonShellが起動できるアダプタならほぼ起動できると思います。
DLDIバグがあるために自作アプリが起動できないのが主な原因ですが、まぁこれについて語り出すとまた愚痴100%になってしまうので割愛。
動画終了時のバグというのが、最終端でNDSが停止してしまうもしくは最終端が再生されない問題を差すなら、まさにそれです。
m3uは...NDS上で直接編集できなくてもよろしければ(編集機能無しで再生だけなら)できるかもしれません。非GPL原理主義者様がしたいことを先にサポートしたいので、そのあとにゆっくり調べてみます。
私の手元で確認しているバグだけでも山ほどあるので、こっちもなんとかしたいけど、あんまり私がさくらに直接関わるのも憚られるのでこっちは未定...です。

過去エントリのコピー (2008/12/05 09:37:00)

おはようございます。非GPL原理主義者様よりメールを頂きました。
以下のスレッドを参照の上GPLの規定に従いソース公開を検討しています。
http://schiphol.2ch.net/test/read.cgi/gameurawaza/1225879020/481-

私用で週末忙しいので、週明け頃から準備に入りたいと思うのですが、サイズがかなり大きいのでメールでは厳しそうです。gmailだったら大丈夫かと思うのですが、webアップロードとどちらがよろしいでしょうか。
また、どーせやるなら最も懸念していたDLDIバグと動画バグだけでも直したいと思っているのですが、もしなにか(非GPL原理主義者様以外の方で)バグレポートなどありましたら当該スレッドで教えて頂ければ、と思います。手軽な内容じゃなかったら見送ってしてしまうかもですが。(笑
それでは、よろしくおねがいします。