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

Add larger Hard Disk sizes for OS install #280

Closed
PoloniumRain opened this issue Jun 23, 2022 · 15 comments
Closed

Add larger Hard Disk sizes for OS install #280

PoloniumRain opened this issue Jun 23, 2022 · 15 comments

Comments

@PoloniumRain
Copy link
Contributor

This is such an excellent feature but the largest Hard Disk size for OS install is only 1GB, so with just Windows 98 and a single large game installed (like Unreal Gold which is over 500MB) most of that space is already gone. For comparison, when the 3dfx Voodoo came out HDD's were around 10GB, and 20GB+ was common for Windows 98 PC's. So could some much larger sizes be added?

For now my workaround is to get the disk image that DBP creates in the System folder and use UltraISO to increase the size to 2GB, which is the size limit for this software. 2GB isn't great, but Windows 98 will boot fine and recognise the increased space. If anyone knows of a better way to do this i'd love to hear it.

@schellingb
Copy link
Owner

The idea of the limited space on C: drive was to promote the use of the D; drive. For every loaded content, there is 1 GB of space on the D: drive, so games can be installed there.

But I understand that especially for this feature different users will end up using it in different ways and offering creation of bigger HD images should certainly be an option. There's just 2 boundaries that start to crop up beyond 1 GB and I didn't want to spend too much time thinking/testing. Starting around 2 GB only FAT32 can be used as a filesystem and thus the first few versions of Windows 95 won't work. Beyond 4GB the image file might have issues on certain devices for being too large.

@PoloniumRain
Copy link
Contributor Author

PoloniumRain commented Jun 23, 2022

Ah right! I looked at the documentation but it didn't mention there being 1GB for the D: drive. So the C: drive space isn't a big problem then, but yeah it would definitely be nice to have larger sizes available at some point.

BTW when a game is installed to D: is it saved somewhere within the RA directory?

@RaouleMenard
Copy link

The idea of the limited space on C: drive was to promote the use of the D; drive. For every loaded content, there is 1 GB of space on the D: drive, so games can be installed there.

Can you please add an option for larger D drives even if it would switch filesystem?

I had a game that required more than 1GB for installation from DVD.

@ckeisc
Copy link

ckeisc commented Jun 24, 2022

Ah right! I looked at the documentation but it didn't mention there being 1GB for the D: drive. So the C: drive space isn't a big problem then, but yeah it would definitely be nice to have larger sizes available at some point.

BTW when a game is installed to D: is it saved somewhere within the RA directory?

D drive content is saved in the “saves” folder.

@alondero
Copy link

Is there a way to open the .sav file? I'm trying to find a way to inject a file onto the D: drive without creating a new zip with the file and renaming the sav?

@PoloniumRain
Copy link
Contributor Author

Is there a way to open the .sav file? I'm trying to find a way to inject a file onto the D: drive without creating a new zip with the file and renaming the sav?

I've found that if you open a .ZIP with DOSBox-Pure, then D: drive will only show files inside that zip. But... If you open a .EXE file with DOSBox-Pure and then boot in to the OS, drive D will now show all the files that are inside the same folder as that .EXE file. So if games/programs/files are in that folder, they will now all appear within drive D. Maybe there's an easier way to do this but i don't know of it...

@schellingb
Copy link
Owner

The SAV file is not readable outside of DOSBox Pure. The way the D: drive works is, DOSBox Pure creates a fake harddrive with one FAT16 or FAT32 partition that contains all the files in the loaded content and 1GB of free space. Any modification made to that fake harddrive are stored into the .SAV file. It could just be parts of a file that have changed, it could be new files added or removed, it could even be formatting of the drive with a different file system. Any change the OS makes to the fake D: drive is stored in there. DOSBox Pure has no idea really what these changes are.

