Jump to content

RLoew's non-XMS Ramdisk and related Software


98SE

Recommended Posts


On domenica 18 giugno 2017 at 5:45 AM, dencorso said:

... sure is far easier than finding a true PCI-e USB 2.0 card to test.

Seemingly the Startech PEXUSB4DP can still be found, like:

http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=PEXUSB4DP&_sop=15
 

http://accessories.us.dell.com/sna/productdetail.aspx?c=us&l=en&s=fed&cs=16&sku=a7016982

jaclaz
 

Link to comment
Share on other sites

Back on topic.

First you want all of RAM in one Drive Letter.
Now you want 23 to 25 separate RAMDisks.
Make up your mind. You have asked more support questions than all of my customers combined.
If you want more support, you are going to have to buy something.

You can run code from a RAMDisk just as from a Hard Disk. You cannot run code in the RAMDisk memory itself. It has to be copied to Conventional RAM.

Windows 9x can be run from my RAMDisk. I have a default 8GB RAMDisk just for that purpose. I have a Letter swapper that lets you set the RAMDisk to C:.

I haven't tried Booting an USB Drive and copying to RAMDisk. It should work provided you deal with the USB issue as you have to if you Boot Windowx 9x directly from the USB Key.

Few people would want more than a couple of RAMDisks at a time, so optimizing the footprint for a large array is not useful.

I saw some value in the Dual Mode RAMDisk so I made it. In older systems you can use the 32-Bit RAMDisk. There is no need to use the Dual Mode RAMDisk.

How many people have a need to dynamically allocate and deallocate RAMDisks from DOS?
I don't think anybody have even suggested it. It adds a significant amount of complexity that would impact performance and footprint.

XMS RAMDisks can handle 4GiB in DOS only. In Windows 9x, they compete with the System and File Cache for the 1GiB System Arena space. With minimum File Cache, this limit is somewhere around 500MB.

Multiple methods of entering parameters is not that important. You are just too lazy to convert the size you want into KiB. The minimum possible allocation unit would be 512 Bytes in any case.

Link to comment
Share on other sites

9 hours ago, rloew said:

Back on topic.

First you want all of RAM in one Drive Letter.
Now you want 23 to 25 separate RAMDisks.

Actually it wasn't about just one drive letter.  But the fact your original Ramdisk split the 32-bit and 64-bit locations into two separate memory chunks.  Also the creation using just a single drive letter would be bonus as you can attest.

The 23 to 26 MAX Ramdisks was to do some tests to stretch the limits of your Ramdisk.  Most Ramdisks might be limited to one drive only.  I'll have to do some tests to see if this is true.

Quote

You can run code from a RAMDisk just as from a Hard Disk. You cannot run code in the RAMDisk memory itself. It has to be copied to Conventional RAM.

Obviously I'm talking about storing the DOS or Windows files on the Ramdisk.  The program itself would still use conventional memory to run.  I just only asking if it acted like a hard drive but at RAM speed.  I'm going to assume this is a yes as somehow that confused you in what I was asking.

Quote

Windows 9x can be run from my RAMDisk. I have a default 8GB RAMDisk just for that purpose. I have a Letter swapper that lets you set the RAMDisk to C:.

I haven't tried Booting an USB Drive and copying to RAMDisk. It should work provided you deal with the USB issue as you have to if you Boot Windowx 9x directly from the USB Key.

I only asked this to give other users ideas to make use of your non XMS Ramdrive program.  I haven't tested it but since it's your product you would know if it were capable.  This would be a better solution than using a Hard drive or SSD and could be installed on any modern system via bootable USB method.  The only issue is PS/2 Keyboard or USB keyboard and USB mouse on xHCI ports or if 9X/ME can even run on it.  Once that's solved you would have a complete functional 9X/ME OS running in RAM.

Quote

Few people would want more than a couple of RAMDisks at a time, so optimizing the footprint for a large array is not useful.

I saw some value in the Dual Mode RAMDisk so I made it. In older systems you can use the 32-Bit RAMDisk. There is no need to use the Dual Mode RAMDisk.

So you are saying if you used the Dual Ramdisk file on a 386 or a 32-bit only CPU it would not be able to function or recognize to only use the 32-bit Ramdisk code and memory region?

Quote

How many people have a need to dynamically allocate and deallocate RAMDisks from DOS?
I don't think anybody have even suggested it. It adds a significant amount of complexity that would impact performance and footprint.

