Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
1.0.0-beta.5 - 2024-08-18
✨ New Features
81f43e0
- Add ESS Maestro 3i (ES1983) support (tested) (commit by @AranVink)fc97e5e
- Add support for Maestro 2, Maestro 2E, and Canyon 3d 2 (untested) (commit by @AranVink)
🐛 Bug Fixes
b22db15
- Try to configurerequarks/changelog-action
to include all commits in changelog, even those that don't have a "type" defined according the Conventional Commits format (feat, feature, fix, bugfix, perf, refactor, test, tests, chore`) (commit by @volkertb)fb8d190
- Tweak AC97 default volume settings, to mute inputs like microphone and line in by default (commit by @AranVink)
👷 Build System
6e065a1
- bundle release notes with release artifacts (commit by @volkertb)e38773c
- Make required Git tag pattern for triggering builds and releases less strict: allow any tag that starts withv
followed by a number, even if it's not SemVer compliant, such as1.0beta5
(commit by @volkertb)d0a73c1
- Fixtag_name is not well-formed
error in Release tag name, by replacing a space with an underscore (commit by @volkertb)
📝 Documentation Changes
ca571ba
- Combine changelog and user instructions into release notes and show those on each release (commit by @volkertb)da22aa7
- Fix spelling errors README.txt (commit by @AranVink)f42a548
- Fix spelling in README.md (commit by @AranVink)
🛸 Other Changes
746380f
- Updateactions/checkout
to v4 (commit by @volkertb)47b5c9d
- Add current branch to allowlist to testbuild-and-release
workflow (commit by @volkertb)d60b110
- Add step that generates changelog as part of release (commit by @volkertb)bfbe717
- Show auto-generated release notes instead, move user instructions (shown on each release until now) to separate Markdown file (we may use it later somehow) (commit by @volkertb)9981d96
- Use CHANGELOG generated byheinrichreimer/action-github-changelog-generator
instead of relying on GitHub's release notes generation functionality, which apparently doesn't render the release notes in a Markdown file (commit by @volkertb)5835b30
- Try using different GitHub Action for generating Changelog from Git commits (commit by @volkertb)59d0f61
- Try to fix configuration of changelog configuration action, so that it also works when build is triggered by a non-tag commit, for instance while testing the workflow in a branch, as is the case while writing this commit (commit by @volkertb)f3fddb8
- Fix git commands that assumed the project to be checked out in the current directory, while the code was actually checked out under the subdirectory./src
(commit by @volkertb)d71dbae
- Check out tags, so Git log can be used to generate the changelog, with thanks to actions/checkout#206 (comment) (commit by @volkertb)5e137d6
- Configureactions/checkout
to fetch full Git history, since it's needed to generate changelog from commits between latest and previous tags (commit by @volkertb)833b0c9
- Undo previous configuration change forrequarks/changelog-action
, since the actual cause was found:actions/checkout
checks out the repo with a depth of 1 (only the most recent commit) by default, so history including previous tags isn't available by default (we fixed that configuration in the previous commit) (commit by @volkertb)b954563
- Configurerequarks/changelog-action
not to demand the "Conventional Commits" format (see https://medium.com/@sagormahtab/mastering-commit-messages-the-ultimate-guide-to-conventional-commits-96f038da6bdf) (commit by @volkertb)e58a347
- Build and release only when a tag with a proper pattern (v
followed by a SemVer-compliant version number, for instancev1.0.0
) is pushed to the Git repo (commit by @volkertb)39ec56b
- Merge branch 'main' into generate-changelog-with-each-release (commit by @crazii)e7ceae4
- Merge pull request #82 from volkertb/generate-changelog-with-each-release
Generate changelog with each release (commit by @crazii)
0bad11e
- Fix spelling errors README.txt (commit by @AranVink)b7c8b87
- Fix spelling in README.md (commit by @AranVink)773250e
- Merge branch 'patch-1' of https://github.com/AranVink/SBEMU into patch-1 (commit by @AranVink)2355249
- Merge branch 'patch-2' of https://github.com/AranVink/SBEMU into patch-2 (commit by @AranVink)a31ad51
- Merge pull request #118 from AranVink/patch-1
docs: Fix spelling errors README.txt (commit by @volkertb)
docs: Fix spelling in README.md (commit by @volkertb)
d719b9c
- Add maestro3 pci id and correct ac97 volume initialization (commit by @AranVink)1f51c9e
- Make pci id's match linux driver support (commit by @AranVink)b61d8ba
- Merge pull request #123 from AranVink/feature/add_ess_maestro
Feature/add ess maestro (commit by @volkertb)
ci: Make required Git tag pattern for triggering builds and releases less strict (commit by @volkertb)
7afac06
- Trigger a build and release on any pushed tag for now, and use the triggering tag name in the corresponding release tag/title (commit by @volkertb)a588f3c
- Merge pull request #132 from volkertb/trigger-build-and-release-on-any-tag
Trigger a build and release on any pushed tag for now (commit by @volkertb)
ci: Fix tag_name is not well-formed
error in Release tag name, by r… (commit by @volkertb)
Empty feature commits to improve changelog (commit by @volkertb)
User instructions
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!️ ❤️)