2006-10-16-01-ARMlet と Windows DLL とメモリ確保 - project-enigma

2006-10-16-01-ARMlet と Windows DLL とメモリ確保

>> Site top >> weblog >> 月別アーカイブ >> 2006年10月のlog >> 2006-10-16-01-ARMlet と Windows DLL とメモリ確保

最終更新日付:2013/12/31 07:39:12


ARMlet と Windows DLL とメモリ確保

2006 年 10 月 16 日

検索・置換 DA の話題であります。まとまりが無いのはゆっくり書いてる余裕が無いから。

68K コードで予定している部分はほぼ実装終了というわけで、ドキュメントを書き始めようとしていますがなかなか進みません。で、ARMlet 実装のお試しに手を出してしまったのですが、Palm OS Simulator で利用する Windows DLL でつまづきました。最初の ARMlet 呼び出し時に確保したメモリ領域を、次の呼び出し時に利用するのですが、これがなぜか使えないんですね。Palm OS Simulator から呼び出す ARMlet(の代わりの Windows DLL)では、DLL 内で確保したメモリが次の呼び出し時には保証されないようです。モノホンの ARMlet ではどうなるかわかりませんが、いずれにせよ Windows DLL ではできません。はてさてどうしたもんでしょうか。

...ということで悩んでいたのですが、たしか ARMlet の関数に渡されるパラメータを使えば、Palm OS API を ARMlet からコールバック的に呼び出すことができるはず。だったら、メモリの確保・開放もコールバック経由で MemPtrNew と MemPtrFree を呼び出せばいいんでないの?

というわけで、試してみたことろ、どうやら上手く行ったみたいです。いちいちコールバックするのもなんだか気持ち悪いですが、ひとまず動くようにはなりました。ふぅ。

そういえば、Japon の sekino さんが Palm Hacker's Salon で書いてたコラムで、Palm OS API を ARM コードから直に叩くアセンブラマジックがあったような...あそこまで行くと雲の遥か上ですね。もう魔法にしか見えません。である以上恐くて使えませんわ。(汗

精進、精進...と。

 

コメント

このページにコメントする

 

このページのタグ

Page tag : Palm

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.