Author |
Message |
|
Lordelo
Newbie
Joined: 29 Oct 2009 Posts: 21
|
Posted: 01 Nov 2009 04:02:17 pm Post subject: |
|
|
Hello there, I didn't quite know where to put this, so here's my noob question, sort of:
As I understand it, the garbage collect function pretty much rearranges the archive memory to make room for another variable, but what if I want to do that when the archive isn't "full"? Is there a program that does the very same thing anytime I want?
Thanks in advance for any replies |
|
Back to top |
|
|
fougere
Advanced Newbie
Joined: 07 Aug 2009 Posts: 56
|
Posted: 01 Nov 2009 04:36:05 pm Post subject: |
|
|
You can manually call the GarbageCollect function from the catalog (assuming you have an 83/84+)
Or, you can repeatedly archive/unarchive a few large files several times until it is forced to GarbageCollect or even Defragment (don't do this too often or you might wear out the flash chip)
The reason you can do this is because when you 'delete' a file (or unarchive it, which essentially deletes it from the flash chip) the memory isn't actually erased; it's just 'marked for deletion' in order to not waste time by constantly rewriting and erasing data on the chip; it waits until it absolutely has to, or you ask it to.
Last edited by Guest on 01 Nov 2009 04:36:34 pm; edited 1 time in total |
|
Back to top |
|
|
brandonw
Advanced Member
Joined: 12 Jan 2007 Posts: 455
|
Posted: 01 Nov 2009 05:59:09 pm Post subject: |
|
|
You can also create a small temporary program and put the GarbageCollect token in it, then call ParseInp on it. It will still ask the yes/no if you want to garbage collect, but by installing a temporary key hook, you can force "Yes" to be selected.
I've used this method before and it works fine (but be smart and install an error handler, and back up any existing key hook). |
|
Back to top |
|
|
FloppusMaximus
Advanced Member
Joined: 22 Aug 2008 Posts: 472
|
Posted: 01 Nov 2009 06:28:42 pm Post subject: |
|
|
Don't.
Unless you're BrandonW, you almost certainly do not have any reason for needing to force a GC. Let the calculator do so automatically when it's necessary. Garbage collecting at other times doesn't help you in any way. |
|
Back to top |
|
|
Lordelo
Newbie
Joined: 29 Oct 2009 Posts: 21
|
Posted: 01 Nov 2009 06:46:53 pm Post subject: |
|
|
Thank you all, and I will then follow your advice FloppusMaximus, however I'd still like to know if all of what you guys mentioned (reading brandonw's reply made my nose and ears start bleeding) is also possible on a Voyage 200
Last edited by Guest on 01 Nov 2009 06:48:17 pm; edited 1 time in total |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 01 Nov 2009 07:03:01 pm Post subject: |
|
|
I just wanted to add: Don't rename/hide programs while they are in archive. The next time a garbage collect is triggered, you will get a RAM clear because thier name in the VAT and thier name in archive is different. |
|
Back to top |
|
|
DigiTan Unregistered HyperCam 2
Super Elite (Last Title)
Joined: 10 Nov 2003 Posts: 4468
|
Posted: 01 Nov 2009 09:10:17 pm Post subject: |
|
|
That's kind of goofy. Will definitely have to keep that in mind from now on. |
|
Back to top |
|
|
calc84maniac
Elite
Joined: 22 Jan 2007 Posts: 770
|
Posted: 01 Nov 2009 09:20:01 pm Post subject: |
|
|
Though technically, it only crashes after a TI-OS error, which makes it hard to realize the source of the problem if you don't already know. |
|
Back to top |
|
|
Mapar007
Advanced Member
Joined: 04 Oct 2008 Posts: 365
|
Posted: 02 Nov 2009 01:54:25 am Post subject: |
|
|
Quote: You can also create a small temporary program and put the GarbageCollect token in it, then call ParseInp on it. It will still ask the yes/no if you want to garbage collect, but by installing a temporary key hook, you can force "Yes" to be selected.
I've used this method before and it works fine (but be smart and install an error handler, and back up any existing key hook).
Or you can spend the 5 minutes you needed to write that program to search for the actual address. + it saves bytes. xD |
|
Back to top |
|
|
fullmetalcoder
Member
Joined: 01 Aug 2009 Posts: 139
|
Posted: 02 Nov 2009 02:26:25 am Post subject: |
|
|
Mapar007 wrote: Quote: You can also create a small temporary program and put the GarbageCollect token in it, then call ParseInp on it. It will still ask the yes/no if you want to garbage collect, but by installing a temporary key hook, you can force "Yes" to be selected.
I've used this method before and it works fine (but be smart and install an error handler, and back up any existing key hook).
Or you can spend the 5 minutes you needed to write that program to search for the actual address. + it saves bytes. xD
I believe what Brandon explains is how to get a Garbage collect to be performed from an assembly program... |
|
Back to top |
|
|
Lordelo
Newbie
Joined: 29 Oct 2009 Posts: 21
|
Posted: 02 Nov 2009 06:10:15 am Post subject: |
|
|
ztrumpet wrote: I just wanted to add: Don't rename/hide programs while they are in archive. The next time a garbage collect is triggered, you will get a RAM clear because thier name in the VAT and thier name in archive is different.
crap... too late... thanks though
Last edited by Guest on 02 Nov 2009 06:11:09 am; edited 1 time in total |
|
Back to top |
|
|
IAmACalculator In a state of quasi-hiatus
Know-It-All
Joined: 21 Oct 2005 Posts: 1571
|
Posted: 02 Nov 2009 07:16:24 am Post subject: |
|
|
System Doctor works pretty well, though I'm sure that there are easier ways to do it. Possibly an exec( command?
Last edited by Guest on 05 Jul 2010 07:42:58 am; edited 1 time in total |
|
Back to top |
|
|
Mapar007
Advanced Member
Joined: 04 Oct 2008 Posts: 365
|
Posted: 02 Nov 2009 08:12:17 am Post subject: |
|
|
My way is an easy but non-OS-portable way to do gc from an assembly program. |
|
Back to top |
|
|
Lordelo
Newbie
Joined: 29 Oct 2009 Posts: 21
|
Posted: 02 Nov 2009 10:50:12 am Post subject: |
|
|
IAmACalculator wrote: System Doctor works pretty well, though I'm sure that there are easier ways to do it. Possibly an exec( command?
wow this thing looks interesting, thanks.
I hope you'll all forgive me for my "new toy hard-on", you see I just bought the "TI-92+ Silver Edition" and it might not have been worth it's price tag (and so on about all the things that are wrong in buying a brand new Voyage 200, nowadays), but it's beautiful and I love it and I'm a noob and I wanna learn stuff about it... Don't get me wrong, I don't intend to start learning at "how to garbage collect" xD I was just curious.
Last edited by Guest on 05 Jul 2010 07:43:30 am; edited 1 time in total |
|
Back to top |
|
|
calc84maniac
Elite
Joined: 22 Jan 2007 Posts: 770
|
Posted: 02 Nov 2009 11:32:48 am Post subject: |
|
|
There is no TI-92+ Silver Edition... |
|
Back to top |
|
|
Lordelo
Newbie
Joined: 29 Oct 2009 Posts: 21
|
Posted: 02 Nov 2009 11:35:12 am Post subject: |
|
|
calc84maniac wrote: There is no TI-92+ Silver Edition...
I know sir, it was, apparently, a failed attempt at making a joke, hence the quotation marks.
Last edited by Guest on 02 Nov 2009 11:37:31 am; edited 1 time in total |
|
Back to top |
|
|
Lordelo
Newbie
Joined: 29 Oct 2009 Posts: 21
|
Posted: 02 Nov 2009 01:31:03 pm Post subject: |
|
|
IAmACalculator wrote: System Doctor works pretty well, though I'm sure that there are easier ways to do it. Possibly an exec( command?
turns out it doesn't work on TiEmu, it just returns "wrong calculator". maybe it's because it's the 3.10 OS?
Last edited by Guest on 05 Jul 2010 07:44:02 am; edited 1 time in total |
|
Back to top |
|
|
Mapar007
Advanced Member
Joined: 04 Oct 2008 Posts: 365
|
Posted: 02 Nov 2009 01:44:30 pm Post subject: |
|
|
3.10 doesn't exist. |
|
Back to top |
|
|
Lordelo
Newbie
Joined: 29 Oct 2009 Posts: 21
|
Posted: 02 Nov 2009 02:00:31 pm Post subject: |
|
|
Mapar007 wrote: 3.10 doesn't exist.
wait what? I'm confused... I meant to say that the Voyage 200 OS version that I use in TiEmu is the 3.10, so what is it that is 3.10 and doesn't exist? I'm very new at this, so I do think I'm the one wrong here, but if you know what I mean correct me if I am indeed wrong and tell me what you mean to say please.
Last edited by Guest on 02 Nov 2009 02:00:55 pm; edited 1 time in total |
|
Back to top |
|
|
calc84maniac
Elite
Joined: 22 Jan 2007 Posts: 770
|
Posted: 02 Nov 2009 04:34:25 pm Post subject: |
|
|
Mapar007 wrote: 3.10 doesn't exist.
It does according to the ticalc page.
Last edited by Guest on 02 Nov 2009 04:34:59 pm; edited 1 time in total |
|
Back to top |
|
|
|