Jo22 wrote:This reminds me of DESQview somehow. It was a TUI, task switcher and an API - all in one.
If it was run on an XT machine, it app […]
Show full quote
koverhbarc wrote:If you integrated this into FreeDOS, it would no longer be plain DOS - it would be DOS plus an emulator,
which must run in V86 mode. With DOS, everything had low-level access, so there's no reason to integrate stuff into the kernel anyway.
Keep it separate; one could call it a DOS-to-DOS virtual machine (DDVM).
This reminds me of DESQview somehow. It was a TUI, task switcher and an API - all in one.
If it was run on an XT machine, it appeard as if everything was running in a separate DOS VM.
If there would have been a way to insert an SB emulator, it would have been acting pretty much like
the DDVM you described (in the means of VMs with direct hardware access, etc.). Well, at least for real-mode games.
For extender games, it would still be pretty darn hard to implement. A true multi-tasking DOS, like Concurrent DOS,
Multiuser DOS or PC-MOS/386 would have been *perhaps* better suited for the purpose of a DOS with a large variety of audio drivers.
I have used Desqview-X back in the day on a 386 or 486. You could open multiple DOS windows and run a game in each window. It was somewhat laggy when you ran too many DOS programs simultaneously. But an interesting thing that I remember was even though you had one sound card each game that ran in its own DOS window was mixing the sound output on the single sound card. So each program was not hogging the sound card from being accessed in another DOS window. Test Drive 3 playing and Search for the King music intros mixing.
DVX was also good for using a single floppy disk and installing a program with multiple floppies and different volume labels. Very handy feature and saving on requiring having a bunch of floppy disks to install a program.
I think the DOS SB emulator must run in REAL DOS or 98SE DOS and possibly function in FreeDOS as well.
It would make use of the 1MB->4GB memory region which should be plenty of space for the program. I'm not sure how much actual code space would be required to emulate a true Sound Blaster card or have the ability to add other emulated sound cards like a GUS and maybe later MT-32 emulation might be possible. It must somehow be able to loadhigh the program so it should be stored above the 640KB region or better yet above the 1MB region so it it doesn't starve the DOS conventional memory needed by legacy DOS programs. If the SB DOS emulation program can be small enough to fit into the HMA region then even older computers like a 286 or 386 with limited memory could use it.
Stiletto wrote:mr_bigmouth_502 wrote:A Soundblaster emulation with inbuilt FM synthesis would be like a holy grail for DOS, or even Win9x. It would make it so much easier to get a retro rig up and going since you wouldn't have to worry about ISA compatibility. Merely running DosBox on DOS would be interesting, but I'd be more interested in a soundcard emulator that could be used to run games natively.
There was a Win9x port of VDMSound. It worked in many cases. That'd at least help you on Win9x/Me.
Win9x + VDMSound **ALPHA**
This might be useful Stiletto. I have been testing PCI sound cards and video cards on Z68/Z77. It appears these cards are not being detected in 98SE. So porting VDMSound to Win9X and piping it through the internal PC speaker would be another way to possibly run DOS games in 9X/ME without a Sound Blaster ISA sound card.
The recommended way to get superior Sound Blaster quality sound would be utilizing the Intel HD Graphics HDMI Audio output to emulate the Sound Blaster.
Anyone else here test 98SE with PCI sound cards and graphic cards on Z68/Z77 have issues detecting them?
koverhbarc wrote:Jo22: […]
Show full quote
Jo22:
Such an OS would really no longer be DOS, and would not run real DOS programs any better than current solutions. The only really major problem in your list, disk size, is solved by FAT32 which is in several DOSes FreeDOS. The second most important problem is USB support, which isn't in your list. Beyond that if DOS is still to be a viable OS it's most needed to have DOS equivalents of modern applications, which has had some work done on it but far less than Linux (which I dislike for a number of reasons).
gdjacobs:
DOSBox does not run x86 code natively. I don't see it would be a useful codebase to build on if that's the goal. Of course legacy hardware calls can be caught and handles in software: that's what NTVDM does, and that's what the sound emulator discussed here would have to do. The performance penalty of doing so is there but not high (10-20% at most for any non-pathological application).
I concur we shouldn't need to rewrite a completely new DOS that is not what I would prefer or want because DOSBOX is already a better option. The original idea is to first emulate a true Sound Blaster card that would intercept all DOS calls to the SB and pipe it to PC internal speaker. This would allow every PC computer to use a simple DOS bootable USB flash drive or SSD to run a DOS program without having to install a complete OS like 9X/ME which requires space for the OS and ISA and PCI cards don't seem to detect properly anymore on Z68/Z77 from recent tests, or finding a way to make a bootable USB to install 2K/XP/W7 which would require a decent amount of storage space for those OS to accomplish the same with DOSBOX. Having a lean bootable 98SE DOS plus a DOS SB Emulator is more efficient use of space and CPU resources since it wouldn't be running on top of another OS or require drivers for the OS or an enormous amount of space and would allow anyone to play DOS games with Sound Blaster, GUS, and MT-32 emulation possibly using a common PC internal speaker or more accessible hardware such as the HDMI Audio output on the Intel HD Graphics, AMD, or nVidia video cards.
The most compatible DOS partition for games is the FAT16 2GB partition and while you are under 98SE DOS you can still access your other FAT32 partitions which can be as large as 64GB safely and if certain DOS programs are picky about needing to run on a FAT16 partition you can copy the game folder over to the 2GB partition to run instead.
Once it is possible to emulate the SB and pipe the sound output to the PC internal speaker which every PC computer already has and it is successfully done, then stage 2 be outputting it to the HDMI audio output on the Intel HD Graphics, AMD, and nVidia.
Stage 3 could be adding GUS emulation and MT-32 emulation.
Stage 4 could be adding support to output to your physical sound cards like - Ensoniq / SB Live PCI and for more modern motherboards the PCIe sound cards from Asus.
Stage 5 might be adding support to output to a Creative Labs USB sound card such as the
Sound Blaster X-Fi HD
and
Sound Blaster X-Fi Surround 5.1 Pro
These USB 2.0 varieties will be more useful when PCIe slots may become discontinue one day and I don't foresee USB 4.0 and later to not be backward compatible with earlier USB devices. So all you would then need are USB 3.0 DOS drivers if necessary to detect these on more modern motherboards.