Nifty v1.1 - Nifty Is Formatted Text for You - (c) Peter Martijn Kuipers (nifty@hbyte.net) v1.1 Fixed 2 bugs, one with displaying tokens, other with choosing a program after pressing the "clear" button. --Initial info: -This is version 1.0 of Nifty, made for the TI Application Programming contest --Terminology: ;// - Comment, used in code-examples, ends on end-of-line Nifty - this program NML - Nifty Markup Language (v1.0 is current version), the structure of a Nifty file Nifty files - Files that contain NML [xxx] - Description of what you should fill in in this space. [enter] - Representation of the Enter or Newline token; --What Nifty is: -Nifty is a TI-83+ application, which reads Basic-Text files, and prints them in small fonts on the screen. Nifty checks the basic file for certain control tokens, which will affect the way the basic program is displayed. --What Nifty does: -Nifty will automatically detect programs which comply to NML-v1.0 (Nifty Markup Language) this means: Nifty files start with (leading :'s are add by the basic-editor): :Stop:NIFTY ;// Stop will make it inrunnable from TIOS ;// NIFTY is to identify it to NIFTY :[filename] ;// The name of the file. Please keep it short! ...nifty text.. ;// text to be displayed {...text...} ;// inverted text [enter] ;// forced newline Pause ;// forced page end -> ;// store token, tab (10 spaces) /{ ;// force { to be displayed normally // ;// display ONE / /-> ;// display the store token, instead of parsing it ;// (the "->" means the store token, not "-" and ">") ...end nifty text... ;// :End ;// End of file. You MUST include this!!!! ;// if you don't include it, thing will get messy. ;// (I included a failsafe, but don't rely on it!!) :[everything you want to have in the file, but not in the viewer] -Token summary: -> Store: Tab { [text] } Inverse coloring of text / Force normal display of next token. // = display of "/" Pause Page End; End End of Nifty file [Enter] Newline -Keys to use: Up/Down Scroll up and doen in the nifty file (only in file view mode) Left/Right Select another file (only in the file selection screen) Mode/Del Quit nifty right away (No, not a teacher key, it displays "Thanks for using Nifty" for a while on the screen) Clear Back to the file selection screen Stat Display help. (Key meanings only) -Nifty has a maximum capacity of 128 pages memory storage, any pages that lie beyond that range are simply not displayed, this is to prevent system crashes. -Both archived and non-archived program files are read, so you can put a lot of Nifty files on your calc. (Escpecially handy on the TI-83 Plus SE) --Who made Nifty: -I'm Peter Martijn Kuipers, student in the final year on the VWO (some sort of High school(+) equivalence). I live in the Netherlands. --How Nifty can be of use: !-Teachers can make studycards or notes On-Calc, so their students can view them. Teachers no longer have to use a computer with graphlink to make such files. +-Studens can make digital notes, that can be viewed orderly, right in the classroom, without paper, so the notes can be distributed to classmates without loss of meaning that occurs when copying notes by pen. o-Due to the way Nifty reads its programs it can be used to transport data in hidden files (files where the first character of the name is a space, if I recall correctly), so you can hide data, not ment for others. Please do not use this feature for cheating, but if you do: the only one you're cheating is yourself... --Known Problems, bugs: -When you use tokens that are larger than 4 pixels, the Soft Return feature might get compromised, be sure not to use them on Line endings. -Due to the nature of TI-Basic, Nifty files can be considerably larger than their ASCII equivalents, however, I think that the feature of being able to edit files On-Calc is of more importance than this. -The maximum amount of Nifty Files you can have on your calculator is 127. If you exceed this, some files will not get displayed correctly. NOTE: Due to the enormous amount 127 files is to a TI83+, I'll probably limit this amount in future releases, to use the memory. --Future enhancements: -Display a list of all the files and let the user choose fron this -A compiler for normal texts to NML -More formatting tokens (ideas are welcome) --Tips&Tricks -You can use TI's Graphlink program to paste normal text into a nifty file -You can introduce Nifty to your teacher, for giving notes. -Nifty can read and display ANY TI-Token, this is ideal for Math notes, because you can include normal lines of calculation tokens, like "sqrt(3/4)" with the square root token. -You may be able to use TI-Standard tokens like "If" or "And" to inter- nationalize your NML files, since those will be changed with language localisation. -You can put "hidden" text after the End directive, it will than be in the file, but not displayed by nifty. -Be sure to check out the example Nifty file! --Developement Information Nifty files are identified by "Stop:NIFTY[enter]" at the beginning. Nifty files are distinguished by their memory address, so there can be two nifty files with the same internal name. The TIOS however, forces every file to have a unique tios name. --Thanks go to the following people: -Dan Englender, for helping me with the TI83+ Token Reading system, and modifying the TI83Plus.inc Include file for use with TASM -James Matthews, for writing the ASM Guru, that is a great help, even when learning TI83+ ASM -Texas Instruments, for making their Freeware App signing key really free, and for making the flash debugger, which proved to be an invaluable tool in developing Nifty -All the ones on the ticalc.org assembly-83 list for giving advice, and keeping me with my mind to Asm, when I wasn't programming for a while. --Legal Stuff: Nifty is distributed Open Source, this will probably become GPL but in the meantime, here's my own version of an Open Source Developement License: -You may view, edit, and build the source, for your own use, without distributing the source in public. You are allowed to distribute a build from a modified source within your class, and ONLY in your class or among 5 friends who are not in your class. You are not allowed to distribute your modified source to anyone but yourself and me. -The unmodified source is available to everyone, for building, viewing, learning or improving purposes -If you make any modifications to the source, which are a definate improvement such as bug fixes and added functionality, you MUST mail them to me, at (nifty@hbyte.net). -You may not remove any copyright notices from the code. You may add your name, if you have added an improvement. Exception to this is when you remove, damage or mutilate part of the Nifty code, in that case you must add a statement which clearly states that you changed the code, to both your source and your modified program. Adding features which can be used specifically to cheat or fraud on tests, and do not have specific other uses of are an unavoidable consequence of a real improvement is considered "Mutilation" too. -I am not obliged to keep the project Open Source if there are pressing reasons for. I will however seek any way to keep Nifty open source when reasonably possible. Greetings to all users. And I hope you will have many uses for Nifty. --History: 1.0 - Finished 14-08-2001: Added page numbering, flash reading support, and added the special "/" token for forcing to display the next token. I made Nifty an application thanks to TI's free app signing key. 0.7 to 0.9 - Personal developement numbering, not published 0.6 - Finished 22-3-2001: I implemented a way for the user to see if (s)he is on the first or last place of a NML File, by displaying arrows to indicate the direction (s)he can go (up/down). I also fixed a bug with the apd that causes your calculator to crash. 0.5 - Finished 19-3-2001: I had suspended Nifty, because of my inability to port the text-writing routine to the Plain TI-83, but got to work on it again, this time 83Plus only Pre-0.5 - Personal use only: I came up with a rough version of nifty, when I annoyed myself with the way basic files are displayed in the on-calc editor, the only way to make text- documents on-calc, and view them. The first version of Nifty was made a few days later. The "Starting Core" of nifty is a routine for displaying formatted text, that I developed earlier. I only had to adapt it to read and write TI's Tokens.