Perhaps allocating each possible Ramdrive to start in every consecutive 1GB region per letter would simplify it.

C: Hard drive

If you had D: starting at 4GB 64bit region (1GB) - so removing Ramdrives could only be done at the 64-bit memory region to avoid compatibility issues and also the 32-bit region that is salvageable seems to not be a constant.

E: at 5GB (1GB)

F: at 6GB (1GB)

G: Unallocated 7GB to Max Memory ->

If you deallocated E: (1GB) and reallocated a new Ramdrive it would start at the next unallocated 1GB location in this case 7GB rather than trying to pinpoint or locate space to use in between Ramdrives or reuse the original 5GB->6GB location that E: originally used.  Less complexity for you and needing the program to try and track down to reallocate freed memory could be a nightmare.  Eventually you would have to reboot using this method when you reached the memory limit since you're not reusing the freed up memory.  It might be more efficient if you broke it down to smaller than 1GB regions but the math would probably kill you so I think this method would be easier to code and a smaller footprint.  Or maybe deallocating and reallocating freed space could only be used in 1GB or 1GB incremental sizes only to simplify the process.

If you had deallocated E: (1GB) and F: (1GB) you can reuse the freed 2GB or create a 2GB or greater Ramdrive since no other driver letters have allocated any memory past the 7GB region.  So deallocation and reallocation of freed memory could only work towards the end of the Ramdrive first.

But as for the XXMS RLOEW/u option I proposed to Deallocate all the Ramdrives together to a clean slate I don't see how that would be difficult to do and you could start over from scratch to reallocate whatever Ramdrive sizes you wanted.

Quote

XMS RAMDisks can handle 4GiB in DOS only. In Windows 9x, they compete with the System and File Cache for the 1GiB System Arena space. With minimum File Cache, this limit is somewhere around 500MB.

To maximize compatibility for W9X/ME and DOS programs.  Would it better for your 64-bit Ramdisk or Dual Ramdisk to just only deal with the 4GB and greater memory region only since most other XMS, EMS, and alternate Ramdisks can only make use of the first 4GiB region?  I'm unsure where this 1GiB System Arena space resides within the 0-4GiB region.  Since you know this limit better you and had stated previously that WinME got close to 2GiB 1.9XGiB in a previous comment.  If Win9X/ME never touches memory above the 2GiB region then I can see adding those unused 2GiB in the 2GiB to 4GiB region into the Dual Ramdisk program for memory allocation.  Again I'm unsure and haven't tested all DOS Ramdisks or Windows 9X/ME that weren't created by you to know their limits of how far they are capable of allocating memory to prevent clashing with your non XMS Ramdisk.  Then you also mentioned video cards needing MMIO space in the 3GiB to 4GiB region.  Maximum graphics card was probably 512MB that could function in 9X/ME.  So is the real free allocatable memory in the 32-bit region only 512MB?

Quote

Multiple methods of entering parameters is not that important. You are just too lazy to convert the size you want into KiB. The minimum possible allocation unit would be 512 Bytes in any case.

Actually it takes more work to use Bytes than KiB.  Bytes was the standard method of expressing the memory amount in DOS as far as I can remember.  But thanks for acknowledging the 512 Bytes is the minimum size Ramdisk that could be created per drive letter.  I'm sure this might be as low or lower than other comparable ones.

Quote

Make up your mind. You have asked more support questions than all of my customers combined.
If you want more support, you are going to have to buy something.

I actually have bought your main product before and promoted it several times on other sites otherwise I wouldn't be here.  And often times you get a lot of heat for evening mentioning 9X/ME let alone XP.  I didn't buy it because I really needed it since I had older equipment that could do the job without patching but I did it to support your efforts.  But now I'm starting to see the death of 9X/ME on modern systems and your sales will go down so I'm only throwing some possible ideas that could make some of your current tools better or help suggest ideas to modify them to be improved or make their functionality more versatile.  And those who find the additional tweaks useful will purchase your program as a benefit.  Once you're gone there won't be any one with the possible know how to modify your programs even with the source code in hand assuming someone would be willing to go through all the trouble to learn Assembly, C++ or other machine languages and recompile, debug, and test everything.  By then it would be pointless and too late or futile.  If you're okay with it dying off or sales dropping I'm not here to force you to do anything and let things be.  If it's not about money and it's the niche community then these programs will still benefit a refresh or update if one day you decide to give it up and go on a vacation and retire from all of this.  But from the DOS perspective even if the 9X/ME dies off your DOS programs would still live on assuming Intel or AMD doesn't do something drastic to kill off conventional memory or break your non XMS Ramdrive from being accessible due to some Chipset refresh.