To put files into it, load a different ZIP or folder (RetroArch can't really load folders so you can create an empty .BAT file in the folder and load that). Boot into the OS, copy the files to the C: drive, then shutdown and load your ZIP to move the files from C: to that D:.

If you have a tool like ImDisk Virtual Disk (free) or WinImage (paid) then you can simplify things by opening the C: harddisk image directly and copying the files onto it. Make sure to close the IMG file after editing it (or remove the drive in ImDisk) before booting it in DOSBox.

Another option could be to create an ISO file with a tool like UltraISO and mount that with the 'Disc Control' menu of RetroArch while the OS is running with your ZIP based D: drive.

Taking files out of the C: drive is as easy as opening <YOUR_OS_IMAGE>.img in 7-zip.

Either way, I'm happy to hear suggestions for simplifying things. It would be possible to have more drives, in theory the core could load one ZIP or folder as D: and something else as E: or F:. But I don't know how a user could select multiple sources.

@alondero
Copy link

Not sure what Win 98s network drive support would be like, but if we could access the host drives somehow from within Dosbox would be amazing.

@PoloniumRain
Copy link
Contributor Author

PoloniumRain commented Jun 26, 2022

Would it be possible to add the ability to select and mount an entire folder as the D: drive from within the Start Menu, and then run the installed OS? Or have a core option to select a folder? I doubt a whole drive could be used because Windows 9x doesn't support drives larger than 137GB.

And this idea might be impossible to do, and i very much doubt RA has this functionality either, but being able to copy and paste or drag and drop files into the OS would be great. Similar to how it works with a VMware virtual machine. Even just being able to copy paste text would be useful for all the keys that are needed to install Windows/software/games. Can't see this one being possible though.

RetroArch can't really load folders so you can create an empty .BAT file in the folder and load that

This doesn't seem to work with Auto Start. So instead i created an empty text file, renamed it to empty.exe, and now Auto Start works. EDIT: Actually it doesn't work! Is there any way to get Auto Start working with an empty .BAT or .EXE?

@PoloniumRain
Copy link
Contributor Author

I see you've increased the install size to 2GB in 0.9.6 :)

But the more games and software i try out the more problems i'm finding when installing them to the D: drive. For example, Quake 3 doesn't seem to work when installed on D: and neither does 3DMark 99. Some other people are reporting similar problems.

Starting around 2 GB only FAT32 can be used as a filesystem and thus the first few versions of Windows 95 won't work.

Windows 3.1 as well. But maybe you could have DOSBox-Pure detect if a Windows 95 or 98 disc is being used for install. It could just look for '95' and '98' in the file name (similar to how DBP already detects the year for DOS games). If it detects either of these OS's it can show a menu selection for FAT16 and FAT32. If FAT32 is selected it can then go to the 'Hard Disk size for install' menu screen but now it will have 2GB+ sizes.

At the bottom of the FAT16/32 selection screen it would be helpful to have something like:

"FAT32 offers larger than 2GB hard disk sizes."

And when a Windows 95 disc is detected:

"NOTE: Early versions of Windows 95 do not support FAT32".

@schellingb
Copy link
Owner

There's now a selection for up to 64GB in the just released version 0.9.7.
Although writing a 64GB image will probably hang the core for quite a while because of how big of a file it will generate. I have not tried anything larger than 8GB but you're welcome :-)

@PoloniumRain
Copy link
Contributor Author

I just installed Windows 98 SE on 8, 20 and 64GB sizes, and tried a couple of games. Everything works great! :)

And yeah, 64GB did hang for over 1 minute lol. Considering that this is on a 2TB NVMe PCIe gen 4 drive, which is practically the fastest consumer level storage option currently available, i'd imagine that 64GB could easily take over 10 minutes on some other devices. 4GB hangs for exactly 5 seconds on my drive, but even that could still be quite a bit longer on some devices.

So how about doing something like:

  1. Select any FAT32 size.
  2. Immediately go to a new screen that says something along the lines of:
    "The OS image file is being created. This process can take several seconds to several minutes depending on your device".
  3. Start creating the image.

@PoloniumRain
Copy link
Contributor Author

Found a problem with the FAT32 OS image files not appearing in the 'Run installed operating system' menu.

Only the FAT16 images are being displayed. I've already tried Audio Options> MIDI Output > Scan, but it doesn't detect them either. And i've also tried a clean RA install to confirm this.

To recreate (the quick way):

If you already have FAT32 images then just download a separate RA, then copy over any FAT16 and FAT32 image files in to the System folder. Only the FAT16 images will show up.

To recreate (the long way):

  1. Install Windows 98 SE using any FAT32 size (i've only tried this with Windows 98 images).
  2. Shut down Windows 98 and close the core or RA.
  3. Run the core again, and now any FAT32 images will no longer show up in the installed OS menu.

@schellingb
Copy link
Owner

Oh, there was a silly 2GB limitation in there somewhere (using a 32bit file access method). Big files are hard 😅

Thank you for the quick test and report!! I just sneakily replaced the downloads with an updated version and pushed the fix to the RetroArch core updater as well. Still same version number.

@PoloniumRain
Copy link
Contributor Author

Lol just tried the fix it works well :) I'll leave this open for a couple of days incase anyone else wants to leave feedback.

And thanks for adding this feature so quickly!

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

No branches or pull requests

5 participants