Skip to content

Commit 5eb69bb

Browse files
committed
fix loading CDs with spaces in their name
1 parent a73f61c commit 5eb69bb

File tree

1 file changed

+10
-10
lines changed
  • src/BizHawk.Emulation.Cores/Computers/DOS

1 file changed

+10
-10
lines changed

src/BizHawk.Emulation.Cores/Computers/DOS/DOSBox.cs

+10-10
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public DOSBox(CoreLoadParameters<object, SyncSettings> lp)
118118
for (var discIdx = 0; discIdx < _discAssets.Count; discIdx++)
119119
{
120120
// Creating file name to pass to dosbox
121-
var cdRomFileName = _discAssets[discIdx].DiscName + ".cdrom";
121+
var cdRomFileName = $"{FileNames.CD}{discIdx}.cdrom";
122122

123123
// Getting disc data structure
124124
var CDDataStruct = GetCDDataStruct(_discAssets[discIdx].DiscData);
@@ -192,7 +192,7 @@ public DOSBox(CoreLoadParameters<object, SyncSettings> lp)
192192
string floppyMountLine = "imgmount a ";
193193
foreach (var file in _floppyDiskImageFiles)
194194
{
195-
string floppyNewName = FileNames.FD + _floppyDiskCount.ToString() + Path.GetExtension(file.RomPath);
195+
string floppyNewName = $"{FileNames.FD}{_floppyDiskCount}{Path.GetExtension(file.RomPath)}";
196196
_exe.AddReadonlyFile(file.FileData, floppyNewName);
197197
floppyMountLine += floppyNewName + " ";
198198
_floppyDiskCount++;
@@ -254,8 +254,8 @@ public DOSBox(CoreLoadParameters<object, SyncSettings> lp)
254254
configData = configData.Concat(file.FileData);
255255
}
256256

257-
_exe.AddReadonlyFile(configData.ToArray(), FileNames.DOSBOX_CONF);
258-
Console.WriteLine("Configuration: {0}", System.Text.Encoding.Default.GetString(configData.ToArray()));
257+
_exe.AddReadonlyFile(configData.ToArray(), FileNames.Config);
258+
Console.WriteLine($"Configuration: {System.Text.Encoding.Default.GetString(configData.ToArray())}");
259259

260260
////////////// Initializing Core
261261
if (!_libDOSBox.Init(new LibDOSBox.InitSettings()
@@ -272,9 +272,9 @@ public DOSBox(CoreLoadParameters<object, SyncSettings> lp)
272272
// Setting framerate, if forced; otherwise, use the default.
273273
// The default is necessary because DOSBox does not populate framerate value on init. Only after the first frame run
274274
if (_syncSettings.forceFPSNumerator > 0 && _syncSettings.forceFPSDenominator > 0)
275-
updateFramerate(_syncSettings.forceFPSNumerator, _syncSettings.forceFPSDenominator);
275+
UpdateFramerate(_syncSettings.forceFPSNumerator, _syncSettings.forceFPSDenominator);
276276
else
277-
updateFramerate(LibDOSBox.DEFAULT_FRAMERATE_NUMERATOR_DOS, LibDOSBox.DEFAULT_FRAMERATE_DENOMINATOR_DOS);
277+
UpdateFramerate(LibDOSBox.DEFAULT_FRAMERATE_NUMERATOR_DOS, LibDOSBox.DEFAULT_FRAMERATE_DENOMINATOR_DOS);
278278

279279

280280
PostInit();
@@ -452,7 +452,7 @@ protected override LibWaterboxCore.FrameInfo FrameAdvancePrep(IController contro
452452
return fi;
453453
}
454454

455-
private void updateFramerate(int numerator, int denominator)
455+
private void UpdateFramerate(int numerator, int denominator)
456456
{
457457
VsyncNumerator = numerator;
458458
VsyncDenominator = denominator;
@@ -484,7 +484,7 @@ protected override void FrameAdvancePost()
484484
if (currentRefreshRateNumerator != newRefreshRateNumerator || currentRefreshRateDenominator != newRefreshRateDenominator)
485485
if (_syncSettings.forceFPSNumerator == 0 || _syncSettings.forceFPSDenominator == 0)
486486
if (newRefreshRateNumerator > 0 && newRefreshRateDenominator > 0)
487-
updateFramerate(newRefreshRateNumerator, newRefreshRateDenominator);
487+
UpdateFramerate(newRefreshRateNumerator, newRefreshRateDenominator);
488488
}
489489

490490
protected override void SaveStateBinaryInternal(BinaryWriter writer)
@@ -524,12 +524,12 @@ protected override void LoadStateBinaryInternal(BinaryReader reader)
524524

525525
// Updating it now, if different
526526
if (newVsyncNumerator != VsyncNumerator || newVsyncDenominator != VsyncDenominator)
527-
updateFramerate(newVsyncNumerator, newVsyncDenominator);
527+
UpdateFramerate(newVsyncNumerator, newVsyncDenominator);
528528
}
529529

530530
private static class FileNames
531531
{
532-
public const string DOSBOX_CONF = "dosbox-x.conf";
532+
public const string Config = "dosbox-x.conf";
533533
public const string FD = "FloppyDisk";
534534
public const string CD = "CompactDisk";
535535
public const string WHD = "__WritableHardDiskDrive";

0 commit comments

Comments
 (0)