*******************************************************************************
*
*               Welcome to warp speed!
*
*               powerpc.library/WarpOS history
*
*               milestones:
*               V8.0  - first internal release of WarpOS. powerpc.library is
*                       running under WarpOS from now on.
*               V9.0  - PPC native memory management / exception handler
*                       support
*               V10.0 - MMU + BAT support implemented / PPC-Enforcer
*                       Reincarnation of VOXELSPACE
*               V11.0 - Virtual signal system / native msg handling
*               V12.0 - Memory protection support / InterCPU msg handling
*                       CyberStormPPC support
*               ***  Official Release  ***
*               V13.0 - Debugger support / Demos equipped with window support
*               V14.0 - Dynamic scheduler / Hardware driver concept
*                       BlizzardPPC support
*               V15.0 - Pooled memory API (new MM) / Shared semaphores /
*                       Blackbox 68K emulation support
*
*******************************************************************************

 4. 6.97        - first internal release
                - V8.0

 5. 6.97        - new memory management, based on mempools, inserted
                  (old implementation linked to exec/AllocVec disabled)

                  Thanks a lot to Michael Rock for the implementation of
                  this memory management!
                - V8.1

 7. 6.97        - New memory management routines locked by semaphores
                - OpenLibrary patch implemented to prevent WarpOS from
                  being killed by ELF applications.
                - New mirror tasks now get the priority of its partner
                  task instead of 0.
                - New library functions 'Super' and 'User' to switch
                  between supervisor and user mode.
                - New library function 'SetHardware' to affect some
                  CPU related resources (i.e. trace mode)
                - V8.2

 8. 6.97        - If no tasks are running/ready, the PPC enters a
                  power saving mode (nap mode)
                - New library function 'ModifyFPExc' allows to set/clear
                  the exception enable bits in the FPSCR to enable/disable
                  particular FP exceptions
                - New flag for CreateTaskPPC: TASKATTR_MOTHERPRI. Allows
                  child tasks to inherit the priority of the mother task
                - New tools to set/clear global breakpoints: ibreak and
                  dbreak (dbreak only for 604[e])

 9. 6.97        - Priority of WarpOS system task 'Enterprise' changed to 1
                - New library functions 'SetExcHandler' and 'RemExcHandler'
                  allow to insert/remove custom exception handler (comparable
                  to exec/AddIntServer)
                - New memory management system temporarly disabled because of
                  linker problems.
                - V9.0

11. 6.97        - New memory management system re-enabled.

12. 6.97        - Signal numbers changed from BYTE to LONG (AllocSignalPPC,
                  FreeSignalPPC)
                - Emulation of misaligned FP accesses done (implemented in
                  warp.library). Author of the emulation: M.Rock.

13. 6.97        - Heavy bug fixed: Sleep routine (executed if no tasks
                  are running/ready) trashed the stack of a waiting task.
                - New library function 'WaitTime' allows to wait for a
                  given time or for given signals.
                - Emulation of DCBZ to noncachable/writethrough locations
                  implemented (warp.library)
                - V9.1

14. 6.97        - New WarpOS support task 'Voyager' implemented which frees
                  all memory allocated at 'CreateTaskPPC' if the task is
                  removed.
                - New *private* library function 'ChangeStack' to change the
                  PPC stack.
                - New tool 'stackppc' which works the same as the 'stack'
                  command (using 'ChangeTask').
                - Bug fixed: mirror tasks didn't get double the stack size
                  of the calling 68K process (as intended) because the
                  field 'pr_Stacksize' isn't updated by the Shell when
                  launching programs. The difference of TC_SPUPPER and
                  TC_SPLOWER multiplied by 2 is taken now.
                - New library functions 'LockTaskList' and 'UnLockTaskList'
                  allow to gain access to a list of all tasks.
                - New tool 'showtasks' prints out informations about all PPC
                  tasks.
                - V9.2

15. 6.97        - signal bit definition for SIGF_TIME changed from 2 to 9
                  to avoid collisions with exec signals.
                - paged MMU setup implemented and activated
                - exception handlers are now called with MMU switched off.
                  -> no critical locations like custom chip area (which must
                  be accessed in noncachable mode) must be accessed anymore
                - new library functions 'SetExcMMU' and 'ClearExcMMU' allow
                  to setup a temporary BAT based MMU setup in exception
                  handling code to access critical locations as described
                  above.

