• ベストアンサー

ノートパソコンをプレゼントしてもらったのですが、OSがwindows7

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#194317
noname#194317
回答No.6

マイクロソフト純正エミュレータ、VirtualPCならDOSだって動きます。これならWin3.1でも余裕でしょう。ただし、DOSやWin3.1は別途自前で用意する必要がありますが。個人的にこれでPC DOS7/Vを動かしています。Win3.1もインストールディスクがあればやってみたいんですが、MOに入れたものしか残ってなくて読む手段がないんですよね。 窓の杜の解説とダウンロードリンク: http://www.forest.impress.co.jp/lib/sys/hardcust/virtualpc/virtualpc.html なお、VirtualPCの場合はCPUパワーがあまり下がらずにエミュレータ側に出てくる(悪くても半減程度)ので、タイミングの問題が発生する心配はあります。特にDOSゲームは今どきのPCでは速すぎて、まともに動きません。 逆コンパイルは、現実的手段とはあまり思えません。それよりはVirtualPCで環境を作る方がよっぽど簡単で確実だと思います。

raist0515
質問者

お礼

すばらしいソフトを教えて頂きありがとうございます。 しかし前のpc98は父から小さい頃にお古を学習用にもらった物でインストールディスクがあるのか、それともプリインストールなのかさえもわかりません。 FDのドライブも必要です。 一度中古で探してみようかと思います。 早すぎて動かないですか、昔はアルゴリズムを試行錯誤して速くしようと奮闘していたのに。技術の進歩はすごいです。

その他の回答 (5)

  • yuzukon
  • ベストアンサー率42% (165/391)
回答No.5

yuzukonです。 私もパソコンの世界がNECベーシックだけ、MS-DOS時代からのおじさんですが、 もう長い間、Windows3.1が出てからどっぷりこれに浸かっています(笑 >エミュレータのようなものがもしありましたら教えてほしいです。 私の知る限りでは知りません。 今となっては16bitは過去の遺物で無理なのではないでしょうか・・・ 回答にならなくて申し訳ありません。

raist0515
質問者

お礼

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

  • yuzukon
  • ベストアンサー率42% (165/391)
回答No.4

No.1 yuzukon です。 >Professionalのほうが上位版なのでしょうか。 はい そうです。 >互換モードとは違うのでしょうか? 違います。 例えばMACのパソコン内でWindowsを動かすみたいなものです。 追伸: 16bitアプリケーションだとXPモードでも動かないかもです・・・? 検証したことがないので確約できません。

raist0515
質問者

補足

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

回答No.3

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が起動してから、ウインドウズが起動していました。 もし、フロッピーのソフトなら、エミュレータで動きますが、 ここ相談箱では、違法な使用法の質問・回答は禁じられています。 違法用途で無いなら、詳細を付けくわえてください。

raist0515
質問者

補足

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

  • goold-man
  • ベストアンサー率37% (8364/22179)
回答No.2

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

raist0515
質問者

補足

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

  • yuzukon
  • ベストアンサー率42% (165/391)
回答No.1

Windows7のバージョンはなんですか? Prosessional以上でしたらXPモードがあります。 それで対処は出来ますが・・・ ただし動作は快適とは言い難いです。

raist0515
質問者

補足

windows 7 home premiumとなっています。 Professionalのほうが上位版なのでしょうか。 XPモードというのはhome premiumで実行ファイルのプロパティの互換性タブにある互換モードとは違うのでしょうか?

関連するQ&A

専門家に質問してみよう