Msg: 5883 *Conference*
07-04-95 17:20:49
From: COMET _
To : TRACY ALLEN
Subj: REPLY TO MSG #5434 (UNDELETE -- COLD START RECOVERY)
If I remember correctly, the First BASIC program maintains its address. This location depends on how much RAM the machine has, but is able to be calculated. (Maybe from FAC0?) Now I believe that the ModelT calculates end-of-file for a BASIC program by looking for three consecutive null bytes. {In assembly, this would represent three consecutive no-ops, taking 12 CPU clock cycles.} I was thinking, that if somebody (e.g. myself) was interested in experimenting with the Model 100, and didn't want to repeatedly use an external device to store the .CO (and BASIC and .DO) files, that there may be a way of recovering from a Cold Start, if one merely had a copy of the file directory. [Assuming that the copy wasn't munged, and that the end-of-file marks for BASIC and .DO weren't munged, and that the file directory copy was current.] The file takes up 27*11=297 bytes, which is quite small (and the backup directory might not even need to store the ROM files). Now if there was an unused [:-)] piece of RAM for us to store this in... but there isn't, is there? Well, here's my idea: [Ron Wiesen, other gurus, are you listening?] maybe a BASIC program can be First loaded which would OVERWRITE ITSELF with a 297-byte data section and M/L to copy the directory there [followed by three null-bytes, to keep the MENU program happy; oh, and make the entry "invisible" while we're at it]. The FADA table could be modified so that the appropriate BASIC keywords would automatically cause a copy of the file directory to be made. Alternatively, the clock-cursor-keyboard routine could be modified to run this section. Well, what do you think? :D Anybody out there inspired enough to actually CODE this thing? ;9