ホーム - ツール - PCem用のVMware等イメージ使用ライブラリ
https://sourceforge.net/projects/mingw/files/ から
mingw-get-setup.exe
をダウンロードしてインストールします。
[MinGW Installation Manager]の[Basic Setup]では
を選択します。
インストールしたパスを以降では <MinGW>
とします。
https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/ から
gcc-core-4.7.2-1-mingw32-bin.tar.lzma
gcc-c++-4.7.2-1-mingw32-bin.tar.lzma
をダウンロードします。
https://sourceforge.net/projects/mingw/files/MinGW/Base/mpfr/mpfr-2.4.1-1/ から
libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
をダウンロードします。
https://sourceforge.net/projects/mingw/files/MinGW/Base/mpc/mpc-0.8.1-1/ から
libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
をダウンロードします。
ダウンロードしたファイルを <MinGW>
の中に解凍(上書き)します。
http://www.openal.org/downloads/ から
OpenAL11CoreSDK.zip
をダウンロードしてインストールします。
インストールしたパスを以降では <OpenAL11CoreSDK>
とします。
<OpenAL11CoreSDK>\include
を <MinGW>\include
の中にコピーして名前を AL
に変更します。(<MinGW>\include\AL
となります。)
<OpenAL11CoreSDK>\libs\Win32\OpenAL32.lib
を <MinGW>\lib
の中にコピーして名前を libopenal32.a
に変更します。
<MinGW>\msys\1.0\msys.bat
を実行します。
<MinGW>\msys\1.0\home\[ユーザー名]
が作成されます。このフォルダのパスを以降では <WinHome>
とします。
msysからはこのパスは /home/[ユーザー名]
となります。このフォルダのパスを以降では <home>
とします。このパスで記述された操作はmsysのウィンドウでの操作になります。
https://www.libsdl.org/download-2.0.php から
SDL2-devel-2.0.8-mingw.tar.gz
をダウンロードして <WinHome>
の中に解凍します。
https://www.wxwidgets.org/downloads/ から
wxWidgets-3.1.1.7z
(Windows 7Z)をダウンロードし、<WinHome>\wxWidgets
フォルダを作成してその中に解凍します。
<home>/wxWidgets/build/msw
に移動して以下を実行します。
$ mingw32-make -f makefile.gcc setup_h SHARED=0 UNICODE=1 BUILD=release
$ mingw32-make -j1 -f makefile.gcc SHARED=0 UNICODE=1 BUILD=release
2つめのコマンドはかなり時間がかかります。CPUに余裕がある場合は -j1
を -j8
に変更して並列に実行させると時間短縮できるかもしれません。
<WinHome>\wxWidgets\lib\gcc_lib\mswu\wx\setup.h
を <WinHome>\wxWidgets\include\wx
の中にコピーします。
https://www.winpcap.org/devel.htm から
WpdPack_4_1_2.zip
をダウンロードして適当なフォルダに解凍します。
[解凍したフォルダのパス]\WpdPack
を以降では <WpdPack>
とします。
<WpdPack>\Include
内のフォルダとファイルを <MinGW>\include
の中にコピーします。
https://bitbucket.org/pcem_emulator/pcem/downloads/ の[リポジトリをダウンロードする]から
pcem_emulator-pcem-????.zip
をダウンロードし、<WinHome>
に解凍します。
解凍された <WinHome>\pcem_emulator-pcem-????
フォルダのパスを以降では <WinPCem>
とします。
<WinPCem>\src\Makefile.mingw-wx-sdl2-network
を編集します。
6行目を
WXINCLUDE = <home>/wxWidgets/include/wx
に変更します。
7行目(CFLAGSの行)の最後に
-I<home>/SDL2-2.0.8/i686-w64-mingw32/include -I<home>/wxWidgets/include
を追加します。
32行目(LIBSの行)の最後に
-lshlwapi -luxtheme -loleacc -L<home>/SDL2-2.0.8/i686-w64-mingw32/lib -L<home>/wxWidgets/lib/gcc_lib
を追加します。
<WinPCem>\src\slirp\slirp.c
を編集します。
先頭に
#define ERROR_BUFFER_OVERFLOW 111
#define ERROR_SUCCESS 0
を追加します。
このページからファイルをダウンロードして適当なフォルダに解凍します。
解凍したフォルダのパスを以降では <pcemnvl>
とします。
<pcemnvl>\hdd_file.h
, hdd_file.c
, wx-config.c
を <WinPCem>\src
の中にコピー(上書き)します。
<home>/pcem_emulator-pcem-????/src
に移動して以下を実行します。
$ make -f Makefile.mingw-wx-sdl2-network
通常使用しているPCem(32ビット)のフォルダのパスを以降では <PCemExe>
とします。
<WinPCem>\src\PCem-wx-SDL2.exe
を <PCemExe>
の中にコピーします。
<pcemnvl>\NVL.DLL
を <PCemExe>
の中にコピーします。
PCem Ver.15用 32ビット版 2019/06/01(コミット:91640c0)
Windows
https://sourceforge.net/projects/msys2/files/Base/x86_64/ から
msys2-x86_64-????????.exe
をダウンロードしてインストールします。
インストールしたパスを以降では <MinGW>
とします。
スタートメニューから [MSYS2 MinGW 64-bit] を実行します。
msysからはこのパスは /home/[ユーザー名]
となります。このフォルダのパスを以降では <home>
とします。このパスで記述された操作はmsysのウィンドウでの操作になります。
以下を実行します。
$ pacman -S mingw-w64-x86_64-gcc
$ pacman -S make
$ pacman -S mpc-devel
$ pacman -S mpfr-devel
$ pacman -S mingw-w64-x86_64-openal
「エラー: GPGME error: 無効な暗号エンジンです」のようなエラーになる場合、<MinGW>\etc\pacman.conf
を編集します。
40行目を有効にします。
SigLevel = Never
41行目を無効にします。
#SigLevel = Required DatabaseOptional
https://www.libsdl.org/download-2.0.php から
SDL2-devel-2.0.8-mingw.tar.gz
をダウンロードして <WinHome>
の中に解凍します。
https://github.com/wxWidgets/wxWidgets/releases/tag/v3.1.1 から
wxMSW-3.1.1_gcc720_x64_Dev.7z
wxWidgets-3.1.1-headers.7z
をダウンロードし、<WinHome>\wxWidgets
フォルダを作成してその中に解凍します。
<WinHome>\wxWidgets\lib\gcc720_x64_dll\mswu\wx\setup.h
を <WinHome>\wxWidgets\include\wx
の中にコピーします。
https://www.winpcap.org/devel.htm から
WpdPack_4_1_2.zip
をダウンロードして適当なフォルダに解凍します。
[解凍したフォルダのパス]\WpdPack
を以降では <WpdPack>
とします。
<WpdPack>\Include
内のフォルダとファイルを <MinGW>\mingw64\include
の中にコピーします。
https://bitbucket.org/pcem_emulator/pcem/downloads/ の[リポジトリをダウンロードする]から
pcem_emulator-pcem-????.zip
をダウンロードし、<WinHome>
に解凍します。
解凍された <WinHome>\pcem_emulator-pcem-????
フォルダのパスを以降では <WinPCem>
とします。
<WinPCem>\src\Makefile.mingw-wx-sdl2-network
を編集します。
6行目を
WXINCLUDE = <home>/wxWidgets/include/wx
に変更します。
7行目(CFLAGSの行)の途中の
-march=i686
を削除します。
7行目(CFLAGSの行)の最後に
-I<home>/SDL2-2.0.8/x86_64-w64-mingw32/include -I<home>/wxWidgets/include
を追加します。
12,13行目の
codegen_backend_x86.o codegen_backend_x86_ops.o codegen_backend_x86_ops_fpu.o codegen_backend_x86_ops_sse.o \
codegen_backend_x86_uops.o codegen_block.o codegen_ir.o codegen_ops.o \
を
codegen_backend_x86-64.o codegen_backend_x86-64_ops.o codegen_backend_x86-64_ops_sse.o \
codegen_backend_x86-64_uops.o codegen_block.o codegen_ir.o codegen_ops.o \
に変更します。(codegen_backend_x86_ops_fpu.o
の削除、_x86
-> _x86-64
)
50行目(LIBSの行)の途中の
-lopenal32
を
-lopenal
に変更します。
50行目(LIBSの行)の最後に
-L/mingw64/lib -L<home>/SDL2-2.0.8/x86_64-w64-mingw32/lib -L<home>/wxWidgets/lib/gcc720_x64_dll
を追加します。
<WinPCem>\src\codegen_backend_x86-64.c
を編集します。
325行目の
host_x86_CALL(block, (uintptr_t)x86gpf);
を
host_x86_CALL(block, (void *)x86gpf);
に変更します。
<WinPCem>\src\codegen_reg.c
を編集します。
277行目の
codegen_direct_read_16_stack(block, reg_set->reg_list[c].reg, (int)ireg_data[IREG_GET_REG(ir_reg.reg)].p);
を
codegen_direct_read_16_stack(block, reg_set->reg_list[c].reg, (intptr_t)ireg_data[IREG_GET_REG(ir_reg.reg)].p);
に変更します。((int)
-> (intptr_t)
)
同様に、286,295,304,313,385,394,411行目についても (int)
を (intptr_t)
に変更します。
<WinPCem>\src\ibm.h
を編集します。
162行目の
char discfns[2][256];
を
char discfns[2][260];
に変更します。
<WinPCem>\src\wx-sdl2-display-win.c
を編集します。
580行目の
AppendMenu(menu, MF_STRING | MF_POPUP, (UINT)GetSubMenu(native_menu, i), info.dwTypeData);
を
AppendMenu(menu, MF_STRING | MF_POPUP, (uintptr_t)GetSubMenu(native_menu, i), info.dwTypeData);
に変更します。((UINT)
-> (uintptr_t)
)
このページからファイルをダウンロードして適当なフォルダに解凍します。
解凍したフォルダのパスを以降では <pcemnvl>
とします。
<pcemnvl>\hdd_file.h
, hdd_file.c
, wx-config.c
を <WinPCem>\src
の中にコピー(上書き)します。
<home>/pcem_emulator-pcem-????/src
に移動して以下を実行します。
$ make -f Makefile.mingw-wx-sdl2-network
通常使用しているPCem(32ビット)とは使用するDLLが異なるため別のフォルダを作成します。このフォルダのパスを以降では <PCemExe>
とします。
<WinPCem>\src\PCem-wx-SDL2.exe
を <PCemExe>
の中にコピーします。
<MinGW>\mingw64\bin
の中の以下のファイルを <PCemExe>
の中にコピーします。
libgcc_s_seh-1.dll
libopenal-1.dll
libstdc++-6.dll
libwinpthread-1.dll
<WinHome>\wxWidgets\lib\gcc720_x64_dll
の中の以下のファイルを <PCemExe>
の中にコピーします。
wxbase311u_gcc720_x64.dll
wxbase311u_xml_gcc720_x64.dll
wxmsw311u_adv_gcc720_x64.dll
wxmsw311u_core_gcc720_x64.dll
wxmsw311u_html_gcc720_x64.dll
wxmsw311u_xrc_gcc720_x64.dll
<WinHome>\SDL2-2.0.8\x86_64-w64-mingw32\bin
の中の以下のファイルを <PCemExe>
の中にコピーします。
SDL2.dll
<pcemnvl>\NVL.DLL
を <PCemExe>
の中にコピーします。
その他の設定ファイルは32ビット版と共通なのでそちらから <PCemExe>
の中にコピーします。
PCem Ver.15用 64ビット版 2019/06/01(コミット:91640c0)
Windows
イメージファイルの選択ではタイプ(拡張子)をすべてにしてファイルを選択してください。
pcem.cfg
の [wxWidgets]
セクションに
open_hd_file_filter = VMware (*.vmdk)|*.vmdk|VirtualPC (*.vhd)|*.vhd|Hard disc image (*.img)|*.img|All files (*.*)|*.*
のように追加するとハードディスクイメージファイルを開くダイアログにフィルターを追加できます。