So I am aware that both Cesium and Vysion seem to be able to hide files from the TI-84 Plus CE's OS's file and memory menus by changing the first byte of any specific file's name to be below 0x33 or something like that. I'm not sure if I remember correctly, but I thought that Epsilon5 said something in the SAX about XOR'ing the first byte with 64, or some other multiple of 2 like that a while ago. I have not tried this yet, but I was wondering how you would get back the original 8 bit value that the first character originally contained, and I am not sure if this is the proper way (I don't want to screw anything in my program up by trying anything fancy without sufficient knowledge).
This is what I reasoned out; it is probably flawed in some way, so please be patient and tell me if I'm doing anything stupid!


// I might be wrong on these values, but I could change them pretty easily if I am indeed wrong
//192 = 1100 0000
//32  = 0010 0000
char name[] = "ABC";
char* new_first_char = name[0]^192;
name[0] = new_first_char;

Thank you! Very Happy
(a XOR b) XOR b = a. Because XORing by the same thing twice gives the original value, you can just XOR by 64 to toggle whether a program is hidden. It's equivalent to adding 64 when the program is hidden, and subtracting 64 when it's not.

Your code is using a char* when you should just be using a char.
So, you can probably just do name[0] ^= 64; to toggle whether a program is hidden or not.
Sorry for the late reply on this-what commandblockguy said is exactly the way that VYSION 1 does it:
name[0] ^= 64;
to toggle the hidden status. From there, I used the ti_RenameVar function to set the new name of the program accordingly. If you want to get the name of a hidden program without having the wrong character at the beginning of the string, you can use:
char temp[9];
strcpy(temp, name);
temp[0] |= 64;
or similar (please yell at me if I made a mistake, it's late at night so I'm probably not thinking straight). If you don't care about the original name, you could also just use that last line of code on the program name and preferably store somewhere whether the program is hidden or not, so you can toggle in the correct way later on.
Thank you! So I take it that the first byte of a program's name shouldn't ever be more than 64*2 so that subtracting 64 will make it <= 64? Because the TI-OS can't detect below 65?
Register to Join the Conversation
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.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum