Add a sane Markdown linter style and mass update all .md files to

conform to these rules
This commit is contained in:
John Novak 2022-12-28 21:56:20 +10:00
parent 0ca1c8f861
commit c05e875c39
18 changed files with 306 additions and 263 deletions

View file

@ -1,4 +1,34 @@
exclude_rule 'MD005'
exclude_rule 'MD013'
exclude_rule 'MD033'
exclude_rule 'MD046'
all
rule 'MD029', :style => :ordered # ordered lists must use running numbers
exclude_rule 'MD005' # don't try to enforce consistent list indentation
# (buggy, gets confused with complex nestings)
exclude_rule 'MD007' # don't try to enforce unordered list indentation
# (buggy, gets confused with complex nestings)
exclude_rule 'MD009' # allow trailing spaces
exclude_rule 'MD012' # allow multiple consecutive blank lines
exclude_rule 'MD013' # disable line-length check
exclude_rule 'MD014' # don't try to be clever when parsing code blocks
exclude_rule 'MD022' # don't try to enforce headers to be surrounded by
# blank lines (buggy, raises false positives)
exclude_rule 'MD024' # don't try to be clever about the content of the headers
exclude_rule 'MD026' # allow trailing punctuation characters in headers
exclude_rule 'MD032' # don't try to enforce blank lines around lists (buggy,
# raises false positives)
exclude_rule 'MD033' # allow inline HTML
exclude_rule 'MD034' # allow bare URls (raises false positives for raw HTML
# links)
exclude_rule 'MD036' # allow using emphasised text as headers
exclude_rule 'MD040' # allow fenced code block without a language specified
exclude_rule 'MD041' # do not enforce first line to be a top level header
exclude_rule 'MD046' # allow any code block style

View file

