Commit Graph

326 Commits

Author SHA1 Message Date
OBattler
375033c5b0 FDD Audio: Remove the exe_path extern. 2025-10-02 05:13:21 +02:00
OBattler
2a41ed657d Introduce a way to open a configuration file from the ROMs directory using rom_fopen and switch the FDD Audio configuration reader to it. 2025-10-01 23:21:58 +02:00
Toni Riikonen
0beb22722a Configurable FDD sound emulation timings (#6263)
* 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 merge issue

* Fixed readme to include only Mitsumi samples under CC-BY license

* Fixes merge problem

* Fixes #6220: OS/2 Warp 3.0 install disk issue and NT 3.1 floppy disk issues. Changed the fdc->stat bit to 0x10 which states fdc busy. Previous implementation with seek time 0, set the ready flag 0x80 immediadely - which was correct for that time, but now as the drive is busy during seek, the value should 0x10. Implemented a backup for fdd commands during fdd seek to be processes after the seek is completed.

* Fixed FDD reset

* Floppy disk audio now gets settings from fdd_audio_profiles.cfg stored in roms/floppy -directory. Floppy settings audio seledtions are also populated by the settings from this config.

* Changed samples per track, not seek_duration_per_track

* Removed commented code.
Returned total_track in configration

* Fixed CodeQL errors

---------

Co-authored-by: Toni Riikonen <domppari@hotmail.com>
2025-10-01 21:07:23 +02:00
OBattler
55af553ac4 Fix floppy drive behavior, fixes floppy drives in turbo mode on some machines. 2025-09-29 20:19:51 +02:00
OBattler
4d35eee630 FDD: When a drive is set to turbo mode, keep it silent and bring back the fast seeks. 2025-09-29 00:15:40 +02:00
OBattler
fe0277c031 FDC: Fix a warning and the incorrect status flags. 2025-09-27 13:28:23 +02:00
Toni Riikonen
836f855683 Fixes #6220 floppy disk issues with OS/2 and NT 3.1 systems (#6232)
* 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.

* Fixes merge problem

* Fixes #6220: OS/2 Warp 3.0 install disk issue and NT 3.1 floppy disk issues. Changed the fdc->stat bit to 0x10 which states fdc busy. Previous implementation with seek time 0, set the ready flag 0x80 immediadely - which was correct for that time, but now as the drive is busy during seek, the value should 0x10. Implemented a backup for fdd commands during fdd seek to be processes after the seek is completed.

---------

Co-authored-by: Toni Riikonen <domppari@hotmail.com>
2025-09-27 04:51:38 -04:00
OBattler
4f0cdcad0b FDD Audio: Halve the volume again. 2025-09-22 18:47:16 +02:00
OBattler
c0b7ad4b94 More fixes. 2025-09-22 18:10:45 +02:00
OBattler
3dc819de6e FDD Audio: Fix sound when sound is set to INT16 and halve the volume. 2025-09-22 18:08:27 +02:00
OBattler
151c3d8730 Fixes to the floppy samples work. 2025-09-22 01:30:11 +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
Jasmine Iwanek
3c5190a0db Header cleanups (1/2) 2025-09-21 00:48:38 -04:00
RichardG867
25146643f9 Migrate remaining machine-specific checks from internal name to init function 2025-09-19 19:41:01 -03:00
starfrost013
02b0960148 A few minor further i386 removals 2025-09-14 11:01:34 +01:00
starfrost013
57ae731e22 Goodbye, 32-bit 2025-09-14 01:32:41 +01:00
Jasmine Iwanek
ea7cb1cc55 Some more clang formatting 2025-09-09 19:57:46 -04:00
OBattler
774a2fa951 FDC: Do not attempt to raise the IRQ if it is disabled. 2025-08-09 14:40:27 +02:00
OBattler
87c3765071 SM(S)C FDC73c93x and NSC PC87309 fixes. 2025-08-02 17:44:16 +02:00
Alexander Babikov
8361b8f599 Translation fixes
Change "BIOS Address" -> "BIOS address"

Consistency for "KB" in Xi8088 configuration

Fix incorrect source strings and restore their correct translations
that were lost; apply trivial edits

Fix duplicate strings in the Polish translation
2025-08-01 15:23:48 +05:00
OBattler
437ecbde6c D86F: Always wait for two index pulses on wrong DENSEL and do it in Turbo mode as well, fixes floppies in Windows 95 when booted with a floppy inserted. 2025-07-31 23:37:13 +02:00
OBattler
3ef7f82c78 FDC: Fix DOR FINTR disabling, fixes #5851. 2025-07-31 18:26:27 +02:00
OBattler
9063bbe68b Second and last part of the icon indicator work. 2025-07-23 15:53:34 +02:00
Cacodemon345
6b2e58d3b4 Write-protected indicator (part 1) 2025-07-21 01:20:54 +06:00
usergithub64
8a9ee62993 Fixes for broken translation
Fixes for broken translation
2025-07-14 14:00:59 +03:00
RichardG867
e7d0f153ae Move PS/2 floppy drive type migration to config 2025-07-10 10:42:08 -03:00
OBattler
cbdfa32e65 Reset the FIFO and update its lengths on test mode set/reset, fixes #5702. 2025-06-25 05:42:50 +02:00
usergithub64
23f697782e Fixes for broken translation
Fixes for broken translation
2025-06-10 13:59:15 +03:00
OBattler
a82bb4269f Added the Shottle HOT-433A eSupport BIOS. 2025-06-09 20:36:21 +02:00
Jasmine Iwanek
b71e321236 Assorted cleaning 2025-06-06 21:55:06 -04:00
Miran Grča
50516eb3d2 FDC poll: fix VERIFY opcode. 2025-06-02 10:39:33 +02:00
OBattler
455622492b All the required fixes - the Dell OptiPlex Gn+ now works correctly. 2025-05-21 20:49:54 +02:00
OBattler
76c3ad9868 Removed an excess logging line. 2025-05-18 08:18:18 +02:00
OBattler
7b9b2bc10d Some FDC, SM(S)C FDC37C66x, and VLSI VL82C480 changes. 2025-05-18 08:14:46 +02:00
OBattler
1eb4355d76 FDC: Remove an excess commented out line. 2025-05-17 03:16:52 +02:00
OBattler
d6338e42cc Significantly speed up floppy turbo mode when the FDC is using DMA. 2025-05-07 23:08:26 +02:00
OBattler
018bbfae43 SM(S)C FDC37C93x Super I/O chip rewrite, add the Acer V62x, and un-dev-branch the V-Tech Laser XT machines. 2025-05-05 05:11:55 +02:00
Cacodemon345
7901842c42 Write indicator for floppy drives
Write indicator is also properly contrasted on 5.25 floppy drives
2025-04-22 22:08:52 +06:00
Miran Grča
9592ac8904 Merge pull request #5422 from Cacodemon345/qt-hide-fdd-menus
Make sure that floppy icons and options do not appear if there's no floppy controller available
2025-04-01 21:26:17 +02:00
Cacodemon345
5e61b78b78 Make sure that floppy icons and options do not appear if there's no floppy controller available 2025-04-02 01:10:21 +06:00
OBattler
3e7f8a18de FDC: Initialize DRVRATE to 1 on the OKI IF386AX so that 1.25 MB floppies can be read on a 3.5" 3-mode drive. 2025-04-01 09:18:12 +02:00
OBattler
1783da99a4 86F internal handler: make the common handlers function initialize the floppy density hole return function, fixes 3-mode (dual-RPM) 3.5" drives. 2025-04-01 08:48:01 +02:00
OBattler
bc2fa4084a Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-03-16 17:26:51 +01:00
MaxwellS04
a1996e7955 Readd XT and AT floppy controllers
They got removed during the addition of CompatiCard
2025-03-15 01:09:41 +07:00
OBattler
a386bd015f Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-03-10 16:57:56 +01:00
Jasmine Iwanek
9e95e1e475 Move ROM write functions to rom.c 2025-03-10 05:26:35 -04:00
OBattler
2d95396951 Merge remote-tracking branch 'origin/master' into cdrom_changes 2025-02-19 11:22:56 +01:00
Akamaki
2c78e7bb2f added comments 2025-02-18 22:46:18 +09:00
Akamaki
5314f519ad cleanup format 2025-02-17 00:11:33 +09:00
Akamaki
59c3bb794f revert wrapping changed in recent edits 2025-02-15 19:03:42 +09:00