Toss Up Simulator v1.0 for Win32
By Brian Apps, July 2002
email: tossup@brianapps.net


Introduction

Toss Up came out in 1980 and was the first in the very successful Game & Watch
series made by Nintendo.  Toss Up was in fact distributed by another company,
Nintendo used the name 'Ball' when released they released the game themselves.
As far as I'm aware Toss Up and Ball are identical.

I have fond memories of this game.  I remember playing it at school around
1981.  The game also has some extra significance for me, during the early 90's
I developed a passion for real juggling and in '96 combined by passions for
juggling and programming to produce my first piece of shareware Juggle Saver 
(http://www.jugglesaver.co.uk).


System Requirements

The program runs on almost all 32 bit versions of Windows, at this stage this
includes: Win95, Win98, WinME, NT 4, Windows 2000 and XP.  It will not run on
NT 3.5x, if anyone's still using this OS and really wants to use the program
then give me a shout and I could probably make some changes to get it to work.

The only requirement is that you are running the screen display in a mode that
supports 256 or more colours.  The program will run in 16 colour mode but it
will be barely useable.


Running The Program

There's no special install, simply extract and run the TossUp.exe file
included in the .zip file you downloaded. The program is self contained and
requires no other support files.


Instructions

The principle of the game is mind numbingly simple.  All you have to do is to
catch the falling balls before they smash on the floor.  You do this by moving
the juggler's hands to the left or right.  The game starts of nice and slow
but soon speeds up.

There are two variants of the game, Game A and Game B.  Game A (started by
pressing the one screen button) has two balls in the air at any one time, you
score one point for each catch. Game B is slightly trickier, you have three
balls to keep in the air, and score ten points for each catch.


You access the configuration options or quit the game by right clicking and
using the context menu.

Configuration options include:

  Skinned mode/Screen only.  The skinned mode shows a scan of the complete
  handheld.  Skinned mode looks nice but the actual game screen occupies a
  small part of the available area.  Selecting the option 'Show Game Screen
  Only', enlarges the screen so it occupies the whole window area.
    
  Disabling/enabling sound.  Should be obvious what this does.
  
  Changing the keyboard settings.  By default the keyboard is set up as
  follows:
  
    Q     - Move Left
    P     - Move Right
    F5    - Start Game A
    F6    - Start Game B
    F7    - Time/Demo Mode
    Space - Pause Game
  
  In the options dialog you can set the keys up to combinations that suit you.
  

Other Info

The game itself was relatively easy to write, it was written in C++ straight
to the Win32 API.  I'll plan to release the source code for those that are
interested.  The most difficult part was obtaining accurate timing
information, I went to, what I expect most will think are, pretty extreme
measures to get this information.  I describe this process in some detail on
my web site for your information and/or amusement.

I remember from the version I used to play back in 1981 that extra balls would
appear in Game B for a short time once you reached a certain score. The game I
own now doesn't do this, well not that I've seen at least.  I've watched the
game being played to a score close to 40000 points (that's wrapping the score
around almost 4 times) before I got bored.  If anyone can provide any
information about these 'extra balls' I'll be happy to hear from you.  It may
be that my memory is going (I'm getting old afterall) or that there's
different versions of the game (aside from the Toss Up/Ball rebadging).

This program is freeware.  You are welcome to use and distribute the
program.  If you feature the program on your web site, drop me an email and
I'll add you to a mailing list so you'll automatically be kept up to date 
of updates.
