GEM Bench V3.25
 Ofir Gal 1993

=============================================================================
This program may not be included on magazine cover disks without permission.
=============================================================================

-----------------------------------------------------------------------------
New Features and bug fixes in V3.25
-----------------------------------------------------------------------------

*  Added Gemulator support:
   
   Selecting the Gemulator from the hardware reference box reveals another 
   popup menu where you can select from 5 PC/Gemulator configurations. The 
   program also detects which version of the Gemulator it is running under.
   
*  Further code optimisation which resulted in a slightly smaller executable 
   and better performance.
   
*  Improved compatibility with Let 'em Fly.

*  CPU tests are twice as long so hopefully more accurate.

*  If GEMBench is run under single TOS it will open its main window 
   automatically. Under MultiTOS it will only display the menu bar as 
   before.


-----------------------------------------------------------------------------
New Features and bug fixes in V3.22
-----------------------------------------------------------------------------

*  Added support for the window iconising features of MultiTOS v1.08

*  Tests that take 100 seconds (Gemulator on slow PCs) or more no longer 
   produce funny results.


-----------------------------------------------------------------------------
New Features and bug fixes in V3.21
-----------------------------------------------------------------------------

*  An obscure bug that only appeared under MultiTOS caused the main window 
   to stop responding to mouse clicks when in the background. This should 
   now work correctly.

*  GEM Bench supports the new send-to-bottom window command under of v4.10 
   of the AES (MultiTOS 1.08 or later). Simply click on a window's move bar 
   to bottom it.
   
-----------------------------------------------------------------------------
New Features and bug fixes in V3.20
-----------------------------------------------------------------------------

*  Further optimisation of code and resources for memory use and speed.

*  The scroll button in the hardware reference box now works in ST medium 
   resolution.
   
*  You can now compare your system to a Gemulator running on 486/66MHz PC. 
   Just select the Gemulator item from the popup menu.

*  The cursor can be moved freely using the mouse in the Save and Print 
   dialogues.


-----------------------------------------------------------------------------
New Features and bug fixes in V3.12
-----------------------------------------------------------------------------

*  An additional button in the hardware reference box lets you scroll 
   through the various models without displaying the popup menu.
   

-----------------------------------------------------------------------------
New Features and bug fixes in V3.11
-----------------------------------------------------------------------------

*  The routine which updates the stats when selecting a button in the 
   reference box has been optimised for speed. Other redraw routines have 
   also been optimised.


-----------------------------------------------------------------------------
New Features and bug fixes in V3.10
-----------------------------------------------------------------------------

*  Double-clicking on some objects caused a crash, this is now fixed.

*  Under Falcon AES, having too many windows open while testing could cause 
   the system to hang. This is also fixed.
   
*  GEMBench 3.0x did not work under TOS 1.02, it now does.

*  There is no need to top a window just to click on a button. In GEMBench 
   all open windows are active, not only the top one. To click a button on a 
   background window simply use the RIGHT mouse button. This also works 
   under MultiTOS.
   As a general rule, use the right mouse button instead of the left. It is 
   ALWAYS active, unless an accessory is open.
   
*  Moving windows around could cause the cursor to disappear in v3.0x. This 
   no longer happens.
   
*  The RAM access test works better on 030 based machines, giving more 
   realistic (and faster) results.

*  The popup menu and some redraws are now faster.

*  The program now reports whether it's running in FastRAM or ST RAM.

*  Better support of 3D object under AES 3.40 and 4.00 (TOS >=4.02 and 
   MultiTOS)

*  More accurate results on TTs with FastRAM.

*  An additional program for setting the prgflags of GEMBENCH.PRG and 
   AUTOFPU.RUN is included. Note that the program expects to find GEM Bench 
   in the same directory.
   
*  Additional menu entries for saving and printing test results.

*  GEM Bench now uses less memory when idle which can be useful under 
   MultiTOS. It uses about 150k when idle and the amount it needs when 
   performing tests varies according to number of screen colours, but is at 
   least an additional 70k. Previously it used at least 230k whether it was 
   active or idle.

