caiiiycuk / js-dos

The best API for running dos programs in browser
https://js-dos.com
1k stars 123 forks source link

Issue upon extracting bundle over 2gb #300

Closed imneckro closed 1 week ago

imneckro commented 4 months ago

Hello! Im having below issue upon extracting bundle over 2gb: image

How to bypass this limit?

Is by any chance the node version that this is build, a 32-bit one instead of 64-bit?

Many thanks in advance!

caiiiycuk commented 4 months ago

Hi, do you run it in Node or a browser? This limitation comes from the browser itself, not from js-dos. Different browsers have different memory limits, which usually depend on the available memory of the PC.

I am curious to know why you need so big bundle? Also in v8 you can directly send the files to emulator instead of bundle, maybe this will work better in your case.

imneckro commented 4 months ago

Hello @caiiiycuk! Thanks a lot for your reply. I'm running through chrome on a 32gb ram windows pc. I'm imgmounting an hdd win95 (400mb) image and a secondary hdd (2gb) image with games. As long as my combination didn't go over 2gb everything worked correctly. I really haven't checked out how to use v8. Any ideas where to start?

caiiiycuk commented 4 months ago

Yeah, when I realized that it wouldn't be possible to run Windows 98 games using bundles, I started the V8 project. It's still in development but already functional. The idea is to replace the bundle with a network drive, eliminating the need to download large bundles (like 2GB) to start the game. My early tests show that to start Windows 95, only 20-30 MB need to be downloaded. Also, when you run the game, there's no need to download all its resources, just the parts that are needed. Of course, there's a downside: I need to pay for cloud storage to store the network drives. To organize this, I created a new sub-service called make-vm.com, which is part of the js-dos project. It contains network drives and already has a Windows 95 image (I'm currently working on Windows 98), and an empty 2GB FAT image. So, you fork the Windows 95 image and the empty 2GB image, install your games, and play these games in js-dos.

I use this method to run Diablo in the browser; you can also find more detailed instructions here.

Because I pay for the cloud, this service is not free. The pricing model follows:

  1. It's free for every user of js-dos; you can freely run js-dos using any available image on make-vm.com.
  2. For free users, it's read-only - it works normally, but changes in the FS will be lost on restart.
  3. Users with a js-dos premium subscription ($3/month) also have write access and options to fork drives.

The images will never be deleted. For example, if you buy a subscription for 1 month, create all your VM drives, and then stop the subscription, your drives will still be there and accessible.

There are no limits to the number of drives you use.

imneckro commented 4 months ago

@caiiiycuk thanks for your help a lot. But i want to host the entire thing in my own server. Can I do this?

caiiiycuk commented 4 months ago

v8 netdrive is a cloud solution, you can't run it locally. So i recommend to try send files directly to js-dos, at least you can avoid unzipping

guozanhua commented 1 month ago

try send files directly to js-dos, at least you can avoid unzipping

How to send files directly to js-dos emulator in v8?

caiiiycuk commented 1 month ago

try send files directly to js-dos, at least you can avoid unzipping

How to send files directly to js-dos emulator in v8?

https://js-dos.com/run-without-bundle.html