Omnimaga

Omnimaga => News => Topic started by: DJ Omnimaga on August 29, 2010, 11:46:43 pm

Title: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on August 29, 2010, 11:46:43 pm
Since our Axe Parser programming contest started, there have been a drastic increase in amount of calculator projects being lost in RAM clears or hard drive failures. So much that there are currently 0 entries submitted so far for the contest ending in 2 weeks.
(http://www.omnimaga.org/images/screenshots/ramclearpic.gif)
In order to give people a chance to submit something without suffering the same problem again, we have decided to write a guide on how to prevent your wonderful game progress from being obliterated while you are programming it. So here, below, is the answer to project lives, the programming universe and everything related to TI calculators:

1) Do not change your calculator batteries until they're completely dead. Save your money and our planet.
2) Do not create backups. They waste too much space and are time-consuming.
3) If you choose to backup anyway, group files are 100% reliable.
4) The archive memory is safe from any form of corruption. Unlocking flash is a myth, anyway.
5) Contrary to popular belief, TI-OSes are bug-free.
6) If during Garbage Collecting, the run indicator stops moving, pull a battery.
7) Same if you update your OS and it stalls at 0% for 3 seconds.
8) Feel free to upgrade or downgrade to another calculator OS at any time. 3rd-party OSes are the huge thing in the community, now.
9) With Axe Parser, you got 32768 bytes of RAM to save your temporary data into.
10) TI-Connect is 100% reliable for calculator->PC file transfer.
11) Loan your calculator to random people.
12) When BrandonW finds a new TI-OS bug, attempt at recreating it on your calculator immediately.
13) The TI-83 Plus uses Flash technology. Go to your favorite Flash game website, download then rename the SWF to 8XP. You're set!
14) When tired of coding, keep your stuff in RAM and make a few Super Mario levels with MEDIT.
15) You can also play a few of your other favorite ASM games otherwise.
16) Have fun with OSKill.
17) Same with CalcSys. By the way the readme is useless.
18) When making BASIC games, add the ":" character at the beginning of all 250 sub-programs that comes with it, for MirageOS compatibility.
19) Run A.8xp before installing Ion then go impress all your friends, who are scattered all over the school building, with color on-calc.
20) Code while waiting for the school bus under the rain.
21) Leave your calculator in the car during Summer during your entire trip to family in Texas.
22) Use Omnicalc RAM Recovery after Garbage Collecting.
23) Rely on Omnicalc RAM Recovery even if you have a TI-84+ missing 5 extra RAM pages.
24) Under Omnicalc's Virtual Calc, archive/unarchive stuff then switch to the other calculator.
25) Leave your game running when not programming
26) Use 2nd+STO to recall strings of 2 byte tokens when running low on RAM.
27) Unlock ASM games in your favorite shell then attempt at executing each weird character contained in the program individually.
28) Install a TI-84 Plus OS on your TI-83 Plus or vice-versa.
29) Skim through DoorsCS7, xLIB, Omnicalc or Celtic III readme then use the additional BASIC add-on commands in a trial and error fashion.
30) Use a sub-program containing "AsmPrgm" and run it with Asm(prgmNAME) at the beginning of your BASIC game as an attempt to increase its speed.
31) Bring your calculator to restricted calc program usage math test.
32) Use no anti-virus (or use Norton) while downloading copyrighted material for free.
33) Experiment with actual viruses.
34) Use Windows 98, ME or Mac OS 9.2 to develop calc softwares.
35) Program on your desktop during lightning storms.
36) Computer processor is too slow to compile your ASM program? Unsolder it from your motherboard then replace it.
37) After uploading your grayscale adult game to ticalc.org, delete it from your calc to free up space for math programs and rely on ticalc.org for backup purposes.
38) Need more archive? Delete the OS certificate.
39) Use the following program to speed up your calculator: http://www.ticalc.org/archives/files/fileinfo/293/29350.html
40) Press the LCD with your fingers or bend the calc to create all sort of awesome animations on the screen.
41) Play S.A.D Alpha 2 while your project is unarchived, taking most RAM.
42) Jpizzle1122 (http://www.youtube.com/user/JPizzle1122) is awesome.

Hopefully, a sarcastic version of this topic posted (and stickied with an all-caps title) several months ago (http://ourl.ca/4697) may help more!
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on August 30, 2010, 01:47:14 pm
On a side note, 36 happened for real in the TI community, before. However, the user appears to have gotten his UTI account deleted along with all posts, because I could not find anymore trace of him and his topic/posts anywhere on that site.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Hot_Dog on August 30, 2010, 01:51:24 pm
#41 happened to me :)  DJ, this is an awesome "Top 10" kind of list
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on August 30, 2010, 02:52:04 pm
#20 for me :D

We should eventually move this to Randomness so we can make another 1000 Ways list :)

#43: #29 with Axe Parser
#44: If you have a TI-84 Plus, the OS protects your groups as backup files if you press the left, right, and ON keys simultaneously.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on August 30, 2010, 03:37:53 pm
Nah it will remain in the news section I think. It will probably go down fast, though, with Mapar retirement news, the contest deadline, the 9th anniversary and the tribute video, not to mention potential releases/updates.

Feel free to post 1000 ways here as long as it isn't just stuff like "lolifying Netham45 with a Genolo" :P
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: souvik1997 on August 30, 2010, 06:05:29 pm
Quote
36) Computer processor is too slow to compile your ASM program? Unsolder it from your motherboard then replace it.

