diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000..546da22679a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,7 @@ +wiki/*.html linguist-generated=true +wiki/*.css linguist-generated=true +wiki/index.html linguist-generated=false +wiki/guides.html linguist-generated=false +wiki/docinfo linguist-generated=false +doxygen linguist-generated=true +*-compat.html linguist-generated=true \ No newline at end of file diff --git a/.pages.yml b/.pages.yml new file mode 100644 index 00000000000..b64a2ad7c6e --- /dev/null +++ b/.pages.yml @@ -0,0 +1,104 @@ +content: + + - name: latest_version + label: Latest Version Data + path: _data/latest_version.yml + type: file + fields: + - name: version + label: Version + type: string + required: true + - name: git_tag + label: Git Tag + type: string + required: true + + - name: windows_setup_file + label: Windows setup filename + type: string + - name: winXP_setup_file + label: Windows XP special setup filename + type: string + - name: win9x_file + label: Windows 9x/NT4 special build filename + type: string + + - name: macos_intel_file + label: macOS Intel build filename + type: string + - name: macos_arm_file + label: macOS ARM build filename + type: string + + - name: dos_hx_file + label: HX-DOS build filename + type: string + + # Presently obsolete flavors + - name: macos_special_file + label: macOS High Sierra special build filename + type: string + - name: dos_loadlin_file + label: DOS LOADLIN build filename + type: string + + - name: release_notes + label: Release Notes + path: _release_notes + type: collection + filename: "{primary}.md" + subfolders: false + fields: + - name: slug + label: Version + type: string + required: true + - name: version_secondary + label: Secondary Version + type: string + required: false + description: For specific versions that has both a 0.xx.x string and a YYYY.MM.x string. + - name: date + label: Date + type: date + required: true + options: + format: MMMM D, YYYY + - name: body + label: Body + description: Usually just the change log. + type: rich-text + required: true + view: + primary: slug + fields: [ slug, date ] + sort: [ date, slug ] + default: + sort: date + order: desc + + - name: posts + label: Blog Posts + path: _posts + type: collection + subfolders: false + fields: + - name: title + label: Title + type: string + required: true + - name: date + label: Date + type: date + required: true + options: + time: true + - name: body + label: Body + type: rich-text + required: true + +media: + input: images + output: "{{ '/images' | relative_url }}" \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a81bfcbd1bb..fa34f9fe665 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,31 +1,36 @@ ## Setting up the dev environment (extremely brief version) -This is a [Jekyll](https://jekyllrb.com/) site. If you want to develop it, I recommend to install the site's dependencies with [Bundler](https://bundler.io) assuming that you have Ruby installed: +This is a [Jekyll](https://jekyllrb.com/) site. If you want to develop it, I recommend to install the site's dependencies with [Bundler](https://bundler.io), assuming that you have Ruby 3.1 installed: ```sh $ bundle install ``` Then you can utilize the Jekyll CLI to preview your changes to the site locally and live: -``` +```sh $ bundle exec jekyll serve ``` -## Updating the latest version +## Adding content that will be used by Jekyll + +If you feel fancy you can use [Pages CMS](https://pagescms.org/) to deal with all this + +### Updating the latest version Before doing this, you probably want to make sure all files for the release are ready and uploaded to GitHub, to make users' life easier -1. Add a release notes page for the latest version - see [adding a release note page](#adding-a-release-note-page) +1. Add a release notes page for the latest version, see below 2. Open [`_data/latest_version.yml`](_data/latest_version.yml) 3. Edit the fields accordingly 4. You're basically done -## Adding a release note page +### Adding a release note page 1. Create a file in [`_release_notes/`](_release_notes/) by the name of `.md` and open it 2. Add a front matter like below to the start of the file, then append a new line after it ```markdown --- - date: "" + slug: "" + date: "" --- ``` 3. Extract the release notes from `CHANGELOG` or write your own, make sure it's in Markdown format, then append it to the file @@ -33,6 +38,10 @@ Before doing this, you probably want to make sure all files for the release are > The page will be located at `/release-.html` 5. You're basically done +### Writing a new page + +Just do it as one would with a normal Jekyll site (see [this](https://jekyllrb.com/docs/pages/) for pages and [this](https://jekyllrb.com/docs/posts/) for posts), except if you're writing a blog post for some reason - don't set the layout if so. You can [use Jekyll Compose](https://github.com/jekyll/jekyll-compose#usage) for this if you'd like some shortcuts. + ## Updating the wiki > If you mean to contribute to the wiki, I'll direct you to [rderooy/dosbox-x-wiki](https://github.com/rderooy/dosbox-x-wiki) as that's where wiki updates are pulled from right now @@ -46,8 +55,4 @@ $ git pull $ cd path/to/dosbox-x-gh-pages $ ./update-wiki ./wiki path/to/dosbox-x.wiki.git -``` - -## Writing a new page - -Just do it as one would with a normal Jekyll site (see [this](https://jekyllrb.com/docs/pages/) for pages and [this](https://jekyllrb.com/docs/posts/) for posts), except if you're writing a blog post for some reason - don't set the layout if so. You can [use Jekyll Compose](https://github.com/jekyll/jekyll-compose#usage) for this if you'd like some shortcuts. \ No newline at end of file +``` \ No newline at end of file diff --git a/Gemfile b/Gemfile index 1badb9bc7ff..4c3b01a5602 100644 --- a/Gemfile +++ b/Gemfile @@ -8,12 +8,15 @@ source "https://rubygems.org" # This will help ensure the proper Jekyll version is running. # Happy Jekylling! -# gem "jekyll", "~> 4.2.2" -gem "github-pages", "~> 227", group: :jekyll_plugins +gem "github-pages", "~> 231", group: :jekyll_plugins +# github-pages v231 requires Ruby v3.0+ which doesn't come with webricks +# Jekyll v4.3+ hard requires webricks but apparently not Jekyll v3.9 +# What a mess +gem "webrick", "~> 1.8" + # If you have any plugins, put them here! group :jekyll_plugins do - #gem "jekyll-feed", "~> 0.12" - gem "jekyll-compose", "~> 0.12.0" + gem "jekyll-compose", "~> 0.12" end # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem @@ -30,6 +33,8 @@ gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] # do not have a Java counterpart. gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] -# Dependencies for docs -gem "asciidoctor", "~> 2.0" -gem "rouge", "~> 3.26" +# Dependencies for wiki +group :wiki do + gem "asciidoctor", "~> 2.0" + gem "rouge", "~> 3.30" +end \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index a2d59015867..6871284be50 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,48 +1,56 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.6.1) + activesupport (7.1.3.2) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.4) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) - asciidoctor (2.0.20) + asciidoctor (2.0.21) + base64 (0.2.0) + bigdecimal (3.1.6) coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.11.1) + coffee-script-source (1.12.2) colorator (1.1.0) - commonmarker (0.23.9) - concurrent-ruby (1.2.2) + commonmarker (0.23.10) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) dnsruby (1.70.0) simpleidn (~> 0.2.1) + drb (2.2.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) ethon (0.16.0) ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.8.1) - faraday (2.7.5) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) - ffi (1.15.5) + execjs (2.9.1) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) + faraday-net_http (3.1.0) + net-http + ffi (1.16.3) forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (227) - github-pages-health-check (= 1.17.9) - jekyll (= 3.9.2) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.2.0) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.15.1) + gemoji (4.1.0) + github-pages (231) + github-pages-health-check (= 1.18.2) + jekyll (= 3.9.5) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.4.0) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.13.0) + jekyll-github-metadata (= 2.16.1) jekyll-include-cache (= 0.2.1) jekyll-mentions (= 1.6.0) jekyll-optional-front-matter (= 0.3.2) @@ -69,32 +77,32 @@ GEM jekyll-theme-tactile (= 0.2.0) jekyll-theme-time-machine (= 0.2.0) jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.12.0) - kramdown (= 2.3.2) + jemoji (= 0.13.0) + kramdown (= 2.4.0) kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.3) + liquid (= 4.0.4) mercenary (~> 0.3) minima (= 2.5.1) nokogiri (>= 1.13.6, < 2.0) - rouge (= 3.26.0) + rouge (= 3.30.0) terminal-table (~> 1.4) - github-pages-health-check (1.17.9) + github-pages-health-check (1.18.2) addressable (~> 2.3) dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (>= 3.0, < 5.0) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) typhoeus (~> 1.3) html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) - i18n (0.9.5) + i18n (1.14.1) concurrent-ruby (~> 1.0) - jekyll (3.9.2) + jekyll (3.9.5) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) + i18n (>= 0.7, < 2) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 2.0) kramdown (>= 1.17, < 3) @@ -103,29 +111,29 @@ GEM pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-avatar (0.7.0) + jekyll-avatar (0.8.0) jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.1.1) + jekyll-coffeescript (1.2.2) coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) + coffee-script-source (~> 1.12) jekyll-commonmark (1.4.0) commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.2.0) - commonmarker (~> 0.23.4) + jekyll-commonmark-ghpages (0.4.0) + commonmarker (~> 0.23.7) jekyll (~> 3.9.0) jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 4.0) + rouge (>= 2.0, < 5.0) jekyll-compose (0.12.0) jekyll (>= 3.7, < 5.0) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.15.1) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) - jekyll-github-metadata (2.13.0) + jekyll-github-metadata (2.16.1) jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) + octokit (>= 4, < 7, != 4.4.0) jekyll-include-cache (0.2.1) jekyll (>= 3.7, < 5.0) jekyll-mentions (1.6.0) @@ -196,16 +204,16 @@ GEM jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.12.0) - gemoji (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) - kramdown (2.3.2) + kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - liquid (4.0.3) - listen (3.8.0) + liquid (4.0.4) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) @@ -213,24 +221,34 @@ GEM jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.18.0) - nokogiri (1.15.2-arm-linux) + minitest (5.22.2) + mutex_m (0.2.0) + net-http (0.4.1) + uri + nokogiri (1.16.2-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.2-arm-linux) racc (~> 1.4) - nokogiri (1.15.2-x86_64-linux) + nokogiri (1.16.2-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.2-x86-linux) + racc (~> 1.4) + nokogiri (1.16.2-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.2-x86_64-linux) racc (~> 1.4) octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.7) - racc (1.6.2) + public_suffix (5.0.4) + racc (1.7.3) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rexml (3.2.5) - rouge (3.26.0) - ruby2_keywords (0.0.5) + rexml (3.2.6) + rouge (3.30.0) rubyzip (2.3.2) safe_yaml (1.0.5) sass (3.7.4) @@ -245,30 +263,35 @@ GEM unf (~> 0.1.4) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) - tzinfo (1.2.11) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) unf (0.1.4) unf_ext - unf_ext (0.0.8.2) + unf_ext (0.0.9.1) unicode-display_width (1.8.0) - zeitwerk (2.6.8) + uri (0.13.0) + webrick (1.8.1) PLATFORMS - arm-linux-androideabi + aarch64-linux + arm-linux + arm64-darwin + x86-linux + x86_64-darwin x86_64-linux DEPENDENCIES asciidoctor (~> 2.0) - github-pages (~> 227) + github-pages (~> 231) http_parser.rb (~> 0.6.0) - jekyll-compose (~> 0.12.0) - rouge (~> 3.26) + jekyll-compose (~> 0.12) + rouge (~> 3.30) tzinfo (~> 1.2) tzinfo-data wdm (~> 0.1.1) + webrick (~> 1.8) BUNDLED WITH - 2.3.18 + 2.5.6 diff --git a/_config.yml b/_config.yml index 9c95ea67dc4..84e2321fa18 100644 --- a/_config.yml +++ b/_config.yml @@ -95,4 +95,7 @@ exclude: - git-update-all-wo-push - update-wiki + # Pages CMS config + - .pages.yml + - CONTRIBUTING.md \ No newline at end of file diff --git a/_data/latest_version.yml b/_data/latest_version.yml index eb3cba5f4c6..973044cd7dc 100644 --- a/_data/latest_version.yml +++ b/_data/latest_version.yml @@ -1,18 +1,7 @@ -# Change this file to update the version info on index.html -# every release. - -# Release date and secondary version label is retrieved from -# the release note of the version -version: 2023.10.06 -git_tag: dosbox-x-v2023.10.06 - -win32_setup_file: null -win64_setup_file: dosbox-x-windows-2023.10.06-setup.exe -winXP_setup_file: dosbox-x-winXP-2023.10.06-setup.exe - -macos_intel_file: dosbox-x-macosx-x86_64-20231006231157.zip -macos_arm_file: dosbox-x-macosx-arm64-20231006231203.zip -macos_special_file: null - -dos_hx_file: dosbox-x-mingw-hx-dos-20231007055223.zip -dos_loadlin_file: null +version: 2024.03.01 +git_tag: dosbox-x-v2024.03.01 +winXP_setup_file: dosbox-x-winXP-2024.03.01-setup.exe +win9x_file: dosbox-x-mingw-win32-lowend9x-20240301225703.zip +macos_intel_file: dosbox-x-macosx-x86_64-20240301163105.zip +macos_arm_file: dosbox-x-macosx-arm64-20240301150043.zip +dos_hx_file: dosbox-x-mingw-hx-dos-20240301225703.zip diff --git a/_includes/head_common.html b/_includes/head_common.html index ca33869137c..5d96ea9c52c 100644 --- a/_includes/head_common.html +++ b/_includes/head_common.html @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/_includes/header.html b/_includes/header.html index 1b2d45b02dd..47efd0d65aa 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -8,7 +8,9 @@ {%- endif -%}
- + + +

{{ title | escape }}

diff --git a/_includes/version.html b/_includes/version.html index 99d144656db..22c3cd6442b 100644 --- a/_includes/version.html +++ b/_includes/version.html @@ -20,15 +20,24 @@

Supported Platforms:

MS-DOS

Windows version:

-
(Windows XP and later versions supported)
+
(Windows 9x/NT4 and later versions supported)
- 32/64-bit Setup {% include version_file.html version=version name="winXP_setup_file" display_name=" ReactOS/XP+ " %} + {%- unless version.windows_setup_file and version.windows_setup_file != empty -%} {%- comment -%} 2024.03.01 bug {%- endcomment -%} + {% include version_file.html version=version name="winXP_setup_file" display_name="32/64-bit Setup" %} + {%- else -%} + 32/64-bit Setup + {% include version_file.html version=version name="winXP_setup_file" display_name=" ReactOS/XP+ " %} | - {% include version_file.html version=version name="win64_setup_file" display_name=" Vista+" %} - {%- unless version.win32_setup_file and version.win64_setup_file -%}*{%- endunless -%} + {% include version_file.html version=version name="windows_setup_file" display_name=" Vista+" %} + (Recommended) + {%- endunless -%}
- More options including portable packages + 32-bit Portable + {% include version_file.html version=version name="win9x_file" display_name=" 9x/NT4+" %} +
+
+ More options including other portable packages

Linux version:

diff --git a/_layouts/blog/post.html b/_layouts/blog/post.html index d9fb21d26ce..7b9a84c4ac4 100644 --- a/_layouts/blog/post.html +++ b/_layouts/blog/post.html @@ -3,15 +3,17 @@ blog: true --- -
-

{{ page.title | escape }}

-

- -

- +
+
+

{{ page.title | escape }}

+

+ +

+
+ {{ content }}
diff --git a/_layouts/page.html b/_layouts/page.html index 11ccfac3dcb..8e3ada01a46 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -2,12 +2,12 @@ layout: default --- -
- {%- unless layout.disable_title -%} -

{{ page.title | escape }}

- {%- endunless -%} - +
+ {%- unless layout.disable_title -%} +

{{ page.title | escape }}

+ {%- endunless -%} + {{ content }}
diff --git a/_layouts/release_notes.html b/_layouts/release_notes.html index 577402fc909..796db8a22de 100644 --- a/_layouts/release_notes.html +++ b/_layouts/release_notes.html @@ -2,25 +2,27 @@ layout: default --- -
-

DOSBox-X {{ page.slug | escape }}{%- if page.version_secondary %} ({{ page.version_secondary }}){%- endif %} Release Notes

+
+
+
+

DOSBox-X {{ page.slug | escape }}{%- if page.version_secondary %} ({{ page.version_secondary }}){%- endif %} Release Notes

-
-

- Release Date: {{ page.date | date: site.release_date_format }} -

+
+

+ Release Date: {{ page.date | date: site.release_date_format }} +

-

Please report any issues in our issue tracker.

-

Also, make sure to check out our Wiki guide.

-
+

Please report any issues in our issue tracker.

+

Also, make sure to check out our Wiki guide.

+
+
-
-

New in This Version

+
+

New in This Version

-
{{ content }} -
-
+
+
diff --git a/_release_notes/0.83.10.md b/_release_notes/0.83.10.md index 836a2c8b528..1fa2ff58a29 100644 --- a/_release_notes/0.83.10.md +++ b/_release_notes/0.83.10.md @@ -1,276 +1,277 @@ ---- -date: February 1, 2021 ---- - -## 1. Notable New Features - -* **New Windows 95/98-friendly dynamic core** - - There are major improvements for the 32/64-bit dynamic_x86 CPU core in this version to support Windows 9x/ME guest systems. It can now handle page faults non-recursively so that you will be able to run the dynamic_x86 core with Windows 9x in a largely reliable manner. -* **Improved support for playing 3Dfx games** - - 3dfx games can now work with the Glide passthrough feature when a guest system (guest DOS or Windows 9x) is currently running, in addition to DOSBox-X's integrated DOS. The speed of the Voodoo hardware emulation for running games like Tomb Raider 3dfx is also improved. -* **Write/overlay support for mounted ZIP/7Z archives** - - In the previous version support for mounting ZIP/7Z archives in read-only mode was added. This version adds the ability to make such drives writable by using overlay mounts, so that you can specify a directory for any changes to be written to. For example, the command "MOUNT C C:\DIR -T OVERLAY" will specify the directory C:\DIR(\C_DRIVE) as the write location after mounting C: drive with a ZIP/7Z archive. -* **Support for native pixel-perfect scaling with openglpp output** - - DOSBox-X now natively supports the pixel-perfect scaling for improved image quality. Setting "output=openglpp" or selecting "OpenGL perfect" from the menu ("Video" => "Output") to enable it. It is recommended to set config options "aspect=true" (whenever the emulated display has an aspect ratio of 4:3) and "doublescan=false" for the pixel-perfect scaling. -* **Support for Direct3D output in Windows SDL2 builds as default output** - - The Direct3D output is now supported on Windows SDL2 builds just like Windows SDL1 builds. With this the Direct3D output becomes the default output in all Windows builds, but you can change this either from the installer or from the configuration. -* **Support for specifying printers to print on Windows systems** - - The printing functions have been further enhanced for the Windows platform to allow users to specify the printing devices they want to use by names for direct printing to the selected devices. The parallel port LPT1 now defaults to the printer as well. -* **Support for standard & mono mode dual-screen display** - - Per user requests, support for VGA/EGA/CGA mode and mono mode dual-screen setup is added in this version. You can now start DOSBox-X with the command-line option -display2, optionally followed by a color (white, green, amber) to enable this feature on debug builds. -* **Support for large CD ISO images** - - You can now mount very large CD ISO images either using IMGMOUNT command or from the menu. Previously only ISO images up to 2GB were supported. -* **Support for automatic restart with new config settings** - - A "Save & Restart" button has been added to the Configuration Tool's "Save" option for saving the config file and then automatically restarting DOSBox-X with this saved configuration. Also, command-line options such as -bc (-bootconf), -wcboot, -wcdboot and -wcpboot are added to CONFIG command which will reboot DOSBox-X with the current setting immediately or after writing the specified config file. -* **New built-in calculator for evaluating expressions** - - A built-in calculator (EVAL.EXE) is added to the internal drive, which can be used to calculate both simple and many advanced mathematical expressions (such as trigonometric functions) in either command-line mode or the interactive mode. -* **Implemented DOS network redirector functions** - - The DOS network redirector functions are implemented so that the host name can be reported to DOS programs which expect a networked environment. For a fuller network environment you may need to enable either the IPX or the NE2000 options. -* **Improved file locking on Windows systems** - - Support for networked DOS database applications (which require record locking) has been fully implemented on Windows systems. It is recommended to set the config option "file access tries=3" in [dos] section for such usages. -* **Improved TrueType font (TTF) output** - - The TrueType font (TTF) output has been further enhanced in this version. For example, you can now dynamically change the TTF font, the number of rows and columns on the TTF screen, and the word processor for TTF using CONFIG command. Cursor blinking rate for TrueType font (TTF) output can also be customized with the ttf.blinkc option now. -* **Improved compatibility for Windows XP** - - Windows XP compatibility has been improved in this version. The 32-bit Visual Studio builds (included in the Windows installer and portable package) should run in Windows XP, and various menu functions such as the options to select shaders and the "Create blank disk image..." menu feature should now work in Windows XP in addition to later Windows versions. - -## 2. Notable Usability Improvements - -* **Support for color theme customization for the welcome banner** - - Users can now change the color theme for the welcome banner from the default blue color when DOSBox-X starts. For example, setting "bannercolortheme=red" and "bannercolortheme=white" will apply the red and white color themes for the welcome banner respectively. -* **Support for translating texts in the drop-down menus** - - Translate texts in DOSBox-X's drop-down menus is now supported. The message files as written by the (command-line or graphical) config tool will contain the menu texts for translations from the English language. -* **Support for resolving file paths in config options** - - DOSBox-X will now try to resolve file paths that include environment variables on Windows or tildes (~) on other platforms for config options in various sections in the config file. For example, by setting and resolving environment variables in the [config] option you will be able to access Windows environment variables inside DOSBox-X. -* **Support for getting/changing more properties from command-line** - - You can now change properties such as "fullscreen", "glshader" and "windowposition" dynamically with CONFIG command, e.g. "config -set fullscreen=true". Also, special properties such as "screenwidth", "screenheight", "windowwidth", and "windowheight" are now supported by CONFIG command so that commands like "CONFIG -GET screenwidth" and "CONFIG -GET screenheight" will get the current screen width and height. -* **Selecting a video system output from Windows installer** - - With the recent new output options, a new page is added to the Windows installer for new users to select a video system output to use - the default output (Direct3D), OpenGL with pixel-perfect scaling (openglpp or "OpenGL perfect") for improved image quality, and the TrueType font (TTF) output for text-mode DOS applications. -* **Supply ZIP/7Z files as a DOSBox-X parameter to mount as C drive** - - You can now just supply a ZIP/7Z file as a command-line parameter to DOSBox-X directly so that it will be mounted as C: drive when DOSBox-X starts, instead of using MOUNT command. -* **BOOT command (without a parameter) to boot from the current drive** - - If the current drive (A:/C:/D:) is bootable then BOOT command without a parameter will now try to boot the guest system from the current drive. -* **Menu option "List Printer Devices" to list printers on Windows** - - There is now a menu option "List Printer Devices" under the "Help" menu to list printing devices on Windows, which makes it easier for users to specify a printer if needed. -* **Improved display for Windows and Command keys in SDL1 builds** - - The Windows key(s) in Windows and the Command key(s) in macOS will now be displayed as the "Windows" and "Command" keys instead of the "super" and the "meta" keys in SDL1 builds just like SDL2 builds. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, including fixes to some existing features (e.g. the menu option "Select OpenGL (GLSL) shader.." might not work properly sometimes) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version -* The Windows key(s) in Windows and the Command key(s) - in macOS will now be displayed as the "Windows" and - "Command" keys instead of the "super" and the "meta" - keys in SDL1 builds just like SDL2 builds. (Wengier) -* Cursor blinking rate for TrueType font (TTF) output - can now be customized with the ttf.blinkc option. - Set an integer between 1 (fastest) and 7 (slowest) - to change TTF cursor blinking rate, or setting it to - 0 for no cursor (or false for non-blinking cursor as - in previous versions), with the default value being - 6 on PC-98 systems and 4 elsewhere. (Wengier) -* Fixed parallel port emulation to allow MDA port 3BCh - to work properly. -* Enhanced the printer function on Windows platforms - to allow printer names to be specified in [printer] - section via the "device" option for direct printing - to the selected device. If left empty, then Windows - Print dialog will always be shown, or specifying "-" - will cause it to show only once (unless the user - clicks "Cancel"). Under "Help" menu there is now a - menu option "List Printer Devices" to list printer - devices on Windows, and the parallel port LPT1 now - defaults to the printer on all platforms. (Wengier) -* The dynamic_x86 CPU core can now handle page faults - non-recursively, so you can now run the dynamic_x86 - core with Windows 9x/ME without crashes, although - this may slightly decrease the performance, and it - may be disabled by setting the config option "use - dynamic core with paging on" in [cpu] section to - "false"; the default value of this option has been - changed to "auto" which will enable/disable itself - based on whether the 386 paging and a guest system - has been enabled. Also fixed incorrect behavior for - handling trap flags in the dynamic core and updated - the MMX code for improved performance. (koolkdev) -* Added support for Direct3D output on Windows SDL2 - builds just like Windows SDL1 builds to become the - default output in all Windows builds. (Wengier) -* DOSBox-X now natively supports the pixel-perfect - scaling! Set the option "output=openglpp" in [sdl] - section of the config file to enable this output. - Alternatively, the output can be selected from the - menu ("Video" => "Output" => "OpenGL perfect") at - run-time. It is recommended to set config options - and "aspect=true" (whenever the emulated display - has an aspect ratio of 4:3) and "doublescan=false" - for openglpp output. Also, with high DPI displays - (e.g. on Windows 7+ with DPI scaling enabled) it - works better with full-screen mode and the setting - "dpi aware=true". It was implemented by ant_222 - (patch author) with some code cleanups by Wengier. -* Updated the Windows installer to add a page for - new users to select a video system output to use - - the default output (Direct3D), OpenGL with pixel- - perfect scaling (openglpp or "OpenGL perfect") for - improved image quality, and the TrueType font (TTF) - output for text-mode DOS applications. (Wengier) -* You can now supply a ZIP/7Z file as a parameter to - DOSBox-X directly so that it will be mounted as C: - drive when DOSBox-X starts. (Wengier) -* Added overlay support for mounting PhysFS drives - so that you can specify a write location when you - mounted a ZIP/7Z archive by adopting an old patch. - For example, command "MOUNT C C:\DIR -T OVERLAY" - will specify path C:\DIR(\C_DRIVE) as the write - location after mounting C: drive as a PhysFS drive - with a command like "MOUNT FILES.ZIP". (Wengier) -* Added ability to resolve file paths that include - environment variables on Windows or tildes (~) on - other platforms for various options in the config - file, such as language and mapper file paths, MT32 - ROM & FluidSynth soundfont paths, [config] section - options as well as file outputs for the printing - and serial/parallel port functions. (Wengier) -* Added calculator for DOS (EVAL.EXE), which appears - on Z drive and can calculate both simple (such as - sin(0) and cos(0)) and many advanced mathematical - expressions in either command-line mode and or the - interactive mode. (Wengier) -* Added support for standard (VGA/EGA/CGA) and mono - mode dual-screen setup by porting the patch. You - can now start DOSBox-X with the option -display2 - followed by a color (white, green, amber) to enable - this feature on debug builds. (Wengier) -* You can now translate texts in DOSBox-X's drop-down - menus. The message files as written by the config - tool (CLI or GUI) will contain the menu texts for - translations from the English language. (Wengier) -* Added "file access tries" config option (in [dos] - section) so that if a positive integer is provided - (e.g. 1 or 3) DOSBox-X will try to read/write/lock - files on mounted local drives for the specified - number of times before failing on Windows builds. - It is especially useful for networked DOS database - applications that require record locking. (Wengier) -* Added "bannercolortheme" config option (in [dosbox] - section) so that users can change the background - color theme of the welcome banner from the default - blue color when DOSBox-X starts. (Wengier) -* Added "pcaptimeout" config option (in the [ne2000] - section) to specify a read timeout value for pcap - in milliseconds, or default value (-1 on Windows - or 3000 otherwise) will be used. (Wengier & Jookia) -* Added "Save & Restart" button to the Configuration - Tool's "Save" option for saving the config file and - then automatically restarting DOSBox-X with this - saved configuration. Command-line options -wcboot, - -wcdboot and -wcpboot are added to CONFIG command - which resemble -wc, -wcd, and -wcp options but will - reboot DOSBox-X after writing configfile. Command- - line option -bc (-bootconf) is also added to reboot - with specified config file (or the primary loaded - config file if not specified) directly. (Wengier) -* The config option ttf.font will now search for TTF - fonts in the directory as specified by the fontpath - option in [printer] section too. (Wengier) -* Added special properties to CONFIG command such as - "screenwidth", "screenheight", "windowwidth", and - "windowheight" so that commands like "CONFIG -GET - screenwidth" and "CONFIG -GET screenheight" will - get the current screen width and height. (Wengier) -* BOOT command without a parameter will now try to - boot the current drive if possible. (Wengier) -* You can now change properties such as "fullscreen", - "glshader" and "windowposition" dynamically with - CONFIG command. For example, command "config -set - fullscreen=true" and "config -set windowposition=" - will now switch on the full-screen mode and center - the window position respectively. For TrueType font - output, you can now also change the TTF font, the - number of rows and columns on the TTF screen, and - the word processor for TTF dynamically using CONFIG - command, e.g. "config -set ttf.font=test", "config - -set ttf.lins=30", "config -set ttf.cols=100" and - "config -set ttf.wp=wp". The limits for the options - ttf.cols and ttf.lins are increased too. (Wengier) -* Implemented the DOS network redirector functions so - that the host name can be reported to DOS programs, - unless the secure mode is enabled. You may need to - set either the option ipx=true in [ipx] section or - the option ne2000=true in [ne2000] section. Also - added config option "network redirector" to [dos] - section which if set to false disables the network - redirector even with IPX/NE2000 enabled. (Wengier) -* Fixed an issue that the DOSBox-X window size may be - incorrect when restoring from a maximized window in - the SDL2 builds. (Wengier) -* Fixed that the menu option "Select OpenGL (GLSL) - shader.." not working properly sometimes. (Wengier) -* Fixed Ctrl+C not working in GNU ed. (Wengier) -* Fixed large ISO images (>2GB) unable to be mounted - using IMGMOUNT command. (Wengier) -* Fixed build failure on Gentoo Linux. (fonic) -* 3dfx games can now work with the Glide passthrough - feature when a guest system (guest DOS or Windows - 9x) is currently running. The default setting for - config option "keep private area on boot" in [dos] - section is changed from "false" to "auto". (Wengier) -* Improved the speed of the Voodoo hardware emulation - for running games like Tomb Raider 3dfx. (Wengier) -* Improved OPL3Duo support, such as adding a buffer - thread to get rid of slowdowns & breakups in audio - playback when using the board. (DhrBaksteen) -* Updated the Tiny File Dialog library to the latest - version v3.8.5, which fixes issues such as the - compatibility problem with Windows XP. (Wengier) -* Updated FLAC, MP3, and WAV CD-DA decoder libraries - to the latest versions (0.12.28, 0.6.26 and 0.12.18 - respectively; per David Reid). (Wengier) -* Integrated SVN commits (Allofich & Wengier) - - r4426: Emulate debug register 6 during trap flag - emulation (and normal int 1). Fixes 544 (jmarsh) - - r4401: Improve xchg to handle unwritable memory - better for core_dyn_x86. - - r4399: Finish up and add LOOP_NE and LOOP_E for - core_dyn_x86. - - r4393: Remove video page check when drawing - internal mouse pointer, as the BIOS current page - is not updated in some cases. Fixes QQP games: Lost - Admiral, Conquered Kingdoms, and Solitaire's - Journey. Also be a bit smarter about enabling - autolock, supporting more cases where the mouse - is used for input without resetting it. - - r4392: Improve capturing of Zeliard and fix a - few percussion-related capturing problems as well. - - r4310: Improve PMAKE on big endian machines and - fix some bugs. Fixes bug in 16 -> 15 bit color - conversion. - - r4309: Copy working directory when mounting an - overlay. - - r4307: Refinement of SoundBlaster checks, so no +--- +slug: 0.83.10 +date: February 1, 2021 +--- + +## 1. Notable New Features + +* **New Windows 95/98-friendly dynamic core** + + There are major improvements for the 32/64-bit dynamic_x86 CPU core in this version to support Windows 9x/ME guest systems. It can now handle page faults non-recursively so that you will be able to run the dynamic_x86 core with Windows 9x in a largely reliable manner. +* **Improved support for playing 3Dfx games** + + 3dfx games can now work with the Glide passthrough feature when a guest system (guest DOS or Windows 9x) is currently running, in addition to DOSBox-X's integrated DOS. The speed of the Voodoo hardware emulation for running games like Tomb Raider 3dfx is also improved. +* **Write/overlay support for mounted ZIP/7Z archives** + + In the previous version support for mounting ZIP/7Z archives in read-only mode was added. This version adds the ability to make such drives writable by using overlay mounts, so that you can specify a directory for any changes to be written to. For example, the command "MOUNT C C:\DIR -T OVERLAY" will specify the directory C:\DIR(\C_DRIVE) as the write location after mounting C: drive with a ZIP/7Z archive. +* **Support for native pixel-perfect scaling with openglpp output** + + DOSBox-X now natively supports the pixel-perfect scaling for improved image quality. Setting "output=openglpp" or selecting "OpenGL perfect" from the menu ("Video" => "Output") to enable it. It is recommended to set config options "aspect=true" (whenever the emulated display has an aspect ratio of 4:3) and "doublescan=false" for the pixel-perfect scaling. +* **Support for Direct3D output in Windows SDL2 builds as default output** + + The Direct3D output is now supported on Windows SDL2 builds just like Windows SDL1 builds. With this the Direct3D output becomes the default output in all Windows builds, but you can change this either from the installer or from the configuration. +* **Support for specifying printers to print on Windows systems** + + The printing functions have been further enhanced for the Windows platform to allow users to specify the printing devices they want to use by names for direct printing to the selected devices. The parallel port LPT1 now defaults to the printer as well. +* **Support for standard & mono mode dual-screen display** + + Per user requests, support for VGA/EGA/CGA mode and mono mode dual-screen setup is added in this version. You can now start DOSBox-X with the command-line option -display2, optionally followed by a color (white, green, amber) to enable this feature on debug builds. +* **Support for large CD ISO images** + + You can now mount very large CD ISO images either using IMGMOUNT command or from the menu. Previously only ISO images up to 2GB were supported. +* **Support for automatic restart with new config settings** + + A "Save & Restart" button has been added to the Configuration Tool's "Save" option for saving the config file and then automatically restarting DOSBox-X with this saved configuration. Also, command-line options such as -bc (-bootconf), -wcboot, -wcdboot and -wcpboot are added to CONFIG command which will reboot DOSBox-X with the current setting immediately or after writing the specified config file. +* **New built-in calculator for evaluating expressions** + + A built-in calculator (EVAL.EXE) is added to the internal drive, which can be used to calculate both simple and many advanced mathematical expressions (such as trigonometric functions) in either command-line mode or the interactive mode. +* **Implemented DOS network redirector functions** + + The DOS network redirector functions are implemented so that the host name can be reported to DOS programs which expect a networked environment. For a fuller network environment you may need to enable either the IPX or the NE2000 options. +* **Improved file locking on Windows systems** + + Support for networked DOS database applications (which require record locking) has been fully implemented on Windows systems. It is recommended to set the config option "file access tries=3" in [dos] section for such usages. +* **Improved TrueType font (TTF) output** + + The TrueType font (TTF) output has been further enhanced in this version. For example, you can now dynamically change the TTF font, the number of rows and columns on the TTF screen, and the word processor for TTF using CONFIG command. Cursor blinking rate for TrueType font (TTF) output can also be customized with the ttf.blinkc option now. +* **Improved compatibility for Windows XP** + + Windows XP compatibility has been improved in this version. The 32-bit Visual Studio builds (included in the Windows installer and portable package) should run in Windows XP, and various menu functions such as the options to select shaders and the "Create blank disk image..." menu feature should now work in Windows XP in addition to later Windows versions. + +## 2. Notable Usability Improvements + +* **Support for color theme customization for the welcome banner** + + Users can now change the color theme for the welcome banner from the default blue color when DOSBox-X starts. For example, setting "bannercolortheme=red" and "bannercolortheme=white" will apply the red and white color themes for the welcome banner respectively. +* **Support for translating texts in the drop-down menus** + + Translate texts in DOSBox-X's drop-down menus is now supported. The message files as written by the (command-line or graphical) config tool will contain the menu texts for translations from the English language. +* **Support for resolving file paths in config options** + + DOSBox-X will now try to resolve file paths that include environment variables on Windows or tildes (~) on other platforms for config options in various sections in the config file. For example, by setting and resolving environment variables in the [config] option you will be able to access Windows environment variables inside DOSBox-X. +* **Support for getting/changing more properties from command-line** + + You can now change properties such as "fullscreen", "glshader" and "windowposition" dynamically with CONFIG command, e.g. "config -set fullscreen=true". Also, special properties such as "screenwidth", "screenheight", "windowwidth", and "windowheight" are now supported by CONFIG command so that commands like "CONFIG -GET screenwidth" and "CONFIG -GET screenheight" will get the current screen width and height. +* **Selecting a video system output from Windows installer** + + With the recent new output options, a new page is added to the Windows installer for new users to select a video system output to use - the default output (Direct3D), OpenGL with pixel-perfect scaling (openglpp or "OpenGL perfect") for improved image quality, and the TrueType font (TTF) output for text-mode DOS applications. +* **Supply ZIP/7Z files as a DOSBox-X parameter to mount as C drive** + + You can now just supply a ZIP/7Z file as a command-line parameter to DOSBox-X directly so that it will be mounted as C: drive when DOSBox-X starts, instead of using MOUNT command. +* **BOOT command (without a parameter) to boot from the current drive** + + If the current drive (A:/C:/D:) is bootable then BOOT command without a parameter will now try to boot the guest system from the current drive. +* **Menu option "List Printer Devices" to list printers on Windows** + + There is now a menu option "List Printer Devices" under the "Help" menu to list printing devices on Windows, which makes it easier for users to specify a printer if needed. +* **Improved display for Windows and Command keys in SDL1 builds** + + The Windows key(s) in Windows and the Command key(s) in macOS will now be displayed as the "Windows" and "Command" keys instead of the "super" and the "meta" keys in SDL1 builds just like SDL2 builds. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, including fixes to some existing features (e.g. the menu option "Select OpenGL (GLSL) shader.." might not work properly sometimes) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version +* The Windows key(s) in Windows and the Command key(s) + in macOS will now be displayed as the "Windows" and + "Command" keys instead of the "super" and the "meta" + keys in SDL1 builds just like SDL2 builds. (Wengier) +* Cursor blinking rate for TrueType font (TTF) output + can now be customized with the ttf.blinkc option. + Set an integer between 1 (fastest) and 7 (slowest) + to change TTF cursor blinking rate, or setting it to + 0 for no cursor (or false for non-blinking cursor as + in previous versions), with the default value being + 6 on PC-98 systems and 4 elsewhere. (Wengier) +* Fixed parallel port emulation to allow MDA port 3BCh + to work properly. +* Enhanced the printer function on Windows platforms + to allow printer names to be specified in [printer] + section via the "device" option for direct printing + to the selected device. If left empty, then Windows + Print dialog will always be shown, or specifying "-" + will cause it to show only once (unless the user + clicks "Cancel"). Under "Help" menu there is now a + menu option "List Printer Devices" to list printer + devices on Windows, and the parallel port LPT1 now + defaults to the printer on all platforms. (Wengier) +* The dynamic_x86 CPU core can now handle page faults + non-recursively, so you can now run the dynamic_x86 + core with Windows 9x/ME without crashes, although + this may slightly decrease the performance, and it + may be disabled by setting the config option "use + dynamic core with paging on" in [cpu] section to + "false"; the default value of this option has been + changed to "auto" which will enable/disable itself + based on whether the 386 paging and a guest system + has been enabled. Also fixed incorrect behavior for + handling trap flags in the dynamic core and updated + the MMX code for improved performance. (koolkdev) +* Added support for Direct3D output on Windows SDL2 + builds just like Windows SDL1 builds to become the + default output in all Windows builds. (Wengier) +* DOSBox-X now natively supports the pixel-perfect + scaling! Set the option "output=openglpp" in [sdl] + section of the config file to enable this output. + Alternatively, the output can be selected from the + menu ("Video" => "Output" => "OpenGL perfect") at + run-time. It is recommended to set config options + and "aspect=true" (whenever the emulated display + has an aspect ratio of 4:3) and "doublescan=false" + for openglpp output. Also, with high DPI displays + (e.g. on Windows 7+ with DPI scaling enabled) it + works better with full-screen mode and the setting + "dpi aware=true". It was implemented by ant_222 + (patch author) with some code cleanups by Wengier. +* Updated the Windows installer to add a page for + new users to select a video system output to use - + the default output (Direct3D), OpenGL with pixel- + perfect scaling (openglpp or "OpenGL perfect") for + improved image quality, and the TrueType font (TTF) + output for text-mode DOS applications. (Wengier) +* You can now supply a ZIP/7Z file as a parameter to + DOSBox-X directly so that it will be mounted as C: + drive when DOSBox-X starts. (Wengier) +* Added overlay support for mounting PhysFS drives + so that you can specify a write location when you + mounted a ZIP/7Z archive by adopting an old patch. + For example, command "MOUNT C C:\DIR -T OVERLAY" + will specify path C:\DIR(\C_DRIVE) as the write + location after mounting C: drive as a PhysFS drive + with a command like "MOUNT FILES.ZIP". (Wengier) +* Added ability to resolve file paths that include + environment variables on Windows or tildes (~) on + other platforms for various options in the config + file, such as language and mapper file paths, MT32 + ROM & FluidSynth soundfont paths, [config] section + options as well as file outputs for the printing + and serial/parallel port functions. (Wengier) +* Added calculator for DOS (EVAL.EXE), which appears + on Z drive and can calculate both simple (such as + sin(0) and cos(0)) and many advanced mathematical + expressions in either command-line mode and or the + interactive mode. (Wengier) +* Added support for standard (VGA/EGA/CGA) and mono + mode dual-screen setup by porting the patch. You + can now start DOSBox-X with the option -display2 + followed by a color (white, green, amber) to enable + this feature on debug builds. (Wengier) +* You can now translate texts in DOSBox-X's drop-down + menus. The message files as written by the config + tool (CLI or GUI) will contain the menu texts for + translations from the English language. (Wengier) +* Added "file access tries" config option (in [dos] + section) so that if a positive integer is provided + (e.g. 1 or 3) DOSBox-X will try to read/write/lock + files on mounted local drives for the specified + number of times before failing on Windows builds. + It is especially useful for networked DOS database + applications that require record locking. (Wengier) +* Added "bannercolortheme" config option (in [dosbox] + section) so that users can change the background + color theme of the welcome banner from the default + blue color when DOSBox-X starts. (Wengier) +* Added "pcaptimeout" config option (in the [ne2000] + section) to specify a read timeout value for pcap + in milliseconds, or default value (-1 on Windows + or 3000 otherwise) will be used. (Wengier & Jookia) +* Added "Save & Restart" button to the Configuration + Tool's "Save" option for saving the config file and + then automatically restarting DOSBox-X with this + saved configuration. Command-line options -wcboot, + -wcdboot and -wcpboot are added to CONFIG command + which resemble -wc, -wcd, and -wcp options but will + reboot DOSBox-X after writing configfile. Command- + line option -bc (-bootconf) is also added to reboot + with specified config file (or the primary loaded + config file if not specified) directly. (Wengier) +* The config option ttf.font will now search for TTF + fonts in the directory as specified by the fontpath + option in [printer] section too. (Wengier) +* Added special properties to CONFIG command such as + "screenwidth", "screenheight", "windowwidth", and + "windowheight" so that commands like "CONFIG -GET + screenwidth" and "CONFIG -GET screenheight" will + get the current screen width and height. (Wengier) +* BOOT command without a parameter will now try to + boot the current drive if possible. (Wengier) +* You can now change properties such as "fullscreen", + "glshader" and "windowposition" dynamically with + CONFIG command. For example, command "config -set + fullscreen=true" and "config -set windowposition=" + will now switch on the full-screen mode and center + the window position respectively. For TrueType font + output, you can now also change the TTF font, the + number of rows and columns on the TTF screen, and + the word processor for TTF dynamically using CONFIG + command, e.g. "config -set ttf.font=test", "config + -set ttf.lins=30", "config -set ttf.cols=100" and + "config -set ttf.wp=wp". The limits for the options + ttf.cols and ttf.lins are increased too. (Wengier) +* Implemented the DOS network redirector functions so + that the host name can be reported to DOS programs, + unless the secure mode is enabled. You may need to + set either the option ipx=true in [ipx] section or + the option ne2000=true in [ne2000] section. Also + added config option "network redirector" to [dos] + section which if set to false disables the network + redirector even with IPX/NE2000 enabled. (Wengier) +* Fixed an issue that the DOSBox-X window size may be + incorrect when restoring from a maximized window in + the SDL2 builds. (Wengier) +* Fixed that the menu option "Select OpenGL (GLSL) + shader.." not working properly sometimes. (Wengier) +* Fixed Ctrl+C not working in GNU ed. (Wengier) +* Fixed large ISO images (>2GB) unable to be mounted + using IMGMOUNT command. (Wengier) +* Fixed build failure on Gentoo Linux. (fonic) +* 3dfx games can now work with the Glide passthrough + feature when a guest system (guest DOS or Windows + 9x) is currently running. The default setting for + config option "keep private area on boot" in [dos] + section is changed from "false" to "auto". (Wengier) +* Improved the speed of the Voodoo hardware emulation + for running games like Tomb Raider 3dfx. (Wengier) +* Improved OPL3Duo support, such as adding a buffer + thread to get rid of slowdowns & breakups in audio + playback when using the board. (DhrBaksteen) +* Updated the Tiny File Dialog library to the latest + version v3.8.5, which fixes issues such as the + compatibility problem with Windows XP. (Wengier) +* Updated FLAC, MP3, and WAV CD-DA decoder libraries + to the latest versions (0.12.28, 0.6.26 and 0.12.18 + respectively; per David Reid). (Wengier) +* Integrated SVN commits (Allofich & Wengier) + - r4426: Emulate debug register 6 during trap flag + emulation (and normal int 1). Fixes 544 (jmarsh) + - r4401: Improve xchg to handle unwritable memory + better for core_dyn_x86. + - r4399: Finish up and add LOOP_NE and LOOP_E for + core_dyn_x86. + - r4393: Remove video page check when drawing + internal mouse pointer, as the BIOS current page + is not updated in some cases. Fixes QQP games: Lost + Admiral, Conquered Kingdoms, and Solitaire's + Journey. Also be a bit smarter about enabling + autolock, supporting more cases where the mouse + is used for input without resetting it. + - r4392: Improve capturing of Zeliard and fix a + few percussion-related capturing problems as well. + - r4310: Improve PMAKE on big endian machines and + fix some bugs. Fixes bug in 16 -> 15 bit color + conversion. + - r4309: Copy working directory when mounting an + overlay. + - r4307: Refinement of SoundBlaster checks, so no IRQ is raised when not in autodma mode. \ No newline at end of file diff --git a/_release_notes/0.83.11.md b/_release_notes/0.83.11.md index 4f0919a27cb..8f2e40b82b8 100644 --- a/_release_notes/0.83.11.md +++ b/_release_notes/0.83.11.md @@ -1,228 +1,229 @@ ---- -date: March 1, 2021 ---- - -## 1. Notable New Features - -* **Greatly improved cross-platform clipboard features** - - The clipboard functions have been significanly improved in this version. Clipboard copying and pasting, clipboard device (CLIP$) and DOS clipboard API are now all supported in all platforms (Windows, Linux and macOS). There is now also a "Paste Clipboard" button in AUTOEXEC.BAT, CONFIG.SYS and 4DOS.INI sections of the Configuration Tool for pasting clipboard contents. -* **New shell commands: CHCP, COLOR, PUSHD, POPD, REPLACE** - - This version implements new DOS shell commands including CHCP (changing code page for TrueType font output), COLOR (changing foreground & background colors), PUSHD (storing and changing directories), POPD (changing back directories), and REPLACE (replacing files). Also the TREE command (show directory trees) has been rewritten to support long filenames (LFN) when available. -* **New BIOS Setup Utility and BIOS screen improvements** - - There is now a BIOS Setup Utlity which will show a summary of the current system configuration and allow users to change the date and time. Press Del key at the BIOS boot screen to enter the BIOS Setup Utility. The BIOS screen has been improved as well, notably the addition of a text-mode BIOS boot screen especially useful for the TrueType font (TTF) output. -* **File locking and recording locking for Linux and macOS** - - The file-locking and record-locking feature which is especially useful for networked DOS database applications has been implemented for Linux and macOS platforms in this version. So this feature is now supported in all platforms. -* **Implemented functions for saving states automatically** - - This version introduces the functions to save the current states automatically within the specified time intervals, and the functions can be adjusted for different DOS games and applications. There is also a GUI interface (selectable from the menu) to manage the auto-saving feature at run-time. -* **Improved launching Windows applications** - - The launching Windows applications feature has been improved in this version. When this feature is enabled (e.g. startcmd=true), then Windows applications can now be launched from within DOS programs or from the 4DOS shell in addition to built-in shell. Also fixed the featurewhen the working directory has no 8.3 filename entry. -* **Improved handling for the non-ANSI mode** - - You can now use a custom ANSI TSR program (such as NNASI.SYS) instead of the built-in one to display ANSI escape sequences. The DOSBox-X welcome banner will now be correctly displayed even without installed ANSI functions. - -## 2. Notable Usability Improvements - -* **Scalable Configuration Tool windows** - - The windows in the Configuration Tool are now scalable, so that they will no longer look very small when the window is in full-screen, maximized, or High DPI modes. -* **Breaking from long outputs from DOS shell commands** - - With this version you can now press Ctrl+C or Ctrl+Break to break from long outputs from commands like TYPE, MORE, COPY, DIR /S, and ATTRIB /S, in addition to the existing Ctrl+C/Ctrl+Break handler. -* **Changing output options dynamically from the command-line** - - You can now use the CONFIG command to change the current output, such as changing between OpenGL, Direct3D, and TrueType font outputs, in addition to doing so from the config file or the "Video" menu. -* **Improved Linux default output option** - - The default output option for the Linux platform has been changed from Surface to OpenGL for improved out-of-box user experiences. -* **Improved messages in the welcome banner** - - The messages in DOSBox-X's welcome banners have been further improved, especially for CGA/MCGA/MDA/Hercules machine types, including showing the correct default shortcuts in these modes. -* **Allow more customizations of DOSBox-X's title bar** - - You can now do more customizations to the DOSBox-X title bar, such as hide the DOSBox-X version number and running speed in the titlebar. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, including fixes to some existing features (e.g. fixing screen flickering when hovering over the menu with Direct3D output in the Windows SDL2 build, mounting disk/CD images with long paths from the "Drive" menu, etc.) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* Added support for the clipboard device (CLIP$) and - DOS clipboard API on non-Windows systems (they were - previously only supported on the Windows platform). - In Linux SDL1 build only read access is supported - whereas both read and write access are supported in - all other builds. Also, selecting and copying text - to the host clipboard using a mouse button or arrow - key is now supported in macOS SDL1 build. (Wengier) -* Added "Paste Clipboard" button to the AUTOEXEC.BAT, - CONFIG.SYS and 4DOS.INI sections in Configuration - Tool for pasting clipboard contents. (Wengier) -* Windows SDL2 builds now use same clipboard pasting - method as Windows SDL1 builds by default instead of - the BIOS keyboard function. The method is now also - available for Linux and macOS (both SDL1 and SDL2) - builds (although it is disabled by default on these - platforms). A menu option "Use BIOS function for - keyboard pasting" is added to the "Shared clipboard - functions" menu group (under "Main") to use BIOS - function for the clipboard pasting instead of the - keystroke method. Make sure this option is disabled - if pasting clipboad text into Windows 3.x/9x apps - (e.g. Notepad & Write) is desired. This setting can - be changed with "clip_paste_bios" config option in - in [sdl] section of the config file too. (Wengier) -* With the config option "startcmd=true" or command- - line option -winrun, Windows applications can now - be launched from within a DOS program or from the - 4DOS shell in addition to built-in shell. (Wengier) -* Added the "disable graphical splash" config option - in [dosbox] section which when set will cause a - text-mode BIOS splash screen to be always displayed - at startup instead of the graphical one. If the - TrueType font (TTF) output is enabled the text- - mode BIOS screen is used automatically. (Wengier) -* Added a simple BIOS Setup Utlity, which will show - a summary of the current system configuration and - allow users to change the date and time. Press Del - key at the BIOS boot screen to enter. (Wengier) -* Added config option "showbasic" in [sdl] section - which when set to false will hide DOSBox-X version - number and running speed in the titlebar. (Wengier) -* Added experimental option to load a VGA BIOS ROM - image and execute it, instead of our own INT 10h - emulation. If enabled, it will load the specific - ROM file into C000:0000. If not specified, it - will choose based on machine type. VGA BIOS ROM - images (e.g. et4000.bin for Tseng ET4000 emulation) - can be dumped from real hardware or downloaded from - the PCem ROMs collection. It can be set with config - option "vga bios rom image" in [video] section. -* Improved handling for file- and record-locking - for non-Windows platforms. Portions of the code - are adopted from DOSEmu. (Wengier) -* Improved handling for the setting "ansi.sys=false", - such as fixing the welcome screen messup in this - case and allowing the use of a custom ANSI TSR - (such as NNANSI.COM) instead. (Wengier & stu) -* You can now press Ctrl+C or Ctrl+Break to break - from long outputs from commands like TYPE, MORE, - COPY, DIR /S, and ATTRIB /S. (Wengier) -* Renamed MEM.COM to MEM.EXE to match DOS. (Wengier) -* Rewrote built-in TREE command instead of the one - from FreeDOS to support long filenames. (Wengier) -* DELTREE is now an external command appearing on - drive Z: as DELTREE.EXE instead of a builtin shell - command, since it is an external command in a real - DOS system. (Wengier) -* Added REPLACE command to replace files, resembling - the MS-DOS counterpart. This command is compiled - with long filename support. (Wengier) -* Added PUSHD and POPD commands so that you can store - the current directory and changes to the specified - directory (optionally also the current drive), then - changes the directory/drive back. PUSHD command - without arguments show stored path(s). (Wengier) -* Added COLOR command to change current foreground - and background colors. It usage is similar to the - same-named command in the Windows command prompt. - For example, command "COLOR fc" produces light red - on bright white; COLOR without an argument restores - the original color. (Wengier) -* Added CHCP command to view the current code page, - or change the current code page for the TrueType - font (TTF) output. Supported code pages include: - 437, 808, 850, 852, 853, 855, 857, 858, 860, 861, - 862, 863, 864, 865, 866, 869, 872, and 874. You can - now also set the code page for TTF output via the - optional second parameter of the "country" option - in [config] section of the configuration. (Wengier) -* Added function to automatically save states in the - specified time interval (in seconds). You can also - specify a save slot or start and end save slots to - be used. For example, "autosave=10 11-20" will set - a 10-second time interval for auto-saving, and the - save slots used will be between 11 and 20. If no - save slot is specified, then the current save slot - will be used for auto-saving. Putting a minus sign - before time interval causes the auto-saving function - to not be activated at start. You can optionally - also specify up to 9 program names for this feature, - e.g. "autosave=10 11-20 EDIT:21-30 EDITOR:35" will - cause program "EDIT" to use save slots 21-30, and - "EDITOR" to use save slot 35, and other programs to - use save slots 11-20. Added a menu option "Auto-save - settings..." to manage the auto-saving feature at - run-time. A menu option "Enable auto-saving state" - is added to the "Save/load options" menu group under - "Capture" to toggle auto-saving when the function is - enabled. Likewise, a menu option "Select last auto- - saved slot" is added to the "Select save slot" menu - group (also under "Capture") to switch to the last - auto-saved slot (if any). (Wengier) -* The Configuration Tool windows are now scalable, so - that they will no longer look very small in e.g. - full-screen or High DPI modes. (ant_222) -* If the -defaultdir option is the only or the last - command-line option and no parameter is specified, - then directory of the primary config file (if any) - becomes the DOSBox-X default directory. (Wengier) -* You can now change the current output dynamically - with CONFIG command, e.g. "CONFIG -set output=ttf" - and "CONFIG -set output=default". (Wengier) -* The command "KEYB US" will return the DOS codepage - to 437 if current codepage is different. (Wengier) -* The setting "output=default" will enable the OpenGL - output for Linux systems if possible. (Wengier) -* Fixed the CGA/MCGA/MDA/Hercules-specfic shortcut - function buttons in Mapper Editor, and the screen - colors after exiting from Mapper Editor when using - these machine types in Direct3D output (SDL1 build). - Also fixed the messages in the welcome banner for - these machine types to inform users the new default - shortcuts (Ctrl(+Shift)+[F7/F8]). (Wengier) -* Fixed DOS Int21/AH=0x5a "Create temporary file" - function not generating unique files. (Wengier) -* Fixed that the current drive goes back to Z drive - when combined unmounts & mounts are used. (Wengier) -* Fixed PC-98 keyboard handling of CTRL+A through - CTRL+Z. CTRL+C now works correctly in PC-98 mode. -* Fixed crash of Free Pascal compiler with dynamic - core and setting "use dynamic core with paging on = - auto" introduced in the previous version. (Wengier) -* Fixed launching Windows programs when the working - directory has no 8.3 filename entry. (Wengier) -* Fixed issues with full-screen switch in some cases - when the TrueType font output is enabled. (Wengier) -* Fixed an issue in MinGW builds that no data will be - sent to the OPL3Duo board. (DhrBaksteen) -* Fixed screen flickering when hovering over the menu - with Direct3D output in the Windows SDL2 build that - was introduced in the last version. (Wengier) -* Fixed mounting disk/CD images with long paths from - the "Drive" menu may not work properly. (Wengier) -* Fixed that the "Save" button in Configuration Tool - did not save config file in last version. (Wengier) -* Integrated SVN commits (Allofich) - - r4346: Fix a long-standing crash that occurred - when disconnecting a second joystick after - partially mapping it. - - r4344: Add F8 to toggle printable characters on - and off in the debugger. - - r4340: Fix behavior when main memory allocation - fails. - - r4336: Correct an oversight of r4186 when floppy - disks are mounted. - - r4330: some big endian improvements and drive_fat - fixes. (jmarsh) - - r4320: Report Q-Channel track number in BCD, - meaning it is not converted to binary by the - CD-ROM device driver. Fixes the CD-Player feature - of DOS Navigator 1.51 when playing past track 15. +--- +slug: 0.83.11 +date: March 1, 2021 +--- + +## 1. Notable New Features + +* **Greatly improved cross-platform clipboard features** + + The clipboard functions have been significanly improved in this version. Clipboard copying and pasting, clipboard device (CLIP$) and DOS clipboard API are now all supported in all platforms (Windows, Linux and macOS). There is now also a "Paste Clipboard" button in AUTOEXEC.BAT, CONFIG.SYS and 4DOS.INI sections of the Configuration Tool for pasting clipboard contents. +* **New shell commands: CHCP, COLOR, PUSHD, POPD, REPLACE** + + This version implements new DOS shell commands including CHCP (changing code page for TrueType font output), COLOR (changing foreground & background colors), PUSHD (storing and changing directories), POPD (changing back directories), and REPLACE (replacing files). Also the TREE command (show directory trees) has been rewritten to support long filenames (LFN) when available. +* **New BIOS Setup Utility and BIOS screen improvements** + + There is now a BIOS Setup Utlity which will show a summary of the current system configuration and allow users to change the date and time. Press Del key at the BIOS boot screen to enter the BIOS Setup Utility. The BIOS screen has been improved as well, notably the addition of a text-mode BIOS boot screen especially useful for the TrueType font (TTF) output. +* **File locking and recording locking for Linux and macOS** + + The file-locking and record-locking feature which is especially useful for networked DOS database applications has been implemented for Linux and macOS platforms in this version. So this feature is now supported in all platforms. +* **Implemented functions for saving states automatically** + + This version introduces the functions to save the current states automatically within the specified time intervals, and the functions can be adjusted for different DOS games and applications. There is also a GUI interface (selectable from the menu) to manage the auto-saving feature at run-time. +* **Improved launching Windows applications** + + The launching Windows applications feature has been improved in this version. When this feature is enabled (e.g. startcmd=true), then Windows applications can now be launched from within DOS programs or from the 4DOS shell in addition to built-in shell. Also fixed the featurewhen the working directory has no 8.3 filename entry. +* **Improved handling for the non-ANSI mode** + + You can now use a custom ANSI TSR program (such as NNASI.SYS) instead of the built-in one to display ANSI escape sequences. The DOSBox-X welcome banner will now be correctly displayed even without installed ANSI functions. + +## 2. Notable Usability Improvements + +* **Scalable Configuration Tool windows** + + The windows in the Configuration Tool are now scalable, so that they will no longer look very small when the window is in full-screen, maximized, or High DPI modes. +* **Breaking from long outputs from DOS shell commands** + + With this version you can now press Ctrl+C or Ctrl+Break to break from long outputs from commands like TYPE, MORE, COPY, DIR /S, and ATTRIB /S, in addition to the existing Ctrl+C/Ctrl+Break handler. +* **Changing output options dynamically from the command-line** + + You can now use the CONFIG command to change the current output, such as changing between OpenGL, Direct3D, and TrueType font outputs, in addition to doing so from the config file or the "Video" menu. +* **Improved Linux default output option** + + The default output option for the Linux platform has been changed from Surface to OpenGL for improved out-of-box user experiences. +* **Improved messages in the welcome banner** + + The messages in DOSBox-X's welcome banners have been further improved, especially for CGA/MCGA/MDA/Hercules machine types, including showing the correct default shortcuts in these modes. +* **Allow more customizations of DOSBox-X's title bar** + + You can now do more customizations to the DOSBox-X title bar, such as hide the DOSBox-X version number and running speed in the titlebar. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, including fixes to some existing features (e.g. fixing screen flickering when hovering over the menu with Direct3D output in the Windows SDL2 build, mounting disk/CD images with long paths from the "Drive" menu, etc.) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* Added support for the clipboard device (CLIP$) and + DOS clipboard API on non-Windows systems (they were + previously only supported on the Windows platform). + In Linux SDL1 build only read access is supported + whereas both read and write access are supported in + all other builds. Also, selecting and copying text + to the host clipboard using a mouse button or arrow + key is now supported in macOS SDL1 build. (Wengier) +* Added "Paste Clipboard" button to the AUTOEXEC.BAT, + CONFIG.SYS and 4DOS.INI sections in Configuration + Tool for pasting clipboard contents. (Wengier) +* Windows SDL2 builds now use same clipboard pasting + method as Windows SDL1 builds by default instead of + the BIOS keyboard function. The method is now also + available for Linux and macOS (both SDL1 and SDL2) + builds (although it is disabled by default on these + platforms). A menu option "Use BIOS function for + keyboard pasting" is added to the "Shared clipboard + functions" menu group (under "Main") to use BIOS + function for the clipboard pasting instead of the + keystroke method. Make sure this option is disabled + if pasting clipboad text into Windows 3.x/9x apps + (e.g. Notepad & Write) is desired. This setting can + be changed with "clip_paste_bios" config option in + in [sdl] section of the config file too. (Wengier) +* With the config option "startcmd=true" or command- + line option -winrun, Windows applications can now + be launched from within a DOS program or from the + 4DOS shell in addition to built-in shell. (Wengier) +* Added the "disable graphical splash" config option + in [dosbox] section which when set will cause a + text-mode BIOS splash screen to be always displayed + at startup instead of the graphical one. If the + TrueType font (TTF) output is enabled the text- + mode BIOS screen is used automatically. (Wengier) +* Added a simple BIOS Setup Utlity, which will show + a summary of the current system configuration and + allow users to change the date and time. Press Del + key at the BIOS boot screen to enter. (Wengier) +* Added config option "showbasic" in [sdl] section + which when set to false will hide DOSBox-X version + number and running speed in the titlebar. (Wengier) +* Added experimental option to load a VGA BIOS ROM + image and execute it, instead of our own INT 10h + emulation. If enabled, it will load the specific + ROM file into C000:0000. If not specified, it + will choose based on machine type. VGA BIOS ROM + images (e.g. et4000.bin for Tseng ET4000 emulation) + can be dumped from real hardware or downloaded from + the PCem ROMs collection. It can be set with config + option "vga bios rom image" in [video] section. +* Improved handling for file- and record-locking + for non-Windows platforms. Portions of the code + are adopted from DOSEmu. (Wengier) +* Improved handling for the setting "ansi.sys=false", + such as fixing the welcome screen messup in this + case and allowing the use of a custom ANSI TSR + (such as NNANSI.COM) instead. (Wengier & stu) +* You can now press Ctrl+C or Ctrl+Break to break + from long outputs from commands like TYPE, MORE, + COPY, DIR /S, and ATTRIB /S. (Wengier) +* Renamed MEM.COM to MEM.EXE to match DOS. (Wengier) +* Rewrote built-in TREE command instead of the one + from FreeDOS to support long filenames. (Wengier) +* DELTREE is now an external command appearing on + drive Z: as DELTREE.EXE instead of a builtin shell + command, since it is an external command in a real + DOS system. (Wengier) +* Added REPLACE command to replace files, resembling + the MS-DOS counterpart. This command is compiled + with long filename support. (Wengier) +* Added PUSHD and POPD commands so that you can store + the current directory and changes to the specified + directory (optionally also the current drive), then + changes the directory/drive back. PUSHD command + without arguments show stored path(s). (Wengier) +* Added COLOR command to change current foreground + and background colors. It usage is similar to the + same-named command in the Windows command prompt. + For example, command "COLOR fc" produces light red + on bright white; COLOR without an argument restores + the original color. (Wengier) +* Added CHCP command to view the current code page, + or change the current code page for the TrueType + font (TTF) output. Supported code pages include: + 437, 808, 850, 852, 853, 855, 857, 858, 860, 861, + 862, 863, 864, 865, 866, 869, 872, and 874. You can + now also set the code page for TTF output via the + optional second parameter of the "country" option + in [config] section of the configuration. (Wengier) +* Added function to automatically save states in the + specified time interval (in seconds). You can also + specify a save slot or start and end save slots to + be used. For example, "autosave=10 11-20" will set + a 10-second time interval for auto-saving, and the + save slots used will be between 11 and 20. If no + save slot is specified, then the current save slot + will be used for auto-saving. Putting a minus sign + before time interval causes the auto-saving function + to not be activated at start. You can optionally + also specify up to 9 program names for this feature, + e.g. "autosave=10 11-20 EDIT:21-30 EDITOR:35" will + cause program "EDIT" to use save slots 21-30, and + "EDITOR" to use save slot 35, and other programs to + use save slots 11-20. Added a menu option "Auto-save + settings..." to manage the auto-saving feature at + run-time. A menu option "Enable auto-saving state" + is added to the "Save/load options" menu group under + "Capture" to toggle auto-saving when the function is + enabled. Likewise, a menu option "Select last auto- + saved slot" is added to the "Select save slot" menu + group (also under "Capture") to switch to the last + auto-saved slot (if any). (Wengier) +* The Configuration Tool windows are now scalable, so + that they will no longer look very small in e.g. + full-screen or High DPI modes. (ant_222) +* If the -defaultdir option is the only or the last + command-line option and no parameter is specified, + then directory of the primary config file (if any) + becomes the DOSBox-X default directory. (Wengier) +* You can now change the current output dynamically + with CONFIG command, e.g. "CONFIG -set output=ttf" + and "CONFIG -set output=default". (Wengier) +* The command "KEYB US" will return the DOS codepage + to 437 if current codepage is different. (Wengier) +* The setting "output=default" will enable the OpenGL + output for Linux systems if possible. (Wengier) +* Fixed the CGA/MCGA/MDA/Hercules-specfic shortcut + function buttons in Mapper Editor, and the screen + colors after exiting from Mapper Editor when using + these machine types in Direct3D output (SDL1 build). + Also fixed the messages in the welcome banner for + these machine types to inform users the new default + shortcuts (Ctrl(+Shift)+[F7/F8]). (Wengier) +* Fixed DOS Int21/AH=0x5a "Create temporary file" + function not generating unique files. (Wengier) +* Fixed that the current drive goes back to Z drive + when combined unmounts & mounts are used. (Wengier) +* Fixed PC-98 keyboard handling of CTRL+A through + CTRL+Z. CTRL+C now works correctly in PC-98 mode. +* Fixed crash of Free Pascal compiler with dynamic + core and setting "use dynamic core with paging on = + auto" introduced in the previous version. (Wengier) +* Fixed launching Windows programs when the working + directory has no 8.3 filename entry. (Wengier) +* Fixed issues with full-screen switch in some cases + when the TrueType font output is enabled. (Wengier) +* Fixed an issue in MinGW builds that no data will be + sent to the OPL3Duo board. (DhrBaksteen) +* Fixed screen flickering when hovering over the menu + with Direct3D output in the Windows SDL2 build that + was introduced in the last version. (Wengier) +* Fixed mounting disk/CD images with long paths from + the "Drive" menu may not work properly. (Wengier) +* Fixed that the "Save" button in Configuration Tool + did not save config file in last version. (Wengier) +* Integrated SVN commits (Allofich) + - r4346: Fix a long-standing crash that occurred + when disconnecting a second joystick after + partially mapping it. + - r4344: Add F8 to toggle printable characters on + and off in the debugger. + - r4340: Fix behavior when main memory allocation + fails. + - r4336: Correct an oversight of r4186 when floppy + disks are mounted. + - r4330: some big endian improvements and drive_fat + fixes. (jmarsh) + - r4320: Report Q-Channel track number in BCD, + meaning it is not converted to binary by the + CD-ROM device driver. Fixes the CD-Player feature + of DOS Navigator 1.51 when playing past track 15. - r4318: Add LOGC debug command to log cs:ip only. \ No newline at end of file diff --git a/_release_notes/0.83.12.md b/_release_notes/0.83.12.md index 478c3734b9c..d9fdb62f3a6 100644 --- a/_release_notes/0.83.12.md +++ b/_release_notes/0.83.12.md @@ -1,113 +1,114 @@ ---- -date: April 1, 2021 ---- - -* CD-ROM image emulation now supports ISO images - that are 2GB or larger, 32-bit integer size limit - has been lifted. -* Added scrollbar buttons to the Configuration Tool, - so that the scrollbars better resemble the style of - the Windows 3.1 scrollbars. -* The help window for the Configuration Tool will now - display possible and default values for the config - options in addition to the descriptions. (Wengier) -* Updated the MMX patch code by kekko. (Wengier) -* Improved the compatibility of AUTOTYPE command with - games like Asterix & Obelix. (Wengier) -* MIXER command now supports the /GUI option to show - a popup window to display the mixer information. - Also improved its /LISTMIDI option which will show - the name of the current MIDI handler and you can - optionally specify a MIDI handler name (win32/alsa) - to show the information for this handler. (Wengier) -* Tandy graphics emulation fixed to accept 8 bits - for vertical total and vertical display CRTC - registers, which is needed for the tweaked - graphics mode used by Math Rabbit to display - correctly. -* INT 10h will no longer fill in three fields in - the BIOS data area (video CTL, char height, and - video switches) unless the machine type is - EGA or VGA. Those fields do not exist otherwise. - Certain games like Mindscape's "Road Runner" game - require those fields to be zero as part of it's - Tandy detection routine. -* PCjr mode will omit the reserved graphics RAM - MCB block, and will subtract 16KB from the top - at the BIOS level, if emulating 128KB system - memory or less. -* You can now run PCjr mode with as little as - 128KB of RAM. Removed 256KB minimum check from - DOS kernel. Certain games (Mickey's Space - Adventure) require memsizekb=128 and memsize=0 - in PCjr mode or else it will not work correctly - due to how the game locates video system memory. -* Fixed Tandy mode to place video memory at the - top of conventional memory and allow running - Tandy mode with a memsizekb setting as low as - 64KB, though 256KB or higher is recommended. -* Added Tandy "real memory size" field in the - BIOS data area. -* Tandy emulation updated to subtract 16KB from - top of conventional memory, which fixes some - games and follows DOSBox SVN behavior and real - hardware according to others on the Vogons forums. -* Fixed bug that limited Tandy mode to 624KB of - conventional memory. 32KB of video RAM is taken - from top of memory, losing half of the 32KB - breaks games that write to the system RAM instead - of B800:0000 segment and causes half the graphics - to not render. -* Increased upper limit of "prebuffer" config option - (in [mixer] section) from 100 to 250. It is still - recommended to set a value less than 100. (Wengier) -* The config options ttf.wpbg, ttf.bold, ttf.italic, - ttf.underline, ttf.strikeout, and ttf.char512 can - now be modified dynamically with CONFIG -SET ... - commands, e.g. CONFIG -SET ttf.wpbg=2. (Wengier) -* The minimal value for the ttf.ptsize config option - has been decreased from 10 to 9. (Wengier) -* Added menu item "Save logging as..." (under "Help" - -> "Debugging options") to save the current logging - content to the specified file. (Wengier) -* Added slirp backend support for the NE2000 network - feature (in addition to the existing pcap backend). - There are config sections named [ethernet, slirp] - and [ethernet, pcap] now to set the options for the - slirp and pcap backends respectively. Please refer - to the networking guide in the DOSBox-X Wiki for - more information about the backends. (Jookia) -* FAT driver can now support PC-98 HDI images with - partitions that start at any physical sector even - if the start is not a multiple of the ratio of - logical to physical sector size. This allows the - HDI image of Dragon Knight 4 to mount. -* Control character 7 (BEEP) is now allowed while - executing batch files without warnings. (Wengier) -* With the setting "core=auto" DOSBox-X now updates - the menu in the "CPU core" menu group automatically - between "Normal core" and "Dynamic core" to reflect - the CPU core which is currently in use. (Wengier) -* Fixed Windows 95/98 installation failures caused by - FAT driver and DOS API changes in previous version. -* Fixed well-intended but erroneous fall through case - in the INT15 handler that prevented 3rd party mouse - drivers from detecting the PS/2 mouse. -* Fixed the color issue with the Configuration Tool - in the macOS SDL1 build. (ant_222) -* Fixed switching ttf.cols, ttf.lins, and ttf.font - options dynamically in full-screen mode. (Wengier) -* Fixed menu options "Increase TTF font size" and - "Decrease TTF font size" (both under "Video" => - "TTF options") not working (but keyboard shortcuts - and those in the system menu work). (Wengier) -* Fixed setting option "ttf.wp=xy3" or "ttf.wp=xy4" - not working (but "ttf.wp=xy" did work). (Wengier) -* Fixed preview function in WordStar not working for - TrueType font output in previous version. (Wengier) -* Fixed the issue that caused Windows 3.x group file - corruption on hard disk image files. (SnikoLoft) -* Integrated SVN commits (Allofich) - - r4416: Added ability to start and stop avi - recording, and to start keymapper, from config. +--- +slug: 0.83.12 +date: April 1, 2021 +--- + +* CD-ROM image emulation now supports ISO images + that are 2GB or larger, 32-bit integer size limit + has been lifted. +* Added scrollbar buttons to the Configuration Tool, + so that the scrollbars better resemble the style of + the Windows 3.1 scrollbars. +* The help window for the Configuration Tool will now + display possible and default values for the config + options in addition to the descriptions. (Wengier) +* Updated the MMX patch code by kekko. (Wengier) +* Improved the compatibility of AUTOTYPE command with + games like Asterix & Obelix. (Wengier) +* MIXER command now supports the /GUI option to show + a popup window to display the mixer information. + Also improved its /LISTMIDI option which will show + the name of the current MIDI handler and you can + optionally specify a MIDI handler name (win32/alsa) + to show the information for this handler. (Wengier) +* Tandy graphics emulation fixed to accept 8 bits + for vertical total and vertical display CRTC + registers, which is needed for the tweaked + graphics mode used by Math Rabbit to display + correctly. +* INT 10h will no longer fill in three fields in + the BIOS data area (video CTL, char height, and + video switches) unless the machine type is + EGA or VGA. Those fields do not exist otherwise. + Certain games like Mindscape's "Road Runner" game + require those fields to be zero as part of it's + Tandy detection routine. +* PCjr mode will omit the reserved graphics RAM + MCB block, and will subtract 16KB from the top + at the BIOS level, if emulating 128KB system + memory or less. +* You can now run PCjr mode with as little as + 128KB of RAM. Removed 256KB minimum check from + DOS kernel. Certain games (Mickey's Space + Adventure) require memsizekb=128 and memsize=0 + in PCjr mode or else it will not work correctly + due to how the game locates video system memory. +* Fixed Tandy mode to place video memory at the + top of conventional memory and allow running + Tandy mode with a memsizekb setting as low as + 64KB, though 256KB or higher is recommended. +* Added Tandy "real memory size" field in the + BIOS data area. +* Tandy emulation updated to subtract 16KB from + top of conventional memory, which fixes some + games and follows DOSBox SVN behavior and real + hardware according to others on the Vogons forums. +* Fixed bug that limited Tandy mode to 624KB of + conventional memory. 32KB of video RAM is taken + from top of memory, losing half of the 32KB + breaks games that write to the system RAM instead + of B800:0000 segment and causes half the graphics + to not render. +* Increased upper limit of "prebuffer" config option + (in [mixer] section) from 100 to 250. It is still + recommended to set a value less than 100. (Wengier) +* The config options ttf.wpbg, ttf.bold, ttf.italic, + ttf.underline, ttf.strikeout, and ttf.char512 can + now be modified dynamically with CONFIG -SET ... + commands, e.g. CONFIG -SET ttf.wpbg=2. (Wengier) +* The minimal value for the ttf.ptsize config option + has been decreased from 10 to 9. (Wengier) +* Added menu item "Save logging as..." (under "Help" + -> "Debugging options") to save the current logging + content to the specified file. (Wengier) +* Added slirp backend support for the NE2000 network + feature (in addition to the existing pcap backend). + There are config sections named [ethernet, slirp] + and [ethernet, pcap] now to set the options for the + slirp and pcap backends respectively. Please refer + to the networking guide in the DOSBox-X Wiki for + more information about the backends. (Jookia) +* FAT driver can now support PC-98 HDI images with + partitions that start at any physical sector even + if the start is not a multiple of the ratio of + logical to physical sector size. This allows the + HDI image of Dragon Knight 4 to mount. +* Control character 7 (BEEP) is now allowed while + executing batch files without warnings. (Wengier) +* With the setting "core=auto" DOSBox-X now updates + the menu in the "CPU core" menu group automatically + between "Normal core" and "Dynamic core" to reflect + the CPU core which is currently in use. (Wengier) +* Fixed Windows 95/98 installation failures caused by + FAT driver and DOS API changes in previous version. +* Fixed well-intended but erroneous fall through case + in the INT15 handler that prevented 3rd party mouse + drivers from detecting the PS/2 mouse. +* Fixed the color issue with the Configuration Tool + in the macOS SDL1 build. (ant_222) +* Fixed switching ttf.cols, ttf.lins, and ttf.font + options dynamically in full-screen mode. (Wengier) +* Fixed menu options "Increase TTF font size" and + "Decrease TTF font size" (both under "Video" => + "TTF options") not working (but keyboard shortcuts + and those in the system menu work). (Wengier) +* Fixed setting option "ttf.wp=xy3" or "ttf.wp=xy4" + not working (but "ttf.wp=xy" did work). (Wengier) +* Fixed preview function in WordStar not working for + TrueType font output in previous version. (Wengier) +* Fixed the issue that caused Windows 3.x group file + corruption on hard disk image files. (SnikoLoft) +* Integrated SVN commits (Allofich) + - r4416: Added ability to start and stop avi + recording, and to start keymapper, from config. - r4405: Smarter clearing of the dynrec cache. \ No newline at end of file diff --git a/_release_notes/0.83.13.md b/_release_notes/0.83.13.md index 89331ed81d5..8bf3357566e 100644 --- a/_release_notes/0.83.13.md +++ b/_release_notes/0.83.13.md @@ -1,157 +1,158 @@ ---- -date: April 30, 2021 ---- - -* DOSBox-X can now resolve file paths in its config - options that include environment variables on non- - Windows platforms (e.g. ${HOME}..) as well. A new - config option "resolve config path" (in [dosbox] - section) is added to control path resolving in the - config file (e.g. to resolve tildes only by setting - to "tilde", or disable all path resolving). (Wengier) -* System menu text in Windows builds now match the text - in the drop-down menus to be translatable by language - files and is compatible with Unicode. (Wengier) -* The error "Access Denied" is returned instead of - "File not found" for files opened exclusively in - another program on mounted local drives. (Wengier) -* S386C928 hardware cursor fixed to divide X coordinate - by bytes per pixel indicated in the control register - to match apparent Windows 3.1/95 behavior. Cursor - now tracks host properly even in highcolor/truecolor - modes. -* Added support for the RetroWave OPL3 hardware player. - Set "oplemu=retrowave_opl3" in [sblaster] section of - the config file to use it. Config options including - "retrowave_bus", "retrowave_spi_cs", "retrowave_port" - are added to adjust its settings. (ClassicOldSong) -* Added support for S386C928 hardware cursor color - selection in 256-color mode, which is different - from later cards. -* S3 XGA "BYTE SWP" fixed only to byte swap if the - transfer is 16-bit wide. This fixes the dither - pattern drawn by Windows 95/98 when you select - "Shutdown" from the Start menu. -* IMGMAKE command is now disabled in the secure mode, - similar to commands like IMGMOUNT. (Wengier) -* Added config options "working directory option" and - "working directory default" in [dosbox] section of - the config file to provide various options for the - users to control DOSBox-X's working directory. For - example, DOSBox-X can use the primary config file - directory or the DOSBox-X program directory as its - working directory. You can view the DOSBox-X'safe - working directory with CONFIG -L command. DOSBox-X - is also able to save the working directory that a - user selects to global config files. (Wengier) -* DOSBox-X will now also try to read the config file - named dosbox-x.conf in the user config directory - when searching for config files at start. -* Added new command-line options -promptfolder and - -nopromptfolder which will cause the folder prompt - dialogs to show or not to show at startup. -* Mac OS X builds will prompt the user to select a - folder at startup if run from the Finder (or from - the root directory). The folder selected will then - become the current working directory of DOSBox-X. - This makes it possible to start DOSBox-X with a - config file of your choice and to control where - the capture, save states and other files go. -* Fixed Tseng ET4000 640x480 256-color SVGA mode - when using the ET4000.BIN VGA BIOS, or Windows 98. -* Added segment limit checks in Normal core for - MOVSB/MOVSW/MOVSD and STOSB/STOSW/STOSD, which is - needed for DOSBox-X to work with the Windows 3.1 - S3 86C928 display drivers that use segment limit - exceptions to fake a linear framebuffer. -* Added S3 XGA "byte swap" emulation, needed for - correct menu/titlebar display in Windows 3.1 when - using the S3 86C928 driver. -* Added YUV (YUY2) overlay to S3 Trio64V+ card - emulation. Tested with XingMPEG under Windows 3.1 - and ActiveMovie under Windows 98. -* Added machine types for 5 different variations of - S3 chipset: Vision864, Vision868, Trio32, Trio64, - and (experimental) Trio64V+, ViRGE, ViRGE/VX, and - S3 86C928. -* Removed second PCI BAR for S3 MMIO register space. - S3 datasheets do not show a second BAR. Windows 95 - is perfectly happy without it. -* S3 SVGA XGA emulation BlitRect now supports - COLOR_CMP. DirectX-based Windows 95 games are now - able to blit in 256-color mode with a transparent - color key value. -* ANSI.SYS emulaion now supports the "Device Status - Report" escape when asked through code 6 (report - cursor position) -* Fixed RAM mapping bugs related to MDA/CGA/Hercules - emulation and the "allow more than 640kb" option, - that failed to map RAM as expected, and because of - that, easily triggered a "corrupt MCB chain" error - message. -* Worked around the mounting issue for disk or CD - image files with LaunchBox, by allowing a mounting - command-line with single quotes like IMGMOUNT D - 'X:\FILES\DOS.IMG' on Windows systems. (Wengier) -* Restored Pentium MMX emulation code for the dynamic - x86 core to that of version 0.83.11 for better - compatibility with some Windows 9x games. (Wengier) -* Added "compresssaveparts" config option (in the - [dosbox] section) which when set to false will not - compress the components in saved states. (Wengier) -* When the current reported DOS version is less than - 7.x and the user tries to mount a LBA or FAT32 disk - image, DOSBox-X will now show a message to ask if - the user wants it to set the required DOS version - automatically and proceed. (Wengier) -* DOSBox-X will now show the folder mounted after - mounting to a drive from the menu. (Wengier) -* Fixed MOUNT and IMGMOUNT commands unable to mount - directories or image files that contain non-ASCII - characters in the code page on Windows. (Wengier) -* Fixed CapsLock may not work properly in Windows - SDL1 builds when -fs option is used. (Wengier) -* Fixed the cycle information on the title bar when - the Turbo mode is enabled. (Wengier) -* Fixed that some games using the DOS4GW Extender - may not work due to swap file issue. (Wengier) -* Fixed that the clipboard copy and paste may not - work when the current code page is 808 or 872 - and you are using Windows. (Wengier) -* Fixed the handling of the "Save & Restart" button - in Configuration Tool when using Direct3D output - in Windows SDL2 builds. (Wengier) -* Fixed incorrect display issue when using TrueType - font (TTF) output with customized screen dimension - when fastbioslogo=true is set. (Wengier) -* Fixed CD audio not looping for individual tracks - in games like Alien Trilogy. (kcgen) -* The command "MIXER /LISTMIDI" now lists the ROM - directory/files and sound fonts for MT32, Synth - and FluidSynth MIDI device when active. (Wengier) -* Debugger "DOS XMS" command will only list handles - that are allocated, or with nonzero address or - nonzero size, to avoid showing irrelevant - information. (joncampbell123) -* Added LOADFIX -EMS option to allocate/free - EMS (expanded memory). (joncampbell123) -* LOADFIX -D -XMS will free all XMS blocks - allocated by LOADFIX -XMS. (joncampbell123) -* LOADFIX -A will not allocate memory unless there - is memory below 64KB to fill. (joncampbell123) -* INT 15h PS/2 mouse functions now clear pending - PS/2 mouse interrupt as part of the BIOS call. - This should resolve unresponsive mouse issues - with Windows 3.1. (joncampbell123) -* Add config option "mt32.model" in the [midi] - section to force a MT-32 model to use. (Wengier) -* Updated the MUNT MT-32 library to the latest - version 2.5.0. (Wengier) -* Updated FLAC decoder library to the latest version - (0.12.29 by David Reid). (Wengier) -* Integrated SVN commits (Allofich) - - r4436, r4437: Rewrite store integer instructions - to check if the result fits. (vogons 78127) - - r4447: Attribute Controller port alias on EGA - machine. Fixes EGA display of older Super Pac-Man +--- +slug: 0.83.13 +date: April 30, 2021 +--- + +* DOSBox-X can now resolve file paths in its config + options that include environment variables on non- + Windows platforms (e.g. ${HOME}..) as well. A new + config option "resolve config path" (in [dosbox] + section) is added to control path resolving in the + config file (e.g. to resolve tildes only by setting + to "tilde", or disable all path resolving). (Wengier) +* System menu text in Windows builds now match the text + in the drop-down menus to be translatable by language + files and is compatible with Unicode. (Wengier) +* The error "Access Denied" is returned instead of + "File not found" for files opened exclusively in + another program on mounted local drives. (Wengier) +* S386C928 hardware cursor fixed to divide X coordinate + by bytes per pixel indicated in the control register + to match apparent Windows 3.1/95 behavior. Cursor + now tracks host properly even in highcolor/truecolor + modes. +* Added support for the RetroWave OPL3 hardware player. + Set "oplemu=retrowave_opl3" in [sblaster] section of + the config file to use it. Config options including + "retrowave_bus", "retrowave_spi_cs", "retrowave_port" + are added to adjust its settings. (ClassicOldSong) +* Added support for S386C928 hardware cursor color + selection in 256-color mode, which is different + from later cards. +* S3 XGA "BYTE SWP" fixed only to byte swap if the + transfer is 16-bit wide. This fixes the dither + pattern drawn by Windows 95/98 when you select + "Shutdown" from the Start menu. +* IMGMAKE command is now disabled in the secure mode, + similar to commands like IMGMOUNT. (Wengier) +* Added config options "working directory option" and + "working directory default" in [dosbox] section of + the config file to provide various options for the + users to control DOSBox-X's working directory. For + example, DOSBox-X can use the primary config file + directory or the DOSBox-X program directory as its + working directory. You can view the DOSBox-X'safe + working directory with CONFIG -L command. DOSBox-X + is also able to save the working directory that a + user selects to global config files. (Wengier) +* DOSBox-X will now also try to read the config file + named dosbox-x.conf in the user config directory + when searching for config files at start. +* Added new command-line options -promptfolder and + -nopromptfolder which will cause the folder prompt + dialogs to show or not to show at startup. +* Mac OS X builds will prompt the user to select a + folder at startup if run from the Finder (or from + the root directory). The folder selected will then + become the current working directory of DOSBox-X. + This makes it possible to start DOSBox-X with a + config file of your choice and to control where + the capture, save states and other files go. +* Fixed Tseng ET4000 640x480 256-color SVGA mode + when using the ET4000.BIN VGA BIOS, or Windows 98. +* Added segment limit checks in Normal core for + MOVSB/MOVSW/MOVSD and STOSB/STOSW/STOSD, which is + needed for DOSBox-X to work with the Windows 3.1 + S3 86C928 display drivers that use segment limit + exceptions to fake a linear framebuffer. +* Added S3 XGA "byte swap" emulation, needed for + correct menu/titlebar display in Windows 3.1 when + using the S3 86C928 driver. +* Added YUV (YUY2) overlay to S3 Trio64V+ card + emulation. Tested with XingMPEG under Windows 3.1 + and ActiveMovie under Windows 98. +* Added machine types for 5 different variations of + S3 chipset: Vision864, Vision868, Trio32, Trio64, + and (experimental) Trio64V+, ViRGE, ViRGE/VX, and + S3 86C928. +* Removed second PCI BAR for S3 MMIO register space. + S3 datasheets do not show a second BAR. Windows 95 + is perfectly happy without it. +* S3 SVGA XGA emulation BlitRect now supports + COLOR_CMP. DirectX-based Windows 95 games are now + able to blit in 256-color mode with a transparent + color key value. +* ANSI.SYS emulaion now supports the "Device Status + Report" escape when asked through code 6 (report + cursor position) +* Fixed RAM mapping bugs related to MDA/CGA/Hercules + emulation and the "allow more than 640kb" option, + that failed to map RAM as expected, and because of + that, easily triggered a "corrupt MCB chain" error + message. +* Worked around the mounting issue for disk or CD + image files with LaunchBox, by allowing a mounting + command-line with single quotes like IMGMOUNT D + 'X:\FILES\DOS.IMG' on Windows systems. (Wengier) +* Restored Pentium MMX emulation code for the dynamic + x86 core to that of version 0.83.11 for better + compatibility with some Windows 9x games. (Wengier) +* Added "compresssaveparts" config option (in the + [dosbox] section) which when set to false will not + compress the components in saved states. (Wengier) +* When the current reported DOS version is less than + 7.x and the user tries to mount a LBA or FAT32 disk + image, DOSBox-X will now show a message to ask if + the user wants it to set the required DOS version + automatically and proceed. (Wengier) +* DOSBox-X will now show the folder mounted after + mounting to a drive from the menu. (Wengier) +* Fixed MOUNT and IMGMOUNT commands unable to mount + directories or image files that contain non-ASCII + characters in the code page on Windows. (Wengier) +* Fixed CapsLock may not work properly in Windows + SDL1 builds when -fs option is used. (Wengier) +* Fixed the cycle information on the title bar when + the Turbo mode is enabled. (Wengier) +* Fixed that some games using the DOS4GW Extender + may not work due to swap file issue. (Wengier) +* Fixed that the clipboard copy and paste may not + work when the current code page is 808 or 872 + and you are using Windows. (Wengier) +* Fixed the handling of the "Save & Restart" button + in Configuration Tool when using Direct3D output + in Windows SDL2 builds. (Wengier) +* Fixed incorrect display issue when using TrueType + font (TTF) output with customized screen dimension + when fastbioslogo=true is set. (Wengier) +* Fixed CD audio not looping for individual tracks + in games like Alien Trilogy. (kcgen) +* The command "MIXER /LISTMIDI" now lists the ROM + directory/files and sound fonts for MT32, Synth + and FluidSynth MIDI device when active. (Wengier) +* Debugger "DOS XMS" command will only list handles + that are allocated, or with nonzero address or + nonzero size, to avoid showing irrelevant + information. (joncampbell123) +* Added LOADFIX -EMS option to allocate/free + EMS (expanded memory). (joncampbell123) +* LOADFIX -D -XMS will free all XMS blocks + allocated by LOADFIX -XMS. (joncampbell123) +* LOADFIX -A will not allocate memory unless there + is memory below 64KB to fill. (joncampbell123) +* INT 15h PS/2 mouse functions now clear pending + PS/2 mouse interrupt as part of the BIOS call. + This should resolve unresponsive mouse issues + with Windows 3.1. (joncampbell123) +* Add config option "mt32.model" in the [midi] + section to force a MT-32 model to use. (Wengier) +* Updated the MUNT MT-32 library to the latest + version 2.5.0. (Wengier) +* Updated FLAC decoder library to the latest version + (0.12.29 by David Reid). (Wengier) +* Integrated SVN commits (Allofich) + - r4436, r4437: Rewrite store integer instructions + to check if the result fits. (vogons 78127) + - r4447: Attribute Controller port alias on EGA + machine. Fixes EGA display of older Super Pac-Man release. \ No newline at end of file diff --git a/_release_notes/0.83.14.md b/_release_notes/0.83.14.md index f1d985e4f8f..aac2aebd7a2 100644 --- a/_release_notes/0.83.14.md +++ b/_release_notes/0.83.14.md @@ -1,273 +1,274 @@ ---- -date: June 1, 2021 ---- - -## 1. Notable New Features - -* **Directory support on Virtual Drive Z: and major cleanups on this drive** - - The internal virtual drive Z: now supports directories so there is no need to put all files/programs on the root directory of Z drive any more (although one-level directories are currently supported). The Z drive has been cleaned up accordingly as well by categorizing files into directories, with additional programs appearing in some directories. -* **Support for changing current floppy or CD images when running guest systems** - - You can now change the active floppy disk and/or CD images while DOS/Windows 9x guest systems are currently running. There are now menu options "Change current floppy image..." and "Change current CD image..." to change the currently active floppy disk image(s) on drive A:/B: and ISO/CUE image(s) on CD drives. -* **Support for START command on non-Windows platforms to launch host system programs** - - The START command designed to launch host system programs to run outside DOSBox-X has been extended to non-Windows platforms including Linux and macOS. This feature is disabled by default but can be enabled by setting config option "startcmd" to "true" or with the -hostrun command-line option. Type START /? for more information about this command. -* **Significantly improved multi-language support including UTF-8 language file support** - - Multi-language support has been improved significantly in this version, especially for the drop-down menus. Language files encoded with UTF-8 are now supported (and will be automatically saved so) in addition to those encoded with DOS code pages. The welcome banner messages etc have been cleaned up for easier language translations too. -* **Full support for Chinese/Japanese/Korean code pages and displaying CJK characters in TTF output** - - There are huge improvements for Chinese/Japanese/Korean language support in this version. With a CJK code page (932: Japanese, 936: Simplified Chinese, 949: Korean; 950: Traditional Chinese) files/directories with CJK characters can be loaded and mounted properly, and when using the TrueType font (TTF) output and a suitable TTF font (e.g. GNU Unifont), CJK characters can be displayed directly in DOSBox-X without any helper programs, with auto-detection of box-drawing characters and the ability to switch between DBCS and SBCS modes. Even printing is supported (see below). [Chinese (Simplified) language file](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/zh/zh_CN.lng) and [Japanese language file](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/ja/ja_JP.lng) are added as well. -* **Improved printing features including DBCS support for CJK languages** - - The printing features have been once again improved, including menu option to print the current DOS text screen, and for TTF output the current TrueType font will be used for printing as well by default. Also, support for printing Chinese/Japanese/Korean DBCS (double-byte) characters (when these code pages are active) is added, and you can see the new "printdbcs" config option in [printer] section for more information. -* **Improved TTF word processor support** - - Support for a new TTF word processor type "FE" (for FastEdit, new DOS text editor with functions to view and change text styles) has been added, and for this word processor type all style combinations of bold, italics, underline, and strikeout are supported. Also added "ttf.wpfg" config option to optionally specify a foreground color (0-7) for the TTF output. -* **Improved CONFIG command for configuration** - - The CONFIG command has been improved in various ways, including added special properties such as "hostos", "programdir", "workdir", "configdir", and "userconfigdir" (for example, "CONFIG -GET hostos" will get the host system OS). The command "CONFIG -wl" will show the name of language file being written to and "CONFIG -ln" will show the name of the current language (if any). If a config option can only be changed at run-time, "CONFIG -set" will now show such a message ("CONFIG -setf" will bypass but the change won't take effect in the current session). -* **Improved SETCOLOR command for changing text-mode color schemes in all outputs** - - The SETCOLOR command can now change the text-mode color schemes in all outputs in VGA mode, not just the TrueType font (TTF) output. Type SETCOLOR to view the current text-mode color schemes, or type SETCOLOR /? for more information about this command. If you want to change the text-mode foreground and background colors, use the COLOR command instead. -* **Improved debugging functions including enhanced menu options** - - There is now a top-level "Debug" menu in all debug builds, with additional debug options appearing in this menu. For the DOSBox-X debugger, you can now set the run mode when the debugger starts, including "debugger", "normal", and "watch", either from the drop-down menu or in the config file. You can also change this dynamically from the menu when the debugger is running. Debugger interface also accepts the '0' key as a command to single-step in case F11 isn't an option. - -## 2. Notable Usability Improvements - -* **Allow to auto-maximize the DOSBox-X window at start** - - There is now a "maximize" config option in [sdl] section which allows you to automatically maximize the DOSBox-X window at start, although it is available for all SDL2 builds and Windows SDL1 builds only. Use the full-screen mode for the TrueType font (TTF) output. -* **Allow to auto-select a backend for the NE2000 networking feature** - - With the existence of two backends (pcap and slirp) for the NE2000 networking feature, a default value "auto" is added to "backend" option in [ne2000] section of the configuration which will automatically select the slirp backend if available, then the pcap backend if available. -* **Allow to auto-select a IRQ number for the Sound Blaster** - - The IRQ option for the Sound Blaster now accepts a value of "0" to automatically select a IRQ number (either 5 or 7) based on the actual default IRQ number for the sound card type. -* **Allow to use system mouse pointer for the DOS mouse cursor** - - There is now a "usesystemcursor" config option (in [sdl] section) which when set to true will use host system mouse cursor instead of drawing a DOS mouse cursor when the mouse is not locked. Some people prefer the host system mouse cursor to the actual DOS mouse cursor. -* **Restart DOSBox-X with specified config file from menu** - - Under the "Main" menu there is now a menu option which allows you to restart DOSBox-X with the specified config file automatically. The specified config file can be completely different from the current one, such as loading a different machine type. -* **Changing the refresh rate and A20 gate status from menu** - - You can now change the video refresh rate and the A20 gate status from the drop-down menus, in addition to use commands. The "Refresh rate..." menu option under "Video" menu and the "Enable A20 gate" menu option under "DOS" menu allow you to achieve these. -* **Specifying command shell located on mounted local drive** - - You can now specify a command shell located on a mounted local drive (instead of Drive Z:) via SHELL= command in [config] section of config file after the drive is properly mounted via INSTALL= command. -* **Optimized -silent and -fastlaunch command-line options** - - Both the -silent and -fastlaunch command-line options have been optimized to potential make them even faster and quieter. For example, both options will suppress the possible folder selection dialog and any messages by the "automountall=true" option, and -silent option will disable all sound-related config option as well. -* **More options to convert mouse wheel movements to keys** - - Additional options are added to the "mouse_wheel_key" config option and the "Mouse wheel movements" menu group to allow conversion of mouse wheel movements into Ctrl+up/down arrow (option 4), Ctrl+left/right arrows (option 5), Ctrl+PgUp/PgDn keys (option 6), and Ctrl+W/Z as used by WordStar and EDIT (option 7). - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, including fixes and improvements to some existing features (e.g. issues related to screen dimensions in TTF output in CGA/EGA modes since 0.83.12 and updated Windows installer to use the latest Inno Setup to allow features such as administrative install mode via /ALLUSERS option) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* Added support for directories on the Z drive, so - there is no need to put all files/programs on the - root directory of Z drive any more. Only one-level - directories are currently supported. There are now - six directories on the Z drive by default, namely - 4DOS, BIN, DEBUG, DOS, SYSTEM, TEXTUTIL. Most files - that previously appeared on the root directory of - Z drive are now categorized into directories, with - addition of some files/programs, such as additional - 4DOS files, text utilities in TEXTUTIL directory - and TITLE command to change window title. (Wengier) -* You can now specify a command shell located on a - mounted local drive via SHELL= command in [config] - section of config file after the drive is properly - mounted via INSTALL= command. (Wengier) -* Extended START command to Linux and macOS systems. - It's disabled by default just like on Windows host - systems, but can be enabled by setting "startcmd" - to "true" or with the -hostrun command-line option - (replacing -winrun command-line option). (Wengier) -* CHCP command in the TrueType font (TTF) output now - allows code page 932, 936, 949, and 950 to display - Chinese, Japanese and Korean characters and file - names with DBCS support enabled in non-PC98 mode. - By default DOSBox-X will enable DBCS characters and - auto-detection for box-drawing characters in these - code pages, and these can be disabled by setting - new options "ttf.autodbcs" and "ttf.autoboxdraw" to - "false". There is also option "ttf.halfwidthkana" - to enable half-width Katakana in Japanese non-PC98 - machines. KEYB command (and "keyboardlayout" config - option) also accept "jp", "ko", "cn", "tw", "hk", - "zh" as key layout names for code pages. (Wengier) -* Added support for printing Chinese/Japanese/Korean - DBCS (double-byte) characters when these code pages - are active, which by default ("auto") is enabled for - the TTF output, but can be enable or disabled for - all outputs by setting option "printdbcs" to "true" - or "false" in [printer] section. (Wengier) -* Added ability to toggle between Shift-JIS (or Kanji) - and graphical modes using Ctrl+F4 key (or ESC )3 and - ESC )0 escape sequences) in the PC-98 mode. There - is now also an indication of graphical mode in the - function row. (nmlgc) -* Added the "usesystemcursor" config option (in [sdl] - section) which when set to true will use host system - mouse cursor instead of drawing a DOS mouse cursor - when the mouse is not locked. (Wengier) -* When opening "Save..." or "Save Language File..." - dialogs in the Configuration Tool, the new dialogs - will now automatically be in focus. For the language - file, the name of the current language file will be - filled and modifiable. Pressing ENTER key saves the - config or language file, and pressing ESC key will - close these dialog boxes. (Wengier) -* Command "CONFIG -wl" will show the name of language - file being written to (if there is a language file - loaded then "CONFIG -wl" alone will write to it), - and command "CONFIG -ln" will show current language - name (if any), or you can use command "CONFIG -ln - -wl " to specify a language - name when writting to a language file. (Wengier) -* Added special properties to CONFIG command such as - "hostos", "programdir", "workdir", "configdir", and - "userconfigdir" so that commands like "CONFIG -GET - hostos" and "CONFIG -GET workdir" will get the host - system OS and DOSBox-X working directory. (Wengier) -* If a config option can only be changed at run-time, - "CONFIG -set" will now show such a message. You can - use "CONFIG -setf" to bypass, but the setting won't - take effect in the current session. (Wengier) -* SETCOLOR command can now change the text-mode color - schemes in outputs rather than the TrueType font - output too (VGA mode only). (Wengier) -* Added support for new TTF word processor type "FE" - for FastEdit, a new DOS text editor with functions - to view and change text styles. (Wengier) -* Added "ttf.wpfg" config option in [render] section - which can optionally specify a foreground color - (0-7) for the TTF output, similar to "ttf.wpbg" for - the background color in the TTF output. (Wengier) -* Added "ttf.printfont" config option in [render] - section which when set to true (default) will force - to use the current TrueType font (set via ttf.font) - for printing too when using TTF output. (Wengier) -* Added additional options to the "mouse_wheel_key" - config option to allow conversion of mouse wheel - movements into Ctrl+up/down arrow (option 4), Ctrl+ - left/right arrows (option 5), Ctrl+PgUp/PgDn keys - (option 6), and Ctrl+W/Z as used by WordStar & EDIT - (option 7) . More menu options are added to "Mouse - wheel movements" menu group as well. (Wengier) -* Added menu option "Print text screen" (under "DOS") - to print current DOS text screen, if the printer - feature has been enabled. (Wengier) -* Added menu options "Display TTF blinking cursor", - "CJK: Switch DBCS/SBCS mode", "CJK: Auto-detect - box-drawing characters" and "CJK: Allow half-width - Japanese Katahana" under "Video" => "TTF options" - menu group to toggle the TTF options ttf.blinkc, - ttf.autodbcs, ttf.autoboxdraw and ttf.halfwidthkana - in [render] section of the config file. (Wengier) -* Support for UTF-8 encoded language files. Specify - a DOS code page with "country" option in [config] - section of the config file. Windows SDL1 menu and - macOS menu are now also compatible with Unicode - language files and characters. Also improved code - page compatibility for text in the SDL drawn menu - and the Configuration Tool. (Wengier) -* Cleaned up the welcome banner messages and other - messages involving boxdrawing characters for easier - translations into certain languages. (Wengier) -* Command-line option -silent now implies -nomenu, - SDL_AUDIODRIVER=dummy and will disable all sound- - related config option as well. (Wengier) -* Command-line option -fastlaunch will now suppress - messages by "automountall=true" option. Also added - value "quiet" to "automountall" config option to - auto-mount all Windows drives quietly. (Wengier) -* Added default value "auto" to "backend" option in - [ne2000] section of the configuration which will - automatically select slirp backend if available, - then pcap backend if available. (Wengier) -* Improved handling of Ctrl+C/Ctrl+Break for shell- - based DOS programs. (Wengier) -* Setting "irq" to "0" in [sblaster] section of the - config file will use the default IRQ number for the - sound card type. Also fixed "irq=-1", "dma=-1" and - "hdma=-1" not working as desired. (Wengier) -* Option "dpi aware=auto" now defaults to "true" when - full-screen mode is requested when DOSBox-X starts - in Windows SDL1 builds. (Wengier) -* The return value of AL in Int21/AX=0Eh is no longer - fixed. The game Jurassic Park may run after moving - Z drive to a different letter (e.g. E:). (Wengier) -* Added "Change current floppy image..." and "Change - current CD image..." menu options to change the - currently active floppy disk image(s) on drive A: & - B: and ISO/CUE image(s) on CD drives respectively. - This makes it possible to change the active floppy - disk and/or CD images while a guest system (e.g. - Windows 9x) is currently running. (Wengier) -* Added "Restart DOSBox-X with config file..." menu - option to start DOSBox-X with the specified config - file automatically from the menu. (Wengier) -* Added "Refresh rate..." menu option (under "Video") - to set the video refresh rate. (Wengier) -* Added "Enable A20 gate" menu option (under "DOS") - to enable or disable the A20 gate. (Wengier) -* Added "maximize" config option in [sdl] section to - automatically maximize the DOSBox-X window at start - (SDL2 and Windows SDL1 builds only). (Wengier) -* Added "allow lmsw to exit protected mode" config - option in [cpu] section to control whether the LMSW - instruction allows the guest to clear the PE bit - (leave protected mode). -* Added "debuggerrun" config option in [log] section - to set the run mode when DOSBox-X Debugger starts. - You can now also switch them from the menu ("Debug" - => "Debugger option: ..."), including "debugger", - "normal" and "watch", the later two corresponding - to debugger commands "RUN" and "RUNWATCH". Also, - the built-in DEBUGBOX command without a parameter - will start the DOSBox-X debugger. (Wengier) -* Debugger interface now accepts the '0' key as a - command to single-step in case F11 isn't an option. - If you are using XFCE's Terminal emulator, this is - helpful because Terminal app takes F11 for itself. -* "Debug" menu is now a top-level menu for debugging - builds (for non-debugging builds there is "Logging - console" menu group under "Help"). Also added more - debug options including "Generate NMI interrupt" - and "Hook INT 2Fh calls" under this menu. (Wengier) -* Fixed /S and /F option (date/time-synchronization - ON/OFF) of DATE command not working. (Wengier) -* Fixed aspect=true not working properly for some - screen modes such as machine=ega. (Wengier) -* Fixed the mouse not automatically captured when - DOSBox-X starts with the settings fullscreen=true - and autolock=true. (Wengier) -* Fixed inputs in the Configuration Tool when the - Configuration Tool is scaled. (Wengier) -* Fixed keys may not work after loading a saved state - for the game Buck Rogers. (Wengier) -* Fixed Windows detection for the game "Tex Murphy: - Under a Killing Moon". (Wengier) -* Fixed serial ports 5-9 may not be usable with real - serial ports (directserial). (vkbaf & Wengier) -* Fixed issues related to screen dimensions in TTF - output in CGA/EGA modes since 0.83.12. (Wengier) -* Added alternative Windows installer for administrative - install mode on Windows Vista or later. (Wengier) -* Integrated SVN commits (Allofich) - - r4443: Improve detection of Paradise SVGA in some - installers with additional signature. - - r4453: Improve bittest instructions to wrap more - correctly. - - r4454: Enable A20 routines in BIOS. - - r4456: The numeric keypad can now be used to +--- +slug: 0.83.14 +date: June 1, 2021 +--- + +## 1. Notable New Features + +* **Directory support on Virtual Drive Z: and major cleanups on this drive** + + The internal virtual drive Z: now supports directories so there is no need to put all files/programs on the root directory of Z drive any more (although one-level directories are currently supported). The Z drive has been cleaned up accordingly as well by categorizing files into directories, with additional programs appearing in some directories. +* **Support for changing current floppy or CD images when running guest systems** + + You can now change the active floppy disk and/or CD images while DOS/Windows 9x guest systems are currently running. There are now menu options "Change current floppy image..." and "Change current CD image..." to change the currently active floppy disk image(s) on drive A:/B: and ISO/CUE image(s) on CD drives. +* **Support for START command on non-Windows platforms to launch host system programs** + + The START command designed to launch host system programs to run outside DOSBox-X has been extended to non-Windows platforms including Linux and macOS. This feature is disabled by default but can be enabled by setting config option "startcmd" to "true" or with the -hostrun command-line option. Type START /? for more information about this command. +* **Significantly improved multi-language support including UTF-8 language file support** + + Multi-language support has been improved significantly in this version, especially for the drop-down menus. Language files encoded with UTF-8 are now supported (and will be automatically saved so) in addition to those encoded with DOS code pages. The welcome banner messages etc have been cleaned up for easier language translations too. +* **Full support for Chinese/Japanese/Korean code pages and displaying CJK characters in TTF output** + + There are huge improvements for Chinese/Japanese/Korean language support in this version. With a CJK code page (932: Japanese, 936: Simplified Chinese, 949: Korean; 950: Traditional Chinese) files/directories with CJK characters can be loaded and mounted properly, and when using the TrueType font (TTF) output and a suitable TTF font (e.g. GNU Unifont), CJK characters can be displayed directly in DOSBox-X without any helper programs, with auto-detection of box-drawing characters and the ability to switch between DBCS and SBCS modes. Even printing is supported (see below). [Chinese (Simplified) language file](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/zh/zh_CN.lng) and [Japanese language file](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/ja/ja_JP.lng) are added as well. +* **Improved printing features including DBCS support for CJK languages** + + The printing features have been once again improved, including menu option to print the current DOS text screen, and for TTF output the current TrueType font will be used for printing as well by default. Also, support for printing Chinese/Japanese/Korean DBCS (double-byte) characters (when these code pages are active) is added, and you can see the new "printdbcs" config option in [printer] section for more information. +* **Improved TTF word processor support** + + Support for a new TTF word processor type "FE" (for FastEdit, new DOS text editor with functions to view and change text styles) has been added, and for this word processor type all style combinations of bold, italics, underline, and strikeout are supported. Also added "ttf.wpfg" config option to optionally specify a foreground color (0-7) for the TTF output. +* **Improved CONFIG command for configuration** + + The CONFIG command has been improved in various ways, including added special properties such as "hostos", "programdir", "workdir", "configdir", and "userconfigdir" (for example, "CONFIG -GET hostos" will get the host system OS). The command "CONFIG -wl" will show the name of language file being written to and "CONFIG -ln" will show the name of the current language (if any). If a config option can only be changed at run-time, "CONFIG -set" will now show such a message ("CONFIG -setf" will bypass but the change won't take effect in the current session). +* **Improved SETCOLOR command for changing text-mode color schemes in all outputs** + + The SETCOLOR command can now change the text-mode color schemes in all outputs in VGA mode, not just the TrueType font (TTF) output. Type SETCOLOR to view the current text-mode color schemes, or type SETCOLOR /? for more information about this command. If you want to change the text-mode foreground and background colors, use the COLOR command instead. +* **Improved debugging functions including enhanced menu options** + + There is now a top-level "Debug" menu in all debug builds, with additional debug options appearing in this menu. For the DOSBox-X debugger, you can now set the run mode when the debugger starts, including "debugger", "normal", and "watch", either from the drop-down menu or in the config file. You can also change this dynamically from the menu when the debugger is running. Debugger interface also accepts the '0' key as a command to single-step in case F11 isn't an option. + +## 2. Notable Usability Improvements + +* **Allow to auto-maximize the DOSBox-X window at start** + + There is now a "maximize" config option in [sdl] section which allows you to automatically maximize the DOSBox-X window at start, although it is available for all SDL2 builds and Windows SDL1 builds only. Use the full-screen mode for the TrueType font (TTF) output. +* **Allow to auto-select a backend for the NE2000 networking feature** + + With the existence of two backends (pcap and slirp) for the NE2000 networking feature, a default value "auto" is added to "backend" option in [ne2000] section of the configuration which will automatically select the slirp backend if available, then the pcap backend if available. +* **Allow to auto-select a IRQ number for the Sound Blaster** + + The IRQ option for the Sound Blaster now accepts a value of "0" to automatically select a IRQ number (either 5 or 7) based on the actual default IRQ number for the sound card type. +* **Allow to use system mouse pointer for the DOS mouse cursor** + + There is now a "usesystemcursor" config option (in [sdl] section) which when set to true will use host system mouse cursor instead of drawing a DOS mouse cursor when the mouse is not locked. Some people prefer the host system mouse cursor to the actual DOS mouse cursor. +* **Restart DOSBox-X with specified config file from menu** + + Under the "Main" menu there is now a menu option which allows you to restart DOSBox-X with the specified config file automatically. The specified config file can be completely different from the current one, such as loading a different machine type. +* **Changing the refresh rate and A20 gate status from menu** + + You can now change the video refresh rate and the A20 gate status from the drop-down menus, in addition to use commands. The "Refresh rate..." menu option under "Video" menu and the "Enable A20 gate" menu option under "DOS" menu allow you to achieve these. +* **Specifying command shell located on mounted local drive** + + You can now specify a command shell located on a mounted local drive (instead of Drive Z:) via SHELL= command in [config] section of config file after the drive is properly mounted via INSTALL= command. +* **Optimized -silent and -fastlaunch command-line options** + + Both the -silent and -fastlaunch command-line options have been optimized to potential make them even faster and quieter. For example, both options will suppress the possible folder selection dialog and any messages by the "automountall=true" option, and -silent option will disable all sound-related config option as well. +* **More options to convert mouse wheel movements to keys** + + Additional options are added to the "mouse_wheel_key" config option and the "Mouse wheel movements" menu group to allow conversion of mouse wheel movements into Ctrl+up/down arrow (option 4), Ctrl+left/right arrows (option 5), Ctrl+PgUp/PgDn keys (option 6), and Ctrl+W/Z as used by WordStar and EDIT (option 7). + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, including fixes and improvements to some existing features (e.g. issues related to screen dimensions in TTF output in CGA/EGA modes since 0.83.12 and updated Windows installer to use the latest Inno Setup to allow features such as administrative install mode via /ALLUSERS option) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* Added support for directories on the Z drive, so + there is no need to put all files/programs on the + root directory of Z drive any more. Only one-level + directories are currently supported. There are now + six directories on the Z drive by default, namely + 4DOS, BIN, DEBUG, DOS, SYSTEM, TEXTUTIL. Most files + that previously appeared on the root directory of + Z drive are now categorized into directories, with + addition of some files/programs, such as additional + 4DOS files, text utilities in TEXTUTIL directory + and TITLE command to change window title. (Wengier) +* You can now specify a command shell located on a + mounted local drive via SHELL= command in [config] + section of config file after the drive is properly + mounted via INSTALL= command. (Wengier) +* Extended START command to Linux and macOS systems. + It's disabled by default just like on Windows host + systems, but can be enabled by setting "startcmd" + to "true" or with the -hostrun command-line option + (replacing -winrun command-line option). (Wengier) +* CHCP command in the TrueType font (TTF) output now + allows code page 932, 936, 949, and 950 to display + Chinese, Japanese and Korean characters and file + names with DBCS support enabled in non-PC98 mode. + By default DOSBox-X will enable DBCS characters and + auto-detection for box-drawing characters in these + code pages, and these can be disabled by setting + new options "ttf.autodbcs" and "ttf.autoboxdraw" to + "false". There is also option "ttf.halfwidthkana" + to enable half-width Katakana in Japanese non-PC98 + machines. KEYB command (and "keyboardlayout" config + option) also accept "jp", "ko", "cn", "tw", "hk", + "zh" as key layout names for code pages. (Wengier) +* Added support for printing Chinese/Japanese/Korean + DBCS (double-byte) characters when these code pages + are active, which by default ("auto") is enabled for + the TTF output, but can be enable or disabled for + all outputs by setting option "printdbcs" to "true" + or "false" in [printer] section. (Wengier) +* Added ability to toggle between Shift-JIS (or Kanji) + and graphical modes using Ctrl+F4 key (or ESC )3 and + ESC )0 escape sequences) in the PC-98 mode. There + is now also an indication of graphical mode in the + function row. (nmlgc) +* Added the "usesystemcursor" config option (in [sdl] + section) which when set to true will use host system + mouse cursor instead of drawing a DOS mouse cursor + when the mouse is not locked. (Wengier) +* When opening "Save..." or "Save Language File..." + dialogs in the Configuration Tool, the new dialogs + will now automatically be in focus. For the language + file, the name of the current language file will be + filled and modifiable. Pressing ENTER key saves the + config or language file, and pressing ESC key will + close these dialog boxes. (Wengier) +* Command "CONFIG -wl" will show the name of language + file being written to (if there is a language file + loaded then "CONFIG -wl" alone will write to it), + and command "CONFIG -ln" will show current language + name (if any), or you can use command "CONFIG -ln + -wl " to specify a language + name when writting to a language file. (Wengier) +* Added special properties to CONFIG command such as + "hostos", "programdir", "workdir", "configdir", and + "userconfigdir" so that commands like "CONFIG -GET + hostos" and "CONFIG -GET workdir" will get the host + system OS and DOSBox-X working directory. (Wengier) +* If a config option can only be changed at run-time, + "CONFIG -set" will now show such a message. You can + use "CONFIG -setf" to bypass, but the setting won't + take effect in the current session. (Wengier) +* SETCOLOR command can now change the text-mode color + schemes in outputs rather than the TrueType font + output too (VGA mode only). (Wengier) +* Added support for new TTF word processor type "FE" + for FastEdit, a new DOS text editor with functions + to view and change text styles. (Wengier) +* Added "ttf.wpfg" config option in [render] section + which can optionally specify a foreground color + (0-7) for the TTF output, similar to "ttf.wpbg" for + the background color in the TTF output. (Wengier) +* Added "ttf.printfont" config option in [render] + section which when set to true (default) will force + to use the current TrueType font (set via ttf.font) + for printing too when using TTF output. (Wengier) +* Added additional options to the "mouse_wheel_key" + config option to allow conversion of mouse wheel + movements into Ctrl+up/down arrow (option 4), Ctrl+ + left/right arrows (option 5), Ctrl+PgUp/PgDn keys + (option 6), and Ctrl+W/Z as used by WordStar & EDIT + (option 7) . More menu options are added to "Mouse + wheel movements" menu group as well. (Wengier) +* Added menu option "Print text screen" (under "DOS") + to print current DOS text screen, if the printer + feature has been enabled. (Wengier) +* Added menu options "Display TTF blinking cursor", + "CJK: Switch DBCS/SBCS mode", "CJK: Auto-detect + box-drawing characters" and "CJK: Allow half-width + Japanese Katahana" under "Video" => "TTF options" + menu group to toggle the TTF options ttf.blinkc, + ttf.autodbcs, ttf.autoboxdraw and ttf.halfwidthkana + in [render] section of the config file. (Wengier) +* Support for UTF-8 encoded language files. Specify + a DOS code page with "country" option in [config] + section of the config file. Windows SDL1 menu and + macOS menu are now also compatible with Unicode + language files and characters. Also improved code + page compatibility for text in the SDL drawn menu + and the Configuration Tool. (Wengier) +* Cleaned up the welcome banner messages and other + messages involving boxdrawing characters for easier + translations into certain languages. (Wengier) +* Command-line option -silent now implies -nomenu, + SDL_AUDIODRIVER=dummy and will disable all sound- + related config option as well. (Wengier) +* Command-line option -fastlaunch will now suppress + messages by "automountall=true" option. Also added + value "quiet" to "automountall" config option to + auto-mount all Windows drives quietly. (Wengier) +* Added default value "auto" to "backend" option in + [ne2000] section of the configuration which will + automatically select slirp backend if available, + then pcap backend if available. (Wengier) +* Improved handling of Ctrl+C/Ctrl+Break for shell- + based DOS programs. (Wengier) +* Setting "irq" to "0" in [sblaster] section of the + config file will use the default IRQ number for the + sound card type. Also fixed "irq=-1", "dma=-1" and + "hdma=-1" not working as desired. (Wengier) +* Option "dpi aware=auto" now defaults to "true" when + full-screen mode is requested when DOSBox-X starts + in Windows SDL1 builds. (Wengier) +* The return value of AL in Int21/AX=0Eh is no longer + fixed. The game Jurassic Park may run after moving + Z drive to a different letter (e.g. E:). (Wengier) +* Added "Change current floppy image..." and "Change + current CD image..." menu options to change the + currently active floppy disk image(s) on drive A: & + B: and ISO/CUE image(s) on CD drives respectively. + This makes it possible to change the active floppy + disk and/or CD images while a guest system (e.g. + Windows 9x) is currently running. (Wengier) +* Added "Restart DOSBox-X with config file..." menu + option to start DOSBox-X with the specified config + file automatically from the menu. (Wengier) +* Added "Refresh rate..." menu option (under "Video") + to set the video refresh rate. (Wengier) +* Added "Enable A20 gate" menu option (under "DOS") + to enable or disable the A20 gate. (Wengier) +* Added "maximize" config option in [sdl] section to + automatically maximize the DOSBox-X window at start + (SDL2 and Windows SDL1 builds only). (Wengier) +* Added "allow lmsw to exit protected mode" config + option in [cpu] section to control whether the LMSW + instruction allows the guest to clear the PE bit + (leave protected mode). +* Added "debuggerrun" config option in [log] section + to set the run mode when DOSBox-X Debugger starts. + You can now also switch them from the menu ("Debug" + => "Debugger option: ..."), including "debugger", + "normal" and "watch", the later two corresponding + to debugger commands "RUN" and "RUNWATCH". Also, + the built-in DEBUGBOX command without a parameter + will start the DOSBox-X debugger. (Wengier) +* Debugger interface now accepts the '0' key as a + command to single-step in case F11 isn't an option. + If you are using XFCE's Terminal emulator, this is + helpful because Terminal app takes F11 for itself. +* "Debug" menu is now a top-level menu for debugging + builds (for non-debugging builds there is "Logging + console" menu group under "Help"). Also added more + debug options including "Generate NMI interrupt" + and "Hook INT 2Fh calls" under this menu. (Wengier) +* Fixed /S and /F option (date/time-synchronization + ON/OFF) of DATE command not working. (Wengier) +* Fixed aspect=true not working properly for some + screen modes such as machine=ega. (Wengier) +* Fixed the mouse not automatically captured when + DOSBox-X starts with the settings fullscreen=true + and autolock=true. (Wengier) +* Fixed inputs in the Configuration Tool when the + Configuration Tool is scaled. (Wengier) +* Fixed keys may not work after loading a saved state + for the game Buck Rogers. (Wengier) +* Fixed Windows detection for the game "Tex Murphy: + Under a Killing Moon". (Wengier) +* Fixed serial ports 5-9 may not be usable with real + serial ports (directserial). (vkbaf & Wengier) +* Fixed issues related to screen dimensions in TTF + output in CGA/EGA modes since 0.83.12. (Wengier) +* Added alternative Windows installer for administrative + install mode on Windows Vista or later. (Wengier) +* Integrated SVN commits (Allofich) + - r4443: Improve detection of Paradise SVGA in some + installers with additional signature. + - r4453: Improve bittest instructions to wrap more + correctly. + - r4454: Enable A20 routines in BIOS. + - r4456: The numeric keypad can now be used to navigate the debugger when Num Lock is off. \ No newline at end of file diff --git a/_release_notes/0.83.15.md b/_release_notes/0.83.15.md index 202cacc83a8..750ad37f911 100644 --- a/_release_notes/0.83.15.md +++ b/_release_notes/0.83.15.md @@ -1,256 +1,257 @@ ---- -date: July 1, 2021 ---- - -## 1. Notable New Features - -* **Implemented direct UNC network path browsing on Windows systems** - - The network redirector function has been enhanced, so that you can access or browse UNC network paths in the form `\\COMPUTER\FOLDER` directly on Windows systems, including listing, opening, writing, copying, and executing files on UNC network paths directly without having to mount them as DOS drives first. -* **Implemented DOS/V emulations for native Chinese/Japanese/Korean support** - - Support for native DOS/V services has been implemented in this version, including emulation modes for Japanese, Chinese (both Simplified and Traditional), and Korean languages. There is now a new section named [dosv] in the config file with various DOS/V-related options, including the "dosv" option, which you can set to "jp", "chs" (or "cn"), "cht" (or "tw"), or "ko" for different CJK languages. When using a DOS/V emulation mode Chinese/Japanese/Korean characters can be displayed without the need of any external fonts, although you can also optionally specify fonts to use via options like "fontxsbcs" and "fontxdbcs" in the section. -* **Implemented new JEGA (AX) machine type for improved Japanese support** - - Support for Japanese EGA mode on AX architecture has been implmented and can be enabled by setting "machine" to "jega". Japanese characters are supported in this mode without any external fonts, but you can also optionally specify Japanese fonts to use. In this mode you can also toggle between half-width Kana and alphanumeric characters with the right Ctrl key. TrueType font (TTF) output is also supported for this mode. -* **Support for special DOS functions to communicate with DOSBox-X** - - There are now special DOS functions for DOSBox-X so that your program can check for example whether DOSBox-X is running and the current DOSBox-X version or machine type. It is located at Int21h/AH=2Bh/CX=0x4442h('DB')/DX=0x2D58h('-X'), with subfunctions AL=0h (DOSBox-X installation check), AL=1h (SDL version check), AL=2h (platform check), AL=3h (machine type check), and AL=4h (DOSBox-X version check). -* **Support for SDL video driver selection with new DirectX driver in Windows SDL1 builds** - - You can now explicitly set a video driver for SDL (either SDL1 or SDL2) library to use, instead of always relying on the default SDL video driver. Some SDL video drivers may work differently from the default ones, including "dummy" for not showing the DOSBox-X window at all. For the Windows platform, support for the DirectX/DirectDraw driver has been added in this version and you can set "videodriver=directx" to use it. -* **Support for inputting DBCS characters via system IMEs in Windows SDL1 builds** - - Support for inputting Chinese/Japanese/Korean characters using system input method (IME) has been implemented in Windows SDL1 builds. Chinese (Simplified and Traditional) IMEs may work with the default SDL video driver and a Chinese code page or Chinese DOS/V mode. Japanese and Korean IMEs may require DirectX mode for the SDL1 library (set option "videodriver=directx" for this). There is a new config option "ime" in [dosbox] section to control whether to enable IME support, and with the default "auto" setting it is enabled for Windows SDL1 builds only if DOSBox-X is started with a CJK code page or in PC-98, JEGA or DOS/V mode. -* **Fully translatable drop-down menus for both SBCS and DBCS languages** - - The DOSBox-X drop-down menus of all types (including SDL-drawn menu in Windows SDL2 and Linux builds in addition to Windows SDL1 and macOS menus) are now translatable, and text in all supported code pages (including both standard SBCS code pages and DBCS code pages used by Chinese/Japanese/Korean languages) should display correctly in the drop-down menus in all platforms. -* **Ability to translate text in the Configuration Tool and Mapper Editor** - - It is now also possible to translate text for the graphical Configuration Tool and Mapper Editor interfaces, including all supported codepages (both SBCS and DBCS code pages). The sizes and positions of some buttons in these interfaces are adjusted accordingly to make the text look better. As a result, all types of user interfaces in DOSBox-X are now translatable, and all language files in the repository have been updated to translate these interfaces. -* **Ability to auto-convert paths when launching host system applications when enabled** - - When launching DOS programs to run on the host system, DOSBox-X now allows to automatically translate all paths in command-line to host system paths. You can either enable this via a config option (set "starttranspath=true") or toggle it dynamically from the drop-down menu ("DOS" => "Host system applications" => "Translate paths to host system paths"). -* **Improved code page conversions for files on virtual and FAT drives and DBCS awareness** - - Support for codepage conversions of custom files that will appear on the Virtual Drive Z: and also files on FAT disk images has been added, so that they will appear properly on these drives according to the code pages set in DOSBox-X. Awareness for DBCS characters (such as "\" and "|" symbols) has also been implemented on all types of drives. -* **Improved clipboard copy and pasting for Chinese/Japanese/Korean characters** - - The handling for DBCS characters in the clipboard copy/paste feature has been noticeably improved in this version, including support for the new DOS/V and JEGA modes, and improved handling of DBCS characters in existing modes. In general copy and pasting text should work with all machine types. -* **Built-in features such as Slirp and FluidSynth for macOS builds** - - The standard macOS builds (both SDL1 and SDL2 binaries) now include features such as Slirp and FluidSynth by default and bundle libraries required for these features. You can also run the alternative macOS builds designed for running on macOS High Sierra (10.13) or later which do not include any of these libraries (or features). - -## 2. Notable Usability Improvements - -* **New [TTF] section for TrueType font (TTF) related options** - - There is a now a new [ttf] section in the config file, and TrueType font (TTF)-related config options are moved/renamed from [render] section to this section (with the "ttf." prefix dropped). Several TTF-related config options are now common config options instead of advanced ones. Windows installer will also automatically transfer previous TTF options to the new [ttf] section. -* **Built-in NE2000 packet driver for NE2000 networking support** - - When the NE2000 networking feature is enabled (either PCap or Slirp backends), the packet driver for the NE2000 network card (NE2000.COM) will appear on the Z drive (in the Z:\SYSTEM directory) so that users can load the packet driver directly for the NE2000 networking feature. -* **Auto-expand %PATH% environemnt variables for subdirectories on Z drive** - - DOSBox-X will now automatically expand %PATH% environment variable to include the subdirectories on the Z drive by default when only the Z:\ path is specified for compatibility purposes (so that executable in these subdirectories can all be searched). This behavior can be disabled with the "drive z expand path" config option. -* **MOUNT command to to show status for specific drive(s)** - - You can now see the current status of a specific drive by using MOUNT command followed only by a drive letter. It also allows you to do some customizations of the outputs, such as making message shorter with the -q option, and filtering out non-local drives with "-o local" option. -* **TRUENAME command option to return full file names on host system** - - You can now get the full filenames for specified files or directories on mounted local drives by using the /H option of TRUENAME command. The TRUENAME /H command will return nothing if the specified file or directory cannot be found. -* **CONFIG command to list the global DOSBox-X config file** - - The previous DOSBox-X version added support for global config files. The "CONFIG -L" command will now list them if available in addition to other (non-global) config files. -* **Advanced config option names to be listed in common config files** - - The names of advanced config options will now be listed in the common config reference file (dosbox-x.reference.conf) and will written to standard dosbox-x.conf files too, so that users will know of their existence even when looking at common config files. Several previously advanced options now become common options. -* **Option to enable Turbo (Fast Forward) mode at start or from command-line** - - There is now a config option "turbo" (in [cpu] section) to enable Turbo (Fast Forward) mode at start, and you can also change it at run-time from the command-line via CONFIG command (e.g. "config -set turbo=true"). -* **Option to log only DOS console output to log files** - - You can now only log DOS console outputs to the DOSBox-X log files, so that they will contain exactly the outputs of DOSBox-X's DOS shell. You can do so by setting the config option "log console" to "quiet". Support for DOS/V console output is also added. -* **Ability to auto-select keyboard layout for PC-98 mode** - - DOSBox-X now decides whether to use the Japanese keyboard layout or the U.S. keyboard layout for the PC-98 emulation based on its detection of user's keyboard layout. Config option "pc-98 force ibm keyboard layout" now defaults to "auto", which implies "true" if a U.S. keyboard layout is detected and implies "false" otherwise. Also fixed some input keys for the PC-98 mode. -* **Ability to run PC-98 emulations without requiring external fonts** - - External font files are no longer required for the PC-98 mode to display Japanese text, as the Japanese DOS/V fonts and pre-generated SBCS fonts from FREECG98.BMP will be used in case both FONT.ROM and FREECG98.BMP cannot be found, although users if either FONT.ROM or FREECG98.BMP is found then they will be used for the PC-98 emulation. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, such as fixing several issues that occurred on different platforms and adjustments of some default settings, along with other improvements to make DOSBox-X work better. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version -* Enhanced the network redirector functions for the - Windows platform, so that you can for example list, - open, write, copy, and execute files in UNC network - paths in the form `\\COMPUTER\FOLDER` directly when - network redirector function is enabled and secure - mode is disabled on Windows systems. (Wengier) -* MOUNT command followed by a drive letter only will - show the current status of the drive, or show that - the drive is not mounted if so. You can make the - message shorter with the -q option, and filter out - non-local drives with "-o local" option. (Wengier) -* Added NE2000.COM (packet driver for NE2000 network - card) which will appear in Z:\SYSTEM directory when - NE2000 networking feature is enabled. (Wengier) -* Added /H option to TRUENAME command to return the - full filename on the host system for a specified - file/directory on a mounted local drive. (Wengier) -* Added option "starttranspath" which if set to true - will automatically translath all paths in command- - line to host system paths when starting programs to - run on the host system. You can also toggle this - function dynamically from the drop-down menu ("DOS" - => "Host system applications" => "Translate paths - to host system paths". (Wengier) -* Added option "drive z expand path" which when set - to true (default) will automatically expand %PATH% - environment variable to include the subdirectories - on the Z drive when only the Z:\ path is specified - for compatibility purposes. (Wengier) -* Added option "turbo" in [cpu] section to enable - Turbo (Fast Forward) mode at start. You can also - change it from the command-line via CONFIG command - (e.g. "config -set turbo=true"). (Wengier) -* Added value "quiet" to "log console" config option - to only log DOS console outputs. (Wengier) -* Added menu command to spawn a new instance of - DOSBox-X to Mac OS X builds to work around the - singular app instance model the Finder tends to - prefer, so that users can run multiple instances - if they wish. (joncampbell123) -* MacOS builds will once again have Fluidsynth, - libslirp, and FFMPEG support from revised .app - building code. For best results support is enabled - at compile time only if Brew is installed along - with Brew builds of those packages. (joncampbell123) -* MacOS coreaudio MIDI support will continue with - the default soundfont rather than giving up - if it cannot select the custom soundfont specified - in the config file. (joncampbell123) -* Fixed MacOS bug where coremidi would attempt - MIDI output even if no MIDI destinations are - available, which is apparently the case on - Big Sur. (joncampbell123) -* The names of advanced config options will now be - listed in the common config reference file (i.e. - dosbox-x.reference.conf) too. Several previously - advanced options are now common options. (Wengier) -* Command "CONFIG -L" will now list the global config - file for DOSBox-X (if any). (Wengier) -* There is now a special DOS function for DOSBox-X at - Int21h/AH=2B/CX=0x4442h('DB')/DX=0x2D58h('-X'), as - follows: AL=0h (DOSBox-X installation check), AL=1h - (SDL version check), AL=2h (platform check), AL=3h - (machine type check), and AL=4h (DOSBox-X version - check). For example, you can get installed DOSBox-X - version by calling the function Int21h/AX=2B04h/CX= - 0x4442h/DX=0x2D58h in your program - AL and AH will - become 0, and BX will return the DOSBox-X version - number after "0." (e.g. BH=83, BL=15). (Wengier) -* It is now possible to translate text for graphical - Configuration Tool and Mapper Editor interfaces. - The sizes and/or positions of some buttons in these - interfaces are adjusted accordingly too. (Wengier) -* Config option "usescancodes=auto" now implies false - for PC-98 mode in SDL1 builds. (Wengier) -* Config option "pc-98 force ibm keyboard layout" now - defaults to "auto", which implies "true" if a U.S. - keyboard layout is detected and implies "false" - otherwise. Also fixed some input keys for the PC-98 - mode. (Wengier & maron2000) -* For PC-98 mode, if both FONT.ROM and FREECG98.BMP - are not found in the directory, then DOSBox-X will - now use internal Japanese font (also used by DOS/V - and JEGA systems) and the built-in 8x16 SBCS font - pre-generated from FREECG98.BMP. (Wengier) -* Added DBCS awareness support for special characters - "\" and "|" in Chinese/Japanese/Korean code pages - so that they will be treated properly as trailing - bytes of double-byte characters. (Wengier) -* Improved handling of clipboard copy/paste involving - DBCS characters with TrueType font (TTF) output in - standard mode. The clipboard copy/paste feature is - also supported in DOS/V and JEGA modes. (Wengier) -* The config option ttf.halfwidthkana (now in [ttf] - section) will enable low ASCII boxing characters - for the TrueType font (TTF) output too. This option - is now enabled by default for JP mode, and printing - these characters is also supported. (Wengier) -* Added support for showing Chinese/Japanese/Korean - characters in the SDL-drawn menu (in addition to - characters in different SBCS code pages) and the - Configuration Tool interface (so e.g. DOS command - help will show correctly for these languages). You - can change the DBCS font used by Configuration Tool - interface via fontxdbcs14 config option. (Wengier) -* Added support for inputing DBCS characters using - system input method (IME) in Windows SDL1 build. - Chinese (Simplified and Traditional) IMEs may work - with the default video setting and a Chinese code - page or Chinese DOS/V mode. Japanese & Korean IMEs - may require DirectX mode for the SDL1 library (set - option "videodriver" to "directx" in [sdl] section - for this). There is a new config option "ime" in - [dosbox] section to control it. When set to "auto" - (default), it is enabled for Windows SDL1 builds - only if DOSBox-X is started with a CJK code page or - in PC-98, JEGA or DOS/V mode. (Wengier) -* Added support for Japanese EGA mode (machine=jega) - by adopting code from DOSVAXJ3. As with DOS/V, you - can optionally set the SBCS and DBCS fonts with - fontxsbcs, fontxdbcs (and fontxsbcs19, fontxdbcs24, - etc) options in [dosv] section of config file, or - the default fonts will be used for them. (Wengier) -* Added support for DOS/V (Japanese mode) by adopting - code from DOSVAXJ3. Also added support for Chinese - and Korean DOS/V modes. Set option "dosv" to "jp", - "chs" (or "cn"), "cht" (or "tw"), or "ko" in [dosv] - section of the config file to enable DOS/V mode for - different CJK languages. There are now also various - font-related (and V-text screen mode) options added - in [dosv] section for the DOS/V support. For the - Simplified Chinese (code page 936), you can also - enable GBK extension of the standard GB2312 charset - with "gbk" option for Simplified Chinese DOS/V and - the TrueType font (TTF) output. (Wengier) -* Added support for codepage conversion of file names - in "drivez" folder (for customization of Virtual - Drive Z:) so that they will appear properly on this - drive according to the code page set. (Wengier) -* Improved support for DBCS (double-byte) characters - on mounted FAT drives with Chinese/Japanese/Korean - codepages (932/936/949/950). (Wengier) -* The "Unexpected control character" error message - which may appear when executing certain batch files - is now a debug message (belong to the "misc" type) - instead of showing to the DOS console output. -* Added "videodriver" config option in [sdl] section - to force a video driver (such as windib/windows, - x11, dummy) for the SDL library to use. The video - driver "directx" has been enabled for Windows SDL1 - builds (without certain functions). (Wengier) -* There is a now a [ttf] section in the config file, - and TTF-related config options are moved/renamed - from [render] section to this section (previous - config options "ttf.*" in [render] section become - * (with "ttf." dropped) in [ttf] section). Windows - installer will also automatically transfer previous - TTF options to the new [ttf] section. (Wengier) -* When setting to "auto", config option "allow lmsw - to exit protected mode" will be active for Pentium+ - CPUs instead of 486+ CPUs. (Wengier) -* Fixed a bug which may lead to crash when pasting - text via the DOS clipboard API (e.g. the 4DOS CLIP: - device) in non-Windows platforms. (Wengier) -* Fixed the possible freeze when output was switched - from TrueType font (TTF) output and you tried to - reset the virtual machine. (Wengier) -* Fixed non-representative filenames on local drives - in current code page causing memory corruption for - e.g. Windows 3.1 Setup on non-Windows platforms. - These entries will no longer appear to DOS guest +--- +slug: 0.83.15 +date: July 1, 2021 +--- + +## 1. Notable New Features + +* **Implemented direct UNC network path browsing on Windows systems** + + The network redirector function has been enhanced, so that you can access or browse UNC network paths in the form `\\COMPUTER\FOLDER` directly on Windows systems, including listing, opening, writing, copying, and executing files on UNC network paths directly without having to mount them as DOS drives first. +* **Implemented DOS/V emulations for native Chinese/Japanese/Korean support** + + Support for native DOS/V services has been implemented in this version, including emulation modes for Japanese, Chinese (both Simplified and Traditional), and Korean languages. There is now a new section named [dosv] in the config file with various DOS/V-related options, including the "dosv" option, which you can set to "jp", "chs" (or "cn"), "cht" (or "tw"), or "ko" for different CJK languages. When using a DOS/V emulation mode Chinese/Japanese/Korean characters can be displayed without the need of any external fonts, although you can also optionally specify fonts to use via options like "fontxsbcs" and "fontxdbcs" in the section. +* **Implemented new JEGA (AX) machine type for improved Japanese support** + + Support for Japanese EGA mode on AX architecture has been implmented and can be enabled by setting "machine" to "jega". Japanese characters are supported in this mode without any external fonts, but you can also optionally specify Japanese fonts to use. In this mode you can also toggle between half-width Kana and alphanumeric characters with the right Ctrl key. TrueType font (TTF) output is also supported for this mode. +* **Support for special DOS functions to communicate with DOSBox-X** + + There are now special DOS functions for DOSBox-X so that your program can check for example whether DOSBox-X is running and the current DOSBox-X version or machine type. It is located at Int21h/AH=2Bh/CX=0x4442h('DB')/DX=0x2D58h('-X'), with subfunctions AL=0h (DOSBox-X installation check), AL=1h (SDL version check), AL=2h (platform check), AL=3h (machine type check), and AL=4h (DOSBox-X version check). +* **Support for SDL video driver selection with new DirectX driver in Windows SDL1 builds** + + You can now explicitly set a video driver for SDL (either SDL1 or SDL2) library to use, instead of always relying on the default SDL video driver. Some SDL video drivers may work differently from the default ones, including "dummy" for not showing the DOSBox-X window at all. For the Windows platform, support for the DirectX/DirectDraw driver has been added in this version and you can set "videodriver=directx" to use it. +* **Support for inputting DBCS characters via system IMEs in Windows SDL1 builds** + + Support for inputting Chinese/Japanese/Korean characters using system input method (IME) has been implemented in Windows SDL1 builds. Chinese (Simplified and Traditional) IMEs may work with the default SDL video driver and a Chinese code page or Chinese DOS/V mode. Japanese and Korean IMEs may require DirectX mode for the SDL1 library (set option "videodriver=directx" for this). There is a new config option "ime" in [dosbox] section to control whether to enable IME support, and with the default "auto" setting it is enabled for Windows SDL1 builds only if DOSBox-X is started with a CJK code page or in PC-98, JEGA or DOS/V mode. +* **Fully translatable drop-down menus for both SBCS and DBCS languages** + + The DOSBox-X drop-down menus of all types (including SDL-drawn menu in Windows SDL2 and Linux builds in addition to Windows SDL1 and macOS menus) are now translatable, and text in all supported code pages (including both standard SBCS code pages and DBCS code pages used by Chinese/Japanese/Korean languages) should display correctly in the drop-down menus in all platforms. +* **Ability to translate text in the Configuration Tool and Mapper Editor** + + It is now also possible to translate text for the graphical Configuration Tool and Mapper Editor interfaces, including all supported codepages (both SBCS and DBCS code pages). The sizes and positions of some buttons in these interfaces are adjusted accordingly to make the text look better. As a result, all types of user interfaces in DOSBox-X are now translatable, and all language files in the repository have been updated to translate these interfaces. +* **Ability to auto-convert paths when launching host system applications when enabled** + + When launching DOS programs to run on the host system, DOSBox-X now allows to automatically translate all paths in command-line to host system paths. You can either enable this via a config option (set "starttranspath=true") or toggle it dynamically from the drop-down menu ("DOS" => "Host system applications" => "Translate paths to host system paths"). +* **Improved code page conversions for files on virtual and FAT drives and DBCS awareness** + + Support for codepage conversions of custom files that will appear on the Virtual Drive Z: and also files on FAT disk images has been added, so that they will appear properly on these drives according to the code pages set in DOSBox-X. Awareness for DBCS characters (such as "\" and "|" symbols) has also been implemented on all types of drives. +* **Improved clipboard copy and pasting for Chinese/Japanese/Korean characters** + + The handling for DBCS characters in the clipboard copy/paste feature has been noticeably improved in this version, including support for the new DOS/V and JEGA modes, and improved handling of DBCS characters in existing modes. In general copy and pasting text should work with all machine types. +* **Built-in features such as Slirp and FluidSynth for macOS builds** + + The standard macOS builds (both SDL1 and SDL2 binaries) now include features such as Slirp and FluidSynth by default and bundle libraries required for these features. You can also run the alternative macOS builds designed for running on macOS High Sierra (10.13) or later which do not include any of these libraries (or features). + +## 2. Notable Usability Improvements + +* **New [TTF] section for TrueType font (TTF) related options** + + There is a now a new [ttf] section in the config file, and TrueType font (TTF)-related config options are moved/renamed from [render] section to this section (with the "ttf." prefix dropped). Several TTF-related config options are now common config options instead of advanced ones. Windows installer will also automatically transfer previous TTF options to the new [ttf] section. +* **Built-in NE2000 packet driver for NE2000 networking support** + + When the NE2000 networking feature is enabled (either PCap or Slirp backends), the packet driver for the NE2000 network card (NE2000.COM) will appear on the Z drive (in the Z:\SYSTEM directory) so that users can load the packet driver directly for the NE2000 networking feature. +* **Auto-expand %PATH% environemnt variables for subdirectories on Z drive** + + DOSBox-X will now automatically expand %PATH% environment variable to include the subdirectories on the Z drive by default when only the Z:\ path is specified for compatibility purposes (so that executable in these subdirectories can all be searched). This behavior can be disabled with the "drive z expand path" config option. +* **MOUNT command to to show status for specific drive(s)** + + You can now see the current status of a specific drive by using MOUNT command followed only by a drive letter. It also allows you to do some customizations of the outputs, such as making message shorter with the -q option, and filtering out non-local drives with "-o local" option. +* **TRUENAME command option to return full file names on host system** + + You can now get the full filenames for specified files or directories on mounted local drives by using the /H option of TRUENAME command. The TRUENAME /H command will return nothing if the specified file or directory cannot be found. +* **CONFIG command to list the global DOSBox-X config file** + + The previous DOSBox-X version added support for global config files. The "CONFIG -L" command will now list them if available in addition to other (non-global) config files. +* **Advanced config option names to be listed in common config files** + + The names of advanced config options will now be listed in the common config reference file (dosbox-x.reference.conf) and will written to standard dosbox-x.conf files too, so that users will know of their existence even when looking at common config files. Several previously advanced options now become common options. +* **Option to enable Turbo (Fast Forward) mode at start or from command-line** + + There is now a config option "turbo" (in [cpu] section) to enable Turbo (Fast Forward) mode at start, and you can also change it at run-time from the command-line via CONFIG command (e.g. "config -set turbo=true"). +* **Option to log only DOS console output to log files** + + You can now only log DOS console outputs to the DOSBox-X log files, so that they will contain exactly the outputs of DOSBox-X's DOS shell. You can do so by setting the config option "log console" to "quiet". Support for DOS/V console output is also added. +* **Ability to auto-select keyboard layout for PC-98 mode** + + DOSBox-X now decides whether to use the Japanese keyboard layout or the U.S. keyboard layout for the PC-98 emulation based on its detection of user's keyboard layout. Config option "pc-98 force ibm keyboard layout" now defaults to "auto", which implies "true" if a U.S. keyboard layout is detected and implies "false" otherwise. Also fixed some input keys for the PC-98 mode. +* **Ability to run PC-98 emulations without requiring external fonts** + + External font files are no longer required for the PC-98 mode to display Japanese text, as the Japanese DOS/V fonts and pre-generated SBCS fonts from FREECG98.BMP will be used in case both FONT.ROM and FREECG98.BMP cannot be found, although users if either FONT.ROM or FREECG98.BMP is found then they will be used for the PC-98 emulation. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, such as fixing several issues that occurred on different platforms and adjustments of some default settings, along with other improvements to make DOSBox-X work better. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version +* Enhanced the network redirector functions for the + Windows platform, so that you can for example list, + open, write, copy, and execute files in UNC network + paths in the form `\\COMPUTER\FOLDER` directly when + network redirector function is enabled and secure + mode is disabled on Windows systems. (Wengier) +* MOUNT command followed by a drive letter only will + show the current status of the drive, or show that + the drive is not mounted if so. You can make the + message shorter with the -q option, and filter out + non-local drives with "-o local" option. (Wengier) +* Added NE2000.COM (packet driver for NE2000 network + card) which will appear in Z:\SYSTEM directory when + NE2000 networking feature is enabled. (Wengier) +* Added /H option to TRUENAME command to return the + full filename on the host system for a specified + file/directory on a mounted local drive. (Wengier) +* Added option "starttranspath" which if set to true + will automatically translath all paths in command- + line to host system paths when starting programs to + run on the host system. You can also toggle this + function dynamically from the drop-down menu ("DOS" + => "Host system applications" => "Translate paths + to host system paths". (Wengier) +* Added option "drive z expand path" which when set + to true (default) will automatically expand %PATH% + environment variable to include the subdirectories + on the Z drive when only the Z:\ path is specified + for compatibility purposes. (Wengier) +* Added option "turbo" in [cpu] section to enable + Turbo (Fast Forward) mode at start. You can also + change it from the command-line via CONFIG command + (e.g. "config -set turbo=true"). (Wengier) +* Added value "quiet" to "log console" config option + to only log DOS console outputs. (Wengier) +* Added menu command to spawn a new instance of + DOSBox-X to Mac OS X builds to work around the + singular app instance model the Finder tends to + prefer, so that users can run multiple instances + if they wish. (joncampbell123) +* MacOS builds will once again have Fluidsynth, + libslirp, and FFMPEG support from revised .app + building code. For best results support is enabled + at compile time only if Brew is installed along + with Brew builds of those packages. (joncampbell123) +* MacOS coreaudio MIDI support will continue with + the default soundfont rather than giving up + if it cannot select the custom soundfont specified + in the config file. (joncampbell123) +* Fixed MacOS bug where coremidi would attempt + MIDI output even if no MIDI destinations are + available, which is apparently the case on + Big Sur. (joncampbell123) +* The names of advanced config options will now be + listed in the common config reference file (i.e. + dosbox-x.reference.conf) too. Several previously + advanced options are now common options. (Wengier) +* Command "CONFIG -L" will now list the global config + file for DOSBox-X (if any). (Wengier) +* There is now a special DOS function for DOSBox-X at + Int21h/AH=2B/CX=0x4442h('DB')/DX=0x2D58h('-X'), as + follows: AL=0h (DOSBox-X installation check), AL=1h + (SDL version check), AL=2h (platform check), AL=3h + (machine type check), and AL=4h (DOSBox-X version + check). For example, you can get installed DOSBox-X + version by calling the function Int21h/AX=2B04h/CX= + 0x4442h/DX=0x2D58h in your program - AL and AH will + become 0, and BX will return the DOSBox-X version + number after "0." (e.g. BH=83, BL=15). (Wengier) +* It is now possible to translate text for graphical + Configuration Tool and Mapper Editor interfaces. + The sizes and/or positions of some buttons in these + interfaces are adjusted accordingly too. (Wengier) +* Config option "usescancodes=auto" now implies false + for PC-98 mode in SDL1 builds. (Wengier) +* Config option "pc-98 force ibm keyboard layout" now + defaults to "auto", which implies "true" if a U.S. + keyboard layout is detected and implies "false" + otherwise. Also fixed some input keys for the PC-98 + mode. (Wengier & maron2000) +* For PC-98 mode, if both FONT.ROM and FREECG98.BMP + are not found in the directory, then DOSBox-X will + now use internal Japanese font (also used by DOS/V + and JEGA systems) and the built-in 8x16 SBCS font + pre-generated from FREECG98.BMP. (Wengier) +* Added DBCS awareness support for special characters + "\" and "|" in Chinese/Japanese/Korean code pages + so that they will be treated properly as trailing + bytes of double-byte characters. (Wengier) +* Improved handling of clipboard copy/paste involving + DBCS characters with TrueType font (TTF) output in + standard mode. The clipboard copy/paste feature is + also supported in DOS/V and JEGA modes. (Wengier) +* The config option ttf.halfwidthkana (now in [ttf] + section) will enable low ASCII boxing characters + for the TrueType font (TTF) output too. This option + is now enabled by default for JP mode, and printing + these characters is also supported. (Wengier) +* Added support for showing Chinese/Japanese/Korean + characters in the SDL-drawn menu (in addition to + characters in different SBCS code pages) and the + Configuration Tool interface (so e.g. DOS command + help will show correctly for these languages). You + can change the DBCS font used by Configuration Tool + interface via fontxdbcs14 config option. (Wengier) +* Added support for inputing DBCS characters using + system input method (IME) in Windows SDL1 build. + Chinese (Simplified and Traditional) IMEs may work + with the default video setting and a Chinese code + page or Chinese DOS/V mode. Japanese & Korean IMEs + may require DirectX mode for the SDL1 library (set + option "videodriver" to "directx" in [sdl] section + for this). There is a new config option "ime" in + [dosbox] section to control it. When set to "auto" + (default), it is enabled for Windows SDL1 builds + only if DOSBox-X is started with a CJK code page or + in PC-98, JEGA or DOS/V mode. (Wengier) +* Added support for Japanese EGA mode (machine=jega) + by adopting code from DOSVAXJ3. As with DOS/V, you + can optionally set the SBCS and DBCS fonts with + fontxsbcs, fontxdbcs (and fontxsbcs19, fontxdbcs24, + etc) options in [dosv] section of config file, or + the default fonts will be used for them. (Wengier) +* Added support for DOS/V (Japanese mode) by adopting + code from DOSVAXJ3. Also added support for Chinese + and Korean DOS/V modes. Set option "dosv" to "jp", + "chs" (or "cn"), "cht" (or "tw"), or "ko" in [dosv] + section of the config file to enable DOS/V mode for + different CJK languages. There are now also various + font-related (and V-text screen mode) options added + in [dosv] section for the DOS/V support. For the + Simplified Chinese (code page 936), you can also + enable GBK extension of the standard GB2312 charset + with "gbk" option for Simplified Chinese DOS/V and + the TrueType font (TTF) output. (Wengier) +* Added support for codepage conversion of file names + in "drivez" folder (for customization of Virtual + Drive Z:) so that they will appear properly on this + drive according to the code page set. (Wengier) +* Improved support for DBCS (double-byte) characters + on mounted FAT drives with Chinese/Japanese/Korean + codepages (932/936/949/950). (Wengier) +* The "Unexpected control character" error message + which may appear when executing certain batch files + is now a debug message (belong to the "misc" type) + instead of showing to the DOS console output. +* Added "videodriver" config option in [sdl] section + to force a video driver (such as windib/windows, + x11, dummy) for the SDL library to use. The video + driver "directx" has been enabled for Windows SDL1 + builds (without certain functions). (Wengier) +* There is a now a [ttf] section in the config file, + and TTF-related config options are moved/renamed + from [render] section to this section (previous + config options "ttf.*" in [render] section become + * (with "ttf." dropped) in [ttf] section). Windows + installer will also automatically transfer previous + TTF options to the new [ttf] section. (Wengier) +* When setting to "auto", config option "allow lmsw + to exit protected mode" will be active for Pentium+ + CPUs instead of 486+ CPUs. (Wengier) +* Fixed a bug which may lead to crash when pasting + text via the DOS clipboard API (e.g. the 4DOS CLIP: + device) in non-Windows platforms. (Wengier) +* Fixed the possible freeze when output was switched + from TrueType font (TTF) output and you tried to + reset the virtual machine. (Wengier) +* Fixed non-representative filenames on local drives + in current code page causing memory corruption for + e.g. Windows 3.1 Setup on non-Windows platforms. + These entries will no longer appear to DOS guest system in incompatible code pages. (Wengier) \ No newline at end of file diff --git a/_release_notes/0.83.16.md b/_release_notes/0.83.16.md index 7ed7b9fcf97..ce62b0eef4c 100644 --- a/_release_notes/0.83.16.md +++ b/_release_notes/0.83.16.md @@ -1,250 +1,251 @@ ---- -date: August 1, 2021 ---- - -## 1. Notable New Features - -* **Reorganized Windows installers to 32-bit and 64-bit installers with new language selection page** - - Windows installers are now reorganized to two installers installing 32-bit and 64-bit DOSBox-X binaries, for Windows XP+ (32/64-bit) and Vista+ 64-bit respectively, reducing the sizes of installers significantly while adding the SarasaGothicFixed TTF font (supporting both SBCS and DBCS languages) and a language selection page for choosing existing language translations (with new language files for [French](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/fr/fr_FR.lng) and [Traditional Chinese](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/zh/zh_TW.lng)). -* **Support for transparent window (all Windows builds and Linux/macOS SDL2 builds)** - - DOSBox-X now supports the transparent window feature (so that you can make the DOSBox-X window semi-transparent), which can be set via config option "transparency" in [sdl] section (with value from 0 to 90, low to high transparency). It is supported in all Windows builds as well SDL2 builds on Linux and macOS platforms. -* **Support for loading programs into UMB memory with LH/LOADHIGH command** - - You can now load DOS programs into the high memory (UMB) using LH/LOADHIGH command when it is available (previously this command did not load programs into UMB). Also added "shellhigh" config option to decide whether to load DOSBox-X's built-in command shell to UMB memory (with default setting of "auto", it is enabled if reported DOS version is at least 7, similar to MS-DOS 7+). -* **Support for mounting logical DOS partitions in disk images' extended partitions** - - IMGMOUNT command now supports extended DOS partitions within hard disk images so that you can now mount logical partitions inside it, not just the primary partition. Logical partitions can be mounted with the command's "-o partidx=n" parameter where n is 4 or larger (e.g. IMGMOUNT disk.img -o partidx=4). -* **Support for more code pages and custom code pages for TTF output** - - CHCP command or COUNTRY config option now supports additional code pages from 1250 to 1258. You can now also specify a custom code page using CHCP command's optional second parameter (e.g. CHCP 900 mycodepage.txt) or a new config option in the format "customcodepage=nnn,codepagefile" for TrueType font (TTF) output. -* **Support for customizing PC-98 font files (Anex86-compatible) via config options** - - You can now customize the fonts used by the PC-98 emulation. Specify an Anex86-compatible font to load with the "pc-98 anex86 font" config option (before trying FREECG98.BMP). There is also a new config option "pc-98 try font rom", which if set to false then DOSBox-X will not try to load FONT.ROM first for the PC-98 emulation. -* **Support for composite PCjr mode (similar to composite CGA mode)** - - Support for the composite PCjr mode has been added in this version. Similar to composite CGA mode, you can toggle composite output with Ctrl+F8, and Ctrl+Shift+F7/F8 to change hue for the composite mode. -* **Support for inputing CJK characters with system IMEs in Linux SDL1 builds and with windib driver in Windows SDL1 builds** - - In addition to system IME support for the directx video driver introduced in the previous version (Windows SDL1 builds), support for the default windib video driver has now been implemented in Windows SDL1 builds so that you can enter DBCS characters using system IMEs just like in other Windows applications. Also implemented support for the system IMEs in Linux SDL1 builds. -* **Improved support for Chinese DOS/V fonts (also used by Configuration Tool and Mapper Editor)** - - Support for Chinese DOS/V fonts saw major improvements in this version. You can now load HZK14/HZK16 font files (for 14- and 16-pixel height) and STDFONT.15 font file from ETen via the "fontxdbcs" and "fontxdbcs14" options for Simplified Chinese DOS/V (dosv=cn) and Traditional Chinese DOS/V (dosv=tw) emulations. Also greatly improved font acquisition function on Windows and Linux platforms, and you can disable the font acquisition function via the "getsysfonts" config option. -* **Improved VESA BIOS functions such as new vesa_oldvbe10 machine type** - - A new machine type vesa_oldvbe10 is now added to emulate a VESA BIOS that follows version 1.0 of the standard. The machine typevesa_oldvbe is fixed to never report a LFB, since that was not yet defined for VBE 1.2. Also added config options to control VESA BIOS window size and window granularity to support new DOS developments. - -## 2. Notable Usability Improvements - -* **Support for searching more paths for loading language files and additional directories for TrueType fonts** - - If a langauge file is specified, DOSBox-X will now search for more paths (such as user config directory and "languages" subfolder) before failing. Also, when using the TTF output, DOSBox-X will also search for additional directories such as /usr/share/fonts/ and /.fonts (Linux) or /Library/Fonts/ and ~/Library/Fonts (macOS) for TrueType fonts. -* **Auto-load SarasaGothicFixed TTF font for CJK code pages by default (included in Windows installer)** - - DOSBox-X will try to load the SarasaGothicFixed TTF font when no external TTF font is specified and a CJK code page detected at start, which looks very nice and also allows both SBCS and DBCS characters to be displayed correctly. Windows installer will also include such a font for ready use with DOSBox-X. -* **Added message boxes to show the saved filenames for audio and video recordings** - - DOSBox-X will now display a message box showing the saved file name (usually in the capture subdirectory) when the audio or video recording has been completed. The full filenames will also be recorded in the logging. -* **Ability to toggle (low-level and high-level) 3dfx emulations via new 3dfx menu group options** - - DOSBox-X now has a menu group "3dfx emulation" in "Video" menu which allows you to toggle the low-level Voodoo card emulation and/or high-level Glide passthrough feature at run-time. -* **Ability to reboot the current DOSBox-X instance or reboot with specified language file via menu options** - - New menu options "Restart DOSBox-X instance" and "Restart DOSBox-X with language file.." are now added in the "Main" menu which allow to easily reboot the current DOSBox-X instance or reboot the DOSBox-X instance with the specified language file automatically. -* **Ability to filter out filenames on local drives that are non-representative in current code page** - - There is now a config option "hidenonpresentable" in [dos] section to control whethether to filter out file nameson local drives that are non-representative in current code page, which may help with for examples Windows 3.x installations in some situations. -* **Ability to see code overview and logging text via menu options** - - New menu options "Show code overview" and "Show logging text" are added to the "Debug" menu to easily view the current code overview of the current code and the output of DOSBox-X's current logging text in debug builds, without having to open the Debugger or logging console. -* **Support for Shift+Tab key combination in debugger to switch to previous window (inverse of Tab key)** - - The debugger now supports the Shift+Tab key shortcut to switch to the previous window complimenting existing function of Tab switching to the next window. -* **Mapper Editor to show the actual modifier keys when clicked** - - Mapper Editor will now try to show the actual mod keys intead of just "mod1", "mod2", and "mod3" when you click or check the buttons. This makes it easy for users to find the exact modifier keys that the mod keys stand for. -* **Improved -eraseconf and -erasemapper command-line options** - - Command-line options -eraseconf and -erasemapper are now modified to erase loaded config file and mapper file respectively and then continue, whereas -resetconf and -resetmapper will erase user config file or user mapper file and exit as before, instead of having the exact same behaviors. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, such as fixing issues that had occurred in the previous release (e.g. fixed Amstrad machine not working in non-Windows platforms and non-English accents not showing correctly with a SBCS code page in TTF output), as well as other improvements (e.g. enabled MT32 emulation for ARM-based macOS builds and improved handling of international keyboards) to make DOSBox-X work better. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version -* Added support for extended MS-DOS partitions that - reside in extended partitions. These partitions - can be manually mounted using -o partidx=n where - n is 4 or larger. To assist in partition indexes, - the FAT driver will also print the partition - table to your log file and console when asked to - print debug information. (joncampbell123) -* Added dosbox-x.conf options to control VESA BIOS - window size and window granularity. This allows - DOS development to test VESA BIOS support against - SVGA cards that use window sizes and/or window - granularity other than 64KB including older SVGA - hardware by Paradise and Cirrus. Note that use - of these options is intended solely for DOS - development and will break S3 drivers that do not - use the VESA BIOS extensions. (joncampbell123) -* Fixed VESA BIOS S3 modelist to match the VBE 1.2 - standard modelist properly, including the addition - of modes 0x119-0x11B. (joncampbell123) -* Added machine=vesa_oldvbe10 to emulate a VESA - BIOS that follows version 1.0 of the standard. - Specifically, in version 1.0, mode information - like XResolution was OPTIONAL and the VESA BIOS - was allowed not to fill it in since you could - assume the information from the standard video - mode number you applied. This setting emulates - a VESA BIOS that does NOT provide this information, - for testing purposes. Also, machine=vesa_oldvbe is - fixed to never report a LFB, since that was not yet - defined for VBE 1.2. (joncampbell123) -* Reorganized Windows installation to 2 installers - installing 32-bit and 64-bit DOSBox-X binaries, - for WinXP+ (all) and Vista+ 64-bit respectively, - reducing the sizes of installers significantly - while adding the SarasaGothicFixed TTF font and - a language selection page for choosing existing - language translations (with new language files - for French and Traditional Chinese). (Wengier) -* DOSBox-X will now search for more paths (such as - user config directory and "languages" subfolder) - for loading language files before failing, and - on Linux and macOS platforms will also search for - additional directories such as /Library/Fonts/ - (Linux) or /Library/Fonts/ (macOS) for TrueType - fonts when using the TTF output. (Wengier) -* DOSBox-X will try to load the SarasaGothicFixed - TTF font when no external TTF font is specified - and a CJK code page detected at start. (Wengier) -* Added Shift+Tab shortcut in Debugger to switch to - previous window complimenting existing function of - Tab switching to the next window. (cimarronm) -* LH/LOADHIGH command can now load programs into UMB - memory if it is available. Also added "shellhigh" - config option to decide whether to load builtin - command shell to UMB memory (with default setting - of "auto", it is enabled if reported DOS version - is at least 7, similar to MS-DOS 7+). (cimarronm) -* HELP command is now an external command appearing - on Z drive rather than an internal shell command - (it is never a DOS internal command). (Wengier) -* Command-line options -eraseconf and -erasemapper - will now erase loaded config file and mapper file - respectively and continue, whereas -resetconf and - -resetmapper will erase user config file or user - mapper file and exit as before. (Wengier) -* Added menu group "3dfx" in "Video" menu to toggle - the low-level Voodoo card emulation and high-level - Glide emulation at run-time. (Wengier) -* Added menu options "Restart DOSBox-X instance" and - "Restart DOSBox-X with language file" in "Main" - menu to reboot the current DOSBox-X instance or - reboot the DOSBox-X instance with the specified - language file automatically. (Wengier) -* Added menu options "Show code overview" and "Show - logging text" in "Debug" menu to show the overview - of the current code and the output of DOSBox-X's - current logging text in debug builds. (Wengier) -* Added config option "customcodepage" in the [dos] - section to allow a custom code page, in the format - "customcodepage=nnn,codepagefile" in TrueType font - (TTF) output. CHCP command also supports additional - parameter to specify a code page file. Also added - builtin support for code pages 1250-1258. (Wengier) -* Added config option "transparency" in [sdl] section - to change the DOSBox-X window transparency (from 0 - to 90, low to high transparency) on the Linux/macOS - SDL2 and Windows platforms. (Wengier) -* Added config option "hidenonpresentable" in [dos] - section to toggle whether to filter out file names - on local drives that are non-representative in - current code page. (Wengier) -* Added config options "pc-98 try font rom" and - "pc-98 anex86 font" for the PC-98 emulation to - customize the font file to load. If former option - is set to "false", then DOSbox-X will not try to - load FONT.ROM first for PC-98, and latter option - specifies an Anex86-compatible font to load for - PC-98 (before trying FREECG98.BMP). (Wengier) -* Added support for composite support for PCjr mode - by porting patch from NewRisingSun. (Wengier) -* Non-Japanese DOS/V systems will now use 19-pixel - VGA fonts rather than 16-pixel VGA fonts for SBCS - characters to look better. (Wengier) -* You can now also load HZK14/HZK16 font files (for - 14- and 16-pixel height) and STDFONT.15 font file - via the "fontxdbcs" and "fontxdbcs14" options for - Simplified Chinese DOS/V (dosv=cn) and Traditional - Chinese DOS/V (dosv=tw) emulations. (Wengier) -* Improved the DOS/V font acquisition function on - the Linux platform (both SDL1 & SDL2), such as - adding support for 14-pixel height fonts (used by - Configuration Tool & Mapper Editor), and enhancing - support for Chinese characters acquisition (e.g. - WenQuanYi support for the Traditional Chinese). A - config option "getsysfont" is added which when set - to "false" will disable the font acquisition on - Windows and Linux platforms. (Wengier & nanshiki) -* Implemented support for inputing CJK characters - on Linux SDL1 builds using Linux system IMEs. Code - imported from SDL-IM-plus by nanshiki and confirmed - to work on Linux/X11 platform by him. -* Added support for inputing Japanese and Korean - characters using system input method (IME) using - the default "windib" video driver in Windows SDL1 - build (in addition to "directx" driver). (nanshiki) -* Fixed CJK characters not showing correctly for the - SDL-drawn menu with OpenGL outputs if "language" - config option is used instead of -lang command-line - option. Thank nanshiki for catching this. (Wengier) -* Fixed setting "machine=amstrad" cause DOSBox-X to - crash on non-Windows platforms. (cimarronm) -* Fixed bug related to DBCS vector table. (nanshiki) -* Fixed running e.g. built-in DEBUG command from a - drive other than Z may not work. (cimarronm) -* Fixed the command "FOR %I ..." not working when - executed from the command line. (Wengier) -* For audio/video recording, DOSBox-X will display - a message box showing the saved file name when the - recording has been completed. (Wengier) -* Mapper Editor will try to show the actual mod keys - for mod1/mod2/mod3 when clicked. (Wengier) -* Removed the special DOS function at Int21h/AH=2B/ - CX=0x4442h/DX=0x2D58h in favor of the DOSBox-X - Integration Device at I/O ports 28h-2Bh which works - for both integrated DOS and guest OS environments. -* Enabled MT-32 emulation on ARM-based Mac OS X - builds (joncampbell123) -* For Configuration Tool, ensure mouse coordinates - are adjusted accordingly with forced scaler. (aybe) -* Fixed a bug in the Int21/AH=36h (get disk space) - function for returning very large CX values, and - that non-zero values are returned when the free - space is 0 on mounted local drives. (Wengier) -* Fixed "FILES" always fixed to 200 as reported by - the "DOSINFO" tool, in spite of "files" setting in - [config] section of the config file. (Wengier) -* Refined the handling of international keyboards and - fixed some issues in version 0.83.15. (maron2000) -* Fixed initialization order that prevented Bochs - port E9h emulation from working. (joncampbell123) -* Fixed menu options in system menu not working in - Windows SDL1 builds with "windib" driver. (Wengier) -* Fixed issue that the mouse cursor not showing in - the game "Power Dolls". (Wengier) -* Fixed non-English accents may not show correctly - with a SBCS code page in TrueType Font (TTF) output - (introduced in version 0.83.15). (Wengier) -* Fixed line endings for SBCS language files such as - English and Spanish translations. (Wengier) -* Fixed resetting the TTF screen when exiting from - Configuration Tool or Mapper Editor when TrueType - font (TTF) output is active. (Wengier) -* Fixed the option "drive z expand path" not working - if Virtual Drive Z: has been moved to a different +--- +slug: 0.83.16 +date: August 1, 2021 +--- + +## 1. Notable New Features + +* **Reorganized Windows installers to 32-bit and 64-bit installers with new language selection page** + + Windows installers are now reorganized to two installers installing 32-bit and 64-bit DOSBox-X binaries, for Windows XP+ (32/64-bit) and Vista+ 64-bit respectively, reducing the sizes of installers significantly while adding the SarasaGothicFixed TTF font (supporting both SBCS and DBCS languages) and a language selection page for choosing existing language translations (with new language files for [French](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/fr/fr_FR.lng) and [Traditional Chinese](https://github.com/joncampbell123/dosbox-x/blob/master/contrib/translations/zh/zh_TW.lng)). +* **Support for transparent window (all Windows builds and Linux/macOS SDL2 builds)** + + DOSBox-X now supports the transparent window feature (so that you can make the DOSBox-X window semi-transparent), which can be set via config option "transparency" in [sdl] section (with value from 0 to 90, low to high transparency). It is supported in all Windows builds as well SDL2 builds on Linux and macOS platforms. +* **Support for loading programs into UMB memory with LH/LOADHIGH command** + + You can now load DOS programs into the high memory (UMB) using LH/LOADHIGH command when it is available (previously this command did not load programs into UMB). Also added "shellhigh" config option to decide whether to load DOSBox-X's built-in command shell to UMB memory (with default setting of "auto", it is enabled if reported DOS version is at least 7, similar to MS-DOS 7+). +* **Support for mounting logical DOS partitions in disk images' extended partitions** + + IMGMOUNT command now supports extended DOS partitions within hard disk images so that you can now mount logical partitions inside it, not just the primary partition. Logical partitions can be mounted with the command's "-o partidx=n" parameter where n is 4 or larger (e.g. IMGMOUNT disk.img -o partidx=4). +* **Support for more code pages and custom code pages for TTF output** + + CHCP command or COUNTRY config option now supports additional code pages from 1250 to 1258. You can now also specify a custom code page using CHCP command's optional second parameter (e.g. CHCP 900 mycodepage.txt) or a new config option in the format "customcodepage=nnn,codepagefile" for TrueType font (TTF) output. +* **Support for customizing PC-98 font files (Anex86-compatible) via config options** + + You can now customize the fonts used by the PC-98 emulation. Specify an Anex86-compatible font to load with the "pc-98 anex86 font" config option (before trying FREECG98.BMP). There is also a new config option "pc-98 try font rom", which if set to false then DOSBox-X will not try to load FONT.ROM first for the PC-98 emulation. +* **Support for composite PCjr mode (similar to composite CGA mode)** + + Support for the composite PCjr mode has been added in this version. Similar to composite CGA mode, you can toggle composite output with Ctrl+F8, and Ctrl+Shift+F7/F8 to change hue for the composite mode. +* **Support for inputing CJK characters with system IMEs in Linux SDL1 builds and with windib driver in Windows SDL1 builds** + + In addition to system IME support for the directx video driver introduced in the previous version (Windows SDL1 builds), support for the default windib video driver has now been implemented in Windows SDL1 builds so that you can enter DBCS characters using system IMEs just like in other Windows applications. Also implemented support for the system IMEs in Linux SDL1 builds. +* **Improved support for Chinese DOS/V fonts (also used by Configuration Tool and Mapper Editor)** + + Support for Chinese DOS/V fonts saw major improvements in this version. You can now load HZK14/HZK16 font files (for 14- and 16-pixel height) and STDFONT.15 font file from ETen via the "fontxdbcs" and "fontxdbcs14" options for Simplified Chinese DOS/V (dosv=cn) and Traditional Chinese DOS/V (dosv=tw) emulations. Also greatly improved font acquisition function on Windows and Linux platforms, and you can disable the font acquisition function via the "getsysfonts" config option. +* **Improved VESA BIOS functions such as new vesa_oldvbe10 machine type** + + A new machine type vesa_oldvbe10 is now added to emulate a VESA BIOS that follows version 1.0 of the standard. The machine typevesa_oldvbe is fixed to never report a LFB, since that was not yet defined for VBE 1.2. Also added config options to control VESA BIOS window size and window granularity to support new DOS developments. + +## 2. Notable Usability Improvements + +* **Support for searching more paths for loading language files and additional directories for TrueType fonts** + + If a langauge file is specified, DOSBox-X will now search for more paths (such as user config directory and "languages" subfolder) before failing. Also, when using the TTF output, DOSBox-X will also search for additional directories such as /usr/share/fonts/ and /.fonts (Linux) or /Library/Fonts/ and ~/Library/Fonts (macOS) for TrueType fonts. +* **Auto-load SarasaGothicFixed TTF font for CJK code pages by default (included in Windows installer)** + + DOSBox-X will try to load the SarasaGothicFixed TTF font when no external TTF font is specified and a CJK code page detected at start, which looks very nice and also allows both SBCS and DBCS characters to be displayed correctly. Windows installer will also include such a font for ready use with DOSBox-X. +* **Added message boxes to show the saved filenames for audio and video recordings** + + DOSBox-X will now display a message box showing the saved file name (usually in the capture subdirectory) when the audio or video recording has been completed. The full filenames will also be recorded in the logging. +* **Ability to toggle (low-level and high-level) 3dfx emulations via new 3dfx menu group options** + + DOSBox-X now has a menu group "3dfx emulation" in "Video" menu which allows you to toggle the low-level Voodoo card emulation and/or high-level Glide passthrough feature at run-time. +* **Ability to reboot the current DOSBox-X instance or reboot with specified language file via menu options** + + New menu options "Restart DOSBox-X instance" and "Restart DOSBox-X with language file.." are now added in the "Main" menu which allow to easily reboot the current DOSBox-X instance or reboot the DOSBox-X instance with the specified language file automatically. +* **Ability to filter out filenames on local drives that are non-representative in current code page** + + There is now a config option "hidenonpresentable" in [dos] section to control whethether to filter out file nameson local drives that are non-representative in current code page, which may help with for examples Windows 3.x installations in some situations. +* **Ability to see code overview and logging text via menu options** + + New menu options "Show code overview" and "Show logging text" are added to the "Debug" menu to easily view the current code overview of the current code and the output of DOSBox-X's current logging text in debug builds, without having to open the Debugger or logging console. +* **Support for Shift+Tab key combination in debugger to switch to previous window (inverse of Tab key)** + + The debugger now supports the Shift+Tab key shortcut to switch to the previous window complimenting existing function of Tab switching to the next window. +* **Mapper Editor to show the actual modifier keys when clicked** + + Mapper Editor will now try to show the actual mod keys intead of just "mod1", "mod2", and "mod3" when you click or check the buttons. This makes it easy for users to find the exact modifier keys that the mod keys stand for. +* **Improved -eraseconf and -erasemapper command-line options** + + Command-line options -eraseconf and -erasemapper are now modified to erase loaded config file and mapper file respectively and then continue, whereas -resetconf and -resetmapper will erase user config file or user mapper file and exit as before, instead of having the exact same behaviors. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, such as fixing issues that had occurred in the previous release (e.g. fixed Amstrad machine not working in non-Windows platforms and non-English accents not showing correctly with a SBCS code page in TTF output), as well as other improvements (e.g. enabled MT32 emulation for ARM-based macOS builds and improved handling of international keyboards) to make DOSBox-X work better. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version +* Added support for extended MS-DOS partitions that + reside in extended partitions. These partitions + can be manually mounted using -o partidx=n where + n is 4 or larger. To assist in partition indexes, + the FAT driver will also print the partition + table to your log file and console when asked to + print debug information. (joncampbell123) +* Added dosbox-x.conf options to control VESA BIOS + window size and window granularity. This allows + DOS development to test VESA BIOS support against + SVGA cards that use window sizes and/or window + granularity other than 64KB including older SVGA + hardware by Paradise and Cirrus. Note that use + of these options is intended solely for DOS + development and will break S3 drivers that do not + use the VESA BIOS extensions. (joncampbell123) +* Fixed VESA BIOS S3 modelist to match the VBE 1.2 + standard modelist properly, including the addition + of modes 0x119-0x11B. (joncampbell123) +* Added machine=vesa_oldvbe10 to emulate a VESA + BIOS that follows version 1.0 of the standard. + Specifically, in version 1.0, mode information + like XResolution was OPTIONAL and the VESA BIOS + was allowed not to fill it in since you could + assume the information from the standard video + mode number you applied. This setting emulates + a VESA BIOS that does NOT provide this information, + for testing purposes. Also, machine=vesa_oldvbe is + fixed to never report a LFB, since that was not yet + defined for VBE 1.2. (joncampbell123) +* Reorganized Windows installation to 2 installers + installing 32-bit and 64-bit DOSBox-X binaries, + for WinXP+ (all) and Vista+ 64-bit respectively, + reducing the sizes of installers significantly + while adding the SarasaGothicFixed TTF font and + a language selection page for choosing existing + language translations (with new language files + for French and Traditional Chinese). (Wengier) +* DOSBox-X will now search for more paths (such as + user config directory and "languages" subfolder) + for loading language files before failing, and + on Linux and macOS platforms will also search for + additional directories such as /Library/Fonts/ + (Linux) or /Library/Fonts/ (macOS) for TrueType + fonts when using the TTF output. (Wengier) +* DOSBox-X will try to load the SarasaGothicFixed + TTF font when no external TTF font is specified + and a CJK code page detected at start. (Wengier) +* Added Shift+Tab shortcut in Debugger to switch to + previous window complimenting existing function of + Tab switching to the next window. (cimarronm) +* LH/LOADHIGH command can now load programs into UMB + memory if it is available. Also added "shellhigh" + config option to decide whether to load builtin + command shell to UMB memory (with default setting + of "auto", it is enabled if reported DOS version + is at least 7, similar to MS-DOS 7+). (cimarronm) +* HELP command is now an external command appearing + on Z drive rather than an internal shell command + (it is never a DOS internal command). (Wengier) +* Command-line options -eraseconf and -erasemapper + will now erase loaded config file and mapper file + respectively and continue, whereas -resetconf and + -resetmapper will erase user config file or user + mapper file and exit as before. (Wengier) +* Added menu group "3dfx" in "Video" menu to toggle + the low-level Voodoo card emulation and high-level + Glide emulation at run-time. (Wengier) +* Added menu options "Restart DOSBox-X instance" and + "Restart DOSBox-X with language file" in "Main" + menu to reboot the current DOSBox-X instance or + reboot the DOSBox-X instance with the specified + language file automatically. (Wengier) +* Added menu options "Show code overview" and "Show + logging text" in "Debug" menu to show the overview + of the current code and the output of DOSBox-X's + current logging text in debug builds. (Wengier) +* Added config option "customcodepage" in the [dos] + section to allow a custom code page, in the format + "customcodepage=nnn,codepagefile" in TrueType font + (TTF) output. CHCP command also supports additional + parameter to specify a code page file. Also added + builtin support for code pages 1250-1258. (Wengier) +* Added config option "transparency" in [sdl] section + to change the DOSBox-X window transparency (from 0 + to 90, low to high transparency) on the Linux/macOS + SDL2 and Windows platforms. (Wengier) +* Added config option "hidenonpresentable" in [dos] + section to toggle whether to filter out file names + on local drives that are non-representative in + current code page. (Wengier) +* Added config options "pc-98 try font rom" and + "pc-98 anex86 font" for the PC-98 emulation to + customize the font file to load. If former option + is set to "false", then DOSbox-X will not try to + load FONT.ROM first for PC-98, and latter option + specifies an Anex86-compatible font to load for + PC-98 (before trying FREECG98.BMP). (Wengier) +* Added support for composite support for PCjr mode + by porting patch from NewRisingSun. (Wengier) +* Non-Japanese DOS/V systems will now use 19-pixel + VGA fonts rather than 16-pixel VGA fonts for SBCS + characters to look better. (Wengier) +* You can now also load HZK14/HZK16 font files (for + 14- and 16-pixel height) and STDFONT.15 font file + via the "fontxdbcs" and "fontxdbcs14" options for + Simplified Chinese DOS/V (dosv=cn) and Traditional + Chinese DOS/V (dosv=tw) emulations. (Wengier) +* Improved the DOS/V font acquisition function on + the Linux platform (both SDL1 & SDL2), such as + adding support for 14-pixel height fonts (used by + Configuration Tool & Mapper Editor), and enhancing + support for Chinese characters acquisition (e.g. + WenQuanYi support for the Traditional Chinese). A + config option "getsysfont" is added which when set + to "false" will disable the font acquisition on + Windows and Linux platforms. (Wengier & nanshiki) +* Implemented support for inputing CJK characters + on Linux SDL1 builds using Linux system IMEs. Code + imported from SDL-IM-plus by nanshiki and confirmed + to work on Linux/X11 platform by him. +* Added support for inputing Japanese and Korean + characters using system input method (IME) using + the default "windib" video driver in Windows SDL1 + build (in addition to "directx" driver). (nanshiki) +* Fixed CJK characters not showing correctly for the + SDL-drawn menu with OpenGL outputs if "language" + config option is used instead of -lang command-line + option. Thank nanshiki for catching this. (Wengier) +* Fixed setting "machine=amstrad" cause DOSBox-X to + crash on non-Windows platforms. (cimarronm) +* Fixed bug related to DBCS vector table. (nanshiki) +* Fixed running e.g. built-in DEBUG command from a + drive other than Z may not work. (cimarronm) +* Fixed the command "FOR %I ..." not working when + executed from the command line. (Wengier) +* For audio/video recording, DOSBox-X will display + a message box showing the saved file name when the + recording has been completed. (Wengier) +* Mapper Editor will try to show the actual mod keys + for mod1/mod2/mod3 when clicked. (Wengier) +* Removed the special DOS function at Int21h/AH=2B/ + CX=0x4442h/DX=0x2D58h in favor of the DOSBox-X + Integration Device at I/O ports 28h-2Bh which works + for both integrated DOS and guest OS environments. +* Enabled MT-32 emulation on ARM-based Mac OS X + builds (joncampbell123) +* For Configuration Tool, ensure mouse coordinates + are adjusted accordingly with forced scaler. (aybe) +* Fixed a bug in the Int21/AH=36h (get disk space) + function for returning very large CX values, and + that non-zero values are returned when the free + space is 0 on mounted local drives. (Wengier) +* Fixed "FILES" always fixed to 200 as reported by + the "DOSINFO" tool, in spite of "files" setting in + [config] section of the config file. (Wengier) +* Refined the handling of international keyboards and + fixed some issues in version 0.83.15. (maron2000) +* Fixed initialization order that prevented Bochs + port E9h emulation from working. (joncampbell123) +* Fixed menu options in system menu not working in + Windows SDL1 builds with "windib" driver. (Wengier) +* Fixed issue that the mouse cursor not showing in + the game "Power Dolls". (Wengier) +* Fixed non-English accents may not show correctly + with a SBCS code page in TrueType Font (TTF) output + (introduced in version 0.83.15). (Wengier) +* Fixed line endings for SBCS language files such as + English and Spanish translations. (Wengier) +* Fixed resetting the TTF screen when exiting from + Configuration Tool or Mapper Editor when TrueType + font (TTF) output is active. (Wengier) +* Fixed the option "drive z expand path" not working + if Virtual Drive Z: has been moved to a different drive letter (e.g. Drive Y:). (Wengier) \ No newline at end of file diff --git a/_release_notes/0.83.17.md b/_release_notes/0.83.17.md index ff0e9d87725..42669a6fb33 100644 --- a/_release_notes/0.83.17.md +++ b/_release_notes/0.83.17.md @@ -1,46 +1,47 @@ ---- -date: September 1, 2021 ---- - -* Added FISTTP instruction to experimental cputype (LBi) -* Updated debugger to support and decode fisttp, fcomi, - fcomip, fucomi, fucomip (LBi) -* Added support for Chinese/Japanese/Korean IMEs on - Windows/Linux SDL2 builds. (nanshiki) -* Added cputype=experimental, which is the same as the - highest CPU emulation level but with additional - instructions from newer processors that do not exist - in the era emulated by DOSBox-X i.e. FISTTP which is - an SSE3 Pentium 4 instruction. (joncampbell123) -* Added support for 286/386 call gates to JMP - instruction (joncampbell123) -* Added -bd option to IMGMOUNT to allow mounting - partitions from a hard disk image mounted as an - INT 13h hard disk. is the numeric value the - hard disk image was mounted to. In this way, it - becomes possible to mount any or all partitions - in a hard disk image. WARNING: To safely mount - multiple partitions, use -o partidx= to specify - each partition you mount by index. (joncampbell123) -* If a drive has no volume label, and user runs - LABEL without specifying one, do not ask whether - or not to delete the volume label because there - is in fact no volume label to delete. (joncampbell123) -* Added FreeDOS utilities DEFRAG, FORMAT, FDISK, - CHKDSK, and SYS to the built-in Z drive. KERNEL.SYS - is not provided so that the user can provide what - they consider the best version of the FreeDOS kernel - to format with if they use FORMAT /S (joncampbell123) -* INT 29h routes output through ANSI.SYS driver in - both IBM PC and PC-98 mode, unless ansi.sys=false - is set in the config setting. (joncampbell123) -* Integrated commits from mainline (Allofich) - - Fix regression in r4444: Hercules machine type -cursor translation. - - Remove redundant signature for ET4K that is now - done in video BIOS. - - Implement mouse driver function 0x27, fixes - Alive - Behind the Moon. - - Add log message for unusual cases where an - executable unsafely places its initial stack outside +--- +slug: 0.83.17 +date: September 1, 2021 +--- + +* Added FISTTP instruction to experimental cputype (LBi) +* Updated debugger to support and decode fisttp, fcomi, + fcomip, fucomi, fucomip (LBi) +* Added support for Chinese/Japanese/Korean IMEs on + Windows/Linux SDL2 builds. (nanshiki) +* Added cputype=experimental, which is the same as the + highest CPU emulation level but with additional + instructions from newer processors that do not exist + in the era emulated by DOSBox-X i.e. FISTTP which is + an SSE3 Pentium 4 instruction. (joncampbell123) +* Added support for 286/386 call gates to JMP + instruction (joncampbell123) +* Added -bd option to IMGMOUNT to allow mounting + partitions from a hard disk image mounted as an + INT 13h hard disk. is the numeric value the + hard disk image was mounted to. In this way, it + becomes possible to mount any or all partitions + in a hard disk image. WARNING: To safely mount + multiple partitions, use -o partidx= to specify + each partition you mount by index. (joncampbell123) +* If a drive has no volume label, and user runs + LABEL without specifying one, do not ask whether + or not to delete the volume label because there + is in fact no volume label to delete. (joncampbell123) +* Added FreeDOS utilities DEFRAG, FORMAT, FDISK, + CHKDSK, and SYS to the built-in Z drive. KERNEL.SYS + is not provided so that the user can provide what + they consider the best version of the FreeDOS kernel + to format with if they use FORMAT /S (joncampbell123) +* INT 29h routes output through ANSI.SYS driver in + both IBM PC and PC-98 mode, unless ansi.sys=false + is set in the config setting. (joncampbell123) +* Integrated commits from mainline (Allofich) + - Fix regression in r4444: Hercules machine type +cursor translation. + - Remove redundant signature for ET4K that is now + done in video BIOS. + - Implement mouse driver function 0x27, fixes + Alive - Behind the Moon. + - Add log message for unusual cases where an + executable unsafely places its initial stack outside the memory block. \ No newline at end of file diff --git a/_release_notes/0.83.18.md b/_release_notes/0.83.18.md index 48bb7b5f7ab..1eb07cda8cc 100644 --- a/_release_notes/0.83.18.md +++ b/_release_notes/0.83.18.md @@ -1,25 +1,26 @@ ---- -date: October 1, 2021 ---- - -* Cleaned up and more accurately worded CMOS-related - log messages. (Allofich) -* Fixed the names of virtual files and files on mounted - FAT drive images being logged as "(null)". (Allofich) -* Fixed packed structure alignment problem with MSVC - (Microsoft C++) builds regarding some disk image - formats. These problems prevented VS2019 builds from - mounting hard disk images. (Allofich) -* REP STOSB will correctly move one byte if one byte - remains to be processed aka CX == 1, this is needed - for FD98.COM self clearing code to work properly. (nanshiki) -* Fixed IOCTL support for character device drivers. (nanshiki) -* Fixed ANSI ESC [6n escape handling to correctly - report cursor position as 1-based count, not 0-based - count (Nanshiki) -* PC-98 INT DCh emulation fixed to better represent the - function key shortcuts as real DOS does (Nanshiki) -* Emulator fix for HX-DOS builds (Wengier) -* Integrated commits from mainline (Allofich) - - Fix the return value of register al from INT10 ah=0x0F +--- +slug: 0.83.18 +date: October 1, 2021 +--- + +* Cleaned up and more accurately worded CMOS-related + log messages. (Allofich) +* Fixed the names of virtual files and files on mounted + FAT drive images being logged as "(null)". (Allofich) +* Fixed packed structure alignment problem with MSVC + (Microsoft C++) builds regarding some disk image + formats. These problems prevented VS2019 builds from + mounting hard disk images. (Allofich) +* REP STOSB will correctly move one byte if one byte + remains to be processed aka CX == 1, this is needed + for FD98.COM self clearing code to work properly. (nanshiki) +* Fixed IOCTL support for character device drivers. (nanshiki) +* Fixed ANSI ESC [6n escape handling to correctly + report cursor position as 1-based count, not 0-based + count (Nanshiki) +* PC-98 INT DCh emulation fixed to better represent the + function key shortcuts as real DOS does (Nanshiki) +* Emulator fix for HX-DOS builds (Wengier) +* Integrated commits from mainline (Allofich) + - Fix the return value of register al from INT10 ah=0x0F for non EGA/VGA machines. \ No newline at end of file diff --git a/_release_notes/0.83.19.md b/_release_notes/0.83.19.md index 1214e486569..92b3821f4de 100644 --- a/_release_notes/0.83.19.md +++ b/_release_notes/0.83.19.md @@ -1,127 +1,128 @@ ---- -date: November 1, 2021 ---- - -* Reorganized the "List network interfaces" and "List - printer devices" dialogs (under the "Help" menu) to - allow the use of scroll bars. (Wengier) -* Added menu option "Reset TTF color scheme" to reset - the current color scheme for TTF output. (Wengier) -* Added config option "righttoleft" in [TTF] section - which when set to "true" will cause DOSBox-X to - display text from right to left (instead of left to - right) for the TTF output. It can also be toggled - from the menu ("Video" => "TTF options" => "Display - text from right to left"). (Wengier) -* Added config option "vga fill active memory" which - when set to "true" will fill inactive video memory - regions with RAM rather than mapping them as empty. - This allows the ETen Chinese DOS system (倚天中文系統) - 3.5/2000 (e.g. ET16V and ET24VA) to run. (Wengier) -* Added config option "middle_unlock" ([sdl] section) - to control whether to unlock the mouse with middle - mouse button click. (Wengier) -* Added config option "dosvfunc" in [ttf] section to - support DOS/V applications when country information - is set to Japan in TTF output. (nanshiki) -* Added "VTEXT" command to view or change the current - V-text mode for the DOS/V emulation. Also improved - the font support for 24-pixel font DOS/V mode, such - as supporting HZK24? fonts for Simplified Chinese - DOS/V mode and STDFONT.24 from ETen Chinese system - for Traditional Chinese DOS/V mode. If a Chinese - font is specified via "fontxdbcs", "fontxdbcs14" or - "fontxdbcs24" options, it will be loaded before - system font even with "getsysfont=true". (Wengier) -* Commands like 80x25, 80x43, ... now use internal - function for better compatibility with the TrueType - font (TTF) output. (Wengier) -* MODE command without a parameter will now print the - current lines/columns instead of usage. (Wengier) -* INTVEC debugger command now correctly outputs - addresses when in protected mode. (Allofich) -* Fix horizontal lines in the debugger window being - rendered as unrelated characters in some code - pages. (Allofich) -* INT 21 AX=4B03 now sets AX to 0000 like MS-DOS - does. Fixes missing music in "聊齋誌異之幽谷傳奇" - (Liáozhāi zhì yì zhī yōugǔ chuánqí) (Allofich) -* Use 0x1E to 0x3E for the keyboard buffer of the CGA - machine, which fixes the controls locking up in the - PC booter version of Apple Panic. (Allofich) -* Allowed machine types "pcjr_composite" and - "pcjr_composite2", similar to "cga_composite" and - "cga_composite2", instead of having to switch the - composite type manually. (Wengier) -* If machine is PCjr, place PC BIOS reset code at - F000:0043 to match that of the real BIOS. -* Fix PCjr NMI handler to load DS with segment 0x0040. - Fixes crashes in SHAMUS. (Allofich) -* Fix PCjr NMI handler to use 8086-level instructions - when loading DS with segment 0x0040 so that it - works properly with cputype=8086. -* Remove useless check for signed divide quotient - of 0x80/0x8000/etc. (the result was -0x80/0x8000/etc - anyway. Add code to check specifically for these - values after signed divide if cputype=8086 and - trigger divide overflow exception, to match behavior - described for the 8086 processor. -* Modify exception handling so that for cputype=8086 - the return address for an exception handler points - at instruction after fault location. -* Fix IDIV instruction incorrectly raising a divide - error exception for some borderline values. Fixes - Microsoft Flight Simulator. (Allofich) -* IBM PC BIOS emulation fixed to place key pieces of - code and entry points at fixed legacy locations - required by some older DOS games, instead of - by dynamic allocation. Added code to BIOS allocation - to reserve F000:E000 or higher for fixed allocation - and force dynamic allocation below that address to - prevent further conflicts should others submit - pull requests for additional fixed locations. This - fixes some games like "聊齋誌異之幽谷傳奇" (Liáozhāi - zhì yì zhī yōugǔ chuánqí) which appear to assume - some of these fixed BIOS addresses and will - crash if they are wrong. -* Added tool EMSMAGIC.COM as alternative EMS manager, - which can be dynamically installed or uninstalled - with the setting ems=false. (Wengier) -* If a program is provided in the command-line when - launching DOSBox-X, it will now be executed after - any commands in the [autoexec] section by default. - A command-line option "-prerun" is added to force - the program run before any commands in [autoexec] - section like before. (Wengier) -* Added auto-detection for single-wide DBCS-encoded - characters for the TTF output (non-PC98). (Wengier) -* Improved the menu option "Restart DOSBox-X with - language file..." (under "Main") for switching - between DBCS languages. (Wengier) -* Disabled the Alt+F4 key for closing the DOSBox-X - window in MinGW SDL2 builds. (Wengier) -* Fixed program or config file containing Unicode - characters passed from command-line when launching - DOSBox-X in Windows SDL2 builds. (Wengier) -* Fixed issue with DELETE key in PC-98 mode. (Wengier) -* Fixed COLORS config option (in [ttf] section) not - working in the previous version. (Wengier) -* Fixed issues after resetting the virtual machine - when using DBCS language files. (Wengier) -* Fixed some issues related to system IME support for - CJK (Chinese/Japanese/Korean) languages, for both - Windows SDL1 and SDL2 builds. (nanshiki & Wengier) -* Fixed bugs in the region memory allocator C++ class - that claimed the entire free block even if the - size wanted was smaller. Added field to remember if - the allocated block was allocated for fixed or - dynamically allocated memory. Cleaned up allocator - code and removed redundancy. -* Fix SELINFO command not showing output correctly - in the debugger window. (Allofich) -* Better CMOS register B and C emulation. (Allofich) -* Integrated commits from mainline (Allofich) - - Support for DMF floppy disk images. - - Zero-out DX in EXEC overlay command. - - Improve stack check for wrap-around cases. +--- +slug: 0.83.19 +date: November 1, 2021 +--- + +* Reorganized the "List network interfaces" and "List + printer devices" dialogs (under the "Help" menu) to + allow the use of scroll bars. (Wengier) +* Added menu option "Reset TTF color scheme" to reset + the current color scheme for TTF output. (Wengier) +* Added config option "righttoleft" in [TTF] section + which when set to "true" will cause DOSBox-X to + display text from right to left (instead of left to + right) for the TTF output. It can also be toggled + from the menu ("Video" => "TTF options" => "Display + text from right to left"). (Wengier) +* Added config option "vga fill active memory" which + when set to "true" will fill inactive video memory + regions with RAM rather than mapping them as empty. + This allows the ETen Chinese DOS system (倚天中文系統) + 3.5/2000 (e.g. ET16V and ET24VA) to run. (Wengier) +* Added config option "middle_unlock" ([sdl] section) + to control whether to unlock the mouse with middle + mouse button click. (Wengier) +* Added config option "dosvfunc" in [ttf] section to + support DOS/V applications when country information + is set to Japan in TTF output. (nanshiki) +* Added "VTEXT" command to view or change the current + V-text mode for the DOS/V emulation. Also improved + the font support for 24-pixel font DOS/V mode, such + as supporting HZK24? fonts for Simplified Chinese + DOS/V mode and STDFONT.24 from ETen Chinese system + for Traditional Chinese DOS/V mode. If a Chinese + font is specified via "fontxdbcs", "fontxdbcs14" or + "fontxdbcs24" options, it will be loaded before + system font even with "getsysfont=true". (Wengier) +* Commands like 80x25, 80x43, ... now use internal + function for better compatibility with the TrueType + font (TTF) output. (Wengier) +* MODE command without a parameter will now print the + current lines/columns instead of usage. (Wengier) +* INTVEC debugger command now correctly outputs + addresses when in protected mode. (Allofich) +* Fix horizontal lines in the debugger window being + rendered as unrelated characters in some code + pages. (Allofich) +* INT 21 AX=4B03 now sets AX to 0000 like MS-DOS + does. Fixes missing music in "聊齋誌異之幽谷傳奇" + (Liáozhāi zhì yì zhī yōugǔ chuánqí) (Allofich) +* Use 0x1E to 0x3E for the keyboard buffer of the CGA + machine, which fixes the controls locking up in the + PC booter version of Apple Panic. (Allofich) +* Allowed machine types "pcjr_composite" and + "pcjr_composite2", similar to "cga_composite" and + "cga_composite2", instead of having to switch the + composite type manually. (Wengier) +* If machine is PCjr, place PC BIOS reset code at + F000:0043 to match that of the real BIOS. +* Fix PCjr NMI handler to load DS with segment 0x0040. + Fixes crashes in SHAMUS. (Allofich) +* Fix PCjr NMI handler to use 8086-level instructions + when loading DS with segment 0x0040 so that it + works properly with cputype=8086. +* Remove useless check for signed divide quotient + of 0x80/0x8000/etc. (the result was -0x80/0x8000/etc + anyway. Add code to check specifically for these + values after signed divide if cputype=8086 and + trigger divide overflow exception, to match behavior + described for the 8086 processor. +* Modify exception handling so that for cputype=8086 + the return address for an exception handler points + at instruction after fault location. +* Fix IDIV instruction incorrectly raising a divide + error exception for some borderline values. Fixes + Microsoft Flight Simulator. (Allofich) +* IBM PC BIOS emulation fixed to place key pieces of + code and entry points at fixed legacy locations + required by some older DOS games, instead of + by dynamic allocation. Added code to BIOS allocation + to reserve F000:E000 or higher for fixed allocation + and force dynamic allocation below that address to + prevent further conflicts should others submit + pull requests for additional fixed locations. This + fixes some games like "聊齋誌異之幽谷傳奇" (Liáozhāi + zhì yì zhī yōugǔ chuánqí) which appear to assume + some of these fixed BIOS addresses and will + crash if they are wrong. +* Added tool EMSMAGIC.COM as alternative EMS manager, + which can be dynamically installed or uninstalled + with the setting ems=false. (Wengier) +* If a program is provided in the command-line when + launching DOSBox-X, it will now be executed after + any commands in the [autoexec] section by default. + A command-line option "-prerun" is added to force + the program run before any commands in [autoexec] + section like before. (Wengier) +* Added auto-detection for single-wide DBCS-encoded + characters for the TTF output (non-PC98). (Wengier) +* Improved the menu option "Restart DOSBox-X with + language file..." (under "Main") for switching + between DBCS languages. (Wengier) +* Disabled the Alt+F4 key for closing the DOSBox-X + window in MinGW SDL2 builds. (Wengier) +* Fixed program or config file containing Unicode + characters passed from command-line when launching + DOSBox-X in Windows SDL2 builds. (Wengier) +* Fixed issue with DELETE key in PC-98 mode. (Wengier) +* Fixed COLORS config option (in [ttf] section) not + working in the previous version. (Wengier) +* Fixed issues after resetting the virtual machine + when using DBCS language files. (Wengier) +* Fixed some issues related to system IME support for + CJK (Chinese/Japanese/Korean) languages, for both + Windows SDL1 and SDL2 builds. (nanshiki & Wengier) +* Fixed bugs in the region memory allocator C++ class + that claimed the entire free block even if the + size wanted was smaller. Added field to remember if + the allocated block was allocated for fixed or + dynamically allocated memory. Cleaned up allocator + code and removed redundancy. +* Fix SELINFO command not showing output correctly + in the debugger window. (Allofich) +* Better CMOS register B and C emulation. (Allofich) +* Integrated commits from mainline (Allofich) + - Support for DMF floppy disk images. + - Zero-out DX in EXEC overlay command. + - Improve stack check for wrap-around cases. Change to misc_output for SVGA_S3Trio. \ No newline at end of file diff --git a/_release_notes/0.83.20.md b/_release_notes/0.83.20.md index 5fe9f1d93a9..1ee5961dadc 100644 --- a/_release_notes/0.83.20.md +++ b/_release_notes/0.83.20.md @@ -1,310 +1,311 @@ ---- -date: November 30, 2021 ---- - - -## 1. Notable New Features - -* **Support for Pentium II CPU type and other CPU improvements** - - The Pentium 2 CPU type is now supported in DOSBox-X! It is the fastest CPU type currently supported, and you can set "cputype=pentium_ii" (or check the option in the "CPU" menu) to enable it. Some Pentium 2 level CPU types (such as AMD K6 200 MHz and AMD K6-2 300 MHz) are now added to the "Emulate CPU speed" menu group. There are also improvements in other CPU types, from 8086 to Pentium MMX. - -* **Support for DCGA and Toshiba J-3100 system types** - - DCGA is the video mode used by the Olivetti M24, AT&T 6300 and Toshiba T3100, which is now supported. There is a DCGA command to enter this mode from any VGA mode. Also, the Japanese J-3100 system type is supported, and you can enable it by setting "dosv=jp" and "j3100=on" (or "dosv=jp" and "j3100=manual" and then use DCGA command to enter it manually). Enter the VGA command to go back to the standard mode. - -* **Support for changing serial and parallel port options at run-time** - - You can now view or change the settings of serial and parallel ports (COM1-COM9, LPT1-LPT9) while DOSBox-X is running via the new SERIAL and PARALLEL commands. Enter the command without a parameter to view the current port settings, or specify a port number to change its setting. Type "SERIAL /?" and "PARALLEL /?" and the [serial] and [parallel] sections of the config file for more information about using these commands. Commands like "config -set serial?=..." and "config -set parallel?=..." will also call these two commands automatically. - -* **Added new DOS commands: COMP, DISKCOPY, EDLIN, FC, FILES, PRINT, SHUTDOWN** - - Most of these commands are standard DOS commands in some DOS versions, which are now supported in DOSBox-X's internal DOS shell. For example, you can enter "PRINT filename" to send the specified file to the printing device. SHUTDOWN command can be used to restart or shut down DOS, and it makes use of the APM support supported by DOSBox-X. - -* **Much improved support for swapping disks/CDs (from either menu or command-line)** - - The functions for swapping disks/CDs are much improved in this version, including support for changing floppy images with drive number (0 or 1) only, improved support for changing CD images while a Windows 9x guest system is running, as well as a new IMGSWAP command to swap disk/CD images. For the IMGSWAP command, you can for example enter the command "IMGSWAP D" to swap D: drive to the next swap position, and "IMGSWAP A 3" to swap A: drive to the 3nd swap position. - -* **Much improved DBCS support for Chinese/Japanese/Korean languages** - - Support for Chinese/Japanese/Korean languages once again saw significant improvements, such as much improved auto-detection of box-drawing characters, support for ChinaSea (中國海字集) and Big5-2003 extension of the original Big5-1984 charset for Traditional Chinese TTF output (set "chinasea=true" in [ttf] section, or toggle it from menu), support for selecting files containing CJK characters in the file browse dialog boxes, and so on. Thanks for the feedbacks from Chinese- and Japanese-speaking users. - -* **Improved support for Direct3D pixel shaders** - - You can now load more Direct3D pixel shaders from the menu when using the Direct3D output. DOSBox-X will now display a confirmation message while trying to load a Direct3D pixel shader which may not be needed or may have undesired effect, and several Direct3D pixel shaders (such as GS2x.fx, CRT-geom-blend.fx and CRT-geom-curved.fx) are fixed to work in DOSBox-X's Direct3D output. - -* **Improved support for running guest systems** - - Support for running guest systems have been improved, including both DOS guest systems and a non-DOS guest OS like Windows NT. For example, code is added to further ensure DOS kernel resources are unmounted and deallocated before booting a guest OS, and the INT 13h AH=16h call is added to detect disk change. You can also boot into a DOS guest system when DOS/V is enabled. - -* **Support for unit testing based on Google Test framework** - - For developers, unit tests based on the Google Test framework (using gTest and gMock) are supported to ensure code stability. There is a command-line option "-tests" of the DOSBox-X executable to launch the unit tests. Please feel free to add more unit tests to the code to test more aspects of the emulator. - -## 2. Notable Usability Improvements - -* **TrueType font selection page in Windows installer to select a default font for TTF output** - - There is now a TrueType font selection page in the Windows installer for new DOSBox-X installations, allowing users to select a TTF/TTC/OTF font for the TrueType font output when it is enabled. TTF fonts including the Sarasa Gothic, Consolas, Courier New, and Nouveau IBM fonts can be selected directly, or you can also use a custom TTF/TTC/OTF font for DOSBox-X's TrueType font output. - -* **Message boxes to display saved file names for screenshots and audio recording** - - For screenshot and MIDI/OPL recording, DOSBox-X will now display a message box showing the saved file name when the recording has been completed, in case the user wants to know where the recording has been saved. The full file paths will also be recorded in the DOSBox-X logging file. - -
  • **Confirmation message for incompatible code pages for the selected emulated system** - - DOSBox-X will now show a confirmation message if DOS/V or Japanese PC-98/AX machine type is selected, but a language file with an incompatible code page is specified. The user can choose to use the default messages (or load a different message file) in this case to ensure the text will be displayed correctly for the selected emulated system. -
  • - -* **Allows to display the current mouse capture status with CAPMOUSE command** - - The CAPMOUSE command without a parameter now shows the current status of the mouse capture, so that you can check whether the mouse is currently captured/released with a command. - -* **Allows to automatically restart DOSBox-X to apply new settings** - - Improvements are made to the CONFIG -set command so that when an option cannot changed at run-time, DOSBox-X may ask whether to restart itself to apply the new setting. The "machine" option for changing the emulated machine type is such an example. Also, options provided in the command "config -set" are now case-insensitive as in DOS. - -* **Allows to disable the rounded window corners in Windows 11** - - DOSBox-X is now adding support for Windows 11, and its rounded window corners will be disabled by default in favor of sqaure window corners for the emulator. You can disable the square corner enforcement with the config option "forcesquarecorner" in [sdl] section of the DOSBox-X configuration. - -* **Allows to auto-mount individual drives silently on Windows** - - You can now let DOSBox-X automatically mount individual Windows drives as DOSBox-X drives silently, by setting "mountwarning = false" in [dos] section of the DOSBox-X configuration. Any warning messages will be silenced when you try to switch the DOS drive (e.g. D:) within DOSBox-X in such case. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, such as fixing issues that had occurred in the previous release (such as display glitches in the game "Continuing adventures of Cyberbox" and a bug which may lead to crash when trying to print documents), as well as other improvements (such as improved PC-98 emulation and separate floppy/hard drive I/O delays) to make DOSBox-X work better. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* Implemented support for Pentium II cputype (with - the setting "cputype=pentium_ii" in [cpu] section), - and added Pentium II SYSENTER/SYSEXIT instructions - to normal core and debugger disassembler. The two - instructions are supported for Pentium II cputype. - CPUID for Pentium II will now report stepping 3 and - model 3 which is a minimum requirement for OSes to - attempt to use SYSENTER/SYSEXIT. Silencing for - RDMSR/WRMSR and SYSENTER/SYSEXIT debug messages is - removed while CPU "debug spew" is silenced by - default. MSRs related to Intel microcode are added - because both Linux and Windows ME probe those MSRs - if Pentium II emulation reports stepping 3 model 3. - The microcode MSRs are silently ignored. Moreover, - the MSR register 0x0000001B has been added to - Pentium II emulation. DOSBox-X does not emulate a - local APIC but Windows ME assumes that MSR is - present and reads/writes it on startup if DOSBox-X - reports itself as a Pentium II. (joncampbell123) -* Added support for DCGA and Toshiba J-3100 emulation - modes by importing code from DOSVAXJ3 by nanshiki. - The J-3100 emulation mode can be enabled with the - option "dosv=jp" along with a non-off setting of - "j3100" option in [dosv] section. For example, with - "j3100=on" or "j3100=auto" (and "dosv=jp") J-3100 - system will be enabled and activated at start. With - "j3100=manual" (and "dosv=jp") J-3100 system will - be enabled and not activated at start, but there is - now a DCGA command to enter DCGA (either English or - J-3100 DCGA, depending on if J-3100 is enabled) - mode from other video modes. (nanshiki & Wengier) -* Added support for unit tests based on Google Test - framework (gTest/gMock) to ensure code stability. - Unit tests can be started with command-line option - "-tests" in the debug builds. Some unit tests are - ported from DOSBox Staging. (Wengier) -* Added SERIAL and PARALLEL commands to view/change - the current configuration of serial/parallel ports. - Type "SERIAL /?" and "PARALLEL /?" for further info - about the two commands. Commands like "config -set - serial?=..." and "config -set parallel?=..." will - also auto-call these commands. (sduensin & Wengier) -* Added IMGSWAP command to swap disks for drives. - e.g. "IMGSWAP D" to swap C: drive to the next swap - position, and "IMGSWAP A 3" to swap A: drive to - the 3nd swap position. (Wengier) -* Added DOS commands including COMP, DISKCOPY, EDLIN, - FC, FILES, PRINT, and SHUTDOWN (most from FreeDOS) - to the built-in Z: drive. Updated or recompiled - EDIT and EDLIN commands to support LFNs. (Wengier) -* The CAPMOUSE command without a parameter now shows - whether the mouse is captured/released. (Wengier) -* The command "config -set" is now case-insensitive - for property names. Also, if an option cannot be - changed at run-time, DOSBox-X will ask whether to - restart itself to apply the new setting. (Wengier) -* Do not read real-mode data areas from mouse event - handling if running a protected mode guest OS like - Windows NT, and disable INT 33h functions when DOS - kernel is shut down to boot into a guest OS. Moving - mouse while Windows NT is running should no longer - cause page faults and crashes. (joncampbell123) -* The setting "mountwarning = false" will now silence - more warning messages during mounting. (Wengier) -* The code page setting of "country" option will now - be ignored for PC-98, JEGA and DOS/V modes. These - modes will enforce the desired code page. (Wengier) -* Added support for loading the ASC16/ASCFONT.15/ - ASC24/ASCFONT.24? font files from the UCDOS/ETen - Chinese DOS systems for the options "fontxsbcs", - "fontxsbcs16" and "fontxdbcs24" in [dosv] section - of the config file for DOS/V systems. (Wengier) -* Improved auto-detection of box-drawing characters - when using DBCS code pages. (Wengier) -* Applied UTF-8 conversions to file browse dialog - boxes for selecting files containing Unicode - characters (e.g. CJK characters). (Wengier) -* For screenshot and MIDI/OPL recording, DOSBox-X - will now display a message box showing the saved - file name when the recording has been completed. - The full paths will also be logged. (Wengier) -* Added confirmation message while trying to load a - Direct3D pixel shader which may not be needed or - may have undesired effect. (Wengier) -* Added warning message if DOS/V or Japanese PC-98/AX - machine type is selected and a language file with - an incompatible code page is specified. (Wengier) -* Added "AMD K6 166 MHz", "AMD K6 200 MHz" and "AMD - K6-2 300 MHz" menu options within the menu group - "Emulate CPU speed" (under "CPU"). (Wengier) -* Added a TrueType font selection page into Windows - installer, which will show when TrueType font (TTF) - output is selected for new installations. (Wengier) -* Added MMX instruction PSHUFW and added typecasts - to some MMX instructions in case compilers cannot - properly shift uint64_t by uint8_t otherwise. Most - Pentium-level MMX instructions (such as MOVD, MOVQ, - and EMMS) are added to the debugger disassembler - and support for the disassembler to represent MMX - registers. (joncampbell123) -* Added code to normal core to flush paging TLB - whenever handing a non-recursive guest page fault. - The guest OS will likely update the page tables - to resolve the fault. The Linux kernel will - constantly get "stuck" whenever you run a command - without this change. (joncampbell123) -* Added code to make sure DOS kernel drives and drive - letters have been unmounted and deallocated before - booting a guest OS or shutting down DOSBox-X - (joncampbell123). -* Added ability to change floppy images with drive - number (0 or 1) only. (Wengier) -* Added INT 13h AH=16h, detect disk change. This can - be controlled by config option "int 13 disk change - detect" (in [dos] section) in case any older OS can - not handle it. INT 13h AH=15h will report a floppy - drive with change line support if enabled. MS-DOS - seems to work just fine with it. (joncampbell123) -* Added menu item "Enable extended Chinese character - set" in "Video" => "TTF options" to toggle setting - for the Simplified Chinese (GBK extension) and - Traditional Chinese (ChinaSea extension). (Wengier) -* Added config option "chinasea" (in [ttf] section) - which when set to "true" allows ChinaSea (中國海字集) - and Big5-2003 extension of the original Big5-1984 - charset for Traditional Chinese TTF output. This - requires the use of a TTF/OTF font containing such - extended characters to correctly render them; the - included SarasaGothicFixed TTF font is updated to - support such characters.Certain Traditional Chinese - DOS software like the Hyper Editor 5.03 (漢書5) makes - use of ChinaSea characters. Also moved "gbk" config - option from [dosv] to [ttf] section. (Wengier) -* Added config option "forcesquarecorner" (in [sdl] - section) which when set to "true" will force to - disable rounded corners on Windows 11. (Wengier) -* Added code to INT 18h emulation (IBM PC mode) to - jump to ROM BASIC if the user provided an IBM - ROM BASIC image to load. (joncampbell123) -* Added config option "ibm rom basic" in [dosbox] - section which allows users to load a ROM image - containing IBM PC ROM BASIC, for disk images - and MS-DOS setups that need it. (joncampbell123) -* Added stub IBM ROM BASIC points in the BIOS area - so that when BASIC(A).COM from MS-DOS 1.x and 2.x - are run, a polite message is displayed instead of - invalid code and crashes. (joncampbell123) -* 8086 and 80186 CPU types no longer check segment - limits. (joncampbell123 & Allofich) -* Put in undocumented behavior in opcode 0x8e for - 8086 and 80186. (Allofich) -* Made 8086 treat opcodes C0,C1,C8,C9,F1 as aliases - of C2,C3,CA,CB,F0, and opcodes 0x60-0x6F as aliases - of opcodes 0x70-0x7F. (Allofich) -* Adjusted multiple-prefix bug for 8086/286 to only - apply when REP or REPZ is used. (Allofich) -* Fixed 0x0F opcode being valid on 80186 core when - it should be invalid. (Allofich) -* Fixed CGA modes to always use a character height - of 8, rather than reading it from address 485h. - Fixes corrupt graphics in the PC Booter version - of Apple Panic. (Allofich) -* Fixed underflow when INT 13 AH=2 called for - sector 0. (Allofich) -* Fixed infinite loop when trying to run a 32-bit - program with the 8086 CPU type. (Allofich) -* Fixed INT 13h emulation to no longer call the DOS - kernel "DriveManager" if the DOS kernel has been - shutdown. This fixes memory corruption issues in - the guest OS system run by the BOOT command that - can occur when the "swap disks" command is used in - the emulator. (joncampbell123) -* Fixed DTA memory leak from FAT driver if FAT drive - was mounted when booting into a guest OS. (joncampbell123) -* Fixed a crash on unmount that occurs if IMGMOUNT - is used to mount multiple floppy disk images to - a drive letter. (joncampbell123) -* Fixed possible crash with printing. (jamesbond3142) -* Fixed possible freeze when shutting down Windows 9x - after changing a CD image from the menu. (Wengier) -* Fixed the default U.S. keyboard layout for the - HX-DOS build. (Wengier) -* Fixed copying full-screen or multi-line text from a - DBCS codepage in TTF output or PC98 mode. (Wengier) -* Fixed possible crash at start with getsysfont=true - when a font may not be obtained on some Chinese - Windows systems. (Wengier) -* Fixed TTF color issue with some DOS GUI programs by - initializing the color scheme when with default - COLORS= setting in EGA or VGA mode. (Wengier) -* Fixed some Direct3D pixel shaders not working (such - as GS2x and CRT-geom-blend). (Wengier & depaljas) -* Fixed config option windowposition=x,y not working - in Linux/macOS SDL1 builds. (Wengier) -* Fixed copying files from the virtual drive Z: not - working when using the 4DOS shell. (Wengier) -* Fixed some issues in MORE command. (Wengier) -* Fixed "DIR>NUL" freeze/crash when only disk or CD - images are mounted. (nanshiki) -* Fixed BIOS screen when resetting the machine with a - non-TTF output and DOS/V mode enabled. (Wengier) -* Fixed the key `/~ not working when IME is enabled - on a non-Japanese keyboard. (Wengier) -* Fixed display glitches in the game "Continuing - adventures of Cyberbox". (Wengier) -* Fixed unusable joystick with config options like - joy1response1 set to certain values. (Baderian) -* Make memory B0000-B7FFF unmapped for the CGA - emulation. Fixes "Backgammon 5.0" detecting that - an MDA is also present when using CGA. (Allofich) -* Make floppy I/O delay separately configurable from - hard drive delay, and make it slower than before - by default. It is adjustable via the "floppy drive - data rate limit" config option. (Allofich) -* Always return bit 6 of port 61h as set for PC and as - clear for PCjr and Tandy. Allows Zaxxon to load in - PC mode. (Allofich) -* Video emulation for PC-98 mode (for 400-line modes) - is now 16:10 instead of 4:3. 480-line PC-98 modes - are still 4:3. (joncampbell123) -* PC-98 EGC emulation: Add generic ope_xx handler for - the remaining block of undefined/undocumented EGC - ROPs. This fixes "Atomic Punker" which uses EGC ROP - 0xBE for sprite rendering. (joncampbell123) -* Don't run mouse setup code if there is no emulated - mouse. (Allofich) -* Integrated commits from mainline (Allofich) - - Add proper opl3 handling of the waveform select - to dbopl. +--- +slug: 0.83.20 +date: November 30, 2021 +--- + + +## 1. Notable New Features + +* **Support for Pentium II CPU type and other CPU improvements** + + The Pentium 2 CPU type is now supported in DOSBox-X! It is the fastest CPU type currently supported, and you can set "cputype=pentium_ii" (or check the option in the "CPU" menu) to enable it. Some Pentium 2 level CPU types (such as AMD K6 200 MHz and AMD K6-2 300 MHz) are now added to the "Emulate CPU speed" menu group. There are also improvements in other CPU types, from 8086 to Pentium MMX. + +* **Support for DCGA and Toshiba J-3100 system types** + + DCGA is the video mode used by the Olivetti M24, AT&T 6300 and Toshiba T3100, which is now supported. There is a DCGA command to enter this mode from any VGA mode. Also, the Japanese J-3100 system type is supported, and you can enable it by setting "dosv=jp" and "j3100=on" (or "dosv=jp" and "j3100=manual" and then use DCGA command to enter it manually). Enter the VGA command to go back to the standard mode. + +* **Support for changing serial and parallel port options at run-time** + + You can now view or change the settings of serial and parallel ports (COM1-COM9, LPT1-LPT9) while DOSBox-X is running via the new SERIAL and PARALLEL commands. Enter the command without a parameter to view the current port settings, or specify a port number to change its setting. Type "SERIAL /?" and "PARALLEL /?" and the [serial] and [parallel] sections of the config file for more information about using these commands. Commands like "config -set serial?=..." and "config -set parallel?=..." will also call these two commands automatically. + +* **Added new DOS commands: COMP, DISKCOPY, EDLIN, FC, FILES, PRINT, SHUTDOWN** + + Most of these commands are standard DOS commands in some DOS versions, which are now supported in DOSBox-X's internal DOS shell. For example, you can enter "PRINT filename" to send the specified file to the printing device. SHUTDOWN command can be used to restart or shut down DOS, and it makes use of the APM support supported by DOSBox-X. + +* **Much improved support for swapping disks/CDs (from either menu or command-line)** + + The functions for swapping disks/CDs are much improved in this version, including support for changing floppy images with drive number (0 or 1) only, improved support for changing CD images while a Windows 9x guest system is running, as well as a new IMGSWAP command to swap disk/CD images. For the IMGSWAP command, you can for example enter the command "IMGSWAP D" to swap D: drive to the next swap position, and "IMGSWAP A 3" to swap A: drive to the 3nd swap position. + +* **Much improved DBCS support for Chinese/Japanese/Korean languages** + + Support for Chinese/Japanese/Korean languages once again saw significant improvements, such as much improved auto-detection of box-drawing characters, support for ChinaSea (中國海字集) and Big5-2003 extension of the original Big5-1984 charset for Traditional Chinese TTF output (set "chinasea=true" in [ttf] section, or toggle it from menu), support for selecting files containing CJK characters in the file browse dialog boxes, and so on. Thanks for the feedbacks from Chinese- and Japanese-speaking users. + +* **Improved support for Direct3D pixel shaders** + + You can now load more Direct3D pixel shaders from the menu when using the Direct3D output. DOSBox-X will now display a confirmation message while trying to load a Direct3D pixel shader which may not be needed or may have undesired effect, and several Direct3D pixel shaders (such as GS2x.fx, CRT-geom-blend.fx and CRT-geom-curved.fx) are fixed to work in DOSBox-X's Direct3D output. + +* **Improved support for running guest systems** + + Support for running guest systems have been improved, including both DOS guest systems and a non-DOS guest OS like Windows NT. For example, code is added to further ensure DOS kernel resources are unmounted and deallocated before booting a guest OS, and the INT 13h AH=16h call is added to detect disk change. You can also boot into a DOS guest system when DOS/V is enabled. + +* **Support for unit testing based on Google Test framework** + + For developers, unit tests based on the Google Test framework (using gTest and gMock) are supported to ensure code stability. There is a command-line option "-tests" of the DOSBox-X executable to launch the unit tests. Please feel free to add more unit tests to the code to test more aspects of the emulator. + +## 2. Notable Usability Improvements + +* **TrueType font selection page in Windows installer to select a default font for TTF output** + + There is now a TrueType font selection page in the Windows installer for new DOSBox-X installations, allowing users to select a TTF/TTC/OTF font for the TrueType font output when it is enabled. TTF fonts including the Sarasa Gothic, Consolas, Courier New, and Nouveau IBM fonts can be selected directly, or you can also use a custom TTF/TTC/OTF font for DOSBox-X's TrueType font output. + +* **Message boxes to display saved file names for screenshots and audio recording** + + For screenshot and MIDI/OPL recording, DOSBox-X will now display a message box showing the saved file name when the recording has been completed, in case the user wants to know where the recording has been saved. The full file paths will also be recorded in the DOSBox-X logging file. + +
  • **Confirmation message for incompatible code pages for the selected emulated system** + + DOSBox-X will now show a confirmation message if DOS/V or Japanese PC-98/AX machine type is selected, but a language file with an incompatible code page is specified. The user can choose to use the default messages (or load a different message file) in this case to ensure the text will be displayed correctly for the selected emulated system. +
  • + +* **Allows to display the current mouse capture status with CAPMOUSE command** + + The CAPMOUSE command without a parameter now shows the current status of the mouse capture, so that you can check whether the mouse is currently captured/released with a command. + +* **Allows to automatically restart DOSBox-X to apply new settings** + + Improvements are made to the CONFIG -set command so that when an option cannot changed at run-time, DOSBox-X may ask whether to restart itself to apply the new setting. The "machine" option for changing the emulated machine type is such an example. Also, options provided in the command "config -set" are now case-insensitive as in DOS. + +* **Allows to disable the rounded window corners in Windows 11** + + DOSBox-X is now adding support for Windows 11, and its rounded window corners will be disabled by default in favor of sqaure window corners for the emulator. You can disable the square corner enforcement with the config option "forcesquarecorner" in [sdl] section of the DOSBox-X configuration. + +* **Allows to auto-mount individual drives silently on Windows** + + You can now let DOSBox-X automatically mount individual Windows drives as DOSBox-X drives silently, by setting "mountwarning = false" in [dos] section of the DOSBox-X configuration. Any warning messages will be silenced when you try to switch the DOS drive (e.g. D:) within DOSBox-X in such case. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, such as fixing issues that had occurred in the previous release (such as display glitches in the game "Continuing adventures of Cyberbox" and a bug which may lead to crash when trying to print documents), as well as other improvements (such as improved PC-98 emulation and separate floppy/hard drive I/O delays) to make DOSBox-X work better. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* Implemented support for Pentium II cputype (with + the setting "cputype=pentium_ii" in [cpu] section), + and added Pentium II SYSENTER/SYSEXIT instructions + to normal core and debugger disassembler. The two + instructions are supported for Pentium II cputype. + CPUID for Pentium II will now report stepping 3 and + model 3 which is a minimum requirement for OSes to + attempt to use SYSENTER/SYSEXIT. Silencing for + RDMSR/WRMSR and SYSENTER/SYSEXIT debug messages is + removed while CPU "debug spew" is silenced by + default. MSRs related to Intel microcode are added + because both Linux and Windows ME probe those MSRs + if Pentium II emulation reports stepping 3 model 3. + The microcode MSRs are silently ignored. Moreover, + the MSR register 0x0000001B has been added to + Pentium II emulation. DOSBox-X does not emulate a + local APIC but Windows ME assumes that MSR is + present and reads/writes it on startup if DOSBox-X + reports itself as a Pentium II. (joncampbell123) +* Added support for DCGA and Toshiba J-3100 emulation + modes by importing code from DOSVAXJ3 by nanshiki. + The J-3100 emulation mode can be enabled with the + option "dosv=jp" along with a non-off setting of + "j3100" option in [dosv] section. For example, with + "j3100=on" or "j3100=auto" (and "dosv=jp") J-3100 + system will be enabled and activated at start. With + "j3100=manual" (and "dosv=jp") J-3100 system will + be enabled and not activated at start, but there is + now a DCGA command to enter DCGA (either English or + J-3100 DCGA, depending on if J-3100 is enabled) + mode from other video modes. (nanshiki & Wengier) +* Added support for unit tests based on Google Test + framework (gTest/gMock) to ensure code stability. + Unit tests can be started with command-line option + "-tests" in the debug builds. Some unit tests are + ported from DOSBox Staging. (Wengier) +* Added SERIAL and PARALLEL commands to view/change + the current configuration of serial/parallel ports. + Type "SERIAL /?" and "PARALLEL /?" for further info + about the two commands. Commands like "config -set + serial?=..." and "config -set parallel?=..." will + also auto-call these commands. (sduensin & Wengier) +* Added IMGSWAP command to swap disks for drives. + e.g. "IMGSWAP D" to swap C: drive to the next swap + position, and "IMGSWAP A 3" to swap A: drive to + the 3nd swap position. (Wengier) +* Added DOS commands including COMP, DISKCOPY, EDLIN, + FC, FILES, PRINT, and SHUTDOWN (most from FreeDOS) + to the built-in Z: drive. Updated or recompiled + EDIT and EDLIN commands to support LFNs. (Wengier) +* The CAPMOUSE command without a parameter now shows + whether the mouse is captured/released. (Wengier) +* The command "config -set" is now case-insensitive + for property names. Also, if an option cannot be + changed at run-time, DOSBox-X will ask whether to + restart itself to apply the new setting. (Wengier) +* Do not read real-mode data areas from mouse event + handling if running a protected mode guest OS like + Windows NT, and disable INT 33h functions when DOS + kernel is shut down to boot into a guest OS. Moving + mouse while Windows NT is running should no longer + cause page faults and crashes. (joncampbell123) +* The setting "mountwarning = false" will now silence + more warning messages during mounting. (Wengier) +* The code page setting of "country" option will now + be ignored for PC-98, JEGA and DOS/V modes. These + modes will enforce the desired code page. (Wengier) +* Added support for loading the ASC16/ASCFONT.15/ + ASC24/ASCFONT.24? font files from the UCDOS/ETen + Chinese DOS systems for the options "fontxsbcs", + "fontxsbcs16" and "fontxdbcs24" in [dosv] section + of the config file for DOS/V systems. (Wengier) +* Improved auto-detection of box-drawing characters + when using DBCS code pages. (Wengier) +* Applied UTF-8 conversions to file browse dialog + boxes for selecting files containing Unicode + characters (e.g. CJK characters). (Wengier) +* For screenshot and MIDI/OPL recording, DOSBox-X + will now display a message box showing the saved + file name when the recording has been completed. + The full paths will also be logged. (Wengier) +* Added confirmation message while trying to load a + Direct3D pixel shader which may not be needed or + may have undesired effect. (Wengier) +* Added warning message if DOS/V or Japanese PC-98/AX + machine type is selected and a language file with + an incompatible code page is specified. (Wengier) +* Added "AMD K6 166 MHz", "AMD K6 200 MHz" and "AMD + K6-2 300 MHz" menu options within the menu group + "Emulate CPU speed" (under "CPU"). (Wengier) +* Added a TrueType font selection page into Windows + installer, which will show when TrueType font (TTF) + output is selected for new installations. (Wengier) +* Added MMX instruction PSHUFW and added typecasts + to some MMX instructions in case compilers cannot + properly shift uint64_t by uint8_t otherwise. Most + Pentium-level MMX instructions (such as MOVD, MOVQ, + and EMMS) are added to the debugger disassembler + and support for the disassembler to represent MMX + registers. (joncampbell123) +* Added code to normal core to flush paging TLB + whenever handing a non-recursive guest page fault. + The guest OS will likely update the page tables + to resolve the fault. The Linux kernel will + constantly get "stuck" whenever you run a command + without this change. (joncampbell123) +* Added code to make sure DOS kernel drives and drive + letters have been unmounted and deallocated before + booting a guest OS or shutting down DOSBox-X + (joncampbell123). +* Added ability to change floppy images with drive + number (0 or 1) only. (Wengier) +* Added INT 13h AH=16h, detect disk change. This can + be controlled by config option "int 13 disk change + detect" (in [dos] section) in case any older OS can + not handle it. INT 13h AH=15h will report a floppy + drive with change line support if enabled. MS-DOS + seems to work just fine with it. (joncampbell123) +* Added menu item "Enable extended Chinese character + set" in "Video" => "TTF options" to toggle setting + for the Simplified Chinese (GBK extension) and + Traditional Chinese (ChinaSea extension). (Wengier) +* Added config option "chinasea" (in [ttf] section) + which when set to "true" allows ChinaSea (中國海字集) + and Big5-2003 extension of the original Big5-1984 + charset for Traditional Chinese TTF output. This + requires the use of a TTF/OTF font containing such + extended characters to correctly render them; the + included SarasaGothicFixed TTF font is updated to + support such characters.Certain Traditional Chinese + DOS software like the Hyper Editor 5.03 (漢書5) makes + use of ChinaSea characters. Also moved "gbk" config + option from [dosv] to [ttf] section. (Wengier) +* Added config option "forcesquarecorner" (in [sdl] + section) which when set to "true" will force to + disable rounded corners on Windows 11. (Wengier) +* Added code to INT 18h emulation (IBM PC mode) to + jump to ROM BASIC if the user provided an IBM + ROM BASIC image to load. (joncampbell123) +* Added config option "ibm rom basic" in [dosbox] + section which allows users to load a ROM image + containing IBM PC ROM BASIC, for disk images + and MS-DOS setups that need it. (joncampbell123) +* Added stub IBM ROM BASIC points in the BIOS area + so that when BASIC(A).COM from MS-DOS 1.x and 2.x + are run, a polite message is displayed instead of + invalid code and crashes. (joncampbell123) +* 8086 and 80186 CPU types no longer check segment + limits. (joncampbell123 & Allofich) +* Put in undocumented behavior in opcode 0x8e for + 8086 and 80186. (Allofich) +* Made 8086 treat opcodes C0,C1,C8,C9,F1 as aliases + of C2,C3,CA,CB,F0, and opcodes 0x60-0x6F as aliases + of opcodes 0x70-0x7F. (Allofich) +* Adjusted multiple-prefix bug for 8086/286 to only + apply when REP or REPZ is used. (Allofich) +* Fixed 0x0F opcode being valid on 80186 core when + it should be invalid. (Allofich) +* Fixed CGA modes to always use a character height + of 8, rather than reading it from address 485h. + Fixes corrupt graphics in the PC Booter version + of Apple Panic. (Allofich) +* Fixed underflow when INT 13 AH=2 called for + sector 0. (Allofich) +* Fixed infinite loop when trying to run a 32-bit + program with the 8086 CPU type. (Allofich) +* Fixed INT 13h emulation to no longer call the DOS + kernel "DriveManager" if the DOS kernel has been + shutdown. This fixes memory corruption issues in + the guest OS system run by the BOOT command that + can occur when the "swap disks" command is used in + the emulator. (joncampbell123) +* Fixed DTA memory leak from FAT driver if FAT drive + was mounted when booting into a guest OS. (joncampbell123) +* Fixed a crash on unmount that occurs if IMGMOUNT + is used to mount multiple floppy disk images to + a drive letter. (joncampbell123) +* Fixed possible crash with printing. (jamesbond3142) +* Fixed possible freeze when shutting down Windows 9x + after changing a CD image from the menu. (Wengier) +* Fixed the default U.S. keyboard layout for the + HX-DOS build. (Wengier) +* Fixed copying full-screen or multi-line text from a + DBCS codepage in TTF output or PC98 mode. (Wengier) +* Fixed possible crash at start with getsysfont=true + when a font may not be obtained on some Chinese + Windows systems. (Wengier) +* Fixed TTF color issue with some DOS GUI programs by + initializing the color scheme when with default + COLORS= setting in EGA or VGA mode. (Wengier) +* Fixed some Direct3D pixel shaders not working (such + as GS2x and CRT-geom-blend). (Wengier & depaljas) +* Fixed config option windowposition=x,y not working + in Linux/macOS SDL1 builds. (Wengier) +* Fixed copying files from the virtual drive Z: not + working when using the 4DOS shell. (Wengier) +* Fixed some issues in MORE command. (Wengier) +* Fixed "DIR>NUL" freeze/crash when only disk or CD + images are mounted. (nanshiki) +* Fixed BIOS screen when resetting the machine with a + non-TTF output and DOS/V mode enabled. (Wengier) +* Fixed the key `/~ not working when IME is enabled + on a non-Japanese keyboard. (Wengier) +* Fixed display glitches in the game "Continuing + adventures of Cyberbox". (Wengier) +* Fixed unusable joystick with config options like + joy1response1 set to certain values. (Baderian) +* Make memory B0000-B7FFF unmapped for the CGA + emulation. Fixes "Backgammon 5.0" detecting that + an MDA is also present when using CGA. (Allofich) +* Make floppy I/O delay separately configurable from + hard drive delay, and make it slower than before + by default. It is adjustable via the "floppy drive + data rate limit" config option. (Allofich) +* Always return bit 6 of port 61h as set for PC and as + clear for PCjr and Tandy. Allows Zaxxon to load in + PC mode. (Allofich) +* Video emulation for PC-98 mode (for 400-line modes) + is now 16:10 instead of 4:3. 480-line PC-98 modes + are still 4:3. (joncampbell123) +* PC-98 EGC emulation: Add generic ope_xx handler for + the remaining block of undefined/undocumented EGC + ROPs. This fixes "Atomic Punker" which uses EGC ROP + 0xBE for sprite rendering. (joncampbell123) +* Don't run mouse setup code if there is no emulated + mouse. (Allofich) +* Integrated commits from mainline (Allofich) + - Add proper opl3 handling of the waveform select + to dbopl. - Correct disassembly of some FPU instructions. \ No newline at end of file diff --git a/_release_notes/0.83.21.md b/_release_notes/0.83.21.md index 177c128386d..d779e739828 100644 --- a/_release_notes/0.83.21.md +++ b/_release_notes/0.83.21.md @@ -1,238 +1,239 @@ ---- -date: December 31, 2021 ---- - -## 1. Notable New Features - -* **Support for viewing Unicode (UTF-8 or UTF-16) documents in the shell** - - DOSBox-X now supports UTF8 and UTF16 commands, which allow to convert UTF-8 and UTF-16 encoded text to view in the current code page, including both SBCS and DBCS code pages. For example, the command "UTF8 < UTF8TEXT.TXT" will output converted text UTF8TEXT.TXT in the current code page, and for UTF16 command there are optional /BE & /LE options to specify endianness. -* **Support for ENET reliable UDP for modem and null-modem emulation** - - The ENET reliable UDP is now supported as an option for modem and null-modem emulations. You can enable it with "sock:1" option for modems/null-modems that are connected with serial ports (COM1-COM9), such as "serial1=modem listenport:5000 sock:1" for COM1 to listen to port 5000 with reliable ENET UDP instead of TCP connection. -* **Support for port forwarding for NE2000 networking's Slirp backend** - - Port forwarding is now supported for the Slirp backend of the NE2000 networking feature. There are new config options "tcp_port_forwards" and "udp_port_forwards" in [ethernet, slirp] section for TCP and UDP port forwarding options. -* **Support for viewing or changing file extension associations** - - DOSBox-X now allows you to define a command or program to open a file with a specific file extension with ASSOC command, e.g. "assoc .txt=edit" to open .TXT files with the EDIT command when entering the .TXT file name from the DOS command line. Wildcards (* or ?) are also supported. -* **Support for more special properties for CONFIG command** - - CONFIG command now supports special properties including "cd", "date", "errorlevel", "random", "time", and "lastmount" so that commands like "CONFIG -GET cd" and "CONFIG -GET errorlevel" will get current DOS directory and ERRORLEVEL value. The returned value will also be saved to %CONFIG% variable. -* **Support for rescanning the internal virtual drive Z:** - - The internal Virtual Drive Z: can now be rescanned just like mounted local drives. Any changes to the "drivez" directory or code pages will now be reflected after a Z: drive rescan. -* **Support for providing command-line options for launching programs(s) at start** - - There is now a command-line option "-o" which allows you to provide command-line option(s) or arguments if programs(s) are specified to start when you launch DOSBox-X, e.g. dosbox-x program.exe -o "opt1 opt2" -* **Much improved DBCS support for Chinese/Japanese/Korean languages** - - DBCS support for Chinese/Japanese/Korean languages have been further improved in this version in various ways. For example, IME support for Chinese/Japanese/Korean languages has been improved; DBCS characters located in UNC network paths of the form `\\COMPUTER\FOLDER\FILEDOS` are supported; DOS commands like ATTRIB, ECHO, TYPE, MORE, and TRUENAME can now handle DBCS characters better; there is now also a hidden code page 951 for Big5-HKSCS encoding or Big5 Unicode-At-On (Big5-UAO) encoding. -* **Improved support for Windows for Workgroups 3.11 networking** - - Support for the Windows for Workgroups 3.11 networking has been improved in this version, so that you can fully utilize the networking feature of Windows for Workgroups 3.11 when running from the internal DOS shell. Be sure to execute the commands "DEVICE IFSHLP.SYS" and "NET START" before running WFW 3.11 from the shell so that its networking feature will work as expected. -* **Improved support for the save-state feature** - - The save-state feature saw further improvements in this version so that you can expect that saving and loading states to work more reliably than before. -* **Improved clipboard copy and paste support** - - The clipboard copy and paste has been improved for different code pages including box-drawing characters in DBCS code pages (including PC-98 mode). Also, for the Toshiba J-3100 mode, the selected text will now be highlighted when you try to select text for copying. - -## 2. Notable Usability Improvements - -* **Easier to use Configuration Tool** - - The usability for the Configuration Tool has been significantly improved in this version. A "..." button is added to properties which have limited numbers of values so that you can select a value in a new dialog box instead of manually typing them. Also, more settings will be applied immediately when modified from the Configuration Tool. -* **Allow to force scalers via message boxes** - - If a scaler as specified in the config may not work as expected and if not forced, DOSBox-X will show a message box asking whether to load the scaler instead of always silently ignoring it. -* **Allow to enter debugger command without opening the debugger** - - The "Enter Debugger Command" button is added to "DOSBox-X logging output" and "Code overview" windows (from Debug" menu") for users to enter debugger commands directly and see the result, without having to open the debugger. Also, debugger commands DATE and TIME are added to view or change DOSBox-X's internal date and time. -* **Allow to customize the handler for invalid DOS commands** - - You can now specify a custom error handler program before the error message "Bad command or file name" shows up in the DOS shell via config option "badcommandhandler" in [dos] section. For example, setting "badcommandhandler=start" allows to run the specified command in the host system when START command is enabled via "startcmd=true" option. -* **Allow to automatically stop Turbo mode with key inputs** - - DOSBox-X will now stop the Turbo (fast forward) mode when a keyboard input has been detected so that you can type keys properly by default. You can change this behavior via config option "stop turbo on key" in [cpu] section. -* **Allow to change most printer options at run-time** - - You can now change most config options in [printer] section of the configuration for the virtual printer with CONFIG -set commands, e.g. "CONFIG -set printoutput=png" to set the default printer output to PNG. -* **Allow Bash-shell completions on non-Windows systems** - - For Linux and macOS systems, support for Bash-shell completion for the DOSBox-X command-line is now supported in this version. -* **Improved flexibility to load Direct3D pixel shaders** - - For setting a Direct3D pixel shader via config option "pixelshader", DOSBox-X now allows a shader file name without the .fx extension, or a shader file in the current directory. -* **Ability to display or clear command-line history** - - There is now a HISTORY command which allows to display or clear command-line history for the internal DOS shell. The command history affects the result of the file-completion feature via Tab key. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, such as fixing issues that had occurred in the previous release (such as fixing the E_Exit "RET from illegal descriptor type 0" message when running DirectX diagnostic program (dxdiag) from a guest Windows 98 system), as well as other improvements (such as improved Toshiba J-3100 emulation) to make DOSBox-X work better. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* Improved clipboard copying & pasting for different - code pages including box-drawing characters in DBCS - code pages. Also, for the J-3100 mode, the selected - text will now be highlighted when you try to select - text for copying. (Wengier) -* Improved IME support for Chinese/Japanese/Korean - languages on Windows builds. (Wengier) -* Pausing the emulation will automatically release - the mouse and prevent mouse capture. (Wengier) -* For Configuration Tool, a "..." button is added to - properties which have limited numbers of values so - that when clicking their possible values will be - shown in a new dialog and can be selected directly. - Also, more settings will be applied immediately when - modified from the Configuration Tool. (Wengier) -* For Windows SDL1 builds, DOSBox-X will now try to - prevent the Windows menus from separating into more - than one lines due to small window width. (Wengier) -* If a scaler as specified in the config may not work - as expected and if not forced, DOSBox-X will show a - a message box asking whether to load it. (Wengier) -* Config option "pixelshader" now allows a shader file - name without the .fx extension, or a shader file in - the current directory. (Wengier) -* Added support for ENET reliable UDP as an option for - modem and null-modem emulation. You can enable it - with "sock:1" option for modems/null-modems that are - connected with serial ports (COM1-COM9), such as - "serial1=modem listenport:5000 sock:1" for COM1 to - listen to port 5000 with reliable ENET UDP instead - of TCP connection. The feature is ported from DOSBox - Staging. (sduensin, GranMinigun, kcgen, Wengier) -* Added new command-line option "-o" for providing - command-line option(s) if programs(s) are specified - to start when you launch DOSBox-X. An example: - dosbox-x program.exe -o "opt1 opt2". (Wengier) -* Added special properties to CONFIG command including - "cd", "date", "errorlevel", "random", "time", and - "lastmount" so that commands like "CONFIG -GET cd" - and "CONFIG -GET errorlevel" will get current DOS - directory and ERRORLEVEL value. The returned value - will also be saved to %CONFIG% variable. (Wengier) -* Added "Enter Debugger Command" button to "DOSBox-X - logging output" and "Code overview" windows (from - "Debug" menu") for users to enter some debugger - command(s) and see the result. (Wengier) -* Added debugger commands DATE and TIME to view or - change DOSBox-X's internal date and time, using the - same date and time formats as the shell DATE and - TIME commands, e.g. "TIME 10:11:12". (Wengier) -* Added config option "badcommandhandler" (in [dos] - section) which allows to specify a custom error - handler program before error message "Bad command - or file name" shows up in the DOS shell. (Wengier) -* Added config option "stop turbo on key" (in [cpu] - section) which allows to automatically stop the - Turbo (fast forward) mode when a keyboard input - has been detected. (Wengier) -* Added config option "fat32setversion" (in [dos] - section) which controls whether DOSBox-X should - automatically set reported DOS version to 7.0/7.10 - when it's less than 7.0/7.10 and mounting LBA/FAT32 - disk images is requested. It defaults to "ask" so - that DOSBox-X will ask in this case. (Wengier) -* Added config option "j3100colorscroll" (in [dosv] - section) which defaults to "false" and allows the - J-3100 version of SimCity and VGA version of the - Toshiba Windows 3.1 to run, whereas CGA/EGA version - of the latter requires a "true" setting. (nanshiki) -* Added config options (in "ethernet, slirp" section) - "tcp_port_forwards" and "udp_port_forwards" for port - forwarding when using the Slirp backend. (kcgen) -* Added code pages 737 (Greek) and 775 (Baltic) for - the guest-to-host code page conversions. (Wengier) -* Added UTF8 and UTF16 commands to convert UTF-8 and - UTF-16 text to view in the current code page. For - example, the command "UTF8 < UTF8TEXT.TXT" will - output converted text UTF8TEXT.TXT in the current - code page, and for UTF16 command there are optional - /BE & /LE options to specify endianness. (Wengier) -* Added support for DBCS characters located in UNC - network paths of the form \\COMPUTER\FOLDER\FILE - on the Windows platform. (Wengier) -* Added hidden code page 951 for Big5-HKSCS encoding - or Big5 Unicode-At-On (Big5-UAO) encoding. Config - option "uao" is added in [ttf] section so that if - set to "true" code page 951 will use the Big5-UAO - encoding instead of the Big-HKSCS encoding, the - latter being the default for CP951. If ChinaSea is - enabled, ChinaSea characters will be used instead - of original characters in these encodings. (Wengier) -* Added -nl option for MOUNT command to automatically - find the next available drive letter to mount if - the specified drive is already mounted. This allows - multiple directories to be mounted when DOSBox-X - starts with multiple [name] arguments. (Wengier) -* Added HISTORY command to display or clear command- - line history for the internal DOS shell. (Wengier) -* Added ASSOC command to view/change file extension - associations. You can define a command or program - to open a file with a specific file extension, e.g. - "assoc .txt=edit" to open .TXT files with the EDIT - command when entering the .TXT file name from the - DOS command line. Wildcards are allowed, such as - "assoc .*=dir", although in such case exceptions - including "assoc .com=com", "assoc .exe=exe", and - "assoc .bat=bat" are probably desired. (Wengier) -* Commands CHOICE and COUNTRY are external commands - that appear on the Z drive (Z:/DOS/CHOICE.COM and - Z:/SYSTEM/COUNTRY.COM respectively) now rather than - internal shell commands. COUNTRY command now also - affacts thousand and decimal separators. (Wengier) -* The internal Virtual Drive Z: can now be rescanned - just like mounted local drives. (Wengier) -* You can now change most config options in [printer] - section of the configuration for the virtual printer - with CONFIG -set commands. (Wengier) -* Added missing ChinaSea characters in code page 950 - with ChinaSea/Big5-2003 extension enabled. (Wengier) -* Added support for Bash-shell completion for DOSBox-X - on non-Windows platforms. (rderooy & FeignInt) -* Improved DBCS support for DOS commands including - ATTRIB, ECHO, TYPE, MORE, and TRUENAME. (Wengier) -* Improved checking of segment limits. (joncampbell123) -* Mac OS X builds from now on will use an in-tree tool - to replace dylib references in all executable files. - XCode install_name_tool is no longer used, it became - a hypocondriac and is sitting in the corner screaming - about link edit data that doesn't fill a __LINKEDIT - segment. It is once again possible to make Mac OS X - ARM releases and to use dylib files from Brew doing - so. (joncampbell123) -* Fix IPL1 partition choice debug message to actually - show the partition index chosen, not the -partidx - option variable, which if not given by the user, is - -1 and was reported as a very large unsigned - number. (joncampbell123) -* Fixed command-line options -starttool & -startmapper - not showing messages from specified language file - for Configuration Tool and Mapper Editor. (Wengier) -* Fixed an issue with RENDER_Reset function while - loading previously saved states. (yetmorecode) -* Fixed E_Exit "RET from illegal descriptor type 0" - when running DirectX diagnostic program (dxdiag) - from a guest Windows 98 system. (Wengier) -* Fixed "parallel?=file openwith:xxx" not working if - a file name is not provided. (Wengier) -* Fixed crash in the following config combination: - output=ttf, machine=pc98, dosvfunc=true. (Wengier) -* Fixed Disney sound source connecting to parallel - port not working in the previous version. (Wengier) -* Fixed NET command from Windows for Workgroups 3.11 - not working from the internal DOS shell. (Wengier) -* Fixed MODE command options like "rate" and "delay" - not working if entered in upper cases. (Wengier) -* Fixed command-line parameters (when launching - DOSBox-X) containing Chinese characters in code page - 950 not working in Windows SDL2 builds. (Wengier) -* Integrated commits from mainline (Allofich) - - Improve BIOS FDD motor timeout counter, most - notably for earlier PCs. Fixes a Chinese variant +--- +slug: 0.83.21 +date: December 31, 2021 +--- + +## 1. Notable New Features + +* **Support for viewing Unicode (UTF-8 or UTF-16) documents in the shell** + + DOSBox-X now supports UTF8 and UTF16 commands, which allow to convert UTF-8 and UTF-16 encoded text to view in the current code page, including both SBCS and DBCS code pages. For example, the command "UTF8 < UTF8TEXT.TXT" will output converted text UTF8TEXT.TXT in the current code page, and for UTF16 command there are optional /BE & /LE options to specify endianness. +* **Support for ENET reliable UDP for modem and null-modem emulation** + + The ENET reliable UDP is now supported as an option for modem and null-modem emulations. You can enable it with "sock:1" option for modems/null-modems that are connected with serial ports (COM1-COM9), such as "serial1=modem listenport:5000 sock:1" for COM1 to listen to port 5000 with reliable ENET UDP instead of TCP connection. +* **Support for port forwarding for NE2000 networking's Slirp backend** + + Port forwarding is now supported for the Slirp backend of the NE2000 networking feature. There are new config options "tcp_port_forwards" and "udp_port_forwards" in [ethernet, slirp] section for TCP and UDP port forwarding options. +* **Support for viewing or changing file extension associations** + + DOSBox-X now allows you to define a command or program to open a file with a specific file extension with ASSOC command, e.g. "assoc .txt=edit" to open .TXT files with the EDIT command when entering the .TXT file name from the DOS command line. Wildcards (* or ?) are also supported. +* **Support for more special properties for CONFIG command** + + CONFIG command now supports special properties including "cd", "date", "errorlevel", "random", "time", and "lastmount" so that commands like "CONFIG -GET cd" and "CONFIG -GET errorlevel" will get current DOS directory and ERRORLEVEL value. The returned value will also be saved to %CONFIG% variable. +* **Support for rescanning the internal virtual drive Z:** + + The internal Virtual Drive Z: can now be rescanned just like mounted local drives. Any changes to the "drivez" directory or code pages will now be reflected after a Z: drive rescan. +* **Support for providing command-line options for launching programs(s) at start** + + There is now a command-line option "-o" which allows you to provide command-line option(s) or arguments if programs(s) are specified to start when you launch DOSBox-X, e.g. dosbox-x program.exe -o "opt1 opt2" +* **Much improved DBCS support for Chinese/Japanese/Korean languages** + + DBCS support for Chinese/Japanese/Korean languages have been further improved in this version in various ways. For example, IME support for Chinese/Japanese/Korean languages has been improved; DBCS characters located in UNC network paths of the form `\\COMPUTER\FOLDER\FILEDOS` are supported; DOS commands like ATTRIB, ECHO, TYPE, MORE, and TRUENAME can now handle DBCS characters better; there is now also a hidden code page 951 for Big5-HKSCS encoding or Big5 Unicode-At-On (Big5-UAO) encoding. +* **Improved support for Windows for Workgroups 3.11 networking** + + Support for the Windows for Workgroups 3.11 networking has been improved in this version, so that you can fully utilize the networking feature of Windows for Workgroups 3.11 when running from the internal DOS shell. Be sure to execute the commands "DEVICE IFSHLP.SYS" and "NET START" before running WFW 3.11 from the shell so that its networking feature will work as expected. +* **Improved support for the save-state feature** + + The save-state feature saw further improvements in this version so that you can expect that saving and loading states to work more reliably than before. +* **Improved clipboard copy and paste support** + + The clipboard copy and paste has been improved for different code pages including box-drawing characters in DBCS code pages (including PC-98 mode). Also, for the Toshiba J-3100 mode, the selected text will now be highlighted when you try to select text for copying. + +## 2. Notable Usability Improvements + +* **Easier to use Configuration Tool** + + The usability for the Configuration Tool has been significantly improved in this version. A "..." button is added to properties which have limited numbers of values so that you can select a value in a new dialog box instead of manually typing them. Also, more settings will be applied immediately when modified from the Configuration Tool. +* **Allow to force scalers via message boxes** + + If a scaler as specified in the config may not work as expected and if not forced, DOSBox-X will show a message box asking whether to load the scaler instead of always silently ignoring it. +* **Allow to enter debugger command without opening the debugger** + + The "Enter Debugger Command" button is added to "DOSBox-X logging output" and "Code overview" windows (from Debug" menu") for users to enter debugger commands directly and see the result, without having to open the debugger. Also, debugger commands DATE and TIME are added to view or change DOSBox-X's internal date and time. +* **Allow to customize the handler for invalid DOS commands** + + You can now specify a custom error handler program before the error message "Bad command or file name" shows up in the DOS shell via config option "badcommandhandler" in [dos] section. For example, setting "badcommandhandler=start" allows to run the specified command in the host system when START command is enabled via "startcmd=true" option. +* **Allow to automatically stop Turbo mode with key inputs** + + DOSBox-X will now stop the Turbo (fast forward) mode when a keyboard input has been detected so that you can type keys properly by default. You can change this behavior via config option "stop turbo on key" in [cpu] section. +* **Allow to change most printer options at run-time** + + You can now change most config options in [printer] section of the configuration for the virtual printer with CONFIG -set commands, e.g. "CONFIG -set printoutput=png" to set the default printer output to PNG. +* **Allow Bash-shell completions on non-Windows systems** + + For Linux and macOS systems, support for Bash-shell completion for the DOSBox-X command-line is now supported in this version. +* **Improved flexibility to load Direct3D pixel shaders** + + For setting a Direct3D pixel shader via config option "pixelshader", DOSBox-X now allows a shader file name without the .fx extension, or a shader file in the current directory. +* **Ability to display or clear command-line history** + + There is now a HISTORY command which allows to display or clear command-line history for the internal DOS shell. The command history affects the result of the file-completion feature via Tab key. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, such as fixing issues that had occurred in the previous release (such as fixing the E_Exit "RET from illegal descriptor type 0" message when running DirectX diagnostic program (dxdiag) from a guest Windows 98 system), as well as other improvements (such as improved Toshiba J-3100 emulation) to make DOSBox-X work better. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* Improved clipboard copying & pasting for different + code pages including box-drawing characters in DBCS + code pages. Also, for the J-3100 mode, the selected + text will now be highlighted when you try to select + text for copying. (Wengier) +* Improved IME support for Chinese/Japanese/Korean + languages on Windows builds. (Wengier) +* Pausing the emulation will automatically release + the mouse and prevent mouse capture. (Wengier) +* For Configuration Tool, a "..." button is added to + properties which have limited numbers of values so + that when clicking their possible values will be + shown in a new dialog and can be selected directly. + Also, more settings will be applied immediately when + modified from the Configuration Tool. (Wengier) +* For Windows SDL1 builds, DOSBox-X will now try to + prevent the Windows menus from separating into more + than one lines due to small window width. (Wengier) +* If a scaler as specified in the config may not work + as expected and if not forced, DOSBox-X will show a + a message box asking whether to load it. (Wengier) +* Config option "pixelshader" now allows a shader file + name without the .fx extension, or a shader file in + the current directory. (Wengier) +* Added support for ENET reliable UDP as an option for + modem and null-modem emulation. You can enable it + with "sock:1" option for modems/null-modems that are + connected with serial ports (COM1-COM9), such as + "serial1=modem listenport:5000 sock:1" for COM1 to + listen to port 5000 with reliable ENET UDP instead + of TCP connection. The feature is ported from DOSBox + Staging. (sduensin, GranMinigun, kcgen, Wengier) +* Added new command-line option "-o" for providing + command-line option(s) if programs(s) are specified + to start when you launch DOSBox-X. An example: + dosbox-x program.exe -o "opt1 opt2". (Wengier) +* Added special properties to CONFIG command including + "cd", "date", "errorlevel", "random", "time", and + "lastmount" so that commands like "CONFIG -GET cd" + and "CONFIG -GET errorlevel" will get current DOS + directory and ERRORLEVEL value. The returned value + will also be saved to %CONFIG% variable. (Wengier) +* Added "Enter Debugger Command" button to "DOSBox-X + logging output" and "Code overview" windows (from + "Debug" menu") for users to enter some debugger + command(s) and see the result. (Wengier) +* Added debugger commands DATE and TIME to view or + change DOSBox-X's internal date and time, using the + same date and time formats as the shell DATE and + TIME commands, e.g. "TIME 10:11:12". (Wengier) +* Added config option "badcommandhandler" (in [dos] + section) which allows to specify a custom error + handler program before error message "Bad command + or file name" shows up in the DOS shell. (Wengier) +* Added config option "stop turbo on key" (in [cpu] + section) which allows to automatically stop the + Turbo (fast forward) mode when a keyboard input + has been detected. (Wengier) +* Added config option "fat32setversion" (in [dos] + section) which controls whether DOSBox-X should + automatically set reported DOS version to 7.0/7.10 + when it's less than 7.0/7.10 and mounting LBA/FAT32 + disk images is requested. It defaults to "ask" so + that DOSBox-X will ask in this case. (Wengier) +* Added config option "j3100colorscroll" (in [dosv] + section) which defaults to "false" and allows the + J-3100 version of SimCity and VGA version of the + Toshiba Windows 3.1 to run, whereas CGA/EGA version + of the latter requires a "true" setting. (nanshiki) +* Added config options (in "ethernet, slirp" section) + "tcp_port_forwards" and "udp_port_forwards" for port + forwarding when using the Slirp backend. (kcgen) +* Added code pages 737 (Greek) and 775 (Baltic) for + the guest-to-host code page conversions. (Wengier) +* Added UTF8 and UTF16 commands to convert UTF-8 and + UTF-16 text to view in the current code page. For + example, the command "UTF8 < UTF8TEXT.TXT" will + output converted text UTF8TEXT.TXT in the current + code page, and for UTF16 command there are optional + /BE & /LE options to specify endianness. (Wengier) +* Added support for DBCS characters located in UNC + network paths of the form \\COMPUTER\FOLDER\FILE + on the Windows platform. (Wengier) +* Added hidden code page 951 for Big5-HKSCS encoding + or Big5 Unicode-At-On (Big5-UAO) encoding. Config + option "uao" is added in [ttf] section so that if + set to "true" code page 951 will use the Big5-UAO + encoding instead of the Big-HKSCS encoding, the + latter being the default for CP951. If ChinaSea is + enabled, ChinaSea characters will be used instead + of original characters in these encodings. (Wengier) +* Added -nl option for MOUNT command to automatically + find the next available drive letter to mount if + the specified drive is already mounted. This allows + multiple directories to be mounted when DOSBox-X + starts with multiple [name] arguments. (Wengier) +* Added HISTORY command to display or clear command- + line history for the internal DOS shell. (Wengier) +* Added ASSOC command to view/change file extension + associations. You can define a command or program + to open a file with a specific file extension, e.g. + "assoc .txt=edit" to open .TXT files with the EDIT + command when entering the .TXT file name from the + DOS command line. Wildcards are allowed, such as + "assoc .*=dir", although in such case exceptions + including "assoc .com=com", "assoc .exe=exe", and + "assoc .bat=bat" are probably desired. (Wengier) +* Commands CHOICE and COUNTRY are external commands + that appear on the Z drive (Z:/DOS/CHOICE.COM and + Z:/SYSTEM/COUNTRY.COM respectively) now rather than + internal shell commands. COUNTRY command now also + affacts thousand and decimal separators. (Wengier) +* The internal Virtual Drive Z: can now be rescanned + just like mounted local drives. (Wengier) +* You can now change most config options in [printer] + section of the configuration for the virtual printer + with CONFIG -set commands. (Wengier) +* Added missing ChinaSea characters in code page 950 + with ChinaSea/Big5-2003 extension enabled. (Wengier) +* Added support for Bash-shell completion for DOSBox-X + on non-Windows platforms. (rderooy & FeignInt) +* Improved DBCS support for DOS commands including + ATTRIB, ECHO, TYPE, MORE, and TRUENAME. (Wengier) +* Improved checking of segment limits. (joncampbell123) +* Mac OS X builds from now on will use an in-tree tool + to replace dylib references in all executable files. + XCode install_name_tool is no longer used, it became + a hypocondriac and is sitting in the corner screaming + about link edit data that doesn't fill a __LINKEDIT + segment. It is once again possible to make Mac OS X + ARM releases and to use dylib files from Brew doing + so. (joncampbell123) +* Fix IPL1 partition choice debug message to actually + show the partition index chosen, not the -partidx + option variable, which if not given by the user, is + -1 and was reported as a very large unsigned + number. (joncampbell123) +* Fixed command-line options -starttool & -startmapper + not showing messages from specified language file + for Configuration Tool and Mapper Editor. (Wengier) +* Fixed an issue with RENDER_Reset function while + loading previously saved states. (yetmorecode) +* Fixed E_Exit "RET from illegal descriptor type 0" + when running DirectX diagnostic program (dxdiag) + from a guest Windows 98 system. (Wengier) +* Fixed "parallel?=file openwith:xxx" not working if + a file name is not provided. (Wengier) +* Fixed crash in the following config combination: + output=ttf, machine=pc98, dosvfunc=true. (Wengier) +* Fixed Disney sound source connecting to parallel + port not working in the previous version. (Wengier) +* Fixed NET command from Windows for Workgroups 3.11 + not working from the internal DOS shell. (Wengier) +* Fixed MODE command options like "rate" and "delay" + not working if entered in upper cases. (Wengier) +* Fixed command-line parameters (when launching + DOSBox-X) containing Chinese characters in code page + 950 not working in Windows SDL2 builds. (Wengier) +* Integrated commits from mainline (Allofich) + - Improve BIOS FDD motor timeout counter, most + notably for earlier PCs. Fixes a Chinese variant of Space Harrier. \ No newline at end of file diff --git a/_release_notes/0.83.22.md b/_release_notes/0.83.22.md index b5f9ed0ab64..6aaa49f5618 100644 --- a/_release_notes/0.83.22.md +++ b/_release_notes/0.83.22.md @@ -1,126 +1,127 @@ ---- -date: "January 31, 2022" ---- - -* Added Pentium 3 Processor Serial Number emulation. - Serial number can be set from dosbox-x.conf or not - set, in which case it will act as if disabled by the - BIOS. (joncampbell123). -* Added Pentium III cputype, added SSE register set, - added SSE instructions to debugger disassembler, - added some initial SSE instructions. (joncampbell123) -* Added some MSRs expected by Linux, Windows, and - tools like CPU-Z to make them happy. (joncampbell123) -* Added FXSAVE/FXRSTOR which makes Linux happy with - Pentium III emulation. (joncampbell123) -* Allow WRMSR to set time stamp counter, as it is known - though undocumented a standard since the Pentium - (joncampbell123). -* Added debugger command to show global and per-voice - status of the Gravis Ultrasound emulation. May come - in handy for programmers who wish to write their own - GUS routines, and for Trixter who brought up the - subject of determining whether a program plays music - with the GUS or treats it like a dumb sound card. - (joncampbell123). -* Added debugger command to show SSE register file, and - to set SSE register contents. (joncampbell123) -* Added debugger command to show MMX register file, and - to set MMX register contents. (joncampbell123) -* Added support for expressions within parenthesis in - debugger expression handling. (joncampbell123) -* Added & (AND), ^ (XOR), and | (OR) operators, and - << and >> bit shift operators to debugger expression - handling. (joncampbell123) -* Added multiply (*) and divide (/) operators to debugger - expression handling. Order of operations applies, so - given mixed addition and multiplication, the multiply - is done first then the result is added. Also added - support for the modulo (%) operator to the debugger - expression handling. (joncampbell123) -* Revised debugger expression handling to correctly - parse arithmetic operators with order of operations - in mind. Prior to this fix, consecutive subtraction - would cause seemingly illogical results, for example - "10-1-1-1" would yield "9" instead of "7" because - subtraction was handled in the wrong order. This fix - also makes mixed addition and subtraction possible. - NOTICE: Remember that all numbers going in and - coming out of the expression handler are hexadecimal, - NOT decimal! (joncampbell123) -* Fixed simple expression handling in the debugger. - Revised hexadecimal vs register parsing so that - hexadecimal numbers that happen to start with - the name of certain CPU flag registers does not - cause confusing results. Prior to this fix, - hexadecimal numbers like "dfe" or "af0" were - impossible to enter without leading zeros or - quotes because the parser would confuse the - first digits with the DF and AF bits of the FLAGS - register. (joncampbell123) -* Added menu options "AMD Athlon 600MHz" and "Pentium - III 866MHz EB" within the group "Emulate CPU speed" - (under "CPU") for CPU speeds to emulate. (Wengier) -* Added support for archive, hidden, system attributes - on mounted local and overlay drives for non-Windows - platforms by using special file(s). (Wengier) -* Added config option "special operation file prefix" - (in [dos] section) to speciay an alterantive file - prefix for DOSBox-X's special operations on mounted - local and overlay drives. (Wengier) -* Added code page 3021 for the MIK character set used - by the Bulgarian language (as in FreeDOS). (Wengier) -* Added language file for the Brazilian Portuguese, - available from Windows installer. (altiereslima) -* For piping (|), DOSBox-X will now also try C: drive - as a temporary piping path if current directory is - read-only and the environment variable %TEMP% (or - %TMP%) is not set. (Wengier) -* For clipboard copy, CR+LF will now be used instead - of LF on Windows for better compatibility. (Wengier) -* Disk images are automatically mounted as read-only - (instead of failing) now if the image files are - read-only and the users do not explicitly specify - read-only mode for the disk images. (Wengier) -* The default value of config option "autofixwarning" - (in [dos] section) is now "false", and it is now - changeable via CONFIG command. (Wengier) -* The default output for Linux SDL1 builds is changed - from opengl to surface, unlike Linux SDL2 builds - whose default output remains opengl. (Wengier) -* Native Windows menus is supported in Windows SDL2 - builds just like Windows SDL1 builds. It is possible - to force SDL-drawn menus for both Windows SDL1 and - SDL2 builds at compile time. (Wengier) -* Setting "windowposition" to "-" in the configuration - will leave DOSBox-X window position as is instead of - a specific position or being centered. (Wengier) -* For printing, the SarasaGothicFixed TTF font will - also be searched for DBCS code pages. (Wengier) -* Added config option "showdbcsnodosv" (in the [dosv] - section) which when set to true enables rendering of - Chinese/Japanese/Korean characters for DBCS code - pages in non-DOS/V, non-PC98, and non-TTF mode. - Video capturing started from TTF output will enable - DBCS characters when possible. (Wengier) -* Changing DBCS code pages is supported for standard - modes (i.e. non-DOS/V, non-PC98 and non-TTF modes) - using CHCP command. (Wengier) -* Fixed issues with certain DBCS characters for the - DOS/V system. (Wengier) -* Fixed slow blinking text in TTF output. (Wengier) -* Fixed copying box drawing characters to clipboard - not working in non-TTF JEGA mode. (Wengier) -* Fixed background for the Configuration Tool when - the TTF output is active. (Wengier) -* Fixed DBCS characters not showing up when capturing - screenshots in TTF CJK mode, or they do not show up - properly in the Configuration Tool when "autodbcs" - is set to "false" in the configuration. (Wengier) -* Fixed media keys presses by ignoring these keys in - Windows SDL1 builds. (maron2000) -* Fixed IOCTL & ASPI interfaces for mounting physical - CD drives on the Windows platform. (Wengier) -* Fixed the issue of loading scalers in the previous - version. A message box will only show up if you +--- +slug: 0.83.22 +date: "January 31, 2022" +--- + +* Added Pentium 3 Processor Serial Number emulation. + Serial number can be set from dosbox-x.conf or not + set, in which case it will act as if disabled by the + BIOS. (joncampbell123). +* Added Pentium III cputype, added SSE register set, + added SSE instructions to debugger disassembler, + added some initial SSE instructions. (joncampbell123) +* Added some MSRs expected by Linux, Windows, and + tools like CPU-Z to make them happy. (joncampbell123) +* Added FXSAVE/FXRSTOR which makes Linux happy with + Pentium III emulation. (joncampbell123) +* Allow WRMSR to set time stamp counter, as it is known + though undocumented a standard since the Pentium + (joncampbell123). +* Added debugger command to show global and per-voice + status of the Gravis Ultrasound emulation. May come + in handy for programmers who wish to write their own + GUS routines, and for Trixter who brought up the + subject of determining whether a program plays music + with the GUS or treats it like a dumb sound card. + (joncampbell123). +* Added debugger command to show SSE register file, and + to set SSE register contents. (joncampbell123) +* Added debugger command to show MMX register file, and + to set MMX register contents. (joncampbell123) +* Added support for expressions within parenthesis in + debugger expression handling. (joncampbell123) +* Added & (AND), ^ (XOR), and | (OR) operators, and + << and >> bit shift operators to debugger expression + handling. (joncampbell123) +* Added multiply (*) and divide (/) operators to debugger + expression handling. Order of operations applies, so + given mixed addition and multiplication, the multiply + is done first then the result is added. Also added + support for the modulo (%) operator to the debugger + expression handling. (joncampbell123) +* Revised debugger expression handling to correctly + parse arithmetic operators with order of operations + in mind. Prior to this fix, consecutive subtraction + would cause seemingly illogical results, for example + "10-1-1-1" would yield "9" instead of "7" because + subtraction was handled in the wrong order. This fix + also makes mixed addition and subtraction possible. + NOTICE: Remember that all numbers going in and + coming out of the expression handler are hexadecimal, + NOT decimal! (joncampbell123) +* Fixed simple expression handling in the debugger. + Revised hexadecimal vs register parsing so that + hexadecimal numbers that happen to start with + the name of certain CPU flag registers does not + cause confusing results. Prior to this fix, + hexadecimal numbers like "dfe" or "af0" were + impossible to enter without leading zeros or + quotes because the parser would confuse the + first digits with the DF and AF bits of the FLAGS + register. (joncampbell123) +* Added menu options "AMD Athlon 600MHz" and "Pentium + III 866MHz EB" within the group "Emulate CPU speed" + (under "CPU") for CPU speeds to emulate. (Wengier) +* Added support for archive, hidden, system attributes + on mounted local and overlay drives for non-Windows + platforms by using special file(s). (Wengier) +* Added config option "special operation file prefix" + (in [dos] section) to speciay an alterantive file + prefix for DOSBox-X's special operations on mounted + local and overlay drives. (Wengier) +* Added code page 3021 for the MIK character set used + by the Bulgarian language (as in FreeDOS). (Wengier) +* Added language file for the Brazilian Portuguese, + available from Windows installer. (altiereslima) +* For piping (|), DOSBox-X will now also try C: drive + as a temporary piping path if current directory is + read-only and the environment variable %TEMP% (or + %TMP%) is not set. (Wengier) +* For clipboard copy, CR+LF will now be used instead + of LF on Windows for better compatibility. (Wengier) +* Disk images are automatically mounted as read-only + (instead of failing) now if the image files are + read-only and the users do not explicitly specify + read-only mode for the disk images. (Wengier) +* The default value of config option "autofixwarning" + (in [dos] section) is now "false", and it is now + changeable via CONFIG command. (Wengier) +* The default output for Linux SDL1 builds is changed + from opengl to surface, unlike Linux SDL2 builds + whose default output remains opengl. (Wengier) +* Native Windows menus is supported in Windows SDL2 + builds just like Windows SDL1 builds. It is possible + to force SDL-drawn menus for both Windows SDL1 and + SDL2 builds at compile time. (Wengier) +* Setting "windowposition" to "-" in the configuration + will leave DOSBox-X window position as is instead of + a specific position or being centered. (Wengier) +* For printing, the SarasaGothicFixed TTF font will + also be searched for DBCS code pages. (Wengier) +* Added config option "showdbcsnodosv" (in the [dosv] + section) which when set to true enables rendering of + Chinese/Japanese/Korean characters for DBCS code + pages in non-DOS/V, non-PC98, and non-TTF mode. + Video capturing started from TTF output will enable + DBCS characters when possible. (Wengier) +* Changing DBCS code pages is supported for standard + modes (i.e. non-DOS/V, non-PC98 and non-TTF modes) + using CHCP command. (Wengier) +* Fixed issues with certain DBCS characters for the + DOS/V system. (Wengier) +* Fixed slow blinking text in TTF output. (Wengier) +* Fixed copying box drawing characters to clipboard + not working in non-TTF JEGA mode. (Wengier) +* Fixed background for the Configuration Tool when + the TTF output is active. (Wengier) +* Fixed DBCS characters not showing up when capturing + screenshots in TTF CJK mode, or they do not show up + properly in the Configuration Tool when "autodbcs" + is set to "false" in the configuration. (Wengier) +* Fixed media keys presses by ignoring these keys in + Windows SDL1 builds. (maron2000) +* Fixed IOCTL & ASPI interfaces for mounting physical + CD drives on the Windows platform. (Wengier) +* Fixed the issue of loading scalers in the previous + version. A message box will only show up if you append "prompt" to the scaler option. (Wengier) \ No newline at end of file diff --git a/_release_notes/0.83.23.md b/_release_notes/0.83.23.md index 86b811d27f4..d634109d166 100644 --- a/_release_notes/0.83.23.md +++ b/_release_notes/0.83.23.md @@ -1,61 +1,62 @@ ---- -date: "February 28, 2022" ---- - -* Fixed XGA accelerated rendering for ViRGE emulation - and 24 bits/pixel display modes. Since Windows drivers - insist on 24bpp, this is necessary for - "Truecolor (24-bit)" to display and render correctly. -* dosbox-x.conf option "vesa vbe 1.2 modes are 32bpp" is - now "true" "false" or "auto", where "auto" determines - this setting based on which S3 chipset is being - emulated. It seems the Windows drivers for ViRGE - chipsets require 24bpp for truecolor modes, in fact, - they do not even offer 32bpp as an option. Since - the Windows 3.1/95/98 drivers use VESA BIOS calls to - set video modes, this implies that the VESA BIOS on - ViRGE cards are also making the base modes 24bpp rather - than 32bpp. Note that the Windows drivers for older S3 - chipsets are perfectly happy to use 32bpp unless you - select "16.7 million colors (1 Meg)" in Windows 3.1, - which is the only option in those drivers to offer - 24bpp. To avoid grief with DOSBox-X users, "auto" - is the default setting. -* Added basic S3 ViRGE XGA acceleration. It's enough for - 90% of the GDI functions in Windows 3.1 so far. -* Fixed S3 rectangle XGA accelerated pattern blit, when - using display memory as the pattern mask source, to - follow S3 Trio32/Trio64 documentation, instead of the - DOSBox SVN educated guess, to resolve some edge cases - where the wrong color is chosen to draw filled rectangles - in Windows 3.1. This fixes the "basement" in Microsoft - Creative Writer so that clicking around no longer leaves - white boxes on the screen. -* Extend 256-color foreground/background color behavior - from S3 86c928 to Vision864 and Vision868 as Windows - 95 behavior suggests they handle the hardware cursor - the same way in 256-color mode. -* Extend "divide cursor X position by bytes per pixel" - behavior from S3 86c928 to Vision864 and Vision868 - emulation as well, based on Windows 3.1 video driver - behavior. -* Gravis Ultrasound: Most I/O registers except port 3x4 - are intended for 8-bit I/O. If 16-bit I/O occurs to - such registers, handle as two 8-bit I/O cycles. I - found something in the Demoscene (1997 demo "Atlantis, - Deep Like A Sea") that uses a 16-bit I/O write to write - current channel and register select in one write. - Prior to this fix, there was no music other than quiet - popping noises in DOSBox-X. -* Sound Blaster: Fixed DSP command 0x48 (Set DSP block - transfer size) to accept block size as BYTES as - standardized by Creative and convert to SAMPLES - internally. This fixes stuttering voices in Freddy - Pharkas when sbtype=sb16. (joncampbell123) -* Avoid crashes due to assertion failure when media - keys are pressed (maron2000) -* Fix CD audio playback failure (cue + mp3) when - trying to play from pregap sectors. (maron2000) -* Change default value of mt32.rate to 48kHz to match - default value of mt32.analog option. (maron2000) +--- +slug: 0.83.23 +date: "February 28, 2022" +--- + +* Fixed XGA accelerated rendering for ViRGE emulation + and 24 bits/pixel display modes. Since Windows drivers + insist on 24bpp, this is necessary for + "Truecolor (24-bit)" to display and render correctly. +* dosbox-x.conf option "vesa vbe 1.2 modes are 32bpp" is + now "true" "false" or "auto", where "auto" determines + this setting based on which S3 chipset is being + emulated. It seems the Windows drivers for ViRGE + chipsets require 24bpp for truecolor modes, in fact, + they do not even offer 32bpp as an option. Since + the Windows 3.1/95/98 drivers use VESA BIOS calls to + set video modes, this implies that the VESA BIOS on + ViRGE cards are also making the base modes 24bpp rather + than 32bpp. Note that the Windows drivers for older S3 + chipsets are perfectly happy to use 32bpp unless you + select "16.7 million colors (1 Meg)" in Windows 3.1, + which is the only option in those drivers to offer + 24bpp. To avoid grief with DOSBox-X users, "auto" + is the default setting. +* Added basic S3 ViRGE XGA acceleration. It's enough for + 90% of the GDI functions in Windows 3.1 so far. +* Fixed S3 rectangle XGA accelerated pattern blit, when + using display memory as the pattern mask source, to + follow S3 Trio32/Trio64 documentation, instead of the + DOSBox SVN educated guess, to resolve some edge cases + where the wrong color is chosen to draw filled rectangles + in Windows 3.1. This fixes the "basement" in Microsoft + Creative Writer so that clicking around no longer leaves + white boxes on the screen. +* Extend 256-color foreground/background color behavior + from S3 86c928 to Vision864 and Vision868 as Windows + 95 behavior suggests they handle the hardware cursor + the same way in 256-color mode. +* Extend "divide cursor X position by bytes per pixel" + behavior from S3 86c928 to Vision864 and Vision868 + emulation as well, based on Windows 3.1 video driver + behavior. +* Gravis Ultrasound: Most I/O registers except port 3x4 + are intended for 8-bit I/O. If 16-bit I/O occurs to + such registers, handle as two 8-bit I/O cycles. I + found something in the Demoscene (1997 demo "Atlantis, + Deep Like A Sea") that uses a 16-bit I/O write to write + current channel and register select in one write. + Prior to this fix, there was no music other than quiet + popping noises in DOSBox-X. +* Sound Blaster: Fixed DSP command 0x48 (Set DSP block + transfer size) to accept block size as BYTES as + standardized by Creative and convert to SAMPLES + internally. This fixes stuttering voices in Freddy + Pharkas when sbtype=sb16. (joncampbell123) +* Avoid crashes due to assertion failure when media + keys are pressed (maron2000) +* Fix CD audio playback failure (cue + mp3) when + trying to play from pregap sectors. (maron2000) +* Change default value of mt32.rate to 48kHz to match + default value of mt32.analog option. (maron2000) * Fix a buffer overflow issue in dos.cpp (maron2000) \ No newline at end of file diff --git a/_release_notes/0.83.24.md b/_release_notes/0.83.24.md index 4ad103f33e7..7bb58905ff9 100644 --- a/_release_notes/0.83.24.md +++ b/_release_notes/0.83.24.md @@ -1,164 +1,165 @@ ---- -date: "April 1, 2022" ---- - -## 1. Notable New Features - -* **Support for resizable OpenGL 3Dfx Voodoo window** - - The 3Dfx Voodoo window is now resizable when running in OpenGL mode. Drag the Voodoo window borders or click the maximize window button to adjust the window size. With this you can now play 3Dfx Voodoo games in OpenGL mode with a much larger window than before, including maximized window, although you cannot switch to full-screen in this mode. -* **Support for CuteMouse wheel mouse extension API** - - The CuteMouse wheel mouse extension DOS API is now supported so that DOS programs that natively support this function (such as [DOS Navigator 2](https://www.dnosp.com/)) can make use of it. The function is enabled when the mouse wheel movement conversion is currently disabled (i.e. with "mouse_wheel_key = 0" in config file or "Do not convert to arrow keys" in "Main" menu => "Mouse wheel movements"). -* **VMware mouse support for seamless mouse integration in Windows 3.1** - - DOSBox-X now implements basic support for the VMware mouse protocol so that when used together with e.g. [VMware mouse driver for Windows 3.1](https://github.com/NattyNarwhal/vmwmouse), the mouse will be seamlessly integrated with the host system and can enter/exit the DOSBox-X window without having to be captured or released. No VMware emulation software needed. Config option "vmware" is added (in [dos] section) which allows to disable VMware mouse guest integration in DOSBox-X. -* **Improved support for S3 video handling including new chips** - - Support for the S3 video handling has been improved in various ways in this version, including added S3 Vision964 and Vision968 based on existing support for the Vision864/868 chips, revised S3 Trio64 XGA line drawing code so that the Windows drivers can better draw polygon line segments, and new S3 ViRGE accelerated XGA line drawing function so that Windows 3.1/9x can now draw lines with hardware acceleration. -* **Improved support for APM power management** - - Support for APM BIOS has been notably improved in this version. An APM power button has been added, available from both "Main" menu and in the mapper. A suspended or standby mode will be emulated when the guest calls the APM BIOS to go into either mode, and Windows 98 no longer complains about the inability to suspend or go to standby. -* **Improved support for keyboard layouts** - - The built-in EGA?.CPX and KEYBOARD.SYS/KEYBRD?.SYS files have been upgraded to the latest version from FreeDOS, which has improved the keyboard layouts in several ways. The EGA?.CPX files now appear in CPI directory of Z drive, which can be also replaced by files provided by users. The supported country list has also been expanded. - -## 2. Notable Usability Improvements - -* **Improved handling of TTF color schemes** - - Handling of TTF color schemes has been improved in several ways. The "colors" config setting now accepts a leading "+" character to stay the specified color scheme when switching from another output, and SETCOLOR command allows a syntax like "SETCOLOR 1 +" to return the specified color number to the value as specified by "colors" setting. DOSBox-X will also dim the topmost line when the window is inactive in full-screen or menuless mode. -* **Allow to mount multiple images files with wildcards** - - IMGMOUNT command now accepts wildcards (* or ?) when mounting disk or CD images, allowing you to mount all images files matching the given pattern, such as `IMGMOUNT A disk*.img`. -* **Allow to automatically map keyboard layouts to country code** - - DOSBox-X will now try to map the keyboard layout to country number for different date/time/decimal formats when the country number is not specified and cannot be obtained from the host system. -* **Allow to search for FONT.ROM in resources directory for PC-98 system** - - For the PC-98 system, DOSBox-X will now search for FONT.ROM in resources directory in addition to the working directory, for more flexible support of font file locations. -* **Allow to toggle more TTF/CJK options via keyboard shortcuts** - - Menu options "CJK: Switch between DBCS/SBCS modes", CJK: Auto-detect box-drawing characters", and "Reset color scheme" (in "Video" -> "TTF options") are now assignable in Mapper Editor, allowing you to toggle such options dynamically via keyboard shortcuts, including when the TTF output is not currently active. -* **Allow to toggle logging output dynamically** - - Menu option "Disable logging output" has been added to "Debug" menu, allowing you to disable or enable logging output at run-time. Command-line option "-nolog" is also added which allows to disable logging output at start. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, including fixes and improvements to some existing features (e.g. fixing lockup when printing in dBase IV, fixing crash/restart when running Wing Commander with EMS memory enabled, FPU enhancements, etc) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* PC-98: Search for FONT.ROM in resources directory - in addition to the working directory. (bsdf) -* Add S3 Vision964 and Vision968, based on existing - support for the Vision864/868 chips (rderooy). -* APM BIOS: When the guest calls the APM BIOS to go - into suspend or standby mode, emulate a suspended - or standby mode. Spacebar resumes the guest machine. - Blank the display (if VGA/SVGA machine type) upon - suspend/standby and unblank upon leaving it. - (joncampbell123) -* APM BIOS: Add dosbox-x.conf option to control - whether the power button triggers a suspend or - standby event. (joncampbell123) -* APM BIOS: Add power button mapper event, tie - power button to APM BIOS, return power button as - APM suspend event, add code to APM BIOS to handle - suspend and resume events. Windows 98 no longer - complains about the inability to suspend or go to - standby. (joncampbell123) -* APM BIOS: Limit debug logging of APM BIOS function - AH=05h (CPU IDLE) because Windows 98 likes to call - that function way too often. Once a millisecond, in - fact! The log spam makes it difficult to see - anything important scroll by while debugging. - (joncampbell123). -* Revise S3 Trio64 XGA line drawing code to - add comments, and obey the "skip last pixel" bit - so that the Windows drivers can better draw polygon - line segments. This fixes broken XOR polylines in - Windows 3.1 and Microsoft Word 2.0. (joncampbell123) -* Add S3 ViRGE accelerated XGA line drawing function. - Windows 3.1 through Windows 98 can now draw lines - with hardware acceleration. (joncampbell123) -* Merge code to help preserve long filename when - older program writes/overwrites the 8.3 filename. -* Change "fpu" config setting to an enumeration - that still accepts true and false, but now also - accepts auto, 287, and 387. It is now possible to - specify fpu=287 and cputype=386 to emulate a 386 - paired with a 287 chip as is said to be how early - 386 Compaq systems were wired, for example. - (joncampbell123) -* 3Dfx Voodoo window is now resizable (inc. maximized - window) when using OpenGL mode, in addition to the - software mode. (MartyShepard, kekko, Wengier) -* Menu options "CJK: Switch between DBCS/SBCS modes", - CJK: Auto-detect box-drawing characters", and "Reset - color scheme" (in "Video" -> "TTF options") are now - assignable in Mapper Editor. (Wengier) -* The "colors" config setting now allows a leading - "+" character to stay the specified color scheme when - switching from another output. (Wengier) -* SETCOLOR command allows a syntax like "SETCOLOR 1 +" - to return the specified color number to the preset - value (as specified by "colors" setting). (Wengier) -* When using TTF output, DOSBox-X will dim the topmost - line when the window is inactive in full-screen or - menuless mode as in vDosPlus. (emendelson) -* IMGMOUNT command now accepts wildcards, such as - "IMGMOUNT A disk*.img" to mount image files matching - the given pattern. (Wengier) -* Added CuteMouse wheel mouse extension so that DOS - programs such as DOS Navigator 2 can make use of it. - It is enabled when mouse wheel movement conversion is - currently disabled. (FeralChild & Wengier) -* Implemented basic support for VMware mouse protocol - so that when used together with e.g. the VMware mouse - driver for Windows 3.x, the mouse will be seamlessly - integrated with the host system, and can enter/exit - the DOSBox-X window without having to capture/release - the mouse. Config option "vmware" is added (in [dos] - section) which allows to disable VMware mouse guest - integration. (FeralChild, Wengier, joncampbell123) -* When country number is not specified and cannot be - obtained from system, DOSBox-X will try to map the - keyboard layout to country number. The country list - is also extended. (Wengier & FeralChild) -* Added "-nolog" command-line option to disable logging - output completely, and "Disable logging output" menu - option in "Debug" menu to toggle this. (Wengier) -* Updated EGA?.CPX and KEYBOARD.SYS/KEYBRD?.SYS to the - latest version from FreeDOS. The CPX files now appear - in CPI directory of Z drive, which can be replaced by - files provided by the user. (FeralChild & Wengier) -* Fix lockup when printing in dBase IV. (Wengier) -* Fix crash/restart when running Wing Commander with - EMS memory enabled. (grapeli) -* Fix possible buffer overflow issue that may happen - in certain conditions. (maron2000) -* Fix NewWadTool 1.3 unable to play music by ensuring - that periodic timer interrupt is triggered on every - cmos_timerevent. (cimarronm) -* Fix handling of some DOS file I/O device drivers that - expect a pre-filled input-buffer on READ function and - also do not like to be called for every single byte - in that buffer may not work correctly. (leecher1337) -* Fix FPU emulation to use 8087 FENI/FDISI behavior - when cputype=8086 or cputype=80186. (joncampbell123) -* Fix FPU emulation to correctly emulate 80287 -/+inf - compare behavior even if compiled for x86 targets - where C_FPU_X86 uses the host FPU. (joncampbell123) -* Fix audio speech stuttering issue in SpaceQuest 4 - v1.3 using Sound Blaster. (grapeli & rderooy) -* Fix issue with Lemmings palette swapping not working - properly. (maron20000 & grapeli) -* Updated MT32emu to version 2.6.1. (maron20000) -* Updated DOSMID to version 0.9.6. (Wengier) -* Integrated commits from mainline (Allofich) - - Indicate in BIOS memory when keyboard ACK received. - Fixes Soko-ban Revenge. - - Fix execution of small COM programs on PCjr machine +--- +slug: 0.83.24 +date: "April 1, 2022" +--- + +## 1. Notable New Features + +* **Support for resizable OpenGL 3Dfx Voodoo window** + + The 3Dfx Voodoo window is now resizable when running in OpenGL mode. Drag the Voodoo window borders or click the maximize window button to adjust the window size. With this you can now play 3Dfx Voodoo games in OpenGL mode with a much larger window than before, including maximized window, although you cannot switch to full-screen in this mode. +* **Support for CuteMouse wheel mouse extension API** + + The CuteMouse wheel mouse extension DOS API is now supported so that DOS programs that natively support this function (such as [DOS Navigator 2](https://www.dnosp.com/)) can make use of it. The function is enabled when the mouse wheel movement conversion is currently disabled (i.e. with "mouse_wheel_key = 0" in config file or "Do not convert to arrow keys" in "Main" menu => "Mouse wheel movements"). +* **VMware mouse support for seamless mouse integration in Windows 3.1** + + DOSBox-X now implements basic support for the VMware mouse protocol so that when used together with e.g. [VMware mouse driver for Windows 3.1](https://github.com/NattyNarwhal/vmwmouse), the mouse will be seamlessly integrated with the host system and can enter/exit the DOSBox-X window without having to be captured or released. No VMware emulation software needed. Config option "vmware" is added (in [dos] section) which allows to disable VMware mouse guest integration in DOSBox-X. +* **Improved support for S3 video handling including new chips** + + Support for the S3 video handling has been improved in various ways in this version, including added S3 Vision964 and Vision968 based on existing support for the Vision864/868 chips, revised S3 Trio64 XGA line drawing code so that the Windows drivers can better draw polygon line segments, and new S3 ViRGE accelerated XGA line drawing function so that Windows 3.1/9x can now draw lines with hardware acceleration. +* **Improved support for APM power management** + + Support for APM BIOS has been notably improved in this version. An APM power button has been added, available from both "Main" menu and in the mapper. A suspended or standby mode will be emulated when the guest calls the APM BIOS to go into either mode, and Windows 98 no longer complains about the inability to suspend or go to standby. +* **Improved support for keyboard layouts** + + The built-in EGA?.CPX and KEYBOARD.SYS/KEYBRD?.SYS files have been upgraded to the latest version from FreeDOS, which has improved the keyboard layouts in several ways. The EGA?.CPX files now appear in CPI directory of Z drive, which can be also replaced by files provided by users. The supported country list has also been expanded. + +## 2. Notable Usability Improvements + +* **Improved handling of TTF color schemes** + + Handling of TTF color schemes has been improved in several ways. The "colors" config setting now accepts a leading "+" character to stay the specified color scheme when switching from another output, and SETCOLOR command allows a syntax like "SETCOLOR 1 +" to return the specified color number to the value as specified by "colors" setting. DOSBox-X will also dim the topmost line when the window is inactive in full-screen or menuless mode. +* **Allow to mount multiple images files with wildcards** + + IMGMOUNT command now accepts wildcards (* or ?) when mounting disk or CD images, allowing you to mount all images files matching the given pattern, such as `IMGMOUNT A disk*.img`. +* **Allow to automatically map keyboard layouts to country code** + + DOSBox-X will now try to map the keyboard layout to country number for different date/time/decimal formats when the country number is not specified and cannot be obtained from the host system. +* **Allow to search for FONT.ROM in resources directory for PC-98 system** + + For the PC-98 system, DOSBox-X will now search for FONT.ROM in resources directory in addition to the working directory, for more flexible support of font file locations. +* **Allow to toggle more TTF/CJK options via keyboard shortcuts** + + Menu options "CJK: Switch between DBCS/SBCS modes", CJK: Auto-detect box-drawing characters", and "Reset color scheme" (in "Video" -> "TTF options") are now assignable in Mapper Editor, allowing you to toggle such options dynamically via keyboard shortcuts, including when the TTF output is not currently active. +* **Allow to toggle logging output dynamically** + + Menu option "Disable logging output" has been added to "Debug" menu, allowing you to disable or enable logging output at run-time. Command-line option "-nolog" is also added which allows to disable logging output at start. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, including fixes and improvements to some existing features (e.g. fixing lockup when printing in dBase IV, fixing crash/restart when running Wing Commander with EMS memory enabled, FPU enhancements, etc) and ported recent DOSBox SVN commits. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* PC-98: Search for FONT.ROM in resources directory + in addition to the working directory. (bsdf) +* Add S3 Vision964 and Vision968, based on existing + support for the Vision864/868 chips (rderooy). +* APM BIOS: When the guest calls the APM BIOS to go + into suspend or standby mode, emulate a suspended + or standby mode. Spacebar resumes the guest machine. + Blank the display (if VGA/SVGA machine type) upon + suspend/standby and unblank upon leaving it. + (joncampbell123) +* APM BIOS: Add dosbox-x.conf option to control + whether the power button triggers a suspend or + standby event. (joncampbell123) +* APM BIOS: Add power button mapper event, tie + power button to APM BIOS, return power button as + APM suspend event, add code to APM BIOS to handle + suspend and resume events. Windows 98 no longer + complains about the inability to suspend or go to + standby. (joncampbell123) +* APM BIOS: Limit debug logging of APM BIOS function + AH=05h (CPU IDLE) because Windows 98 likes to call + that function way too often. Once a millisecond, in + fact! The log spam makes it difficult to see + anything important scroll by while debugging. + (joncampbell123). +* Revise S3 Trio64 XGA line drawing code to + add comments, and obey the "skip last pixel" bit + so that the Windows drivers can better draw polygon + line segments. This fixes broken XOR polylines in + Windows 3.1 and Microsoft Word 2.0. (joncampbell123) +* Add S3 ViRGE accelerated XGA line drawing function. + Windows 3.1 through Windows 98 can now draw lines + with hardware acceleration. (joncampbell123) +* Merge code to help preserve long filename when + older program writes/overwrites the 8.3 filename. +* Change "fpu" config setting to an enumeration + that still accepts true and false, but now also + accepts auto, 287, and 387. It is now possible to + specify fpu=287 and cputype=386 to emulate a 386 + paired with a 287 chip as is said to be how early + 386 Compaq systems were wired, for example. + (joncampbell123) +* 3Dfx Voodoo window is now resizable (inc. maximized + window) when using OpenGL mode, in addition to the + software mode. (MartyShepard, kekko, Wengier) +* Menu options "CJK: Switch between DBCS/SBCS modes", + CJK: Auto-detect box-drawing characters", and "Reset + color scheme" (in "Video" -> "TTF options") are now + assignable in Mapper Editor. (Wengier) +* The "colors" config setting now allows a leading + "+" character to stay the specified color scheme when + switching from another output. (Wengier) +* SETCOLOR command allows a syntax like "SETCOLOR 1 +" + to return the specified color number to the preset + value (as specified by "colors" setting). (Wengier) +* When using TTF output, DOSBox-X will dim the topmost + line when the window is inactive in full-screen or + menuless mode as in vDosPlus. (emendelson) +* IMGMOUNT command now accepts wildcards, such as + "IMGMOUNT A disk*.img" to mount image files matching + the given pattern. (Wengier) +* Added CuteMouse wheel mouse extension so that DOS + programs such as DOS Navigator 2 can make use of it. + It is enabled when mouse wheel movement conversion is + currently disabled. (FeralChild & Wengier) +* Implemented basic support for VMware mouse protocol + so that when used together with e.g. the VMware mouse + driver for Windows 3.x, the mouse will be seamlessly + integrated with the host system, and can enter/exit + the DOSBox-X window without having to capture/release + the mouse. Config option "vmware" is added (in [dos] + section) which allows to disable VMware mouse guest + integration. (FeralChild, Wengier, joncampbell123) +* When country number is not specified and cannot be + obtained from system, DOSBox-X will try to map the + keyboard layout to country number. The country list + is also extended. (Wengier & FeralChild) +* Added "-nolog" command-line option to disable logging + output completely, and "Disable logging output" menu + option in "Debug" menu to toggle this. (Wengier) +* Updated EGA?.CPX and KEYBOARD.SYS/KEYBRD?.SYS to the + latest version from FreeDOS. The CPX files now appear + in CPI directory of Z drive, which can be replaced by + files provided by the user. (FeralChild & Wengier) +* Fix lockup when printing in dBase IV. (Wengier) +* Fix crash/restart when running Wing Commander with + EMS memory enabled. (grapeli) +* Fix possible buffer overflow issue that may happen + in certain conditions. (maron2000) +* Fix NewWadTool 1.3 unable to play music by ensuring + that periodic timer interrupt is triggered on every + cmos_timerevent. (cimarronm) +* Fix handling of some DOS file I/O device drivers that + expect a pre-filled input-buffer on READ function and + also do not like to be called for every single byte + in that buffer may not work correctly. (leecher1337) +* Fix FPU emulation to use 8087 FENI/FDISI behavior + when cputype=8086 or cputype=80186. (joncampbell123) +* Fix FPU emulation to correctly emulate 80287 -/+inf + compare behavior even if compiled for x86 targets + where C_FPU_X86 uses the host FPU. (joncampbell123) +* Fix audio speech stuttering issue in SpaceQuest 4 + v1.3 using Sound Blaster. (grapeli & rderooy) +* Fix issue with Lemmings palette swapping not working + properly. (maron20000 & grapeli) +* Updated MT32emu to version 2.6.1. (maron20000) +* Updated DOSMID to version 0.9.6. (Wengier) +* Integrated commits from mainline (Allofich) + - Indicate in BIOS memory when keyboard ACK received. + Fixes Soko-ban Revenge. + - Fix execution of small COM programs on PCjr machine type. \ No newline at end of file diff --git a/_release_notes/0.83.25.md b/_release_notes/0.83.25.md index 30c2145706e..95934da3806 100644 --- a/_release_notes/0.83.25.md +++ b/_release_notes/0.83.25.md @@ -1,95 +1,96 @@ ---- -date: "May 1, 2022" ---- - -* XGA: Do not register XGA I/O ports unless emulating - S3 chipset (such as machine=svga_s3) (joncampbell123) -* Menu options "Force scaler" and "Print text screen" - can now be assigned to keyboard shortcuts from the - Mapper Editor. (Wengier) -* Allowed to boot from Toshiba DOS image file for the - Toshiba J-3100 emulation. (nanshiki) -* Default S3 machine types now support XGA/SXGA VText - in DOS/V, in addition to svga_et4000. (nanshiki) -* Added "j3100backcolor" and "j300textcolor" config - options (in [dosv] section) to specify background - and text colors in J-3100 mode. (nanshiki) -* Added config option "aspect_ratio" (in [render] - section) which when set will force the specified - aspect ratio (e.g. 16:9 or 3:2) in the aspect ratio - correction mode (i.e. aspect=true). A menu group - "Aspect ratio" is added to "Video" menu for users - to select or set an aspect ratio, including an - original ratio option. (Wengier) -* Added config option "show recorded filename" (in - [dosbox] section) which when set to true (default) - will show message boxes with recorded filenames - when making audio or video captures. (Wengier) -* Added config option "allow quit after warning" (in - [dosbox] section) which when set to false DOSBox-X - will disallow the quit option after displaying a - warning message. (Wengier) -* Added config option "turbo last second" (in [cpu] - section) which allows to stop the Turbo function - after specified number of seconds. (Wengier) -* Updated FLAC, MP3, and WAV decoder libraries to the - latest versions (v0.12.38, v0.6.32, and v0.13.6) - respectively; per David Reid). (Wengier) -* Added support for upper case characters (A-Z) for - AUTOTYPE command. (kcgen) -* Added /T option for CHOICE command to set a default - choice as in DOS, e.g. CHOICE /T:Y,3 (Wengier) -* Added Korean language option in Windows installer. - Also, language option page will be shown regardless - of the output option selected. (Wengier) -* Add stub INT 10h handler at F000:F065 if - machine=vgaonly and using a VGA ROM BIOS image. - The IBM VGA ROM BIOS image points INT 42h at that - fixed address and calls it for any function it does - not understand. (joncampbell123) -* Set int33 event status bit 8 when passing absolute - mouse coordinates, which is useful in emulation or - virtualization environments where the mouse may be - integrated with the host cursor. (javispedro) -* Added support for Pentium Pro hinting NOPs and - related multi-byte NOPs. (Jookia) -* Updated HX DOS Extender to latest version 2.19 for - HX-DOS builds. (Wengier) -* DOSBox-X returns 1 instead of 0 when E_Exit occurs - or unit tests fail. (Wengier) -* Fixed built-in IPX and Modem emulation unavailable - in MinGW builds. (Wengier) -* Fixed -machine command-line option (as listed by - "INTRO USAGE" command) not working. (Wengier) -* Fixed lockup in classic Jumpman. (maron2000) -* Fixed color in some modes under x86-64 macOS SDL2 - builds. (myon98) -* Fixed extra INT 10h call during BIOS screen. The - extra call caused crashes when combined with a ROM - image of the stock IBM VGA BIOS. (joncampbell123) -* Fixed fscale FPU operation and updated FPU status - word. Also fixed FPU stack value log messages on - x86-based builds. (cimarronm) -* Fixed bug that OpenGL Voodoo window may not appear - correctly if the DOSBox-X window was previously in - full-screen mode in some builds. DOSBox-X will now - ensure a switch to window mode (or maximized window - mode) in this case. Also fixed some menu options - including rebooting DOSBox-X while Voodoo emulation - is currently active. (Wengier) -* Fixed crash when switching to dynamic_rec core from - menu when dynamic_x86 is also available. Also fixed - the dynamic_rec core may not be displayed correctly - in the menu when a language file is used. (Wengier) -* Fixed Windows resource information. (Wengier) -* Fixed a buffer overflow when launching a program. - (Jookia) -* Fixed bug where DOS IOCTL would call device control - channel on devices which did not advertise support - for IOCTL. (cimarronm) -* Clean up of DOS device and attribute flag usage - (cimarronm) -* Integrated commits from mainline (Allofich) - - Use real pointer with font data for reading - characters. Also ignore page number for modes with +--- +slug: 0.83.25 +date: "May 1, 2022" +--- + +* XGA: Do not register XGA I/O ports unless emulating + S3 chipset (such as machine=svga_s3) (joncampbell123) +* Menu options "Force scaler" and "Print text screen" + can now be assigned to keyboard shortcuts from the + Mapper Editor. (Wengier) +* Allowed to boot from Toshiba DOS image file for the + Toshiba J-3100 emulation. (nanshiki) +* Default S3 machine types now support XGA/SXGA VText + in DOS/V, in addition to svga_et4000. (nanshiki) +* Added "j3100backcolor" and "j300textcolor" config + options (in [dosv] section) to specify background + and text colors in J-3100 mode. (nanshiki) +* Added config option "aspect_ratio" (in [render] + section) which when set will force the specified + aspect ratio (e.g. 16:9 or 3:2) in the aspect ratio + correction mode (i.e. aspect=true). A menu group + "Aspect ratio" is added to "Video" menu for users + to select or set an aspect ratio, including an + original ratio option. (Wengier) +* Added config option "show recorded filename" (in + [dosbox] section) which when set to true (default) + will show message boxes with recorded filenames + when making audio or video captures. (Wengier) +* Added config option "allow quit after warning" (in + [dosbox] section) which when set to false DOSBox-X + will disallow the quit option after displaying a + warning message. (Wengier) +* Added config option "turbo last second" (in [cpu] + section) which allows to stop the Turbo function + after specified number of seconds. (Wengier) +* Updated FLAC, MP3, and WAV decoder libraries to the + latest versions (v0.12.38, v0.6.32, and v0.13.6) + respectively; per David Reid). (Wengier) +* Added support for upper case characters (A-Z) for + AUTOTYPE command. (kcgen) +* Added /T option for CHOICE command to set a default + choice as in DOS, e.g. CHOICE /T:Y,3 (Wengier) +* Added Korean language option in Windows installer. + Also, language option page will be shown regardless + of the output option selected. (Wengier) +* Add stub INT 10h handler at F000:F065 if + machine=vgaonly and using a VGA ROM BIOS image. + The IBM VGA ROM BIOS image points INT 42h at that + fixed address and calls it for any function it does + not understand. (joncampbell123) +* Set int33 event status bit 8 when passing absolute + mouse coordinates, which is useful in emulation or + virtualization environments where the mouse may be + integrated with the host cursor. (javispedro) +* Added support for Pentium Pro hinting NOPs and + related multi-byte NOPs. (Jookia) +* Updated HX DOS Extender to latest version 2.19 for + HX-DOS builds. (Wengier) +* DOSBox-X returns 1 instead of 0 when E_Exit occurs + or unit tests fail. (Wengier) +* Fixed built-in IPX and Modem emulation unavailable + in MinGW builds. (Wengier) +* Fixed -machine command-line option (as listed by + "INTRO USAGE" command) not working. (Wengier) +* Fixed lockup in classic Jumpman. (maron2000) +* Fixed color in some modes under x86-64 macOS SDL2 + builds. (myon98) +* Fixed extra INT 10h call during BIOS screen. The + extra call caused crashes when combined with a ROM + image of the stock IBM VGA BIOS. (joncampbell123) +* Fixed fscale FPU operation and updated FPU status + word. Also fixed FPU stack value log messages on + x86-based builds. (cimarronm) +* Fixed bug that OpenGL Voodoo window may not appear + correctly if the DOSBox-X window was previously in + full-screen mode in some builds. DOSBox-X will now + ensure a switch to window mode (or maximized window + mode) in this case. Also fixed some menu options + including rebooting DOSBox-X while Voodoo emulation + is currently active. (Wengier) +* Fixed crash when switching to dynamic_rec core from + menu when dynamic_x86 is also available. Also fixed + the dynamic_rec core may not be displayed correctly + in the menu when a language file is used. (Wengier) +* Fixed Windows resource information. (Wengier) +* Fixed a buffer overflow when launching a program. + (Jookia) +* Fixed bug where DOS IOCTL would call device control + channel on devices which did not advertise support + for IOCTL. (cimarronm) +* Clean up of DOS device and attribute flag usage + (cimarronm) +* Integrated commits from mainline (Allofich) + - Use real pointer with font data for reading + characters. Also ignore page number for modes with only one page. \ No newline at end of file diff --git a/_release_notes/0.83.5.md b/_release_notes/0.83.5.md index d4a5586740e..9662e7f2594 100644 --- a/_release_notes/0.83.5.md +++ b/_release_notes/0.83.5.md @@ -1,168 +1,169 @@ ---- -date: "September 1, 2020" ---- - -* Windows installer now offers the option to upgrade - the DOSBox-X config file (dosbox-x.conf) to the - latest version format automatically while keeping - users' current settings. It can also add a context - menu for executables (.exe, .com, .bat), config - files (.conf) and folders in the Windows Explorer - so that you could quickly run or open them with - DOSBox-X from the Windows Explorer. More icons - are added to the DOSBox-X program group within the - Start menu as well. (Wengier) -* Added config option "startbanner" in [dosbox] - section which if set to "false" would skip the - welcome banner when DOSBox-X starts. Also added - config option "fastbioslogo" which if set to "true" - will skip the BIOS logo (replacing the command-line - option -fastbootlogo). A new command-line option - "-fastlaunch" is added to enable fast launch mode - by skipping both the logo and the banner. (Wengier) -* Added config option "ega per scanline hpel" in - [dosbox] section to control whether EGA emulation - latches hpel at display start (as VGA emulation - does) or allows hpel to change per scanline. - Setting the option to false is needed for some - games like Commander Keen. -* Support for mounting CD images with a sector size - of 2448, used by for example the MDF image of the - game Grand Theft Auto. (Wengier) -* Allowed Sound Blaster to be enabled by the games - "Desert Strike" and "Jungle Strike". (Wengier) -* Sound Blaster Pro emulation now maps DSP commands - 0x41 to 0x47 as aliases of 0x40 (set time constant) - to support broken demoscene code that uses 0x41 - in that way. Yes, such code would obviously break - on clone cards and the SB16. Added a config option - "dsp command aliases" in [sblaster] section to turn - it off for debugging. Alias is documented on Vogons - forums where someone made a SB Pro clone card. -* Fixed the issue with CD audio play by porting the - audio code from DOSBox ECE. (Wengier) -* COPY command now assumes /Y automatically when - running in the batch file or with CALL command - (or COMMAND /C) as in real DOS. (Wengier) -* DOSBox-X will allow control characters 8 (BS), - 9 (TAB), 26 (SUB), and 27 (ESC) when executing GOTO - command in batch files without warnings. (Wengier) -* Normal core: REP MOVSD now checks segment limits - for ES:(E)DI and throws a GP fault if exceeded. - Demoscene productions marked as using VESA BIOS - modes and scribbling on the VGA BIOS are relying - on segment limits and GP faults to fake a linear - framebuffer. -* Added config option "vesa bank switching window - range check" to allow disabling the VESA BIOS - window number range check when called on to - bank switch. Needed for "Pill" by Opiate in the - end credits, which for some reason requires a - call for window number 0xFFFF to succeed in order - to draw credits without glitching. -* Added config option "vesa bank switching window - mirroring" for instructing VESA BIOS to ignore - bank switching window parameter when asked to - get/set bank switching window setting. Needed for - some old demoscene and game applications that - assume Window B is available, and will not render - SVGA properly without it. -* Added config option "quit warning" to indicate if - DOSBox-X should warn show a warning message when - you try to close the DOSBox-X window. If set to - "auto" (default), DOSBox-X will warn only if at - least one file handle is still open, or you are - currently running a guest system. (Wengier) -* Add command-line option "-defaultdir" to specify - a directory (instead of the current directory) as - the working directory. DOSBox-X will look for the - dosbox-x.conf file in this directory. (Wengier) -* The -winrun command-line option will also enable - LFN support with "lfn=auto" on Windows. (Wengier) -* VER /R now shows DOSBox-X's Git commit SHA1, in - addition to the build date and other version - information shown by the VER command. (Wengier) -* Fixed that joystick may not work with the setting - "usescancodes=auto" when a non-US keyboard layout - is activated on the SDL1 build. (Wengier) -* DOSBox-X will now search for system fonts if the - fonts required for the printing feature cannot be - found in the FONTS directory. (Wengier) -* Added menu item "Send form-feed" under the DOS menu - for manually ejecting new pages to print. (Wengier) -* Added "Quick launch program..." menu (under "DOS") - to quickly run the specified program as selected - by the Windows file browser in DOSBox-X. (Wengier) -* Added "Drive information" menu item under "Drive" - menu to show information for the specified drive, - and added "Show mounted drive numbers" menu item - under "DOS" menu to show details for all mounted - drive numbers (0-5). (Wengier) -* The command "Swap CD" now swaps only CD drives (as - the name), not all non-floppy drives. Also added - "Swap disk" menu item under the "Drive" menu for - swapping individual mounted drives. (Wengier) -* IMGMAKE now tries to resolve home directory (~) - on Linux and macOS platforms. Also improved the - help message for this command. (Wengier) -* Fixed unmounting swap disks when unmounting drives - with MOUNT or IMGMOUNT command. (Wengier) -* Fixed possible failure when mounting .VHD images, - and the issue that leading colon (:) or read-only - marker may not work for such images. (Wengier) -* IMGMOUNT command without parameters now shows the - disk position and number of swap disks, as well as - IDE controller (if applicable). Also added option - -examples to show its usage examples. (Wengier) -* Add "-ro" option for IMGMOUNT command to mark all - disk images as read-only at once. You could also - mark read-only disk images individually using the - leading colon as in previous versions. (Wengier) -* The default value for "output" (in "sdl" section) - is now "default", which will default to the value - according to your platform. (Wengier) -* The -Q (quiet) option of MOUNT, BOOT and RESCAN - commands now silences virtually all outputs (error - and normal messages) of these commands. (Wengier) -* Worked around the mounting issue with LaunchBox, - by allowing a mounting command-line with single - quotes like MOUNT C 'X:\DOS' on Windows. (Wengier) -* Unmounting ISO drives will auto-unmount associated - El Torito floppy drives (if any) too. (Wengier) -* Updated xxHash library by Yann Collet from 0.7.4 - to the stable version 0.8.0. (Wengier) -* Added support for the OPL2 audio board by setting - the config option "oplemu=opl2board". -* The save state feature now tries to save and then - restore the mounted drives of all types (if the - paths or image files still exist on host system). - This fixes the "save state corrupted" error while - trying to load saved states but the drives are not - yet mounted in DOSBox-X. (Wengier) -* The save state feature now verifies the emulated - machine type (VGA, PC98, etc) too when loading a - saved state. All confirm and error dialog boxes - for saving or loading states appear in a cross- - platform manner now, instead of only on Windows - systems. Also added the option to remove the saved - state in the selected save slot. (Wengier) -* Increased the number of save slots from 10 to 100. - Each page in the save slot menu (under "Capture") - still shows 10 slots as before, but you can now go - to the previous or next page (up to 10 pages) for - more save slots (100 in total). (Wengier). -* The [pci] section is now the [voodoo] section, and - the config option "voodoo" (the only option of that - section) is now named "voodoo_card" within the - [voodoo] section to make clear it is for emulating - the Voodoo card hardware. Also added config option - "voodoo_maxmem" (default: true) to specify whether - to use the maximum memory size (12MB instead of the - standard 4MB) for the Vooodoo card. (Wengier) -* Added support for Glide wrapper. It can be enabled - with the new config option "glide" set to "true" - in [voodoo] section. The library file glide2x.dll - (Windows)/libglide2x.so (Linux)/libglide2x.dylib - (macOS) is required for Glide to work. Be sure to - use 32-bit dll for 32-bit DOSBox-X binary, and +--- +slug: 0.83.5 +date: "September 1, 2020" +--- + +* Windows installer now offers the option to upgrade + the DOSBox-X config file (dosbox-x.conf) to the + latest version format automatically while keeping + users' current settings. It can also add a context + menu for executables (.exe, .com, .bat), config + files (.conf) and folders in the Windows Explorer + so that you could quickly run or open them with + DOSBox-X from the Windows Explorer. More icons + are added to the DOSBox-X program group within the + Start menu as well. (Wengier) +* Added config option "startbanner" in [dosbox] + section which if set to "false" would skip the + welcome banner when DOSBox-X starts. Also added + config option "fastbioslogo" which if set to "true" + will skip the BIOS logo (replacing the command-line + option -fastbootlogo). A new command-line option + "-fastlaunch" is added to enable fast launch mode + by skipping both the logo and the banner. (Wengier) +* Added config option "ega per scanline hpel" in + [dosbox] section to control whether EGA emulation + latches hpel at display start (as VGA emulation + does) or allows hpel to change per scanline. + Setting the option to false is needed for some + games like Commander Keen. +* Support for mounting CD images with a sector size + of 2448, used by for example the MDF image of the + game Grand Theft Auto. (Wengier) +* Allowed Sound Blaster to be enabled by the games + "Desert Strike" and "Jungle Strike". (Wengier) +* Sound Blaster Pro emulation now maps DSP commands + 0x41 to 0x47 as aliases of 0x40 (set time constant) + to support broken demoscene code that uses 0x41 + in that way. Yes, such code would obviously break + on clone cards and the SB16. Added a config option + "dsp command aliases" in [sblaster] section to turn + it off for debugging. Alias is documented on Vogons + forums where someone made a SB Pro clone card. +* Fixed the issue with CD audio play by porting the + audio code from DOSBox ECE. (Wengier) +* COPY command now assumes /Y automatically when + running in the batch file or with CALL command + (or COMMAND /C) as in real DOS. (Wengier) +* DOSBox-X will allow control characters 8 (BS), + 9 (TAB), 26 (SUB), and 27 (ESC) when executing GOTO + command in batch files without warnings. (Wengier) +* Normal core: REP MOVSD now checks segment limits + for ES:(E)DI and throws a GP fault if exceeded. + Demoscene productions marked as using VESA BIOS + modes and scribbling on the VGA BIOS are relying + on segment limits and GP faults to fake a linear + framebuffer. +* Added config option "vesa bank switching window + range check" to allow disabling the VESA BIOS + window number range check when called on to + bank switch. Needed for "Pill" by Opiate in the + end credits, which for some reason requires a + call for window number 0xFFFF to succeed in order + to draw credits without glitching. +* Added config option "vesa bank switching window + mirroring" for instructing VESA BIOS to ignore + bank switching window parameter when asked to + get/set bank switching window setting. Needed for + some old demoscene and game applications that + assume Window B is available, and will not render + SVGA properly without it. +* Added config option "quit warning" to indicate if + DOSBox-X should warn show a warning message when + you try to close the DOSBox-X window. If set to + "auto" (default), DOSBox-X will warn only if at + least one file handle is still open, or you are + currently running a guest system. (Wengier) +* Add command-line option "-defaultdir" to specify + a directory (instead of the current directory) as + the working directory. DOSBox-X will look for the + dosbox-x.conf file in this directory. (Wengier) +* The -winrun command-line option will also enable + LFN support with "lfn=auto" on Windows. (Wengier) +* VER /R now shows DOSBox-X's Git commit SHA1, in + addition to the build date and other version + information shown by the VER command. (Wengier) +* Fixed that joystick may not work with the setting + "usescancodes=auto" when a non-US keyboard layout + is activated on the SDL1 build. (Wengier) +* DOSBox-X will now search for system fonts if the + fonts required for the printing feature cannot be + found in the FONTS directory. (Wengier) +* Added menu item "Send form-feed" under the DOS menu + for manually ejecting new pages to print. (Wengier) +* Added "Quick launch program..." menu (under "DOS") + to quickly run the specified program as selected + by the Windows file browser in DOSBox-X. (Wengier) +* Added "Drive information" menu item under "Drive" + menu to show information for the specified drive, + and added "Show mounted drive numbers" menu item + under "DOS" menu to show details for all mounted + drive numbers (0-5). (Wengier) +* The command "Swap CD" now swaps only CD drives (as + the name), not all non-floppy drives. Also added + "Swap disk" menu item under the "Drive" menu for + swapping individual mounted drives. (Wengier) +* IMGMAKE now tries to resolve home directory (~) + on Linux and macOS platforms. Also improved the + help message for this command. (Wengier) +* Fixed unmounting swap disks when unmounting drives + with MOUNT or IMGMOUNT command. (Wengier) +* Fixed possible failure when mounting .VHD images, + and the issue that leading colon (:) or read-only + marker may not work for such images. (Wengier) +* IMGMOUNT command without parameters now shows the + disk position and number of swap disks, as well as + IDE controller (if applicable). Also added option + -examples to show its usage examples. (Wengier) +* Add "-ro" option for IMGMOUNT command to mark all + disk images as read-only at once. You could also + mark read-only disk images individually using the + leading colon as in previous versions. (Wengier) +* The default value for "output" (in "sdl" section) + is now "default", which will default to the value + according to your platform. (Wengier) +* The -Q (quiet) option of MOUNT, BOOT and RESCAN + commands now silences virtually all outputs (error + and normal messages) of these commands. (Wengier) +* Worked around the mounting issue with LaunchBox, + by allowing a mounting command-line with single + quotes like MOUNT C 'X:\DOS' on Windows. (Wengier) +* Unmounting ISO drives will auto-unmount associated + El Torito floppy drives (if any) too. (Wengier) +* Updated xxHash library by Yann Collet from 0.7.4 + to the stable version 0.8.0. (Wengier) +* Added support for the OPL2 audio board by setting + the config option "oplemu=opl2board". +* The save state feature now tries to save and then + restore the mounted drives of all types (if the + paths or image files still exist on host system). + This fixes the "save state corrupted" error while + trying to load saved states but the drives are not + yet mounted in DOSBox-X. (Wengier) +* The save state feature now verifies the emulated + machine type (VGA, PC98, etc) too when loading a + saved state. All confirm and error dialog boxes + for saving or loading states appear in a cross- + platform manner now, instead of only on Windows + systems. Also added the option to remove the saved + state in the selected save slot. (Wengier) +* Increased the number of save slots from 10 to 100. + Each page in the save slot menu (under "Capture") + still shows 10 slots as before, but you can now go + to the previous or next page (up to 10 pages) for + more save slots (100 in total). (Wengier). +* The [pci] section is now the [voodoo] section, and + the config option "voodoo" (the only option of that + section) is now named "voodoo_card" within the + [voodoo] section to make clear it is for emulating + the Voodoo card hardware. Also added config option + "voodoo_maxmem" (default: true) to specify whether + to use the maximum memory size (12MB instead of the + standard 4MB) for the Vooodoo card. (Wengier) +* Added support for Glide wrapper. It can be enabled + with the new config option "glide" set to "true" + in [voodoo] section. The library file glide2x.dll + (Windows)/libglide2x.so (Linux)/libglide2x.dylib + (macOS) is required for Glide to work. Be sure to + use 32-bit dll for 32-bit DOSBox-X binary, and 64-bit dll for 64-bit DOSBox-X binary. (Wengier) \ No newline at end of file diff --git a/_release_notes/0.83.6.md b/_release_notes/0.83.6.md index ac41261e2f8..ab738ba7f22 100644 --- a/_release_notes/0.83.6.md +++ b/_release_notes/0.83.6.md @@ -1,176 +1,177 @@ ---- -date: September 30, 2020 ---- - -* Improved internal Voodoo card hardware emulation, - such as fixing the font issue with the 3dfx version - of Tomb Raider when using non-Glide mode. Portions - of the code are ported from DOSBox ECE. (Wengier) -* Added OpenGL shader support by porting the feature - from DOSBox SVN. GLSL shaders are now supported in - both SDL1 and SDL2 builds, and this also allows - pixel-perfect scaling to be enabled for the OpenGL - outputs. The config option "glshader" (in [render] - section) can be used to specify a GLSL shader file - or a built-in shader when the output is set to - "opengl" or "openglnb". For example, you can use - the setting "glshader=sharp" (built-in shader) or - "glshader=pixel_perfect" (with GLSL shader file) - for the pixel-perfect scaling mode. The Windows - installer will also copy several GLSL shader files - to the "glshaders" subdirectory of the DOSBox-X - install directory to be used directly. (Wengier) -* Support for FluidSynth MIDI Synthesizer is now - included in the Windows Visual Studio builds by - default. Set "mididevice=fluidsynth" and a sound - font (e.g. GeneralUser_GS.sf2) to use it. (Wengier) -* Updated the MUNT MT32 emulation library to its - latest version 2.4.0. A few new MT32 config options - (starting with "mt32.") are added to [midi] section - of the DOSBox-X configuration. (Wengier) -* The DOSMID and MPXPLAY programs have been built - into DOSBox-X, both can be found on the Z drive and - feature full-screen user interfaces with support - for command-line usages (use /? option for help). - DOSMID can play MIDI/RMI/MUS audio files, whereas - MPXPLAY is a powerful and flexible audio player - with support for a variety of formats including - AAC/AC3/APE/FLAC/MP2/MP3/MPC/OGG/WAV and more with - playlist support. (Wengier) -* The mounting options "Mount as Hard Disk", "Mount - as CD-ROM", "Mount as Floppy", "Mount disk image" - and "Boot from disk image" (previously only for - Windows) in the "Drive" menu and the "Quick launch - program..." in the "DOS" menu are now available - for non-Windows platforms as well. (Wengier) -* Added "Shared Windows clipboard functions" menu - group under "Main", which allows you to enable - or disable the different ways for DOSBox-X to - communicate with the Windows clipboard. (Wengier) -* Added config option "dos clipboard api" in [dos] - section to control whether to enable the DOS APIs - for communications with the Windows clipboard for - DOS applications. (Wengier) -* Added config option "clip_mouse_button" to select - a mouse button (middle, right, or none; with right - mouse button being the default) for copying to and - pasting from the Windows clipboard. (Wengier) -* The mouse wheel movements will be automatically - converted into up/down arrows by default for the - intergrated DOS now. You can also enable it for - the guest system from the "Main" menu ("mouse wheel - movements" -> "Enable for guest systems also") or - from the config file. (Wengier) -* Added "Emulate CPU speed" menu group (under "CPU") - to emulate the speed of a specific CPU class. The - cycles to emulate are approximations of the actual - CPU hardware, and they are available thanks to data - provided by the user maximus105. Also added config - option "cycle emulation percentage adjust" in [cpu] - section for users who would like to make relative - percentage adjustments (between -25% and 25%) in - case it is necessary. (Wengier) -* Added SORT command from FreeDOS. It can be used to - sort input, e.g. "TYPE FILE.TXT | SORT". (Wengier) -* Added DELTREE command to delete a directory and all - the subdirectories and files in it as in a real DOS - system. Please use it with caution. (Wengier) -* The command for starting the Configuration Tool has - been renamed from "SHOWGUI" to "CFGTOOL". A new - command-line option -gui is added to CONFIG command - to start the Configuration Tool as well. (Wengier) -* DOSBox-X now includes ZIP.EXE and UNZIP.EXE from - InfoZip for zipping and unzipping files in DOS. - Both programs will appear on the Z drive. (Wengier) -* The powerful DOS CD player called SJGPLAY has been - built into DOSBox-X. You can now find the program - CDPLAY.EXE in the Z drive for playing Audio CDs in - DOS, which supports both graphical and command-line - usage, and you will also find a text file named - CDPLAY.TXT in the Z drive for a quick usage guide. - A zip package including full documentation and some - extras will additionally appear as SJGPLAY.ZIP in - the Z drive. This freeware program was written by - Steve Gray and is now included in DOSBox-X with - explicit permission of the author. (Wengier) -* DOSBox-X will now by default show a quit warning - if a DOS program or game, or a guest system is - running. The previous behavior can be set with - "quit warning=autofile". (Wengier) -* The welcome banner when DOSBox-X starts has been - improved for a better looking and should provide - more helpful instructions for users. (Wengier) -* Add new "Help" menu which includes menu items - "Introduction", "DOSBox-X homepage", "DOSBox-X Wiki - guide", "DOSBox-X support" and "About". (Wengier) -* Improved the message when automatically re-running - the executable which failed with the "Packed file - is corrupt" error. Also added the "autoloadfix" - config option which when set to "false" will not - automatically re-run such programs. (Wengier) -* The display for several section names in DOSBox-X's - graphical configuration tool has been capitalized - or modified otherwise to look better. A default - shortcut key HOST(F11/F12)+C is added for starting - the graphical configuration tool. (Wengier) -* Added the "Show advanced options" checkbox in the - main screen of the Configuration GUI to toggle - whether to display all config options for the - sections. If unchecked (default), it will show - common config options instead of all of them. A - new config option "show advanced options" is added - which when set to "true" will make the checkbox - checked by default. (Wengier) -* Added code to cap the scan line length given to - the VESA BIOS given the video mode. This prevents - VBETEST.EXE from doing test patterns smaller than - the actual display, which can happen with 32bpp - 320x200 modes and 1MB or less video RAM. -* VESA BIOS Set Scan Line Length fixed to properly - report and handle scan line length for 16-color - SVGA planar modes. VBETEST 16-color modes now - display correctly. -* Added option to control whether VESA BIOS panning - (the original VBE call) waits for vsync. -* Moved video related config options from [dosbox] - section to its own [video] section. These options - in existing config files will be automatically - redirected to the [video] section from the [dosbox] - section when DOSBox-X starts. Windows installer can - also move such config options from existing config - files automatically. (Wengier) -* Cleared modem phone book before parsing it. Thank - NicknineTheEagle for the improvement. -* Improved the help message of MOUNT command. Also - added option -examples to show its usage examples, - similar to IMGMOUNT and IMGMAKE commands. (Wengier) -* Fixed freeze when trying to reboot the internal - DOS when using a different code page and it is in - CGA or EGA emulation modes. (Wengier) -* DOSBox-X will now try to use the internal DOS date - and time (instead of always using the host date and - date) for file modication timestamps. (Wengier) -* Added menu item "Expanded memory (EMS)" under "DOS" - menu to dynamically enable or disable EMS memory - at run-time. You can now also modify EMS memory - with CONFIG command from command-line. (Wengier) -* Added config option "drive z hide files" (in [dos] - section) to hide or remove files listed (separated - by spaces) from the Z drive. If a file has a "/" - prefix (e.g. "/INTRO.COM"), then the specified file - will have the hidden attribute ("DIR /A" will list - all such files) instead of completely disappearing - from the Z drive. (Wengier) -* You can now add your own programs or files to the - Z drive! Put your programs or files in the drivez - directory located in the DOSBox-X program folder - or the DOSBox-X configuration directory, and they - will automatically appear on the Z drive. If any of - the files have the same names as the built-in ones, - they will replace the built-in files. For example, - you can replace the built-in EDIT.COM and XCOPY.EXE - programs (from FreeDOS) with MS-DOS counterparts. - Windows installer will now automatically create a - drivez directory with a README.TXT file in it too. - For subdirectories support please use MOUNT command +--- +slug: 0.83.6 +date: September 30, 2020 +--- + +* Improved internal Voodoo card hardware emulation, + such as fixing the font issue with the 3dfx version + of Tomb Raider when using non-Glide mode. Portions + of the code are ported from DOSBox ECE. (Wengier) +* Added OpenGL shader support by porting the feature + from DOSBox SVN. GLSL shaders are now supported in + both SDL1 and SDL2 builds, and this also allows + pixel-perfect scaling to be enabled for the OpenGL + outputs. The config option "glshader" (in [render] + section) can be used to specify a GLSL shader file + or a built-in shader when the output is set to + "opengl" or "openglnb". For example, you can use + the setting "glshader=sharp" (built-in shader) or + "glshader=pixel_perfect" (with GLSL shader file) + for the pixel-perfect scaling mode. The Windows + installer will also copy several GLSL shader files + to the "glshaders" subdirectory of the DOSBox-X + install directory to be used directly. (Wengier) +* Support for FluidSynth MIDI Synthesizer is now + included in the Windows Visual Studio builds by + default. Set "mididevice=fluidsynth" and a sound + font (e.g. GeneralUser_GS.sf2) to use it. (Wengier) +* Updated the MUNT MT32 emulation library to its + latest version 2.4.0. A few new MT32 config options + (starting with "mt32.") are added to [midi] section + of the DOSBox-X configuration. (Wengier) +* The DOSMID and MPXPLAY programs have been built + into DOSBox-X, both can be found on the Z drive and + feature full-screen user interfaces with support + for command-line usages (use /? option for help). + DOSMID can play MIDI/RMI/MUS audio files, whereas + MPXPLAY is a powerful and flexible audio player + with support for a variety of formats including + AAC/AC3/APE/FLAC/MP2/MP3/MPC/OGG/WAV and more with + playlist support. (Wengier) +* The mounting options "Mount as Hard Disk", "Mount + as CD-ROM", "Mount as Floppy", "Mount disk image" + and "Boot from disk image" (previously only for + Windows) in the "Drive" menu and the "Quick launch + program..." in the "DOS" menu are now available + for non-Windows platforms as well. (Wengier) +* Added "Shared Windows clipboard functions" menu + group under "Main", which allows you to enable + or disable the different ways for DOSBox-X to + communicate with the Windows clipboard. (Wengier) +* Added config option "dos clipboard api" in [dos] + section to control whether to enable the DOS APIs + for communications with the Windows clipboard for + DOS applications. (Wengier) +* Added config option "clip_mouse_button" to select + a mouse button (middle, right, or none; with right + mouse button being the default) for copying to and + pasting from the Windows clipboard. (Wengier) +* The mouse wheel movements will be automatically + converted into up/down arrows by default for the + intergrated DOS now. You can also enable it for + the guest system from the "Main" menu ("mouse wheel + movements" -> "Enable for guest systems also") or + from the config file. (Wengier) +* Added "Emulate CPU speed" menu group (under "CPU") + to emulate the speed of a specific CPU class. The + cycles to emulate are approximations of the actual + CPU hardware, and they are available thanks to data + provided by the user maximus105. Also added config + option "cycle emulation percentage adjust" in [cpu] + section for users who would like to make relative + percentage adjustments (between -25% and 25%) in + case it is necessary. (Wengier) +* Added SORT command from FreeDOS. It can be used to + sort input, e.g. "TYPE FILE.TXT | SORT". (Wengier) +* Added DELTREE command to delete a directory and all + the subdirectories and files in it as in a real DOS + system. Please use it with caution. (Wengier) +* The command for starting the Configuration Tool has + been renamed from "SHOWGUI" to "CFGTOOL". A new + command-line option -gui is added to CONFIG command + to start the Configuration Tool as well. (Wengier) +* DOSBox-X now includes ZIP.EXE and UNZIP.EXE from + InfoZip for zipping and unzipping files in DOS. + Both programs will appear on the Z drive. (Wengier) +* The powerful DOS CD player called SJGPLAY has been + built into DOSBox-X. You can now find the program + CDPLAY.EXE in the Z drive for playing Audio CDs in + DOS, which supports both graphical and command-line + usage, and you will also find a text file named + CDPLAY.TXT in the Z drive for a quick usage guide. + A zip package including full documentation and some + extras will additionally appear as SJGPLAY.ZIP in + the Z drive. This freeware program was written by + Steve Gray and is now included in DOSBox-X with + explicit permission of the author. (Wengier) +* DOSBox-X will now by default show a quit warning + if a DOS program or game, or a guest system is + running. The previous behavior can be set with + "quit warning=autofile". (Wengier) +* The welcome banner when DOSBox-X starts has been + improved for a better looking and should provide + more helpful instructions for users. (Wengier) +* Add new "Help" menu which includes menu items + "Introduction", "DOSBox-X homepage", "DOSBox-X Wiki + guide", "DOSBox-X support" and "About". (Wengier) +* Improved the message when automatically re-running + the executable which failed with the "Packed file + is corrupt" error. Also added the "autoloadfix" + config option which when set to "false" will not + automatically re-run such programs. (Wengier) +* The display for several section names in DOSBox-X's + graphical configuration tool has been capitalized + or modified otherwise to look better. A default + shortcut key HOST(F11/F12)+C is added for starting + the graphical configuration tool. (Wengier) +* Added the "Show advanced options" checkbox in the + main screen of the Configuration GUI to toggle + whether to display all config options for the + sections. If unchecked (default), it will show + common config options instead of all of them. A + new config option "show advanced options" is added + which when set to "true" will make the checkbox + checked by default. (Wengier) +* Added code to cap the scan line length given to + the VESA BIOS given the video mode. This prevents + VBETEST.EXE from doing test patterns smaller than + the actual display, which can happen with 32bpp + 320x200 modes and 1MB or less video RAM. +* VESA BIOS Set Scan Line Length fixed to properly + report and handle scan line length for 16-color + SVGA planar modes. VBETEST 16-color modes now + display correctly. +* Added option to control whether VESA BIOS panning + (the original VBE call) waits for vsync. +* Moved video related config options from [dosbox] + section to its own [video] section. These options + in existing config files will be automatically + redirected to the [video] section from the [dosbox] + section when DOSBox-X starts. Windows installer can + also move such config options from existing config + files automatically. (Wengier) +* Cleared modem phone book before parsing it. Thank + NicknineTheEagle for the improvement. +* Improved the help message of MOUNT command. Also + added option -examples to show its usage examples, + similar to IMGMOUNT and IMGMAKE commands. (Wengier) +* Fixed freeze when trying to reboot the internal + DOS when using a different code page and it is in + CGA or EGA emulation modes. (Wengier) +* DOSBox-X will now try to use the internal DOS date + and time (instead of always using the host date and + date) for file modication timestamps. (Wengier) +* Added menu item "Expanded memory (EMS)" under "DOS" + menu to dynamically enable or disable EMS memory + at run-time. You can now also modify EMS memory + with CONFIG command from command-line. (Wengier) +* Added config option "drive z hide files" (in [dos] + section) to hide or remove files listed (separated + by spaces) from the Z drive. If a file has a "/" + prefix (e.g. "/INTRO.COM"), then the specified file + will have the hidden attribute ("DIR /A" will list + all such files) instead of completely disappearing + from the Z drive. (Wengier) +* You can now add your own programs or files to the + Z drive! Put your programs or files in the drivez + directory located in the DOSBox-X program folder + or the DOSBox-X configuration directory, and they + will automatically appear on the Z drive. If any of + the files have the same names as the built-in ones, + they will replace the built-in files. For example, + you can replace the built-in EDIT.COM and XCOPY.EXE + programs (from FreeDOS) with MS-DOS counterparts. + Windows installer will now automatically create a + drivez directory with a README.TXT file in it too. + For subdirectories support please use MOUNT command to mount local directory instead. (Wengier). \ No newline at end of file diff --git a/_release_notes/0.83.7.md b/_release_notes/0.83.7.md index fa28c15e751..af0f0d31dde 100644 --- a/_release_notes/0.83.7.md +++ b/_release_notes/0.83.7.md @@ -1,355 +1,356 @@ ---- -date: November 1, 2020 ---- - -## 1. Notable New Features - -* **32-bit and 64-bit x86 dynamic core** - - With the new x86 dynamic CPU core for both 32-bit and 64-bit systems, the overall emulation speed for DOS programs is noticeably improved. Set either "core=dynamic" or "core=dynamic_x86" to enable this core. -* **New CPU types to emulate CPU speed** - - You can now emulate the speed in terms of CPU cycles for 286-25MHz, 386DX-25MHz, 486DX4-100MHz, 486DX5-133MHz, Pentium-60MHz, Pentium-75MHz, and Pentium-90MHz CPUs. -* **Opus CD audio tracks** - - Support for cue sheets with Opus CD-DA tracks is now available, in addition to FLAC, MP3, WAV, OGG Vorbis CD-DA tracks already supported. Use either the menu or IMGMOUNT command to mount them. -* **Full Ctrl+Break handler** - - DOSBox-X now supports full Ctrl+C/Ctrl+Break emulation in the DOS shell and DOS applications. You can also send Ctrl+Break as a special key from the "Main" menu. -* **Support for save files and save remarks** - - For the save and load state feature, you can now save to your own save files instead of pre-defined save slots. Save remarks can be entered too for both pre-defined save slots and your own save files. -* **Setting the window position at startup** - - A new config option "windowposition" (in [sdl] section) is supported to set the window position at startup in the positionX,positionY format. -* **New clipboard copy and paste features** - - There are new clipboard functions such as "copy all text on the DOS screen" and "Stop clipboard pasting" in the menu. Moreover, the mouse copy and paste feature is now supported in Linux and macOS SDL2 builds as well. -* **FluidSynth in Windows MinGW builds** - - Support for FluidSynth MIDI Synthesizer is now included in the MinGW builds by default just like Visual Studio builds. Set "mididevice=fluidsynth" and a soundfont file (e.g. GeneralUser_GS.sf2) to use it. -* **xBRZ scaler in Visual Studio SDL2 builds** - - The xBRZ scaler is now enabled for Visual Studio SDL2 builds just like Visual Studio SDL1 builds. You can enable it either with the setting "scaler=xbrz" or from the menu (from "Video" -> "Scaler"). -* **Raw mouse input option for SDL2 builds** - - You can enable this option to bypass the operating system's mouse acceleration and sensitivity settings. This works in fullscreen or when the mouse is captured in window mode. -* **Mount multiple disk or CD images from menu** - - You can now mount multiple floppy, hard disk or CD images from the "Drive" menu, swappable with "Swap floppy" or "Swap CD". Command-line usage for this is no longer required. -* **Changing text-mode video settings from menu** - - It is now possible to change some text-mode related video settings such as the number of rows and columns directly from the menu (from "Video" -> "Text-mode"). -* **Display Sound Blaster and MIDI device configurations from menu** - - The menu items "Show Sound Blaster configuration" and "Show MIDI device configuration" are added to the "Sound" menu to show the current configurations of the Sound Blaster and MIDI devices. - -## 2. Notable Usability Improvements - -* **New website for DOSBox-X Wiki system** - - The primary DOSBox-X Wiki (where you find the DOSBox-X user guide) is now located at the following URL, which is hopefully easier to remember: [https://dosbox-x.com/wiki](https://dosbox-x.com/wiki) -* **Easier to navigate DOSBox-X default configuration file** - - The primary DOSBox-X sample configuration file now contains common config options only, which should make it easier to navigate than before. The full configuration file is also separately available for users who want to use it. -* **Improved Linux Flatpak support** - - Initial Linux Flatpak support was added in the previous version. This version improves it to make it work better. -* **New default "Typical" installation for Windows installer** - - The "Typical" installation type is added in the Windows installer as the default installation. Unlike the full installation it will not copy all builds to subdirectories in order to make the installation faster. -* **Built-in real parallel port passthrough features in Windows** - - The Windows DLL files inpout32.dll (32-bit) and inpoutx64.dll (64-bit) required for the direct parallel port passthrough feature are now included with Windows installer by default. -* **Native dialog box to display messages** - - DOSBox-X will now use native Windows/Linux/macOS dialog box to display quit warnings and save state errors. -* **Reorganized some menu items** - - Some menu items in the drop-down menus have been renamed or reorganized to make them look better or more clear than before. -* **Improved command-line help messages** - - The help messages for the DOSBox-X command-line options are improved, such as adding the new -silent and -socket command-line options. -* **Improved debuging options from Help menu** - - The debugging-related functions are now availble from the "Help" menu, including the debugger and more debugging functions which were previously under other menus. -* **Select a special key to send to DOS with the customized shortcut** - - You can now select a special key (Alt+Tab, Ctrl+Break, Ctrl+Alt+Del, etc) to be sent from the key defined in the mapper editor. The key can be selected from the "Send special key" menu group in "Main" menu. -* **Shortcuts for copying all screen text and quick launch functions** - - The functions "CopyToClipboard" and "QuickRun" are added to the mapper editor so that you can use shortcuts to activate them (default shortcuts: HOST(F11/F12)+A and HOST(F11/F12)+Q respectively). -* **Enable or disable US keyboard layout for PC-98 mode from menu** - - You can now force the default US keyboard layout in PC-98 mode from the menu (from "Video" -> "PC-98" -> "Use US keyboard layout") for those who want to use PC-98 mode without a Japanese keyboard. - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, including ported recent DOSBox SVN commits. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* The primary DOSBox-X Wiki is now located at the - URL: [https://dosbox-x.com/wiki](https://dosbox-x.com/wiki) - (Wengier) -* Implemented the x86 dynamic core for both 32-bit - and 64-bit systems by re-porting the code from SVN. - Dynamic core now supports either the dynamic_x86 - or the dynamic_rec core. The dynamic_x86 core will - be used by default for x86 and x86_64 platforms and - if "core=dynamic" is set, and Windows 9x can be run - in this dynamic core (although at this time may - encounter some issue with the S3 driver). You can - also explicit specify setting "core=dynamic_x86" or - "core=dynamic_rec" for either the dynamic_x86 core - or the dynamic_rec core. Also thank joncampbell123 - for the 64-bit fix. (Wengier) -* You can now use your own save file (in addition to - save slots! There are now a "Use save file" toggle - item and "Browse save file..." for browsing save - files on your computer. A config option "savefile" - (in [dosbox] section) is added to specify a save - file to use at start. (Wengier) -* Save state feature now allows users to optionally - enter remarks when saving a state. A submenu group - "Save/load option" is added (under "Capture") where - you can toggle menu items "No remark when saving - state" (for disabling input of remarks when saving) - and "force load state mode". A menu item "Display - state information" is added as well to display the - information of the saved state. (Wengier) -* DOSBox-X will now use native dialog box to display - quit warnings and save state errors. (Wengier) -* Changed some DOS error messages (such as "Illegal - command" which now reads "Bad command or filename") - similar to real DOS systems. (Wengier) -* ADDKEY and INT2FDBG commands now appear as programs - on Z: drive instead of shell commands. (Wengier) -* Improved the -z (move virtual drive Z:) function of - MOUNT command. You can move the virtual drive as - many times as you want, and save/load states will - work even after you move the Z: drive. (Wengier) -* Enhanced the config option "freesizecap" to allow - the setting "fixed" which is the same as "false", - and a new setting "relative" is added, which will - be similar to the setting "fixed" but the reported - free disk size will also change relative to the - change of the free disk size ever since. (Wengier) -* Added support for Opus CD-DA tracks by porting and - cleaning up the source code from other projects. - Many thanks to Marty Shepard and kcgen. (Wengier) -* Support for FluidSynth MIDI Synthesizer is now - included in the MinGW builds by default just like - Visual Studio builds. Set "mididevice=fluidsynth" - and a soundfont file to use it. (Wengier) -* Enabled xBRZ scaler for Visual Studio SDL2 builds - just like Visual Studio SDL1 builds. (Wengier) -* Added menu item "Show Sound Blaster configuration" - under "Sound" menu to show the current information - about Sound Blaster, and also menu item "Show MIDI - device configuration" (also under "Sound" menu) - to show information about the current MIDI device - such as the soundfont file in use. (Wengier) -* Added "Mount multiple disk/CD images" option to the - mounting options of the Drive menu to allow users - to mount more than one disk/CD images to a drive, - swappable from the menu. Also added separators to - the Drive submenu to make it look better. (Wengier) -* Added new CPU types to the "Emulate CPU speed" menu - group namely 286-25MHz, 386DX-25MHz, 486DX4-100MHz, - 486DX5-133MHz, Pentium-60MHz, Pentium-75MHz, and - Pentium-90MHz. Thanks again for the data provided - by the user maximus105. (Wengier) -* You can now select a special key (e.g. Alt+Tab, - Ctrl+Break, Ctrl+Alt+Del, etc) to be sent from the - key defined in the mapper editor. The key can be - selected (Ctrl+Alt+Del by default) from the "Send - special key" menu group in "Main" menu. (Wengier) -* Added full Ctrl+Break emulation at the BIOS and - DOS level, updated console emulation to match. - The "Pause" mapper shortcut is now moved to - HOST[F11/F12]+Pause instead of Ctrl+Pause so that - Ctrl+Break can work properly for users, and the - function to send the Ctrl+Break key from the menu - ("Send special key" under "Main") is added. Also, - the PC-98 STOP key now functions the same as the - Ctrl+C and Ctrl+Break keys in IBM PC mode. -* Added functions "CopyToClipboard" and "QuickRun" to - the mapper editor so that you can use shortcuts to - activate them (default shortcuts: HOST(F11/F12)+A - and HOST(F11/F12)+Q respectively), and a default - shortcut HOST(F11/F12)+V is added to the clipboard - paste function. Meanwhile, FullCore and SimpleCore - shortcuts are removed from the mapper. (Wengier) -* Added two new menu items in the "Shared clipboard - functions" menu group under "Main", including "Copy - all text on the DOS screen" which will copy all - screen text to the clipboard, and "Stop clipboard - pasting" which allows user to stop pasting in the - middle of pasting long clipboard content. (Wengier) -* The mouse copy/paste feature is now available for - non-Windows systems on SDL2 builds. Also, pasting - from the clipboard with a mapped shortcut is also - available for Linux/X11 on SDL1 builds. (Wengier) -* Added "Use US keyboard layout" toggle menu item in - the "PC-98" menu group under "Video" to select - whether to force the default US keyboard layout in - PC-98 mode, same as the "pc-98 force ibm keyboard - layout" config option in [pc98] section. Also moved - the "PC-98 PIT master clock" options from the "DOS" - menu to this menu group. (Wengier) -* The full dosbox-x.reference.conf file is renamed to - dosbox-x.reference.full.conf. The original file - dosbox-x.reference.conf now contains common config - options instead of all config options. (Wengier) -* The CONFIG command and Configuration Tool will now - save common and modified config options by default. - The -all command-line option (or "Save all options - to the configuration file" checkbox) will force to - save all config options. A new -mod command-line - option is added to CONFIG command to save modified - config options only, and a new -norem command-line - option is added to not write remarks. (Wengier) -* Updated the Windows installer to default to the - "typical" installation. For the full installation - start menu items will be added for DOSBox-X builds - copied to subdirectories. A new checkbox "Write - common config options (instead of all) to the - configuration file" is added which when checked - will only write common and modified advanced config - options to the config file. Furthermore, for both - "typical" and "full" installations the Windows - installer will now also copies the DLL files - inpout32.dll (32-bit) and inpoutx64.dll (64-bit) to - the DOSBox-X install directory for use with the - direct parallel port passthrough feature. (Wengier) -* Improved Flatpak support for Linux. (rderooy) -* Improved message for the -help command-line option, - adding for example -silent and -socket command-line - options in the help messages. (Wengier) -* Added -silent command-line option to run DOSBox-X - silently (without showing the DOSBox-X window) and - then exit after executing AUTOEXEC.BAT. (Wengier) -* Fixed command-line option -socket not working for - the null-modem feature. (Wengier) -* Fixed issue that aspect ratio not being respected - in full-screen mode when a GLSL shader is enabled - with an OpenGL output. (Wengier) -* Fixed toggle in the "Frameskip" menu group did not - change when selecting a different option. (Wengier) -* Fixed shelling from programs may not work when the - shell config option is set. (Wengier) -* The default country setting ("country" option in - [config] section]) now defaults to auto-detection - if possible, or 81 (Japan) in PC-98 mode. (Wengier) -* Increased the default maximum DOS files (adjustable - from [config] section) from 127 to 200. (Wengier) -* Improved resetting with LOADLIN program. (Wengier) -* Improved Gravis Ultrasound (GUS) implementation to - make it more accurately represent the GUS DMA state - as expected by the running DOS software. -* The archive attribute will no longer automatically - be applied to directories on non-Windows systems. - This fixed issue with PLAYMIDI.EXE from Gravis - Ultrasound when listing directories. (Wengier) -* Applied hack to allow the low DMA channel detection - in the SB16 DIAGNOSE program to work. (Wengier) -* The default setting of the clip_paste_speed option - has been changed from 20 to 30, which will help - prevent lost keystrokes when pasting from the host - clipboard for some programs. (Wengier) -* With Pentium CPU setting (cputype=pentium) DOSBox-X - no longer reports FDIV bug by default. An advanced - config option "report fdiv bug" is added to report - such CPU bug when set to true. (rderooy & Wengier) -* Added support for the XDG_DATA_HOME environment - variable for config directory in Linux. (rderooy) -* Added support for compiling with pcap for Windows - MinGW builds. (Jookia) -* Added config option "windowposition" (in [sdl] - section) to set the window position at startup in - the positionX,positionY format. (tomba4) -* Added config option "raw_mouse_input" (in [sdl] - section; SDL2 builds only) to bypass the operating - system's mouse acceleration & sensitivity settings. - Implemented by NicknineTheEagle. -* Added config option "startquiet" (in [dos] section) - which when set to true will silence the information - messages before launching Windows programs to run - on the Windows host. A toggle menu item "Quiet mode - (no start messages)" is added to the "Windows host - applications" menu group in "DOS" menu. (Wengier) -* The menu "Show details" (under "Main") is renamed - to "Show FPS and RT speed in title bar". (Wengier) -* Add menu group "Text-mode" under "Video" menu to - change some text-mode related video settings, such - as changing the number of rows and columns. A zip - package named TEXTUTIL.ZIP is added to the Z drive - that contains various utilities (such as CGA.COM, - EGA.COM, 132X25.COM, 132X43.COM) to change current - video setting from the command line. Also added a - config option "high intensity blinking" which when - set will display high intensity background colors - instad of blinking foreground text. The menu item - "Allow 9-pixel wide fonts" is moved from the menu - group "Compatibility" to here. (Wengier) -* Added "Debugging" menu group under "Help" menu, and - moved items from the "Video" Debug and "DOS" Debug - menus and the debugger here (debug builds only). - Also allowed to hide/show the console or debugger - window in Windows debug builds. With the menu item - "Console wait on error" checked the Windows console - window will wait for the ENTER key before closing - itself after an E_EXIT occurs. (Wengier) -* Updated MPXPLAY to latest version 1.65. (Wengier) -* Integrated SVN commits (Allofich) - - r4386: Correct MPU-401 clock-to-host function to - operate independently of playing. Fixes hang at - exit when playing Roland music in demos by The - Phoney Coders. Clamp tempo to valid range. - - r4384: ICW1 on the PIC clears the Interrupt Mask - Register. Fixes Antagony and quite a few demos that - expect IRQs to be unmasked. - - r4382: Refine adlib timers a bit more and make - reading the Adlib take a bit more time. - - r4378: Prevent some possible deadlocks with sti - in dynrec core. - - r4375: Improve compatibility with older Intel - chipsets - - r4374: Add a bit of hack so cycles=max/auto 90% - keeps on working inside batch files after r3925. - - r4371: Fix regression in Clue: Master Detective. - - r4370: As an adjunct to r4369, make the reference - counts of standard device handles equivalent to - those of real DOS. - - r4369: Compatible side-effect behavior of DOS in - the file close function. - - r4368: Improve error codes for some DOS file functions. - - r4367: Change FPU_FBST to only write 18 decimals - instead of the wrongly 19, this makes it possible - to switch 64 integers which in turn fixes some - rounding issues. (jmarsh) - - r4282,r4283: Switch to a different way to calculate - DBOPL table offsets. - - r4280: Prevent GenerateDMASound from running with - input of 0. - - r4279: Remove DMA_TRANSFEREND and replace with - DMA_MASKED. - - r4277: Remove cases not needed after r4276 - - r4276: Remove defunct code related to the initial - display mode of the system BIOS during video mode - changes. - - r4274: fix externals. - - r4273: Make frameskip an integer. - - r4269: Use fabsf when return value is a float. - Small warning fix. - - r4265: Some more cleanups and memleak fixes. - - r4264: Pick some lowhanging fruit. (some memory - leaks and unused variables) - - r4262: missed one - - r4261: These actually use float as input. - - r4258: Rename bios tester to biostest and make it - debug only to avoid people trying to load real - bioses. - - r4257: Add simple program that allows you to boot +--- +slug: 0.83.7 +date: November 1, 2020 +--- + +## 1. Notable New Features + +* **32-bit and 64-bit x86 dynamic core** + + With the new x86 dynamic CPU core for both 32-bit and 64-bit systems, the overall emulation speed for DOS programs is noticeably improved. Set either "core=dynamic" or "core=dynamic_x86" to enable this core. +* **New CPU types to emulate CPU speed** + + You can now emulate the speed in terms of CPU cycles for 286-25MHz, 386DX-25MHz, 486DX4-100MHz, 486DX5-133MHz, Pentium-60MHz, Pentium-75MHz, and Pentium-90MHz CPUs. +* **Opus CD audio tracks** + + Support for cue sheets with Opus CD-DA tracks is now available, in addition to FLAC, MP3, WAV, OGG Vorbis CD-DA tracks already supported. Use either the menu or IMGMOUNT command to mount them. +* **Full Ctrl+Break handler** + + DOSBox-X now supports full Ctrl+C/Ctrl+Break emulation in the DOS shell and DOS applications. You can also send Ctrl+Break as a special key from the "Main" menu. +* **Support for save files and save remarks** + + For the save and load state feature, you can now save to your own save files instead of pre-defined save slots. Save remarks can be entered too for both pre-defined save slots and your own save files. +* **Setting the window position at startup** + + A new config option "windowposition" (in [sdl] section) is supported to set the window position at startup in the positionX,positionY format. +* **New clipboard copy and paste features** + + There are new clipboard functions such as "copy all text on the DOS screen" and "Stop clipboard pasting" in the menu. Moreover, the mouse copy and paste feature is now supported in Linux and macOS SDL2 builds as well. +* **FluidSynth in Windows MinGW builds** + + Support for FluidSynth MIDI Synthesizer is now included in the MinGW builds by default just like Visual Studio builds. Set "mididevice=fluidsynth" and a soundfont file (e.g. GeneralUser_GS.sf2) to use it. +* **xBRZ scaler in Visual Studio SDL2 builds** + + The xBRZ scaler is now enabled for Visual Studio SDL2 builds just like Visual Studio SDL1 builds. You can enable it either with the setting "scaler=xbrz" or from the menu (from "Video" -> "Scaler"). +* **Raw mouse input option for SDL2 builds** + + You can enable this option to bypass the operating system's mouse acceleration and sensitivity settings. This works in fullscreen or when the mouse is captured in window mode. +* **Mount multiple disk or CD images from menu** + + You can now mount multiple floppy, hard disk or CD images from the "Drive" menu, swappable with "Swap floppy" or "Swap CD". Command-line usage for this is no longer required. +* **Changing text-mode video settings from menu** + + It is now possible to change some text-mode related video settings such as the number of rows and columns directly from the menu (from "Video" -> "Text-mode"). +* **Display Sound Blaster and MIDI device configurations from menu** + + The menu items "Show Sound Blaster configuration" and "Show MIDI device configuration" are added to the "Sound" menu to show the current configurations of the Sound Blaster and MIDI devices. + +## 2. Notable Usability Improvements + +* **New website for DOSBox-X Wiki system** + + The primary DOSBox-X Wiki (where you find the DOSBox-X user guide) is now located at the following URL, which is hopefully easier to remember: [https://dosbox-x.com/wiki](https://dosbox-x.com/wiki) +* **Easier to navigate DOSBox-X default configuration file** + + The primary DOSBox-X sample configuration file now contains common config options only, which should make it easier to navigate than before. The full configuration file is also separately available for users who want to use it. +* **Improved Linux Flatpak support** + + Initial Linux Flatpak support was added in the previous version. This version improves it to make it work better. +* **New default "Typical" installation for Windows installer** + + The "Typical" installation type is added in the Windows installer as the default installation. Unlike the full installation it will not copy all builds to subdirectories in order to make the installation faster. +* **Built-in real parallel port passthrough features in Windows** + + The Windows DLL files inpout32.dll (32-bit) and inpoutx64.dll (64-bit) required for the direct parallel port passthrough feature are now included with Windows installer by default. +* **Native dialog box to display messages** + + DOSBox-X will now use native Windows/Linux/macOS dialog box to display quit warnings and save state errors. +* **Reorganized some menu items** + + Some menu items in the drop-down menus have been renamed or reorganized to make them look better or more clear than before. +* **Improved command-line help messages** + + The help messages for the DOSBox-X command-line options are improved, such as adding the new -silent and -socket command-line options. +* **Improved debuging options from Help menu** + + The debugging-related functions are now availble from the "Help" menu, including the debugger and more debugging functions which were previously under other menus. +* **Select a special key to send to DOS with the customized shortcut** + + You can now select a special key (Alt+Tab, Ctrl+Break, Ctrl+Alt+Del, etc) to be sent from the key defined in the mapper editor. The key can be selected from the "Send special key" menu group in "Main" menu. +* **Shortcuts for copying all screen text and quick launch functions** + + The functions "CopyToClipboard" and "QuickRun" are added to the mapper editor so that you can use shortcuts to activate them (default shortcuts: HOST(F11/F12)+A and HOST(F11/F12)+Q respectively). +* **Enable or disable US keyboard layout for PC-98 mode from menu** + + You can now force the default US keyboard layout in PC-98 mode from the menu (from "Video" -> "PC-98" -> "Use US keyboard layout") for those who want to use PC-98 mode without a Japanese keyboard. + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, including ported recent DOSBox SVN commits. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* The primary DOSBox-X Wiki is now located at the + URL: [https://dosbox-x.com/wiki](https://dosbox-x.com/wiki) + (Wengier) +* Implemented the x86 dynamic core for both 32-bit + and 64-bit systems by re-porting the code from SVN. + Dynamic core now supports either the dynamic_x86 + or the dynamic_rec core. The dynamic_x86 core will + be used by default for x86 and x86_64 platforms and + if "core=dynamic" is set, and Windows 9x can be run + in this dynamic core (although at this time may + encounter some issue with the S3 driver). You can + also explicit specify setting "core=dynamic_x86" or + "core=dynamic_rec" for either the dynamic_x86 core + or the dynamic_rec core. Also thank joncampbell123 + for the 64-bit fix. (Wengier) +* You can now use your own save file (in addition to + save slots! There are now a "Use save file" toggle + item and "Browse save file..." for browsing save + files on your computer. A config option "savefile" + (in [dosbox] section) is added to specify a save + file to use at start. (Wengier) +* Save state feature now allows users to optionally + enter remarks when saving a state. A submenu group + "Save/load option" is added (under "Capture") where + you can toggle menu items "No remark when saving + state" (for disabling input of remarks when saving) + and "force load state mode". A menu item "Display + state information" is added as well to display the + information of the saved state. (Wengier) +* DOSBox-X will now use native dialog box to display + quit warnings and save state errors. (Wengier) +* Changed some DOS error messages (such as "Illegal + command" which now reads "Bad command or filename") + similar to real DOS systems. (Wengier) +* ADDKEY and INT2FDBG commands now appear as programs + on Z: drive instead of shell commands. (Wengier) +* Improved the -z (move virtual drive Z:) function of + MOUNT command. You can move the virtual drive as + many times as you want, and save/load states will + work even after you move the Z: drive. (Wengier) +* Enhanced the config option "freesizecap" to allow + the setting "fixed" which is the same as "false", + and a new setting "relative" is added, which will + be similar to the setting "fixed" but the reported + free disk size will also change relative to the + change of the free disk size ever since. (Wengier) +* Added support for Opus CD-DA tracks by porting and + cleaning up the source code from other projects. + Many thanks to Marty Shepard and kcgen. (Wengier) +* Support for FluidSynth MIDI Synthesizer is now + included in the MinGW builds by default just like + Visual Studio builds. Set "mididevice=fluidsynth" + and a soundfont file to use it. (Wengier) +* Enabled xBRZ scaler for Visual Studio SDL2 builds + just like Visual Studio SDL1 builds. (Wengier) +* Added menu item "Show Sound Blaster configuration" + under "Sound" menu to show the current information + about Sound Blaster, and also menu item "Show MIDI + device configuration" (also under "Sound" menu) + to show information about the current MIDI device + such as the soundfont file in use. (Wengier) +* Added "Mount multiple disk/CD images" option to the + mounting options of the Drive menu to allow users + to mount more than one disk/CD images to a drive, + swappable from the menu. Also added separators to + the Drive submenu to make it look better. (Wengier) +* Added new CPU types to the "Emulate CPU speed" menu + group namely 286-25MHz, 386DX-25MHz, 486DX4-100MHz, + 486DX5-133MHz, Pentium-60MHz, Pentium-75MHz, and + Pentium-90MHz. Thanks again for the data provided + by the user maximus105. (Wengier) +* You can now select a special key (e.g. Alt+Tab, + Ctrl+Break, Ctrl+Alt+Del, etc) to be sent from the + key defined in the mapper editor. The key can be + selected (Ctrl+Alt+Del by default) from the "Send + special key" menu group in "Main" menu. (Wengier) +* Added full Ctrl+Break emulation at the BIOS and + DOS level, updated console emulation to match. + The "Pause" mapper shortcut is now moved to + HOST[F11/F12]+Pause instead of Ctrl+Pause so that + Ctrl+Break can work properly for users, and the + function to send the Ctrl+Break key from the menu + ("Send special key" under "Main") is added. Also, + the PC-98 STOP key now functions the same as the + Ctrl+C and Ctrl+Break keys in IBM PC mode. +* Added functions "CopyToClipboard" and "QuickRun" to + the mapper editor so that you can use shortcuts to + activate them (default shortcuts: HOST(F11/F12)+A + and HOST(F11/F12)+Q respectively), and a default + shortcut HOST(F11/F12)+V is added to the clipboard + paste function. Meanwhile, FullCore and SimpleCore + shortcuts are removed from the mapper. (Wengier) +* Added two new menu items in the "Shared clipboard + functions" menu group under "Main", including "Copy + all text on the DOS screen" which will copy all + screen text to the clipboard, and "Stop clipboard + pasting" which allows user to stop pasting in the + middle of pasting long clipboard content. (Wengier) +* The mouse copy/paste feature is now available for + non-Windows systems on SDL2 builds. Also, pasting + from the clipboard with a mapped shortcut is also + available for Linux/X11 on SDL1 builds. (Wengier) +* Added "Use US keyboard layout" toggle menu item in + the "PC-98" menu group under "Video" to select + whether to force the default US keyboard layout in + PC-98 mode, same as the "pc-98 force ibm keyboard + layout" config option in [pc98] section. Also moved + the "PC-98 PIT master clock" options from the "DOS" + menu to this menu group. (Wengier) +* The full dosbox-x.reference.conf file is renamed to + dosbox-x.reference.full.conf. The original file + dosbox-x.reference.conf now contains common config + options instead of all config options. (Wengier) +* The CONFIG command and Configuration Tool will now + save common and modified config options by default. + The -all command-line option (or "Save all options + to the configuration file" checkbox) will force to + save all config options. A new -mod command-line + option is added to CONFIG command to save modified + config options only, and a new -norem command-line + option is added to not write remarks. (Wengier) +* Updated the Windows installer to default to the + "typical" installation. For the full installation + start menu items will be added for DOSBox-X builds + copied to subdirectories. A new checkbox "Write + common config options (instead of all) to the + configuration file" is added which when checked + will only write common and modified advanced config + options to the config file. Furthermore, for both + "typical" and "full" installations the Windows + installer will now also copies the DLL files + inpout32.dll (32-bit) and inpoutx64.dll (64-bit) to + the DOSBox-X install directory for use with the + direct parallel port passthrough feature. (Wengier) +* Improved Flatpak support for Linux. (rderooy) +* Improved message for the -help command-line option, + adding for example -silent and -socket command-line + options in the help messages. (Wengier) +* Added -silent command-line option to run DOSBox-X + silently (without showing the DOSBox-X window) and + then exit after executing AUTOEXEC.BAT. (Wengier) +* Fixed command-line option -socket not working for + the null-modem feature. (Wengier) +* Fixed issue that aspect ratio not being respected + in full-screen mode when a GLSL shader is enabled + with an OpenGL output. (Wengier) +* Fixed toggle in the "Frameskip" menu group did not + change when selecting a different option. (Wengier) +* Fixed shelling from programs may not work when the + shell config option is set. (Wengier) +* The default country setting ("country" option in + [config] section]) now defaults to auto-detection + if possible, or 81 (Japan) in PC-98 mode. (Wengier) +* Increased the default maximum DOS files (adjustable + from [config] section) from 127 to 200. (Wengier) +* Improved resetting with LOADLIN program. (Wengier) +* Improved Gravis Ultrasound (GUS) implementation to + make it more accurately represent the GUS DMA state + as expected by the running DOS software. +* The archive attribute will no longer automatically + be applied to directories on non-Windows systems. + This fixed issue with PLAYMIDI.EXE from Gravis + Ultrasound when listing directories. (Wengier) +* Applied hack to allow the low DMA channel detection + in the SB16 DIAGNOSE program to work. (Wengier) +* The default setting of the clip_paste_speed option + has been changed from 20 to 30, which will help + prevent lost keystrokes when pasting from the host + clipboard for some programs. (Wengier) +* With Pentium CPU setting (cputype=pentium) DOSBox-X + no longer reports FDIV bug by default. An advanced + config option "report fdiv bug" is added to report + such CPU bug when set to true. (rderooy & Wengier) +* Added support for the XDG_DATA_HOME environment + variable for config directory in Linux. (rderooy) +* Added support for compiling with pcap for Windows + MinGW builds. (Jookia) +* Added config option "windowposition" (in [sdl] + section) to set the window position at startup in + the positionX,positionY format. (tomba4) +* Added config option "raw_mouse_input" (in [sdl] + section; SDL2 builds only) to bypass the operating + system's mouse acceleration & sensitivity settings. + Implemented by NicknineTheEagle. +* Added config option "startquiet" (in [dos] section) + which when set to true will silence the information + messages before launching Windows programs to run + on the Windows host. A toggle menu item "Quiet mode + (no start messages)" is added to the "Windows host + applications" menu group in "DOS" menu. (Wengier) +* The menu "Show details" (under "Main") is renamed + to "Show FPS and RT speed in title bar". (Wengier) +* Add menu group "Text-mode" under "Video" menu to + change some text-mode related video settings, such + as changing the number of rows and columns. A zip + package named TEXTUTIL.ZIP is added to the Z drive + that contains various utilities (such as CGA.COM, + EGA.COM, 132X25.COM, 132X43.COM) to change current + video setting from the command line. Also added a + config option "high intensity blinking" which when + set will display high intensity background colors + instad of blinking foreground text. The menu item + "Allow 9-pixel wide fonts" is moved from the menu + group "Compatibility" to here. (Wengier) +* Added "Debugging" menu group under "Help" menu, and + moved items from the "Video" Debug and "DOS" Debug + menus and the debugger here (debug builds only). + Also allowed to hide/show the console or debugger + window in Windows debug builds. With the menu item + "Console wait on error" checked the Windows console + window will wait for the ENTER key before closing + itself after an E_EXIT occurs. (Wengier) +* Updated MPXPLAY to latest version 1.65. (Wengier) +* Integrated SVN commits (Allofich) + - r4386: Correct MPU-401 clock-to-host function to + operate independently of playing. Fixes hang at + exit when playing Roland music in demos by The + Phoney Coders. Clamp tempo to valid range. + - r4384: ICW1 on the PIC clears the Interrupt Mask + Register. Fixes Antagony and quite a few demos that + expect IRQs to be unmasked. + - r4382: Refine adlib timers a bit more and make + reading the Adlib take a bit more time. + - r4378: Prevent some possible deadlocks with sti + in dynrec core. + - r4375: Improve compatibility with older Intel + chipsets + - r4374: Add a bit of hack so cycles=max/auto 90% + keeps on working inside batch files after r3925. + - r4371: Fix regression in Clue: Master Detective. + - r4370: As an adjunct to r4369, make the reference + counts of standard device handles equivalent to + those of real DOS. + - r4369: Compatible side-effect behavior of DOS in + the file close function. + - r4368: Improve error codes for some DOS file functions. + - r4367: Change FPU_FBST to only write 18 decimals + instead of the wrongly 19, this makes it possible + to switch 64 integers which in turn fixes some + rounding issues. (jmarsh) + - r4282,r4283: Switch to a different way to calculate + DBOPL table offsets. + - r4280: Prevent GenerateDMASound from running with + input of 0. + - r4279: Remove DMA_TRANSFEREND and replace with + DMA_MASKED. + - r4277: Remove cases not needed after r4276 + - r4276: Remove defunct code related to the initial + display mode of the system BIOS during video mode + changes. + - r4274: fix externals. + - r4273: Make frameskip an integer. + - r4269: Use fabsf when return value is a float. + Small warning fix. + - r4265: Some more cleanups and memleak fixes. + - r4264: Pick some lowhanging fruit. (some memory + leaks and unused variables) + - r4262: missed one + - r4261: These actually use float as input. + - r4258: Rename bios tester to biostest and make it + debug only to avoid people trying to load real + bioses. + - r4257: Add simple program that allows you to boot into a bios image for running cpu tester bios. \ No newline at end of file diff --git a/_release_notes/0.83.8.md b/_release_notes/0.83.8.md index 2f7d475b1a7..ca2a44ac739 100644 --- a/_release_notes/0.83.8.md +++ b/_release_notes/0.83.8.md @@ -1,227 +1,228 @@ ---- -date: November 30, 2020 ---- - -## 1. Notable New Features - -* **Scalable TrueType font (TTF) output for DOS applications** - - With the new TrueType font (TTF) output, you will get nice high resolution DOS screen rendered using a TrueType font (either the built-in one or a TTF font of your choice), and the window can be set to almost any usable number of lines and columns. This feature greatly improved DOSBox-X's support for DOS applications. Set "output=ttf" (or from the "Video" menu) to enable this output. -* **On-screen text styles for DOS applications** - - With the TrueType font output, DOSBox-X now supports on-screen text styles for DOS applications including WordPerfect, WordStar, and XyWrite. With this feature you will visually see fonts in bold for bold text, and fonts in italics for italicized text, and so on. Set a DOS word processor (WP/WS/XY) to enable this feature. -* **Support for Apple M1 Mac and macOS Big Sur** - - DOSBox-X now supports the new Apple ARM-based M1 MacBooks! The dynamic core now works on the new ARM-based macOS systems. The audio also works once again when compiled and run on macOS 11 Big Sur. -* **Pasting clipboard text in macOS SDL1 builds** - - Pasting text from the host system clipboard is now supported in the macOS SDL1 build, similar to the Linux SDL1 build. On all other platforms (Windows SDL1/SDL2, Linux SDL2, and macOS SDL2) both copying to and pasting from the clipboard are supported. -* **System menu in Windows SDL2 builds** - - The system menu that was available in Windows SDL1 builds is now also available for Windows SDL2 builds, which includes a few common menu options such as the configuration tool and the mapper editor. -* **Select common host keys from the menu** - - You can now select a host key from the "Main" menu, which now includes common key combinations such as Ctrl+Alt, Ctrl+Shift, and Alt+Shift, or you may just use the mapper-defined host key (which default to F11 on Windows and F12 otherwise). The default shortcuts for a few items are changed to use the host key style. -* **Switch OpenGL (GLSL) shaders at run-time** - - With the OpenGL outputs (opengl/opengnb/openghq), you can now select and switch to a different GLSL shader at the run-time by selecting the menu item "Select OpenGL (GLSL) shader..." from the "Video" menu, similar to the function for Direct3D pixel shaders for the Direct3D output. -* **Display IDE disk or CD status** - - There is now a menu option under "DOS" menu which allows you to see the current assignments (disk or CD image) of the IDE controllers. -* **Support for mounting MAME CHD CD images** - - Mounting the MAME CHD images is now supported in DOSBox-X! You can mount CHD files as CD images with IMGMOUNT command, or from the "Drive" menu. -* **Support for saving your files for the save-state feature** - - There is a now a FLAGSAVE command which allows you to mark files to be saved and loaded by the save-state feature. Type "FLAGSAVE /?" at the DOSBox-X shell for more usage information. -* **Enhanced MODE command to change screen dimensions** - - You can now change the number of columns and lines on the screen with the MODE command, similar to real DOS systems. Alternatively, this can be done from the "Video" menu (within "Text-mode" menu group). -* **Improved LOADFIX command to auto-allocate memory** - - The LOADFIX command now has an -a option which will automatically allocate enough memory to fill lowest 64KB memory instead of using exactly 64KB memory. This will let some memory-demanding DOS programs or games to run with this command. -* **Improved automatic fix for the "Packed file corrupt" error** - - The handler for the "Packed file corrupt" error has been greatly improved so that it will likely automatically handle the error more efficiently. There is now also an option to silence the messages during the automatic fix. - -## 2. Notable Usability Improvements - -* **Improved mapper editor interface** - - The mapper editor interface has been enhanced! The texts for the shortcut functions are now longer and clearer, and there are now multiple pages in the mapper, navigable with the "Previous Page" and "Next Page" buttons. -* **Load DOSBox-X mapper files from menu** - - You can now select and load DOSBox-X mapper files at run-time from the "Main" menu. Previously it was possible to load a mapper file dynmically from the command line, but now you can do so from the menu too. -* **List network interfaces from menu** - - There is now a "List network interfaces" menu option under the "Help" menu that will list the current network interfaces for the NE2000 networking feature. Previously you can only see the network interface list from the log file. -* **Display DOS command help from menu** - - You can now find a "DOS commands" menu group under the "Help" menu, which allows you to select a DOS shell command (DIR, CD, etc) to see its help messages. Alternatively you can type "[COMMAND] /?" (e.g. "DIR /?") for help information for the command. -* **Searching for config file and mapper file in DOSBox-X executable path** - - DOSBox-X will now look for the config file (e.g. dosbox-x.conf) and the mapper file in the directory containing the DOSBox-X executable too if they cannot be found in the DOSBox-X working directory. This makes DOSBox-X even more portable. -* **More saving options for the built-in configuration tool** - - The graphical configuration tool now provides the option to save to the primary or user config files, not just the dosbox-x.conf file. -* **New config options for save state options** - - The config options "saveremark" and "forceloadstate" are added to [dosbox] section which can be used to control the save state-related options from the config file. In the previous section these can only be done from the "Capture" menu. - -## 3. Bugfixes and Other Improvements -There are also many bugfixes and other improvements, such as fixing the CD audio issue with the game "The Secret of Monkey Island" when talking to the pirate in Scumm Bar. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* Added support for scalable TrueType font (TTF) - output for text-mode programs. Set "output=ttf" - and optionally a monospaced TTF font (such as - consola) with config option "ttf.font" to use it. - Lines and columns can be specified with config - options "ttf.lins" and "ttf.cols", and the cursor - can be made blinking with the option "ttf.blinkc". - The config options "ttf.ptsize" and "ttf.winperc" - can be used to set the TTF font size and window - percentage respectively. If you specify a TTF font - size with "ttf.ptsize" then "ttf.winperc" will be - ignored. You can also specify a word processor - (WP=WordPerfect, WS=WordStar, XY=XyWrite) for the - on-screen text-style and 512-character font (WP) - features. When using the TTF output DOSBox-X will - temporarily switch to a different output when a - graphical mode is requested (or when trying to take - a screenshot); the TTF output will be auto-switched - back later), which can be customized via config - option "ttf.outputswitch" (which defaults to auto). - Menu items in the "Text-mode" menu group (under - "Video" menu) have been expanded to support TTF - options such as increasing/decreasing the TTF font - sizes and on-screen text style toggling (including - bold, italics, underline and strikeout). You can - also select a TTF font to use at run-time with the - "Select TrueType font (TTF)" menu option. (Wengier) -* Added the "Load mapper file..." menu option (under - "Main") to select and load a DOSBox-X mapper file - at run-time. Be sure to select a SDL1 mapper file - for SDL1 builds, and similar for SDL2. (Wengier) -* You can now select a host key from the menu (under - "Main") including Ctrl+Alt, Ctrl+Shift, Alt+Shift, - or use the mapper-defined host key as in previous - versions (which default to F11 on Windows and F12 - otherwise). A config option "hostkey" is added so - that you can specify it from config file. (Wengier) -* Pasting text from the clipboard on macOS SDL1 build - is now supported like Linux SDL1 build. (Wengier) -* Added support for ARM-based Apple M1 MacBook. The - dynamic core now works on ARM-based macOS systems. - SDL1 builds updated to use newer audio APIs on the - macOS platform so that the audio works once again - when compiled and run on macOS 11 (Big Sur). Prior - to the change, ancient versions of the API dating - back to the mid 2000s were used which no longer - work on Big Sur. -* DOSBox-X will now look for the config file (i.e. - dosbox-x.conf/dosbox.conf) and the mapper file in - the directory containing the DOSBox-X executable - too if the config or mapper file cannot be found - in the DOSBox-X working directory. (Wengier) -* The system menu in Windows SDL1 builds is now also - available for Windows SDL2 builds, and menu items - "Reset font size", "Increase TTF font size" and - "Decrease TTF font size" are added. (Wengier) -* Enhanced the mapper editor interface to allow more - keyboard shortcuts to be added, shown in multiple - pages in the mapper, navigable with the "Previous - Page" and "Next Page" buttons. The text in the - grids are now longer and clearer too. The default - shortcuts for a few items are changed to use the - Host key style (e.g. Host+S and Host+L for saving - and loading states respectively). (Wengier) -* Added menu item "List network interfaces" under - "Help" menu to list network interfaces in the host - system for the NE2000 feature. (Wengier) -* Added menu group "DOS commands" under "Help" menu - to display the help content for the selected DOS - shell command (DIR, CD, etc). (Wengier) -* Configuration Tool now provides the option to save - to the primary or user config files. (Wengier) -* Certain config options (e.g. doublescan) that were - marked as advanced options are now general config - options and will appear in dosbox-x.reference.conf - apart from dosbox-x.reference.full.conf. (Wengier) -* Added config options "saveremark" (default: true) - and "forceloadstate" (default: false) in [dosbox] - section which can be used to control if DOSBox-X - should ask users to enter remarks when saving a - state or show warnings when loading a saved state - if there is a mismatch found. (Wengier) -* The config option "pixelshader" is moved from the - section [gui] to [render] so that it will be in the - same section as the option "glshader". (Wengier) -* Added menu item "Select OpenGL (GLSL) shader..." to - allow OpenGL shader switch from the menu, just like - the function for Direct3D pixel shaders. (Wengier) -* Added menu item "Show IDE disk or CD status" under - "DOS" menu to show the current assignments (disk or - CD image) of the IDE controllers. (Wengier) -* Fixed IDE CD assignment may not be reset when soft - reboots are activated from guest systems. (Wengier) -* The program 80x43.COM is added into the ZIP package - TEXTUTIL.ZIP on the Z drive. You can also change - current text screen to the 80x43 mode from the menu - group "Text-mode" under "Video" menu. (Wengier) -* Enhanced MODE command so that you can change the - number of columns and lines in the screen with the - syntax "MODE CON COLS=c LINES=n" (c=80 or 132, and - n=25, 43, 50, or 60). The command "MODE CON" will - show the current number of columns and lines in the - screen as in a real DOS system. (Wengier) -* Added FLAGSAVE command for the save state feature - to flag (mark) one or more files to be saved and - loaded. Type "FLAGSAVE /?" for more information on - this command. (PogoMan361 and Wengier) -* Enhanced A20GATE command to show the current status - of the A20 gate when no parameter is given, along - with other small improvements. (Wengier) -* INT 21h DOS=HMA emulation, to enable the A20 gate, - and autoa20fix, to disable the A20 gate, now checks - whether the CPU is running in virtual 8086 mode. - If vm86 detected, the code will control the A20 - gate by calling the XMS interface instead of direct - reading/writing via port 92h. This consideration - is required for autoa20fix to cooperate with - Microsoft Windows 3.1. Note that Windows 3.1 does - not virtualize port 92h. If it did, this workaround - would not be necessary. -* Added -a option to LOADFIX command which will auto - allocate enough memory to fill lowest 64KB memory - instead of using exactly 64KB memory. (Wengier) -* Added autofixwarning option (true by default) which - allows user to silence the messages when DOSBox-X - tries to auto-fix "Packed file is corrupt" error - when running a program with this issue. (Wengier) -* Added autoa20fix option (enabled by default). This - option when enabled attempts to resolve EXEPACK - "Packed file is corrupt" errors by temporarily - disabling the A20 gate and running the program - again. This may provide better support for affected - DOS applications than the LOADFIX option. If both - autoa20fix and autoloadfix are set, then autoa20fix - will be tried first, and if it did not work then - autoloadfix will be tried next. -* The autoloadfix config option changed to allocate - only enough memory to keep the executable above the - 64KB boundary, instead of blindly allocating 64KB. -* Fixed menu items "Rescan drive" and "Swap disk" in - "Drive" menu being reversed. (Wengier) -* Fixed CD audio issue with the game "The Secret of - Monkey Island" when talking to the pirate in Scumm - Bar by adapting the patch that fixes it. Thanks - kcgen for the fix logic. (Wengier) -* Added support for MAME CHD CD images. You can now - mount CHD images with IMGMOUNT command, or from the - Drive menu. Based on libchdr library and the work - of the user whocares010. (Wengier) -* Updated FLAC/MP3/WAV CD-DA decoder libraries to the - latest versions (versions 0.12.22, 0.6.19, 0.12.14 +--- +slug: 0.83.8 +date: November 30, 2020 +--- + +## 1. Notable New Features + +* **Scalable TrueType font (TTF) output for DOS applications** + + With the new TrueType font (TTF) output, you will get nice high resolution DOS screen rendered using a TrueType font (either the built-in one or a TTF font of your choice), and the window can be set to almost any usable number of lines and columns. This feature greatly improved DOSBox-X's support for DOS applications. Set "output=ttf" (or from the "Video" menu) to enable this output. +* **On-screen text styles for DOS applications** + + With the TrueType font output, DOSBox-X now supports on-screen text styles for DOS applications including WordPerfect, WordStar, and XyWrite. With this feature you will visually see fonts in bold for bold text, and fonts in italics for italicized text, and so on. Set a DOS word processor (WP/WS/XY) to enable this feature. +* **Support for Apple M1 Mac and macOS Big Sur** + + DOSBox-X now supports the new Apple ARM-based M1 MacBooks! The dynamic core now works on the new ARM-based macOS systems. The audio also works once again when compiled and run on macOS 11 Big Sur. +* **Pasting clipboard text in macOS SDL1 builds** + + Pasting text from the host system clipboard is now supported in the macOS SDL1 build, similar to the Linux SDL1 build. On all other platforms (Windows SDL1/SDL2, Linux SDL2, and macOS SDL2) both copying to and pasting from the clipboard are supported. +* **System menu in Windows SDL2 builds** + + The system menu that was available in Windows SDL1 builds is now also available for Windows SDL2 builds, which includes a few common menu options such as the configuration tool and the mapper editor. +* **Select common host keys from the menu** + + You can now select a host key from the "Main" menu, which now includes common key combinations such as Ctrl+Alt, Ctrl+Shift, and Alt+Shift, or you may just use the mapper-defined host key (which default to F11 on Windows and F12 otherwise). The default shortcuts for a few items are changed to use the host key style. +* **Switch OpenGL (GLSL) shaders at run-time** + + With the OpenGL outputs (opengl/opengnb/openghq), you can now select and switch to a different GLSL shader at the run-time by selecting the menu item "Select OpenGL (GLSL) shader..." from the "Video" menu, similar to the function for Direct3D pixel shaders for the Direct3D output. +* **Display IDE disk or CD status** + + There is now a menu option under "DOS" menu which allows you to see the current assignments (disk or CD image) of the IDE controllers. +* **Support for mounting MAME CHD CD images** + + Mounting the MAME CHD images is now supported in DOSBox-X! You can mount CHD files as CD images with IMGMOUNT command, or from the "Drive" menu. +* **Support for saving your files for the save-state feature** + + There is a now a FLAGSAVE command which allows you to mark files to be saved and loaded by the save-state feature. Type "FLAGSAVE /?" at the DOSBox-X shell for more usage information. +* **Enhanced MODE command to change screen dimensions** + + You can now change the number of columns and lines on the screen with the MODE command, similar to real DOS systems. Alternatively, this can be done from the "Video" menu (within "Text-mode" menu group). +* **Improved LOADFIX command to auto-allocate memory** + + The LOADFIX command now has an -a option which will automatically allocate enough memory to fill lowest 64KB memory instead of using exactly 64KB memory. This will let some memory-demanding DOS programs or games to run with this command. +* **Improved automatic fix for the "Packed file corrupt" error** + + The handler for the "Packed file corrupt" error has been greatly improved so that it will likely automatically handle the error more efficiently. There is now also an option to silence the messages during the automatic fix. + +## 2. Notable Usability Improvements + +* **Improved mapper editor interface** + + The mapper editor interface has been enhanced! The texts for the shortcut functions are now longer and clearer, and there are now multiple pages in the mapper, navigable with the "Previous Page" and "Next Page" buttons. +* **Load DOSBox-X mapper files from menu** + + You can now select and load DOSBox-X mapper files at run-time from the "Main" menu. Previously it was possible to load a mapper file dynmically from the command line, but now you can do so from the menu too. +* **List network interfaces from menu** + + There is now a "List network interfaces" menu option under the "Help" menu that will list the current network interfaces for the NE2000 networking feature. Previously you can only see the network interface list from the log file. +* **Display DOS command help from menu** + + You can now find a "DOS commands" menu group under the "Help" menu, which allows you to select a DOS shell command (DIR, CD, etc) to see its help messages. Alternatively you can type "[COMMAND] /?" (e.g. "DIR /?") for help information for the command. +* **Searching for config file and mapper file in DOSBox-X executable path** + + DOSBox-X will now look for the config file (e.g. dosbox-x.conf) and the mapper file in the directory containing the DOSBox-X executable too if they cannot be found in the DOSBox-X working directory. This makes DOSBox-X even more portable. +* **More saving options for the built-in configuration tool** + + The graphical configuration tool now provides the option to save to the primary or user config files, not just the dosbox-x.conf file. +* **New config options for save state options** + + The config options "saveremark" and "forceloadstate" are added to [dosbox] section which can be used to control the save state-related options from the config file. In the previous section these can only be done from the "Capture" menu. + +## 3. Bugfixes and Other Improvements +There are also many bugfixes and other improvements, such as fixing the CD audio issue with the game "The Secret of Monkey Island" when talking to the pirate in Scumm Bar. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* Added support for scalable TrueType font (TTF) + output for text-mode programs. Set "output=ttf" + and optionally a monospaced TTF font (such as + consola) with config option "ttf.font" to use it. + Lines and columns can be specified with config + options "ttf.lins" and "ttf.cols", and the cursor + can be made blinking with the option "ttf.blinkc". + The config options "ttf.ptsize" and "ttf.winperc" + can be used to set the TTF font size and window + percentage respectively. If you specify a TTF font + size with "ttf.ptsize" then "ttf.winperc" will be + ignored. You can also specify a word processor + (WP=WordPerfect, WS=WordStar, XY=XyWrite) for the + on-screen text-style and 512-character font (WP) + features. When using the TTF output DOSBox-X will + temporarily switch to a different output when a + graphical mode is requested (or when trying to take + a screenshot); the TTF output will be auto-switched + back later), which can be customized via config + option "ttf.outputswitch" (which defaults to auto). + Menu items in the "Text-mode" menu group (under + "Video" menu) have been expanded to support TTF + options such as increasing/decreasing the TTF font + sizes and on-screen text style toggling (including + bold, italics, underline and strikeout). You can + also select a TTF font to use at run-time with the + "Select TrueType font (TTF)" menu option. (Wengier) +* Added the "Load mapper file..." menu option (under + "Main") to select and load a DOSBox-X mapper file + at run-time. Be sure to select a SDL1 mapper file + for SDL1 builds, and similar for SDL2. (Wengier) +* You can now select a host key from the menu (under + "Main") including Ctrl+Alt, Ctrl+Shift, Alt+Shift, + or use the mapper-defined host key as in previous + versions (which default to F11 on Windows and F12 + otherwise). A config option "hostkey" is added so + that you can specify it from config file. (Wengier) +* Pasting text from the clipboard on macOS SDL1 build + is now supported like Linux SDL1 build. (Wengier) +* Added support for ARM-based Apple M1 MacBook. The + dynamic core now works on ARM-based macOS systems. + SDL1 builds updated to use newer audio APIs on the + macOS platform so that the audio works once again + when compiled and run on macOS 11 (Big Sur). Prior + to the change, ancient versions of the API dating + back to the mid 2000s were used which no longer + work on Big Sur. +* DOSBox-X will now look for the config file (i.e. + dosbox-x.conf/dosbox.conf) and the mapper file in + the directory containing the DOSBox-X executable + too if the config or mapper file cannot be found + in the DOSBox-X working directory. (Wengier) +* The system menu in Windows SDL1 builds is now also + available for Windows SDL2 builds, and menu items + "Reset font size", "Increase TTF font size" and + "Decrease TTF font size" are added. (Wengier) +* Enhanced the mapper editor interface to allow more + keyboard shortcuts to be added, shown in multiple + pages in the mapper, navigable with the "Previous + Page" and "Next Page" buttons. The text in the + grids are now longer and clearer too. The default + shortcuts for a few items are changed to use the + Host key style (e.g. Host+S and Host+L for saving + and loading states respectively). (Wengier) +* Added menu item "List network interfaces" under + "Help" menu to list network interfaces in the host + system for the NE2000 feature. (Wengier) +* Added menu group "DOS commands" under "Help" menu + to display the help content for the selected DOS + shell command (DIR, CD, etc). (Wengier) +* Configuration Tool now provides the option to save + to the primary or user config files. (Wengier) +* Certain config options (e.g. doublescan) that were + marked as advanced options are now general config + options and will appear in dosbox-x.reference.conf + apart from dosbox-x.reference.full.conf. (Wengier) +* Added config options "saveremark" (default: true) + and "forceloadstate" (default: false) in [dosbox] + section which can be used to control if DOSBox-X + should ask users to enter remarks when saving a + state or show warnings when loading a saved state + if there is a mismatch found. (Wengier) +* The config option "pixelshader" is moved from the + section [gui] to [render] so that it will be in the + same section as the option "glshader". (Wengier) +* Added menu item "Select OpenGL (GLSL) shader..." to + allow OpenGL shader switch from the menu, just like + the function for Direct3D pixel shaders. (Wengier) +* Added menu item "Show IDE disk or CD status" under + "DOS" menu to show the current assignments (disk or + CD image) of the IDE controllers. (Wengier) +* Fixed IDE CD assignment may not be reset when soft + reboots are activated from guest systems. (Wengier) +* The program 80x43.COM is added into the ZIP package + TEXTUTIL.ZIP on the Z drive. You can also change + current text screen to the 80x43 mode from the menu + group "Text-mode" under "Video" menu. (Wengier) +* Enhanced MODE command so that you can change the + number of columns and lines in the screen with the + syntax "MODE CON COLS=c LINES=n" (c=80 or 132, and + n=25, 43, 50, or 60). The command "MODE CON" will + show the current number of columns and lines in the + screen as in a real DOS system. (Wengier) +* Added FLAGSAVE command for the save state feature + to flag (mark) one or more files to be saved and + loaded. Type "FLAGSAVE /?" for more information on + this command. (PogoMan361 and Wengier) +* Enhanced A20GATE command to show the current status + of the A20 gate when no parameter is given, along + with other small improvements. (Wengier) +* INT 21h DOS=HMA emulation, to enable the A20 gate, + and autoa20fix, to disable the A20 gate, now checks + whether the CPU is running in virtual 8086 mode. + If vm86 detected, the code will control the A20 + gate by calling the XMS interface instead of direct + reading/writing via port 92h. This consideration + is required for autoa20fix to cooperate with + Microsoft Windows 3.1. Note that Windows 3.1 does + not virtualize port 92h. If it did, this workaround + would not be necessary. +* Added -a option to LOADFIX command which will auto + allocate enough memory to fill lowest 64KB memory + instead of using exactly 64KB memory. (Wengier) +* Added autofixwarning option (true by default) which + allows user to silence the messages when DOSBox-X + tries to auto-fix "Packed file is corrupt" error + when running a program with this issue. (Wengier) +* Added autoa20fix option (enabled by default). This + option when enabled attempts to resolve EXEPACK + "Packed file is corrupt" errors by temporarily + disabling the A20 gate and running the program + again. This may provide better support for affected + DOS applications than the LOADFIX option. If both + autoa20fix and autoloadfix are set, then autoa20fix + will be tried first, and if it did not work then + autoloadfix will be tried next. +* The autoloadfix config option changed to allocate + only enough memory to keep the executable above the + 64KB boundary, instead of blindly allocating 64KB. +* Fixed menu items "Rescan drive" and "Swap disk" in + "Drive" menu being reversed. (Wengier) +* Fixed CD audio issue with the game "The Secret of + Monkey Island" when talking to the pirate in Scumm + Bar by adapting the patch that fixes it. Thanks + kcgen for the fix logic. (Wengier) +* Added support for MAME CHD CD images. You can now + mount CHD images with IMGMOUNT command, or from the + Drive menu. Based on libchdr library and the work + of the user whocares010. (Wengier) +* Updated FLAC/MP3/WAV CD-DA decoder libraries to the + latest versions (versions 0.12.22, 0.6.19, 0.12.14 respectively). Thanks to mackron & kcgen. (Wengier) \ No newline at end of file diff --git a/_release_notes/0.83.9.md b/_release_notes/0.83.9.md index e7201d958fc..b44de682d8e 100644 --- a/_release_notes/0.83.9.md +++ b/_release_notes/0.83.9.md @@ -1,266 +1,267 @@ ---- -date: January 1, 2021 ---- - -## 1. Notable New Features - -* **Support for unified SDL1/SDL2 mapper files** - - Unified mapper files for both SDL1 and SDL2 builds of DOSBox-X are now supported, in addition to SDL1/SDL2-only mapper files. There are other enhancements to the mapper too, such as a new command-line option (-defaultmapper) to use the default key mappings. -* **Support for starting DOSBox-X on a specific monitor** - - DOSBox-X can now be started on a specific display on a multi-monitor setup. For example, "display=2" will start DOSBox-X on the second display. It can work in combination with the existing windowposition config option to specify a window position on the display. -* **Support for mounting ZIP or 7Z archives** - - You can now mount ZIP or 7Z archives as DOSBox-X drives! You can run your DOS programs or games in these mounted drives directly, although these drives will operate in read-only mode. -* **Support for time synchronization with the host** - - There is now an option (either from the config or from the menu toggle under the "DOS" menu) which allows DOSBox-X to automatically synchronize the date and time with the host system, unless you manually change date and/or time. -* **Improved TTF output and on-screen text styles** - - The TrueType font (TTF) support (which was added in the previous version) has been further improved. For example, there is now a SETCOLOR command to change the TTF color scheme, and you can now specify actual bold, italic, and bold-italic TrueType fonts for use with the TTF output that will render the bold, italic, and bold-italic text styles. -* **Improved dynamic CPU core** - - The dynamic CPU core (both dynamic_x86 and dynamic_rec) has been improved, such as support for dual mapping and the way its cache is allocated. -* **Much improved printing system** - - The printing system has been greatly improved in this version. New config options "openwith" and "openerror" are added to the [printer] section to start the specified program to open the printer output file. It also allows you to change the path where the printer TTF fonts are located. If no TTF font can be found for printing, the internal TTF font for the TTF output will be used. -* **Enhanced serial and parallel ports and options** - - The serial (COM) and parallel (LPT) ports are extended to COM1-9 and LPT1-9, and the options for all these ports have been enhanced in this version. For example, you can specify programs to open the generated files based on the output type, such as when the output is detected to be PCL or PostScript (PS). -* **Support for selecting and copying text to clipboard via the keyboard** - - The clipboard feature has been further improved. You can now select and copy text to the clipboard via the keyboard (e.g. arrow keys to move the text selection), in addition to use the mouse. -* **File locking functions for disk images and improved DOS SHARE functions** - - File locking support for mounting disk image files is added so that by default you cannot mount the same disk image files in read/write mode at the same time to avoid possible disk corruptions. The DOS SHARE functions are also enhanced for better file and record locking support. -* **Support for mounting physical CD drives in SDL2 builds** - - You can now mount physical CD drives and give hardware access to these CD drives in the DOSBox-X SDL2 builds just like the SDL1 builds. For examples, hardware CD functions like the Audio CD features are now supported for these CD drives in both SDL1 and SDL2 builds (type "INTRO CDROM" for help on mounting physical CD drives). -* **Support for OPL3Duo audio board** - - Support for the OPL3Duo audio board has been added in this version, in addition to the existing OPL options such as Nuked, MAME and OPL2 audio boar. Set "oplemu=opl3duoboard" to use it. - -## 2. Notable Usability Improvements - -* **Centered Configuration Tool window for better looking** - - The main window and windows for various functions in the Configuration Tool will now be centered within the DOSBox-X window for a better looking. Similar to some other functions such as the "Edit cycles" window. -* **Ctrl+Tab to list files/directories for tab completion** - - You can now press the key combination Ctrl+Tab in DOSBox-X's command shell to see a list of files/directories that can be completed by the Tab completion, which can make the Tab completion feature more convenient to use. -* **Auto-assume CD type for GOG/INS image files** - - Some CD images files are with the .GOG and .INS extensions, which are renamed versions of the .CUE and .BIN image files. DOSBox-X will now automatically assume the CD ISO type for these image files so that you no longer need to specify an image type for them. -* **Read-only menu option for mounting drives** - - Mounting host folders/drives or image files to selected drive(s) in read-only mode from the menu is now supported. You can do so by enabling the toggles in the Drive menu. Previously you can only achieve this from the command-line. -* **Menu option to create blank disk images** - - There is now a menu option to create blank floppy or harddisk images of a common disk size, including 360KB, 400KB, 720KB, 1.2MB, 1.44MB and 2.88MB for floppy disk images and 250MB, 520MB, 1GB, 2GB, 4GB and 8GB for hard disk images. Previously you can only do so from the command-line. -* **Feedback in the title bar when mouse is captured** - - When the mouse is captured, DOSBox-X will now show the shortcut to release the mouse in the title bar to inform the user about this status and the key combination to release it. -* **Improved feedback for selecting Direct3D pixel shader from menu** - - DOSBox-X will now pop up a message box to inform the user when a Direct3D pixel shader is loaded from the menu on the Windows platform, so that users no longer to check the log console to see if the pixel shader has been successfully loaded. -* **Config option to enables menu option "Show FPS and RT speed in title bar"** - - You can now enable the menu option "Show FPS and RT speed in title bar" directly from the config file so that the setting will become permanent. Previously you can only do so from the menu or via two command-line options (-showcyles and -showrt). - -## 3. Bugfixes and Other Improvements - -There are also many bugfixes and other improvements, such as fixing the 2D texture not showing for 3dfx games in the Glide passthrough mode and the color palette problem when switching to graphic mode from mono mode and a lot more. Please see the full changelogs below for more information. - -## 4. Full Changelog In This Version - -* Physical CD drives are now mountable in SDL2 builds - just like SDL1 builds, so commands like "MOUNT -CD" - should work in both SDL1 and SDL2 builds. Some code - is adopted from the SDL2_CDROM library. (Wengier) -* Implemented file locking support for mounting disk - image files so that you cannot mount the same disk - image files in read/write mode at the same time as - this can cause possible disk corruptions. A config - option "locking disk image mount" is added to the - [dosbox] section which when set to false (or if the - user mounts the image files read-only) will bypass - the locking of image files. Also improved the DOS - file locking function, which can be disabled by - setting "share=false" in [dos] section. (Wengier) -* Implemented PhysFS support so that you can mount - archives (e.g. ZIP/7Z) as drives in read-only mode, - e.g. "MOUNT C TEST.ZIP" or "MOUNT D FILES.7Z". Some - code is ported from a custom DOSBox fork. The menu - option "Mount an archive file (ZIP/7Z)" is added to - Drive menu to mount archives as Drives. (Wengier) -* INT 13h now obeys the "hard drive data rate limit" - setting, using the same disk I/O delay code as - INT 21h file I/O. [Issue #2039] -* Linux/X11 SDL1 builds: Combine window move/resize - into one call if possible, and not during window - manager hints, to avoid resize problems with the - XFCE 4.14 platform. -* Added menu option "Create blank disk images..." - (under "DOS" menu) to create blank floppy or hard - disk images of a common disk size, including 360KB, - 400KB, 720KB, 1.2MB, 1.44MB and 2.88MB for floppy - disk images and 250MB, 520MB, 1GB, 2GB, 4GB and 8GB - for hard disk images. The 1GB option (-t hd_1gig) - is also added to IMGMAKE command. (Wengier) -* The Configuration Tool will now be centered within - the DOSBox-X window for a better looking. (Wengier) -* Added config option "synchronize time" in [dosbox] - section which when set to true will allow DOSBox-X - to automatically synchronize the date and time with - the host system, unless you manually change date - and/or time. A menu option "Synchronize host date/ - time" is added to the DOS menu. The function uses - IRQ0 handler; it will not work in PC-98 mode nor if - the timer isn't running at the standard 18.2Hz tick - rate, as any other rate does not make sense and - will cause only jitter and error. Also fixed two - Demoscene entries sl_fokus and sl_haloo which use - BIOS_TIMER with a faster hardware tick rate. -* Added config option "showdetails" which when set to - true enables the menu option "Show FPS and RT speed - in title bar" at start. It is equivalent to -showrt - and -showcycles command-line options. (Wengier) -* Improved compatibility with Watcom C++ 2.0 when - long filename (LFN) support is enabled. (Wengier) -* Added support for starting DOSBox-X in a specific - display on a multi-screen setup (Windows builds as - well as Linux/macOS SDL2 builds). A config option - "display" is added to the [sdl] section that users - can specify a display for the DOSBox-X window to - start. The option can be combined with the existing - "windowposition" config option to specify the - position on the specified display/screen. (Wengier) -* DOSBox-X will now pop up a message box to inform - the user when a Direct3D pixel shader is loaded - from the menu on the Windows platform. (Wengier) -* Extended serial (COM) ports from COM1-COM3 to COM1- - COM9 in the [serial] section. The config options - serial4-9 are advanced options. You can optionally - specify base addresses for any serial ports. When - the "file" option is used, you can additionally - specify a program to open the file with "openwith" - option. If the specified program cannot be executed - due to some problem, DOSBox-X will try to start a - program as specified with the "openerror" action, - or it will show an error. For both serial (COM) and - parallel (LPT) ports options, the program commands - can be quoted with double quotes, or with single - quotes if the "squote" option is added. (Wengier) -* Extended parallel (LPT) ports from LPT1-LPT3 to - LPT1-LPT9 in the [parallel] section. Config options - lpt4-9 are advanced config options. You can also - optionally specify base addresses and IRQs for - these ports. The parallel1-9 config options are - enhanced to allow the generated files to be started - with the specified action: "openpcl" to start a - program to open the file if the print output is - detected to be PCL; "openps" to start a program if - the print output is detected to be PostScript (PS); - "openwith" to start a program otherwise. If you'd - like to specify parameters then be sure to properly - quote the string(s). Furthermore, if any of the - specified program(s) cannot be executed, DOSBox-X - will try to start a program as specified with the - "openerror" action, or show an error. (Wengier) -* Added "openwith" and "openerror" config options to - [printer] section to start the specified program to - open the printer output file. The [printer] section - also accepts "fontdir" option where you can change - the path ("FONTS" by default) where the printer TTF - fonts (including courier.ttf, ocra.ttf, roman.ttf, - sansserif.ttf, script.ttf) are located. If no TTF - font can be found (either from the custom path or - system path) for printing, the internal TTF font - for the TTF output will be used. (Wengier) -* Added read-only options to the Drive menu to mount - host folders/drives or image files to the specified - drive letter in read-only mode. (Wengier) -* You can now use a single mapper file for both SDL1 - and SDL2 versions of DOSBox-X! The new mapper file - will be divided to sections [SDL1] and [SDL2] for - both versions. The mapper file can be specified - with the mapperfile config option, or you can set - the mapperfile_sdl1 and mapperfile_sdl2 config - options to override mapperfile option. (Wengier) -* Added -defaultmapper command-line option which will - use default key bindings for the mapper. (Wengier) -* The menu functions "Load mapper file", "Quick edit - mode", "Stop clipboard pasting" and "Display state - information" have been added to the key mapper so - that you can now define your own shortcut keys to - activate these functions. (Wengier) -* The default shortcuts for the "Copy to clipboard", - "Paste from clipboard", and the "Reset window size" - functions are now Ctrl+F5, Ctrl+F6 and Host(F11/F12) - +BackSpace respectively. (Wengier) -* Added ttf.fontbold, ttf.fontital, and ttf.fontboit - config options so that you can specify actual bold - italic, and bold-italic TrueType fonts for use with - the TTF output that will render the bold, italic, - and bold-italic text styles using the actual TTF - fonts (e.g. consolab, consolai, consolaz instead of - consola) instead of making the original TTF font - bold, italic, bold-italic automatically. (Wengier) -* DOSBox-X now supports the use of arrow keys (left, - right, up, down, home, end) to select and copy text - to the host clipboard in addition to a mouse button - (subject to the specified key modifier, or use the - QuickEdit function). The arrow keys will move the - selections; press Home key to start the actual text - selection and End key to end text selection and to - copy to the clipboard; press ESC key to cancel text - selection. Set config option "clip_mouse_button" to - "arrows" to enable it, or select it from "Shared - clipboard functions" menu group. (Wengier) -* You can now press the key combination Ctrl+Tab in - the shell to see a list of files/directories that - can be completed by the Tab completion. (Wengier) -* Added SETCOLOR command to view or change the text- - mode color scheme settings. Also fixed the color - palette for the TTF output. (Wengier) -* Separated "TTF options" menu group that contains - TrueType font (TTF) related menu options from the - "Text-mode" menu group in "Video" menu. (Wengier) -* The "Show menu bar" option now appears in system - menu of the Windows SDL2 build too. (Wengier) -* If a language file fails to load, DOSBox-X will now - show a warning dialog instead of exiting. (Wengier) -* The option "clip_key_modifier" now accepts values - like "ctrlalt", "ctrlshift", "altshift". (Wengier) -* Fixed 2D texture not showing for 3dfx games in the - Glide passthrough mode. (Wengier) -* Fixed the mouse sensitivity menu option (under the - "DOS" menu) not working. (Wengier) -* Fixed the color palette problem when switching to - graphic mode from mono mode. (Wengier) -* Fixed full-screen TTF output may not fully cover - the background screen in Linux. (Wengier) -* Fixed that lines starting with "%" in [autoexec] - section are being ignored. (Wengier) -* Fixed issues with building the code with original - MinGW using the ./build-mingw script. (Wengier) -* Fixed option "output=ttf" not working properly with - -startui/startmapper command-line option. (Wengier) -* When the mouse is captured, the title bar will show - the shortcut to release the mouse. (Wengier) -* IMGMOUNT now assumes the ISO type for .GOG/.INS - files (which are equivalent to .CUE/.INS files) - if no type is specified by the user. (Wengier) -* Improved the dynamic core including the way its - cache is allocated and to support dual mapping. -* The FREECG98.BMP file (for PC-98 mode) is now - rendered based on a unifont_jp TTF font instead - of UnifontFullMediumMono.ttf. (roytam1) -* Added support for automatic switching from TTF - output to another output in PC-98 mode, allowing - Windows 3.1 to run in this mode. (Wengier) -* Added OPL3Duo support, which passes OPL3 output - to an OPL3Duo Arduino board with a specific - configuration if desired. Set the config option +--- +slug: 0.83.9 +date: January 1, 2021 +--- + +## 1. Notable New Features + +* **Support for unified SDL1/SDL2 mapper files** + + Unified mapper files for both SDL1 and SDL2 builds of DOSBox-X are now supported, in addition to SDL1/SDL2-only mapper files. There are other enhancements to the mapper too, such as a new command-line option (-defaultmapper) to use the default key mappings. +* **Support for starting DOSBox-X on a specific monitor** + + DOSBox-X can now be started on a specific display on a multi-monitor setup. For example, "display=2" will start DOSBox-X on the second display. It can work in combination with the existing windowposition config option to specify a window position on the display. +* **Support for mounting ZIP or 7Z archives** + + You can now mount ZIP or 7Z archives as DOSBox-X drives! You can run your DOS programs or games in these mounted drives directly, although these drives will operate in read-only mode. +* **Support for time synchronization with the host** + + There is now an option (either from the config or from the menu toggle under the "DOS" menu) which allows DOSBox-X to automatically synchronize the date and time with the host system, unless you manually change date and/or time. +* **Improved TTF output and on-screen text styles** + + The TrueType font (TTF) support (which was added in the previous version) has been further improved. For example, there is now a SETCOLOR command to change the TTF color scheme, and you can now specify actual bold, italic, and bold-italic TrueType fonts for use with the TTF output that will render the bold, italic, and bold-italic text styles. +* **Improved dynamic CPU core** + + The dynamic CPU core (both dynamic_x86 and dynamic_rec) has been improved, such as support for dual mapping and the way its cache is allocated. +* **Much improved printing system** + + The printing system has been greatly improved in this version. New config options "openwith" and "openerror" are added to the [printer] section to start the specified program to open the printer output file. It also allows you to change the path where the printer TTF fonts are located. If no TTF font can be found for printing, the internal TTF font for the TTF output will be used. +* **Enhanced serial and parallel ports and options** + + The serial (COM) and parallel (LPT) ports are extended to COM1-9 and LPT1-9, and the options for all these ports have been enhanced in this version. For example, you can specify programs to open the generated files based on the output type, such as when the output is detected to be PCL or PostScript (PS). +* **Support for selecting and copying text to clipboard via the keyboard** + + The clipboard feature has been further improved. You can now select and copy text to the clipboard via the keyboard (e.g. arrow keys to move the text selection), in addition to use the mouse. +* **File locking functions for disk images and improved DOS SHARE functions** + + File locking support for mounting disk image files is added so that by default you cannot mount the same disk image files in read/write mode at the same time to avoid possible disk corruptions. The DOS SHARE functions are also enhanced for better file and record locking support. +* **Support for mounting physical CD drives in SDL2 builds** + + You can now mount physical CD drives and give hardware access to these CD drives in the DOSBox-X SDL2 builds just like the SDL1 builds. For examples, hardware CD functions like the Audio CD features are now supported for these CD drives in both SDL1 and SDL2 builds (type "INTRO CDROM" for help on mounting physical CD drives). +* **Support for OPL3Duo audio board** + + Support for the OPL3Duo audio board has been added in this version, in addition to the existing OPL options such as Nuked, MAME and OPL2 audio boar. Set "oplemu=opl3duoboard" to use it. + +## 2. Notable Usability Improvements + +* **Centered Configuration Tool window for better looking** + + The main window and windows for various functions in the Configuration Tool will now be centered within the DOSBox-X window for a better looking. Similar to some other functions such as the "Edit cycles" window. +* **Ctrl+Tab to list files/directories for tab completion** + + You can now press the key combination Ctrl+Tab in DOSBox-X's command shell to see a list of files/directories that can be completed by the Tab completion, which can make the Tab completion feature more convenient to use. +* **Auto-assume CD type for GOG/INS image files** + + Some CD images files are with the .GOG and .INS extensions, which are renamed versions of the .CUE and .BIN image files. DOSBox-X will now automatically assume the CD ISO type for these image files so that you no longer need to specify an image type for them. +* **Read-only menu option for mounting drives** + + Mounting host folders/drives or image files to selected drive(s) in read-only mode from the menu is now supported. You can do so by enabling the toggles in the Drive menu. Previously you can only achieve this from the command-line. +* **Menu option to create blank disk images** + + There is now a menu option to create blank floppy or harddisk images of a common disk size, including 360KB, 400KB, 720KB, 1.2MB, 1.44MB and 2.88MB for floppy disk images and 250MB, 520MB, 1GB, 2GB, 4GB and 8GB for hard disk images. Previously you can only do so from the command-line. +* **Feedback in the title bar when mouse is captured** + + When the mouse is captured, DOSBox-X will now show the shortcut to release the mouse in the title bar to inform the user about this status and the key combination to release it. +* **Improved feedback for selecting Direct3D pixel shader from menu** + + DOSBox-X will now pop up a message box to inform the user when a Direct3D pixel shader is loaded from the menu on the Windows platform, so that users no longer to check the log console to see if the pixel shader has been successfully loaded. +* **Config option to enables menu option "Show FPS and RT speed in title bar"** + + You can now enable the menu option "Show FPS and RT speed in title bar" directly from the config file so that the setting will become permanent. Previously you can only do so from the menu or via two command-line options (-showcyles and -showrt). + +## 3. Bugfixes and Other Improvements + +There are also many bugfixes and other improvements, such as fixing the 2D texture not showing for 3dfx games in the Glide passthrough mode and the color palette problem when switching to graphic mode from mono mode and a lot more. Please see the full changelogs below for more information. + +## 4. Full Changelog In This Version + +* Physical CD drives are now mountable in SDL2 builds + just like SDL1 builds, so commands like "MOUNT -CD" + should work in both SDL1 and SDL2 builds. Some code + is adopted from the SDL2_CDROM library. (Wengier) +* Implemented file locking support for mounting disk + image files so that you cannot mount the same disk + image files in read/write mode at the same time as + this can cause possible disk corruptions. A config + option "locking disk image mount" is added to the + [dosbox] section which when set to false (or if the + user mounts the image files read-only) will bypass + the locking of image files. Also improved the DOS + file locking function, which can be disabled by + setting "share=false" in [dos] section. (Wengier) +* Implemented PhysFS support so that you can mount + archives (e.g. ZIP/7Z) as drives in read-only mode, + e.g. "MOUNT C TEST.ZIP" or "MOUNT D FILES.7Z". Some + code is ported from a custom DOSBox fork. The menu + option "Mount an archive file (ZIP/7Z)" is added to + Drive menu to mount archives as Drives. (Wengier) +* INT 13h now obeys the "hard drive data rate limit" + setting, using the same disk I/O delay code as + INT 21h file I/O. [Issue #2039] +* Linux/X11 SDL1 builds: Combine window move/resize + into one call if possible, and not during window + manager hints, to avoid resize problems with the + XFCE 4.14 platform. +* Added menu option "Create blank disk images..." + (under "DOS" menu) to create blank floppy or hard + disk images of a common disk size, including 360KB, + 400KB, 720KB, 1.2MB, 1.44MB and 2.88MB for floppy + disk images and 250MB, 520MB, 1GB, 2GB, 4GB and 8GB + for hard disk images. The 1GB option (-t hd_1gig) + is also added to IMGMAKE command. (Wengier) +* The Configuration Tool will now be centered within + the DOSBox-X window for a better looking. (Wengier) +* Added config option "synchronize time" in [dosbox] + section which when set to true will allow DOSBox-X + to automatically synchronize the date and time with + the host system, unless you manually change date + and/or time. A menu option "Synchronize host date/ + time" is added to the DOS menu. The function uses + IRQ0 handler; it will not work in PC-98 mode nor if + the timer isn't running at the standard 18.2Hz tick + rate, as any other rate does not make sense and + will cause only jitter and error. Also fixed two + Demoscene entries sl_fokus and sl_haloo which use + BIOS_TIMER with a faster hardware tick rate. +* Added config option "showdetails" which when set to + true enables the menu option "Show FPS and RT speed + in title bar" at start. It is equivalent to -showrt + and -showcycles command-line options. (Wengier) +* Improved compatibility with Watcom C++ 2.0 when + long filename (LFN) support is enabled. (Wengier) +* Added support for starting DOSBox-X in a specific + display on a multi-screen setup (Windows builds as + well as Linux/macOS SDL2 builds). A config option + "display" is added to the [sdl] section that users + can specify a display for the DOSBox-X window to + start. The option can be combined with the existing + "windowposition" config option to specify the + position on the specified display/screen. (Wengier) +* DOSBox-X will now pop up a message box to inform + the user when a Direct3D pixel shader is loaded + from the menu on the Windows platform. (Wengier) +* Extended serial (COM) ports from COM1-COM3 to COM1- + COM9 in the [serial] section. The config options + serial4-9 are advanced options. You can optionally + specify base addresses for any serial ports. When + the "file" option is used, you can additionally + specify a program to open the file with "openwith" + option. If the specified program cannot be executed + due to some problem, DOSBox-X will try to start a + program as specified with the "openerror" action, + or it will show an error. For both serial (COM) and + parallel (LPT) ports options, the program commands + can be quoted with double quotes, or with single + quotes if the "squote" option is added. (Wengier) +* Extended parallel (LPT) ports from LPT1-LPT3 to + LPT1-LPT9 in the [parallel] section. Config options + lpt4-9 are advanced config options. You can also + optionally specify base addresses and IRQs for + these ports. The parallel1-9 config options are + enhanced to allow the generated files to be started + with the specified action: "openpcl" to start a + program to open the file if the print output is + detected to be PCL; "openps" to start a program if + the print output is detected to be PostScript (PS); + "openwith" to start a program otherwise. If you'd + like to specify parameters then be sure to properly + quote the string(s). Furthermore, if any of the + specified program(s) cannot be executed, DOSBox-X + will try to start a program as specified with the + "openerror" action, or show an error. (Wengier) +* Added "openwith" and "openerror" config options to + [printer] section to start the specified program to + open the printer output file. The [printer] section + also accepts "fontdir" option where you can change + the path ("FONTS" by default) where the printer TTF + fonts (including courier.ttf, ocra.ttf, roman.ttf, + sansserif.ttf, script.ttf) are located. If no TTF + font can be found (either from the custom path or + system path) for printing, the internal TTF font + for the TTF output will be used. (Wengier) +* Added read-only options to the Drive menu to mount + host folders/drives or image files to the specified + drive letter in read-only mode. (Wengier) +* You can now use a single mapper file for both SDL1 + and SDL2 versions of DOSBox-X! The new mapper file + will be divided to sections [SDL1] and [SDL2] for + both versions. The mapper file can be specified + with the mapperfile config option, or you can set + the mapperfile_sdl1 and mapperfile_sdl2 config + options to override mapperfile option. (Wengier) +* Added -defaultmapper command-line option which will + use default key bindings for the mapper. (Wengier) +* The menu functions "Load mapper file", "Quick edit + mode", "Stop clipboard pasting" and "Display state + information" have been added to the key mapper so + that you can now define your own shortcut keys to + activate these functions. (Wengier) +* The default shortcuts for the "Copy to clipboard", + "Paste from clipboard", and the "Reset window size" + functions are now Ctrl+F5, Ctrl+F6 and Host(F11/F12) + +BackSpace respectively. (Wengier) +* Added ttf.fontbold, ttf.fontital, and ttf.fontboit + config options so that you can specify actual bold + italic, and bold-italic TrueType fonts for use with + the TTF output that will render the bold, italic, + and bold-italic text styles using the actual TTF + fonts (e.g. consolab, consolai, consolaz instead of + consola) instead of making the original TTF font + bold, italic, bold-italic automatically. (Wengier) +* DOSBox-X now supports the use of arrow keys (left, + right, up, down, home, end) to select and copy text + to the host clipboard in addition to a mouse button + (subject to the specified key modifier, or use the + QuickEdit function). The arrow keys will move the + selections; press Home key to start the actual text + selection and End key to end text selection and to + copy to the clipboard; press ESC key to cancel text + selection. Set config option "clip_mouse_button" to + "arrows" to enable it, or select it from "Shared + clipboard functions" menu group. (Wengier) +* You can now press the key combination Ctrl+Tab in + the shell to see a list of files/directories that + can be completed by the Tab completion. (Wengier) +* Added SETCOLOR command to view or change the text- + mode color scheme settings. Also fixed the color + palette for the TTF output. (Wengier) +* Separated "TTF options" menu group that contains + TrueType font (TTF) related menu options from the + "Text-mode" menu group in "Video" menu. (Wengier) +* The "Show menu bar" option now appears in system + menu of the Windows SDL2 build too. (Wengier) +* If a language file fails to load, DOSBox-X will now + show a warning dialog instead of exiting. (Wengier) +* The option "clip_key_modifier" now accepts values + like "ctrlalt", "ctrlshift", "altshift". (Wengier) +* Fixed 2D texture not showing for 3dfx games in the + Glide passthrough mode. (Wengier) +* Fixed the mouse sensitivity menu option (under the + "DOS" menu) not working. (Wengier) +* Fixed the color palette problem when switching to + graphic mode from mono mode. (Wengier) +* Fixed full-screen TTF output may not fully cover + the background screen in Linux. (Wengier) +* Fixed that lines starting with "%" in [autoexec] + section are being ignored. (Wengier) +* Fixed issues with building the code with original + MinGW using the ./build-mingw script. (Wengier) +* Fixed option "output=ttf" not working properly with + -startui/startmapper command-line option. (Wengier) +* When the mouse is captured, the title bar will show + the shortcut to release the mouse. (Wengier) +* IMGMOUNT now assumes the ISO type for .GOG/.INS + files (which are equivalent to .CUE/.INS files) + if no type is specified by the user. (Wengier) +* Improved the dynamic core including the way its + cache is allocated and to support dual mapping. +* The FREECG98.BMP file (for PC-98 mode) is now + rendered based on a unifont_jp TTF font instead + of UnifontFullMediumMono.ttf. (roytam1) +* Added support for automatic switching from TTF + output to another output in PC-98 mode, allowing + Windows 3.1 to run in this mode. (Wengier) +* Added OPL3Duo support, which passes OPL3 output + to an OPL3Duo Arduino board with a specific + configuration if desired. Set the config option "oplemu=opl3duoboard" to use it. (josephillips85) \ No newline at end of file diff --git a/_release_notes/0.84.0.md b/_release_notes/0.84.0.md index c2c70cb3822..3d5b8b29c16 100644 --- a/_release_notes/0.84.0.md +++ b/_release_notes/0.84.0.md @@ -1,129 +1,130 @@ ---- -date: "May 31, 2022" ---- - -* CMOS century register now aliased to register - 32h and 37h to appease Windows 2000, which assumes - the century is stored there and will complain - about invalid date/time otherwise (joncampbell123). -* Treat IDE command E7h (FLUSH CACHE) as a no-op - so that the common use of it from Windows 2000 - doesn't spam your log file (joncampbell123). -* BIOS: At post, if DOS kernel was active and the - DOS Shell was still running, initiate a proper - system reset event. Some software, including the - WINNT.EXE install program for Windows NT, like to - restart the system by JMPing to the BIOS POST - entry point. Prior to this fix, doing that from a - DOS program caused instability with mounted images - and the DOS shell due to recursion. (joncampbell123). -* Fix FPU implementation for aarch64 cores (cimarronm) -* Fixed INT 10h and DAC palette mapping to resolve - incorrect colors with Hercules graphics mode when - a game calls INT 10h to set video mode after setting - it up. This resolves the incorrect blue on black - color map for Grand Prix by Accolade (joncampbell123). -* Add recursive mkdir_p() directory creation so that - overlay filesystem support can correctly create - a subdirectory of any depth, instead of only one - level deep from an existing directory on disk. - (joncampbell123) -* Add dosbox(-x).conf option "isapnpport" to control - whether the ISA Plug & Play I/O port is presented - to the guest. Setting is "true", "false", or "auto". - "auto" means to enable if PnP BIOS is enabled. - Previously this port was always present even if - the PnP BIOS was not. Some operating systems, - including Windows NT/2000/XP, will enumerate ISA - Plug & Play hardware by themselves whether or not - the PnP BIOS is present. (joncampbell123) -* Fix FPU operations using the top of stack on - 32-bit VS builds (cimarronm) -* Add IDE ATAPI command MECHANISM STATUS for - Windows NT 4.0 because that system seems - to want to know if your CD-ROM drive is a - CD changer (joncampbell123) -* IDE Plug & Play resource descriptor changed to use - 2-byte structure for listing IRQ resource instead of - 3 bytes. This (for some reason) fixes problems with - the IDE driver in Windows NT 4.0, Windows 2000, and - Windows XP and allows them to boot properly. - (joncampbell123) -* INT 13h extensions function 48h is supposed to - return physical geometry, not the logical geometry - normally returned by function 08h. This means for - IDE devices, to return the geometry the IDE controller - is using. (joncampbell123) -* Enhanced the Mapper Editor interface. The Mapper UI - has been greatly improved. (aybe) -* Add IDE ATAPI command MECHANISM STATUS for Windows - NT 4.0 because that system seems to want to know if - your CD-ROM drive is a CD changer. (joncampbell123) -* Fix IDE devices to start up with the drive ready - bit set for OSes that expect it when probing IDE - devices. This allows the Linux kernel to see IDE - ATA drives emulated by DOSBox-X. (joncampbell123) -* Fix IDE ATAPI emulation to correctly handle CD - READ across one or more DRQ block transfers. Use - block size given by guest in consideration of DRQ - block size, which allows ATAPI CD-ROM emulation to - work properly with the Linux kernel. (joncampbell123) -* Add debug command to show PC-98 color palettes. - Corrected typo. (joncampbell123) -* Add support for PC-98 monochrome graphics mode. - (joncampbell123) -* IDE emulation now handles implementation events per - IDE device instead of per IDE controller, which - may resolve IDE controller issues with some guests. - (joncampbell123) -* Added PC-98 GDC drawing commands, which is - based on Neko Project II source code (nanshiki) -* Added PC-98 LIO BIOS interface, which is based on - Neko Project II source code (nanshiki) -* INT 21h AH=31h Terminate And Stay Resident: If the - program called INT 21h to free its own PSP segment, - reassign the block back to the program as allocated - and then resize as expected. Needed for PC-98 game - "Yu No" in which PLAY6.EXE, one of the resident - drivers used for music, does just that. (joncampbell123) -* Add a hack to enable read access to port 0xa460 on PC-98 which - returns Sound ID to detect the sound board available. - Note that the current hack returns Sound ID of PC-9801-86 board - regardless of the board selected to emulate. (maron2000) -* Adds WINCHECK to list of programs which should not - return a valid installation check for WinOldAp - (AX=1700h/int2fh) so it doesn't mistakenly believe - Windows is running (cimarronm) -* Add minimal support for IDE SET FEATURES command EFh. - (joncampbell123) -* Fix CMPXCHG8B to change only the ZF flag, instead of - changing ZF with other flags in an undefined state - afterwards. This fixes problems with the Windows 2000 - kernel booting up and cputype=pentium (though I am - unable to get past the INACCESSIBLE_BOOT_DEVICE error). - (joncampbell123) -* Updates XADD instruction to set appropriate flags - (cimarronm) -* Updates to FPU to handle opcode size prefix (66h) - on FSTENV/FLDENV/FSAVE/FRSTOR instructions (cimarronm) -* Update FLD constant FPU instructions to more - accurately match FPU implementations (cimarronm) -* Fixed dynamic_dynrec being displayed as dynamic_x86 - in menu, and PREFETCH instruction breakage in the - dynamic core. (Jookia) -* Fixed crash if no dynamic cores available (Jookia) -* Fixed TTF mode breaking a guest not running the - DOS kernel. (Jookia) -* Fix DBCS table initialization on reset and - restart (cimarronm) -* Fixed some guest systems may not work as expected - in non-TTF outputs. (Wengier) -* Fixed IME input not working in MinGW builds, and - FluidSynth in MinGW-lowend builds. (Wengier) -* Fixed resizable OpenGL Voodoo window not working - properly on Windows in previous version. (Wengier) -* Fixed commands "CHOICE /N /C:123" and "MIXER /GUI" - not working properly in previous version. (Wengier) -* Integrated commits from mainline (Allofich) - - Disable leading directory validity check in +--- +slug: 0.84.0 +date: "May 31, 2022" +--- + +* CMOS century register now aliased to register + 32h and 37h to appease Windows 2000, which assumes + the century is stored there and will complain + about invalid date/time otherwise (joncampbell123). +* Treat IDE command E7h (FLUSH CACHE) as a no-op + so that the common use of it from Windows 2000 + doesn't spam your log file (joncampbell123). +* BIOS: At post, if DOS kernel was active and the + DOS Shell was still running, initiate a proper + system reset event. Some software, including the + WINNT.EXE install program for Windows NT, like to + restart the system by JMPing to the BIOS POST + entry point. Prior to this fix, doing that from a + DOS program caused instability with mounted images + and the DOS shell due to recursion. (joncampbell123). +* Fix FPU implementation for aarch64 cores (cimarronm) +* Fixed INT 10h and DAC palette mapping to resolve + incorrect colors with Hercules graphics mode when + a game calls INT 10h to set video mode after setting + it up. This resolves the incorrect blue on black + color map for Grand Prix by Accolade (joncampbell123). +* Add recursive mkdir_p() directory creation so that + overlay filesystem support can correctly create + a subdirectory of any depth, instead of only one + level deep from an existing directory on disk. + (joncampbell123) +* Add dosbox(-x).conf option "isapnpport" to control + whether the ISA Plug & Play I/O port is presented + to the guest. Setting is "true", "false", or "auto". + "auto" means to enable if PnP BIOS is enabled. + Previously this port was always present even if + the PnP BIOS was not. Some operating systems, + including Windows NT/2000/XP, will enumerate ISA + Plug & Play hardware by themselves whether or not + the PnP BIOS is present. (joncampbell123) +* Fix FPU operations using the top of stack on + 32-bit VS builds (cimarronm) +* Add IDE ATAPI command MECHANISM STATUS for + Windows NT 4.0 because that system seems + to want to know if your CD-ROM drive is a + CD changer (joncampbell123) +* IDE Plug & Play resource descriptor changed to use + 2-byte structure for listing IRQ resource instead of + 3 bytes. This (for some reason) fixes problems with + the IDE driver in Windows NT 4.0, Windows 2000, and + Windows XP and allows them to boot properly. + (joncampbell123) +* INT 13h extensions function 48h is supposed to + return physical geometry, not the logical geometry + normally returned by function 08h. This means for + IDE devices, to return the geometry the IDE controller + is using. (joncampbell123) +* Enhanced the Mapper Editor interface. The Mapper UI + has been greatly improved. (aybe) +* Add IDE ATAPI command MECHANISM STATUS for Windows + NT 4.0 because that system seems to want to know if + your CD-ROM drive is a CD changer. (joncampbell123) +* Fix IDE devices to start up with the drive ready + bit set for OSes that expect it when probing IDE + devices. This allows the Linux kernel to see IDE + ATA drives emulated by DOSBox-X. (joncampbell123) +* Fix IDE ATAPI emulation to correctly handle CD + READ across one or more DRQ block transfers. Use + block size given by guest in consideration of DRQ + block size, which allows ATAPI CD-ROM emulation to + work properly with the Linux kernel. (joncampbell123) +* Add debug command to show PC-98 color palettes. + Corrected typo. (joncampbell123) +* Add support for PC-98 monochrome graphics mode. + (joncampbell123) +* IDE emulation now handles implementation events per + IDE device instead of per IDE controller, which + may resolve IDE controller issues with some guests. + (joncampbell123) +* Added PC-98 GDC drawing commands, which is + based on Neko Project II source code (nanshiki) +* Added PC-98 LIO BIOS interface, which is based on + Neko Project II source code (nanshiki) +* INT 21h AH=31h Terminate And Stay Resident: If the + program called INT 21h to free its own PSP segment, + reassign the block back to the program as allocated + and then resize as expected. Needed for PC-98 game + "Yu No" in which PLAY6.EXE, one of the resident + drivers used for music, does just that. (joncampbell123) +* Add a hack to enable read access to port 0xa460 on PC-98 which + returns Sound ID to detect the sound board available. + Note that the current hack returns Sound ID of PC-9801-86 board + regardless of the board selected to emulate. (maron2000) +* Adds WINCHECK to list of programs which should not + return a valid installation check for WinOldAp + (AX=1700h/int2fh) so it doesn't mistakenly believe + Windows is running (cimarronm) +* Add minimal support for IDE SET FEATURES command EFh. + (joncampbell123) +* Fix CMPXCHG8B to change only the ZF flag, instead of + changing ZF with other flags in an undefined state + afterwards. This fixes problems with the Windows 2000 + kernel booting up and cputype=pentium (though I am + unable to get past the INACCESSIBLE_BOOT_DEVICE error). + (joncampbell123) +* Updates XADD instruction to set appropriate flags + (cimarronm) +* Updates to FPU to handle opcode size prefix (66h) + on FSTENV/FLDENV/FSAVE/FRSTOR instructions (cimarronm) +* Update FLD constant FPU instructions to more + accurately match FPU implementations (cimarronm) +* Fixed dynamic_dynrec being displayed as dynamic_x86 + in menu, and PREFETCH instruction breakage in the + dynamic core. (Jookia) +* Fixed crash if no dynamic cores available (Jookia) +* Fixed TTF mode breaking a guest not running the + DOS kernel. (Jookia) +* Fix DBCS table initialization on reset and + restart (cimarronm) +* Fixed some guest systems may not work as expected + in non-TTF outputs. (Wengier) +* Fixed IME input not working in MinGW builds, and + FluidSynth in MinGW-lowend builds. (Wengier) +* Fixed resizable OpenGL Voodoo window not working + properly on Windows in previous version. (Wengier) +* Fixed commands "CHOICE /N /C:123" and "MIXER /GUI" + not working properly in previous version. (Wengier) +* Integrated commits from mainline (Allofich) + - Disable leading directory validity check in DOS_FindDevice. \ No newline at end of file diff --git a/_release_notes/0.84.1.md b/_release_notes/0.84.1.md index 79d8fba87c1..f2b4176b5e3 100644 --- a/_release_notes/0.84.1.md +++ b/_release_notes/0.84.1.md @@ -1,169 +1,170 @@ ---- -date: "July 1, 2022" ---- - -* Added dosbox(-x).conf option to enable workaround - for errant DOS programs that set the TF (trap flag) - and then crash. Added code to DOS kernel INT 01h - handler to clear TF flag if instructed to by the - dosbox(-x).conf setting which can prevent such - errant programs from crashing. Needed for 1996 demo - "Dyslexia" by Threesome. (joncampbell123) -* Fix RETF instruction handling to only modify the - low 16 bits of ESP in real mode, even if the - immediate value for RETF is a large value like - FFFEh (fix for Finster by Mad Scientists). Prior - to this fix, it was possible to increment the - upper 32 bits of ESP from real mode using a - normal 16-bit RETF with a very large immediate - value. This fix removes the need for the ENTER - masking dosbox(-x).conf option entirely and allows - Finster to run without it. (joncampbell123). -* Added dosbox(-x).conf option to control whether the - ENTER instruction masks the stack pointer to 64KB - if the stack segment is 16-bit, which is off by - default because real Intel processors do not do - that. (joncampbell123). -* Added dosbox(-x).conf option that can instruct EGA/ - VGA emulation to ignore the display blanking bit in - the sequencer registers. Some games appear to have - bugs in their VGA programming code that can - accidentally set that bit and therefore show - nothing on screen. Fix for 1996 game "Finster" by - Mad Scientists. The game appears to make this - programming mistake on any fork of DOSBox - including DOSBox-X, and is reported to also make - the same mistake on other emulators like 86box. - However most forks of DOSBox have a matching bug - in their VGA emulation that allows the blanked - display to appear normally regardless of that - register bit unless run with machine=vgaonly. - It's unclear if there is anything about DOSBox - or DOSBox-X emulation that causes the game to - misprogram the registers. (joncampbell123). -* If guest uses ENTER instruction from 16-bit code - with 66h (32-bit operand) prefix, and the CPU is - in real mode or the stack segment is 16-bit, mask - stack pointer with 0xFFFF. This fixes 1996 game - "Finster" by Mad Scientists (joncampbell123). -* DOSBox-X will now search for resource files such as - fonts and translations in the resource directory ( - C:/DOSBox-X in Windows, /usr/(local/)share/dosbox-x - in Linux, and dosbox-x.app/Contents/Resources in - macOS) in addition to other locations. (Wengier) -* Updated DOSBox-X's integration device to version - 1.0.1, adding API calls such as DOSBox-X's version - number and platform, and some DOS-related status - such as DOS version number. (Wengier) -* Improve the HX-DOS build package, including the - TTF output support and accessory files. (Wengier) -* Use long double for internal event scheduling - if available, to improve accuracy (joncampbell123). -* Fix remaining SDL2 Windows problems by adding - missing break statement above window event - handler. (joncampbell123). -* Move "Always on top" menu option from "Video" to - "Main" menu, also enabled for Windows/macOS SDL2 - builds when possible. (Wengier) -* Add workarounds for SDL2 builds to avoid problems - with window resize, menu update, and restore - events that sometimes caused the emulator to hang - on startup in Windows. (joncampbell123). -* Add "Set transparency..." and "Set text in title - bar..." menu options under "Video" to change window - transparency and title bar text. (Wengier) -* Add special properties to CONFIG command including - "system" and "version". (Wengier) -* Fix DOS 8.3 filename generations when there are - special characters in the filenames. (Wengier) -* Fix creation of disk images with spaces using the - "Create blank disk image..." menu option. (Wengier) -* Fix IMGMAKE to provide executable code in MS-DOS - partition or floppy disk boot sector following - the BPB, that prints "This is not a bootable disk" - instead of leaving zeros that lead the CPU astray - and possibly hang the system in the event anything - tries to boot the partition (joncampbell123). -* Fix emulator segfault on invalid encoding of - BOUND instruction (joncampbell123). -* Address auto-centering on mode change complaints - by making the "-" setting of windowposition the - default. (joncampbell123). -* Added MinGW-lowend SDL2 build, which is compatible - with Windows XP. Also updated the build selection - page for Windows installers. (Wengier) -* Fix windows transparency during TTF output switch - in Windows SDL2 builds. (Wengier) -* Fix SDL2 Windows builds to flag a resize as not - user initiated only if the presence of the menu - bar changes. This fixes a problem where SDL2 - builds did not acknowledge window resize events - at all. (joncampbell123). -* Fix FluidSynth weird sound issue in 32-bit Visual - Studio SDL2 build. (Wengier) -* Fluidsynth: Fix uninitialized conditional object - init in Windows builds (joncampbell123). -* Linux/X11: Add an X11 error handler function to - handle the occasional X11 error that can happen - within the SDL2 library if certain events, like - window resize, occur too frequently. The custom - error handler logs the error but does not abort - the emulator like the default one would. - (joncampbell123). -* Fix SDL2 builds with output=surface not to render - if the window at any point is too small. Resizing - the window below the minimum supported by the - DOS screen will not longer trigger segfaults or - assertion failures. Issue #3348. (joncampbell123). -* Fix IME not working on Windows when -langcp option - is used to load a language with DBCS codepage, or - in 32-bit MinGW lowend SDL1 build. (Wengier) -* Fixed INT 10h failing to fully clear Tandy video - memory when entering 16-color graphics modes. - (joncampbell123). -* Fixed missing/NULL INT 1Fh interrupt vector with - CGA/PCjr/Tandy machine types. DOS games that print - to screen using INT 10h in graphics modes can now - print extended (>=128) character codes correctly. - This fixes "BushBuck: A Treasure Hunt" and enables - it's rather odd Tandy detection routine to work - with machine=tandy. (joncampbell123). -* Disney Sound Source: Fix problems between Disney - sound source and parallel port emulation. Fix the - code to enable Disney Sound System emulation either - by disney=true (DOSBox SVN compatible) or - parallel1=disney (The DOSBox-X way). (joncampbell123). -* DOS SHELL: Change shell command parsing to make - unusual combinations of command plus trailing - command possible such as ECHO. ECHO; ECHO: ECHO[ - ECHO] ECHO\ ECHO/ ECHO" ECHO+ (issue #3503). - (joncampbell123). -* DIR command supports more sorting methods including - "DIR /OGD", "DIR /OGE", and "DIR /OGS". (Wengier) -* Support for BDF and PCF bitmap fonts for DOS/V - functions, such as the free WenQuanYi bitmap font - (bundled for displaying CJK characters). (Wengier) -* EGA: Add machine type to emulate 200-line (CGA - compatible) EGA display mode, machine=ega200. - All text modes have 8x8 character cells, use CGA - compatible video timing, and the 640x350 modes - are not available. Fix EGA display offset register - usage to properly work with alphanumeric text - mode when "word mode" is turned off. This fixes - IBM demonstration program "Fantasy Land". - (joncampbell123). -* IDE: Remove extra state from IDE controller that - is managed by the drive. The ATA-1 standard seems - to say that status and drive/head registers on - read back always come from the ATA device. - (joncampbell123). -* IDE: If ATA device is busy, all IDE registers - return the status register and BSY bit according - to ATA-1 standard (joncampbell123). -* IDE ATAPI CD-ROM: Add ATAPI command BEh READ CD. - This command is like the 28h/A8h READ command but - specific to the CD/CD-ROM format and allows reading - the various sector types including data sectors and - CD audio. Windows NT 4.0 requires this, or else it - treats the CD-ROM drive like a non-working device. - (joncampbell123). +--- +slug: 0.84.1 +date: "July 1, 2022" +--- + +* Added dosbox(-x).conf option to enable workaround + for errant DOS programs that set the TF (trap flag) + and then crash. Added code to DOS kernel INT 01h + handler to clear TF flag if instructed to by the + dosbox(-x).conf setting which can prevent such + errant programs from crashing. Needed for 1996 demo + "Dyslexia" by Threesome. (joncampbell123) +* Fix RETF instruction handling to only modify the + low 16 bits of ESP in real mode, even if the + immediate value for RETF is a large value like + FFFEh (fix for Finster by Mad Scientists). Prior + to this fix, it was possible to increment the + upper 32 bits of ESP from real mode using a + normal 16-bit RETF with a very large immediate + value. This fix removes the need for the ENTER + masking dosbox(-x).conf option entirely and allows + Finster to run without it. (joncampbell123). +* Added dosbox(-x).conf option to control whether the + ENTER instruction masks the stack pointer to 64KB + if the stack segment is 16-bit, which is off by + default because real Intel processors do not do + that. (joncampbell123). +* Added dosbox(-x).conf option that can instruct EGA/ + VGA emulation to ignore the display blanking bit in + the sequencer registers. Some games appear to have + bugs in their VGA programming code that can + accidentally set that bit and therefore show + nothing on screen. Fix for 1996 game "Finster" by + Mad Scientists. The game appears to make this + programming mistake on any fork of DOSBox + including DOSBox-X, and is reported to also make + the same mistake on other emulators like 86box. + However most forks of DOSBox have a matching bug + in their VGA emulation that allows the blanked + display to appear normally regardless of that + register bit unless run with machine=vgaonly. + It's unclear if there is anything about DOSBox + or DOSBox-X emulation that causes the game to + misprogram the registers. (joncampbell123). +* If guest uses ENTER instruction from 16-bit code + with 66h (32-bit operand) prefix, and the CPU is + in real mode or the stack segment is 16-bit, mask + stack pointer with 0xFFFF. This fixes 1996 game + "Finster" by Mad Scientists (joncampbell123). +* DOSBox-X will now search for resource files such as + fonts and translations in the resource directory ( + C:/DOSBox-X in Windows, /usr/(local/)share/dosbox-x + in Linux, and dosbox-x.app/Contents/Resources in + macOS) in addition to other locations. (Wengier) +* Updated DOSBox-X's integration device to version + 1.0.1, adding API calls such as DOSBox-X's version + number and platform, and some DOS-related status + such as DOS version number. (Wengier) +* Improve the HX-DOS build package, including the + TTF output support and accessory files. (Wengier) +* Use long double for internal event scheduling + if available, to improve accuracy (joncampbell123). +* Fix remaining SDL2 Windows problems by adding + missing break statement above window event + handler. (joncampbell123). +* Move "Always on top" menu option from "Video" to + "Main" menu, also enabled for Windows/macOS SDL2 + builds when possible. (Wengier) +* Add workarounds for SDL2 builds to avoid problems + with window resize, menu update, and restore + events that sometimes caused the emulator to hang + on startup in Windows. (joncampbell123). +* Add "Set transparency..." and "Set text in title + bar..." menu options under "Video" to change window + transparency and title bar text. (Wengier) +* Add special properties to CONFIG command including + "system" and "version". (Wengier) +* Fix DOS 8.3 filename generations when there are + special characters in the filenames. (Wengier) +* Fix creation of disk images with spaces using the + "Create blank disk image..." menu option. (Wengier) +* Fix IMGMAKE to provide executable code in MS-DOS + partition or floppy disk boot sector following + the BPB, that prints "This is not a bootable disk" + instead of leaving zeros that lead the CPU astray + and possibly hang the system in the event anything + tries to boot the partition (joncampbell123). +* Fix emulator segfault on invalid encoding of + BOUND instruction (joncampbell123). +* Address auto-centering on mode change complaints + by making the "-" setting of windowposition the + default. (joncampbell123). +* Added MinGW-lowend SDL2 build, which is compatible + with Windows XP. Also updated the build selection + page for Windows installers. (Wengier) +* Fix windows transparency during TTF output switch + in Windows SDL2 builds. (Wengier) +* Fix SDL2 Windows builds to flag a resize as not + user initiated only if the presence of the menu + bar changes. This fixes a problem where SDL2 + builds did not acknowledge window resize events + at all. (joncampbell123). +* Fix FluidSynth weird sound issue in 32-bit Visual + Studio SDL2 build. (Wengier) +* Fluidsynth: Fix uninitialized conditional object + init in Windows builds (joncampbell123). +* Linux/X11: Add an X11 error handler function to + handle the occasional X11 error that can happen + within the SDL2 library if certain events, like + window resize, occur too frequently. The custom + error handler logs the error but does not abort + the emulator like the default one would. + (joncampbell123). +* Fix SDL2 builds with output=surface not to render + if the window at any point is too small. Resizing + the window below the minimum supported by the + DOS screen will not longer trigger segfaults or + assertion failures. Issue #3348. (joncampbell123). +* Fix IME not working on Windows when -langcp option + is used to load a language with DBCS codepage, or + in 32-bit MinGW lowend SDL1 build. (Wengier) +* Fixed INT 10h failing to fully clear Tandy video + memory when entering 16-color graphics modes. + (joncampbell123). +* Fixed missing/NULL INT 1Fh interrupt vector with + CGA/PCjr/Tandy machine types. DOS games that print + to screen using INT 10h in graphics modes can now + print extended (>=128) character codes correctly. + This fixes "BushBuck: A Treasure Hunt" and enables + it's rather odd Tandy detection routine to work + with machine=tandy. (joncampbell123). +* Disney Sound Source: Fix problems between Disney + sound source and parallel port emulation. Fix the + code to enable Disney Sound System emulation either + by disney=true (DOSBox SVN compatible) or + parallel1=disney (The DOSBox-X way). (joncampbell123). +* DOS SHELL: Change shell command parsing to make + unusual combinations of command plus trailing + command possible such as ECHO. ECHO; ECHO: ECHO[ + ECHO] ECHO\ ECHO/ ECHO" ECHO+ (issue #3503). + (joncampbell123). +* DIR command supports more sorting methods including + "DIR /OGD", "DIR /OGE", and "DIR /OGS". (Wengier) +* Support for BDF and PCF bitmap fonts for DOS/V + functions, such as the free WenQuanYi bitmap font + (bundled for displaying CJK characters). (Wengier) +* EGA: Add machine type to emulate 200-line (CGA + compatible) EGA display mode, machine=ega200. + All text modes have 8x8 character cells, use CGA + compatible video timing, and the 640x350 modes + are not available. Fix EGA display offset register + usage to properly work with alphanumeric text + mode when "word mode" is turned off. This fixes + IBM demonstration program "Fantasy Land". + (joncampbell123). +* IDE: Remove extra state from IDE controller that + is managed by the drive. The ATA-1 standard seems + to say that status and drive/head registers on + read back always come from the ATA device. + (joncampbell123). +* IDE: If ATA device is busy, all IDE registers + return the status register and BSY bit according + to ATA-1 standard (joncampbell123). +* IDE ATAPI CD-ROM: Add ATAPI command BEh READ CD. + This command is like the 28h/A8h READ command but + specific to the CD/CD-ROM format and allows reading + the various sector types including data sectors and + CD audio. Windows NT 4.0 requires this, or else it + treats the CD-ROM drive like a non-working device. + (joncampbell123). diff --git a/_release_notes/0.84.2.md b/_release_notes/0.84.2.md index 965b105f57c..b9cb821ec6b 100644 --- a/_release_notes/0.84.2.md +++ b/_release_notes/0.84.2.md @@ -1,130 +1,131 @@ ---- -date: "August 1, 2022" -version_secondary: "2022.08.0" ---- - -* Fill in PC-98 BIOS data area byte value indicating - CPU type (whether 8086, 286, 386 or higher) - (Wengier), fill it in at startup (joncampbell123). -* CHOICE now supports breaking and errors on end of - file or pipe instead of freezing DOSBox-X. (Jookia) -* Fixed debugger commands parsing numbers wrong. (Jookia) -* Fixed DIR crashing on volumes with more than - 999,999,999,999 bytes of free space. (Jookia) -* Switched to year.month.patch versioning (Jookia) -* Fix NE2000 panicking if packets are queued too fast. - (kcgen, Jookia) -* Fix ISO image format detection to support pure - UDF formatted images, meaning that the image - lacks any ISO 9660 features and contains only - UDF. (joncampbell123). -* Added support for UDF filesystem to ISO image - handling. It is enabled by default if emulating - MS-DOS 7.10 (aka Windows 98) or higher. - (joncampbell123). -* Added code to detect Rock Ridge according to the - System Use Sharing Protocol standard, and to - read the SUSP entries correctly for the alternate - name, if enabled. (joncampbell123) -* Updated ISO MSCDEX drive emulation to scan the - available volumes in the ISO image rather than - assume the first volume, which makes Joilet - support possible if long filenames are enabled - and the DOS version is 7.0 or higher. (joncampbell123). -* Add IMGMOUNT -o option for ISO filesystem support - to enable/disable Joliet extensions, which is a - Microsoft extension to ISO 9660 where long names - encoded using Unicode UCS-16 exist as a supplementary - volume in the ISO image and are used by Windows 95 - and higher to support long filenames on CD-ROM. - Added support for reading the Joliet volume and - providing them for both the 8.3 and long filename - APIs in DOS. (joncampbell123). -* Add IMGMOUNT -o option for ISO filesystem support - to enable/disable Rock Ridge long filename support. - The option is -o rr=1 to enable and -o rr=0 to - disable. (joncampbell123). -* Fixed 8.3 name generations on ISO drives with Rock - Ridge extension. The ISO drives can be refreshed - via RESCAN command like other drives. (Wengier) -* SDL_Net support is available for HX-DOS builds, - similar to other builds. Packet driver is needed - for network capability in DOS. (Wengier) -* Fixed line endings when copying to shared clipboard - (e.g. CLIP$) in non-Windows platforms. (Wengier) -* Fixed problems with SDL1 Windows builds in which - the user had to type the Fullscreen mapper shortcut - twice. It seems a SDL1 library function that is - used to indicate ignoring or adding a class of - events also liked to flush the event queue. This - is called on mode change. This caused lost - keystrokes, leaving the mapper the impression that - those keys were still held down. (joncampbell123). -* Fixed PC-98 mode MS-DOS 7/Windows 9x boot disk's - 80386 CPU check. (Wengier) -* Added support for auto-converting non-image drives - (such as mounted local drives) to disk images, so - that they will be visible when booting into guest - systems. A config option "convertdrivefat" (in - [dosbox] section) is added to toggle this setting, - or you can toggle via BOOT command's -convertfat - (or -convertfatro option for read-only access) and - -noconvertfat options. There're also config options - "convert fat free space" (in [dosbox] section) and - "drive z convert fat" (in [dos] section) to control - free space (in MB; 0 means read-only) and whether - to also convert virtual drive Z:. Much of the code - is imported from DOSBox Pure, with added support - for PC-98 HDI and code page conversions. (Wengier) -* Added menu option "Save to disk image" (under drive - letter in "Drive" menu) to save a mounted non-FAT - drive to selected disk image (IMG/HDI). (Wengier) -* Added the "Limit disk transfer speed" menu group - (under "DOS") to toggle the hard & floppy disk data - rate function. Also moved "Quick launch program..." - menu from "DOS" menu to "Main" menu. (Wengier) -* Added code pages 856 (Hebrew) and 859 (Latin 9) for - the guest-to-host code page conversions. (Wengier) -* Added config option to allow create of temporary - devices for piping operations when a temporary DOS - path is not available. (Wengier) -* Added support for ATAPI raw sector reading with - READ CD command. (schellingb) -* Report bad sectors recorded in raw CD images as - ATAPI read errors. (schellingb) -* You can use CONFIG -set langcp=... to change the - current language along with the embedded code page, - or CHCP nnn:... to specify a language file as well, - e.g. "CHCP 932:" or "CHCP 932:ja_JP" for Japanese - code page and language file. Also improved -langcp - option for SBCS code pages, and Windows installer - will additionally set keyboard layouts for the - selected languages. (Wengier) -* Changed menu option "Restart DOSBox-X with language - file..." to "Load language file..." for loading - language files without rebooting DOSBox-X, unless - a guest system is currently running. (Wengier) -* Imported the more recent MBR code from FreeDOS to - avoid the "boot menu" as in older code. (Wengier) -* When changing TTF font, DOSBox-X will try to show - the number of missing characters in the new TTF - font (if any). (Wengier) -* Fixed color becoming darker after changing TTF font - multiples times in TTF output. (Wengier) -* Fixed display of individual/total file sizes with - DIR command when they are very large. (Wengier) -* Fixed non-US code page conversions for mounted FAT - drives. (Wengier) -* Fixed incorrect message displays in Configuration - Tool and Mapper Editor when booting into guest - systems with language files. (Wengier) -* Fixed possible "Path not found" bug when switching - to code page 950 from another code page. (Wengier) -* Fixed creating directories may not work properly - for overlay drives on Windows systems. (Wengier) -* Fixed -set and -get options of CONFIG command when - there are spaces in property names, without having - to prepend the section names. For example, command - CONFIG -get "synchronize time" is supported just - as CONFIG -get "dosbox synchronize time". Similar +--- +slug: 0.84.2 +date: "August 1, 2022" +version_secondary: "2022.08.0" +--- + +* Fill in PC-98 BIOS data area byte value indicating + CPU type (whether 8086, 286, 386 or higher) + (Wengier), fill it in at startup (joncampbell123). +* CHOICE now supports breaking and errors on end of + file or pipe instead of freezing DOSBox-X. (Jookia) +* Fixed debugger commands parsing numbers wrong. (Jookia) +* Fixed DIR crashing on volumes with more than + 999,999,999,999 bytes of free space. (Jookia) +* Switched to year.month.patch versioning (Jookia) +* Fix NE2000 panicking if packets are queued too fast. + (kcgen, Jookia) +* Fix ISO image format detection to support pure + UDF formatted images, meaning that the image + lacks any ISO 9660 features and contains only + UDF. (joncampbell123). +* Added support for UDF filesystem to ISO image + handling. It is enabled by default if emulating + MS-DOS 7.10 (aka Windows 98) or higher. + (joncampbell123). +* Added code to detect Rock Ridge according to the + System Use Sharing Protocol standard, and to + read the SUSP entries correctly for the alternate + name, if enabled. (joncampbell123) +* Updated ISO MSCDEX drive emulation to scan the + available volumes in the ISO image rather than + assume the first volume, which makes Joilet + support possible if long filenames are enabled + and the DOS version is 7.0 or higher. (joncampbell123). +* Add IMGMOUNT -o option for ISO filesystem support + to enable/disable Joliet extensions, which is a + Microsoft extension to ISO 9660 where long names + encoded using Unicode UCS-16 exist as a supplementary + volume in the ISO image and are used by Windows 95 + and higher to support long filenames on CD-ROM. + Added support for reading the Joliet volume and + providing them for both the 8.3 and long filename + APIs in DOS. (joncampbell123). +* Add IMGMOUNT -o option for ISO filesystem support + to enable/disable Rock Ridge long filename support. + The option is -o rr=1 to enable and -o rr=0 to + disable. (joncampbell123). +* Fixed 8.3 name generations on ISO drives with Rock + Ridge extension. The ISO drives can be refreshed + via RESCAN command like other drives. (Wengier) +* SDL_Net support is available for HX-DOS builds, + similar to other builds. Packet driver is needed + for network capability in DOS. (Wengier) +* Fixed line endings when copying to shared clipboard + (e.g. CLIP$) in non-Windows platforms. (Wengier) +* Fixed problems with SDL1 Windows builds in which + the user had to type the Fullscreen mapper shortcut + twice. It seems a SDL1 library function that is + used to indicate ignoring or adding a class of + events also liked to flush the event queue. This + is called on mode change. This caused lost + keystrokes, leaving the mapper the impression that + those keys were still held down. (joncampbell123). +* Fixed PC-98 mode MS-DOS 7/Windows 9x boot disk's + 80386 CPU check. (Wengier) +* Added support for auto-converting non-image drives + (such as mounted local drives) to disk images, so + that they will be visible when booting into guest + systems. A config option "convertdrivefat" (in + [dosbox] section) is added to toggle this setting, + or you can toggle via BOOT command's -convertfat + (or -convertfatro option for read-only access) and + -noconvertfat options. There're also config options + "convert fat free space" (in [dosbox] section) and + "drive z convert fat" (in [dos] section) to control + free space (in MB; 0 means read-only) and whether + to also convert virtual drive Z:. Much of the code + is imported from DOSBox Pure, with added support + for PC-98 HDI and code page conversions. (Wengier) +* Added menu option "Save to disk image" (under drive + letter in "Drive" menu) to save a mounted non-FAT + drive to selected disk image (IMG/HDI). (Wengier) +* Added the "Limit disk transfer speed" menu group + (under "DOS") to toggle the hard & floppy disk data + rate function. Also moved "Quick launch program..." + menu from "DOS" menu to "Main" menu. (Wengier) +* Added code pages 856 (Hebrew) and 859 (Latin 9) for + the guest-to-host code page conversions. (Wengier) +* Added config option to allow create of temporary + devices for piping operations when a temporary DOS + path is not available. (Wengier) +* Added support for ATAPI raw sector reading with + READ CD command. (schellingb) +* Report bad sectors recorded in raw CD images as + ATAPI read errors. (schellingb) +* You can use CONFIG -set langcp=... to change the + current language along with the embedded code page, + or CHCP nnn:... to specify a language file as well, + e.g. "CHCP 932:" or "CHCP 932:ja_JP" for Japanese + code page and language file. Also improved -langcp + option for SBCS code pages, and Windows installer + will additionally set keyboard layouts for the + selected languages. (Wengier) +* Changed menu option "Restart DOSBox-X with language + file..." to "Load language file..." for loading + language files without rebooting DOSBox-X, unless + a guest system is currently running. (Wengier) +* Imported the more recent MBR code from FreeDOS to + avoid the "boot menu" as in older code. (Wengier) +* When changing TTF font, DOSBox-X will try to show + the number of missing characters in the new TTF + font (if any). (Wengier) +* Fixed color becoming darker after changing TTF font + multiples times in TTF output. (Wengier) +* Fixed display of individual/total file sizes with + DIR command when they are very large. (Wengier) +* Fixed non-US code page conversions for mounted FAT + drives. (Wengier) +* Fixed incorrect message displays in Configuration + Tool and Mapper Editor when booting into guest + systems with language files. (Wengier) +* Fixed possible "Path not found" bug when switching + to code page 950 from another code page. (Wengier) +* Fixed creating directories may not work properly + for overlay drives on Windows systems. (Wengier) +* Fixed -set and -get options of CONFIG command when + there are spaces in property names, without having + to prepend the section names. For example, command + CONFIG -get "synchronize time" is supported just + as CONFIG -get "dosbox synchronize time". Similar for -SET option when launching DOSBox-X. (Wengier) \ No newline at end of file diff --git a/_release_notes/0.84.3.md b/_release_notes/0.84.3.md index 4bf328fd4d6..fe8b5ab62a3 100644 --- a/_release_notes/0.84.3.md +++ b/_release_notes/0.84.3.md @@ -1,4 +1,5 @@ --- +slug: 0.84.3 date: "September 1, 2022" version_secondary: "2022.09.0" --- diff --git a/_release_notes/2022.12.26.md b/_release_notes/2022.12.26.md index f2989c86478..e92a93b0171 100644 --- a/_release_notes/2022.12.26.md +++ b/_release_notes/2022.12.26.md @@ -1,4 +1,5 @@ --- +slug: 2022.12.26 date: "December 26, 2022" --- diff --git a/_release_notes/2023.03.31.md b/_release_notes/2023.03.31.md index 1dcb73bcdce..c9a273c90f3 100644 --- a/_release_notes/2023.03.31.md +++ b/_release_notes/2023.03.31.md @@ -1,4 +1,5 @@ --- +slug: 2023.03.31 date: "March 31, 2023" --- diff --git a/_release_notes/2023.05.01.md b/_release_notes/2023.05.01.md index 69065984aee..26cf2101caa 100644 --- a/_release_notes/2023.05.01.md +++ b/_release_notes/2023.05.01.md @@ -1,4 +1,5 @@ --- +slug: 2023.05.01 date: "May 1, 2023" --- diff --git a/_release_notes/2023.09.01.md b/_release_notes/2023.09.01.md index 76b1bb42903..15f6cef2697 100644 --- a/_release_notes/2023.09.01.md +++ b/_release_notes/2023.09.01.md @@ -1,5 +1,6 @@ --- -date: "Sept. 1, 2023" +slug: 2023.09.01 +date: "September 1, 2023" --- - Disable by default message confirmation after snapshot and AVI video diff --git a/_release_notes/2023.10.06.md b/_release_notes/2023.10.06.md index 6d08ceb67ea..ef7b6b7534e 100644 --- a/_release_notes/2023.10.06.md +++ b/_release_notes/2023.10.06.md @@ -1,5 +1,6 @@ --- -date: "Oct. 6, 2023" +slug: 2023.10.06 +date: "October 6, 2023" --- - Add "VRD" debugger command to force redraw of the VGA screen. diff --git a/_release_notes/20240301.md b/_release_notes/20240301.md new file mode 100644 index 00000000000..804cea3c5b2 --- /dev/null +++ b/_release_notes/20240301.md @@ -0,0 +1,185 @@ +--- +slug: 2024.03.01 +date: March 1, 2024 +--- +- If an empty CD-ROM drive is attached to IDE emulation, return "Medium Not + Present" instead of a read error, when asked to read. (joncampbell123). +- Add "empty drive" CD-ROM image type "IMGMOUNT e: empty -t iso" as a way + to emulate an empty CD-ROM drive with no disc in the drive. (joncampbell123). +- Add "empty drive" floppy image type "IMGMOUNT 0 empty -t floppy -fs none" + as a way to emulate a floppy drive with no disk in the drive. (joncampbell123). +- Video debug overlay: Fix mouse integration misalignment when the video + debug overlay is enabled while Windows is running (joncampbell123). +- Video debug overlay: Fix segfault when enabled with 15/16bpp SVGA modes. + (joncampbell123). +- Video debug overlay: Fix bug where video debug failed to appear in SVGA + 15/16/24/32bpp display modes because of a design where the VGA drawing + code points directly at video RAM except when drawing the hardware cursor. + One symptom was that the video debug info on the side failed to appear at + all, unless running in Windows and only within the vertical range of the + mouse cursor. (joncampbell123). +- Video debug overlay: Do not bother showing the Attribute Controller palette + in 15/16/24/32bpp SVGA modes because it doesn't matter there and is not + involved with how anything is displayed. (joncampbell123). +- Video debug overlay: Fix debug info text to appear for 15/16/24/32bpp SVGA + modes. (joncampbell123). +- BOOT --bios no longer triggers a system reset VM event, but instead just + jumps to the new BIOS image after DOS kernel shutdown. This is needed for + hardware and resources to stay as they were when running the BIOS i.e. + keeping any IDE devices configured within the DOS kernel intact so that the + BIOS can find and use them. Prior to this change, all hardware was fully + reset and unmapped prior to running the BIOS which made IDE emulation + unusable with BIOS images. (joncampbell123). +- BOOT --bios no longer immediately loads the new BIOS into memory, but instead + loads and stores the image to a temporary buffer. The ROM image does not + actually get mapped in until the DOS kernel and everything else has had a + chance to shut down fully. (joncampbell123). +- Fix BOOT --bios not to try to load PC-98 ITF firmware unless actually running + in PC-98 mode (joncampbell123). +- Write PC-98 keyboard translation table (non-shifted) in ROM BIOS and set the + keyboard translation table pointer in the BIOS data area for "Nut Berry". + This Nut Berry game also assumes lookup and translation tables exist at + specific locations in the ROM BIOS, so put those tables there. The shift + state table in BIOS has also been added, though at the moment, the tables + are incomplete. (joncampbell123). +- MegaZeux from the MS-DOS days had a 256-color tweakmode that worked on some + popular SVGA chipsets of it's time though on others it does nothing but halve + the display resolution of text mode. The basic idea is that it makes the VGA + card latch two 4-bit outputs of the VGA text mode into one 8-bit value, thus, + 256 colors possible. Add support for this. However I am not sure whether this + tweakmode is supported by S3 chipsets, so it is OFF by default and you will + need to add "enable supermegazeux tweakmode=true" to the [video] section of + your dosbox.conf to enable it. (joncampbell123). +- Undo the "no partition offset" change. DOOM II for PC-9821 requires it to work + else the page flipping fails and sprites and rendering flickers as you play. + (joncampbell123). +- Allow text layer to appear in PC-98 256-color mode. Even though I was unable + to enable it on real hardware, "Shamat, The Holy Circlet" requires having + the text layer visible on top of 640x400 256-color mode for the introductory + scrolling text to appear on screen. So for now, just allow it. (joncampbell123). +- The reason some PC-9821 games have been giving bad PITCH values (double the + correct value) to the GDC in 256-color mode has been determined. They read + port 9A0h to determine if the GDC is running at 5MHz or not. That port 9A0h + index was not implemented and therefore gave the game the impression it was + running at 5MHz when it was not, therefore the doubled PITCH value. This fix + corrects the squeezed 256-color mode and allows it to appear properly. + (joncampbell123). +- IMGMOUNT: If the file extension is HDI, assume a hard disk image even if the + image file is small enough to qualify as a floppy disk image. There is an + HDI image of PC-98 game "D.O. Doki Doki Disk 8" that is 2.2MB, small enough + to be mistaken as a 2.88MB IBM PC floppy disk and therefore fail to mount + as an HDI image, this change fixes it. (joncampbell123, maron2000). +- Emulate PEGC PC-98 linear framebuffer at both 0xF00000-0xF7FFFF (at 15MB + memory mark) but also make it appear at top of memory below BIOS (normally + at 0xFFF00000-0xFFF7FFFF). Some 32-bit PC-9821 CD-ROM MS-DOS games assume + the top of memory alias and will fail to show anything on screen without + it (unless, alternatively, the memalias setting is set to emulate 24 address + lines like a 386SX). Now to figure out why these same games are programming + a GDC PITCH value that's double what it should be... (joncampbell123). +- PC-98 GDC scan offset no longer pays attention to scan offset of data + partition in 256-color mode. Required to help fix broken 256-color graphics + for some PC-98 CD-ROM games. (joncampbell123). +- Refuse to enable ISA 15MB-16MB memory hole if memalias is set to 24 bits or + less. Not only is it redundant to do that but it also causes the BIOS to + immediately crash on startup. (joncampbell123). +- IDE ATAPI CD-ROM emulation: In PC-98 mode when emulating a NEC CD-ROM drive, + also limit sector reads to one CD-ROM sector per DRQ because the MS-DOS driver + assumes that behavior. The driver will stall and error out if it requests a + multi-sector read and the drive does NOT limit transfers to one sector at a + time per IDE data transfer. This is in line with my experience writing the + DOSLIB IDE testing program and laptops from the 1990s with IDE ATAPI CD-ROM + drives, so it's understandable. (joncampbell123). +- The reason the CD-ROM driver in PC-98 game HDI images refused to talk to our + IDE CD-ROM emulation is... (drumroll) we didn't report ourself as an NEC + CD-ROM drive when given the MMC INQUIRY command. Yes, really. The OAK CD-ROM + driver in these HDI images really does care whether or the drive is an NEC + brand drive. What a stupid reason not to talk to a CD-ROM drive. Add code to + default to "NEC" "CD-ROM DRIVE" as the INQUIRY result if running in PC-98 mode. + (joncampbell123). +- Add basic rudimentary support for CloneCD (*.ccd *.img) images. It might not + work with more complex arrangements but it is enough for most CD-ROM PC-98 + games so far. (joncampbell123). +- libpng supports the pHYs PNG chunk which describes the pixel aspect ratio of + the PNG image. libpng 1.6 has it, use it. Programs that support the information + like FFMPEG will then display the PNG image with the correct aspect ratio. + (joncampbell123). [https://github.com/joncampbell123/dosbox-x/issues/4754] +- PC-98 mode: There is a 302KHz timer behind I/O ports 5Ch/5Eh that some MS-DOS + drivers depend on for timing, particularly a popular IDE CD-ROM device driver + in many PC-98 game HDI images. This change allows the driver to time out after + about 5-10 seconds instead of an infinite hang. (joncampbell123) +- Fix INT 10h to keep hardware CRTC I/O port synchronized with BIOS DATA area + copy so that other parts of INT 10h called by SetVideoMode do not accidentally + talk to the wrong I/O ports. This fixes corrupted INT 10 Mode F display + (640x350 monochrome graphics mode). (joncampbell123). +- Add DOS Int21 0x5D 0x00 - remote server call (Issue #4162)(Yogi-baer) + - Inspired by FeeDOS inthndlr.c + - With this change it is possible use a plain dosbox-x to install and run + Windows for Workgroups V3.11 as an IPX server on the pcap ne2000 interface + offering a host directory for read and persistent write access to an + MSDOS machine running a WfW 3.11 IPX network client. + - Please don't forget mounting with -nocachedir +- Fix missing keystroke SDLK_LESS on DE keyboard on Raspbian OS (Yogi-baer) +- Fix crash when loading a language file without existing menu item "ttf_extcharset" (Yogi-baer) +- Change ISA memory hole 512kb option from boolean to true/false/auto. (joncampbell123) +- Add ISA memory hole 15mb option, make it true/false/auto. + Auto means off for IBM compatible mode and on for PC-9821 compatible mode. + This should allow some DOS games that depend on the linear framebuffer + to work properly even if memsize=16 or higher. (joncampbell123) +- MIDI: set minimum sysex delay when enabled (mistydemeo) +- International support in LABEL, COPY, DEL builtin commands (maxpat) +- Fix palette setting bugs due to SETCOLOR fix in 2023.10.06 release. (maron2000) + - Graphical glitches in Ultima VI(#4507), Chessmaster 3000(#4510), Wizardry VII(#4534) + - Crash Sid Meyer's Civilization I (#4511) + - TTF color settings regarding 'colors' option (#4579, #3318) and some more +- Fix crash when mounting floppy/ISO images with no extension (maron2000) +- Fix Intel macOS CI builds crashed on startup due to missing dylibs + (Issue #4438)(maron2000) +- Fix TTF mode didn't switch to graphics mode on certain types of machines + such as tandy/pcjr.(Issue #4559)(maron2000) +- Fix crash on switching to fullscreen when output=opengl (Intel macOS) (maron2000) +- Update DXCapture shell command to support /O for OPL capture (AranVink) +- Fix floppy images lock bug (maxpat78) +- Fix type of return value at bool MountFat() (jg1uaa) +- Fix VHD geometry bugs by performing MBR analysis (maxpat78) +- Change maximum number of joystick buttons allowed by the mapper (mattcaron) +- Enable Win9x support on a Pentium3 PC (crazii) +- Add PC98 image extensions in file open dialogs (maron2000) +- Fix input in configuration tool (SDL2) (maron2000) +- Reduce warnings by replacing sOffset (use offsetof) (jg1uaa) +- Fix LFN functions (nanshiki, SmileTheory) + - Fixed a bug in which 2 extra bytes were copied to the buffer (ax=714eh,714fh). + - Fixed wrong value of date/time etc. in file information (ax=714eh,714fh,71a6h). + - Fixed date/time conversion to be correct (ax=71a7h) + - Report correct file size on win32 when file is open (ax=71a6h). +- Fix C++11 uncompliant codes (midi_alsa.h, gamelink.cpp) (maron2000) +- Consider function key display in MORE command (PC-98) (maron2000) +- Add support for J-3100 video mode 75h (nanshiki) +- Reflect drawing status bit of GDC status I/O port (PC-98) (nanshiki) +- Re-enable top line dimming when focus is lost in fullscreen (TTF mode) (maron2000) +- Fix PC98 mouse counter value range to unsigned value (0-255) (nanshiki) +- Added function for int DCh cl=10h ah=0Ah to 0Eh (nanshiki) +- Added escape sequences (ESC[0J ESC[1J ESC[0K ESC[1K ESC[2K ESC[nL) (nanshiki) +- Fixed behavior of Kanji character output at the right edge of screen (nanshiki) +- Fixed Media ID was being written to an incorrect location in DPB (nanshiki) +- Refined version info (maron2000) +- Added PC-98 NEC mouse functions in INT33h (nanshiki) +- Bump Nuked-OPL3 code to commit 730f8c2 (13 Nov. 2023) (maron2000) +- Enabled OPL pass-through code (oplmode=hardware)(dbjh) +- Fixed crash on startup due to SDLnet library linked externally (macOS) (maron2000) +- Changed PC-98 floppy boot behavior when Drive 2 is mounted before Drive 1(maron2000) +- Added Human68k ver.1.0&2.0 floppy disk support (maron2000) +- Fixed attribute copy behavior of FreeDOS XCOPY.exe to match genuine DOS (maron2000) +- Added Russian translation (Lartenik) +- Fixed COPY/XCOPY command fails to recognize 2GB+ free disk space (maron2000) +- Enable FONTX2 files in PC-98 mode (nanshiki) +- Fix codepage switching when loading lang files (maron2000) +- Add missing quotation marks in vcxproj (bredbored) +- Fixed BPB detection of PC-98 floppies (maron2000) +- Changed sequence to boot with drive numbers when booting from image (maron2000) +- Added force JIS (JP106) keyboard layout option in PC-98 mode (maron2000) +- PC-98: Enable mounting partitions with non-genuine IPL entry names (maron2000) +- Added support for XDF disk format (maron2000) +- Added ESFM emulation (ESFMu v1.2 core) (Kagamiin) +- Added support for ESS "ESFM" sound synthesis (oplemu=esfmu, oplmode=esfm) (Kagamiin) +- Added experimental/WIP support for the ESS ES1688 sblaster type (sbtype=ess1688) (Kagamiin) +- Delete obsolete information regarding "INTRO SPECIAL" option (maron2000) \ No newline at end of file diff --git a/css/style.css b/css/style.css index fc0972ffd3a..d394e715409 100644 --- a/css/style.css +++ b/css/style.css @@ -212,7 +212,6 @@ hr { margin-bottom: 5px; border: none; background: url('../images/bg_hr.png') repeat-x center; - border-bottom: 1px solid #8c8b8b; } table { @@ -258,9 +257,12 @@ header > * { header > :nth-child(1) { text-align: center; - flex-basis: 200px; + flex-basis: 12.5em; } -header > :nth-child(1) > img { +header > :nth-child(1) a:has(#dosbox-x-logo) { + display: block; +} +header > :nth-child(1) #dosbox-x-logo { width: 5.625em; height: auto; margin: auto; @@ -281,10 +283,11 @@ header > :nth-child(2) > :last-child { padding-bottom: 0; } -@media (max-width: 320px) { +@media (max-width: 480px) { header { flex-direction: column; - gap: 15px; + align-items: flex-start; + gap: 1em; } header > :nth-child(1) { flex-basis: 90px; @@ -394,27 +397,38 @@ table.align-left > tbody > tr > td { .home-links { border: none; - margin: 0; - margin-left: auto; - margin-right: auto; + margin: 0 auto; + margin-block: 1em; border-collapse: separate; - border-spacing: 10px 0; + border-spacing: 0.625em 0; } .home-links > thead { display: none; } .home-links > tbody > tr > td { - height: 100%; + padding: 0; border: 0; border-radius: 2px; box-shadow: 0 0 5px rgba(0,0,0,.5); - padding: 10px 15px; - text-align: center; + vertical-align: middle; } -.home-links > tbody > tr > td > * { +.home-links > tbody > tr > td * { color: #fff; font-weight: 700; - vertical-align: middle; + text-align: center; +} +.home-links > tbody > tr > td > a { + display: flex; + height: 100%; + padding: 0.5em 1em; + gap: 0.5em; + flex-wrap: wrap; + justify-content: center; +} +.home-links > tbody > tr > td > a img { + height: 1.5em; + width: auto; + padding: 0; } .home-links > tbody > tr > td:has(#linkwiki) { @@ -425,7 +439,6 @@ table.align-left > tbody > tr > td { } .home-links > tbody > tr > td:has(#linkproject) { background-color: #0090ff; - white-space: pre-wrap; } h4.release-date { @@ -470,4 +483,9 @@ footer p { footer a { color: #F2F2F2; text-decoration: underline; +} + +sup { + vertical-align: super; + font-size: smaller; } \ No newline at end of file diff --git a/devel-build.html b/devel-build.html index e2291e29fd7..a3fd73db2e5 100644 --- a/devel-build.html +++ b/devel-build.html @@ -15,42 +15,48 @@ +{%- assign repo = "joncampbell123/dosbox-x" -%} +{% capture workflows_list -%} +windows-installers | 32/64-bit installers and builds for Vista+ +vsbuild_xp | 32/64-bit installers and builds for Windows XP+ +vsbuild32 | 32-bit Visual Studio portable builds (for Vista+/ARM) +vsbuild64 | 64-bit Visual Studio portable builds (for Vista+/ARM) +mingw32 | 32-bit MinGW (for 7+) and MinGW-lowend (for XP+, W9x/NT4+) portable builds +mingw64 | 64-bit MinGW portable builds (for 7+) +linux | Linux (x86_64) builds +macos | macOS (x86_64) builds +hxdos | HX-DOS (x86) build +{%- endcapture -%} + +{%- assign workflows_list_entries = workflows_list | split: " +" -%} +
    -
    +
    + {%- for workflows_list_entry in workflows_list_entries -%} + {%- assign workflow = workflows_list_entry | split: " | " -%} + + + + + + {%- endfor -%}
    Download link Commit Date
    --
    - -