16. 6.97        - BAT support done. The BAT registers are now a local resource
                  of each task (like the normal registers) and they are
                  switched by the scheduler.
                - New library function 'ChangeMMU' allows to change the MMU
                  setup of the current task to standard or to BAT setup.
                - New tool 'changeMMU' performs the same action as the
                  library function, but it can be controlled from the shell.

17. 6.97        - bug fixed: mempools were not freed by mistake
                - MMU support for AllocVecPPC/FreeVecPPC implemented

18. 6.97        - ******  Reincarnation of VOXELSPACE !!  *******
                  the executable 'voxelspace' is now located in the demos
                  drawer. To run the demo a separate archive is required.
                  (voxel.lha). Welcome to warp speed! :)
                - PPC-Enforcer activated. First page is protected and all
                  accesses to $400-$1000 are emulated. Load accesses to $4
                  are emulated, too.
                - New library function 'GetInfo' allows to get many PPC
                  related information
                - New tool 'showinfo' displays all information currently
                  available by 'GetInfo'
                - V10.0

22. 6.97        - bug fixed: if someone tried to open powerpc.library with
                  too high version number, the powerpc.library was shut down.

23. 6.97        - SIGF_TIME changed again (Bit 10)

25. 6.97        - bug fixed which could cause deadlock at 68K-Calls
                - bug fixed: internal instruction cache flush was broken
                - signals are now completely transparent to the CPU's. All
                  signals are transferred at Cross-Calls -> A PPC task can
                  now be signaled by signaling its 68K mirror task and vice
                  versa. All signal bits are mirrored.

26. 6.97        - LN_TYPE field of a ppc task changed from NT_TASK to
                  NT_PPCTASK (-> tasksppc.i)
                - The whole signal handling is now based on the 'virtual
                  signal-pool'. Both CPU's share the signals and they can
                  signal tasks on both CPU's directly (i.e. a PPC-Task can
                  be signaled from 68K using exec/Signal with the PPCTask
                  structure as first argument).
                - Now it's safe not to restore the nonvolatile registers if
                  a PPC task exits by a single 'blr'. The smalldata base is
                  now automatically transferred to an alternative exit
                  routine, if one was specified at 'CreateTaskPPC'.
                - V10.1

27. 6.97        - New library functions implemented for Message-Handling:
                  CreateMsgPortPPC, DeleteMsgPortPPC, AddPortPPC, RemPortPPC,
                  FindPortPPC, WaitPortPPC, PutMsgPPC, GetMsgPPC, ReplyMsgPPC

28. 6.97        - A new PPC task now creates immediately a mirror 68K process
                  if none exists.

29. 6.97        - PutMsgPPC/ReplyMsgPPC can now be called from exception
                  handlers.
                - V10.2

13. 7.97        - New library function 'FreeAllMem' allows to free all
                  allocations made by the calling task.

15. 7.97        - If WarpOS is launched before ENV: is ready, then the
                  env variables are read a second time, when the first
                  RunPPC is performed (except for powerpc/debug)

16. 7.97        - WarpOS-Documentation in AMIGAGuide-Format done (D)

18. 7.97        - Dokumentation for Game-Development 'GameDev.guide'
                  included in archive (D)
                - V11.0

19. 7.97        - There was a tiny chance of problems with messages
                  sent from exception handling code -> fixed

20. 7.97        - Memory protection support implemented. Two new memory
                  attributes for 'AllocVecPPC' allow to allocate memory,
                  which is protected against other tasks (either full
                  protected or write protected).
                - The tool 'showtasks' now displays the pagetable of each
                  task.
                - The PPC-Code of the powerpc.library is now write-protected.
                - V11.1

21. 7.97        - New library function 'CopyMemPPC' to copy memory areas.
                - New environment variable 'powerpc/memprot' allows to
                  disable/enable the memory protection feature.
                - New 68K library functions 'AllocVec32' and 'FreeVec32'
                  allow to allocate memory which can be shared with PPC tasks
                - New 68K library function 'SPrintF68K' allows to print
                  debug information to the serial port/sushi.

22. 7.97        - cache flush optimization for 68040/68060 didn't work at all
                  -> fixed -> calling overhead decreased by 20 percent
                - InterCPU message handling implemented. New library functions
                  'AllocXMsg', 'FreeXMsg' and 'PutXMsg' for 68K to alloc
                  special InterCPU-Messages and to send them. New library
                  functions 'AllocXMsgPPC', 'FreeXMsgPPC' and 'PutXMsgPPC' do
                  the same for PPC.

