This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's TI-BASIC subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

Back to basic: if you ever need to compress a list, and all the numbers in it are positive, you can do RLE using -A,B where B is the repeated number, and +A is the number of times to copy it. (I told you I was crazy, and see, I compress lists in basic.)

RLE is a compression routine. Data occurring more than 3 times in a row is compressed as Flag byte, data byte, times to copy byte.
FF is the most common flag byte
4 is often subtracted from the times to copy byte, so:
FF 04 03 would decompress as 04 04 04 04 04 04 04
because the flag (FF) says the next two bytes are compressed data, and 04 is coppied 03+04 times, so you have seven 04s in a row

In my case, -? was the flag element and the times-to-copy element, because the fact of it being negative was the flag, the ? was the number of times to copy. the next element was the data
-4,23 would decompress as 23,23,23,23

HELP! I'm trying to make a program that compresses pics and lists, and I need some good algorythms. By the way, strings are kind of a bad option for me because of the filenaming conventions used by my program. Thx.

Or is there one that will store it and then make and restore it as a pic,
like your pic is pic 1 but you put another game on that uses pic 1. so if you run that prgm it will remake and stor the pic as 1?

I don't think these are undocumented, but maybe just hard to find...maybe

1.)you can find out how many digits are in a number with: int(log(# or variable)+1)

2.)If you ran out of variables, pretty hard to do but I guess it can happen, just go to the Finance menu, under the "Apps" button for the 83+, and press the right arrow button so that you are now on the variables menu. You can use just about any of these to store a number to. If I remember right, you can't Delvar "whatever variable here" but instead, you must do 0->"whatever variable here"

Well, I accidentally came up with this one (all by myself I'm so proud *sniff*:
If you have your screen zoomed out (like the area where a pixel equals a point) you can make a "blind"-like command using just the GridOn command.
I know it is kinda slow, but it is pretty small and neat.

Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.