Diamonds 2.0 for the HP49

By: Douglas R. Cannon
On: August 7, 1993
Slightly modified on October 30, 1995
Ported to 49 on September 10, 1999

email: dougc@erudite.com
hp48 page: http://www.erudite.com/~dougc/hp48.htm

Home address as of Sept 1996:
350 N 850 E.
American Fork, UT 84003
(801) 763-8798

-------------------------------------------------

Files:
------
DIAMONDS       Transfer this file to your HP48.
DIAMONDS.TXT   This file
DIAMONDS.S     Diamonds source code (SASM compatible)
MAKE.BAT       A batch file to compile the source

Installation:
-------------

This version of Diamonds is not a library (thank goodness).
It was made in a single executable object.  You can execute
the object directly, or you can store it in a write-protected
port and execute it from there.  Best of both worlds, if you
ask me.

A high score data object is stored in the current directory
whenever the game is exited.  Delete this object to clear the
high scores.

Checksum:
# BF50h
13783 bytes

Keys: 
-----

[F1] move left
[F6] move right
[LeftArrow] Replay level (by losing one life)
[+/-] Sound On/Off
[ENTER] Pause
[<-] Quit the current game
[ON] Exit


Game Play:
----------

The object of each screen is to get the diamond bricks.
Once you have removed each diamond brick, you advance to
the next level.

Before you can erase any diamond bricks, you must erase
all regular bricks first.  A regular brick can only be
erased when you are in the correct mode.  By hitting special
paintbrush bricks you can change your brick mode.


Special bricks:
---------------

White bricks:  You are only in the white brick mode at
the start of each level.  If you don't erase all of the
white bricks before changing modes, then you cannot solve
the level.  You can never return to the white brick mode
unless you press [DEL], which costs one life.

Regular bricks:  There are 4 different patterns of regular
bricks.  You cannot clear a regular brick unless you are
in the correct mode.

Paintbrush bricks:  These bricks look similar to the
regular bricks, only the right side is darkened.  Hit one
of these to change your brick mode.

Key and lock bricks:  Hit a key brick to get a key.  You
cannot clear a lock brick unless you are carrying a key.
Hitting key and lock bricks do not modify your brick mode.
You do not need to clear all key and lock bricks in order
to solve the level.

Arrow bricks:  Hitting an arrow brick reverses the movement
key directions.  The move-left keys now move the ball right,
and the move-right keys move the ball left.  Hit a second
arrow brick to change the keys back to normal.

Cross bricks:  Don't hit these, they kill you.

Diamonds bricks:  You can't clear these until all white
and regular bricks have been cleared.  Clear all diamonds
to solve the level.  If there are any bonus ticks left
when you solve the level, you are awarded 25 points per
tick.


Scoring:
--------

White and regular bricks: 3 pts.
Key bricks: 25 pts.
Lock bricks: 50 pts.
Diamond bricks: 50 pts.
Bonus: 25 pts. / tick

An extra life is awarded every 5,000 points.


Levels:
-------

Diamonds 2.0 has 50 levels.  I promise all of them can be
solved.  I have personally solved each one, but I have never
solved all 50 together in one game.  If you do, then you are
better than me, and if you tell me about it, I might just write
your name down somewhere.


Myths and Rumors:
-----------------

See the source code for explanations of myths and rumors.


-------------------------------------------------
Special thanks to Paul Hart for converting the source code into
SASM format.  The source was originally written for my own assembler,
SATASM.EXE, and has now been converted to be SASM compatible.  Paul spent
many hours working on it, and he did a great job!  Thanks Paul!

Special thanks also to Jim Donnelly for being such a cool guy.  I owe
him thanks as well for his latest book (_An Introduction to HP 48 System
RPL and Assembly Language Programming_), his earlier books, and miscellaneous
help and encouragement over the last couple years.  You can learn a few
things from reading the Diamonds source code, but if you really want 
to learn something, then get Jim's book!

-------------------------------------------------

Diamonds 2.0 is freeware.  You have the game, you have the source code.
You can play it, you can modify it, you can give it away, you can sell it.
Just be sure that you have fun with it.


Enjoy,

Doug Cannon