What kind of computer processor is soldered onto the motherboard? In my computer, all you have to do to remove the processor is remove the processor fan and lift up the processor.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: apcalc on August 30, 2010, 06:07:53 pm
lol :)

Great job thinking of all of these reasons DJ! :D
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: MRide on August 30, 2010, 07:24:35 pm
We should compile all these similar articles (this one, submitting files on ticalc, writing reviews on ticalc) into one place.

And we should make more!  How to *not* write a game, (you lost) anyone?
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: FinaleTI on August 30, 2010, 08:59:02 pm
#45: Run a bunch of BASIC programs from MirageOS v1.0 or earlier. It has to be safe, because it's MirageOS.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Michael_Lee on August 30, 2010, 09:43:23 pm
I kept wincing as I read this.  :)

My brother actually asked me why I was twitching.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on August 31, 2010, 01:09:09 am
Quote
36) Computer processor is too slow to compile your ASM program? Unsolder it from your motherboard then replace it.

What kind of computer processor is soldered onto the motherboard? In my computer, all you have to do to remove the processor is remove the processor fan and lift up the processor.
There are some that are, I believe.Maybe not anymore, though. The guy who unsoldered his CPU or processor from his motherboard did it 3 or 4 years ago. Maybe it was a laptop, though.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: TsukasaZX on August 31, 2010, 04:13:08 am
I'm guilty of (3) but I'm also backing up to my computer. So far, so good `-`
Also guilty of (10) by default and (35) because I have a laptop and I'm surge-protected when using the AC>DC adapter anyway.

A long time ago, I used to use MirageOS exclusively. Then my friend introduced DoorsCS ... 5? ... and I used both MOS and DCS. Then MOS ate ProtoType and FUBAR'd (exclusive events) so I nixed it.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: LordConiupiter on August 31, 2010, 05:06:06 am
for#3: I created allways backups from my BASIC progs, but once I created a BackUp group, which was pretty large, and got a RAM clear the next day or so, and when I tried ungrouping my backup, it said
Code: [Select]
UNGROUPING...
            Done

so I lost everything, which was about 6 weeks work :'(

but now I started the project again, but in Axe. This time I create backups as groups for portability, and for safety on my PC...
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on August 31, 2010, 12:45:29 pm
for#3: I created allways backups from my BASIC progs, but once I created a BackUp group, which was pretty large, and got a RAM clear the next day or so, and when I tried ungrouping my backup, it said
Code: [Select]
UNGROUPING...
            Done

so I lost everything, which was about 6 weeks work :'(

but now I started the project again, but in Axe. This time I create backups as groups for portability, and for safety on my PC...

Ouch. I've seen that one too. Yet another grouping bug :(

#46: Your calculator doesn't actually turn off when you press 2ND+[OFF]. To save battery life, you should remove all five batteries when not in use.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on August 31, 2010, 01:45:37 pm
I think I had that one happen only once, but not again afterward
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 01, 2010, 01:45:02 pm
#47: xLIB was made to chain with MirageOS. Use them together to get interesting results.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 01, 2010, 02:44:56 pm
I wonder what xLIB functions glitches with Mirage? I know I could run XXR with no problem in it, but it didn't use a lot of the functions...
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 01, 2010, 02:45:50 pm
I think xLIB uses StatVars, but I'm not sure.

#48: When you change batteries, hold down DEL when inserting the last one.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: fb39ca4 on September 01, 2010, 07:59:19 pm
I think xLIB uses StatVars, but I'm not sure.