On the Z170 the Himem.Sys compatibility break, Format with Sys broken, the PCI slot coffin, and the eHCI removal are just the start of what's coming and only a matter of time before 9X/ME won't be usable from a gaming perspective where I assume most of your customers are buying your patches for since all other non gaming 9X/ME software runs fine in XP but DOS programs should outlast them all.  Most won't get 9X/ME to install to even use your patches if it can't format a bootable partition.  As for AMD AM4 I have no clue as to compatibility with your DOS and 9X/ME programs as no one here owns one to do any real testing to confirm so the AMD coffin status is unknown.

Edited by 98SE
Link to comment
Share on other sites

20 hours ago, ragnargd said:

There are attempts at 98SE running inside DOSBox with VooDoo drivers to have DX.

I did not have the time to test this out yet (I will someday in the future), but even if it works, there will be issues, because VoDoo isn't exactly The Latest(tm) for W9x as well.

Still, this DOSBox-thingie is the most promising project known to me.

DosBox-thingie?  is this some variant of DosBOX?

Quote

Going for a DX(9.0c)-enabled driver that hands through the API from a W9x-VM to a host is a non-trivial matter.

Even for XP, which is understood much better by people like the guys from VMWare, this just barely works within VMWare workstation after years. The same with qemu on linux.

That's not the biggest hurdle.  It's getting a PCIe video card that didn't have 9X/ME driver support to function in 9X/ME VM without proper drivers it's as good as the standard VGA display driver which is worse than the BearWindows driver.  This is why finding a way to either extract and emulate a 7950 GX2 using your own video card is the next best thing.  The processing power of even a low end graphics card or iGPU can more than adequately handle the emulation.

Actually the VMWare people are inept when it comes to backward compatibility.  The best earliest competitors were Connectix Virtual PC which actually included a bootable copy of WinME and even IBM PC DOS 7, it included Sound Blaster sound card emulation, and emulated one of those common VGA video cards like a Tseng or S3 Virge and I think that card even had Windows 3.1 and 9X drivers that functioned inside the VM.  But had Connectix "NOT" been bought out by the grubby hands of Microsoft I'm sure today we would have a clear 9X/ME VM that could be modified to emulate a Voodoo 5 5500 and a top end 7950 GX2.  Sadly many great companies were absorbed by Microsoft and died a horrible death.  Today's Microsoft Virtual PC is a joke in comparison.  The sad truth is money does things to innovators with good ideas.

Quote

R. Loew *might* be able to do this, but why should he (or just anyone) even bother? This is REALLY much work, and i don't think whoever did this would ever get enough money from it to justify this enormous amount of time. Again: We are speaking about years here.

But in case: Just ask him...

The same reason why anyone created DosBox.  Why did they bother?  They didn't profit off it.  They wanted to prevent DOS from dying and not just DOS alone but the Sound Blaster and MIDI interface for starters to fully replicate as close as possible a working DOS machine from the 386/486 era.  There are still some syntax issues that are incorrect that i noticed but functionally it's a good alternative on a modern machine.  Would Loew do it?  I can't answer that as I don't really know how much free time or if he has the skillset to pull it off by himself.  He'd need a team like DosBox had.  And if the end goal is keeping 9X/ME alive maybe he would volunteer some of his knowledge.  If it's all about money then yes I agree maybe it won't happen.  As for how long it would really take only he could make a proper estimate.  He reads this thread so if he said 5 to 10 years solo then most likely he wouldn't do it.  If he had a team and it would take 1-3 years I'm sure it would be feasible.

Edited by 98SE
Link to comment
Share on other sites

