Msg: 5933 *Conference*
08-09-95 15:41:40
From: RON WIESEN
To : COMET _
Subj: REPLY TO MSG #5926 (UNDELETE -- COLD START RECOVERY)
Now that I understand the circumstance where you want to save the file directory -- before doing M/L experiments -- I have a few thoughts. Combine the idea of using the lowest locale BASIC file with the idea of devoting the "last" file directory slot. This gives you the certainty that and M/L code to save the file directory is stationary because it is enclosed in the envelop (masquarades as) of the lowest locale "BASIC" files, and the certainty that this "BASIC" file is linked to "a particular" directory slot (last slot) which the recovery logic ignores as it deals with the other 18 RAM file slots. Given the notion about "invisible file name" for this "BASIC" file, I believe that an invisible file (BASIC or otherwise) can be invoked at the main Menu by typing its name on the Select line. So you can invoke it just prior to doing any M/L experiment you deem may munge things up. So the saving of the file directory is by operator demand. Let the "invisible BASIC" program save file directory info in an area that survives a cold-start. I suggested a few in my prior MSGs. If you are concerned about the locale difference of the "first BASIC file" among 8K, 24K, and 32K RAM variants of the Model 100, and thus variation in the absolute address of said file, there are simple means for BASIC code to "discover its memory locale". Similar means exist for M/L code. I won't details such means now. Consider placing "recovery code" in the same area that survives a cold-start. Idea #9 of my prior MSG elaborates. Note that operator recovery then is merely a BASIC direct statement (no memory shuffle result) of the CALL-1790 flavor. Note that CALL-1830[D[D[D[D[D[D[D[D[D[D[D Note that I missed one reference to CALL-1830 when I edited the prior message to reflect CALL-1790 as a consequence of area reduction from 95-byte to 72-byte. Besides, a 30-byte block of code isn't much for both recovery and save. So seperate the recovery and save logic: recovery in 30-byte block within area the survives cold-start, save in hidden BASIC file that is linked to "last directory slot" and is invoked on operator demand via the Select line of the main Menu.