Skip to content

Conversation

@Domppari
Copy link
Contributor

@Domppari Domppari commented Nov 27, 2025

Summary

For more quality and real like FDD samples, this PR will implement per seek samples. Each seek 1...79....1 will have individually recorded sample. Tested with AwardBIOS, IBM PS/1, PS/2, PCJr, IBM XT and AT system.

Fixed issue, where changing the FDD audio selection during 86box VM running did not load new profile samples.

Changed FDD audio selection to set to None and disabled when no drive selection is set.

80 track audio profiles are selectable for any 80 track drives, regardless of their physical size (5.25 and 3.5 drives)
40 track audio profiles are selectable for any 40 track drives.

Note: FDD audio samples and configuration added to assets/sounds/fdd and can be removed from ROM set. PR done for it.

Checklist

Note: Not "required" change in ROM set, but the samples can be removed from the ROM set - as they're no longer used from there.

References

Instructions needed for others to be able to contribute own FDD sample sets / profiles.

Toni Riikonen and others added 30 commits September 6, 2025 17:35
Updated README to reflect the new project name and added details about the Immersive86Box features and future plans.
Added instructions for audio emulation installation.
…e 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.
DISABLE_FDD_AUDIO definition added, to disable the feature via cmake/build.
…ill 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.
@OBattler
Copy link
Member

Two things:

  1. What about tracks 41-43/81-85? At least some real drives can seek there ansd 86Box supports that (though we need an option to limit that);
  2. Perhaps the samples should be moved out of the ROM set, though that would need a new loading function akin to romfopen.

@Domppari
Copy link
Contributor Author

Domppari commented Nov 27, 2025

Two things:

  1. What about tracks 41-43/81-85? At least some real drives can seek there ansd 86Box supports that (though we need an option to limit that);
  2. Perhaps the samples should be moved out of the ROM set, though that would need a new loading function akin to romfopen.

We don't have samples for track seeks above the normal range. There might be a way to force that with own SW and own hardware, but for e.g. YouTube recordings, the best option would probably be to just use the 79/39 track samples for any seeks above that. Typically user wouldn't even notice the difference. Current implementation clamps the seek track audio to 79 or 39 depending on the drive - so if the drive would seek from 0 to 83, it would playback 79 track seek up sample.

For the ROM set, whatever suits you best? I don't mind where we want to keep the samples. Anything works for me.

@OBattler
Copy link
Member

Put the samples into assets/sounds/fdd. You use the assets folder the same as the roms folder, with the new asset_fopen() function, so these would be asset_fopen("sounds/fdd/filename.wav", "rb") basically. And PR them to the new assets repository instead of the ROM's one.

@Domppari
Copy link
Contributor Author

Put the samples into assets/sounds/fdd. You use the assets folder the same as the roms folder, with the new asset_fopen() function, so these would be asset_fopen("sounds/fdd/filename.wav", "rb") basically. And PR them to the new assets repository instead of the ROM's one.

Yes. I closed the roms PR. I'll add the samples and the profiles configuration files to 86box assets folder and open from there, I'll update this PR and create another PR for the roms to clear any samples / cfg's from there.

Toni Riikonen added 3 commits November 28, 2025 22:19
…ts/sounds/fdd

Updated configuration and sample loading from assets subfolder.
Update CMakeLists.txt to include assets-folder in the build and install.
@OBattler
Copy link
Member

Assets go to the assets repository: https://github.com/86Box/assets , not here.

@OBattler
Copy link
Member

Also, please use sub-folders for each drive/set of .WAV files instead of having everything in a single folder.

@Domppari
Copy link
Contributor Author

Ah yes. Misunderstood. I’ll make the changes this evening.

@Domppari
Copy link
Contributor Author

Assets PR ready, code changes for this PR still required.

@OBattler
Copy link
Member

Assets PR merged, thanks! Will merge this one when it's ready.

Toni Riikonen added 2 commits November 29, 2025 22:54
…unction.

src/CMakeLists.txt rollbacked to original, no assets copying.
Fixed assets infra function to check for "assets/" - 7 characters, not 5 (as in "roms/"
@OBattler OBattler merged commit a9a86e0 into 86Box:master Nov 29, 2025
45 checks passed
@Domppari Domppari deleted the feature/separate_samples_for_each_fdd_track_seek branch November 30, 2025 10:27
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.

2 participants