23. 7.97        - Various bugs related to MMU features fixed
                - C-Includes added to the WarpOS-Archive.
                - V11.2

 1. 8.97        - Changed the assembler macros RUNPOWERPC and RUNPOWERPC_XL
                  (powerpc.i) to support direct PPC-Library-Calls from 68K-
                  Functions. Note: the parameters 2-4 were shifted to the
                  right by one. New parameter 2: The Library-Offset (used
                  in the same way like in the macros RUN68K and RUN68K_XL).
                - All include files were equipped with checks to the
                  constant POWERPCLIB_V7. If this symbol is defined then
                  no structures/macros are assembled, which can only be used
                  with powerpc.library V8+.
                - Added include file 'libraries/powerpc.i'. Including this
                  file sets the constant mentioned above and allows to create
                  V7-compatible applications.
                - Added the powerpc.library V7 and its history file to this
                  archive (directory 'v7')

 2. 8.97        - Bug fixed: On PPC-Systems with CPU clocks between
                  250-300 Mhz, the CPU clock returned by 'GetInfo' could
                  have been wrong.
                - Bug fixed: 'GetInfo' returned a wrong page table size.
                - Improved the accuracy of the FP conversion in the crash
                  requester which is used to display the FP registers as
                  ASCII string.

19. 8.97        - On some systems with small gfx address space, the gfx
                  RAM was not placed into BAT registers. Now the powerpc.
                  library tries to find out, where the gfx RAM is located
                  (using cybergraphics.library) and puts the gfx RAM into
                  BAT registers if possible (alignment must still be
                  properly set).
                - New environment variable 'gfxaddr' allows to specify an
                  address (either with or without $) to give the powerpc.
                  library a hint, where the gfx RAM should be.
                - New versions of cybermand and voxelspace added.
                - V11.3

27. 8.97        - Removed Gfx-RAM autodetection (seems to be somewhat risky)
                - Forgot to add warp.library 1.2 to the WarpOS-Archive.
                  powerpc.library V11.3 didn't work at all...
                  -> warp.library V1.2 added

15. 9.97        - CyberstormPPC support added.
                  WarpOS *WORKS* with the CyberStormPPC-Boards !! Cybermand
                  is now 12-13 times faster on 604E/200 relative to 68060/50.
                - Added new version of voxelspace to the archive. Added
                  special optimization for PPC604E.
                - Added voxel.readme and voxel_english.readme to the demos
                  drawer. This file contains some notes about the usage of
                  the voxelspace parameters and known problems.
                - Added english translations of WarpOS.guide and GameDev.guide.

16. 9.97        - Added a correction stage at CPU-clock calculation (in
                  function 'GetInfo'). The cpu clock is now displayed
                  completely correctly.

17. 9.97        - Problems with PPC-Enforcer and 604E fixed (NEVER use
                  self modifying code yourself!). One 'sync'-instruction
                  more, and everything works fine.

18. 9.97        - New library functions GetSysTimePPC, AddTimePPC, SubTimePPC
                  and CmpTimePPC for time measurement (also available vor V7)
                - New small demo program 'pixelOmania' to measure the
                  context switch performance (i.e. to compare V7 and V8+)

20. 9.97        - Added the 'WarpRace' application to the archive (drawer
                  'WarpRace'). This application is a modular performance
                  test program. Included are several modules and module
                  sources.
                  WarpRace and all modules so far work with powerpc.library V7.

21. 9.97        - Added the 'landscape' demo to the archive (drawer
                  'demos/landscape'), a fractal landscape generator.
                - Added new versions of 'tabletennis' and 'cyberpi' which
                  don't crash anymore if the powerpc.library can't be opened.
                  'Cyberpi' now supports both CPU's (new parameter M68K).
                - V12.0

25. 9.97        - Corrected a bug in the warprace executable (CTRL-C only
                  breaked the current recursion level)
                - Corrected a bug in warprace module 'Landscape.wrm' (mem
                  allocation was broken)
                - New 68K library function 'GetPPCState' allows to get
                  information about the state of the PPC and of PPC
                  applications (officially available in V13)
                - New tool PPCState displays the result of 'GetPPCState'
                - V12.1

