Skip to content

Tags: john-peterson/fdpp

Tags

1.8

Toggle 1.8's commit message
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

Toggle API35's commit message
separate out the loader [dosemu2#146]

This splits the build system even more.

API34

Toggle API34's commit message
elf: allow non-zero load offset [dosemu2#172]

Incompatible API change again. :(

API33

Toggle API33's commit message
arrange for pie linking [dosemu2#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

Toggle 1.7's commit message
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

Toggle API32's commit message
thunks: allow interrupting cpu_relax()

API31

Toggle API31's commit message
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

Toggle 1.6's commit message
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

Toggle 1.5's commit message
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

Toggle 1.4's commit message
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.