Fdpp Versions Save

FreeDOS plus-plus, 64bit DOS

rc-1

4 years ago

The first release candidate. The code base is believed to be very stable at that point, and hence not many development is going on here.

  • Rework Alpha Waves and Alone in the Dark hacks to be more in line with what MS-DOS does (these progs resize PSP to 0 and then terminate it... among other bad things)
  • Boot protocol extension to allow skipping the particular letters when assigning drives
  • Stop reporting MSDOS-7.1 version to the programs, as FreeDOS did. Programs from that MSDOS distribution will now print "Incorrect DOS version"
  • Fix nasty bug to allow Volkov Commander to work

beta-9

4 years ago

Desperate stabilization efforts. :) Apart from overall stability, we also added support for many games that do not work on FreeDOS. Namely: TestDrive2, Tetris Classic, Elite Frontier, Empire Soccer, Virtual Chess, Alone in the dark, Alpha Waves and more. Around 70 commits with usual thanks to Andrew Bird.

  • Implement int21/0x71a6 by the use of dosemu2's int2f/0x11a6 extension
  • Port to FreeBSD, thanks to @PaddyMac for ssh
  • Proper port of the fcb subsystem, with help and testing by @andrewbird
  • Many fixes and extensions to compiler front-end
  • Many improvements to freedos kernel for supporting games

beta-8

4 years ago

Massive stabilization efforts. Many bugs and regressions were fixed. Debug infrastructure improved.

  • Fixed many bugs in handling of block devices
  • LFN regression fix
  • Export map file for debuggers
  • Integration with valgrind's memcheck. Uncovered some bugs
  • Extensions to boot protocol to get rid of dosemu2-specific calls
  • Various crasher bugs fixed (with thanks to @andrewbird)

beta-7

4 years ago

This marks the end of the short but very intensive development cycle with lots of changes to freedos. Over 50 commits in 3 weeks. Lots of regressions were introduced and are hopfully all now fixed, so the release tagging is a due.

  • Lots of work on fdkernel to use far pointers for data access. [fdkernel] This allows to relocate the fdpp memory pool to UMB. Unfortunately freedos can't yet re-use the freed space.
  • Fixes to relocation code for more source-level compatibility [fdpp] with freedos.
  • Fixed long-standing bug that caused the excessive size of the [fdkernel] realmode kernel image. Now realmode part shrunk by 4k (from 15 to 11k). Certainly that sets a record for the world-smallest realmode part of any available DOS.
  • Thunk templates are no longer hand-written. They are now [fdpp] generated by the use of m4sugar aka autoconf. We are likely the first project to use autoconf not to generate configure but rather for meta-programming.
  • Set of bug fixes, both reported and found during code review. Code review is mostly over, so we are well set towards the stable releases hopefully (after a few more betas).

beta-6

4 years ago

This beta release got a huge amount of work in all directions. We are steadily heading towards a stable release.

  • Completed the work of passing interrupt handling to prev handler [fdkernel] This improves the integration with dosemu2 which hooks some int vectors before booting DOS.
  • Extension to load fdppconf.sys from any drive [boot]
  • Extension to config.sys parser to prefix file names with "AT" symbol. [fdkernel] For example DEVICE=@c:\umb.sys. It checks the file existence before use.
  • Improve CHAIN= support [fdkernel]
  • Implement SWITCHES=/Y for single-stepping [fdkernel]
  • Extension to pass strings via bootparams [boot]
  • Extension to refer with #num to the bootparam strings [fdkernel] For example you can write SWITCHES=#0 to use string 0 from boot params.
  • Increase default value of FILES from 16 to 64. [fdkernel] Needed for progs like GEOS.
  • Made int21 handler reentrant [fdkernel] This appears needed as we now pass unhandled int21 calls to prev handler, which, in turn, can call another int21 (that's the life of emulators like dosemu2).
  • Lots of work on memory management and object tracking [fdpp]
  • Resurrect and port INSTALL= directive to fdpp [fdkernel]
  • Completely rework thunks dispatching code to get rid of longjumps [fdpp]
  • Fix initial environment corruption bug [fdkernel]

beta-5

5 years ago
  • Last bits of UMB saga [fdkernel]
  • A lot of work on object tracking [fdpp run-time]
  • Extensions to allow passing env vars and boot drives to config.sys [boot]
  • Fix problems with drive formatting [fdkernel]
  • Add shared headers to most int vectors [fdkernel]
  • New config.sys name: fdppconf.sys (fdconfig.sys supported for compatibility)
  • Ported int2f/08 handling to fdpp framework
  • Started work to pass int vectors back to the prev handler [fdkernel]
  • Extend compiler front-end to allow compiling the original freedos sources with much fewer manual instrumentation [compile-time templates]
  • Reviewed all diffs in fdkernel, compared with the original and reverted all changes that are no longer needed. Now our freedos code is much closer to the original than it ever was, and our front-end can parse it all properly.
  • Lots of fixes

beta-4

5 years ago

All of the bug fixes, including regression fixes and freedos fixes.

  • UMB handling in freedos got many fixes. As the result, we can now set a record of 332K of UMB space (with UMB at A0, among others). This is impossible on the original freedos, at the time of writing this.
  • Crash with some versions of ld linker was fixed
  • Added reboot support. This was the most difficult and intrusive change of this beta, even if sounds simple. :)
  • Many fixes to both freedos and fdpp.

beta-3

5 years ago

A very important milestone as we finally switched to ELF format!

  • Switched to ELF tool-chain. The binary-supplied jwlib/jwlink are removed from the repo. Not everything is done an optimal way yet, the build is very complex and slow. We expect the enhancements of nasm in the future.
  • Global clean-up of the repository, all FreeDOS remnants removed. We now have small and clean repository.
  • Long-standing FreeDOS bug fixed that prevented UMB at A0
  • Started supporting reboot (not finished yet)
  • many fixes (GEOS now works reliably, smaller memory usage)

beta-2

5 years ago

We have around 60 commits since previous beta, and @andrewbird joined the development. :)

  • 32bit support resurrected (thanks Andrew for testing)
  • better dosemu2 integration (boot sector extension to pass command.com drive)
  • DPMI apps are now working reliably, windows-3.1 works
  • valgrind and ubsan fixes (ubsan found some real bugs!)
  • lots of work on memory management, object tracking and thunk dispatching (but not yet complete)
  • drop all hopes of C++-less run-time: libstdc++ is now and forever a mandatory
  • FCB subsystem ported, with additional fixes from Andrew
  • many bugfixes

beta-1

5 years ago

This is a first Beta release of fdpp. All functionality is working, and is working rather reliably. All the long-standing compilation problems that were ignored during the Alpha releases, are now fixed. Some heavy-weight programs still trigger various bugs, but you are welcome to test your favourite prog and see.