2005-11-01から1ヶ月間の記事一覧

ARMアセンブラ勉強中(2)

前の、RGB565→RGB565の転送を透過転送用functorで組んだルーチンをアセンブラで出力してみると、8ループ展開の内部は次のようになってました。

ARMアセンブラ勉強中

いやね、おかしいとは思ってたんですよ。 ハーフワードの転送をしてると、 ADD r6,r14,r8,LSL #2 LDR r4,[r6,#0] こんな感じの記述が沢山出てくるわけですよ。 なんでLSL #2なんだ?LSL #1の間違いじゃないのか? まあ、ARM様は自分の計り知れない崇高な計算…

Java互換ライブラリ(8)

… …… ………

Java互換ライブラリ(7)

転送ルーチンの実装です。

Java互換ライブラリ(6)

そういえばJava互換って書いてますが、この辺って互換と何の関係もないですよね(;´Д`) 昨日の

Java互換ライブラリ(5)

yaneSDK3rdの転送ルーチンを実装している部分は、大きく分けて2種類のクラスに分けられると思います。

Java互換ライブラリ(4)

virtualの問題も解決したところで、転送ルーチンの実装について考えていきたいと思います。 id:melpon:20051120でも書きましたが、多くの画像形式に対応しようとすると、そのルーチン数は半端ない数になります。 なので、えんらさん(id:enra)の言うとおり、…

Java互換ライブラリ(3)

Imageクラスをvirtualに出来ないと言うことは、インターフェースクラスを作るのは無理なのでしょうか?

Java互換ライブラリ(2)

JavaのImageクラスは、基本的にインターフェースクラスで、下位のクラスで実装をしています。 インターフェースクラス(virtual)をC++で実装することは出来るのでしょうか?

Java互換ライブラリ

// Graphics.h class Graphics{ void drawImage( Image img , int x , int y ); }; // Image.h class Image{ Graphics getGraphics(); }; どうしろと(;´Д`) 追記: 一応、 Graphics* getGraphics(); ってすれば大丈夫みたいですけど……なんか気持ち悪いな…

BREWの描画ルーチン

今、ImageクラスとGraphicsクラスを実装して居るんですけど、自分が考えていた描画のルーチンは、drawImage()の内部で適当にIBitmapを作って、それをIDIBにキャストして値を代入してIBitmapに戻してやればOKだと思ってたのですが、リファレンスを読む限り、…

BREW String(3)

考えてみれば、basic_stringはマルチバイト対応なのですが、2byte(AECHAR)のbasic_stringであるwstring以外は必要ないです。 ということで、basic_stringを展開した後のクラスを用意してやります。

BREW String(2)

まず、basic_stringが定義されているファイル(XSTRING)を見てみると、いろんなファイルをincludeしてます。 それを、

BREW String

BREWの文字列の扱いは非常に( ゚Д゚)マンドクセーなので、文字列を扱う為のクラスを作ってみます。 目標としては、JavaのStringクラスと互換性のあるクラスを作ること。 まるっきりkanokeさんと同じことをしてますけど、内部実装は違うので許して下さい(;´Д`)

Object型(2)

昨日のだと、Objectの実体をコピーしたとき、Objectの内部のデータまでコピーされるので不可。 なので、オブジェクトデータをポインタで持って、コピーしても同一のオブジェクトを表すようにします。 class ObjectData{ }; class Object{ public: Object(){ …

Object型

id:kanoke:20051101を参考にして、Object型を作ろうとごちゃごちゃやってると、こんな感じになりました。 class Object : public smart_ptr< Object >{ public: Object(){} Object( Object* p ) : smart_ptr< Object >( p ){} Object( Object& s ) : smart_p…

Maid Cafe V.I.P

off

http://www.akibablog.net/archives/2005/11/maid_cafe_vip.html うはーwww夢がひろがりんぐwwwwww

スマートポインタ(2)

id:melpon:20050801を見てて思いついたんだけれども、 templateclass T > class Object{ public: smart_ptr getThis(){ return _this; } void* operator new( size_t size ){ T* p = (T*)(malloc( size )); setThis( smart_ptr( p ) ); return p; } void ope…

九蓮宝燈

off

/ __ _ / __| / / / / _/ / / _/ ___/ /\___/ヽ (.`ヽ(`> 、 /'''''' '''''':::::\ `'<`ゝr'フ\ + |(●), 、(●)、.:| + ⊂コ二Lフ^´ ノ, /⌒) | ,,,ノ(、_, )ヽ、,, .::::| ⊂l二L7_ / -ゝ-')´ .+ | `-=ニ=- ' .::::::| + . \_ 、__,.イ\ +…

Scheme

ちょっと気になったのでやってみることにしました。 まずSchemeのインストール。 自分が使ったのはGauche。 http://www.shiro.dreamhost.com/scheme/gauche/index-j.html 「スクリプトインタプリタとしての使い易さに重点を置いて開発を行っているR5RS準拠の…

プラットフォーム毎の固有名称(3)

auの場合は、 com.kddi.system.PhoneSystem.getID(); で取得出来ます。 auは「メーカーコード2ケタ + 機種コード2ケタ」という形式になってます。 この文字列は、以下のページで調べられます。 http://developer.openwave.com/dvl/resources/supported_phone…

妹系カフェNAGOMI

off

http://www.nagomi.tv/ いもうと(*´д`*)ハァハァ

プラットフォーム毎の固有名称(2)

Vodafoneの場合は、 System.getProperty( "Platform" ); で取得出来ます。 この文字列もDoCoMoと同じで、プラットフォームの名称が返ってきます。 ただ、J-06Tが、"J-06T_a"とか返ってくることもあるみたいで、ちょっと信用出来ないかも……(;´Д`)

プラットフォーム毎の固有名称

DoCoMoの場合は、 System.getProperty( "microedition.platform" ); これで取得出来ます。 この文字列は、DoJa2.0以降は、D505iなら"D505i"、F901iSなら"F901iS"といった、プラットフォームの名称になります。 DoJa1.0の値については、んぱか工房の、 http:/…

結婚バトン

off

takelさん(id:takel)からバトンが回って来ちゃいました……しかも結婚バトンて(;つД`) とりあえず出来るだけ答えていきたいと思います(´・ェ・`) ショボン

線形近似

のの範囲を、の式で近似するとどんな式になるんだろう? ということでやってみる。

ISHELL_CancelTimerEx()

ISHELL_SetTimer()をキャンセルするにはISHELL_CancelTimer()を呼び出せばいいのだけれども、なぜかISHELL_SetTimerEx()をキャンセルするための関数が無い。 ということで作ってみました。 #define ISHELL_CancelTimerEx( p , c ) \ ISHELL_CancelTimer( p ,…

インターネットの世界の面積

off

インターネットの世界の面積 面積621.6平方キロメートル、約25キロメートル四方だそうな。 そのうち地球の面積より大きくなる時代が来るのかな……。

IBASE

BREWはC++をCで模倣している。 特に便利だと思うのは、IBASE_Release()。 IFILE_Release()とか、ICAMERA_Release()とかしなくても、全部IBASE_Release()で解放出来る。 で、そいつをNULLチェックを行って解放するマクロを組むと、 #define SAFE_SHELL_RELEAS…

PNGとGIFの相互変換

off

普通のPNGとGIFの相互変換ツールは、1つ1つ変換しないといけなかったり、変換しても透過色が変になっていたり、ファイルサイズが大きくなっていたりします。 しかし、Fireworks4のバッチ処理を使うと、複数のファイルを、透過色は付いたままで、ファイルサ…