Commit Graph

2380 Commits

Author SHA1 Message Date
pixel-jupiter
beb3733757 Defer vsync_offset application
- Apply vsync_offset only during the vertical retrace period for a more accurate result
- Change the calculation of displine_offs and remove redundant checks around rendering calls
- Remove unnecessary clamping logic for crtc[7]
- Remove a hack from the previous commit by correctly triggering VSYNC processing when the vertical counter matches the actual crtc[7]
2025-10-03 16:44:53 +03:00
pixel-jupiter
49a3eca742 Merge branch 'master' into tandy-shake 2025-09-30 15:41:02 +03:00
Maxwell Scott
c35bb9749f Added more BIOSes for GA-5AX and GA-686BX (#6256) 2025-09-30 05:59:11 +02:00
win2kgamer
5c9fa029bf Implement the VLSI SuperCore/Wildcat chipsets (#6247)
* Add the VLSI SuperCore and Wildcat chipsets

* Disable logging and minor cleanups

* Add the AST Bravo MS P/90 (Rattler)

* Add the AT&T Globalyst 620 (NCR 3248)

* Add the DEC Celebris 5xx

* Add the DFI G586VPM Rev C

* Add the Packard Bell PB600

* Fix southbridge PCI Command Register writes

* Block the Cyrix 6x86 on incompatible machines

* Rename the AT&T Globalyst 620 to include the names of the NCR counterparts

* Add the Zeos Pantera Wildcat

* Add RZ-1001 variant of the RZ-1000 PCI IDE controller and made the Zeos Pantera Wildcat use it

* Add the Micronics M54Si

* Update machine_table.c

* Re-add new machines to machine table

* Update machine inits to use new KBC device names

* Use correct machine init method as NVRAM init is done by the chipset code

* Use a Phoenix KBC for the AST Bravo since the BIOS calls command D5h to show the KBC revision

* Update KBC comments in machine table

* Update VLSI 59x chipset comments

* Update machine inits for new super I/O code

* Reorganize machines and update comments

* AST readout device actually has multiple indexed registers

* Implement the AST Bravo MS ECP DMA configuration

* Implement jumpered/hardwired ECP DMA for the remaining machines

* Fix ECP DMA on the AST Bravo MS

* Move the DEC Celebris to the Socket 4/5 category

* Implement SMI I/O port read, fixes APM init on AT&T, Micronics and Zeos machines

* Convert AST readout device to new logging system

* Update KBC init to new method

* Cleanups
2025-09-29 04:48:33 +02:00
OBattler
f922e78b61 Merge branch 'master' of https://github.com/86Box/86Box 2025-09-28 00:44:28 +02:00
OBattler
6ca6afedd5 AdLib Gold: Everything now outputs to the same 48k source in order to avoid noise caused by the YM7128's resampling which is currently tailored to that frequency. 2025-09-28 00:44:01 +02:00
RichardG867
37eb2cb359 AD1848: Use the correct algorithm for CS423x ADPCM
Still has level and DC offset issues, but actual use cases are lacking (all validation was done with ALSA's adpcm conversion plugin)
2025-09-27 16:33:35 -03:00
OBattler
f692c00c6d Remove the BCM FR510 because it turned out to be improperly implemented fixes #6236. 2025-09-27 15:21:13 +02:00
Verloren50000
9ef1b19486 Add the BCM FR510 (Packard Bell/NEC OEM) ROM + update (#6231)
* machine.h: FR510 added.

* m_at_sockets7.c: BCM FR510 added, including the BIOS Selector.

* machine_table.c: BCM FR510 is now added.

* machine_table.c: fr510-generic

* m_at_sockets7.c: AGP Bridge for BCM FR510

* machine_table.c: FR510 PCIOnly

* m_at_socket7.c: Fixes at FR510

* m_at_sockets7.c: 510S228.BIN -> 510S128.BIN

* machine_table.c: an update for FR510
2025-09-27 13:32:46 +02:00
OBattler
1dbc304b2f The forgotten isapnp.c and .h. 2025-09-27 01:28:43 +02:00
Verloren50000
4180909840 Add BIOS selector and the mid-1999 BIOS to the ABit AB-LX6 (#6224)
* machine.h: Configuration added for ABit AB-LX6

* m_at_slot1.c: Configuration is almost there for ABit AB-LX6

* Congratulations! BIOS Selector for ABit AB-LX6 is complete.
2025-09-26 05:21:12 +02:00
OBattler
ae369dc34d RTL8019AS and ISA PnP: More fixes. 2025-09-25 00:58:53 +02:00
OBattler
01c410479b RTL8019AS and ISA PnP fixes: fixes PNPODI.COM. RTL8019AS now detects the card but thinks there's an IRQ conflict. 2025-09-24 15:16:59 +02:00
OBattler
087a005664 More AdLib Gold fixes. 2025-09-23 20:46:24 +02:00
OBattler
288b6454ee AdLib Gold: Correctly use separate pseudo-stereo X and Y for the two sources. 2025-09-23 17:55:46 +02:00
Toni Riikonen
1859e7cf68 Floppy disks sound emulation prototype for reviewing (#6166)
* Initial spindle emulation working for windows atleast

* Spingle motor spin-up, spin-down implemented with smooth transitions to motor-on loop.

* Moved fdd audio emulation to a separate file

* Multiple drives sound emulation

* Single sector movement sound emulations implemented

* Rename project to Immersive86Box and update details

Updated README to reflect the new project name and added details about the Immersive86Box features and future plans.

* Revise contribution guidelines in CONTRIBUTING.md

* Update vulnerability reporting instructions

* System fan-sound next feature after basic fdd sound emulation is ready

* v0.5 multitrack audio seek sfx

* Removed unnecessary stuff

* no .vs folder for git

* Added currently used fdd sound effects and readme.txt for source of the files and intallation instructions

* Add audio emulation installation instructions

Added instructions for audio emulation installation.

* Code and audio samples merged

* Simplify audio emulation installation instructions

* FDC seeking fixed, not instant anymore drive is set to busy during the operation and when it's finished at call fdc to set the appropriate fdc flags.

Also added time logic to fdd to calculate seek duration and a callback function for it.

* FDD sound samples volume control

* Menu options to enable / disable fdd sound for all drives.
DISABLE_FDD_AUDIO definition added, to disable the feature via cmake/build.

* Revert readme etc. changes

* Revert "Revise contribution guidelines in CONTRIBUTING.md"

This reverts commit 98a0478225.

* Revert "Update vulnerability reporting instructions"

This reverts commit 7d32cb659b.

* Fixed merge issue

* Removed excess files

* Fixed PCJr seeking not to break the FDC implementation. Now seeking will take the "correct" amount of time for each system and the seek time is based on the track count. E.g. 40 track FDD system causes 40 track seek time to be 80/40 * 6ms * 40 tracks + 50ms = 480ms + 50ms -> 530ms.

80 track system full seek is 80/80 * 6ms * 80 + 50ms = 530ms, 40 track seek would take 240 + 50 = 290ms.

* Fixed PS/1, PS/2 and PS/55 FDD issues.

* FDD_AUDIO: Updating samples looked in executablePath/samples and if now found there, looks in the executable directory

* Updated installation instructions

* Removed samples path strcat use

* fdd_audio 5.25 samples and support added

* FDD audio timing/volume tunings

* Timing fixes for authentity and special longer timings for PCJr

* Fixed second drive motor keeps running when first drive is only accessed.

* Fixed PCJr random failure issue, timings

* CodeQL fix for load_wav-function. Check the filename to be proper filename

* Revert "Fixed second drive motor keeps running when first drive is only accessed."

This reverts commit 307b173ae7.

* Teac 5.25" drive samples added. Added per drive audio selection to FDD settings.

* Fixed mistake in samples folder recreation

---------

Co-authored-by: Toni Riikonen <domppari@hotmail.com>
2025-09-22 01:03:07 +02:00
Miran Grča
810f17c50f Merge pull request #6192 from 86Box/feature/int-cast
Add integer casting macros
2025-09-22 00:55:49 +02:00
Jasmine Iwanek
f3f2068d1a VFIO - Virtual Function I/O
Co-Authored-By: richardg867 <540874+richardg867@users.noreply.github.com>
2025-09-21 18:02:46 -04:00
Jasmine Iwanek
3c5190a0db Header cleanups (1/2) 2025-09-21 00:48:38 -04:00
win2kgamer
b268f95b19 Add the Yamaha YMF-71x (OPL3-SA2/3) audio controllers (#6200)
* Initial implementation of the Yamaha YMF-71x (OPL3-SA2/3) audio controllers

* Give the Intel AN430TX its onboard YMF-715

* Forgotten change to snd_sb_dsp.c

* Disable logging, code cleanup

* Use 32K default SB DSP DMA buffer globally and remove the Yamaha subtype

* Hook up master volume control to the OPL3 as well

* Use custom CD audio filter to apply master volume

* Initial implementation of the OPL3-SA3 bass/treble controls

* Improve CD audio volume filter

* Implement the power management registers

* Move master volume recalc to its own function and update on register write

* Correct YMF-719 PnP ROM filename

* Cleanup
2025-09-21 00:32:11 -04:00
RichardG867
cfa00e9e55 Add a couple more cast macros 2025-09-20 11:20:33 -03:00
RichardG867
80ebd5a92e Add integer casting macros 2025-09-19 20:09:14 -03:00
RichardG867
13d5de4e7b ROM file check optimizations and cleanups 2025-09-19 17:51:01 -03:00
Cacodemon345
fdbf4a066b Introduce plat_file_check and use it for ROM existence checking 2025-09-20 00:30:29 +06:00
pixel-jupiter
4583092751 Merge branch 'master' into tandy-shake 2025-09-19 15:15:03 +03:00
pixel-jupiter
bea5a6ff1b Fix border rendering issues, add boolean type support, and improve variable/function naming 2025-09-17 10:16:56 +03:00
Verloren50000
4735423f82 machine.h: BIOS Selector for Micronics M7S-Hi added. 2025-09-16 14:24:28 +08:00
TC1995
c3a6e826b4 S3 928 and icd2061 mode rework (September 15th, 2025)
The rework resolves around implementing the clock multiplier and multiplexing rate of the bt485 ramdac alongside existing additional flags for eventual fixes (like cr31 bit 1) as well as the true color bypass (for 16-bit and true color modes). These, together, allow proper rendering of the generic VESA S3 drivers alongside non-VESA ELSA OEM drivers on various guests.
2025-09-15 17:48:24 +02:00
OBattler
110fe81643 Merge branch 'master' of https://github.com/86Box/86Box 2025-09-14 23:30:51 +02:00
OBattler
da398832c4 CUBX: Implement CMD-648 disabling via ACPI GPIO, fixes #6169. 2025-09-14 23:30:40 +02:00
win2kgamer
4351fd32dd Merge branch '86Box:master' into ymf701 2025-09-14 11:23:00 -05:00
starfrost013
a44ad7e776 Remove 32-bit core dynarec 2025-09-14 15:50:01 +01:00
starfrost013
02b0960148 A few minor further i386 removals 2025-09-14 11:01:34 +01:00
win2kgamer
7983f499a7 Resolve merge conflict 2025-09-13 22:24:02 -05:00
win2kgamer
fef13a41dd Remove now-unnecessary is_opl3sa AD1848 mixer hack 2025-09-13 22:16:05 -05:00
starfrost013
57ae731e22 Goodbye, 32-bit 2025-09-14 01:32:41 +01:00
Miran Grča
2ded1388f6 Merge pull request #6157 from Verloren50000/master
Add the Packard Bell Tacoma, the MSI MS-6119 and the Viglen Vig69M ROMs!
2025-09-14 01:55:31 +02:00
OBattler
d08b21b34a Some machine ordering fixes (and a 286 machine had the wrong chipset displayed). 2025-09-13 23:20:54 +02:00
OBattler
fcf236ff7e Add the selection of the last BIOS versio of ABIT BX6. 2025-09-13 23:09:24 +02:00
RichardG867
25ee59d98c Fix internal name for Multitech PC-900 2025-09-13 16:32:43 -03:00
Alexander Babikov
6f99d565e1 Manager: Pass certain command-line params to VMs 2025-09-13 23:45:31 +05:00
Verloren50000
20e25aa718 Configuration is complete for MSI MS-6119. 2025-09-13 08:48:00 +08:00
Verloren50000
b514a72bd6 machine.h: lgibmx76 & tacoma --> ms6119 2025-09-13 08:24:56 +08:00
pixel-jupiter
3bd879bf3c Refactor calibration system
- Replace frame-based calibration system with timer-based approach
- Replace fixed scaling constants with dynamic video mode-aware calculations
- Reduce unnecessary vid_update_display_offset() calls by filtering registers
- Introduce dynamic horizontal/vertical scaling calculations
- Update rendering pipeline to use dynamic display parameters
2025-09-12 16:25:55 +03:00
Verloren50000
2123f7d8f3 Add Packard Bell Tacoma machine definition. 2025-09-12 18:55:31 +08:00
Alexander Babikov
14cf9ee80b AD1848: Extend ad1848_filter_aux2 to any channel 2025-09-11 18:46:24 +05:00
Alexander Babikov
a59eb526ed AD1848: Make CD audio input designated per-card
Fixes CD audio mixer not working for GUS MAX
2025-09-11 18:46:23 +05:00
Alexander Babikov
cb96d4e1bc Add the Gravis UltraSound revision 3.7
Implement the ICS-2101 mixer chip that it has
2025-09-11 18:46:22 +05:00
Alexander Babikov
eec9b52151 GUS: Add the UltraSound ACE 2025-09-11 18:46:21 +05:00
Jasmine Iwanek
af007b12e7 path_get_basename helper function 2025-09-09 19:57:47 -04:00