1.0-beta4
IMPORTANT: Please make sure all files in the zip are used.
CHANGES:
Build: add CI/CD pipeline, build FreedDOS image and zip file, by volkertb (Volkert de Buisonjé).
Build: Add Makefile (RHIDE project files deprecated), by thp (Thomas Perl).
Drivers: AC97: Add support for SIS7012, by thp (Thomas Perl).
Drivers: Add support for ICH5/AD1980 sound output, by thp (Thomas Perl).
CD-Audio mixer support, by thp (Thomas Perl).
Runtime debugging over serial port, by thp (Thomas Perl).
Text-mode UI: Nice display of sound card name, and highlight important messsge with color, by thp (Thomas Perl).
move "fix time constant for exact 11/22/44 kHz" to the option, by wbcbz7
improve SB direct mode audio quality, by wbcbz7
Drivers: Add PIO support to Intel HDA, by jiyunomegami.
Drivers: Ensoniq ES1371 supported.
MPU-401 UART emulation with serial MIDI output, by jiyunomegami.
Drivers: C-Media CMI 8338/8738 supported, by crazii & jiyunomegami.
Expermimental: IRQ assignment if PCI sound card IRQ is invalid or above 15.
Drivers: YAMAHA YMF supported, by jiyunomegami.
PCM resampling improvements and fix low-frequency interpolation (Skyroads SFX).
HDPMI: PCI IRQ client bypass, send to SBEMU/BIOS directly and hide from games - fix freeze for DOOM. Thanks to veelstekel for testing.
Build: enable -O2 and -flto optimizations.
Command line: /I9 supported for IRQ9 if IRQ5/7 not working due to IRQ conflicts, by jiyunomegami.
Command line: options support decimals, i.e. /K22050 and other arbitrary values, by jiyunomegami.
Add /SCFM and /SCMPU for cards that have builtin FM and MPU (not enabled by default, need specify in command line), by jiyunomegami.
Drivers: /SCFM /SCMPU for CMI cards, by jiyunomegami.
Drivers: MMIO fix for ICH4 boards, by jiyunomegami.
Drivers: new set of Linux sound card drivers ported, by jiyunomegami. New dirvers:
- ALS4000
- EMU10K1X (Dell SB0200)
- X-Fi (both EMU20K1 and EMU20K2)
- OXYGEN(CMI8788) (Only tested with Asus Xonar DG)
- ESS Allegro-1 (ES1988S/ES1989S)
- Trident 4D Wave
IRQ guard to prevent the virtual SB IRQ sending to BIOS.
Bugfix: crash on calling HDPMI functions, and crash on error exiting.
Bugfix: DMA address mapping using DPMI_MapMemory/DPMI_UnmapMemory that doesn't work properly and cause leaks.
Bugfix: SB16: IRQ/DMA mixer registers not initialized properly, seen in TOMBRAIDER's SETUP.
Add high DMA check, force /Hx=/Dx when /Hx uses low DMA for 16 bit PCM.
Bugfix: prevent compiler optimization on MMIO reads/writes.
Bugfix: fix for some Intel HDA chips that mutes the sound for unkown reason.
Add README.txt & CHANGLOG.txt, shipped with binaries in zip file.
Compatibility: make /H option working if /T6 not set.
Some trivial bugfixes and improvements.
Available files
If you wish to use SBEMU and its dependencies in an existing DOS installation, you'll find the necessary
files in SBEMU.zip
.
Alternatively, SBEMU-FD13-USB.img.xz
provides SBEMU and is dependencies preconfigured inside a compressed
bootable FreeDOS image that you can write to a USB flash drive or an SD card.
Preparing a bootable USB drive
Preparing a bootable USB drive
The USB image can be written to a USB drive or SD card using a tool like balenaEtcher.
The advantage of using Etcher is that you don't have to decompress the .xz
archive first.
It will decompress such files automatically, before writing the image to the target drive.
Booting the USB image in a virtual machine
Booting the USB image in a virtual machine
You can run the image in a VM with QEMU as follows:
unxz SBEMU-FD13-USB.img.xz
qemu-system-i386 -drive file=SBEMU-FD13-USB.img,format=raw -device AC97
If you wish to test Intel HDA compatibility instead of ICHx AC'97 compatibility, replace AC97
with intel-hda
in the last command above.
On Linux, you can include the parameter --enable-kvm
to run the VM with hardware-assisted virtualization.
If you prefer to use another hypervisor, such as VirtualBox or VMware, you may have to convert the raw image to a supported VM image format first:
unxz SBEMU-FD13-USB.img.xz
qemu-img convert -f raw -O vmdk SBEMU-FD13-USB.img SBEMU-FD13-USB.vmdk
NOTE: Although VMs can sometimes be useful during development, testing and debugging, you should not rely on those for actual hardware compatibility testing, since the sound cards that the hypervisors emulate are themselves merely approximations of actual hardware, and will not behave like the real thing in every single corner case.
Basically, you shouldn't test emulators on other emulators.
Where can I get some DOS games to test with?
Where can I get some DOS games to test with?
There are multiple convenient distributions out there that contain DOS games that can be distributed freely and legally.
Specifically freeware, shareware, open source and free demo versions.
Here are a few links to such distributions:
- The PC/DOS Mini, a compilation of 100+ DOS games ready to play for free
- GAFFA DOS Shareware/Freeware Pack (please donate to the Internet Archive, by the way!️ ❤️)