27. 9.97        - New env-variable 'noPPC'. If this variable is 1, then
                  the powerpc.library always returns 0 at initialization.
                  This allows to use applications, which try to open
                  the powerpc.library, without PPC boards (before, WarpOS
                  simply crashed) if it supports the 68K too.

29. 9.97        - Static board detection implemented. If problems occur or
                  the 68060.library of the PowerUp-Distribution is not
                  installed, the board type can be selected using the new
                  env variable 'boardtype'.
                  0  =  auto detection using 68060.library
                  1  =  developer board
                  2  =  CyberstormPPC
                - New env variable 'earlyterm' implemented (also for V7).
                  If the variable is not 0, then the mirror task of a 68k
                  task is removed at the last CloseLibrary of the 68k task,
                  instead at removal of the task.
                  Hope, this will fix the problems with WShell.
                  The tools stackppc and changemmu DON'T work with earlyterm=1!
                  Use the 68K command stack to modify the PPC stack (the PPC
                  stack is about double the size of the 68K stack).
                - 12.2

 8.10.97        - RunPPC now interprets the PP_OFFSET field in the same way as
                  Run68K does. If PP_OFFSET is zero, than it works as before,
                  if it is not zero, a PPC library call is performed with the
                  base in PP_CODE and the library vector offset in PP_OFFSET.
                - Description and prototypes of SetExcMMU and ClearExcMMU were
                  missing. Corrected.
                - Bug fixed: FreeXMsgPPC trashed r2.
                - Inter-CPU messages can now be sent asynchronely, so they
                  may not be answered anymore by the foreign task. But it is
                  really important, that the processor frees the message which
                  allocated it (even if it is another task).
                - Exec/Replymsg now doesn't crash anymore, when called with
                  an InterCPU-msg without ReplyPort (but don't call exec/
                  ReplyMsg nevertheless without ReplyPort, why should you?).
                  Exec/ReplyMsg now simply does nothing in this case.
                - New library function SetReplyPortPPC allows to exchange the
                  reply port of a message (internal PPC message or InterCPU
                  message). Officially available in V13.
                - Added support of fields TC_SWITCH and TC_LAUNCH in the
                  exec task structure. If the appropriate bits in TC_FLAGS
                  are set, these functions are called whenever a PPC task
                  looses resp. gets the CPU (equal behaviour like exec).
                - New library functions 'SnoopTask' and 'EndSnoopTask'
                  allows to monitor the beginning and the end of a PPC task
                  (useful for debuggers). Officially available in V13.
                - V12.3

13.10.97        - Voxelspace 1.5 added. Window mode is now supported
                  (only for gfx boards).
                - Cybermand 1.2 added. Window mode is now supported
                  (also for PAL)

14.10.97        - Landscape 1.1 added. Window mode is now supported
                  (also for PAL)

15.10.97        - Corrected clib/powerpc_protos.h (was very buggy)

16.10.97        - Time Measurement was UNRELIABLE! Busclock could have
                  been measured wrong. Corrected (once again, one 'sync'
                  more...)
                - ChangeMMU was not correct. IBAT2 and DBAT2 were
                  exchanged.

22.10.97        - Bug fixed: FP-Registers f9-f13 were passed incorrectly
                  to custom exception handlers.

28.10.97        - Major internal change: all board specific stuff is
                  moved from powerpc.library to warp.library. The
                  powerpc.library is now completely board-independent
                  and will work unmodified with all PPC boards.

                  The warp.library has now become a real HAL, since
                  it now also provides access to board specific
                  resources using a standardized interface.

                  IMPORTANT NOTE: The powerpc.library V12.4 and higher
                  requires the warp.library V2 to be installed!!
                - Some bugfixes, which maybe could be responsible
                  for some deadlocks in rare cases.
                - V12.4

 6.11.97        - Minor changes in powerpc/powerpc.i (macros RUNPOWERPC
                  and RUNPOWERPC_XL) to avoid linker warnings.

 8.11.97        - Bug in clib/powerpc_protos.h fixed. The snoop functions
                  were enabled for V7 by mistake.
                - V13.0

22.11.97        - Oh, DAMN. Exec tasks couldn't use RunPPC because of
                  DOS calls. These calls are now handled by a new
                  support process called 'Babylon5'.
                - V13.1

25.11.97        - Some 'sync' instructions added to warp.library (maybe
                  this can solve some problems with PPC crashes). V2.1