*  The Hardware Reference box shows the current system configuration 
   correctly. This used to work in v2.5 but went wrong in v3.0. It now works 
   again.
   

-----------------------------------------------------------------------------
New Features in V3.0
-----------------------------------------------------------------------------

*  Improved interface
   
   GEM Bench now uses dialog windows instead of modal dialog boxes. You may 
   open several windows, move them around, close and top them. At any time 
   you have access to the menu bar. If you open several windows at once, 
   changing something in one is automatically reflected in the other. 
   Changing the Blitter state in the main window for example is also 
   reflected in the Save or System Info windows if these are open, even if 
   they are partially hidden.
   If you have several windows open, you can top any window by clicking on 
   it or by selecting its menu entry or the button that invoked it in the 
   first place.
   
   The menu bar can be used to perform a collection of tests. Three entries 
   are available, Display runs all graphic tests, CPU performs the math and 
   memory access tests and All Tests simply runs all tests. These items also 
   have keyboard shortcuts which are available at ANY time.
   
   The Hardware Reference box has an improved layout, making it easier to 
   work out which system you are comparing your setup to.


*  FPU support

   The float math tests now use an FPU if one is installed. The file 
   AUTOFPU.RUN must be in the same folder as GEMBENCH.PRG, or on the root 
   directory of your boot drive for this to work. If GEMBench fails to find 
   the file, it will also try the PATH environment variable.
   
   There is a special text file called FPU_CPU.TXT that discusses some of 
   the difficulties in benchmarking the FPU.


*  New test routines

   Many of the routines have been improved. Notably, the CPU tests are now 
   in assembler as opposed to BASIC (Thanks to Eric Northwood). The FPU test 
   is written in Lattice C. The graphics tests have also been improved.


*  System Information
   
   The Info button opens a dialog displaying machine type, TOS version, AES 
   and GEMDOS versions, NVDI, FPU and other information about the system.

   When using the Save or Print facilities, GEM Bench now adds info about 
   TOS version, MultiTOS (MiNT) version, Blitter, NVDI, screen resolution 
   and FPU.
   

*  MultiTOS

   GEM Bench is now MultiTOS compatible, utilising dialogs in windows which 
   can be moved around the screen, topped and closed. The menu bar and 
   therefore desk accessories and other applications are always available 
   (except when test is in progress).

   The best way to run GEM Bench under MultiTOS is to quit the Desktop 
   (click on the Desktop menu entry while holding <Control>). Then using 
   Load... to run GEM Bench. This reduces the overhead of having to redraw 
   the desktop between tests. If you run GEM Bench from the desktop, the GEM 
   Window test will be very slow.
   
   Process priority may be set by pressing the Priority button. This will 
   bring up a dialog box where you can enter the required priority level. 
   Positive values increase priority and negative numbers decrease it. The 
   value range is -20 to +20. This sets ABSOLUTE priority level as opposed 
   to delta (relative) values.


*  Bug fixes and general improvements

   The ST Review version (2.5) had a bug which caused the system to hang 
   when trying to move the cursor in the Save and Print dialogues. This is 
   now fixed.
   
   When saving test results more than once, the chosen path is preserved, 
   making the process a little easier.
   
   The justified text test has a cleaner appearance when not using NVDI.
   
*  The program SLOWFAST.TOS is provided for TT users. Use it to change the 
   program flags. There are two options, FastRAM or ST RAM. If you want to 
   run GEM Bench in FastRAM simply type Y at the prompt. Any other key will 
   set it to run in ST RAM.

=============================================================================



Introduction
------------

This program is Shareware, if you like it and use it you are required to pay 
for it. Please send 5 to the address below. If you enclose a blank disk and 
an SAE I will send you a registered up to date version of GEM Bench and a 
selection of my other programs. I will accept foreign currency from North 
America and Germany which I can use to register shareware overseas. US and 
Canada - $10. Germany 15DM.


About the program:

