dポイントプレゼントキャンペーン実施中!

ノートパソコンをプレゼントしてもらったのですが、OSがwindows7の64bit版で16bitのプログラムが動かなくて困っています。
エミュレータのようなものがもしありましたら教えてほしいです。
また、ソースが残ってないものも多く、逆コンパイルして64bit用にコンパイルすることはできるのでしょうか。

A 回答 (6件)

マイクロソフト純正エミュレータ、VirtualPCならDOSだって動きます。

これならWin3.1でも余裕でしょう。ただし、DOSやWin3.1は別途自前で用意する必要がありますが。個人的にこれでPC DOS7/Vを動かしています。Win3.1もインストールディスクがあればやってみたいんですが、MOに入れたものしか残ってなくて読む手段がないんですよね。

窓の杜の解説とダウンロードリンク:
http://www.forest.impress.co.jp/lib/sys/hardcust …

なお、VirtualPCの場合はCPUパワーがあまり下がらずにエミュレータ側に出てくる(悪くても半減程度)ので、タイミングの問題が発生する心配はあります。特にDOSゲームは今どきのPCでは速すぎて、まともに動きません。

逆コンパイルは、現実的手段とはあまり思えません。それよりはVirtualPCで環境を作る方がよっぽど簡単で確実だと思います。
    • good
    • 0
この回答へのお礼

すばらしいソフトを教えて頂きありがとうございます。
しかし前のpc98は父から小さい頃にお古を学習用にもらった物でインストールディスクがあるのか、それともプリインストールなのかさえもわかりません。
FDのドライブも必要です。
一度中古で探してみようかと思います。

早すぎて動かないですか、昔はアルゴリズムを試行錯誤して速くしようと奮闘していたのに。技術の進歩はすごいです。

お礼日時:2010/10/01 00:18

yuzukonです。



私もパソコンの世界がNECベーシックだけ、MS-DOS時代からのおじさんですが、
もう長い間、Windows3.1が出てからどっぷりこれに浸かっています(笑

>エミュレータのようなものがもしありましたら教えてほしいです。

私の知る限りでは知りません。
今となっては16bitは過去の遺物で無理なのではないでしょうか・・・
回答にならなくて申し訳ありません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
どうやらOS上でwin3.1を走らせるのが有望なので、物を集めてのんびり遺産を回収していくことにします。

私は俗に言うゆとり世代なので昔のPCを偉そうに語れませんが、yuzukonさんとは逆に今年まで十年来win3.1だったので最近のPCやらwindowsやらネットはさっぱりです(笑)
これを機に少しずつ新しい環境に新しい機能で遺産を移植しながら勉強していきたいと思います。

お礼日時:2010/10/01 00:30

No.1 yuzukon です。



>Professionalのほうが上位版なのでしょうか。

はい そうです。

>互換モードとは違うのでしょうか?

違います。
例えばMACのパソコン内でWindowsを動かすみたいなものです。

追伸:
16bitアプリケーションだとXPモードでも動かないかもです・・・?
検証したことがないので確約できません。

この回答への補足

ありがとうございます。goold-manさんもおっしゃるようにOS側では難しいようですね…

不特定の回答者さんへの補足なんですが、
自作ソフトはDOSコマンド、Win16API、様々なC用ライブラリのコマンドを統合してCで書いた自作コンパイラで作りました。
今気づいたんですが、そもそもWin16APIはwin7でサポートされていないようなので単に逆コンパイルして再コンパイルでは無理ですよね。
Cの関数の寄せ集めなのでCで逆コンパイルできると思うんですけど、自作コンパイラのソースはあるのでをそれを64bitでコンパイルしなおして、逆コンパイルしたソースをそれでコンパイルして、win16APIの命令を新しいAPIに変換する環境で実行すればいけそうな気がします。
そのような環境はあるんでしょうか?また、逆コンパイルしたことがないので、どうしたらよいか教えてもらえませんか?

補足日時:2010/09/30 19:30
    • good
    • 0

16bitというと、Windows3.0aまでのソフトです。


Windows3.1から、Win95, Win98, Win98SE, WinME, Win2000, WinXPまでは32bitですから。
WindowsVista, Winjdows7 は、64bitでも、WOW(Windows32 on Windows64)というプログラムが、
組み込まれていて、32bitアプリは自動的にこのWOW上で動きます。

16bitのソフトというのは、Windowsでなく、Dos/V機のMS-DOSのソフトじゃないですか?。
またはPC-98x1のDOSソフト。
Win3.0aのウインドウズは、DOSが起動してから、ウインドウズが起動していました。
もし、フロッピーのソフトなら、エミュレータで動きますが、
ここ相談箱では、違法な使用法の質問・回答は禁じられています。

違法用途で無いなら、詳細を付けくわえてください。

この回答への補足

具体的にはDOS上で走るソフトの一部とWin16のAPIを使ったアプリケーションが動きません。
DOS/VやPC98というのは聞いたことだけありますが、今動かないのはNEC製PC98ノート上で稼動していた企業、個人製作ソフトとそのノート上で書いたアプリケーションです。
媒体はフロッピーとCD、またはそれをコピーしたもの新しいノートに移したものです。
フロッピーに移すと動くのですか?詳しく知りたいです。

違法なのは人の作ったソフトを逆コンパイルすることでしょうか。その点は自作の物に限るか許可を得るかで対処しようと思います。

補足日時:2010/09/30 18:20
    • good
    • 0

16bitのプログラムが動かないのは当たり前、32bitでさえProgram Filesのx86フォルダにインストール、互換性で動作させたり、エディションによってはXPモード(Virtual上)で動かします。

16bitは無理でしょう。

この回答への補足

うーん、そうですか…
ではプログラムを64bit対応に変換する線に脈はないですかね?

補足日時:2010/09/30 18:43
    • good
    • 0

Windows7のバージョンはなんですか?


Prosessional以上でしたらXPモードがあります。
それで対処は出来ますが・・・
ただし動作は快適とは言い難いです。

この回答への補足

windows 7 home premiumとなっています。
Professionalのほうが上位版なのでしょうか。

XPモードというのはhome premiumで実行ファイルのプロパティの互換性タブにある互換モードとは違うのでしょうか?

補足日時:2010/09/30 18:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!