Phase 1 of re-working the configuration system. All variables are now in a single structure (well, will be) and code will be updated in phases. Left are FDD, DISK, CDROM, ZIP and Joystick.
Fixed a buffer overflow in vid_voodoo.c (thanks DS)
Fixed the BIOS-loading error that caused the PS/2 M50 to not boot.
Small changes here and there.
Disabled writing keyboard to the host (for now.)
Microsoft removed (or at least deprecated) support for global per-user
property sheets. This was a nice feature to tell MSVC where to look for
includes/libraries that are not part of the project (like SDL, png,
etc.)
Removal of this feature means that all property sheets need to be part
of the project/solution. Since I don't want to force everyone to use the
same include/library paths than I do, I had to use a workaround.
I added a property sheet "localdirs.props" that adds the include and
library paths from the environment variables INCLUDE and LIB32
respectively (64bit build is still broken currently, so only LIB32 is
needed)
Please set up these variables before opening/building the solution, so
that your local libs and include files can be found.
If anyone finds a smarter solution to this, feel free to submit a PR :)
Applied PCem patch #ef2c34c.
Updated vidapi to enable/disable the renderers on resize (patch from 86Box.)
Re-worked the D2D renderer to actually work when dynloaded.
Some more changes to the VNC renderer. Not done yet, the library is horrible.
Updated the Travis work files to allow for downloadable dependencies.
Fixed the 'crash on unknown machine name in config' bug.
Fixed some issues with the ROM loader, PS/2 M50 still doesnt work.
Made the error message from dynld.c a DEBUG message.
Fixed some stuff in the VNC driver (pending changes in the VNC DLL.)
Cleaned up the MinGW Makefile, VC will follow.
Added screenshots code to the D2D renderer.
More cleanups in the keyboard drivers, especially the AT one (with new changes from 86Box.)
Small update to fix the CD sound volume when using SoundBlaster.
Updatd mem.c with new readmem386l and writemem386l functions from 86Box.
Several cleanups to the keyboard layer to remove some weirdness.
Updated the NVR code and nvr_at.c to just use a speed_changed member for the AT devices.
Updated mouse_bus.c to allow for post-init setting of IRQ.
Updated scsi_ncr5380.c to allow for post-init setting of base/IRQ.
Updates to allow for a SCSI controller to be on-board (internal.)
Devices now have a 'path' member, which usually points to a ROM file, or loader script.
No more 'available' functions unless one is needed for special cases.
Machines now can be 'configured' for mainboard settings etc.
Machines are now devices as well (root devices).
Regular devices now get a pointer to a 'parent' device.
The machines table has been reduced to just a lookup table, machine info is now inside the machine file.
Machine-specific CPU lists are now inside the machine file.
Chipset implementations are now devices, and were moved to devices/chipsets/
Much work on individual machines done.
All COMPAQ machines moved to dev-branch.
Zenith SupersPORT moved to dev-branch.
The i686-based machines (Tyan) released from dev-branch and cleaned up.
Several new MFM and RLL disk controllers for XT, in dev-branch for now.