I wrote the program because I was never sure what other benchmark programs 
were exactly testing. Most benchmarks for the ST come with screen 
accelerators like NVDI and Quick ST, while the results are not tweaked I 
felt that an independent benchmark was needed. The NVDI benchmark GEM_TEST 
tests the VDI text routines by displaying various font sizes and effects as 
well as a 20 point font. This is something NVDI is very good at (large 
fonts) but not necessarily used much. Warp9 and Turbo ST are not that good 
at large fonts and do not give a high score at the text test. Quick Index is 
another benchmark that almost totally ignores GEM, most tests are BIOS and 
GEMDOS related. It tends to produce very good results with Quick ST and 
Turbo ST which do not represent reality in my opinion.

I am sure GEM Bench is not perfect either, but I wrote it without any 
particular bias, I truly wanted to see how effective the blitter chip was 
and which screen accelerator was the fastest. I also wanted to see how much 
faster the Falcon really is and how it compares with a TT. The subject was 
discussed on CIX and I took the advice of users and programmers while 
writing the program so hopefully we now have a definitive test for the Atari 
range of computers. I am open to suggestions so please write to me if you 
have any. I would also like to hear of any problems you may have running 
GEMBench.

Ofir Gal
3 Downs Road
Beckenham
Kent
BR3 2JY
United Kingdom

I can also be contacted via email - ogal@cix.compulink.co.uk

=============================================================================


User Manual
-----------

GEM Bench runs in any reolution with at least 640*200 pixels. This includes 
ST high, ST medium, TT high, TT medium, TT low. All Falcon modes are also 
supported except ST low and True Colour.

When first run, the program simply puts up a small menu bar. To start the 
test select Open from the File menu (or press Control+O).


The Main Window
---------------

The main dialogue box shows the test results on the left, these will 
initially be all zero, and the various options on the right. To start the 
tests click on the Test button and leave the mouse. When the tests are 
completed the results will be displayed in the format:

Test      time took in seconds     ratio

If you run the test on a basic machine you should get 100%, this means your 
ST is running in its normal, terribly slow state. In addition you can run a 
single test by clicking on its name or the keyboard shortcut.

On the bottom right you will see the hardware reference box with three 
buttons. The first should show your computer model (ST, STE, MegaSTE, TT or 
Falcon). Clicking on this button pops up a menu where you can select which 
machine you want to compare your system to.
The second button is normally the Blitter button but on a TT it changes to 
FastRAM. This does NOT change the blitter state, it lets you compare your 
system with an ST with or without a blitter.
The third button lets you compare your setup to a system with a Floating 
Point Unit (FPU) if enabled. All TTs have an FPU so if you select a TT this 
button will be selected for you as all TTs have an FPU installed.
To compare your system to a MegaSTE with a Blitter and FPU for example, 
first select the MSTE from the popup menu, then select the Blitter and FPU 
buttons.

* Note that the old Mega ST is considered an ST.

* All comparisons are to a machine running in 2 colour mode (monochrome).

* All refernces are to the very latest TOS version for each model.
  ST - v1.04, STE - v1.62, MegaSTE - v2.06, TT - v3.06, Falcon - v4.04.


Save and Print

The other buttons can be used to print or save the test results to disk. A 
small box will appear where you can type in details of the test. The program 
will automatically enter the machine type, blitter state and TOS version as 
well as screen resolution and other system info.


Info

The Info button displays a dialog with system information and also tells you 
which machine configuration you are comparing your system to.


Blitter

You can use this button to switch the blitter on and off, you will be 
surprised to see the difference it makes, especially on 8MHz STs and STEs. 
If your ST has no blitter this button will be disabled. On the Falcon it is 
not possible to switch the blitter off so the button will always be 
selected. If you have NVDI on the Falcon you can use this button to toggle 
the blitter state, otherwise it has no effect.


Priority

The Priority button only has effect when running under MultiTOS and lets you 
adjust the priority level MultiTOS allocates to GEM Bench.


Statistics

The statistics box is for a quick evaluation, the Display entry is simply an 
average of all graphics tests. The CPU entry is a simple average of the 
other tests.
The bottom result is an UNWEIGHTED average of all tests. It is important to 
note that these results do not necessarily reflect reality. It is much 
better to look at the specific tests and see which ones matter to you. For 
example you may get an excellent result with the VDI graphics test which 
will affect the statistics. If all you use your computer for is plain text 
this result is not relevant to you. Instead, you should look at tests like 
VDI text and scrolling.



