-------------------- AmigaOS 3.1.4.(1) project -----------------------

Changes for 45.2 (16.12.2016)

- A patch to gfx/Draw() was added. This call has a bug in FRST_DOT handling if
a line is interrupted partially by another layer and does not respect the
flag correctly as it should.

- The patch to gfx/BltMaskBitMapRastPort delivered by Olsen has been converted to
assembly language, but is still disabled. It still requires some clarification
whether this patch is a good idea. Probably yes.

- For symmetry, SetPatch also looks for the 68020.library on the 68020.

- To allow more flexible future extensions, the code attempts to load a library
named 680x0.library upfront. This library is supposed to be the generic CPU
dispatcher.

- NSDPatch has been removed from SetPatch because I do not see the necessity to
patch completely working devices. If NSDPatch functionality is desired, it is
available separately on Aminet. Otherwise, FFS has been upgraded (see there) to
include TD64 capabilities instead.

- ROMUpdates has been removed from SetPatch due to its unflexible nature. It is
suggested that users replace it by a separate invocation by "LoadModule AUTO", or
by a custom ROM.

- Enabled the gfx/BltMaskBitMapRastPort patch. Let's see how it goes...

TODOs:

- SetPatch should also check whether a FPU became available after loading the
CPU libs. If so, it should remove all IEEE based libraries and let them load
again.

- SetPatch should check whether there is a disk-based mathieeesingbas and
load that instead of the resident one, unless the resident version was loaded
by LoadModule or friends.

Changes for 45.3 (22.12.2016)

- SetPatch checks now whether the 680x0.library is already loaded and if so,
it does not attempt to start the CPU-specific libraries.

Changes for 45.4(7.1.2017)

- Removed more dead code.

Changes for 45.6 (5.10.2017)

- Added experimental code to enable proper use of the scsi.device LED
  driven by the DASP-signal.
  
Changes for 45.7 (19.10.2017)

- Added a fix that adjusts the kickstart software version if this is
  unset from a LoadModule'd exec.
- Return type parameters for some C based patches were BOOL, though
  the API requires LONG. Fixed.

Changes for 45.8 (1.1.2018)

- SetPatch did not always patch UMult64/SMult64, so added now simply
  a test whether the function returns the correct result.
  
Changes for 45.9 (5.1.2018)

- The patch for BltMaskBitMapRastPort() did not store the minterms
  correctly and was hence creating more damage than helping...

Changes for 45.10 (23.2.2018)

- In case a 68060 is found, but no 68060.library, SetPatch fixes at
  least the most important issue, namely UMult64/SMult64 of utility
  V40 such that one can run at least the workbench correctly.
  
Changes for 45.11 (2.3.2018)

- In case a 68040 or 68060 is found, SetPatch now removes the math
  libraries if they are older than V45. This will enforce a
  re-initialization of the libraries, and will hence probe the FPU
  detection again. This trick should actually be done by the
  68040 or 68060.library, but who knows...

Changes for 45.12 (4.3.2018)

- In case the core math library was removed, the corresponding trans
  library is now forcibly also removed to keep the math model
  consistent.

Changes for 45.13 (17.3.2018)

- ExAll does not load A2 with the file system task properly before
  running into ErrorReport. This is another bug in the never ending
  story of ExAll() bugs.

Changes for 45.14 (5.4.2018)

- Bumped the copyright release to 2018.

Changes for 45.15 (11.5.2018)

- Added a fix for graphics/EraseRect().

- Added a fix for cardres/CardForceChange().

Changes for 45.16 (7.10.2018)

- Added a fix for the audio.device. If a new audio.device
  is now found in DEVS:, it is loaded.

- Added a fix for the shell. If a new shell is found in L:,
  it replaces Shell and CLI.

Changes for 45.17 (17.11.2018)

- SetPatch can now magically also replace the boot shell,
  thus executing the rest of the startup-sequence from
  the freshly loaded shell-seg.

- The shell fix now also replaces the resident segment for
  the boot shell and adjusts the pointers in the rootnode
  of the dos.library.
 
Changes for 45.18 (9.12.2018)

- The patch for the copyright string is now also active up
  to exec 46.45.

Changes for 45.19 (22.12.2018)

- Fixed a bug in Alert 0x0100000f, indicating a bad memory
  release in memory pools. In this specific case, exec
  forgot to restore one register.
  
- The stack size check for handlers did not consider that
  the handlers with BCPL linkage, in particular the
  Port-Handler, measures the stack size in LONG words, not
  in BYTES.

Changes for 45.20 (7.1.2019)

- Updated the Copyright string to year 2019.

Changes for 45.21 (11.1.2019)

- In case SetPatch fails itself, the current shell
  needs to be shut down hard to stop it from executing
  the rest of the startup-sequence.

Changes for 45.22 (30.1.2019)

- Includes a patch for a freak-accident in the A3000
  superkickstart logic. Unfortunately, a piece of
  code in expansion.library does not test properly whether
  the 030 MMU is active, and in some situations erroneously
  assumes that it is active even if it is not. In such a
  case, 512K memory are stolen, rendering LoadModule and
  other reset-resident programs useless.

Changes for 45.23 (2.2.2019)

- The patch in the previous release may not be optimal as it
  requires that the connected keyboard transmits a reset-
  warning, which may not be given. Instead, this patch now
  hooks into the reset process and restores the "missing"
  modules if any are found, and also restores the missing
  512K.

Changes for 45.24 (11.5.2019)

- The shell seg replacement used the wrong segments for filling
  in the resident structure, so strange and funny things could
  have happened. Fixed
  
Changes for 45.25 (23.6.2019)

- Added an option to turn off the patch that disables the drive
  LED patch.

-------------------------- AmigaOS 3.2 project -----------------------

Changes for 47.1 (18.8.2019):

- Added a workaround for programs that check the return code of
  AllocEntry() incorrectly, i.e. for NULL rather than negative.

Changes for 47.2 (28.9.2019):

- The AFF_FPGA flag is now honored. Note that there is currently
  no CPU support library for this flag.

Changes for 47.3 (25.12.2019):

- The shell-seg is no longer replaced by a V47 or later shell
  because this requires a later dos.library anyhow.

Changes for 47.4 (4.8.2020):

- New option CONTENTS/S to list all patches contained in this
  SetPatch release.

- Added the patch for mathieeesingbas.library v37-40 which
  originates from OS 3.5.