@ -1,14 +1,16 @@
# Build instructions
## Minimum build requirements
Install dependencies listed in [README.md](README.md). Although `ccache` is
optional, we recommend installing it because Meson will use it to greatly speed
up builds. The minimum set of dependencies is:
- C/C++ compiler with support for C++17
- SDL >= 2.0.5
- Opusfile
- Meson >= 0.56, or Visual Studio Community Edition 2019 or 2022
- OS that is mostly POSIX-compliant or up-to-date Windows system
- C/C++ compiler with support for C++17
- SDL >= 2.0.5
- Opusfile
- Meson >= 0.56, or Visual Studio Community Edition 2019 or 2022
- OS that is mostly POSIX-compliant or up-to-date Windows system
All other dependencies are optional and can be disabled while configuring the
@ -178,10 +180,12 @@ Prerequisites:
# Fedora
sudo dnf install gmock-devel gtest-devel
```
``` shell
# Debian, Ubuntu
sudo apt install libgtest-dev libgmock-dev
```
If GTest and GMock are not installed system-wide, Meson will download them
automatically.
@ -259,6 +263,7 @@ Prerequisites:
# Fedora
sudo dnf install clang-analyzer
```
``` shell
# Debian, Ubuntu
sudo apt install clang-tools
@ -278,11 +283,11 @@ Compared to a debug build, sanitizer builds take longer to compile
and run slower, so are often reserved to exercise new features or
perform a periodic whole-program checkup.
- **Linux users:**: We recommend using Clang's latest
- **Linux users:**: We recommend using Clang's latest
stable version. If you're using a Debian or Ubuntu-based distro,
LLVM has a helpful one-time setup script here: https://apt.llvm.org/
LLVM has a helpful one-time setup script [here](https://apt.llvm.org/).
- **Windows users:** Start by setting up MSYS2 as described in the
- **Windows users:** Start by setting up MSYS2 as described in the
_docs/build-windows.md_document. Ensure you've opened an MSYS2 MinGW
Clang x64 terminal before proceeding and that `clang --version`
reports version 13.x (or greater).

View file

@ -18,7 +18,7 @@ so here are links to the major sections:
- [4.1. Using clang-format](#using-clang-format)
- [4.2. Summarize warnings](#summarize-warnings)
# Feature requests and bug reports
## Feature requests and bug reports
If you find a [feature request][enhancement_label], you're interested in,
leave a comment, or an emote - it will help us to decide where to focus our
@ -31,7 +31,7 @@ lost.
[enhancement_label]: https://github.com/dosbox-staging/dosbox-staging/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement
[issues]: https://github.com/dosbox-staging/dosbox-staging/issues
# Find something to work on
## Find something to work on
There's plenty of tasks to work on all around, here are some ideas:
@ -52,7 +52,7 @@ There's plenty of tasks to work on all around, here are some ideas:
the issue is not assigned to anyone, then it's for the pickings! Leave a
comment saying that you're working on it.
- Find next release project in our
[projects list ](https://github.com/dosbox-staging/dosbox-staging/projects)
[projects list](https://github.com/dosbox-staging/dosbox-staging/projects)
and pick one of tasks in "To do" column.
- Peruse through the list of
[open bug reports](https://github.com/dosbox-staging/dosbox-staging/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
@ -69,9 +69,9 @@ discuss it with us early, e.g. by creating a new bugtracker issue.
[clanga]: https://github.com/dosbox-staging/dosbox-staging/actions?query=workflow%3A%22Code+analysis%22
[pvs]: https://github.com/dosbox-staging/dosbox-staging/actions?query=workflow%3A%22PVS-Studio+analysis%22
# Contributing code
## Contributing code
## Coding style
### Coding style
These rules apply to code in `src/` and `include/` directories.
They do not apply to code in `src/libs/` directory (libraries in there
@ -80,7 +80,7 @@ have their own coding conventions).
Rules outlined below apply to new code landing in the main branch.
Do not do mass reformatting or renaming of existing code.
### Language
#### Language
We use C-like C++17. To clarify:
@ -106,7 +106,7 @@ We use C-like C++17. To clarify:
- Before using some platform-specific API - check if SDL2 provides
cross-platform interface for it. It probably does.
### Code Formatting
#### Code Formatting
For new code follow K&R style - see [Linux coding style] for examples and some
advice on good C coding style.
@ -117,7 +117,7 @@ custom clang-format ruleset to make it crystal clear, skip to
[Linux coding style]:https://www.kernel.org/doc/html/latest/process/coding-style.html
### Additional Style Rules
#### Additional Style Rules
1. Sort includes according to: [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes)
2. NEVER use Hungarian notation.
@ -136,7 +136,7 @@ custom clang-format ruleset to make it crystal clear, skip to
8. Use header guards in format: `DOSBOX_HEADERNAME_H` or
`DOSBOX_MODULENAME_HEADERNAME_H`.
## Submitting Patches / Pull Requests
### Submitting Patches / Pull Requests
Submissions via GitHub PRs are recommended. If you can't use GitHub for
whatever reason, then submitting patches (generated with `git-format-patch`)
@ -145,7 +145,7 @@ via email is also possible - contact maintainer about the details.
Code submitted as raw source files (not patches), files attached to issue
comments, forum posts, diffs in non-git format, etc will be promptly ignored.
### Commit messages
#### Commit messages
Read [How to Write a Git Commit Message]. Then read it again, and follow
"the seven rules" :)
@ -156,7 +156,7 @@ that does not follow them. There are no other exceptions.
[How to Write a Git Commit Message]:https://chris.beams.io/posts/git-commit/
### Commit messages for patches authored by someone else
#### Commit messages for patches authored by someone else
- If possible, preserve code formatting used by original author
- Record the correct author name, date when original author wrote the patch
@ -179,9 +179,9 @@ For an example of commit, that followed all of these rules, see:
$ git log -1 ffe3c5ab7fb5e28bae78f07ea987904f391a7cf8
# Tools
## Tools
## Using clang-format
### Using clang-format
It's usually distributed with the Clang compiler, and can be integrated with
[many programming environments](https://releases.llvm.org/10.0.0/tools/clang/docs/ClangFormat.html).
@ -201,7 +201,7 @@ Run `./scripts/format-commit.sh --help` to learn about available options.
### Vim integration
#### Vim integration
Download `clang-format.py` file somewhere, and make it executable:
@ -217,11 +217,11 @@ Then add following lines to your `.vimrc` file:
Read documentation inside `clang-format.py` file in case your OS is missing
python3 support.
### MSVC integration
#### MSVC integration
[ClangFormat extension on VisualStudio Marketplace](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat)
## Summarize warnings
### Summarize warnings
Out gating mechanism tracks the number of warnings per OS/compiler.
To see a summary of warnings in your build, do a clean build and then

View file

@ -7,7 +7,7 @@ This repository attempts to modernize the DOSBox codebase by using current
development practices and tools, fixing issues, and adding features that better
support today's systems.
### Build status
## Build status
[![Linux x86\_64 build status][build-lin1-badge]][build-lin1-ci]
[![Linux other build status][build-lin2-badge]][build-lin2-ci]
@ -15,7 +15,7 @@ support today's systems.
[![Windows (MSYS2) build status][build-win-msys2-badge]][build-win-msys2-ci]
[![macOS build status][build-mac-badge]][build-mac-ci]
### Code quality status
## Code quality status
[![Coverity status][coverity-badge]][3]

View file

@ -35,4 +35,4 @@ Make a commit, push it to the relevant branch, then:
$ fedpkg build
Finally, for released Fedora versions, request a package update via https://bodhi.fedoraproject.org/
Finally, for released Fedora versions, request a package update via <https://bodhi.fedoraproject.org/>

View file

@ -8,7 +8,7 @@ size, the position and size of the icons it contains, and a link to the
background image (among a few other things).
### If you only want to change the background image
## If you only want to change the background image
1. Make edits to `contrib/macos/background/background.svg` in Inkscape
@ -23,7 +23,7 @@ background image (among a few other things).
build the new DMG image.
### To fully customise the appearnce of the Finder window
## To fully customise the appearance of the Finder window
1. Download the latest DMG image from the GitHub CI workflow.
@ -40,10 +40,11 @@ background image (among a few other things).
background image from scratch in great detail, and contains some very
useful tips (there are a few gotchas that are hard to figure out).
[dmg-guide]: https://www.ej-technologies.com/resources/install4j/help/doc/concepts/dmgStyling.html
[dmg-guide]: https://www.ej-technologies.com/resources/install4j/help/doc/concepts/dmgStyling.html
5. When you're done, copy the hidden `.DS_Store` from the root of the mounted
volume and overwrite `contrib/macos/DS_Store` with it.
6. Commit & push the new background image, and let the GitHub CI workflow
build the new DMG image.

View file

@ -1,11 +1,11 @@
*Warning: this information is partially outdated.*
## AutoFDO Procedures
# AutoFDO Procedures
Feedback Directed Optimization (FDO) involves recording performance data from
the Linux kernel and using it to direct the compiler's optimizer.
### Prerequisites for AutoFDO
## Prerequisites for AutoFDO
- An **Intel processor** that supports the last branch record (LBR) instruction.
- A Linux **kernel** built with Branch Profiling tracers enabled:
@ -65,7 +65,7 @@ the Linux kernel and using it to direct the compiler's optimizer.
<https://github.com/andikleen/pmu-tools.> This is a collection of python
scripts used to assist in capturing sampling data.
### Record Data for AutoFDO Builds
## Record Data for AutoFDO Builds
1. Ensure the custom Linux Kernel supporting LBR tracing is running.
@ -88,8 +88,8 @@ the Linux kernel and using it to direct the compiler's optimizer.
provided in the `autofdo` package:
For GCC, run:
- `create_gcov --binary=/path/to/fdo-trained/dosbox
--profile=samples-1.prof -gcov=samples-1.afdo -gcov_version=1`
- `create_gcov --binary=/path/to/fdo-trained/dosbox --profile=samples-1.prof -gcov=samples-1.afdo -gcov_version=1`
... for each `.prof` file, creating a corresponding `.afdo` file.
@ -100,8 +100,7 @@ the Linux kernel and using it to direct the compiler's optimizer.
For Clang, run:
- `create_llvm_prof --binary=/path/to/fdo-trained/dosbox
--profile=samples-1.prof --out=samples-1.profraw`
- `create_llvm_prof --binary=/path/to/fdo-trained/dosbox --profile=samples-1.prof --out=samples-1.profraw`
... for each `*.prof` file, creating a corresponding `.profraw` file.
@ -110,7 +109,7 @@ the Linux kernel and using it to direct the compiler's optimizer.
`llvm-profdata-<version> merge -sample -output=current.profraw *.profraw`
### Build Using AutoFDO Data
## Build Using AutoFDO Data
You can now use your merged `.afdo` or `.profraw` file to build with the `-m
fdo` modifier by placing your `current.afdo/.profraw` file in the repo's root

View file

@ -1,6 +1,8 @@
# Building on Haiku
Haiku builds can be created with Clang or GCC using the Meson buildsystem.
## Build on Haiku
## Build instructions
Install dependencies:
@ -40,5 +42,5 @@ texture_renderer = software
core = normal
```
The state of Haiku's GPU Hardware-acceleration is being discussed here:
https://discuss.haiku-os.org/t/state-of-accelerated-opengl/4163
The state of Haiku's GPU Hardware-acceleration is being discussed
[here](https://discuss.haiku-os.org/t/state-of-accelerated-opengl/4163).

View file

@ -1,3 +1,5 @@
# Building on macOS
macOS builds can be created using the Meson buildsystem, compiled using
the Clang or GCC compilers, and provided with dependencies using the Homebrew
or MacPorts package managers.

View file

@ -1,3 +1,5 @@
# Building on Windows
Windows builds can be created using:
- MSVC compiler, Visual Studio 2019 IDE suite, and vcpkg to provide dependencies
@ -38,10 +40,11 @@ you build a binary optimized for gaming.
```
4. Update the pacman database and packages:
- Open an MSYS2 console from your start menu.
- Run `pacman -Syu`, answer `Y`, and let it run to completion.
- Close your terminal when it's done.
- Re-open the terminal and repeat the process.
- Open an MSYS2 console from your start menu.
- Run `pacman -Syu`, answer `Y`, and let it run to completion.
- Close your terminal when it's done.
- Re-open the terminal and repeat the process.
5. Install the GCC and Clang runtime groups:
@ -58,8 +61,8 @@ you build a binary optimized for gaming.
6. Open a toolchain-specific MinGW terminal:
- **GCC**: _Start Menu > Programs > MSYS2 > MSYS2 MinGW x64_
- **Clang**: _Start Menu > Programs > MSYS2 > MSYS2 MinGW Clang x64_
- **GCC**: _Start Menu > Programs > MSYS2 > MSYS2 MinGW x64_
- **Clang**: _Start Menu > Programs > MSYS2 > MSYS2 MinGW Clang x64_
You can then use those specific toolchains within the
respecitive terminal.

View file

@ -1,8 +1,9 @@
# Mouse code
Few comments on mouse emulation code organization:
###### `mouse.cpp`
**mouse.cpp**
Entry point for all the notifications and requests from external subsystems -
see `include/mouse.h` for API definition. Interacts mainly with GFX subsystem
@ -10,40 +11,40 @@ see `include/mouse.h` for API definition. Interacts mainly with GFX subsystem
API (`MouseControlAPI` class) for interaction with command-line configuration
tool and yet-to-be-written GUI.
###### `../dos/program_mousectl.cpp`
**`../dos/program_mousectl.cpp`**
Implementation of the command line tool, allowing to change settings (like
sensitivity or emulated sampling rate) during the runtime. The tool can also
be used to map a single physical mouse to the given emulated interface, thus
allowing for dual-mice gaming.
###### `mouse_common.cpp`
**`mouse_common.cpp`**
Various helper methods, like implementation of mouse ballistics acceleration
model).
###### `mouse_config.cpp`
**`mouse_config.cpp`**
Handles `[mouse]` section of the DOSBox configuration file.
###### `mouse_interfaces.cpp`
**`mouse_interfaces.cpp`**
Common object-oriented API, abstracting various emulated mouse interfaces for
`mouse.cpp` and `mouse_manymouse.cpp`.
###### `mouse_manymouse.cpp`
**`mouse_manymouse.cpp`**
Object-oriented wrapper around a 3rd party _ManyMouse_ library, used for
dual-mice gaming. Used as a source of mouse events - but only when a physical
mouse is mapped to the emulated interface, otherwise all mouse events come
from SDL-based GFX subsystem.
###### `mouse_queue.cpp`
**`mouse_queue.cpp`**
A 'queue' - delays and aggregates mouse events from host OS to simulate
the desired mouse scanning rate.
###### `mouseif_*.cpp`
**`mouseif_*.cpp`**
Implementations (non-object oriented) of various mouse interfaces:
@ -63,7 +64,7 @@ but requires a PCI device
- InPort / Bus mouse - I know no description, but Bochs contains an emulation
code, under GPL2-or-above license
###### `../serialport/serialmouse.cpp`
**`../serialport/serialmouse.cpp`**
Serial mice emulation - idea is similar to `mouseif_*.cpp` files, but
implemented in object-oriented way, as a serial port device; multiple

View file

@ -1 +0,0 @@
rules "~MD005", "~MD033", "~MD046"

View file

@ -55,17 +55,17 @@ sha256: 3022bdd405dc1106007c3505e6a5d083<wbr>de982d516c9bce499e2c4a02a697a1bd
Our pre-compiled builds run on most Linux distributions (x86\_64 only for now).
They depend on the following packages:
#### Fedora
### Fedora
sudo dnf install SDL2 SDL2_image SDL2_net opusfile
#### Ubuntu, Debian
### Ubuntu, Debian
Ubuntu 18.04 or newer, and Debian 9 or newer is required.
sudo apt install libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl2-net-2.0-0 libopusfile0
#### Arch, Manjaro
### Arch, Manjaro
sudo pacman -S sdl2 sdl2_image sdl2_net opusfile
@ -95,70 +95,70 @@ are designed with developers and testers in mind.
## Older builds
- [DOSBox Staging 0.79.1 (tar.xz)][0_79_1]
<br>
<small>
sha256: aebf8619bb44934f18d0e219d50c4e2c<wbr>03b179c37daa67a9b800e7bd3aefc262
</small>
<br>
<small>
sha256: aebf8619bb44934f18d0e219d50c4e2c<wbr>03b179c37daa67a9b800e7bd3aefc262
</small>
- [DOSBox Staging 0.79.0 (tar.xz)][0_79_0]
<br>
<small>
sha256: 804adb294096ab651490b1664570203f<wbr>24e460048d7e6e2e388d210a8380016a
</small>
<br>
<small>
sha256: 804adb294096ab651490b1664570203f<wbr>24e460048d7e6e2e388d210a8380016a
</small>
- [DOSBox Staging 0.78.1 (tar.xz)][0_78_1]
<br>
<small>
sha256: 8bd2a247ca960f6059276db2b0331f85<wbr>3e16bc8a090722b15f567782542b5fba
</small>
<br>
<small>
sha256: 8bd2a247ca960f6059276db2b0331f85<wbr>3e16bc8a090722b15f567782542b5fba
</small>
- [DOSBox Staging 0.78.0 (tar.xz)][0_78_0]
<br>
<small>
sha256: 085e7cbe350546b3f25b0400c872a276<wbr>6f9a49d16a5ca8d17a0a93aad6e37709
</small>
<br>
<small>
sha256: 085e7cbe350546b3f25b0400c872a276<wbr>6f9a49d16a5ca8d17a0a93aad6e37709
</small>
- [DOSBox Staging 0.77.1 (tar.xz)][0_77_1]
<br>
<small>
sha256: e2d475e4b1f80881ccafc4502b3884c0<wbr>96b51aa2fc2cfe89bb6c2b8ebfb7cc76
</small>
<br>
<small>
sha256: e2d475e4b1f80881ccafc4502b3884c0<wbr>96b51aa2fc2cfe89bb6c2b8ebfb7cc76
</small>
- [DOSBox Staging 0.76.0 (tar.xz)][0_77_0]
<br>
<small>
sha256: f8401bcd473d5b664eeb3a90e4dbb4bb<wbr>f0cef5339adba867f361c00b7de9b2fe
</small>
<br>
<small>
sha256: f8401bcd473d5b664eeb3a90e4dbb4bb<wbr>f0cef5339adba867f361c00b7de9b2fe
</small>
- [DOSBox Staging 0.76.0 (tar.xz)][0_76_0]
<br>
<small>
sha256: b14de58ba0f5dd192398cda58fa439b1<wbr>5512f50d1c88b5ded6f300d4a9212852
</small>
<br>
<small>
sha256: b14de58ba0f5dd192398cda58fa439b1<wbr>5512f50d1c88b5ded6f300d4a9212852
</small>
- [DOSBox Staging 0.75.2 (tar.xz)][0_75_2]
<br>
<small>
sha256: 0325a1860aea95e8117aa49b041bfd62<wbr>8ab20531a3abc7b0a67aff4c47049465
</small>
<br>
<small>
sha256: 0325a1860aea95e8117aa49b041bfd62<wbr>8ab20531a3abc7b0a67aff4c47049465
</small>
- [DOSBox Staging 0.75.1 (tar.xz)][0_75_1]
<br>
<small>
sha256: aef22e5ddf93ff826fc2d48a4c8c0b40<wbr>97d3455525b40be5b3fb443935929c70
</small>
<br>
<small>
sha256: aef22e5ddf93ff826fc2d48a4c8c0b40<wbr>97d3455525b40be5b3fb443935929c70
</small>
- [DOSBox Staging 0.75.0 (tar.xz)][0_75_0]
<br>
<small>
sha256: a28d8ba0481722c8343b7532299c7b9b<wbr>b9e491c6832d9d05dd4704939287f776
</small>
<br>
<small>
sha256: a28d8ba0481722c8343b7532299c7b9b<wbr>b9e491c6832d9d05dd4704939287f776
</small>
- [DOSBox Staging 0.75.0-rc1 (tar.xz)][0_75_0_rc1]
<br>
<small>
sha256: 594ba45280af240cb18b3882f7ffa711<wbr>69a697eb362b7d7a76c8ccda2b940e84
</small>
<br>
<small>
sha256: 594ba45280af240cb18b3882f7ffa711<wbr>69a697eb362b7d7a76c8ccda2b940e84
</small>
[0_80_0]: https://github.com/dosbox-staging/dosbox-staging/releases/download/v0.80.0/dosbox-staging-linux-v0.80.0.tar.xz
[0_79_1]: https://github.com/dosbox-staging/dosbox-staging/releases/download/v0.79.1/dosbox-staging-linux-v0.79.1.tar.xz

View file

@ -83,88 +83,88 @@ payments and therefore ask users to bypass Apple's Gatekeeper manually.
## Older builds
- [DOSBox Staging 0.79.1 Universal binary (dmg)][0_79_1]
<br>
<small>
sha256: 52547692be29949747bb8d3b59bf31dd<wbr>22b4f49178316417cc8f1f468eeab387
</small>
<br>
<small>
sha256: 52547692be29949747bb8d3b59bf31dd<wbr>22b4f49178316417cc8f1f468eeab387
</small>
- [DOSBox Staging 0.79.0 Universal binary (dmg)][0_79_0]
<br>
<small>
sha256: 1678f7458acabecdaf2b49e0d95a20d0<wbr>57734898b70c29d4e845f52a1aa26d46
</small>
<br>
<small>
sha256: 1678f7458acabecdaf2b49e0d95a20d0<wbr>57734898b70c29d4e845f52a1aa26d46
</small>
- [DOSBox Staging 0.78.1 Universal binary (dmg)][0_78_1_UB]
<br>
<small>
sha256: b9ddff89e9fc283493580d5fc021b050<wbr>21a13d90305ae44e2867499b22e359c9
</small>
<br>
<small>
sha256: b9ddff89e9fc283493580d5fc021b050<wbr>21a13d90305ae44e2867499b22e359c9
</small>
- [DOSBox Staging 0.78.0 Universal binary (dmg)][0_78_0_UB]
<br>
<small>
sha256: 3997546560af542b7f3b55b1bc890ae4<wbr>342144a72c21af9880449adf579db88b
</small>
<br>
<small>
sha256: 3997546560af542b7f3b55b1bc890ae4<wbr>342144a72c21af9880449adf579db88b
</small>
- [DOSBox Staging 0.77.1 x86-64 (dmg)][0_77_1_x64]
<br>
<small>
sha256: 29964d79f0a85d593f8bafd30da854c7<wbr>26594c12474528f46758fc95c05f0c97
</small>
<br>
<small>
sha256: 29964d79f0a85d593f8bafd30da854c7<wbr>26594c12474528f46758fc95c05f0c97
</small>
- [DOSBox Staging 0.77.1 ARM64 (dmg)][0_77_1_arm64]
<br>
<small>
sha256: 74a1c84bdda0db25091f749ba7a2e5e9<wbr>3f7849baf130817ea1bc182039bd3698
</small>
<br>
<small>
sha256: 74a1c84bdda0db25091f749ba7a2e5e9<wbr>3f7849baf130817ea1bc182039bd3698
</small>
- [DOSBox Staging 0.77.0 x86-64 (dmg)][0_77_0_x64] (macOS 10.15 or newer)
<br>
<small>
sha256: 3ca859573814b2c50065825c02d8a04e<wbr>b6d95605830ec3af21de0d64a2e32314
</small>
<br>
<small>
sha256: 3ca859573814b2c50065825c02d8a04e<wbr>b6d95605830ec3af21de0d64a2e32314
</small>
- [DOSBox Staging 0.77.0 ARM64-testing (dmg)][0_77_0_arm64] (macOS 11 or newer)
<br>
<small>
sha256: e2eecb52777d5ed836ba1f772fe669c8<wbr>9e94ea9b67777aced5fef5b51051ccaf
</small>
<br>
<small>
sha256: e2eecb52777d5ed836ba1f772fe669c8<wbr>9e94ea9b67777aced5fef5b51051ccaf
</small>
- [DOSBox Staging 0.76.0-3 (dmg)][0_76_0-3] (macOS 10.15 or newer)
<br>
<small>
sha256: f6048fa0e1a33a41f0018cb6d7139c4f<wbr>7b4a60176bbe6a42f681aa8b5adcb73b
</small>
<br>
<small>
sha256: f6048fa0e1a33a41f0018cb6d7139c4f<wbr>7b4a60176bbe6a42f681aa8b5adcb73b
</small>
- [DOSBox Staging 0.76.0 (dmg)][0_76_0] (macOS 10.15 or newer)
<br>
<small>
sha256: c9fa7b0bf6410f430b47daeb15a470e0<wbr>105a147b555d3fbf574514406c71f492
</small>
<br>
<small>
sha256: c9fa7b0bf6410f430b47daeb15a470e0<wbr>105a147b555d3fbf574514406c71f492
</small>
- [DOSBox Staging 0.75.2 (dmg)][0_75_2] (macOS 10.15 or newer)
<br>
<small>
sha256: 272f01aa8598ecf3229d48680aa6ce6e<wbr>5b88ebd0645b1f92b899bc0159afcf11
</small>
<br>
<small>
sha256: 272f01aa8598ecf3229d48680aa6ce6e<wbr>5b88ebd0645b1f92b899bc0159afcf11
</small>
- [DOSBox Staging 0.75.1 (dmg)][0_75_1] (macOS 10.15 or newer)
<br>
<small>
sha256: 2508a87c6aceee63da13e4c76159734e<wbr>3c9ee4e76fb22a3a7c0d66021e71a4eb
</small>
<br>
<small>
sha256: 2508a87c6aceee63da13e4c76159734e<wbr>3c9ee4e76fb22a3a7c0d66021e71a4eb
</small>
- [DOSBox Staging 0.75.0 (dmg)][0_75_0] (macOS 10.15 or newer)
<br>
<small>
sha256: a0038c7401d239934d25517ca5e8e600<wbr>6cc3f4cb7060f6ace56609d36bca12ef
</small>
<br>
<small>
sha256: a0038c7401d239934d25517ca5e8e600<wbr>6cc3f4cb7060f6ace56609d36bca12ef
</small>
- [DOSBox Staging 0.75.0-rc1 (dmg)][0_75_0_rc1] (macOS 10.15 or newer)
<br/>
<span style="font-size:0.7em">
sha256: 8a5c12d1b6567d6e981acd76e30dec41<wbr>a73a699963b714f4f1dcf0fc853fc9f6
</span>
<br/>
<span style="font-size:0.7em">
sha256: 8a5c12d1b6567d6e981acd76e30dec41<wbr>a73a699963b714f4f1dcf0fc853fc9f6
</span>
[0_80_0]: https://github.com/dosbox-staging/dosbox-staging/releases/download/v0.80.0/dosbox-staging-macOS-v0.80.0.dmg
[0_79_1]: https://github.com/dosbox-staging/dosbox-staging/releases/download/v0.79.1/dosbox-staging-macOS-v0.79.1.dmg

View file

@ -22,41 +22,41 @@ dropped.
## Significant changes
- [Migrated](https://github.com/dosbox-staging/dosbox-staging/issues/854) Staging from autotools to the Meson build system.
- Those building from source, please see `BUILD.md` in the repository.
- Those building from source, please see `BUILD.md` in the repository.
- [Added](https://github.com/dosbox-staging/dosbox-staging/pull/1031) write-xor-execute page support to comply with the latest macOS and SELinux security policies.
- Thanks to *jmarsh* and *Jonathan Campbell* for discussions on vogons.
- Thanks to *jmarsh* and *Jonathan Campbell* for discussions on vogons.
- [Added](https://github.com/dosbox-staging/dosbox-staging/pull/1059) variable expansion to the interactive DOS shell.
- Finished **FluidSynth integration**, which is now included in all release binaries.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/MIDI#fluidsynth) for how to use it.
- Run `mixer /listmidi` in the DOS shell to see your available soundfonts.
- Thanks to *Christian Lestrade* for [authoring](https://sourceforge.net/p/dosbox/patches/107/) this support in 2005, and all subsequent maintainers.
- Thanks to *Meson* for [adding](https://github.com/mesonbuild/fluidsynth/tree/2.2.0) FluidSynth to the WrapDB.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/MIDI#fluidsynth) for how to use it.
- Run `mixer /listmidi` in the DOS shell to see your available soundfonts.
- Thanks to *Christian Lestrade* for [authoring](https://sourceforge.net/p/dosbox/patches/107/) this support in 2005, and all subsequent maintainers.
- Thanks to *Meson* for [adding](https://github.com/mesonbuild/fluidsynth/tree/2.2.0) FluidSynth to the WrapDB.
- Finished **MT-32 integration**, which is now included in all release binaries.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/MIDI#mt32emu) for how to use it.
- Run `mixer /listmidi` in the DOS shell to see the available MT-32 models and versions.
- See the list of [*unmissable* MT-32 experiences](https://www.vogons.org/viewtopic.php?f=62&t=77567), courtesy vogons.org forum user *Shreddoc* and contributors.
- Thanks to *Canadacow* for [authoring](https://www.vogons.org/viewtopic.php?p=15519#p15519) MT-32 emulation in 2003, *KingGuppy* and *Mok* for the follow-on work, and *SergM* who continues to maintain and improve the Munt project today.
- Thanks to *Meson* for [adding](https://github.com/mesonbuild/mt32emu/tree/2.5.0) libmt32emu to the WrapDB.
- Thanks to *Microsoft* for [adding](https://github.com/microsoft/vcpkg/issues/16813) libmt32emu to Vcpkg.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/MIDI#mt32emu) for how to use it.
- Run `mixer /listmidi` in the DOS shell to see the available MT-32 models and versions.
- See the list of [*unmissable* MT-32 experiences](https://www.vogons.org/viewtopic.php?f=62&t=77567), courtesy vogons.org forum user *Shreddoc* and contributors.
- Thanks to *Canadacow* for [authoring](https://www.vogons.org/viewtopic.php?p=15519#p15519) MT-32 emulation in 2003, *KingGuppy* and *Mok* for the follow-on work, and *SergM* who continues to maintain and improve the Munt project today.
- Thanks to *Meson* for [adding](https://github.com/mesonbuild/mt32emu/tree/2.5.0) libmt32emu to the WrapDB.
- Thanks to *Microsoft* for [adding](https://github.com/microsoft/vcpkg/issues/16813) libmt32emu to Vcpkg.
- Added **IBM PS/1 Audio** device support.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/IBM-PS-1-Audio) for how to use it.
- Thanks to *JMK* for [authoring](https://www.vogons.org/viewtopic.php?p=132826#p132826) PS/1 Audio emulation in 2008.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/IBM-PS-1-Audio) for how to use it.
- Thanks to *JMK* for [authoring](https://www.vogons.org/viewtopic.php?p=132826#p132826) PS/1 Audio emulation in 2008.
- Added **Innovation SSI-2001** audio device support.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/Innovation-SSI-2001-Audio) for how to use it.
- Thanks to *Vasyl* for [authoring](https://www.vogons.org/viewtopic.php?p=93689#p93689) SSI-2001 emulation in 2006.
- Thanks to *Dag Lem* for authoring, and *Antti Lankila* and *Leandro Nini* for improving the SID chip emulator.
- See the [wiki notes](https://github.com/dosbox-staging/dosbox-staging/wiki/Innovation-SSI-2001-Audio) for how to use it.
- Thanks to *Vasyl* for [authoring](https://www.vogons.org/viewtopic.php?p=93689#p93689) SSI-2001 emulation in 2006.
- Thanks to *Dag Lem* for authoring, and *Antti Lankila* and *Leandro Nini* for improving the SID chip emulator.
- Replaced the default ++ctrl+f1++ - ++f12++ hotkeys [on macOS](https://github.com/dosbox-staging/dosbox-staging/pull/996#issuecomment-834960586) with ++cmd+f1++ - ++f12++ to reduce conflicts with the OS.
- Thanks to *Antti Peltola*, *Burrito78*, and *Kirk Klobe* for guidance and testing.
- Thanks to *Antti Peltola*, *Burrito78*, and *Kirk Klobe* for guidance and testing.
- Added or improved translations for French, Italian, Polish, Russian, and Spanish.
- Thanks to *Draky50110* (fr), *Kappa971* (it), *dreamer* (po), *IlyaIndigo* (ru), and *Peluchito* (es).
- Thanks to *Draky50110* (fr), *Kappa971* (it), *dreamer* (po), *IlyaIndigo* (ru), and *Peluchito* (es).
- Added `splash_only` to the `startup_verbosity` settings. This shows the splash but skips the help banner.

View file

@ -58,8 +58,8 @@ Maintenance changes to 0.78.1 are as follows *(reported-by; fixed-by)*:
## Known issues
- The MSYS2-built debugger will fail to open if launched from the Windows UI.
- As a work-around, run it from within a command console.
- Thanks to *Sherman Perry* for investigating this issue and isolating it to the Windows Console API.
- As a work-around, run it from within a command console.
- Thanks to *Sherman Perry* for investigating this issue and isolating it to the Windows Console API.
- Audio might stutter on some Windows platforms. If your system is affected, adjust the mixer's settings in your config file as follows:
@ -68,6 +68,7 @@ Maintenance changes to 0.78.1 are as follows *(reported-by; fixed-by)*:
blocksize = 1024
prebuffer = 25
```
!!! tip
Run `dosbox -editconf` to open your config file.

View file

@ -28,7 +28,7 @@ Read on for all the details!
Get started by downloading the latest version and updating your configuration
file:
### Downloads
### Downloads
<div class="compact" markdown>
@ -119,7 +119,7 @@ The title bar now displays some short help about the mouse, such as how it can
be captured or released.
### Ability to use local configs via Finder on macOS
### Ability to use local configs via Finder on macOS
A new `--working-dir <path>` command line parameter has been introduced to make
it possible to launch DOSBox Staging using local configs from the Finder on

View file

@ -78,118 +78,118 @@ DOSBox Staging.
- [DOSBox Staging 0.79.1 64-bit (installer)][0_79_1_x64_INSTALLER]
<br>
<small>
sha256: 0045ac995ada0af955681983ae86c969<wbr>a05030c25173618f8b1547a267046a27
</small>
<br>
<small>
sha256: 0045ac995ada0af955681983ae86c969<wbr>a05030c25173618f8b1547a267046a27
</small>
- [DOSBox Staging 0.79.1 64-bit (zip)][0_79_1_x64_ZIP]
<br>
<small>
sha256: 8c7045dfea6dc20bb985cff516d2faee<wbr>51d2ecaf054db60632857b6941d3d648
</small>
<br>
<small>
sha256: 8c7045dfea6dc20bb985cff516d2faee<wbr>51d2ecaf054db60632857b6941d3d648
</small>
- [DOSBox Staging 0.79.0 64-bit (installer)][0_79_0_x64_INSTALLER]
<br>
<small>
sha256: 154c663f76d0ca46d1d23d8c2bcea2d8<wbr>3717f1ba9103067a6a6f5ce814cf0cb2
</small>
<br>
<small>
sha256: 154c663f76d0ca46d1d23d8c2bcea2d8<wbr>3717f1ba9103067a6a6f5ce814cf0cb2
</small>
- [DOSBox Staging 0.79.0 64-bit (zip)][0_79_0_x64_ZIP]
<br>
<small>
sha256: b3633d425489fbb5f6f9b3de75e4c2c6<wbr>dd0713c3aec504e42cac948cc1550bbe
</small>
<br>
<small>
sha256: b3633d425489fbb5f6f9b3de75e4c2c6<wbr>dd0713c3aec504e42cac948cc1550bbe
</small>
- [DOSBox Staging 0.78.1 64-bit (zip)][0_78_1_x64_MSYS2]
<br>
<small>
sha256: 3c2f408125351154a37e93de8a4bd05d<wbr>0c722bbf53e1f583909e4ca6c3eb9204
</small>
<br>
<small>
sha256: 3c2f408125351154a37e93de8a4bd05d<wbr>0c722bbf53e1f583909e4ca6c3eb9204
</small>
- [DOSBox Staging with built-in debugger 0.78.1 64-bit (zip)][0_78_1_x64_MSVC]
<br>
<small>
sha256: b99f3c354f831ed2b0ed04d215170f69<wbr>6b6fc18285b0c7192c0abab62c41bbc8
</small>
<br>
<small>
sha256: b99f3c354f831ed2b0ed04d215170f69<wbr>6b6fc18285b0c7192c0abab62c41bbc8
</small>
- [DOSBox Staging 0.78.0 64-bit (zip)][0_78_0_x64]
<br>
<small>
sha256: f13cba664259fdb0db5e32826e13dcde<wbr>d4270557963f6e823a4731129f23a8a3
</small>
<br>
<small>
sha256: f13cba664259fdb0db5e32826e13dcde<wbr>d4270557963f6e823a4731129f23a8a3
</small>
- [DOSBox Staging 0.78.0 32-bit (zip)][0_78_0_x86]
<br>
<small>
sha256: 0ca9201cdf3f3a1576b97b0de0e87280<wbr>b75c633976f0b179ba33a68d44f5ba56
</small>
<br>
<small>
sha256: 0ca9201cdf3f3a1576b97b0de0e87280<wbr>b75c633976f0b179ba33a68d44f5ba56
</small>
- [DOSBox Staging 0.77.1 64-bit (zip)][0_77_1_x64]
<br>
<small>
sha256: 11ba992ece6d3e4ef2046fcdb6d842da<wbr>364b69720a921d61fdcc793eb52e7051
</small>
<br>
<small>
sha256: 11ba992ece6d3e4ef2046fcdb6d842da<wbr>364b69720a921d61fdcc793eb52e7051
</small>
- [DOSBox Staging 0.77.1 32-bit (zip)][0_77_1_x86]
<br>
<small>
sha256: a34883101486ce2af071a29c6390f203<wbr>8889fc519e042101284f2a6999d9f0ef
</small>
<br>
<small>
sha256: a34883101486ce2af071a29c6390f203<wbr>8889fc519e042101284f2a6999d9f0ef
</small>
- [DOSBox Staging 0.77.0 64-bit (zip)][0_77_0_x64]
<br>
<small>
sha256: cacdac418642fd8c7faf1e5955110c35<wbr>d0c207392ae20835707fd2a1e1114b82
</small>
<br>
<small>
sha256: cacdac418642fd8c7faf1e5955110c35<wbr>d0c207392ae20835707fd2a1e1114b82
</small>
- [DOSBox Staging 0.77.0 32-bit (zip)][0_77_0_x86]
<br>
<small>
sha256: f718d07bab69e3e1be0b28207039cea2<wbr>746c7e45b8ba7a19b625011f477e609a
</small>
<br>
<small>
sha256: f718d07bab69e3e1be0b28207039cea2<wbr>746c7e45b8ba7a19b625011f477e609a
</small>
- [DOSBox Staging 0.76.0 32-bit (zip)][0_76_0_x86]
<br>
<small>
sha256: 646d2f3fa8189e411589fedcb8148a29<wbr>5361693a6ce95d08e06f4a70e5a36b16
</small>
<br>
<small>
sha256: 646d2f3fa8189e411589fedcb8148a29<wbr>5361693a6ce95d08e06f4a70e5a36b16
</small>
- [DOSBox Staging 0.75.2 64-bit (zip)][0_75_2_x64]
<br>
<small>
sha256: 09f0ca911813a64b8814880eb6e49ad4<wbr>dcdac9a5bb9263c4887ad82b71fad292
</small>
<br>
<small>
sha256: 09f0ca911813a64b8814880eb6e49ad4<wbr>dcdac9a5bb9263c4887ad82b71fad292
</small>
- [DOSBox Staging 0.75.2 32-bit (zip)][0_75_2_x86]
<br>
<small>
sha256: 51dc171ff52ea395c6a22f09ebb98a93<wbr>974a95c701ca81008368c22a66deced2
</small>
<br>
<small>
sha256: 51dc171ff52ea395c6a22f09ebb98a93<wbr>974a95c701ca81008368c22a66deced2
</small>
- [DOSBox Staging 0.75.1 64-bit (zip)][0_75_1_x64]
<br>
<small>
sha256: 80c60c4377ff2882649f113b3cb3bcd4<wbr>07c17acaac344c49fa1fc4229813f012
</small>
<br>
<small>
sha256: 80c60c4377ff2882649f113b3cb3bcd4<wbr>07c17acaac344c49fa1fc4229813f012
</small>
- [DOSBox Staging 0.75.1 32-bit (zip)][0_75_1_x86]
<br>
<small>
sha256: 843c742a348f575862e152e02cf174be<wbr>0ea1c52bdb6e4bffd65f34af88b566b7
</small>
<br>
<small>
sha256: 843c742a348f575862e152e02cf174be<wbr>0ea1c52bdb6e4bffd65f34af88b566b7
</small>
- [DOSBox Staging 0.75.0 32-bit (zip)][0_75_0_x86]
<br>
<small>
sha256: 69046adcef2ef9920fbba8d40fc9e51f<wbr>3dd144ba4549787e1816cf1c2ae87d71
</small>
<br>
<small>
sha256: 69046adcef2ef9920fbba8d40fc9e51f<wbr>3dd144ba4549787e1816cf1c2ae87d71
</small>
- [DOSBox Staging 0.75.0-rc1 32-bit (zip)][0_75_0_rc1_x86]
<br>
<small>
sha256: 738d2ae2101384f2eeaf1895de64cf1b<wbr>4c76eaf7873de7e15b7f52145dfed7e7
</small>
<br>
<small>
sha256: 738d2ae2101384f2eeaf1895de64cf1b<wbr>4c76eaf7873de7e15b7f52145dfed7e7
</small>
[0_80_0_x64_INSTALLER]: https://github.com/dosbox-staging/dosbox-staging/releases/download/v0.80.0/dosbox-staging-v0.80.0-setup.exe
[0_80_0_x64_ZIP]: https://github.com/dosbox-staging/dosbox-staging/releases/download/v0.80.0/dosbox-staging-windows-msys2-x86_64-v0.80.0.zip