Skip to content

Commit

Permalink
docs: Combine changelog and user instructions into release notes and …
Browse files Browse the repository at this point in the history
…show those on each release
  • Loading branch information
volkertb committed Jan 27, 2024
1 parent b22db15 commit b1838c4
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 13 deletions.
18 changes: 5 additions & 13 deletions .github/workflows/01-build-and-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,6 @@ jobs:
echo "8464f17017d6ab1b2bb2df4ed82357b5bf692e6e2b7fee37e315638f3d505f00 /tmp/djgpp-linux64-gcc1220.tar.bz2" | shasum -a 256 --check
tar -xf /tmp/djgpp-linux64-gcc1220.tar.bz2 -C /opt
rm /tmp/djgpp-linux64-gcc1220.tar.bz2
- name: Get latest tag
id: latestTag
run: |
name=$(git -C ./src tag --sort=taggerdate | tail -1)
echo "latestTag: $name"
echo "latestTag=$name" >> $GITHUB_ENV
- name: Get previous tag
id: previousTag
run: |
name=$(git -C ./src tag --sort=taggerdate | grep -v ${{ env.latestTag }} | tail -1)
echo "previousTag: $name"
echo "previousTag=$name" >> $GITHUB_ENV
- name: "✏️ Generate release changelog"
id: changelog
uses: requarks/changelog-action@v1
Expand All @@ -59,6 +47,10 @@ jobs:
id: tag
run: |
echo "release_tag=UserBuild_$(date +"%Y.%m.%d_%H-%M")" >> $GITHUB_OUTPUT
- name: Combine changelog and user instructions into release notes
run: |
cat $GITHUB_WORKSPACE/CHANGELOG.md $GITHUB_WORKSPACE/src/user_instructions.md > $GITHUB_WORKSPACE/RELEASE_NOTES.md
- name: Release FreeDOS SBEMU USB image
uses: softprops/action-gh-release@v1
env:
Expand All @@ -68,4 +60,4 @@ jobs:
files: |
${{ github.workspace }}/SBEMU.zip
${{ github.workspace }}/SBEMU-FD13-USB.img.xz
body_path: ${{ github.workspace }}/CHANGELOG.md
body_path: ${{ github.workspace }}/RELEASE_NOTES.md
58 changes: 58 additions & 0 deletions user_instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 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.

<details>
<summary>Preparing a bootable USB drive</summary>

## Preparing a bootable USB drive

The USB image can be written to a USB drive or SD card using a tool like [balenaEtcher](https://etcher.balena.io/).

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.
</details>
<details>
<summary>Booting the USB image in a virtual machine</summary>

## Booting the USB image in a virtual machine

You can run the image in a VM with QEMU as follows:

```shell
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:

```shell
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.
</details>
<details>
<summary>Where can I get some DOS games to test with?</summary>

## 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](http://vieju.net/pcdosmini/), a compilation of 100+ DOS games ready to play for free
- [GAFFA DOS Shareware/Freeware Pack](https://archive.org/details/gaffa-dos-shareware-pack) (please [donate to the Internet Archive](https://archive.org/donate/), by the way!️ ❤️)
</details>

0 comments on commit b1838c4

Please sign in to comment.