Archive Undelete v1.1 Readme Dr. D'nar September 2, 2008 ====== Introduction ============================================================ Archive Undelete is a utility for your calculator that can undelete accidentally lost programs. It does this by retrieving a residual copy of the program from archive memory. Archive Undelete can undelete any program that has (a) been in the archive at least once since (b) the last garbage collect. ====== Usage =================================================================== You can run Archive Undelete directly from the homescreen, or from any Ion compatible shell, including MirageOS. If you wish to run it from the homescreen, you will need to use the Asm(prgmNAME syntax to run it, getting the Asm( token from the Catalog via [2nd][0]. The first thing the program displays when you run it is a banner. After the banner it will display a list of all deleted items in your archive, pausing after each one. If you press [ENTER], it will attempt to recover the item; if you press [CLEAR], [MODE], or [DEL], it will quit; if you press any other key, it will advance to the next item. Once it has finished scanning the entirety of your archive, the message "Search complete." appears, followed by an immediate return to your shell if the program was run from one. Note that more than one copy of an item may appear; these are the result of multiple archive/unarchive cycles. In general, the items displayed are in order from oldest to newest; therefore, the last copy of an item you see will normally be the latest, though you may recover any. You will also notice that Archive Undelete displays both programs and appvars, distinguishing between them with an 'a' or a 'p' prefixed to the name. Program and appvars are identical in format, so it was only natural to include support for appvars. ====== Errors ================================================================== Various things may cause Archive Undelete to display an error message. Explanations of these messages follow. "Archive error." Variables cannot cross sector boundaries, but it appears one has. The appearance of this message would indicate either a bug or a corrupted archive. "Header error." This may also indicate a corrupted archive. If your archive is corrupted, the program will not display anything past the corrupted item. "Insufficient memory." There is not enough free RAM to extract the object. Note that the calculator makes a second copy of Archive Undelete when it runs the program, so you will need more memory than just the size of the object to extract it. "Program exists." The program you are attempting to recover is already present in some form in memory. Rename or delete it. Do not hide the other program; hiding it may cause problems once you unhide it. ====== Change Log ============================================================== Version 1.0 (uploaded July/24th/2008; archived 8/24/08) Initial release after week of intense coding and summer reading. Source is included as archutil_1-0.z80 . Version 1.1 (ul 9/2/08) Devised work-around to scrolling bug in MirageOS. Have no clue why bug ever happened. Source is included as archutil.z80 . ====== Additional Information ================================================== As you may have guessed, his program is a derivative of Archive Utility. Archive Utility will let you copy any item from the archive, including non- deleted ones. Archive Utility is, however, much bigger than Undelete--hence me putting it together. Special thanks to BrandonW. Without him this program would not have gotten very far. Disclaimer: As an assembly program, Archive Undelete is inherently capable of damaging your calculator. No liability is assumed for any damage resulting from this program.