DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Developer's Forum, for discussion of bugs, code, and other developmental aspects of DOSBox.

DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby 95DosBox » 2018-10-30 @ 02:21

DOSBOX has a 256 color minimum in order to run. Unfortunately the default Windows 95 OEM only comes with a Standard 16 Color driver but can go down to 2 colors B/W mode.

Can someone recompile a new DOSBOX v0.72 version that either can run in the standard VGA 16 colors driver mode at 640x480 resolution or lower? Usually in order to get achieve 256 colors you need a compliant 9X graphics OS driver. The integrated Intel HD Graphics or any post 9X graphics card will not work with DOSBOX and exit out with an error with no command prompt.

Another option is can we eliminate, turn off, or disable the video requirement portion of DOSBOX and just do the pure Sound emulation only.

Is this possible?

Running in the Command Prompt of 9X a lot of DOS programs will work run properly so if only the sound could be handled by the DOSBOX sound emulation for Sound Blaster, Adlib, et cetera then that would be a huge benefit for retrogaming for older DOS titles from EGA 16 Colors and downwards to 4 Color CGA and possibly Monochrome.

Some examples of games that included Sound Blaster or Adlib sound with the ability to choose from
VGA 256 Colors
EGA 16 Colors
CGA 4 Colors
Monochrome 2 Colors - Mean Streets may have had this graphics option not sure about SS ][.

Police Quest II - 16 Colors EGA, I think 4 Colors CGA was possible as well and possibly Monochrome - Adlib supported.

King's Quest IV - 16 Colors EGA, 4 Colors CGA for sure since I played it an old laptop back in the day - Tandy, Adlib and Sound Blaster supported.

Silent Service ][ - 4 colors to 256 colors option, Adlib support.

Mean Streets - internal PC speaker RealSound only but DOSBOX has internal PC speaker emulation so it works.

Links: The Challenge Of Golf - VGA 256 might have had an EGA 16 Color mode, Realsound, Adlib, Sound Blaster.

Other games that I noticed have severe lag issues with sound emulation.

Crime Wave. I am wondering if anyone else has this sluggish response moving the character or firing their gun. On a real 386 33MHz it operates smoothly with no lag. Was this a bug in DOSBOX that never got fixed to support RealSound properly in Crimewave?
User avatar
95DosBox
Member
 
Posts: 343
Joined: 2017-5-23 @ 09:34

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby DosFreak » 2018-10-30 @ 09:23

Wouldn't it make more sense to load a generic VESA driver and use DOSOX 0.74-2? (Requires IE4 w/ Active Desktop)

DOSBox devs aren't going to butcher DOSBox for sound only emulation. I don't really see anyone bothering to go through the trouble of taking the sound emulation out of DOSBox and programming it to work in a 9x command prompt since you are working inside a VM that you don't have the source to so you'll have to patch around various issues. Vlad (creator of VDMSound) encounterd this ALOT with VDMSound. CPU issues, video issues, etc etc. You should be using DOS for DOS games not the command prompt.

If you have an issue with a game in DOSBox then post a thread with your issue, specs, DOSBox version, etc.
User avatar
DosFreak
l33t++
 
Posts: 10132
Joined: 2002-6-30 @ 16:35
Location: Your Head

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby Azarien » 2018-10-30 @ 15:23

95DosBox wrote:Can someone recompile a new DOSBOX v0.72 version that either can run in the standard VGA 16 colors driver mode at 640x480 resolution or lower?


That's theoretically possible if anyone knowledgeable enough wills to put his time and effort to it, but ask yourself why do you want to use:
- Windows 95
- on hardware too modern for Windows 95
- only to use DOSBox anyways?

Why don't use something less awkward, like real 9x-era PC with proper drivers, OR any cheap PC running XP or later and avoid such problems.
Azarien
Oldbie
 
Posts: 591
Joined: 2015-5-14 @ 07:14

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby collector » 2018-10-31 @ 12:05

The other thing that is weird about this is if running 9x you have DOS already. Why would anyone need DOSBox at that point.
User avatar
collector
l33t
 
Posts: 4302
Joined: 2003-1-15 @ 10:39

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby 95DosBox » 2018-11-03 @ 09:21

DosFreak wrote:Wouldn't it make more sense to load a generic VESA driver and use DOSOX 0.74-2? (Requires IE4 w/ Active Desktop)

Which generic VESA driver would you like me test with the Intel HD Graphics in Windows 9X? VBEMP does not work and will cause a corrupted graphics screen in full screen mode. Explain the IE4 w/ Active Desktop requirement? Does this mean DOSBOX will only work down to 95B with IE4 installed? 95 OEM or 95A will not work with DOSBOX?

collector wrote:The other thing that is weird about this is if running 9x you have DOS already. Why would anyone need DOSBox at that point.

That would be based on the assumption the system DOSBOX is running on is retro system (with ISA slots) which wouldn't need DOSBOX to begin with. I'm using it for a post SkyLake modern system. More details in the rest of this message.

Azarien wrote:Why don't use something less awkward, like real 9x-era PC with proper drivers, OR any cheap PC running XP or later and avoid such problems.

I already got plenty of legacy machines to do the real thing in DOS with ISA slots. I also have a modern enough system that does this with the proper 9X drivers that does DOS, 9X, 2K, XP, 2003, Vista, W7, and W10 all in one.

My goal is to make it possible and easier for someone to bring a DOSBOX emulated environment on a USB bootable device that works on any modern system just using nothing more then the commonly found Intel HD Graphics Video and Audio via the HDMI booted to 9X for the most compact OTG OS setup.

This may seem to you like a why do this when you can go spend a few thousand on retro gear? But eventually even retro gear will fail but modern pcs will continue to be available and powerful enough to do the same job for a lot less and can be run fanless on top of that so it will probably never fail.

Azarien wrote:
95DosBox wrote:Can someone recompile a new DOSBOX v0.72 version that either can run in the standard VGA 16 colors driver mode at 640x480 resolution or lower?


That's theoretically possible if anyone knowledgeable enough wills to put his time and effort to it, but ask yourself why do you want to use:
- Windows 95
- on hardware too modern for Windows 95
- only to use DOSBox anyways?


Well some loaded questions. First maybe you are unaware of certain changes in modern technology so I'll briefly update you. Anything beyond SkyLake began the death of EHCI which is commonly known as USB 2.0 which was supported from 9X onwards. The shift to pure XCHI which is known as USB 3.0 made it impossible to use operating systems such as Windows 2000, XP, 2003 unusable for a USB bootable approach since no Intel USB 3.0 drivers exists that can be slipstreamed into the OS. Only Windows 7 and later supports the Intel USB 3.0 and eventually W7 will no longer work.

Bios emulation allows USB devices to boot to DOS or 98SE DOS. Since 95/98 does support booting through USB it makes it possible to use any modern system to boot into it. Now you can get PCIe audio to work in 95/98 for the easiest approach.

The easiest most common graphics is included with the Intel CPU. The Intel HD Graphics however does not have a proper 9X driver that works with DosBox thus the 256 color issue I'm describing. Using VBEMP will not work either and causes a corrupted graphics display when running DOSBOX in full screen.

This is the reason why I was looking for a way to eliminate the 256 color restriction so Dosbox would still operate on 16 Color games and still perform the sound emulation via the sound card. And if this worked then you could use Munt in combination with running the DOSBOX game. An example could be Monkey Island 1 EGA would work with Munt.

Now if VBEMP actually worked properly with DOSBOX on the Intel HD Graphics that would solve that issue of the 256 color issue DOSBOX requires to run and thus anyone could then use DOSBOX to play on any computer via a USB bootable 9X type setup.

Later if a proper Intel HD Graphics HDMI Audio driver could be ported and made to work this would alleviate needing any extra hardware for DOSBOX to run on anyone's computer without worrying about OS issues (2000, XP, 2003). Another issue is ACPI no longer works on modern systems and SATA IDE Compatibility is eliminated making such NT based operating systems more challenging to make a simplified DOSBOX emulated system working on the go.

For the time being if DOSBOX did run properly with 16 Colors using the default Standard VGA 16 Color driver then you could still use a PCIe sound card to take care of the sound output on any modern system in 9X. This would not be the best scenario for playing all DOS based games but 2nd to the best in simplicity. And if Munt also worked or could be used along with it then you'd still have a pretty decent retro rig running on a modern machine. Until either a proper 9X driver works for all Intel HD Graphics for DOSBOX and 3D Graphics then you'd be running the easiest DOSBOX on the go on any modern machine including Coffee Lake. It would be equivalent of an EGA 16 Color retro rig.

The end the goal would be DOSBOX would be running purely off the Intel HD Graphics HDMI port of any modern computer (post ISA and legacy PCI motherboard with only PCIe slots) and just using a bare bones setup of the HDMI Video and HDMI Audio natively on the Intel iGPU to do all the DOSBOX emulation and bootable off the USB port even on USB 3.0 ports using BIOS emulation. What you will have is a DOSBOX capable system on modern equipment without all the headaches associated with it or the bloat.
User avatar
95DosBox
Member
 
Posts: 343
Joined: 2017-5-23 @ 09:34

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby krcroft » 2018-11-03 @ 15:29

Your goal of creating a "universal" bootable USB stick for modern hardware (that happens to run dosbox) is best done using a lean Linux live distro. I beleive someone on the forum already has done this.

All of the driver limitations you're describing booting into various historic Microsoft OSes on modern hardware do not exist with Linux: it will support usb3, intel, nvidia, and amd GPUs supporting modern screen resolutions and proper scaling, all peripheral types (joysticks, USB headphones and speakers, and HDMI out), and all modern network interfaces including wifi, all of which dosbox can use.

The Windows 98-based approach you're describing will not support any of those things, so would only be useable in the narrowest of hardware configurations due to being crippled across the board by inadequate (or non-existent) hardware drivers. Only EGA dos would work if you figure our a VESA solution, however it would be limited to 640x480 native resolution, which would likely be either stretched to the full 16:9 on modern displays or put in a tiny postage-stamp box (without scaling) at the center of the screen.

Likewise, you will need significant amounts of legacy code written to further improve this train-wreck of useability.

My recommendation would be to cut your losses and immediately start learning Linux, then move onto understanding how Live Linux distros work, and then play with putting dosbox into one of them.

For example, I have a Raspberry Pi 3 for exactly this purpose. It's the size of a deck of cards. It boots from an SD card, uses a usb-mini phone charger for power, and has 4 USB ports and HDMI out. It boots straight into emulation station where I've configured my collection of DOS games to show up in a menu list with boxart and descriptions of the games. Each game has a tailored dosbox.conf. The entire system can be dumped to a single file, and re-imaged to another SD card. You could create a similar USB-bootable setup for modern x86-based hardware.
User avatar
krcroft
Member
 
Posts: 168
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby DosFreak » 2018-11-03 @ 21:38

DOSBox requires Active Desktop due to the requirement of storing the configuration file in the user profile. I can't remember if IE4 works on original Windows 95 or not, I want to say yes. If so then DOSBox will work. If not then use my build of DOSBox which doesn't require Active Desktop

The linux distro customized for DOSBox is using Tiny Core Linux:
https://sites.google.com/site/dosboxdistro/
User avatar
DosFreak
l33t++
 
Posts: 10132
Joined: 2002-6-30 @ 16:35
Location: Your Head

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby krcroft » 2018-11-03 @ 22:07

DosFreak wrote:DOSBox requires Active Desktop due to the requirement of storing the configuration file in the user profile.


Atleast on Linux, a Desktop GUI environment is unecessary for DOSBox. It can be launched directly from the terminal without any calls to X11 or xorg in the background, and instead will open in the hardware framebuffer, provided support is compiled in SDL. (DOSBox's video interface is via SDL).

The minimum configuration would be the boot loader, Linux kernel (configured to launch busybox directly as opposed to relying on an init system, like systemd), busybox, network configuration binaries if you want to setup networking (ethtool, iptools2, iwd), SDL (and optionally SDL_net), and DOSBox. The base filesystem would be something like zstd-packed-squashfs with writes directed to an overlay2 FS hosted on a user SD card or USB drive.

Given a custom kernel (tailored for one specific hardware platform) can be as small as 3MB, so with the others I would say it can be done in roughly 20MB.

That would be a professional-grade retail style device, robust against instantaneous reboots, hoewever for the OP who has little or no Linux knowledge, learning the basics and using any modern live CD will more than suffice.

Check out the Rasbian distribution for an example of SDL1 supporting the Pi's hardware framebuffer.

Thanks for the pointer to the DOSBox live booter! - it will certain give the OP something to look at as a fully working example.
User avatar
krcroft
Member
 
Posts: 168
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby dr_st » 2018-11-04 @ 10:26

95DosBox wrote:Bios emulation allows USB devices to boot to DOS or 98SE DOS.
FYI, this emulation layer may also soon be gone.
User avatar
dr_st
Oldbie
 
Posts: 1685
Joined: 2015-4-09 @ 07:18

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby Qbix » 2018-11-05 @ 10:34

the 256 colour requirement is there to keep things simple and nowadays windows doesn't like you setting a different amount of colours than you are running on your desktop, so we try to avoid the 256 colours all together. If that doesn't work with win3.1 and win95 with a specific videocard. That is too bad, but those are not the main targets of DOSBox. I am sorry but I don't want to complicate the internals to support your specific case.
We might lose support for even more OSes once we move to SDL2. :( *sigh*

if you want only audio emulation, take a look at the alpha/beta of VDMsound for win9x, it is exactly what you want.
Water flows down the stream
How to ask questions the smart way!
User avatar
Qbix
DOSBox Author
 
Posts: 10764
Joined: 2002-11-27 @ 14:50
Location: Fryslan

Re: DOSBOX with 16 Colors or Less or Pure Sound Emulation only mode

Postby bam » 2019-1-03 @ 03:26

Qbix wrote:We might lose support for even more OSes once we move to SDL2. :( *sigh*

Is that move planned? Patches for SDL2 already exist
bam
Newbie
 
Posts: 8
Joined: 2019-1-03 @ 02:50


Return to DOSBox Development

Who is online

Users browsing this forum: No registered users and 2 guests