50 Commits

Author SHA1 Message Date
Benedikt Freisen
f6360f856a Add Mindscape Music Board emulation based on Ayumi. (#295) 2025-06-19 12:08:39 -07:00
Benedikt Freisen
2d75892db3 New graphics card(s): Quadram Quadcolor I / I+II (#281) 2025-06-19 12:08:27 -07:00
Michael J. Manley
6386a308a7 Renamed BITMAP to VIDEO_BITMAP to hopefully fix Windows Building. 2024-11-30 18:20:01 -08: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
Dominik Behr
dd1ef689f1 GRiD GRiDcase 1520 initial support (#269)
* add initial support for GRiD GRiDcase 1520

* add emulation of IDE HDD model

Certain BIOSes like GRiD 1520 can only work with a limited selection of IDE hard
drives.
Add capability to emulate particular HDD model.
Add 3 Conner drives that work with GRiD 1520.
2024-11-24 20:29:14 -08:00
Matt (MMaster)
1882f179e0 Add ramdisk preloaded from RAW/VHD image file (*.rdimg;*.rdvhd) (#275) 2024-11-24 20:28:58 -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
2e87d35d00 Fixes for clang + related bugfixes (#263) 2024-06-21 19:55:25 -07:00
Michael Manley
b8ad9416bc Fixes some issues with #187 (#206)
* Add ability to remove memory mapping.

* Add ability to remove ROM.

* Fix MDA use-after-free.

* Fix IBM PC Fixed Disk Adapter use-after-free.

---------

Co-authored-by: Marek Knápek <knapek.mar@gmail.com>
2023-03-03 16:07:20 -08:00
Marek Knápek
a911e3644b Get rid of VLAs. (#199)
* Rename global variable, so it doesn't look like a macro.

* Replace macro with global variable.

* Get rid of VLA in adlibgold.

* Get rid of VLA in dbopl.

* Get rid of VLA in soundopenal.

* Get rid of VLA in voodoo banshee.

* Get rid of VLA in voodoo display.
2023-02-06 14:02:24 -08:00
jviskari
c9f885706e Hyundai SUPER16T and SUPER16TE cleanup (#179) 2022-11-15 21:51:42 -08:00
Michael J. Manley
bed5fced7b [no ci] Format Changes 2022-06-23 11:26:13 -07:00
Josep Maria Antolín Segura
7643edbb3a Logging improvements. (#143)
Since we don't flush the messages to file immediately to avoid slowdowns, sometimes the application is closed before all the messages are written to the log.
This includes flushing the log when stopping the emulation, and tries to close the log file when closing the application. (It might need some more work to close it in all cases).
Also, some redundancy in logging.c and x86seg.c has been removed.
2022-05-12 19:33:21 -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
c640285964 Missed Headers 2022-04-14 14:41:14 -07:00
Michael J. Manley
08dc3f0409 Format Change. Fixed so it doesn't fail compilation anymore. 2022-04-14 14:18:31 -07:00
Michael J. Manley
ebb7c9ac25 [no ci] Removed Meson build scripts
Added them to docs/pcem-meson-scripts.tar.bz2 if you want them
CMake will be the supported build generator due to future Android support
2022-04-14 13:26:51 -07:00
Michael J. Manley
b70413a20f Revert "[no ci] Slight style change, braces are no longer on newline"
This reverts commit bfc6f1c593.
2022-04-14 11:09:21 -07:00
Michael J. Manley
90bac137b1 [no ci] Stylechange commit damaged code somehow, reverting for now 2022-04-14 11:05:44 -07:00
unreal9010
71d9a375b3 Add missing ROM folders and two IDE CD-ROM drives (#111)
* Update vid_mga.c

* Update scsi_cd.h

* Update scsi_cd.c

* Update scsi_cd.h

* Update scsi_cd.c

* Update vid_mga.c

* Update scsi_cd.c

* Update vid_mga.c

* Update scsi_cd.c

* Update scsi_cd.c

* Update scsi_cd.c

* Update scsi_cd.h

* Update scsi_cd.c

* Update scsi_cd.c

* Added more IDE CD-ROM drives

* Added Mitsumi CRMC-FX4820T

* Update vid_mga.c

* Let's see

* What about 10?

* It worked. Now, let's try 20.

* Update scsi_cd.h

* Last try: 12

* Added Kenwood True-X UCR-421 & NEC CDR-1300A

* Minor correction

* Added missing ROM folders

* also ibmps1_2133

* Add missing ROM folders for video cards

* CR-588-B id string correction

* Alphabet!

Co-authored-by: Michael Manley <mjmanley@ntge.net>
2022-04-12 22:02:09 -07:00
Michael J. Manley
f220efc3a4 [skip ci] More Meson Stuff 2022-02-18 18:24:03 -08:00
Michael J. Manley
e2919dedea [no ci] Initial Meson Commit 2022-02-18 02:09:04 -08:00
Michael J. Manley
26bc0c7952 Fixes Windows Build Errors... for real this time 2022-01-28 14:04:42 -08:00
Michael J. Manley
2b63024775 Fixes Windows Build Errors 2022-01-28 13:36:21 -08:00
Michael J. Manley
df91150c3b [skip ci] Added config callbacks in api 2022-01-27 20:41:12 -08:00
Michael J. Manley
9683cc7985 [skip ci] Oh goodie, now my IDE is directing me to wrong files. Fixed putting in wrong header 2022-01-27 15:48:21 -08:00
Michael J. Manley
1f40cfe1c0 [skip ci] Move some more as Windows builds keep complaining
Why does Windows have to have really annoying nuances compared to Linux
2022-01-27 15:45:01 -08:00
Michael J. Manley
58f494e938 [skip ci] Windows... 2022-01-27 15:38:08 -08:00
Michael J. Manley
b876353534 [skip ci] Forgot the dllexport part. 2022-01-27 14:40:39 -08:00
Michael J. Manley
061582ab35 [skip ci] Moved Experimental Code into plugins. 2022-01-27 14:31:05 -08:00
Michael J. Manley
8ef51f6af1 [skip ci] Added Plugin Loader for Linux, Need to adapt for Windows 2022-01-27 11:35:42 -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
0fbeb7fb92 Just getting rid of some GCC Warnings. 2022-01-19 01:09:09 -08:00
unreal9010
4a26245b90 New IDE CD-ROM drives (#93)
* Update vid_mga.c

* Update scsi_cd.h

* Update scsi_cd.c

* Update scsi_cd.h

* Update scsi_cd.c

* Update vid_mga.c

* Update scsi_cd.c

* Update vid_mga.c

* Update scsi_cd.c

* Update scsi_cd.c

* Update scsi_cd.c

* Update scsi_cd.h

* Update scsi_cd.c

* Update scsi_cd.c

* Added more IDE CD-ROM drives

* Added Mitsumi CRMC-FX4820T

* Update vid_mga.c
2022-01-17 17:59:55 -08:00
Michael J. Manley
4aefbbac63 Make the configuration dialog more virt-manager like to allow more pages 2022-01-17 17:12:43 -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
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
sarah-walker-pcem
19e1f63e5d Added Matrox Millennium emulation. (#87) 2022-01-15 19:21:54 -08:00
Michael J. Manley
92caa3bff9 Adapted Pull Request 79 for dev branch. Added Machines
Huyndai SUPER-16T
Huyndai SUPER-16TE
CBM PC10C
2022-01-12 15:47:07 -08:00
Michael Manley
7b063fd59d [skip ci] Small Fix 2022-01-04 07:16:59 -08:00
Michael Manley
ff02e05d7a More Addon Refactoring 2022-01-04 00:48:58 -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
ebc3118dbe Preliminary Plugin Prep.
* Changed the static instances to a 256 sized pointer for video, model and sound so far.
* added <subsystem>_init_builtin to be called by pc_main to initialize builtin devices
* Moved device structs to a public header
2021-12-23 02:14:59 -08:00
Michael J. Manley
47395d692e Added Include Guards to most include files. 2021-12-22 16:08:17 -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