Skip to content

Tags: dosemu2/fdpp

Tags

1.9

tagging release 1.9

Maintenance release with just 20 commits.

- meson build updates. Feels a bit better now, but I still consider
  meson a failed experiment.
- Termux build support.
- switch to thunk_gen-1.2 (well, 1.3 is already released since, but its
  ABI-compatible with 1.2 so no need for a specific update to 1.3)

1.8

This release contains ~160 commits, and is mostly targeted to resolving

the long-standing technical debts.

- ELF format is now fully utilized. We now use ELF-based symbol tables
  and relocations, including dynamic relocations (which we simulate
  with --emit-relocs). This completes the ELF relocation work started at
  1.3 and 1.4 releases. Unfortunately, this brought in the new toolchain
  restrictions:
  * we no longer support upstream nasm (can only use our own nasm-segelf
    fork of the nasm for now)
  * do no longer support ld.lld (can only use GNU ld for now)
  * no longer support GNU strip (can only use llvm-strip for now,
    but the fix is already in GNU binutils-2.42)
  So the ELF support went in very painfully. We will keep working with
  the upstream projects (lld mainly) in a hope to restore their use.
  Nasm project have rejected our contributions, so the vanilla nasm
  support is not anticipated any soon.
- Meson build system support. But not removing the old makefiles yet,
  as we need meson-1.3.2, which is not yet widely available.
- thunk_gen and farptr compiler updates. thunk_gen is now a separate project.
- Finally fixed remaining AlphaWaves problems. This game tests for the
  MS-DOS compatibility in a very rough ways.
- Share was changed to resemble MS-DOS-7 more closely.
- Fixed a few regressions of 1.7 (Prehistorik2 again)
- Switched from C++11 to C++20 for templated lambdas.

API35

separate out the loader [#146]

This splits the build system even more.

API34

elf: allow non-zero load offset [#172]

Incompatible API change again. :(

API33

arrange for pie linking [#172]

But don't do the actual pie linking just yet, as lld doesn't
support text relocations...

Required an incompatible API change, so increment API version.

1.7

A very important release, containing ~200 patches.

- Portability work: ported to aarch64, including MacOS, Android.
- Implemented HMA memory manager, and lots of work done on a more
  aggressive HMA usage. Unfortunately dosemu2 disabled HMA support
  by default in a mean time.
- Lots of SHARE fixes.
- Fixed nasty RTC bug (prehistoric2 had problems because of it)
- Fixed stack switching on int21 calls (vlm now works)
- Fixed stack switching on int24
- Added a config.sys syntax for referencing drives created at run-time:
  CHAIN=%0\userhook.sys can be used if the host platform supplies the
  meaning of %0 (other digits are possible) at the right time.
- Added a config.sys syntax for conditional loading:
  device=?0c:\bin\nansi.sys can be used if the host platform supplies
  the value of ?0 (other digits are possible) via boot protocol.
- Fix to support multiple CHAIN directives
- "Get extended free drive space" function can now use redirector
  extensions to properly report space on much larger partitions.
- Fixes to volume labels support.
- Added handlers for GP and SS exceptions.
- clang-16 support
- Lots of bug fixes.

API32

thunks: allow interrupting cpu_relax()

API31

use heap instead of HMA

With this change, HMA is no longer used.
Use heap for kernel code and for buffers.
With dosemu2, heap is usually in UMB so no conv memory wasted.

1.6

1.6

Resurrected built-in COUNTRY support. You can now do:
COUNTRY=07,866
without specifying the path to country.sys.
dosemu2 is using that feature now, so the new release is due.

1.5

1.5

Maintenance release. Regression fixes, build changes etc.

- Initial PSP things moved to UMB.
- Fixed regressions with win31 install and others.
- Fixes to SWITCHES= and DOS= parsing.
- Split to normal and dev/devel packages.