Well, Windows 9x has been run in RAMdisk since YEARS (using Franck Uberto's XMS ramdisk, usually) and now (last few years) that we have the great flexibility of grub4dos, there are no problems with initiating the booting from a USB device.

As a matter of fact, most probably it would be relatively easy for Rloew to provide a "hooking" mechanism similar to the one Firadisk or Winvblock use.

Of course the initial copying of files to ramdisk takes anyway some time, so the size of the "system" volume backing file should be chosen with some common sense.

jaclaz


 

Link to comment
Share on other sites

17 hours ago, jaclaz said:

You don't need to hunt down that model.  It's the chipset that's important.  Plenty of those found cheaper if you look carefully jaclaz.

The PC'em looks promising.

It has AdLib Gold emulation.

Unfortunately, the graphics cards are quite low end in performance.  No nVidia 7950 GX2 or Voodoo 5 5500 emulation yet.  Missing Sound Blaster AWE 64 Gold Emulation.  I got a few of these in storage including a few sealed ones.

If there is a way to extract the chip Roms I'd help her out.  I got a ton of video cards dating back from early 80s including some Monochrome ones which are rare.

But props that Sarah Walker if that's a real woman to do such amazing work.  I recall seeing this as Version 0.1 and that was 2007.  How fast a decade has flown by now at version 12.  I might test it out now just to see how it functions.  When I can set some time for it I will start with V0.1 and move all the way up to V12 to see how it progressed over the decade of tweaking.

:w00t:

Edited by 98SE
Link to comment
Share on other sites

1 hour ago, jaclaz said:

Well, Windows 9x has been run in RAMdisk since YEARS (using Franck Uberto's XMS ramdisk, usually) and now (last few years) that we have the great flexibility of grub4dos, there are no problems with initiating the booting from a USB device.

Does this include xHCI?

I would only keep it to 9X DOS no Linux.

Regarding just regular USB 2.0 9x unzipped to Ramdisk to run.  Any special Windows files need patching to make this work?  I remember it crashed.

Link to comment
Share on other sites

xHCI ? You mean USB 3+?

As long as BIOS provides access to it/booting from it, sure (for the booting, NOT for keyboard/mouse AFAIK).

Who talked of Linux? :dubbio:


 

What do you mean "I remember it crashed", there are several ways/methods for 9x in ramdisk, some needing/using a registry redirector, some possibly needing it not.

It's a lot of time noone dedicated some time to similar projects, *like*:

http://www.geocities.ws/politalk/

or

http://www.craftcom.net/15_cdboot_hdd/tisk_cdboot_w98.htm
 

(the Qualystem approach worked just fine) and there were quite a few progresses in the meantime, though most of the projects revolved around "minimal" Windows 9x, like:

http://reboot.pro/forum/53-winimize/

http://www.msfn.org/board/topic/140391-windows-98-live-cd-project-update/

(for the record the project by Beatzero, that started out as very promising, in later versions - before being abandoned for good - was *somehow* over-engineered to the point it didn't work anymore reliably).

jaclaz


 

Link to comment
Share on other sites

If you bought something from me, you did not identify your MSFN handle when you did so. PM or E-Mail me with the info.
If you are planning to do any serious testing, you will need to buy the RAMDisks.

The 32-Bit and 64-Bit RAM areas ARE separate. I could only assume you wanted a single Drive Letter.
Each invocation is separate, so there is no specific limit to the number of Drives.

I haven't tested on an XHCI Port, but booting from one would probably work even better as Windows 9x would not reset it as it does with older Ports. Keyboards and Mice should work too, All would run in BIOS emulation.

I have separate RAMDisk Programs for 32-Bit, 64-Bit and the new Dual-Mode. There is no need for the latter two to support 32-Bit CPUs. Also HIMEMEX uses PSE so it would not work on a 386.

Allocating on a 1GB or any other specific boundary would be riduculous.

Deallocating or reallocating requires memory tables to be maintained. This would definitely increase the footprint.
HIMEMEX currently uses progressive allocation. No deallocation allowed.
What would you do that needs to keep reallocating RAMDisks?
You could just as easily create Folders within one RAMDisk and use SUBST.

The 64-Bit RAMDisk only deals with 64-Bit RAM by definition.

The System Arena is in Virtual Memory, not Physical Memory. Space can be reserved in it even if no RAM is actually committed. It is always 1GiB regardless of the amount of Physical RAM.

512 Bytes is the sector size, no useable Filesystem is going to fit in it. The theortical limit is 2K.

Incidentally, I would not recommend the 7950GX2 because the second Controller is not initialized and won't be recognized by 9x. It costs more and takes up more MMIO than a single Controller card with no advantage.

Link to comment
Share on other sites

10 hours ago, jaclaz said:

xHCI ? You mean USB 3+?

As long as BIOS provides access to it/booting from it, sure (for the booting, NOT for keyboard/mouse AFAIK).

Who talked of Linux? :dubbio:

Yes xHCI is USB 3.0 and going to be the permanent USB controller from Z170 and up.

 Windows 9x has been run in RAMdisk since YEARS (using Franck Uberto's XMS ramdisk, usually) and now (last few years) that we have the great flexibility of "grub4dos", there are no problems with initiating the booting from a USB device.

I associate the Grub4Dos with Linux origins.  I try not to mix anything non DOS non Windows with Linux or MAC OS when it comes to the bootloader.

Quote

What do you mean "I remember it crashed", there are several ways/methods for 9x in ramdisk, some needing/using a registry redirector, some possibly needing it not.

It's a lot of time noone dedicated some time to similar projects, *like*:

http://www.geocities.ws/politalk/

or

http://www.craftcom.net/15_cdboot_hdd/tisk_cdboot_w98.htm

(the Qualystem approach worked just fine) and there were quite a few progresses in the meantime, though most of the projects revolved around "minimal" Windows 9x, like:

http://reboot.pro/forum/53-winimize/

http://www.msfn.org/board/topic/140391-windows-98-live-cd-project-update/

(for the record the project by Beatzero, that started out as very promising, in later versions - before being abandoned for good - was *somehow* over-engineered to the point it didn't work anymore reliably).

jaclaz

I'll have to investigate further these links.  It sounds as if you are saying most ended up as dead ends.  I do recall over a decade ago someone had successfully done it and used it as an entertainment center OS in the living room.  Ran off of their Ramdrive but they had to use the compact mode install and remove all unnecessary files.  They might have even used nLite to compress it to a smaller size to fit into the RAM.  If I recall they zipped the entire 98SE and had on a bootable optical this that booted and created the Ramdrive and unzipped the files to the Ramdrive.  I can't recall if they copied the zip file to the Ramdrive and unzipped directly off the Ramdrive or if they could only unzip directly off the optical disc because there was insufficient Ramdrive space to store both.  It also might be easier playing around with Windows 3.1 first.  But having a 9X/ME OS on Ramdisk that you could hook up to a USB port and boot off someone's machine without needing to open it up and run something on it would be interesting.  I do recall bringing my USB flash drive to Best Buy and running Mame programs on it in the command prompt so this would be taking a step further.  XP and W7 I'm sure it's a lot more complicated to achieve as USB bootable with Ramdrive from some sites I've seen that I'm not ready to tackle yet. Plus I would have to figure out how to ensure the Ramdrive would be created for the XP to run off of which may complicate things.  XP would be more robust and more useful.

Edited by 98SE
Link to comment
Share on other sites

On 6/20/2017 at 7:28 PM, 98SE said:

I do recall over a decade ago someone had successfully done it and used it as an entertainment center OS in the living room.

A decade ago? You've joined on 2013... were you lurking around since 2007???  :unsure:

Link to comment
Share on other sites

2 hours ago, MrMateczko said:

7900GTX is a better choice.

GeForce 7950 GT came in second on the passmark.

But if we are emulating the video card I would try and max out the capabilities of that era.

You could virtual SLI two of the GeForce 7950 GX2 if you emulated two of these video cards it would create a virtual quad-SLI without the hot mess of wattage overkill and heat.  I think this would still beat the GTX 7900.  I wouldn't recommend this as real physical hardware I would go with your pick of 7900GTX for the most powerful single graphics card.

https://en.wikipedia.org/wiki/GeForce_7_series#GeForce_7950_GT

GeForce 7900 GX2 also known as GeForce 7900 GTX Duo

The GeForce 7900 GX2 is two videocards stacked to fit as a dual slot solution.[19] This is not like products such as the ASUS Dual GeForce 7800 GT or nVidia's own 7950 GX2, where two GPUs are on the same card. This enables quad-SLI on two PCI Express x16 slots. Other OEM companies have access to the GX2 and it is now available from numerous vendors.

The card features a 500 MHz GPU and 1200 MHz effective RAM speed. Although the power of the GX2 is less than the 7900 GTX, each card is more powerful than the 7900 GT.

Many issues in this implementation of a dual-GPU unit convinced Nvidia to restrict its sale to OEM companies. The card is extremely long, with only the largest e-ATX cases being able to hold it. Two of the cards operating in quad-SLI also required extremely well designed airflow to function, and demanded a 1000 watt power supply unit.

Some tests at higher resolutions for card vs card.  I can't imagine what Dual GeForce 7900 GX2 would do in this test.

https://www.techpowerup.com/reviews/NVIDIA/7900vs7950/5.html

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...