26.11.97        - The powerpc.library returns now 0, if ppc.library is
                  active and if someone tries to open the powerpc.library.

27.11.97        - Bugs fixed in pragma/powerpc_lib.h: SPrintF was written
                  instead of SPrintF68K, and GetPPCState was enabled for
                  V7, by mistake.

 1.12.97        - NOTE: it is possible, that a PPC application crashes,
                  if it launches WarpOS (that means, if it is the first
                  PPC application) AND if SnoopDos is monitoring
                  exec/OpenLibrary. The crash seems to happen in the
                  Patch of SnoopDos. Run a PPC program earlier or avoid
                  monitoring exec/OpenLibrary with SnoopDos to avoid
                  these problems!

16.12.97        - New version of voxelspace added. It now supports
                  OS3.0 multibuffering with P96 -> No flickering anymore!
                  Use 'TURBOGFX' or 'WARP' as CLI parameter to switch
                  on multibuffering.
                - V13.2

 6. 1.98        - Some tags and defines were missing in powerpc.h
                  (GetInfo)

 2. 2.98        - New function 'GetHALInfo' allows to retrieve some
                  information about the WarpUp HAL's status. At the moment
                  the number of emulated alignment exceptions can be
                  evaluated (might be useful to find performance bottlenecks)
                  This function is officially available in V14.
                - New tool 'ShowHALInfo' displays all results of the
                  function 'GetHALInfo'

 4. 2.98        - The WarpUp-HAL (warp.library) was splitted up into two
                  parts: the main HAL and in a hardware driver. From
                  warp.library V3 on, there must be installed a warpHW.library
                  for a specific hardware.
                  The new directory 'hwdrivers' contain all drivers currently
                  available, a description how to make a new hardware driver
                  and a StormC template project to help developing a new driver.
                - If warp.library V3+ is installed the env variable 'boardtype'
                  is ignored and can be deleted.
                - The BlizzardPPC hardware driver is currently an untested
                  prototype.
                - warp.library bumped to V3.0
                - A new tool 'GetDriverInfo' prints out an identification string
                  of the currently active WarpUp hardware driver.

 5. 2.98        - A bug fixed, which was introduced with the reorganisation
                  of the warp.library -> warp.library V3.1

 6. 2.98        - A lot of internal changes to support a special project.
                  Most API functions were modified a bit, hopefully all
                  should continue working properly.
                - V13.3