The Menu Bar
------------


Desk

    About - This displays some info about GEM Bench.


File

    Open (Control+O) - Opens the main window.
    
    Save (Control+S) - Save test results.
    
    Print (Control+P) - Print test results.

    Quit (Control+Q) - Quit GEM Bench.


Test

You can use these menu items to quickly test several functions in one go. 
These items are active whether the main window is open or not.

    
    Display (Control+D) - Run all display oriented tests. This includes all 
    text, graphics, dialog and window tests.


    CPU (Control+C) - Run all CPU related tests - Integer division, Floating 
    point math and memory access.


    All Tests (Control+A) - Run all tests.


User Interface
--------------

GEMBench is the first program to include the xform_do toolbox routines 
included with the new version of HiSoft BASIC.

Each test name is also a button. Clicking on it runs that test. You will 
also notice that each button has one underlined character - this is the 
keyboard shortcut for that button. Press Alt+S to save or Alt+D to run the 
dialogue box test.

In addition, the cursor in the Save and Print dialogues (activated by 
pressing the corresponding button) has several enhancements:

1.     Pressing Shift+cursor key moves the cursor to the beginning or end of 
       a text field.
   
2.     Tab and backtab are supported. Backtab is achieved by pressing 
       Shift+Tab this moves the cursor in the opposite direction to Tab.

3.     Pressing the Undo key has the same effect as clicking the Cancel 
       button in any dialgue. In the main dialogue, this is the same as 
       pressing the Exit button.
   
Note that both left and right mouse buttons are active in GEM Bench.
   


Technical Info
--------------

This is a list of all the tests and how they are perfomed as well as
information for the non-programmer.

Dialogue Box - A complex dialogue box is drawn to screen. All form_dial
calls are used except FMD_FINISH which is only used to clear the 'mess' at 
the end.

VDI Text - This is the standard v_gtext call which is used by most programs 
to display text on screen.

Text Effects - This test displays text using v_gtext while changing text 
attributes using vst_effects and text colour with vst_color.

Small Text - This test displays the small system font. The size is changed 
using vst_point, the text is displayed using v_gtext.

VDI Graphics - The test draws a rectangle and circle in replace mode, 
changing their position, fill pattern and colour before each draw. This is 
followed by v_pline in xor mode. The VDI primitives used are v_bar and 
v_ellipse and attributes changed are vsf_color and vsf_interior.

GEM Window - This test creates a window then displays it. Uses the AES calls 
wind_create and wind_open and opens a window 640*400 or 640*200 pixels 
according to resolution. The window is then closed. This allows to compare 
an ST to a TT without having the TT open a larger window if a large monitor 
is used.

Integer Division - Simply divides integers. Something every program does at 
some point.

Float Math - Multiplies, divides and adds single and double precision 
numbers. Also calculates trigonometric functions and logarithms. Uses an FPU 
if one is installed.

RAM and ROM access - Simply reads from RAM and ROM. Useful to show
the benefits of FastRAM. ROM location is obtained via the BIOS so if you 
have TOS installed in RAM, the ROM test will be reading from RAM possibly 
affecting the speed.

Blitting - The test draws a black box on screen then moves it along by 
saving the screen area to memory then writing it back with a slight offset.

VDI Scroll - Uses the standard vro_cpyfm to scroll text in a window. This 
function is used by most text editors and word processors.

Justified Text - Uses v_justified while constantly changing justification 
parameters.

VDI Enquire - This runs through various system enquiries, again most GEM 
programs use these calls.

============================================================================

Thanks to Graeme Rutt, Roger Davies, Eric Northwood, Joe Connor, John Eason, 
Iain Laskey, Andrew J Lee, Don Maple, Alistair Bodin, Mark Webster, Andre 
Willey, Gunter Minnerup, Charles Smeton, HiSoft, John Cordes, Kevin Fason, 
Daron Brewood, Darek Mihocka, Karl Brandt, Chris Goodwin, Gordon Drayson, 
Gair Shields and everyone else on CIX for their help.

Sorry if I forgot somebody, this list is long...


Ofir
