KATETRIS V1.0
Copyright (C)1995 ShadowClog Systems
-----------------------------------------------------------------------------
Author:
Paul Pekkarinen/ShadowClog Systems
Rikantie 3
43900 Kinnula
Finland

Type KTR and smash Enter to play the game. Press F1 or select HELP from
main menu to reach further help.

1. Background story
2. Some misc. notes about this game
3. Help me!
4. What this game requires?
5. FAQ

1. Background story
-----------------------------------------------------------------------------
It was dark and stormy night... I was programming a sound output routine
(single-cycle DMA transfer kick-butt noise routine, actually) and then,
suddenly, the idea about making a Tetris-clone hit my poor head.
I really like Tetris and the last time I played it was couple of years
ago, with Atari ST. I knew there were some clones around, but hey, why
couldn't I do such clone myself. It would be a nice addition to those
million clones already screaming out there...

The worst part of the programming were the checking routines. Checking for
rotation, left movement, right movement and down movement, four angles per
block and for six (6!) blocks, because one of the blocks is a nice piece of
box you can't rotate, really. If you thought I was trying to code endless
if-statements, you're so wrong. I used array calculation or something like
that. Sounds icky, but it's really easy. Let me demonstrate, because my
english isn't great and I really can't explain this other way:
 -1o#..
 11o##.
 24 o#.
#-character is a part of the block. Numbers to left are array locations.
This example shows what points in the array must be check to ensure you can
move the block to left. The routine must count the values of those points
and if the result is more than zero it means there was some block blocking
the way and you can't move to left. The rotation of blocks makes it much more 
interesting, because then the check points are different. o-characters are
"check points" and .-characters are zeros. It's easy to place the block
inside a bigger block area because in some positions the same block is two
blocks wide and in other position it's three blocks wide. The game array size
is 12x19, there are border values (111) to avoid the blocks moving outside
the array (game board). Actual board size is 10x18. That's why -1+12=11 
and 11+12=23 + 1 (see the check point, it's one step right)... How complex
math!

(Don't worry if you didn't understand a word about what I just wrote. You
 don't need such information to play this game, anyway.)

I don't know if actual size of Tetris game board is 18x10, but this feels
and seems the right size. And I really didn't want to write the check
routines again, you know...

2. Some misc. notes about this game
-----------------------------------------------------------------------------
A. This game, Katetris v1.0, is Freeware. It means you can copy
   this game to any media, but:
   1. All files must be included, without any modification.
   2. You can pack files as long as you use programs that stuff all files
   into one big packed file.
   3. It's illegal to copy this game to any kind of collection
      software (CD-ROM collections mainly) sold in commercial way.

B. The author of this game (me! me!) is not responsible of any damage
   this game can cause to your hardware or software. But hey, don't worry,
   this is a quality product. Also, if you happen to faint when playing
   this game and hit self with floor, the author isn't responsible of that.

3. Help me!
-----------------------------------------------------------------------------
Check the help system in the game. Hit F1 in main menu or select
HELP from main menu by using arrow keys. Then smash Enter. Use arrow keys
left & right to move between pages. You can also press F1 during the game
to reach the help screens and then return to play the game.

4. What this game requires?
-----------------------------------------------------------------------------
A. You need 286, 386, 486 or Pentium to run this game.
B. This game uses crappy video card detect routine. Just hit Y to
   continue if you know you have VGA capable display card, if you get the
   message telling you don't have. If this starts to annoy you, let me
   know and I'll dump the video detect routine, who the heck is using
   EGA these days anyway and all display cards I can imagine have VGA
   resolutions.
C. This game allocates really small amount of conventional memory. Now
   you can have all your TSR's loaded and ready to activate. You may
   have some nasty crashes if these proggies use some critical system
   resources (what the heck I'm talking about??)
D. Keyboard set is saved when you exit from the program, if you press
   K while playing (to change keyboard sets). See more from help section
   of the game. Also, sound toggle is saved. If you turn sounds off,
   the next time you play sounds are off. Neat, eh?
E. Run this game directly from DOS. I've tried this game with
   Windows 3.1 and it seems to work Ok. If you desperately want to
   run this game from Windows, do it!
F. You must have DOS version 5.0 or later to play this game.

5. FAQ
-----------------------------------------------------------------------------
Q: Have you got rid of that stupid keyboard routine which was found in
   Qolumns and v2.0 too?
A: Yes and no. When you drop the block, both of games are scanning
   the level and this takes some time. During this time you can
   press Space twice or more. When the scan routine ends and
   returns to the game loop, your block will drop automatically. Of
   course, this is annoying. And the fact you can't clear keyboard
   buffer with normal means. But, I notice you can actually clear it!
   How? By reading off keys if keypress was detected. I have several
   vertical retraces when bomb explodes, for example and I simply
   added next line to every loop that takes time:
    if (bioskey(1)!=0) k=get_scan(); 
   How simple and stupid. If keypress was detected, it's cleared
   by reading it! In conclusion, you can now press Space longer and
   the next block will not drop until the start of the gameloop, when
   you can actually see the next block.

Q: How many levels are there in this game?
A: About 25. You never should reach level 26, because there are
   no level variables for speed or max lines to that level. The first
   complete version of this game had same speed in all levels, but
   I realised it's too easy and some Tetris-fanatics could play
   it hours, even some days. I decide to include speed for each level
   and in level 24 it's almost impossible to move the block anywhere.

Q: How the scoring is done?
A: You get 5 points from any explosion you see. Plus, destroying one line
   gives you (66*LINES)*LEVEL points. That means, if you are in level 1
   and you destroy one line, you'll get (5*10)+((66*1)*1)=116 points plus
   bonus points from 20 to 0 depending on how high you drop the block.
   Missile gives you 70 points and megabomb gives 100 points.
----------------------------------------------------------------------------