#48: When you change batteries, hold down DEL when inserting the last one.
What does it do?
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: MRide on September 01, 2010, 08:16:30 pm
49.  All apps use totally different key hooks, so make sure to constantly switch between running Mirage, xLib, DCS, Omnicalc, etc. until you get all of their functions working simultaneously.
50. Using DCS 7's ON + STAT Function while in the MODE menu is an excellent idea.
51. BrandonW's Fake Mem Clear program doesn't mess with your RAM at all.  Therefore, never archive any programs before using it.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 02, 2010, 12:39:52 pm
I think xLIB uses StatVars, but I'm not sure.

#48: When you change batteries, hold down DEL when inserting the last one.
What does it do?

Try it (with everything archived, of course). When you start panicking, press ON.

EDIT: Actually, don't. I don't know exactly what it does, but I've done it before to my calc, and nothing bad seemed to happen (except for a RAM clear, of course). But then, I have no idea, so someone else should answer this question :)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 02, 2010, 02:26:01 pm
Just a RAM clear. It's the OS sending screen for when a new OS needs to be sent. I think this isn't even part of any OS but rather the certificate or boot code. An ASM expert might be able to answer this better, though.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: calcdude84se on September 02, 2010, 05:31:16 pm
Yeah, it's part of the boot code. The main purpose is if the OS gets so messed up that you can't start sending an OS from it.
It's pretty much the calc's "recovery mode" And yes, the only thing that happens is a RAM clear.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 02, 2010, 06:34:17 pm
#52: Archiving anything is a waste of flash memory. Just keep it all in RAM.
#53: Never use Axe's backup feature. It's useless.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 03, 2010, 02:03:22 am
Yeah, it's part of the boot code. The main purpose is if the OS gets so messed up that you can't start sending an OS from it.
It's pretty much the calc's "recovery mode" And yes, the only thing that happens is a RAM clear.
Yeah, or when you send an OS that has no OS install option. It would suck to get stuck with CSX forever for example if you absolutely needed the TI-OS again.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 03, 2010, 01:40:57 pm
:D When I first tried it, I thought I lost everything, including the OS. Ah, fun.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 03, 2010, 06:12:55 pm
Some people thought they ended up being stuck with CSX forever, though. THose posts made me scared of trying a 3rd party OS until I discovered the OS Install screen thing that appears with DEL was not part of the OS
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 03, 2010, 06:24:43 pm
Some people thought they ended up being stuck with CSX forever, though. THose posts made me scared of trying a 3rd party OS until I discovered the OS Install screen thing that appears with DEL was not part of the OS

I was afraid of trying it too, but by the time I discovered CSX, I was already using Wabbit :)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: AssemblyBandit on September 05, 2010, 02:54:06 pm
Up to #11 I was actually believing this. :( Wow.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 05, 2010, 03:00:49 pm
Really? DoN't worry it's just some sort of sarcastic joke. :P Hence the different text color. It was inspried a bit from Ticalc.org's "62 ways to get your reviews accepted on ticalc.org" joke.

Btw nice to see you're still around :)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: patriotsfan on September 05, 2010, 07:48:26 pm
54. Press MODE, ALPHA, S, ENTER, and ENTER to start the self-test.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: apcalc on September 05, 2010, 09:11:47 pm
On the TI-89:

55. Go to the home screen, press f5, diamond, clear, catalog, enter ;)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: calc84maniac on September 05, 2010, 09:51:16 pm
56. Make sure to play around with fake Mem Clear applications and hit the Reset All button.

(true story)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: apcalc on September 05, 2010, 09:52:45 pm
That happened to me on my Nspire 84 keypad :)

