Android で Delphi を動かしてみる

Preview:

Citation preview

Android でDelphi を動かしてみる

Hideaki Tominaga (a.k.a. DEKO)

DosBox (1)

• DosBox という MS-DOS エミュレータがある。http://www.dosbox.com/

• DosBox の Android ポートとしては、aDosBox (無償) や anDosBox(有償) がある。

• これを使えば Delphi を動作させられるよね?

• 初代 Delphi は Windows 3.1 で動作する16bit アプリケーション。

• 誰も最新の Delphi を Android で動作させるなんて言ってませんヨ?

DosBox (2)

• DosBox では日本語は通らない。

• キーバインドも英語キーボードとなっている。

• MS-DOS をエミュレートしており、本物の MS-DOS からイロイロ持ってきても日本語環境にする事はできない。

• Windows 3.1J は MS-DOS 日本語版にしかインストールできない。

• リアル MS-DOS を動作させるには、エミュレータ Bochs の HDD イメージ (ベタ) からブートする。

aDosBox

• aDosBox は Z: にシステムがあり、C: として Android の内部ストレージまたは SD カードをマウントする。

• MS-DOS (英語版) で動作するアプリであれば、素直にインストールすれば動作する。

• マウントは mount、アンマウントは mount –u、HDD イメージのマウントは imgmount。

• マウントしたドライブからのブートにはboot コマンドを用いる。

インストール手順 (1)

• SD カードに Windows 3.1 用の HDD イメージをコピーしておく (/temp/win31.img)。

• 今回は Virtual PC 用 HDD イメージを NHC (http://euee.web.fc2.com/tool/nhc.html) で変換して使う事にした。

• HDD イメージは Bochs のベタ形式でなくてはならない。容量可変で 80GB の HDD イメージを変換すると 80GB のベタイメージが出来てしまうので注意が必要!

インストール手順 (2)

• 新規で Windows 3.1J をインストールする場合には、MS-DOS の FD イメージと空の HDD イメージをマウントしてからインストールする事になる。

• 正直 Windows 3.1 をインストールするなら英語版がいい。英語版に日本語環境を用意するには Windows 3.1 (or 3.11) + Windows 3.1J + Win/V が必要となる。

• Win/V は現在では入手困難。http://www.amazon.co.jp/dp/4890525041

Z: (起動ドライブ) C: (/sdcard/)

/sdcard/temp/win31.img(Windows 3.1J の HDD イメージ)

初期状態

Z: (起動ドライブ) C: (/sdcard/)

/sdcard/temp/win31.img(Windows 3.1J の HDD イメージ)

C: をアンマウント

C:/> mount –u c

Z: (起動ドライブ) D: (/sdcard/)

/sdcard/temp/win31.img(Windows 3.1J の HDD イメージ)

/sdcard を D: ドライブとしてマウント

Z:/> mount d /sdcard

Z: (起動ドライブ) D: (/sdcard/)C: (win31.img)

HDD イメージ を C: ドライブとしてマウント

D:/> imgmount c /temp/win31.img

C: (win31.img)

C: ドライブからブート

D:/> boot –l c

Z: (起動ドライブ) D: (/sdcard/)

問題点

• Delphi が起動時にエラーを吐く。

• コンポーネント類が正しくロードされない。

• anDosBox (有償版) なら正しく動作するのかもしれないが、ネタのためだけに購入する気にはなれなかった (^^;A

• コンソール用のプログラムは正しく動作する(WinCrt を uses に加える)。

https://www.youtube.com/watch?v=z1DvPZQqNio

Recommended