home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / utilities / benchmarks / aibb / documentation / version_changes < prev   
Encoding:
Text File  |  1993-04-16  |  35.1 KB  |  650 lines

  1.  
  2.                                 A.I.B.B.
  3.                     Amiga Intuition Based Benchmarks
  4.                        Program Release Version 6.0
  5.                     Copyright 1991-1993 LaMonte Koop
  6.  
  7.                        Version Change Information
  8.  
  9.  
  10.     Version series' 4.x-6.x of AIBB is a complete re-write from the original
  11. code used for the previous versions 1-3.  Being that this is the case, it
  12. is quite important that the documentation be read thoroughly in order
  13. to completely understand all aspects of the program performance.  The
  14. changes to this version series are detailed below.
  15.  
  16. Changes to version 6.0:
  17.  
  18.      --    AIBB has had its graphics-based tests completely re-written.
  19.         The user is now allowed to select the screen mode to be used by
  20.         AIBB when performing such tests via the "Set Gfx Test Mode" option
  21.         under the "Test Options" menu.  This is done via the ASL.LIBRARY
  22.         screenmode requester, and thus this option is not available unless
  23.         the host system is using V38 of ASL or greater (V38 is found with
  24.         the AmigaOS 2.1 enhancement).
  25.            The default screen mode AIBB uses for its graphics tests is
  26.         a high-resolution ( 640x200 ) 3 bitplane ( 8 color ) setup.  When
  27.         a new screen mode is selected for the tests, AIBB will check this
  28.         against the modes used in the comparison systems and will warn the
  29.         user if the new mode differs in equivalence, as it is necessary to
  30.         be aware of this so that the comparisons can then be weighted
  31.         accordingly. ( eg, if you run a test in a low-res 1 bitplane mode,
  32.         it will almost assuredly perform faster than in a high-res 4
  33.         bitplane mode, so this has to be taken into account when looking at
  34.         the results ).
  35.            This new option was provided for allowing the comparison of
  36.         different graphics modes on the systems used.  It can also be used
  37.         to examine the performance of some of the new graphics boards being
  38.         introduced for the Amiga. ( for example, one can see at which mode
  39.         the board ends up being slower for a given test than the default
  40.         mode used for the comparison systems ).
  41.            AIBB does save the screen mode data within its load module, so
  42.         that this information is available when a new module is loaded.
  43.         Again, when a module is loaded, checks are made against the screen
  44.         modes in use by the other loaded systems, and the host system, to
  45.         warn the user if differing graphics modes were used.
  46.            In addition to these changes, another item under the "Test
  47.         Options" menu allows the user to browse through the graphics modes
  48.         used by the comparison systems, as well as that in use by the host
  49.         system.
  50.            Please note: All of these changes have meant that AIBB's load
  51.         module and preferences file format have changed.
  52.  
  53.      --    The ability to change AIBB's primary screen colors has been
  54.         added via the use of a color requester.  Color selections are
  55.         saved to AIBB's preferences file when the "Save Configuration"
  56.         menu item is selected in AIBB's "General" menu area.  This was
  57.         added upon complaints from monochrome monitor users who were
  58.         having trouble seeing parts of AIBB's display because two or
  59.         more colors would map to the same grey shades.
  60.  
  61.      --    AIBB's help mode requesters have been removed to make room for
  62.         the changes to its graphics tests.  They were giving problems due
  63.         to a compiler bug (bad code generation) in any case, and the entire
  64.         system needs to be re-worked before being implemented again
  65.         (space allowing).  This also freed up a good deal of space for
  66.         other functions within AIBB, and unless it becomes a real problem
  67.         this may not be re-implemented...at least not in the form it has
  68.         taken thus far.
  69.  
  70.      --    AIBB will no longer show 2 gadgets on a requester when only one
  71.         option is available.  This has been changed as it was reported to
  72.         be confusing to some users when two gadgets would appear, though
  73.         they had the same text/action associated with them.
  74.  
  75.      --    Under 1.3 or earlier of AmigaOS, AIBB would sometimes call up
  76.         an Alert indicating a lack of CHIP memory for a particular
  77.         operation when in fact there was no problem.  This was due to a bug
  78.         in the AmigaOS Request() function under 1.3 and below.  This
  79.         function would not always give the proper return value, and would
  80.         make AIBB believe an error occured when it in fact hadn't.  A
  81.         workaround is in effect now for 1.3 and below within AIBB, by
  82.         looking at window->FirstRequest instead of relying on the return
  83.         value from Request() to indicate success.
  84.  
  85.      --    AIBB's TGTest has been changed again to one which carries its
  86.         measure in terms of characters/second output to the screen.  The
  87.         previous use of variously sized windows to hold the output has been
  88.         removed due to various testing which showed it to have a minimal
  89.         value in the test itself.
  90.  
  91.      --    A new entry in AIBB's memory node information reporting has
  92.         been added.  AIBB will now report the a relative "Bus latency
  93.         factor" for all FAST RAM nodes.  This figure represents the latency
  94.         between a memory cycle, and when another cycle can be performed.
  95.         Lower ratings indicate better response times for a particular
  96.         memory node, with the unattainable goal of 0.0 indicating that no
  97.         latency occured at all.  Basically, this gives information as to
  98.         the relative efficiency of various memory nodes.  (eg, one with a
  99.         rating of 5.0 would be more efficient, and hence faster than one
  100.         with a rating of 7.0.).  Note that this can only be used as a
  101.         valid comparison across systems if other factors such as processor
  102.         type, clockspeed, and bus width are also taken into account.  This
  103.         figure is most useful in comparing two different memory regions on
  104.         similar systems, such as two memory boards on a 68030 based system
  105.         against each other for relative efficiency.
  106.  
  107.      --    Two new tests have been added to AIBB's lineup.  The first,
  108.         "EllipseTest" is a simple test of one of the Amiga's more complex
  109.         drawing functions, DrawEllipse().  A series of elliptical shapes
  110.         is drawn, with the function timed for speed comparisons.  The
  111.         second test, known as LineTest, tests the Amiga's speed at various
  112.         line drawing jobs.  This test reports its results in terms of
  113.         Lines Drawn per Second.
  114.  
  115.      --    File requester capability has been added to the Load Module
  116.         Preferences requester as per recommendation by various people.
  117.         The gadgets marked "FR" next to each string input gadget will
  118.         bring up a file requester for that particular entry.  This
  119.         alleviates the need to type in path/file names for selecting
  120.         default modules to load up when AIBB is initialized.
  121.  
  122.      --   A bug with AIBB's low memory situation handling has been fixed.
  123.         Previously, it was possible for AIBB to crash in a low memory
  124.         situation when it couldn't open a screen or window.  This has been
  125.         corrected in this version and AIBB should now properly handle these
  126.         events.
  127.  
  128.      --    Changes have been made to AIBB's FPU clock rate evaluation.
  129.         Under previous versions, low results could be reported for the FPU
  130.         clock rate when the host system was running a high-clocked FPU
  131.         (~50 MHz) with a moderate to low-clocked CPU (~16 MHz).  This
  132.         showed up on the A1200 operating with external expansion boards
  133.         equipped with high-speed FPUs.  The changes made here attempt to
  134.         smooth out this difference and give more accurate results for FPU
  135.         clock rate on these systems.
  136.  
  137.     __     AIBB now uses gadgets rather than menu items for CPU cache
  138.         control.  The gadgets are located on AIBB's main screen in the
  139.         cache status indicator area.
  140.  
  141.     --     Moving from AIBB's main screen to its system information
  142.         display is now accomplished by clicking on the appropriate
  143.         gadget near the comparison information area corresponding to the
  144.         machine information is desired on.  Previously, AIBB used a
  145.         menu arrangement under the "Systems" menu to move to this
  146.         display, and this was complained about as being "clumsy" to
  147.         operate.  The new gadgets are located under the "System Comparison
  148.         Information" section of the main screen, and are set up as the
  149.         row headers for that area.
  150.  
  151.     --     AIBB now encorporates gadgets rather than menu items for
  152.         changing code types used in tests and evaluations.  Previously,
  153.         menu items under the menu "Test Options" were used to change the
  154.         test code types for both the host system and comparison machines.
  155.         This turned out to be more work for the user than necessary, and
  156.         hence the gadget approach was adopted.  The gadgets are located
  157.         next to the evaluation results on the main screen, and allow for
  158.         cycling through the various CPU/FPU code types available for a
  159.         given system.
  160.  
  161.     --      A bug with AIBB's MMU table parsing mechanism has been fixed.
  162.         AIBB normally will parse any active MMU tables in order to find the
  163.         physical location of various system objects.  However, a bug was
  164.         discovered in how AIBB parses tables utilizing long (64 bit) table
  165.         descriptors.  This was originally thought to be fixed some time
  166.         ago, but recently it became obvious this was still in error.  This
  167.         is now fixed and should properly find physical memory locations
  168.         under these MMU setups as well as others.
  169.  
  170.     --     AIBB was inadvertantly making a 2.0+ only OS call within its
  171.         procedures to close a log file being written to.  This could lead to
  172.         a failure and crash on systems runing 1.3 or earlier versions of
  173.         AmigaOS.  This has been corrected as of this version.
  174.  
  175.  
  176. Changes to version 5.5
  177.  
  178.     --     The default A3000 internal comparison machine is one using
  179.         AmigaOS 2.x now instead of 3.0 as in the previous 5.0 release
  180.         of AIBB.  This is to reflect the fact that AmigaOS 3.0 is not
  181.         openly available for the A500/A2000/A3000 series machines
  182.         presently.
  183.  
  184.     --     AIBB no longer checks for, nor has problems with Enforcer
  185.         running on the system.   Therefore, the option to avoid testing
  186.         for it has been removed from the CLI/Icon Tooltypes checking.
  187.         Note that although AIBB coexists fine with Enforcer now, such
  188.         should not really be used when testing as the MMU table lookups
  189.         which Enforcer causes can affect peformance to some degree.
  190.  
  191.     --     A bug with AIBB's cache selection menu items has been corrected.
  192.         In version 5.0, AIBB would not disallow selection of the data
  193.         cache enable/disable menu item on a stock 68000 based machine.
  194.         Selection of this could cause a system failure on a 68000 system
  195.         (which has no caches), and has been fixed in this version.
  196.  
  197.     --     Several test result indicators have changed.  The Writepixel
  198.         test no longer gives data in terms of execution time, but rather
  199.         a rating of pixels output per second by the routine.  The MemTest
  200.         routine gives its results in megabytes of data transferred per
  201.         second.  This change was made to make the results more context
  202.         readable.
  203.  
  204.     --     The TGTest test has been updated.  The new version reflects
  205.         effects occuring in a windowed environment for more accurate
  206.         representation of the Amiga under such circumstances.  As such,
  207.         AIBB's load file format has -CHANGED- again.  Unfortunately, test
  208.         updates do require this action, though I am actively seeking
  209.         a remedy for these inconvieniences.
  210.  
  211.     --     A new test called "EmuTest" has been added in the area of
  212.         "special: tests for AIBB.  This test is basically a small
  213.         CPU emulator core running an instruction set simulation
  214.         (basically a small program).  The Amiga seems to have gained
  215.         a bit of a precedence in CPU emulation, and I put together this
  216.         test for the purpose of showing various systems' ability to
  217.         perform such emulation efficiently and speedily.  The simulated
  218.         CPU is a standard 68000, though the results from this can be
  219.         taken as indicative of other CPU emulators as the basic
  220.         principle is the same.  All instructions and internal operations
  221.         are completely software emulated.  The results for this test are
  222.         given in Simulated MegaHertz, basically a rating showing how
  223.         fast the emulation is towards an equivalent hardware-based
  224.         CPU.
  225.  
  226.     --     A change was made in how AIBB stores its test timing data.
  227.         Previously, this data was kept (both internally and in the
  228.         load files) in longword (32 bit) integer format.  However, due
  229.         to some internal changes, this data is now kept in IEEE double
  230.         precision floating-point format (64 bits).  This was done to
  231.         help avoid rounding errors and make internal calculations simpler.
  232.  
  233.     --     By request, standard keyboard shortcuts have been added to
  234.         selected portions of AIBB's menus.
  235.  
  236.     --     Fixed a problem with Parse_MMU_Table().  This function was
  237.         not correctly parsing long-format (double longword) sized
  238.         descriptor tables.  This has been corrected and these tables
  239.         and the addresses AIBB attempts to correlate when looking at
  240.         functioning MMU setups should be checked correctly.  The bug
  241.         did not show up under any currently used MMU setups on the
  242.         Amiga, but could possibly have shown up in the future.  This
  243.         correction assures AIBB will be able to locate physical memory
  244.         addresses from logical ones when reporting the location of
  245.         certain items given in its display.
  246.  
  247.     --     Added some checks in AIBB's System Information Display to
  248.         prevent unnecessary redrawing of parts of the display.  This
  249.         enhancement should speed things up a bit for slower machines.
  250.  
  251.     --     AIBB's 68030/68EC030 detection code has been revised again.
  252.         The new method used should provide a somewhat safer determination
  253.         method than the previous way.
  254.            The old method relied to write protecting a page in a
  255.         translation table setup, then writing to the page and checking for
  256.         a bus error situation.  Unfortunatly, as it turns out some strange
  257.         interactions can occur in the way this was set up if the
  258.         translation table was located in a 16-bit ported RAM resource.
  259.            The method used now is much safer.  Instead of write protecting
  260.         a page, nothing is done whatsoever except for a straight-through
  261.         early-termination one-level setup.  Once the MMU is activated,
  262.         a single read is done from a given page, and then the "U" bit
  263.         in the corresponding page descriptor is examined.  With an active,
  264.         functional MMU, this bit should be set upon the first access to
  265.         a given descriptor, and will be set in the test case above.  On
  266.         68EC030 based machines, which have no functional MMU, this bit will
  267.         be unaffected.
  268.            An added side-effect of these changes is that AIBB no longer
  269.         needs as large of a translation table as it did with the earlier
  270.         method.  A 16 byte table (first level only - upper 2 bits of the
  271.         logical address are used for indexing) is all that is required now,
  272.         as opposed to the 16K byte table used before.  As a result, AIBB
  273.         will almost always be able to allocate memory for a table and will
  274.         not be forced to abort the test due to memory constraints.
  275.  
  276.     --     Fixed a minor memory loss situation.  AIBB was losing about
  277.         40 bytes of memory per incarnation due to a port not being deleted
  278.         upon exit.  This has been corrected as of this revision.
  279.  
  280.     --     A bug with the internal function Scale_Graph() has been
  281.         corrected.  In previous versions, certain odd input circumstances
  282.         could create a worst-case scenario in this function resulting in a
  283.         scaling to infinity.  The result of this was usually a garbled
  284.         screen full of strange display artifacts, and assorted memory
  285.         trashing as AIBB overwrote its RastPort boundaries.  Additional
  286.         checks have been added to avoid this problem.
  287.  
  288.     --     A bug with AIBB's code type selection for comparison systems
  289.         has been fixed.  Earlier, if a module was using 68040 Math code
  290.         and was then replaced by loading a new module incapable of
  291.         using FPU math at all, 68040 Math code would remain selected.
  292.         Normally, AIBB should have stepped the selected type down to
  293.         Standard Math Code.  This bug could have caused problems ranging
  294.         from strange results to system failures under these circumstances.
  295.  
  296.     --     An addition was made to AIBB's System Information Display.
  297.         As well as showing memory nodes and expansion devices, AIBB will
  298.         also show information pertaining to various pertinent system
  299.         libraries (location, version/revision, etc...).  The only libraries
  300.         included in this are those which may have an effect on performance
  301.         issues where AIBB is concerned.  Note that for the memory addresses
  302.         given for each library, the actual node location and memory
  303.         node characteristics can be determined by looking at the various
  304.         system memory nodes and finding the proper one.
  305.  
  306.     --     AIBB now dynamically looks at the system display type in use
  307.         whereas before it only did this on a static at-startup basis.
  308.         This was done to more accurately reflect a systems current true
  309.         state.
  310.  
  311.     --     AIBB's preferences file format has been changed, and thus
  312.         requires the replacement of old preferences files.  This was done
  313.         to add an ID field to the file so that invalid preferences could
  314.         not accidentally be loaded.  This had occured in several incidents,
  315.         so this action was taken as a preventative measure.
  316.  
  317.     --     Some minor cosmetic changes were made to various areas of the
  318.         program, including requesters and general display characteristics.
  319.  
  320. Changes to version 5.0
  321.  
  322.     --     AIBB has been recompiled using SAS/C 6.0, resulting in both
  323.         space savings and a general speed up in code.
  324.  
  325.     --     Note that AIBB's load file format has changed.  Previous load
  326.         files will NOT work with this version.  As of this release, I
  327.         am attempting to freeze the load file format so that further
  328.         inconvieniences do not occur.
  329.  
  330.     --     A bug with AIBB's cache control menu items has been fixed.
  331.         In previous releases, AIBB would request the system CPU type if
  332.         it was not able to determine such by individual means.  This
  333.         occured for checks between the 68EC030 and 68030, and also for
  334.         determining the existance of the 68EC040 or 68LC040, if
  335.         warranted.  However, AIBB would also erroneously disable the
  336.         cache switching menu items if such a request for CPU identification
  337.         was made.  This problem should no longer occur.
  338.  
  339.     --     An expansion board indentification lookup table has been added
  340.         internally to AIBB, allowing various system expansion boards to
  341.         be identified by name.  This table is by no means complete, and
  342.         will be added to in the future (unlisted boards are given a
  343.         "No Information Available" entry when referenced).  This
  344.         information is found under AIBB's System Information Display when
  345.         viewing system expansion devices.
  346.  
  347.     --     A change has been made in the comparison systems AIBB uses.
  348.         The current default systems AIBB contains are now the A4000,
  349.         A3000, A2000 (with FAST RAM), and A500 (stock, no FAST RAM).
  350.         These systems represent a spread of Amiga models currently
  351.         available.
  352.  
  353.     --     Some of AIBB's CLI/Shell arguments have been changed to
  354.         reflect internal changes to the program.  Please note the new
  355.         assignments for CPU/FPU/MMU types (if used) in the main
  356.         documentation file.  This is important - using the incorrect
  357.         assignment if these options are necessary may result in
  358.         unexpected program behavior.
  359.  
  360. Changes to version 4.65
  361.  
  362.     --     AIBB will now request the user to identify whether a 68EC030
  363.         or standard 68030 exists on such systems, or between a 68LC040
  364.         and 68EC040 if conditions warrant.  Previous releases simply
  365.         made a processor assumption if situations did not allow for a
  366.         full internal test for the processor type.  As of this version,
  367.         the user will be prompted for the correct processor type if this
  368.         situation arises.  This was added for accuracy, and some
  369.         safety considerations.
  370.  
  371.     --     The memory port width testing code AIBB uses has been changed.
  372.         The new code used is more accurate, and better able to handle
  373.         a wide variety of memory response configurations.
  374.  
  375.     --     Proper identification of the new custom chips is not done
  376.         within AIBB.  Both the new Alice and Lisa devices will be detected
  377.         and shown on the System Information Display portion of AIBB.
  378.  
  379.     --     Under V39 (3.0) of AmigaOS and above, certain CHIP RAM
  380.         characteristics will be recorded and displayed in the System
  381.         Information Display in the memory node information area.  These
  382.         include CAS characteristics of CHIP memory, and other related
  383.         bandwidth information.
  384.  
  385.     --     Several "safety measure" improvements have been made internally
  386.         to AIBB to close several holes which could cause user problems.
  387.  
  388.     --     AIBB will now copy the paths of load file modules to the
  389.         load file preferences when they are first called up.  This allows
  390.         user selection of available modules from the standard requester
  391.         used when gathering such modules.
  392.  
  393. Changes to version 4.58-4.61
  394.  
  395.     --     Some display bugs were discovered and corrected in these
  396.         interim releases.  Also, some additional work was done on AIBB's
  397.         68030/68EC030 detection.  Version 4.61 corrected a problem with
  398.         4.60's erroneous display of the system's graphics and display
  399.         chips.
  400.  
  401. Changes to version 4.57
  402.  
  403.     --     A rather nasty bug cropped up in version 4.56 pertaining to
  404.         the way AIBB tested for an MMU on the system.  This led to AIBB
  405.         hanging on startup with certain system configurations.  The
  406.         bug is now corrected in this version.
  407.  
  408. Changes to version 4.56
  409.  
  410.     --     Minor changes made to AIBB's 68EC030 testing to improve
  411.         memory usage.  A number of small changes were also made elsewhere
  412.         to this effect as well.
  413.  
  414.     --     Specific time-dependent routines within the interface have been
  415.         downcoded to assembly for speed purposes.
  416.  
  417. Changes to version 4.55
  418.  
  419.     --     AIBB's system information display has been changed.  No longer
  420.         is a simple area used to display memory nodes existing on the
  421.         system.  In its place, a similar area exists, which can be used
  422.         to show either memory nodes, or expansion boards contained
  423.         in the system AutoConfig board lists.  Selection of one of these
  424.         displays is done dynamically by means of gadgets.  Please see
  425.         the main documentation for full information.
  426.  
  427.     --     A new menu item on the main screen, "Show Aggregate Results"
  428.         exists under the "Special" group.  This item will allow the
  429.         viewing of aggregate system results after an initial system load
  430.         module is performed on the host.  The main documentation includes
  431.         full details on this item's use.
  432.  
  433.     --     AIBB now uses the graphics.library DisplayInfo database under
  434.         V36 and above of the OS (2.0 or higher) rather than other means
  435.         to determine the system display characteristics.  This avoids
  436.         unecessary hardware peeking and enhances future compatibility.
  437.  
  438.     --     An annoyance bug with AIBB's startup has been corrected.  In
  439.         certain circumstances (especially on single-floppy systems) when
  440.         AIBB is in its initial startup phases, the program may seem to
  441.         suddenly stop on a blank screen.  This is because the system
  442.         was requesting a different volume (usually the main system disk)
  443.         to be inserted.  However, AIBB's screen was made home to such
  444.         requesters, but too soon - The screen colors were all still black,
  445.         thus rendering the system requester invisible.  Now, AIBB waits
  446.         until it is up and running before transfering the system requester
  447.         location to its own screen so that these requesters will be
  448.         visible should the appear (note that in terms of
  449.         "system requesters", this referrs to requesters related to AIBB's
  450.         process only).
  451.  
  452.     --     A bug with the detection of the 68EC030 CPU has been corrected.
  453.         The method used to detect the EC030 is a fairly straightforward one.
  454.         If the MMU ENABLED bit is set in the translation control register
  455.         ( TC ), AIBB assumes that a working MMU exists, and that the CPU
  456.         is a standard 68030.  If this bit is not set, a more thorough test
  457.         is performed.  This test involves setting up a simple translation
  458.         table, marking a page as 'write protected', and attempting a
  459.         write to that page.  If a bus error occurs, this will have been
  460.         caused by the MMU, and thus it must be functional - implying a
  461.         standard 68030.  If no bus error is forthcoming, the CPU is thus
  462.         marked as a 68EC030.
  463.           The bug was detected only as a fluke, but could show up in other
  464.         systems in an odd circumstance.  Earlier versions of AIBB write
  465.         protected the page in question, turned the MMU on, then installed
  466.         a bus error handler.  This order was incorrect...the circumstance
  467.         in question came up when the system exception vector table was
  468.         moved by use of the Vector Base Register ( VBR ).  If that table
  469.         happened to reside in the page AIBB write protected, the
  470.         installation of the bus error handler pointer in that table would
  471.         cause a bus error itself -- this would hang the system as the
  472.         proper error handler would not be installed (the write to do so
  473.         would be suspended).  This has been corrected.  Thus far, it has
  474.         not shown up on other systems, but this will make it more
  475.         bullet-proof in that respect.
  476.  
  477.     --     A rather obscurely discovered Enforcer hit with AIBB has been
  478.         corrected.  Under strange circumstances, AIBB could cause a READ
  479.         Enforcer hit during its file-requester procedures.  This was
  480.         benign, but nevertheless has been corrected.
  481.  
  482. Changes to version 4.5
  483.  
  484.     --     PLEASE NOTE THAT AIBB'S LOAD FILE FORMAT HAS CHANGED AS OF THIS
  485.        VERSION!  Previous load file formats will no longer be loaded.  I
  486.        have frozen the load file format as of this version, so no future
  487.        changes will cause this incompatibility, or some form of conversion
  488.        ability will be given.
  489.  
  490.     --     New routines have been added for 68040 floating point math
  491.        support.  The 68040 does not have transcendental function support
  492.        within its built-in FPU, and thus must rely on software emulation
  493.        for such routines.  Unfortunately, the method of such emulation
  494.        requires that the FPU jump to a trap routine after encountering such
  495.        a transcendenal function instruction, such as FSIN.<fmt>.  The
  496.        68040 FPU reacts to such instructions by causing an unimplemented
  497.        instruction exception, and fetching the appropriate exception
  498.        routine vector from the system exception vector table.  Once jumping
  499.        to the appropriate routine, it is said routine's responsibility
  500.        to determine the instruction which caused the exception, and
  501.        react accordingly.  In the case of the FPU instructions not
  502.        implemented, the routine must emulate these instructions and set up
  503.        the return result before returning the CPU/FPU to normal processing.
  504.            The unfortunate part to all this is that although the supported
  505.        instructions in the 68040 FPU are highly optmized, and much faster
  506.        than earlier coprocessor equivalents, the overhead involved with
  507.        the trap routine method of emulation is so much so that it negates
  508.        the gain made by the optimizations.  This is where in-line code
  509.        support comes to an advantage with the 68040 FPU, and AIBB attempts
  510.        to do this by making function calls to optimized equivalent math
  511.        routines, rather than allow the trap handling technique to handle
  512.        unimplemented FPU instructions.  Hopefully this will show somewhat
  513.        of a performance improvement on transcendenal-intensive routines
  514.        such as the Savage benchmark.
  515.  
  516.     --     AIBB now accepts certain command-line/icon tooltype options.
  517.        Please refer to the documentation for a description of these
  518.        options.
  519.  
  520.     --     A new comparison is now made upon completion of a load module
  521.        or all-tests run.  AIBB will open a small requester-like window
  522.        after all tests are completed giving a rundown average comparison
  523.        in both integer/graphic and floating-point categories.  The index
  524.        values given represent overall average figures taking into account
  525.        all tests in a given category.
  526.  
  527.     --     The WritePixel test has been updated.  It is now longer and
  528.        performs more graphics operations.
  529.  
  530.     -- A new test has been incorporated - InstTest.  This test is an
  531.        instruction execution timing setup, and will give results in
  532.        Instructions/Second.  It is a special test, and is not affected by
  533.        the individual system code type settings.  Please read the
  534.        appropriate section in the documentation for more information.
  535.  
  536.     --     AIBB's primary screen has been reduced from a 4-bitplane
  537.        ( 16 color ) setup to a 3-bitplane ( 8 color ) one.  This should
  538.        speed up refresh time and responsiveness of the program to some
  539.        extent.
  540.  
  541.     --     A number of internal routine optimizations have been made to
  542.        increase overall program efficiency.
  543.  
  544. Changes to version 4.3
  545.  
  546.      -- AIBB can now be made to incorporate load files upon startup
  547.         as the default comparison systems.  A new entry under the
  548.         General menu, "Load Module Prefs" allows load modules to be
  549.         selected by path/filename for loading into AIBB upon startup.
  550.         This allows alternate comparison systems to be more easily
  551.         used as manual loading of them is no longer necessary if they
  552.         are frequently used instead of the defaults.
  553.  
  554.      -- Corrected a minor problem with AIBB's data display.  Under
  555.         Review Mode, AIBB would not change the system base immediately
  556.         when a new base was selected and there was no test data for
  557.         the host system in reference to any particular test.  This
  558.         has been changed so that AIBB handles this condition correctly.
  559.  
  560.      -- Improvement of AIBB's memory bus port width determining code has
  561.         been added.  Some 68040 boards with 32-bit memory were being
  562.         incorrectly noted as having 16-bit ports.  In addition, a few
  563.         68030 accelerators without memory were having 16-bit resources
  564.         on the system erroneously reported as 32-bit ported devices.
  565.         This has hopefully been corrected in this release.
  566.  
  567. Changes to version 4.2
  568.  
  569.      -- The ability to display data in Review Mode, without having to
  570.         perform a given test on the host system itself has been added.
  571.         This allows the viewing of comparison system data without having
  572.         to perform a given test on the host itself.  The host system
  573.         will display "N/A" in appropriate locations if no data is
  574.         available for a given test.
  575.  
  576.      -- 68040 systems would display Write Allocation and BURST mode
  577.         operations for cache status incorrectly.  Write Allocation is
  578.         not a seperate entity as with the 68030 for the data cache,
  579.         and thus this mode is not displayed for the 68040 now.  BURST
  580.         mode operations for both instruction and data caches are hardware
  581.         controlled on the 68040, and always implied.  The caches do not
  582.         have a software-controllable setting for this mode as with the
  583.         68030, therefore this mode is always indicated as ON with a
  584.         68040 system now.
  585.  
  586.      -- Corrected a bug with AIBB's MMU table parsing code.  AIBB would not
  587.         have correctly handled 8-byte descriptor entries in 68851 or 68030
  588.         MMU tables as it was.  This has been fixed so that AIBB will
  589.         properly parse these entries as well.
  590.  
  591.      -- Bug pertaining to error output strings for the initialization abort
  592.         routine was fixed.  A string was improperly terminated resulting in
  593.         an output error and possible crash for certain startup abort
  594.         conditions.
  595.  
  596.      -- Utility ModInfo was not displaying proper MMU status information for
  597.         68040 system modules.  This has been corrected.  ModInfo now stands
  598.         at version 1.2.
  599.  
  600.      -- Documentation improvements and update information added.
  601.  
  602.      -- General code clean up performed and further optimization of
  603.         various routines.
  604.  
  605. Changes to version 4.1
  606.  
  607.      -- Fixed a bug with certain 68040 system configurations which caused
  608.         AIBB to hang on startup.
  609.  
  610. Changes to version 4.01:
  611.  
  612.      -- Fixed a bug pertaining to early versions of the kd_freq.library.
  613.         Apparently early versions of this library would crash AIBB during
  614.         startup due to a problem with the library itself.  Later library
  615.         versions work fine.  AIBB will therefore not open kd_freq.library
  616.         unless the version number is 3 or greater.
  617.  
  618.      -- A bug with the the included AIBB utility ModInfo was discovered.
  619.         Incorrect information was given pertaining to load modules under
  620.         certain circumstances.  This has been corrected.
  621.  
  622. Primary new features to version 4.0 include:
  623.  
  624.      -- Improved CPU/FPU clock speed evaluation code.  Earlier versions
  625.         had a great many problems in this area, primarily due to a
  626.         misplaced NOP instruction wreaking havoc with the timings.
  627.  
  628.      -- Enhanced/additional tests.  Some tests in earlier versions were
  629.         proven to be non-useful in any real form and were removed.
  630.         The remaining tests were enhanced and refined, and new tests
  631.         were added to further complete the package.
  632.  
  633.      -- Improved system information.  More pertinent information is
  634.         given towards evaluation of AIBB's benchmark performance.
  635.  
  636.      -- Module save/load capability.  AIBB now incorporates the ability
  637.         to create "load modules" consisting of saved test/machine
  638.         evaluations.  These modules may be loaded into AIBB at convienience
  639.         and used within comparisons.  This is an effort to allow
  640.         comparisons across many machine types, rather than restricting
  641.         them to in-built figures.  A set of internal defaults is included.
  642.  
  643.      -- AIBB has been made more "aware" of the system it is operating
  644.         on and will attempt to keep users informed of situations which
  645.         may prove detrimental to performance analysis.
  646.  
  647. Further description of these and other features is found in the main
  648. documentation.
  649.  
  650.