(the only thing was, that it had good results, as I did not have to go through the trouble of deleting all of TI's useless apps :P)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: mapar007 on September 06, 2010, 11:02:47 am
56. Make sure to play around with fake Mem Clear applications and hit the Reset All button.

(true story)

I had that happen to me while I was testing my own fake reset app. Luckily enough it was my only project at the time :P
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 07, 2010, 02:38:21 am
What was the problem occuring with BrandonW's fake mem clear? Did it just actually RAM clear for real?
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: _player1537 on September 07, 2010, 02:49:00 am
It hid all the programs, making it appear like they were lost
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 07, 2010, 02:57:41 am
oh ok x.x

Weird. What would be the way around that? (Besides CalcSys)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: calc84maniac on September 07, 2010, 08:30:33 am
What was the problem occuring with BrandonW's fake mem clear? Did it just actually RAM clear for real?
Well, what happened with me was, I enabled the Fake app, then fake reset ram. Then I restored the "lost" programs. After that, I tried Reset All, unaware that I had to enable the Fake app again. :(
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 07, 2010, 12:19:07 pm
Ouch x.x. Yeah sometimes it's great to know some stuff in advance when coding. One thing I wish I knew when I coded Illusiat 2002 is that MirageOS 1.1 took 4 hours to sort 90 sub-programs, that lowercases were 2 byte tokens and that disabling the sorting option was a bad idea for your archive.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 07, 2010, 07:07:24 pm
#56: Self-testing is completely safe and actually helps you get rid of data corruption.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Builderboy on September 07, 2010, 07:15:38 pm
MirageOS 1.1 took 4 hours to sort 90 sub-programs

Whaaat?  really?  That is just no good at all :(
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 07, 2010, 07:37:57 pm
WOW 1.2's a lot faster, thankfully :)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Builderboy on September 07, 2010, 07:46:49 pm
I think it might have something to do with the fact that its not just sorting a regular list like us programmers are used to, but it has elements that are different sizes because of different program names, and it has to make room for them all in order to sort them all around.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 07, 2010, 08:22:34 pm
MirageOS 1.1 took 4 hours to sort 90 sub-programs

Whaaat?  really?  That is just no good at all :(
Yeah the sorting algorithm was not suitable for large lists of programs. It was much faster than 1.2 with 3 or 4 prog but otherwise it was insane. I was stuck with 1.1 for 3 years. I was so happy when 1.2 came out (although now I use Doors)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on September 12, 2010, 11:16:37 am
Wasn't there a 1.3 being developed? Too bad it died :(

#57: Assembly games never reset your RAM unless they specifically have code for it. Don't worry about playing "unstable" games.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on September 12, 2010, 12:36:44 pm
Yeah, I don't know what happened to it. I remember it started around late 2004. Ticalc.org made a fake news about its release in 2008, but it was a rickroll :P (the only ticalc.org fake news not posted on April 1st to initially show up with a blue border)
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on December 03, 2010, 07:40:08 pm
#58: You don't need to know ASM to program in hex on your calculator. They're totally different languages.
#59: If you ever forget the address of a ROM call, don't worry about looking it up. Just run this code
Code: (Hex, not ASM) [Select]
:AsmPrgm21000022EB9DCDEA9DEF0745EF2E45237CB52011C9EF0000C9
and wait for it to do whatever you want. Then the number that appears on your screen is the number you want.
[Probably obvious, but don't actually run that.]
#60: All Axe Parser does is convert the tokens of your source into ASM. So if you ever accidentally Axe, you can always compile programs by hand by running it through the file unsquisher (http://asmtools.omnimaga.org/) and typing it into your calculator.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on December 03, 2010, 07:57:24 pm
What does :AsmPrgm21000022EB9DCDEA9DEF0745EF2E45237CB52011C9EF0000C9 actually do?
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on December 03, 2010, 08:00:52 pm
What does :AsmPrgm21000022EB9DCDEA9DEF0745EF2E45237CB52011C9EF0000C9 actually do?

It basically tries b_calling every address in memory as a routine ;D
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on December 03, 2010, 11:06:55 pm
I am confused, you mean it's like using every existing b_calls in a row?
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Deep Toaster on December 04, 2010, 11:41:48 am
I am confused, you mean it's like using every existing b_calls in a row?

And the nonexistent ones. It basically runs b_call(0000)    b_call(0001)    b_call(0002)...

When it does what you want, the number on your screen is the number you want ;D
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: jnesselr on December 04, 2010, 12:43:59 pm
I am confused, you mean it's like using every existing b_calls in a row?

And the nonexistent ones. It basically runs b_call(0000)    b_call(0001)    b_call(0002)...

When it does what you want, the number on your screen is the number you want ;D
In other words, for the non-existent ones like 0000, it takes the first two bytes as the address and the next one as the page. On my 2.43 calc, that would mean that it would call address 02DB on page E6 (Which, doesn't exist).  Also note that the bcall addresses have to be 3 bytes appart, so b_call(0001) would page address E602, page 80 (I think that on my calc, it only goes to page 7F).  So yeah, it's bad.
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on December 04, 2010, 04:07:57 pm
I see. So when calling a non-existent B_call it crashes, right?
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: Ashbad on December 04, 2010, 04:09:02 pm
not always, but calling a random point in memory is never really good, you might hit a part that messes with the archive, and with no register input it could destroy your archive  :crazy:
Title: Re: 42 ways to prevent a project from dying due to data losses
Post by: DJ Omnimaga on December 04, 2010, 08:24:09 pm
Ah, right. I guess this is like when you store stuff directly to memory addresses in Axe. If you store at the wrong location it can be quite bad. X.x