Bolldin 1.0 for ION
===================
by Andreas Finne
a_finne@hotmail.com

date: May 2000

This is my first try at ION programming, so I don't really know the do's and don't's.
I included the source, and if you find something in it that isn't OK, please mail me.





Finally!!

It's here!!

BBBB   OOO  L     L     DDDD   III   N   N
B   B O   O L     L     D   D   I    N   N
B   B O   O L     L     D   D   I    NN  N
BBBB  O   O L     L     D   D   I    N N N
B   B O   O L     L     D   D   I    N  NN
B   B O   O L     L     D   D   I    N   N
BBBB   OOO  LLLLL LLLLL DDDD   III   N   N


Object of the game:
===================

Take the coins and avoid being hit by an arrow.


The controls:
=============

At the starting menu:

	Right increases the speed
	Left decreases the speed
	Up increases the difficulty
	Down decreases the difficulty
	Enter starts the game
	Clear exits the game (Yes, you can push the exit button, go ahead, I don't care *sob*)

In game:

	Right moves Bolldin right
	Left moves Bolldin left
	Up moves Bolldin up
	Down moves Bolldin down
	Mode pauses the game
	Clear makes Bolldin commit suicide (No! Don't push that button!)


Scoring:
========

10 points for every coin taken
-2 points for every coin missed


Notes:
======

-The difficulty decides how much time you have to take a coin.
-When you reach 100, 200, and 300 points you reach the next level, the difference is that
 the speed increases.
-Press the Enter key to get away from the Game Over screen.


Credits:
========

Jimmy Mrdell
Matthew Shepcar
Ahmed El-Helw
Alan Bailey
James Yopp

Dan Westerlund	-He gave me the idea to make this game


Some final words:
=================

This is my first ever assembly game. It has been under production for quite a while.
Actually I haven't touched it for over a year, but I thought I'd finish it up and release
it. I have included the source, but I don't recommend anyone to look at it. Remember that
this is my first program. In the documentation to my other programs, I have mentioned this,
so now, finally, it reaches the public. I almost get tears in my eyes by nostalgia.....


The story behind this game:
===========================

Once upon a time there was a boy named Andreas. One evening his family had invited another 
family to their home. This family had a boy the same age as Andreas, so the boys knew each
other well. As the boys were sitting by Andreas' computer, Andreas decided that he wanted to
make a game for his calculator. He asked the other boy what the name of the game should be. 
The other boy pondered for a while and then suddenly he came up with a name. The game was to
be called "Bolldin". Now the next big question was, what would the main character look like?
Andreas started Paint Shop Pro and told his friend to draw Bolldin. After some moaning about 
how small the picture had to be, the friend drew an image. The result was astonishing. Now 
all Andreas had to do was to convert the picture into 1's and 0's. Unfortunately, this was
before the time of Sprite Maker, so he had to do it manually. Now the friend got a little 
unpatient and wanted to see some results, so Andreas took a sprite putting routine by Movax
and a sprite moving routine by James Yopp and threw together something. The friend was amazed, 
or actually he pretended to be, because it was really nothing to be excited about, but it 
was a beginning. Not THE beginning, but A beginning.

Weeks passed and Andreas did some work on Bolldin, and little by little the game started to 
take shape. Then he stumbled across the biggest problem so far: How to draw a frame around the
edges of the screen? He had tried to use the rom call _Iline, but it didn't work the way he 
wanted it to. Then, one day he thought he had found the answer to the problem, hidden 
somewhere in the deepest dungeons of his harddisk. He found out that in order to make the 
_Iline routine work, the graphbuffer had to be cleared. Then Andreas thought: "Yes, finally 
a solution to my problems. But... what is the graphbuffer?" He then decided that the task 
was too difficult to handle on his own, so he decided to ask for help from the Wise Ones.
Both Shepcar and Mardell, unknowing of each other, gave the same answer:

"Thou hast to:

 ld hl,_plotSScreen
 ld de,_plotSScreen+1
 ld bc,1023
 ld (hl),0
 ldir
"

Andreas was amazed by the goodness of the Wise Ones. Even though they were (and still are) 
in such a high position, they gave some of their valuable time to answer questions from a 
newbie. This wasn't the only answer Andreas got. Yarin the Wise One also sent a routine to 
draw the frame even faster and smaller than the routine using _Iline.

Weeks became months and Bolldin started slowly but surely to look like the game we know today.
Then, one day Andreas suddenly lost his interest in Bolldin. He had started some other 
projects, that demanded his attention. Furthermore, school started to take more and more of 
his time. Years passed......

Then one day in the year 2000, two days before the Finnish listening comprehension of his
matriculation exam, Andreas decided that he was going to make Bolldin ready to face the
public. He compiled the unaltered source using Assembly Studio. The only thing he did to 
the source was to update some of the comments. He also started to write a story about the 
development of Bolldin. 

This is where the story must end. The end and the beginning may never meet. If they would, 
the result would be yet another neverending story.....


THE END?

No this isn't the end of the story. The story continues as Andreas gets his hands on a TI-83+.
He started to read some information about the new calculator, and decided to learn how to 
program for it. He visited The Greatest Library of All Assembled Knowledge of the Texas 
Instruments Graphing Calculators, which is also known as TICALC, and downloaded IonGuru by 
Matthew Hernandez. The zip file also contained ASM83 Guru by James Matthews. Andreas began to
study the scrolls, and some time in May of the year 2000, he felt he was ready to try some 
ION programming. He didn't want to start an entirely new project, so he thought: What could 
be better as my first ION program than my first assembly game for the 86.

The process of porting Bolldin to ION started. Andreas biggest concerne was the display driver,
as he was used to memory mapped displays. After some deep studies of the ASM83 Guru, he decided 
to omit the fading effects. It wasn't that he didn't understand how it worked, it was pure 
laziness. So one day, when he was really tired and bored, he decided to finish the program. The 
reason for the tireness was Stephen King's book A Bag of Bones, that Andreas couldn't put down 
until he had read it to the last page, and the reason for the boredom was that almost all of his
friends were on a preparation course for the entrance test to university. At about nine o'clock
in the evening, the game was ported and Andreas started to write the rest of the story about 
Bolldin.

This should be the end of the story, unless someone happens to look at the source code and find
something wrong, or somebody stumbles across a bug in the game. But for now, Bolldin and his 
coins will live happily ever after.