
 :YL                    7                    L       jY     f, 
 QQQ                    Q                    Q      ,QQ    QQQ 
 QJQS rQ  700  F i  F9  QQf  YR  Lpb  .Ri  SQQ  r   QQQQ   QYQ 
 Q RQ QQQ QQQ  Q QjRQQ. QQQ  QQR QQQ  QQQ  QQQ 9Q ,7Q ,Q  rQ Q7
 Q7Q. QrQ QQQX.Q QSQQQ7 QPQ. QiQ QQQp QrQ rQEQ QQ .0J  Q  JQ Qj
 QQQ cQ Q,Q  Q:Q QjQDr7.Q QQJQ Q,Q .Q.Q QrQY Q XQ :i  :Q  7Q,Qr
 Q9Q XQ:QrQ  Q:Q QLQc,r7Q UQFQ:Q:Q  QiQ:QXQ: Q  Q 7  2QQ  :QcQi
 Q 1QLQQQ,Q  Q:Q QcQ1.7iQ 2QJQQQ,Q  Q:QQQ:Q: Q  QrF  QQ   :Q.Qc
 Q iQ2Qr: Q  QiQ QLQ1:riQ jQFQri Q  rrQ7: Q: Q  QfX QQi  irQ QF
 Q XQLQ   Q  Q.Q QJQ9:LiQ RQUQ   Q,  :Q   QJ Q  QE7 Qr  :Q:Q Q7
 QEQ: Qc  Q  Q QtQUQQLf7QpQ. QL  Q.   QY. SQRQ  QQ  QQriJQ QLQ 
 QQQ  QQ9 Q  Q QQQ:QF:r.QQQ  QQ2 Q    QQQ  QQQ   Q  QQQQ:Q QQQ 
 :c7  .1  r  r  ji      :Jr  .t  7     2:  Lci   U  .7J: :  t, 

                  by Pelle "Cerzus69" Kersaan


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

Version History
---------------

