(Comp.sys.handhelds) Option: Item: 2556 by _falco at hpcvbbs.UUCP Author: [Andrey Dolgachev] Subj: Tetris3 for the HP48sx Date: Sat Mar 30 1991 [Note: See TETRIS.DOC to see why there are three Tetri on this disk. -jkh-] Here we go again, here's the next version of Tetris, and it is a significant enough upgrade to warrant the Tetris 3.0 label. First of all, the new features and revisions. In addition to the minor bug fixes and such, I made the game more like the computer version. 1) Levels! There are now 10 levels, 0 through 9. I used the same delay function, so the end result is the same. However, instead of the speed just increasing continuosly, there is a speed increase every time you reach the next level. After a certain amount of time, you go up a level, just like the real Tetris. Also, you can specify which level you want to start with (discussed later), and you can go up a level while playing by pressing K (the up arrow). 2) Real scoring. The scoring is now just like the real computer version of Tetris by Spectrum Holobyte. You only get points for pieces dropped, not lines. You get more points for higher levels and for dropping the pieces higher. Also, turning on the Draw Next Piece function takes off points (3/4). 3) Customization. There is a program called CONFIG which makes it easier for the user to customize some features of Tetris. You can specify what kind of Dissolve sequences you want for each of the three times that a screen dissolve takes place. CONFIG gives the codes for the dissolve sequences by the way. Simply experiment with the different codes to see what it does. The three phase where screen dissolves take place are the beginning, the high score drawing, and the return to the stack (1,2,3). You can also specify if you want your score, lines, and level left on the stack as labeled numbers. You also use this program to specify your starting level and to erase your high scores (which can also be done with the Erase command in the second row). The default values are built-in, so if you don't want to change something, just type return to go on to the next screen. It will be evident when you use it. All this program does is provide a user-friendly way of changing the paramater list, DLST. DLST contains five numbers. The first three have tags, and indicate the dissolve types for each phase, the fourth indicates whether you want your score left on the stack (0 is no, 1 is yes) and the fifth is a number from 0 to 9 indicating your starting level. 4) Misc. Revisions. The pieces now appear one square higher, and the board "fills" up one square higher. This is the maximum space you can have, unless I go back and really change (read as slow down) the XFIG and TFIG routines. Two more squares of room is nice though. When you drop your piece, it immediately appears at the bottom, just like the real Tetris. The draw next piece has been revised. It is now at the right side of the screen, and the piece that appears in the Next Piece window is in the same rotational position as the one which drops. I also changed the order of the rotations of the pieces to match the real Tetris game. The Pausing function now only saves part of the GROB, instead of the whole screen, so it can be used with less memory. 5) Flags and stuff. All the subprograms now use the subprogram PREP to s, unstripped form, I actually organized them to make it easier to understand. The first line of the VAR menu contains the six functions you use to do everything. Then, you have the ERASE and DLST commands which are used by CONFIG and which you can use if you know how (allowing you to erase CONFIG if you don't need it). Then, the next two programs are the ones that you can modify to suit your needs if you wanta risk it. RK2 contains the different key commands. Change this if you want a different key layout. PREP is the subprogram which allows TETRIS to run fine. Then, the three variables holding your score things. Then the four ML and GROBS which you should ASC if you do TEXT transfer. That finishes out the third row. The fourth row contians the essential TETRIS functions, the fifth row contains more essential functions and variables. The sixth row contains the functions and variables essential to the Drawing of the next piece. It also has the variables L and SAV used in pausing the program. The seventh row contains the functions and variables used for the levels. The eighth row contains the graphics routines for setting up the screen. And the ninth row contains the finsih routine and the drawing of the high scores stuff. The 54 variables and subprograms account for the fact that Tetris now takes up a little over 8k. O.K. I think that's it. I also fixed any bugs which were recently posted which there were only a few of. Now for the credits. Credit goes to Erik Bryntse for the original Tetris with partial machine code routines, and Joe Ervin for the Screen Dissolve code. Also, thanks to everybody who posted bugs and revisions ideas. And of course, I give no guarantees or warranties and I am not liable if this game makes you go crazy or blows up your 512k RAM card. Now for the instructions. Download the following, and transfer it to your calculator. Then, make sure that ASC-> is in the same or a higher level as Tetris3. Then press SETUP in the Tetris3 directory to ASC-> the 5 MC and GROB's. If you don't know what ASC-> is, read my next message. Press HELP if you need it. It's not a very complicated game or anything though. Some general things though on the game. When you press O, the HP turns off, when you turn it on, the game continues. When you press P, the game suspendace.