10. 2.98        - First-Aid text updated. There are still too many people
                  which don't know that WarpOS can't run in parallel with
                  the ppc.library. UFF... Another note points to the problems
                  with CyberGraphX versions with ppc.library support. The best
                  solution is not to install this version. Better wait for
                  a graphics software with REAL PowerPC support.

 1. 3.98        - Bug fixed in the WarpOS memory management system. Allocations
                  > 512KB could go wrong (or always went wrong, I don't know).
                - Dynamic scheduler finally implemented. The new scheduler works
                  very different to the old scheduler and improves the
                  multitasking capabilities very much. Please have a look at the
                  WarpOS documentation (Chapter 'multitasking/The WarpOS Kernel')
                  to get more detailed information about the new scheduler.
                - Important: the old task priorities have no effect anymore! Use
                  the NICE values to give more or less CPU time to specific
                  tasks.
                - A lot of new elements added to the task structure (most
                  private, a few read only)
                - New API function 'SetScheduling' allows to affect the reaction
                  time of low-activity-tasks. Both low and high values can have
                  advantages and disadvantages.
                - New tool 'sched' to set the reaction time mentioned above.
                - 'showtasks' now also prints out the NICE value and task ID.
                  Note, that this version of 'showtasks' can't be used with
                  earlier version of powerpc.library anymore.
                - 'showinfo' now also prints out CPU load and system load.
                  This version also requires powerpc.library 14+.
                - Bug fixed: PPCtask structure definition in C header file was
                  totally buggy.
                - New API function 'FindTaskByID' allows to get the task
                  address by specifying the task's ID.
                - New tool 'stat' prints out task statistics, such as name,
                  taskID, CPU usage, activity etc. This tool was written in C
                  and the corresponding source is located in source/tools/stat/.
                - Bug fixed: creation of new 68K tasks in the powerpc.library
                  could go wrong (which could maybe have prevented WarpOS from
                  working on certain systems).
                - New: if a CLI-Background process creates a new mirror task,
                  the name of the command is used for the PPC task name instead
                  of the process' name (which was usually 'Background CLI_PPCx')
                  This improves readability of the 'stat' output.
                - New PPC tasks (created by 68K tasks) now get at least
                  32KByte stack.
                - ****************  IMPORTANT  ******************
                  WarpOS failed on several systems due to stack problems of
                  the RAMLIB (its stack is 2K on my machine, incredible...).
                  The powerpc.library now performs stack swapping using
                  exec/StackSwap where the critical (and stack-consuming)
                  code parts are situated. This should especially solve
                  those problems which occurred with RTGMasterPPC.

 2. 3.98        - C-Prototype file completely rearranged. The file
                  clib/powerpc_protos.h has been made much more compatible
                  to alternative compilers. The Storm-specific extensions
                  are now located in the file stormprotos/powerpc_sprotos.h.
                  Please design prototype files for future shared libraries
                  in the same way to support all compilers.

 3. 3.98        - Bug fixed: Removing tasks which were created from the
                  other CPU resulted in crashes.
                - New tool 'killppc' allows to remove PPC tasks by
                  specifying the task ID (which can be evaluated using
                  the 'stat' tool). Very useful to eliminate crashed
                  tasks.
                - The source of 'killppc' is available in C
                  (source/tools/killppc)
                  Never kill the shell's mirror task while the shell operates
                  on the 68K side.
                - The crash requester now also prints out the task ID
                - New API function 'SetNiceValue' allows to set NICE values
                  of a task.
                - New tool 'niceppc' allows to set the NICE value of a
                  PPC task. This can be used to affect the execution speed
                  of tasks and it also affects reaction time.
                - The source of 'niceppc' is available in C.
                - TASKATTR_MOTHERPRI now also forces child tasks to get
                  the mother's NICE value.
                - New task attribute TASKATTR_NICE to set the NICE value
                  of new created tasks.

 4. 3.98        - Now it's allowed to free Inter-CPU messages sent from
                  the foreign CPU using FreeXMsg[PPC]. But note, that this
                  is internally done using a cross call.
                - Removed EXEC tasks were not always caught by the
                  powerpc.library, because the task termination routine of
                  EXEC doesn't call RemTask() over the library interface.
                  Could lead to problems when killing its mirror task on the
                  PPC side. Fixed now by a small AddTask() Patch.

 5. 3.98        - Now all memory allocated by a PPC task is freed at task
                  removal. Earlier, only those entries in TC_MEMENTRY were
                  freed.
                - The powerpc.library API is now also available in AmigaGuide
                  format (see directory 'docs')
                - A new file 'includes.guide' is now in 'docs' which contains
                  an overview of all include files.
                - Updated the WarpOS documentation.
                - Added a new Easyrequester which pops up if the ppc.library
                  was detected.
                - The prototype of WaitPortPPC() was missing. Corrected.
                - Added FD file to the archive (include/fd/)
                - V14.0

12. 3.98        - Bug fixed: Corrupt code caused problems with exception
                  handlers.

14. 3.98        - Problem detected. The ppc.library was put into
                  the flash ROM of the Blizzard Board, therefore WarpOS
                  can't work in the known way.

16. 3.98        - More stack problems solved by exec/Stackswap. Implemented
                  in warp.library -> V3.3
                - ELF terminator implemented. The env-variable 'Terminator'
                  can be used to launch WarpOS while ppc.library is running.
                  Any ELF activity is instantly terminated. Still does not
                  solve the problems with the new boards.
                - A second Easyrequester implemented to warn the user before
                  using the ELF terminator facility.
                - New env variable 'HideWarning' prevents both easy
                  requesters from appearing. Note: the combination of
                  Terminator = non-null and HideWarning=1 is dangerous,
                  because the ELF-terminator is activated without any
                  warning.
                - First Aid text updated, guess why.
                - 'stat' had a small bug. Additionally memory usage was
                  decreased and source design was improved.
                - env-variable 'boardtype' removed

27. 3.98        - New task flag TASKPPC_THROW implemented. If set, the task
                  causes an instruction breakpoint exception when it is launched
                  next time by the scheduler.
                - New tool 'throw' uses this flag and can be used to interrupt
                  tasks which are caught in endless loops. C Sources are
                  available.
                - Changed the tag EXCATTR_ID to EXCATTR_PRI (powerpc/powerpc.h).
                  Please update your sources, if you used this tag.

 4. 4.98        - Added a note to the autodoc of FreeVecPPC concerning cache
                  coherency. Only important for asynchron applications.
                - V14.1

 5. 4.98        - Finally the WarpOS prototype worked the first time on a
                  Blizzard board!

 6. 4.98        - First Aid updated to solve the problems of the WarpUp demos
                  in conjunction with CyberGFX emulation for AGA.

10. 4.98        - More Blizzard problems solved.

16. 4.98        - Bug fixed: WaitTime was buggy, in case that the task was
                  woken up by standard signals instead of the timeout signal.

17. 4.98        - New API PPC function 'TrySemaphorePPC' does the same as
                  'ObtainSemaphorePPC' but supports a timeout value, which
                  defines when the task should give up to obtain the semaphore.

21. 4.98        - Added a msgport entry to the task structure which can be
                  used in a similar way than the msgport of dos processes.
                  Currently the msgport isn't used by WarpOS itself, but
                  applications might simulate the WBMsg mechanism which is used
                  for passing parameters from the Workbench to new created
                  tasks on 68K side.
                  Note, that any access to the msgport entry must be locked
                  by LockTaskList! Also note, that the msgport is instantly
                  available to the mother task after returning from
                  CreateTaskPPC. Finally note, that this msgport is not for
                  general application use, just like on 68K side.
                - The memory cleanup mechanism (implemented in the Voyager
                  task) introduced at 5.3.98 could lead to severe problems
                  if a task was removed which created child tasks earlier (which
                  were still alive).
                - New cache flag CACHE_DCACHEINV allows to invalidate an
                  selected address range. *NEVER* use this unless you really
                  need it (and that's mainly for asynchron programming).
                - New 68K API function 'SetCache68K' provides the same
                  functionality than 'SetCache' on PPC side (except cache
                  locking/unlocking). The special 68040/68060 commands are
                  used to achieve better results than CacheClearE does.

27. 4.98        - The memory cleanup mechanism was still broken in the
                  case that protected memory was freed.
                - V14.2

29. 4.98        - FindTagItemPPC and GetTagDataPPC were totally broken.

 2. 5.98        - If a page didn't fit into the primary PTEG, then the
                  insertion into secondary PTEG went totally wrong. But
                  anyway, the chance for this error to appear in practice
                  was almost 0. Correct in warp.library 3.5.

 7. 5.98        - Bug fixed in powerpc/tasksPPC.h: The value SNOOP_xxx
                  were all wrong.

10. 5.98        - Changed the BAT setup for the boot process. The earlier
                  setup failed if motherboard-RAM was involved instead
                  of the RAM on the CPU board.

23. 5.98        - Added support for the blackbox emulation concept.
                - V14.3

20. 6.98        - More problems with the memory cleanup mechanism
                  fixed.

27. 6.98        - BUG corrected: CTR could be trashed by the scheduler.
                  Don't know if this bug was introduced recently or a
                  long time ago.

30. 6.98        - Bumped warp.library to V4.0 (part of the first 'Blackbox
                  emulation' prototype).
                - Bumped powerpc.library to V14.4 (part of the first
                  'Blackbox emulation' prototype).
                - V14.4

 5. 7. 98       - Added modifications for blackbox emulation. Now WarpOS
                  applications can be run in parallel to the emulated
                  AMIGA-OS.

 6. 7. 98       - Corrected documentation error in powerpc.guide/powerpc.doc.
                  FreeXMsg gets the message in a0, not in a1
                - V14.5

 1. 8.98        - New env variable 'force' forces the address stored in
                  'gfxaddr' to be added to the PPC MMU, even if no matching
                  address space was found in the system structures (has
                  to be set to 1 if CyberVisionPPC hardware is present).

 2. 8.98        - Added a new terminator (number 2), which should fix the
                  problems with the new P5 flash ROM.
                - V14.6

27. 9.98        - Prototypes for InsertPPC were broken.

 5.11.98        - Added another 'stackswap' code, which is only executed
                  by tasks called 'ramlib'. This should reduce the
                  stack problems with ramlib.

19.12.98        - Added 'WarpStat' to the tools directory. It does the same
                  as 'stat', but provides a nice GUI (MUI required).

20.12.98        - New env variable 'powerpc/nopatch' does not prevent
                  the ppc.library to be opened when WarpOS is running.
                  Set this, if you would like to use the PowerUp emulation
                  software (which is in development).
                - New PPC API function 'NewListPPC' to initialize exec
                  lists. Valid after V15.
                - New flag for PP_FLAGS (call structure): PP_LINEAR.
                  Allows to pass r3-r10 instead of the registers assigned
                  to the 68K registers (only available for RunPPC).
                - New tag for CreateTaskPPC (TASKATTR_INHERITR2), which
                  forces the new task to use the r2 of the parent task
                  (and so can share its variables).

21.12.98        - New API function 'SetExceptPPC' allows to define
                  signals, which enforce the execution of exception
                  handlers, if they are sent. See the autodocs for
                  differences to exec/SetExcept. Valid after V15.

22.12.98        - New 68K API function 'CreatePPCTask' does the same as
                  CreateTaskPPC on the PPC. It was just added for
                  simplicity to allow 68K applications to create new
                  PPC tasks without having to do a context switch and
                  then call CreateTaskPPC.
                  Valid after V15.
                - V14.7

31.12.98        - powerpc/RemHeadPPC was broken (return value was
                  wrong).

13. 2.99        - FreeVecPPC could trash several registers. Corrected.
                - V14.75

14. 2.99        - New env variable 'powerpc/seginfo' can be used to
                  let WarpOS print out segment information if PPC crashes
                  occur. Hunk/offset pairs are given for the excepting
                  instruction and for all sub-calls in the stackframe.
                  This variable expects a numeric value, which corresponds
                  to the max. number of lines written. Set this to some
                  value like 100.
                  This feature requires 'SegTracker' and 'Sushi' to be
                  installed.

20. 2.99        - New API functions 'ObtainSemaphoreSharedPPC',
                  'AttemptSemaphoreSharedPPC,'ProcurePPC','VacatePPC'
                  implement shared and message-based semaphores. Valid
                  after V15.
                - If powerpc/force was set, while powerpc/gfxaddr wasn't,
                  a lot of troubles could appear. Corrected.
                - There was a slight chance that GetSysTimePPC could
                  return a wrong result (if an overflow of TBL occurred
                  while reading the time base). Corrected.
                - New flag PP_THROW for RunPPC. If a PPC call is done with
                  this flag set, then an exception is caused before entering
                  the function (illegal instruction exception/trap). This
                  might be useful for debuggers which want to trigger a
                  breakpoint on every PPC call. The exception can be
                  distinguished from other 'trap' exception by examining
                  r0, which contains the string "WARP".
                  Note, that this flag is not available for Run68K.

21. 2.99        - New tag for CreateTaskPPC: TASKATTR_ATOMIC. Allows to
                  create non-interruptable tasks (except if task enters
                  waiting state). Note, that non-interruptable tasks still
                  can be interrupted by exceptions/interrupts, but not by
                  other tasks. Fixed priorities are NOT supported.
                  Such tasks might have a severe impact on the multitasking,
                  therefore you should never use it without serious
                  justification.
                  Important: this feature is specific to the WarpOS scheduler.
                  If the WarpUp-API would be implemented on top of another
                  scheduler, then this feature might not work anymore.
                - Added the possibility to add exception handlers for the
                  external interrupt. Those handlers are always executed,
                  if the external interrupt was triggered using WarpOS API
                  functions: CauseInterrupt (PPC) and CausePPCInterrupt (68K).
                - V14.8

 1. 3.99        - The terminator mechanism was too unreliable. Corrected.

10. 3.99        - New memory management system added (written by Frank Wille),
                  which replaces the old one.
                - Bug fixed in CreateTaskPPC. The space to store the task
                  name was one byte to short.
                - Added 'BPPCFix' from Frank Wille to the WarpUp archive
                  (directory tools/BPPCFix). Allows to reboot BlizzardPPC
                  machines without launching the ppc.library.

14. 3.99        - New API functions 'CreatePoolPPC', 'DeletePoolPPC',
                  'AllocPooledPPC, 'FreePooledPPC' implement pooled memory
                  functions. Valid after V15.
                - V14.9

 2. 4.99        - Severe bug in the scheduler fixed, which sometimes could
                  have been responsible for multitasking hang-ups and
                  for lost signals.

 3. 4.99        - New API function RawDoFmtPPC does the same as exec/RawDoFmt.
                  Valid after V15.

14. 4.99        - Added the PowerUp Emulation V0.6 of Frank Wille to the
                  WarpUp distribution (directory 'PowerUpEmu').
                - V15.0

