--------------- SLIDE --------------- --- a puzzle game for the HP48S/SX/G/GX Written in 100% Saturn ML by Carl Robert Gibbons. This is an HP48 version of a type-in game I remember seeing in a magazine about 10 years ago. (I can't remember where I saw it. I thought it was Compute! magazine, but I couldn't find it in any of the back issues in the university library stacks.) The files included in the SLIDE.ZIP archive are: SLIDE.DOC (this file) SLIDE.DIR (the game, as an HP48 binary file ready to download) SLIDE.A (the complete source code; I used the RPL48 package by Detlef Mueller and Raymond Hellstern to assemble it) SLIDE.A__ (same as SLIDE.A, but I formatted it and added a lot of comments for easier reading. With a few minor changes you could assemble this file with some other assembler, such as HP's own SASM.EXE) To play: Download SLIDE.DIR using Kermit, get into the SLIDE.DIR directory, and execute it from the [VAR] menu by pressing |SLIDE|. Select a difficulty level by pressing [1], [2], [3], or [4]. Your goal is to make the pattern on the right match the pattern on the left. Use the arrow keys to move the cursor and slide each row of the pattern left or right. If you wish to abort the game, press [ENTER] or [BACKSPACE]. But if you successfully manipulate the rows on the right to match the rows on the left, you'll see your difficulty level on stack level 2 and your playing time (as per TICKS) on level 1. Optional: You may also execute the game from the [CST] menu by pressing |SLIDE|. In the custom menu is a User-RPL shell built around the SLIDE game which maintains a "best times" vanity board with playing times recorded in seconds rather than TICKS. Credits: Thanks to: Doug R. Cannon, Jerry Phillips, Dallan Christensen, and to my wife Rachel and brother William for playtesting the game. I also thank: J. Y. Avenard for StringWriter 4.1b, R.Hellstern and D.Mueller for the RPL48 package, Joseph K. Horn for the Educalc Goodies Disk archives, Doug Cannon for the source code to his SHAPES game, and for helping me learn Saturn ML, Dallan Christensen for the '48 FILES BBS and for helping me learn Saturn ML, Dr. Lynn E. Garner for advising the BYU HP Calculator Club for the past 6 years, and everyone on USENET's comp.sys.hp48 who have participated in Saturn ML programming and related stuff. (Also thanks to Hewlett Packard. I've had fun using and programming your calculator!) About the game: I wrote SLIDE to learn Saturn ML, and to prove to myself that I could write an application in 100% Saturn ML. Why? I guess I just have some perverse thrill in writing low-level code! I believe the game could have been successfully implemented in 100% User-RPL, and I'm certain that the game could be made to take up less memory if at least some of it were written in SysRPL, but I just wanted to do it all from ML--graphics, sound, keyboard input, the works. I originally wanted to include the vanity board as part of the ML Code object as well, but I ran out of time, patience, and ambition. So I added the vanity board code as a User-RPL custom menu shell instead, which makes my wife happy because she can edit the high scores list when I'm not looking and overwrite my name with hers. ;-) The only difference between difficulty levels is that the graphics bitmaps are different. It would be neat to see other game patterns made by other bitmaps, and you're free to alter the source code and re-assemble the game with other bitmaps, if you wish. In fact, you're free tinker with any of the source code, especially if you're an ML student like me. Note: If you find that you have successfully duplicated the pattern and you don't see the game-won-victory-display, it's possible that the exact same graphic pattern appears twice on each row, and you'll need to slide one of the rows to the second copy of that pattern in order to win. (I've only seen it happen once.) Disclaimer: I won't let you hold me responsible if this program damages your calculator memory or your eyesight. --Carl Robert Gibbons carl_gibbons@byu.edu 515 E 1750 S Orem, UT 84058