v1.5b	02/18/2011:
	- 4-level grayscale graphics
	- Main menu with high score lists
	- Scores up to 9,999,999 (24-bit integers)
	- 6 different game modes
	- One custom game mode
	- Selecting/deselecting/swapping
	- Detection of all possible moves to be made
	- Hints (after 15 seconds of doing nothing or when
	  pressing [ALPHA]
	- Cascades
	- Scoring
	- Time
	- Level progressing

v1.5.1b	02/21/2011:
	- Doubled the amount of time given in the timed modes
	- Added in-game contrast changing ([+]/[-])
	- Added teacher key ([DEL]) to quit the game immediately
	- No junk left on the screen after quiting the game

v1.5.5b	02/25/2011:
	- Added waving text messages on screen; "Level X",
	  "Go!", "Excellent", "No moves!" and "Time up!"
	- Performed some optimization and deleted unnecessary
	  data

v1.6b	02/26/2011
	- Fixed a bug in the score when exceeding 65,535
	- Added floating scores! Easier than I thought
	- Changed time to stop when waving text messages are on
	  screen

v1.6.2b	03/01/2011
	- Fixed the '4' sprite for the waving text messages
	- Performed optimization
	- Fixed another small bug
	- Added pause/turn calc off with [ON] function
	- Numbers now always 'drop' to the right when starting
	  a new level in SHIFT mode

v1.6.3b	03/03/2011
	- Fixed a new bug in the cascade multiplier (1 too high)
	- Changed the design of the HUD
	- Locked TWILIGHT and HYPER mode

v1.7b	03/06/2011
	- Changed the high score lists (not definitely)
	- Added game saving and loading!!! (so far will always
	  load if there's a game saved, but this will be
	  optional)
	- Now even the .5 sec moment in HYPER mode is extended
	  (time is stopped) by waving text messages
	- Made the automatic hint reset its 15 sec wait after
	  pressing [ALPHA]
	- Made it a DoorsCS7 program!
	- Changed the name of the program from "NUMBERED" to
	  "BNMBRD2B"

v1.7.5b	03/08/2011
	- Added a reset for the the 15 sec. delay for a free
	  hint when starting or loading a game
	- Performed some optimization
	- Added debouncing for [CLEAR]
	- Added return to menu confirmation popup window
	- Added load saved game confirmation popup window

v1.7.6b	03/09/2011
	- Improved the graphics for the floating scores and the
	  waving text messages
	- Added quit confirmation when pressing [CLEAR] during
	  game over animation
	- Each level you start gives you at least 10 moves now
	- Slowed down the rate with which the time goes down
	  faster the higher the level you are on (it's easier)

v1.8b	03/22/2011
	- Added mode unlocking
	- Disabled the high score list for ENDLESS mode
	- Added [ALPHA] key debouncing
	- Added high score saving
	- You now need to press [ENTER] to change the contrast
	  with [+] and [-]

v1.8.1b	03/23/2011
	- Added an AppVar, "Bnm2bSav", to save games and high
	  scores in stead of inside the program itself
	- Changed it into an Ion program for added compatibility
	  (sorry KermM... ;))
	- Disabled ENDLESS, SHIFT, TWILIGHT and HYPER mode
	  completely in the beta version of the game
	- Performed optimization

v2.0	03/30/2011
	- Added high score lists for TWILIGHT, HYPER and SHIFT
	- Changed the name of the program to "BNMBRD2" and the
	  name of the AppVar to "Bnm2Save"
	- Full version!


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

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

First of all, I'd like to thank you for downloading
Benumbered v2.0!

Benumbered v2.0 is a TI-83+/TI-84+ calculator game based on the
popular games Bejeweled and Bejeweled 2 by PopCap Games and
features spectacular 4-level grayscale graphics, four different
gameplay modes and 2 extra unlockable modes, game saving and
loading and much more!

I cannot guarantee 100% that the game is completely bug-free so
I advice you to back up all of your important programs and
variables before using it.

Also, I cannot be held responsible for any unexpected effects
the game might have on your calculator, your life or even your
pets for that matter. If you want to play it, it is all up to
you.


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

Installation & Data Management
------------------------------

Benumbered v2.0 was made for the TI-83+(SE) and the TI-84+(SE)
and is Ion, MirageOS and DoorsCS7 compatible, as well as
CrunchyOS, Noshell and any other shells that support Ion
programs.

Send BNMBRD2.8XP to your calculator with TI-GraphLink or
TI-Connect and a cable, or get it from someone else's calculator.

The first time you run Benumbered v2.0, the game will try to
create an AppVar called "Bnm2Save", which will keep track of all
your saved games and high scores. If there is not enough RAM
available on your calculator to create it, the game will warn
you about this. If there already is an AppVar called "Bnm2Save"
on your calculator and it is not compatible with the current
version of the game you are trying to run, you will be warned as
well and you should delete it to be able to play the game.

The game will try to archive this AppVar every time you quit,
but will only succeed if there is enough room available in the
archive and will not warn you if it did not.


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

Game Saving & Loading
---------------------

Every game you play will be saved automagically, so there is no
need or option to do that manually. All game modes will be saved
separately and there is room for one saved game per mode.

Games will only be saved when the board has settled. In other
words, if you were to quit the game when any numbers are still
moving, the game will be saved as it was before they started
doing so. This is includes cascades - the cascade has to be
completely finished before the game is saved.

The exeption to this rule is when you start a new level. If you
quit during the initial falling down of the numbers, the game
will be saved with those numbers already settled.

Quitting the game by pressing the teacher key ([DEL]) is safe; 
your game will still be saved.

Loading a game is very simple. If you try to start a new game in
any mode and a saved game is found, you will be asked in a popup
window if you want to resume that game. If you don't and start a
new game in stead, it should go without saying that the old
saved game will be replaced with the current game.


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

Controls
--------

At all times:
	- [ENTER] + [+]/[-]:	change screen contrast
	- [DEL]:		teacher key (quit the game
				immediately)
	- [ON]:			pause/unpause (turn calculator
				off/on)

Menu screen:
	- [2nd]:		start a game
	- Left/right:		scroll through game modes
	- [CLEAR]:		quit

Game screen:
	- [2nd]:		select/deselect/swap numbers
	- Arrow keys:		move cursor (and swap in SHIFT
				mode)
	- [ALPHA]:		get a hint
	- [CLEAR]:		return to menu

Confirmation window:
	- [2nd]:		confirm
	- left/right:		change option
	- [CLEAR]:		cancel

High score window:
	- [2nd]:		confirm name
	- [ALPHA]:		change case
	- letter keys:		input name
	- [CLEAR]:		backspace


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

Rules
-----

The basic rules are like the original Bejeweled by PopCap.

You score points by lining up three or more of the same gem. But
because of the low resolution/color scale of the TI calculators,
Benumbered v2.0 uses the numbers 1 to 7 in stead of the colored
gems the the original game uses.

You line the numbers up (pair them) by swapping two horizontally
or vertically adjacent numbers by selecting one with [2nd] and
then selecting the one you want to swap it with. A swap can only
be made if it results in a legal move (if at least one pair is
created), otherwise the numbers will just swap back in place.

When a legal move is made, all the pairs that were created by
this will be removed, the numbers above it will fall down and
the empty spaces at the top will be filled with new numbers.

If the fallen numbers cause more pairs to be created, the game
will remove those as well and drop even more numbers. This is
called a cascade and it will continue until no more pairs are
created and the board has settled.

If at any moment there aren't any legal moves left to be made,
the game will be over.

The bar on the right is the progress bar. You have to fill
this up to continue to the next level.

In every mode except SHIFT, there is the possibility to ask for
a hint by pressing [ALPHA] at any time. If you haven't made a
move in 15 seconds, a hint will be given to you.


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

Game Modes
----------

CLASSIC:
	Exactly like the original Bejeweled. You swap numbers
	until you run out of moves.

ACTION:
	ACTION mode is like Time Trial mode in Bejeweled or
	Action mode in Bejeweled 2. The progress bar starts half
	full and every 2 seconds that the board is settled (no
	numbers	are falling down) it goes down a certain amount.
	When it	reaches the bottom, it is game over. Also, you
	cannot run out of moves. The game will always give you a
	legal move to make. If you start to run out, look near
	the top	of the board.

TWILIGHT: (unlockable)
	TWILIGHT mode is an unlockable game mode and is exactly
	like CLASSIC mode except that gravity will alternate
	between up and down between moves.

HYPER: (unlockable)
	HYPER mode is an unlockable game mode like ACTION mode
	with the difference that the animation is faster and
	that the bonus (see Scoring) you get for cascading
	(multiple pairs made with one swap) will continue if you
	make your next move in less than half a second after the
	board has settled.

ENDLESS:
	ENDLESS mode is what it's name implies. You swap numbers
	at whatever pace you want and you can never run out of
	moves. Scoring is like CLASSIC mode, except that the
	level multiplier (see Scoring) will always stay at 1.

SHIFT:
	SHIFT mode is a mode I made up myself. In stead of
	selecting numbers and only being allowed to swap if
	it results in a legal move, you move around the board
	solely by swapping with the adjacent number. Effectively
	you are moving a number around the screen until it ends
	up in a pair. Every move is legal in this mode. Because
	of this you can never run out of moves.	You cannot ask
	for hints. If you've made a pair, the numbers fall in
	the direction that your swap was made. Every swap that
	is not with a number equal to the one you are 'carrying'
	or that results in a pair being	created, will cost you
	points and time. You are on the	clock as well, because
	of the fact that you cannot run	out of moves.


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

Scoring
-------

You earn a certain amount of points for each pair you create.
The more numbers in a pair (4, 5 or even higher), the more
points you get. Cascading will get you more points and the
higher the level you are on, the more points you will get even
still.

SHIFT mode has an addition to this rule. Every move you make
that does not result in a pair being created, except one that is
with two equal numbers (e.g. you swap a 5 with a 5), will cost
you as much as you'd normally get for a pair of 3. Points earned
on the other hand, will get tripled.


Base points:
	Every move you make will earn you a certain amount of
	base points. Pairs of 6 or higher can only be created by
	cascading.
	- pair of 3:		 2 points
	- pair of 4:		 4 points
	- pair of 5:		 6 points
	- pair of 6:		10 points
	- pair of 7:		14 points
	- pair of 8:		20 points

Cascade bonus points:
	Cascade bonus poins are added to the base points of each
	consecutive pair that is created after you make a swap.
	- 2 in a row:		 2 points
	- 3 in a row:		 4 points
	- 4 in a row:		 6 points
	- 5 in a row:		10 points
	- 6 in a row:		14 points
	- 7 in a row:		20 points
	- 8 in a row:		30 points
	- 9 or more in a row:	40 points

Level multiplier:
	On each level more points are earned than on the
	previous one (with the exception of ENDLESS mode). The
	score you get for each pair (base score + cascade bonus
	points) is multiplied by the level multiplier.
	- level 1:	x 1
	- level 2:	x 1.5
	- level 3:	x 2
	- level 4:	x 2.5
	- level 5:	x 3
	- etc.

Hints:
	Hints, if obtained by pressing [ALPHA], will cost you 10
	points times the level multiplier. So, on level 1 a hint
	will cost you 10 points. On level 2 it will cost you 15
	points, 20 points on level 3 and so on.
	Hints will only cost points the first time you ask for
	them. If a hint has already been given and you did not
	make a move yet, you can ask for it again for free.


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

Built-in Tricks
---------------

Number Dragging:
	In stead of selecting one number, moving over and then
	selecting the one you want to swap it with, you can
	'drag' the number you have selected to the one you want
	to swap it with by keeping [2nd] down and moving in its
	direction.

Number Pre Selecting:
	You can already select a new number while other numbers
	are still moving.

Number Pre Dragging:
	While Pre Selecting, you can actually also already Drag
	the selected number - still keeping [2nd] pressed - and
	they will swap as soon as the animation has finished.

Head Start:
	You can already start playing while the "Go!" message is
	still on screen.

Time Stop:
	In the timed modes, time does not pass while the waving
	text messages are on screen - take advantage of this.


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

Gameplay Tips
-------------

- When you've found a possible move, see if you can score even
  more points by creating a bigger pair or multiple pairs at
  once in stead.

- Favor horizontal pairs above vertical pairs. More gems will
  fall this way, allowing for higher chances of a cascade
  following.

- In CLASSIC and TWILIGHT mode try to work from the top to the
  bottom. This way you will not break up any possible moves
  below you.

- In ACTION and HYPER mode try to work from the bottom to the
  top. This makes cascades more likely to happen which in turns
  nets you higher scores.

- In ACTION, HYPER and ENDLESS mode when you run out of moves,
  look at the top of the board. This is were new moves will be
  generated.

- In SHIFT mode don't just concentrate on the number under the
  cursor. You can create pairs out of the surrounding numbers
  too.

- In SHIFT mode try to make pairs as close to were you are on
  the board as possible. The longer it takes you to make a pair,
  the more points and - obviously - time you lose.


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

Possible Future Features
------------------------

- Hardware specific grayscale
- No moves/time up/level complete animations
- Splash screen
- Easter egg
- Demo when you haven't pressed a button in the menu for X
  seconds


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

Credits
-------

I have found some code on the internet I could use and in the
interest of not reinventing the wheel, which I think greatly
applies to the programming area, I remembered how to use Ctrl+C
and Ctrl+V, to make it easier on myself. Of course I'll credit
anyone whose code I have borrowed. I may have tweaked/optimized
some of it here and there. If anyone finds I have done something
wrong, please tell me. I'd like to keep it legal.

- Sean McLaughlin for his "Learn TI-83 Plus Assembly in 28 Days"
- Jim E. (James Montelongo?) for his grayscale package. I added
  clipping to the sprite routine and I tweaked the interrupt
  routine a bit
- tr1p1ea for his forum entry on unitedti.org about grayscale.
  Most importantly the optimization (A ^ B) & C ^ B ==
  (A & C) | (B & ~C) was very helpful
- Joe Wingbermuehle for his ionRandom routine
- Anakclusmos at Cemetech.net for his CheckKey function
- Milos "baze" Bazelides for his page about z80 Bits
- Herbert Oppmann for his z80opcod.txt
- Christopher "KermMartian" Mitchell, JosJuice and DrDnar for
  the idea of using an AppVar and everyone else at Cemetech.net
  who has given support
- Mees "Tevlon" Kersaan (has come up with [2nd] key deselecting,
  helped design the HUD and the popup window and has done bug
  testing.)
- And of course everyone at PopCap for designing this fun and
  addicting game!

I made the bad ASCII art with Ascii Generator dotNet (asgen 2.0)
by Jonathan Mathews.


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

Contact
-------

You can contact me, and I encourage you to, when you've found a
bug in the game or anything else that you feel should be
changed. Maybe you think you're getting too many points or too
little or that the time is going down too fast. ANYTHING is very
welcome! And if it turns out that you've found a real bug or
when I think that your modification will make the game better,
you will be credited.

You can e-mail me at cerzus69@hotmail.com or send a message at
Cemetech.net, Omnimaga.org or Omnicalc/detachedsolutions.com.
My username is cerzus69 in all cases.


================================================================
----------------------------------------------------------------
Last modified: 03/30/2011