Skip to content

Releases: dosemu2/fdpp

1.7

21 Sep 19:09
Compare
Choose a tag to compare

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.

1.6

17 Jan 14:23
Compare
Choose a tag to compare
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

01 Jan 11:33
Compare
Choose a tag to compare
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.

1.4

18 Sep 12:04
Compare
Choose a tag to compare
1.4

Most of work went into making the kernel fully relocatable.
This required writing the new heap manager and updating the boot protocol.

  • It is now possible to run fdpp directly from UMB, leaving entire
    low mem free for your programs.
  • Lots of build infrastructure work was done for buildroot integration.
  • LBA support resurrected and enabled by default.

1.3

25 Mar 21:38
Compare
Choose a tag to compare
1.3

In this release we switched to ELF format. The binary kernel format
was dropped.
Implemented run-time relinking to fix the regressions from switching
to Tiny model that happened in 1.1. Unfortunately many programs expect
the DOS internal areas (like LoL and SDA) at the fixed locations
relative to DOS DS, rather than to query the addresses of the needed
structures. So fully compatible DOS cannot use Tiny model. We found
the way to (partially) convert FreeDOS from Tiny to Compact model at
run-time.
Also the first attempt is done to make the kernel fully relocatable.
So far that was achieved with a horrible hack. In the future that may
be amended, but who cares - the horrible hack just works. :)
Other than that, quite a few developments happened:

  • long file seek extension from @ecm-pushbx
  • rmdir fix from @andrewbird
  • increase amount of file locks from 20 to 1024 in share
  • revert mft work-around introduced in 1.2, as our run-time relinking
    solves that regression in a much better way.
  • fix reading of large (>512 bytes) config.sys files
  • compatibility fixes (Indy3 now works)

1.2

15 Dec 23:56
Compare
Choose a tag to compare
1.2

Stabilization release. Fixed many regressions and done lots more
work on file region locking. We hope the share/locking support
is now complete. Also worked around the QEMM's mft bug, so it
should work again.

1.1

23 Nov 21:28
Compare
Choose a tag to compare
1.1

Major development efforts again. Look out for new bugs...

  • Switched to TINY model. This required a large redesign, and
    allowed to simplify the build process and reduce the build
    dependencies.
  • Switched to lld linked from bfd ld.
  • Lot of work on share. Region locking and share modes are now
    supported properly. Also share no longer allocates the precious
    DOS memory.
  • Increment early-boot FILES (open file descriptors) from 8
    (actually 5) to 16. Previously all 5 descriptors could be
    exhausted when you use CHAIN, so it was not possible to, say,
    load country.sys from chained config. 3 extra descriptors
    were added too late for country.sys.
  • Proper port of the country.sys loader.
  • Fix SET command.

1.0

21 Aug 22:10
Compare
Choose a tag to compare
1.0

This is a first stable release of fdpp.
Not much to say here, because it "just works" - exactly the way
the (first) stable release should. The minimal set of features that
we needed from the first release, is also implemented.
Note that the main driving force behind this project, is dosemu2.
Which means that we only implement the features needed for dosemu2,
and currently they are all in place. So unless the scope of this
project is widened (like the use with other host kernels), no new
developments are planned, and the project will remain in a bugfixing
mode.

rc-3

04 Jul 10:24
Compare
Choose a tag to compare
rc-3 Pre-release
Pre-release

This is hopefully the last RC before 1.0 release.
Added COPR build support, the packages are here:
https://copr.fedorainfracloud.org/coprs/stsp/dosemu2/package/fdpp/
Below is the summary of few new additions:

  • Confined (most of) freedos DOS memory writes. This is needed
    for the integration with some JIT engines, like the one in dosemu2.
    That JIT engine needs to be notified about the DOS memory writes.
  • Support FILES= up to 256 (freedos only supports 128, then crashes)
  • Fix "set volume serial number" fn for drive images/local drives
  • Add support for COPR build system

rc-2

06 May 14:05
Compare
Choose a tag to compare
rc-2 Pre-release
Pre-release

Development is calming down.
We were busy with chasing the memory corruption bug
and also added a few cool new features below.

  • Add share/locking support
  • Add new config.sys directive INT0DIVZ. Setting it to OFF
    (it is ON by default) allows to avoid the "divizion-by-zero
    on fast CPU" problem in some games (Zool2).
    Note: it won't cure the famous "Runtime error 200" problem,
    even if it is very similar. You need a separate fix for that.
  • Fix memory corruption in INSTALL= processing
  • Propagate the initial CDS setup. No longer needed to redirect
    drives twice.
  • Build improvements, add "make uninstall" target and more.
  • Enable and use C++ RTTI - the last of the C++ features I
    wanted to never enable, but couldn't keep it that way.
    This essentially means that the desire of keeping fdpp
    within some "light-weight C++ subset" have completely failed.