MLC86 by Donald Straney (Burntfuse) ----------------------------------- Version 2.7 A PRODUCT OF EPIC PROGRAMMING STUDIOS To find out what the MLC language is, and how to use it, please visit our website at www.dysfunction.earthforge.com. Files in this zip: /program - the files you need to send to your calculator to run MLC86 /source - the source code to MLC86 /sprite_edit - the on-calc sprite editor and the source code /samples - sample MLC programs (mostly games) readme.txt - what you're reading right now ;-) revisions.txt - a list of the changes between the release versions of MLC86 syntax.txt - a detailed list of the supported commands and expressions for MLC86 creating.txt - a how-to guide for creating your own MLC programs mods.txt - general guidelines on modifying MLC86 compress_mlc.bat - a batch file used for compiling MLC86 Lite86.exe - Kirk Meyer's compression program, also used for compiling MLC86 screen1-4.gif - Some screenshots of MLC games in the samples folder Using MLC86: Run mlc.86p by typing "Asm(mlc" at the homescreen (or running it from a shell) and use the up/down keys and 2nd to select an MLC program, and 2nd to run it or the PRGM key to compress it (see next section). If it doesn't start, you probably have forgotten to send one of the required string files to the calculator. If an error occurs while running a program, a message will be shown and you will be returned to the homescreen. If you try to run a program that is too large (over 11 KB), you will be returned to the homescreen. To open the in-game options menu, which allows you to adjust the contrast or the speed, exit the game, or turn off the calculator, press ON while a program is running. The F1-F5 keys select an option, and while the contrast or speed is being adjusted the left and right arrow keys change the value, and 2nd is used to confirm. (NOTE: The "adjust speed" option only changes the length of the WAIT instruction, and doesn't change the overall speed of the game.) Right before the program is run, you will see random patterns on the screen. THIS IS NORMAL - YOUR CALC HAS NOT CRASHED. The memory used for the screen is being re-used for internal data. If you press the PRGM key to compress the selected program, the screen will fill with junk like when any other program is being run, but then it will return to the shell without running it. The program is now compressed - it takes up *much* less space on the calc than an uncompressed MLC program, but it can't be edited, so use this only with final versions of programs. (Compression can be used to edit-lock release versions of MLC programs if you don't want anyone else seeing your code.) Also, compressed programs can't be decompressed to editable versions, so keep a backup copy of the uncompressed programs, especially since compressed programs won't work between different versions of MLC86. New features in this version: Added in-game option menu Spaces between arguments replaced with commas, period before numbers removed (look at sample programs for an example of the new formatting) Shell now requires confirmation before compressing programs Now shows contents of line with error Fixed negative angle bug with POLR (thanks to Nick Coury for finding it) Removed most of the credits (who needs those anyways? :-P ) Increased POLR accuracy (thanks again to Nick Coury for providing the method) Now checks compatibility of compressed programs (no more crashes when using a different version!) Fixed bug with combining literals and numbers in strings (thanks to Deimos for finding it) Fixed bug in RNDM with negative lower limits Now doesn't crash if programs over the size limit are run No longer corrupts table, stat vars Max program size increased to ~11 KB Thanks to Joshua Seagoe for FVPUTS, Kirk Meyer for Lite86 II, Matt Johnson for the IM2 template, ACZ for DisplayHL and RandomNumber, Jimmy Mardell for FastLine, Matthew Shepcar for the grayscale ISR, Rusty Wagner for VTI, Jeremy Goetsch for Assembly Studio 86, and of course the other members of EPS for ideas and various pieces of coding help! Notes about the source code: If anyone really wants to use any of my code from this program (which I seriously doubt), it's fine with me as long as you give me some credit for it. If anyone wants to go as far as to make modifications (which I also seriously doubt), look at mods.txt before anything else. Please send copies of any modified versions to me - I would be very interested in seeing them! If you have questions, comments, bug reports, or anything else, please e-mail them to me at straney@umbi.umd.edu