43 Commits

Author SHA1 Message Date
Michael J. Manley
ff5d7f0c13 Added an option to allow users to build with GCC if they so desire. Targeting v2 x86_64 cpu's for optimizations. 2025-07-09 10:54:49 -07:00
Michael J. Manley
b2ecd8f380 Forcing Clang unilaterally. Will update docs for build instructions. 2025-07-08 22:18:31 -07:00
Michael Manley
816b5e8e25 Update CMakeLists.txt
Removing -mstackrealign, noticed on a mingw makefile for 64 bit there is no -mstackrealign
2025-07-04 10:54:44 -07:00
Michael J. Manley
82357eab6d Code Cleanup, Fixed Builders. 2025-05-20 22:32:47 -07:00
Michael Manley
5ba8eba1b4 Update CMakeLists.txt and adding optimizations to Release builds 2025-05-20 16:32:49 -07:00
sarah-walker-pcem
a0db379ed7 Add debug viewers (#277)
* Fix up global variable definitions in ibm.h

This fixes multiple definition errors when including ibm.h in C++ code.

* viewers: Add viewer infrastructure

Viewers are windows showing the status of a particular component of the emulated
machine; primarily for amusement, though may be useful for debugging in some
situations. This commit adds the basic infrastructure for viewers.

* viewers: Add (S)VGA palette viewers

This adds two basic viewers for the (S)VGA palette; one for the 16-entry
attribute controller palette, and one for the 256-entry RAMDAC palette.

* viewers: Add (S)VGA font viewer

Add a simple viewer to display the current (S)VGA font.

* viewers: Add (S)VGA video memory viewer

Add a viewer for (S)VGA video memory. This allows viewing of on and off screen
video memory in the various supported bitmap formats.

* viewers: Add 3DFX viewer

Add a viewer for 3DFX state. This shows all triangles and textures involved in
the most recent frame, and allows showing of framebuffer, depth buffer, and
wireframes.

It currently does not work properly in SLI configurations (only the first card
will be viewed) and trilinear textures will not display correctly.
2024-11-24 23:28:19 -08:00
Josep Maria Antolín Segura
3181dadd0e changes to compile again with networking enabled. (#266) 2024-09-22 16:40:57 -07:00
Josep Maria Antolín Segura
e1fba7a7b4 Fixes to build under arm32 ( raspberry pi on 32bit debian). (#261) 2024-06-21 18:20:49 -07:00
Conrad Kostecki
78e7875fe9 Switch from off64_t to off_t (#247) 2024-06-21 18:19:00 -07:00
Michael J. Manley
b19fbf64fd Added X11 Force Mode as a option that can be turned on and off. See #128 for details. 2023-07-22 01:45:59 -07:00
Elfina Ashfield
8b9813377b fix cmake for Apple Silicon machines; render related bug fixes (#186) 2022-11-15 22:03:23 -08:00
Michael J. Manley
21a7065271 Changed on Windows to put files in HOMEDIR/.pcem
Enabled Plugins and Network support by default.
(If you are using v17, just move your configs, logs, nvr, pcem.cfg, and roms folder to HOMEDIR/.pcem)
2022-09-23 11:45:38 -07:00
Michael J. Manley
fa9c5ef6c0 Hopefully fixed issue with config paths, also adding Debug builds as well as Release autobuilds. 2022-06-22 13:47:12 -07:00
Michael J. Manley
d8594be7a5 Finally got the better arch detect code, Should fix #160. 2022-06-22 11:17:47 -07:00
Michael J. Manley
63a8d469a6 Added the Qt/wxWidgets switch code. Prepping for Qt GUI. 2022-06-22 00:39:55 -07:00
Michael J. Manley
6f69f3e8da Removed code for disabling optimization, as its causing lag issues. Fixed CMake Files. 2022-06-18 19:23:44 -07:00
Michael J. Manley
d52f960680 Fixed the detection code to skip if running on a toolchain file 2022-05-11 10:23:38 -07:00
Michael J. Manley
3bbccb1b88 Added some helpful cmake scripts to allow cross compiling on Fedora. 2022-05-11 01:11:19 -07:00
Michael J. Manley
48b8096901 Fixed missing release defines on release build 2022-05-08 17:25:06 -07:00
driver1998
d0ae61a22c Windows ARM64 support (#138)
* Do not use WIN32 to detect x86, fixes Windows ARM build

* CMakeLists: Add Windows ARM64 detection
2022-05-08 16:58:16 -07:00
Michael J. Manley
0811e43fd0 API Changes 2022-04-17 12:28:16 -07:00
Michael J. Manley
8c069c93ec [no ci] Fixed some Build config issues 2022-04-12 10:44:20 -07:00
Didiet
ac0cc4529f Enable compilation on macOS with Clang (#120)
* Add mac compilation flags

I added several definitions and to be able to be compiled in macOS Monterey.

- Define HAVE_UNISTD_H for SLIRP to be able to compile.
- Add sys/stat.h (standard POSIX header).
- Redefine fseeko64 ftello64 off64_t to normal fseek ftell and off_t as recent macs only supports 64-bit platforms.
- Re-include cdrom/cdrom-ioctl-osx.c on macOS
- Define PCEM_RENDER_WITH_TIMER PCEM_RENDER_TIMER_LOOP because macos cannot render outside main thread on SDL.

* Fix logging file handling

When you open `pcem.log` for writing. The error is not handled correctly.
This commit is to handle such error blocking the launch of the program.
2022-04-06 14:52:25 -07:00
Michael J. Manley
85e1ef3ee4 Added Release Flags, but removed -Werror for now. Closes #123 2022-03-28 22:52:29 -07:00
Michael J. Manley
e4530e5486 Fixed some errors with CMake code. 2022-03-18 23:26:49 -07:00
Michael J. Manley
60fefc6179 [skip ci] Forgot this line 2022-01-27 21:50:24 -08:00
Michael J. Manley
061582ab35 [skip ci] Moved Experimental Code into plugins. 2022-01-27 14:31:05 -08:00
Michael J. Manley
b90076487e This is it for the Refactoring. This is the final layout for everything.
Any more refactoring, will request RFC
2022-01-25 00:03:44 -08:00
Michael J. Manley
eee52a540f More Refactoring for Plugin Engine. 2022-01-24 17:00:28 -08:00
Michael J. Manley
5ce547a359 [skip ci] Major refactoring of how CMake is organized
Moved the plugin extension arrays into plugin.c and init functions there.
Moved most code back into pcem binary instead of library as this isn't needed
2022-01-24 14:29:00 -08:00
Michael J. Manley
5b23875cf5 Added Real Printer Support
Printer support is still only enabled if enabled from experimental
Added configuration options to LPT devices
Converted lpt_device_t to be like device_t with the lpt additions added.
2022-01-22 01:00:43 -08:00
Michael J. Manley
21509f38ad [skip ci] CMake Coding Styles 2022-01-21 01:30:29 -08:00
Michael J. Manley
f6b4c114e2 Changed to use the proper method of CMake for install 2022-01-17 01:53:16 -08:00
Michael J. Manley
e863318fce [skip ci] Added "Printer Support" 2022-01-16 21:50:37 -08:00
Michael J. Manley
72f931ae3f Fixed build config errors.
Forgot the -DMSYS=TRUE and its ninja-build for Ubuntu
2022-01-16 20:00:07 -08:00
Michael J. Manley
45493f6ce4 Fixes to a few major things
* Moved NVR files out to be in just nvr, and will go in share/pcem/nvr
* Fixed #88. Now the headers use the internal name to make descriptive sense
* Fixed Spelling error on Hyundai
*Also changed some issues with automation, testing also ntldd for dependency copying
2022-01-16 01:18:02 -08:00
Michael Manley
7b063fd59d [skip ci] Small Fix 2022-01-04 07:16:59 -08:00
Michael Manley
9fb7313309 [skip ci] Added correct RELEASE_BUILD define on Release Build
pclog also prints to console as well
2022-01-04 00:48:34 -08:00
Michael J. Manley
55a26c953f [skip ci] Seperated each debug flag to allow for granularity. 2021-12-24 23:08:12 -08:00
Michael J. Manley
3dbd3c783d [skip ci] Added Debug Flags for Debug Build 2021-12-24 16:23:48 -08:00
Michael J. Manley
c72694577d Added Public API's also added PCAP stuff. Will begin PCAP development for Linux. 2021-12-24 02:16:55 -08:00
Michael J. Manley
285240c1d3 Changed compiling methods to prepare for AppImage. 2021-12-19 23:33:02 -08:00
Michael Manley
2cab30576e Merge my changes into mainline. (#67)
* Removed autotools and converted over to CMake

* Updated README.md to mention build options for CMake

* Added ALSA Support to CMakeFile

* Fixed Workflows.
Forgot to remove the autoconf line for Linux and use "Unix Makefiles" on Windows

* Forgot some items to make Windows build correctly with CMake

* Final Fixes to allow workflows to work.

* Fixed C and C++ Flags for X86
Added arm and arm64 modes (untested)

* I had a moment, really should have made it in this file.

* Moved headers to include/private, and some other fixes

* Removed unneeded files and added NOTICE file

* Fixes an issue where on Windows this is needed
Dont understand why this wasn't an issue on Windows
before I moved headers outside src but whatever

* Fixed Missing Header
2021-12-19 15:15:40 -08:00