diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index 71a171d2..00000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM ubuntu:jammy - -RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - && apt-get -y install --no-install-recommends git libsdl2-dev libopenal-dev libwxgtk3.0-gtk3-dev \ - libpcap-dev cmake ninja-build build-essential ca-certificates diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 631bc4c3..00000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "PCem", - "build": { - "dockerfile": "Dockerfile" - }, - "runArgs": [ - "--userns=keep-id", - "--security-opt=label=disable" - ], - "containerEnv": { - "DISPLAY": "${localEnv:DISPLAY}" - }, - "mounts": [ - "source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=cached" - ], - "remoteUser": "root" -} diff --git a/.github/workflows/test-debug-builds.yml b/.github/workflows/test-debug-builds.yml index defce594..6282dccc 100644 --- a/.github/workflows/test-debug-builds.yml +++ b/.github/workflows/test-debug-builds.yml @@ -14,7 +14,7 @@ jobs: include: - name: Ubuntu 64bit (gcc) os: ubuntu-latest - args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" + args: -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" artifacts_name: PCem-Debug-vNext-Ubuntu-${{ github.run_number }} artifacts_path: PCem-Debug-vNext-Ubuntu-${{ github.run_number }}-${{ github.sha }}.tar.bz2 installdeps: >- @@ -27,7 +27,7 @@ jobs: - name: Windows 64bits (MSYS2) os: windows-latest compiler: MINGW64 - args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" + args: -DCMAKE_BUILD_TYPE=Debug -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" artifacts_name: PCem-Debug-vNext-Windows-MINGW64-${{ github.run_number }} artifacts_path: PCem-Debug-vNext-Windows-MINGW64-${{ github.run_number }}-${{ github.sha }}.zip installdeps: >- diff --git a/.github/workflows/test-release-builds.yml b/.github/workflows/test-release-builds.yml index 228ec406..fe5bd353 100644 --- a/.github/workflows/test-release-builds.yml +++ b/.github/workflows/test-release-builds.yml @@ -14,7 +14,7 @@ jobs: include: - name: Ubuntu 64bit (gcc) os: ubuntu-latest - args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" + args: -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" artifacts_name: PCem-vNext-Ubuntu-${{ github.run_number }} artifacts_path: PCem-vNext-Ubuntu-${{ github.run_number }}-${{ github.sha }}.tar.bz2 installdeps: >- @@ -27,7 +27,7 @@ jobs: - name: Windows 64bits (MSYS2) os: windows-latest compiler: MINGW64 - args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" + args: -DCMAKE_BUILD_TYPE=Release -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" artifacts_name: PCem-vNext-Windows-MINGW64-${{ github.run_number }} artifacts_path: PCem-vNext-Windows-MINGW64-${{ github.run_number }}-${{ github.sha }}.zip installdeps: >- diff --git a/.github/workflows/test-relwithdebinfo-builds.yml b/.github/workflows/test-relwithdebinfo-builds.yml index 6467902c..30adeaa7 100644 --- a/.github/workflows/test-relwithdebinfo-builds.yml +++ b/.github/workflows/test-relwithdebinfo-builds.yml @@ -14,7 +14,7 @@ jobs: include: - name: Ubuntu 64bit (gcc) os: ubuntu-latest - args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_RELDEB_AS_RELEASE=OFF -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" + args: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" artifacts_name: PCem-RelWithDebInfo-vNext-Ubuntu-${{ github.run_number }} artifacts_path: PCem-RelWithDebInfo-vNext-Ubuntu-${{ github.run_number }}-${{ github.sha }}.tar.bz2 installdeps: >- @@ -27,7 +27,7 @@ jobs: - name: Windows 64bits (MSYS2) os: windows-latest compiler: MINGW64 - args: -DUSE_EXPERIMENTAL=ON -DUSE_EXPERIMENTAL_PRINTER=OFF -DUSE_EXPERIMENTAL_PGC=ON -DUSE_NETWORKING=ON -DUSE_PCAP_NETWORKING=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_RELDEB_AS_RELEASE=OFF -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" + args: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPCEM_VERSION_STRING="vNext build ${GITHUB_SHA::8}" artifacts_name: PCem-RelWithDebInfo-vNext-Windows-MINGW64-${{ github.run_number }} artifacts_path: PCem-RelWithDebInfo-vNext-Windows-MINGW64-${{ github.run_number }}-${{ github.sha }}.zip installdeps: >- diff --git a/CMakeLists.txt b/CMakeLists.txt index 917a5406..c1b8ba1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,10 @@ target_architecture(PCEM_CPU_TYPE) set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -fomit-frame-pointer -fno-strict-aliasing -flto") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fomit-frame-pointer -fno-strict-aliasing -flto") - + +set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} -DDEBUG") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -DDEBUG") + if(${PCEM_CPU_TYPE} STREQUAL "i386") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2") @@ -73,7 +76,7 @@ if(USE_EXPERIMENTAL) endif() if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") - option(PCEM_RELDEB_AS_RELEASE "Build PCem RelWithDebInfo as Release Mode" ON) + option(PCEM_RELDEB_AS_RELEASE "Build PCem RelWithDebInfo as Release Mode" OFF) message("Build PCem RelWithDebInfo as Release Mode: ${PCEM_RELDEB_AS_RELEASE}") endif() diff --git a/CMakeSettings.json b/CMakeSettings.json deleted file mode 100644 index c3fc52e3..00000000 --- a/CMakeSettings.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "configurations": [ - { - "environments": [ - { - "PATH": "C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;${env.PATH}", - "environment": "mingw_64" - } - ], - "name": "MinGW x64 - Debug", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": [ "mingw_64" ], - "cmakeCommandArgs": "-DMSYS=1", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "intelliSenseMode": "linux-gcc-x64", - "cmakeToolchain": "cmake\\toolchains\\x86_64-w64-mingw32.cmake", - "buildRoot": "${workspaceRoot}\\cmake-build-x64-debug" - }, - { - "environments": [ - { - "PATH": "C:\\msys64\\mingw32\\bin;C:\\msys64\\usr\\bin;${env.PATH}", - "environment": "mingw_i686" - } - ], - "name": "MinGW i686 - Debug", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": [ "mingw_i686" ], - "cmakeCommandArgs": "-DMSYS=1", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "intelliSenseMode": "linux-gcc-x86", - "cmakeToolchain": "cmake\\toolchains\\i686-w64-mingw32.cmake", - "buildRoot": "${workspaceRoot}\\cmake-build-x86-debug" - }, - { - "environments": [ - { - "PATH": "C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;${env.PATH}", - "environment": "mingw_64" - } - ], - "name": "MinGW x64 - Release", - "generator": "Ninja", - "configurationType": "Release", - "inheritEnvironments": [ "mingw_64" ], - "cmakeCommandArgs": "-DMSYS=1", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "intelliSenseMode": "linux-gcc-x64", - "cmakeToolchain": "cmake\\toolchains\\x86_64-w64-mingw32.cmake", - "buildRoot": "${workspaceRoot}\\cmake-build-x64-release" - }, - { - "environments": [ - { - "PATH": "C:\\msys64\\mingw32\\bin;C:\\msys64\\usr\\bin;${env.PATH}", - "environment": "mingw_i686" - } - ], - "name": "MinGW i686 - Release", - "generator": "Ninja", - "configurationType": "Release", - "inheritEnvironments": [ "mingw_i686" ], - "cmakeCommandArgs": "-DMSYS=1", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "intelliSenseMode": "linux-gcc-x86", - "cmakeToolchain": "cmake\\toolchains\\i686-w64-mingw32.cmake", - "buildRoot": "${workspaceRoot}\\cmake-build-x86-release" - } - ] -} \ No newline at end of file diff --git a/README.md b/README.md index 4499a0d1..8fbabf2d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ You can submit patches on our [forum](https://pcem-emulator.co.uk/phpBB3). Befor :exclamation: Note: NO COPYRIGHTED ROM FILES ARE INCLUDED NOR WILL THEY BE. PLEASE DO NOT ASK FOR THEM. -## BSD and Linux supplement (v17) +## BSD and Linux supplement You will need the following libraries and buildtools (and their dependencies): - SDL2 @@ -37,8 +37,11 @@ then `./src/pcem` to run. The Linux/BSD versions store BIOS ROM images, configuration files, and other data in `~/.pcem` -You can specify the Display Engine using `-DPCEM_DISPLAY_ENGINE=` The options you have are wxWidgets, and Qt -configure options are : +You can specify the Display Engine using `-DPCEM_DISPLAY_ENGINE=` The only valid option you have at this time is +wxWidgets + +The configure options are specified below. They are in the format of -D`Option`=`Value`. `Value` under here is the +default value. ``` -DCMAKE_BUILD_TYPE=Release : Generate release build. Recommended for regular use. -DCMAKE_BUILD_TYPE=Debug : Compile with debugging enabled. @@ -46,18 +49,18 @@ configure options are : -DUSE_PCAP_NETWORKING=ON : Build with pcap networking support. (Needs USE_NETWORKING to compile) Requires libpcap. -DUSE_ALSA=OFF : Build with support for MIDI output through ALSA. Requires libasound. (Linux Only) -DFORCE_X11=ON : Enables a hack to force X11 on Wayland systems. See #128 for details. (Linux Only) - -DPLUGIN_ENGINE=OFF : Build with plugin support. Builds libpcem-plugin-api and links PCem with it. + -DPLUGIN_ENGINE=ON : Build with plugin support. Builds libpcem-plugin-api and links PCem with it. ``` If you are using -DCMAKE_BUILD_TYPE=Debug, there are some more debug options you can enable if needed ``` - -DPCEM_SLIRP_DEBUG=ON : Build PCem with SLIRP_DEBUG debug output - -DPCEM_RECOMPILER_DEBUG=ON : Build PCem with RECOMPILER_DEBUG debug output - -DPCEM_NE2000_DEBUG=ON : Build PCem with NE2000_DEBUG debug output - -DPCEM_EMU8K_DEBUG_REGISTERS=ON : Build PCem with EMU8K_DEBUG_REGISTERS debug output - -DPCEM_SB_DSP_RECORD_DEBUG=ON : Build PCem with SB_DSP_RECORD_DEBUG debug output - -DPCEM_MACH64_DEBUG=ON : Build PCem with MACH64_DEBUG debug output - -DPCEM_DEBUG_EXTRA=ON : Build PCem with DEBUG_EXTRA debug output + -DPCEM_SLIRP_DEBUG=OFF : Build PCem with SLIRP_DEBUG debug output + -DPCEM_RECOMPILER_DEBUG=OFF : Build PCem with RECOMPILER_DEBUG debug output + -DPCEM_NE2000_DEBUG=OFF : Build PCem with NE2000_DEBUG debug output + -DPCEM_EMU8K_DEBUG_REGISTERS=OFF : Build PCem with EMU8K_DEBUG_REGISTERS debug output + -DPCEM_SB_DSP_RECORD_DEBUG=OFF : Build PCem with SB_DSP_RECORD_DEBUG debug output + -DPCEM_MACH64_DEBUG=OFF : Build PCem with MACH64_DEBUG debug output + -DPCEM_DEBUG_EXTRA=OFF : Build PCem with DEBUG_EXTRA debug output ``` If you are using -DCMAKE_BUILD_TYPE=RelWithDebInfo, there are additional options you can do @@ -79,7 +82,7 @@ CD-ROM support currently only accesses `/dev/cdrom`. It has not been heavily tes ## Links -### PCem emulates the following hardware (as of v17): +### PCem emulates the following hardware: Hardware | Links --- | --- diff --git a/TESTED.md b/TESTED.md index d7ae6e5b..b1a49a19 100644 --- a/TESTED.md +++ b/TESTED.md @@ -1,4 +1,4 @@ -## Software tested (v17): +## Software tested: ### DOS - PC-DOS 1.0