* 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.
* 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.
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
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.
* 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
* 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