Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assorted fixes and improvements #1952

Merged
merged 16 commits into from Dec 22, 2021
Merged

Assorted fixes and improvements #1952

merged 16 commits into from Dec 22, 2021

Conversation

Copy link
Contributor

@lemondrops lemondrops commented Dec 22, 2021

Summary

  • Removes build options from the root CMakeLists.txt that were removed from the code and no longer do anything
  • Makes MSR 17h (available from Pentium II Deschutes onward) read-only and return a suitable Platform ID depending on the CPU package. Fixes some system information utilities misidentifying Mendocino Celerons as Slot 1 instead of Socket 370
  • Implements Machine Check Exceptions and Machine Check Architecture MSRs and CPUID flags on CPUs that support (or pretend to support) it
  • Limits the maximum bus clock of the VPC2007 machine to 66 MHz, due to BIOS unable to handle a higher clock
  • Renames the Soyo 4SA2 motherboard to 4SAW2, adds VLB and PS/2 mouse support to it
  • Adds a config migration path for the PS/1 model 2121 variations that were merged in 3.0
  • Adds config migration for the renamed joystick types and adjusts the backwards compatibility with legacy integer-based configs accordingly
  • Fixes the maximum PIO mode reported by emulated IDE hard drives as 1 instead of 4 when using a bus-mastering IDE controller
  • Fixes IBM PC and XT incorrectly identifying a floppy drive being present when no floppy drives are enabled in 86Box settings
  • Adds the necessary PCI register handling to properly present the ViRGE/GX2 and Trio3D/2X as supporting AGP. Also makes the GX and GX2 to report having SGRAM instead of EDO DRAM in the CRTC register 0x36.
  • Allows use of ATAPI devices with XT-IDE
  • Makes the internal real-time clock synchronize with host time every time the emulator is unpaused, instead of merely on init
  • Makes the standalone MPU-401 selection unavailable on machines without the ISA or MCA bus
  • Makes the selection of ISA RTCs, memory expansions, and ISABugger unavailable on machines without the ISA bus
  • Fixes indentation in snd_sb_dsp.c, expands SB16 0851 RAM emulation and adds ASP/CSP chip internal RAM emulation, based on code from DOSBox-X

Checklist

  • I have discussed this with core contributors already
  • This pull request requires changes to the ROM set

References

IA-32 Intel Architecture Software Developer's Manual -- information on Pentium/Pentium II MSRs
http://oldcomputers-ddns.org/public/pub/rechner/siemens/scenic300/microcodepatch/p6_patchliste.pdf - contains a list of P2-era platform IDs
Soyo's archived website -- 4SA2 BIOS used with 86Box being identified as "4SAW"
ftp://technotron.asuscomm.com:2021/Backup/WD/30/Report.htm -- contains a PCI register dump of an S3 Trio3D/2X (near the very end of the report)

lemondrops added 16 commits Dec 22, 2021
Fixes some programs misidentifying Celeron Mendocinos as Slot 1 instead of Socket 370
Fix backwards compatibility with old integer-based config joystick type selection
@OBattler OBattler merged commit 0126d7d into 86Box:master Dec 22, 2021
29 checks passed
@lemondrops lemondrops deleted the external branch Dec 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants