AminetAminet
Search:
84490 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/boot/exept49.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:ExecPatch 4.9 - KS 37.175+ Speedup Patch
Author:*Art
Uploader:Jess Sosnoski (jlsosn planetx bloomu edu)
Type:util/boot
Architecture:m68k-amigaos
Date:1994-12-16
Download:http://aminet.net/util/boot/exept49.lha - View contents
Readme:http://aminet.net/util/boot/exept49.readme
Downloads:655

                 =====================================
                      ExecPatch 4.9 (25 May 1994)
                 Copyright (C) 1993-1994 Arthur Hagen.
                 =====================================
       This software is FreeWare, and NOT in the Public Domain!
 
           Requires KickStart 36.xx or above, CLI use only.
      Should work with all processor types / FPU-configurations.
        Requires a few hundred bytes of FAST-mem to be present.
 
-----------------------------------------------------------------------
 
The Amiga is a multitasking machine (no kidding!), and will happily
switch its CPU use between several tasks and processes too fast for the
user really to notice.  This task switching system is the whole basis
for the Amiga's multitasking capabilities, and has, naturally, been
coded in efficient assembly to reduce overhead as much as possible.
Even so, several of the basis multitasking functions of the system
could be optimised even further, thus speeding up the machine when
several tasks are running simultaneously, and/or the CPU use is high.
So, I wrote this little utility that will replace some of the systems
key functions with more speed-optimised, but excactly equal code.  Just
put ExecPatch in your S:User-Startup or similar.
 
The functions that will be modified in exec.library are:
Switch()       Dispatch()     Exception()    Remove()
Enqueue()      Wait()         Signal()       WaitPort()
DoIO()         WaitIO()       CheckIO()      ExitIntr()
Schedule()     Reschedule()   Permit()       ObtainSemaphore() (*)
SetExcept()    SetSignal()
 
(*) Under 3.0/3.1 only
 
In addition, if you have a CPU without cache, the cache functions in
exec.library that does nothing at all will be replaced with a return
statement in the jumptable itself.  The functions will be checked first
to see if they really does nothing but return, so everything should be
safe.
 
-----------------------------------------------------------------------
 
Six executable files are now included in the archive:
 
ExecPatch       : Works on all 68000/010/020/030-equipped machines
                  without FPU coprocessors like the 68881 or 68882.
ExecPatch_010   : As above, but will not work on 68000-machines.
                  A few cycles faster than the "standard" version.
ExecPatch_881   : For 68040 or 68020/30-machines equipped with a FPU.
 
ExecPatch_LED,    Equal to the above versions, but turns the power LED
ExecPatch_010LED, dark when the CPU is idle.  This will permanently
ExecPatch_881LED: enable the low-pass audio filter for all tasks, and
                  might interfere with some audio players.
                  Note that these LED patches will steal FAR less CPU
                  time than the program "Idle-LED" or similar programs
                  because it will not require extra interrupts or any
                  tasks that must be scheduled, but is a part of the
                  scheduling process itself.
 
-----------------------------------------------------------------------
 
How much does ExecPatch help?
=============================
ExecPatch will only speed up the machine in a multitasking situation,
so speed test programs will not report any increased speed, unless the
test can be made with multitasking enabled.  A fair test of how much
this program will help YOU is difficult to propose, but you might try
something like running AIBB with multitasking ON, priority 0, while
your favourite program is doing something in the background.  Then do
the same test again, but start ExecPatch first.
The speed increase will depend on several things, among them are the
speed of the FAST-MEM and the CPU type.  But count on ExecPatch being
faster except for on a slow-mem-only-expanded machine.
 
----------------------------------------------------------------------
 
Bugs/caveats:
=============
1) Some virus killers (like VirusChecker and my own VMon) might report
   that vectors have changed (especially the DoIO vector).  This is as
   it should be, as the vector really has changed, and it is nothing to
   worry about.  If there was a virus lurking on that vector, it would
   have been replaced by ExecPatch's routine.
2) ExecPatch will steal a couple of hundred bytes permanently, and
   these will not be released to the system except at reboot.
3) If you *only* have chip- and slow-mem on your system, don't expect
   too much from patches like this, as running code from ROM will
   usually be faster, especially when displaying graphics.
 
-----------------------------------------------------------------------
 
Changes since version 4.8:
   Should now work on 2.0/2.1-equipped machines.
   Most patches 16-byte-aligned for maximum performance with
   burst-ram and "advanced" processors.
Changes since version 4.6:
   SetExcept() and SetSignal() patched.  Minor code enhancements.
   Should now work on 68040-equipped machines.
Changes since version 4.4:
   Source rewritten.  ObtainSemaphore() patched.
Changes since version 4.3:
   Permit patch added.  A few minor enhancements.  LED versions for all
   processor/fpu-types included in archive.
Changes since version 4.2:
   Had to make a kludge for the WaitPort()-patch, since EaglePlayer
   expected register A0 to be unchanged if there already were messages
   on the list.  This really is a bug in the players code (german pro-
   grammers!), but it should now work.  Most patches longword-aligned
   for performance increase on 68020+.
Changes since version 3.0:
   Four more patches made.  Just a weeny bit faster code.
Changes since version 2.1:
   Should now work on OS 3.0+ machines.
   Optimised slightly.
 
-----------------------------------------------------------------------
 
                             CrippleWare?
                             ============
 
Yes - this program is CrippleWare.  If you like it, just send me a
cripple instead of payment.
 
Enjoy,
*Art


Contents of util/boot/exept49.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO     CRC       STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                 1396    1832  76.2% -lh5- 9355 Jun 18  1994 ExecPatch
[generic]                 1402    1848  75.9% -lh5- 68bc Jun 18  1994 ExecPatch_LED
[generic]                 1387    1816  76.4% -lh5- c7e2 Jun 18  1994 ExecPatch_010
[generic]                 1399    1832  76.4% -lh5- b946 Jun 18  1994 ExecPatch_010LED
[generic]                 1437    1872  76.8% -lh5- 840a Jun 15  1994 ExecPatch_881
[generic]                 1450    1888  76.8% -lh5- b171 Jun 18  1994 ExecPatch_881LED
[generic]                 2421    5922  40.9% -lh5- 5f95 Jun 18  1994 ExecPatch.DOC
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         7 files   10892   17010  64.0%            Dec 16  1994

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>