Thanks to Xeda Elnara I found her nice TPROG program (it creates a temporary copy of an archived program without deleting the archived one) but the problem is that you cannot execute this probram inside a temporary program and thus I needed to change the main program prgmFUTOS.
Then program starts prgmUNLOCK first, a program for "unlocking" futOS and then enters an endless While Loop.
Theta is the number of the app (futOS contains 8 apps), LFUTOS(14) determines if an app has to be opened (it allows switching from one app to another without returning to the homescreen (prgmFUTOS8) first) with the values 0 meaning "Don't open any app" and X the number of app (like theta). LFUTOS(21) determines whether a subprogram of a forderapp has to be started or not (0: not, X: yes, from app nr. X).
I used a repeat loop because it checks the condition in the end (according to the "The Repeat Command" page) and the program is working well EXCEPT the subprogram of the folderapp.
Launching folder-app worked
Selecting subprogram led returning to the homescreen
Launching any app at the homescreen opened the subprogram (which was supposed to run before)
Quitting the subprogram reopened the app I selected before (That's not the error)
Quitting this app returned to the homescreen
Now my question is:
If a program is started inside a repeat loop (espessially the Asm(prgmTPROG)) and quitted, does the repeat loop still check the condition in the end?
Maybe I have a imagination-bug (It's 1:16 in the morning :D) so I'll give you the code:
ClrHome ClrDraw Asm(prgmA5 SetUpEditorLFUTOS If dim(LFUTOS)=0 Then "RESET:APP Asm(prgmTPROG prgmAPP End If LFUTOS(15)=1 Then UnArchive //not ready yet End If LFUTOS(44)=1 ClearEntries randInt(1,100→Z "UNLOCK:APP Asm(prgmTPROG Z/10 prgmAPP If Z/10≠Ans Then ClrHome If LFUTOS(4)=1 Output(1,1,"Fataler Fehler!" If LFUTOS(4)=2 Output(1,1,"Fatal error!" Pause ClrHome SetUpEditor RecallGDB 1 Asm(prgmA2 Stop End 1→E While 1 If LFUTOS(14)=0 Then randInt(1,100→Z "FUTOS8:APP Asm(prgmTPROG Z/10 prgmAPP End Repeat (LFUTOS(14)=0)+(LFUTOS(21)=0) // the MAAGIC repeat-loop If LFUTOS(14)≠0 Then LFUTOS(14)→θ 0→LFUTOS(14 ClrDraw For(A,0,99,5) Line(A-10,0,A-10,-62,0 Vertical A End ClrDraw End If LFUTOS(21) Then 0→LFUTOS(21) Str9+":APP" Asm(prgmTPROG Z/10 prgmAPP End If θ=1 "TIMETABL:APP If θ=2 "FORMULAS:APP If θ=3 "CALCULAT:APP If θ=4 "SETTINGS:APP If θ=5 "NOTES:APP If θ=6 "TIME:APP If θ=7 "GAMES:APP If θ=8 "NETWORK:APP Asm(prgmTPROG Z/10 prgmAPP If LFUTOS(20)≠0 Then LFUTOS(20)→LFUTOS(36) 0→LFUTOS(20) Asm(prgmA9 randInt(1,100→Z "UNLOCK:APP Asm(prgmTPROG Z/10 prgmAPP End End End
… after replacing the right character the time went 1:24 so I wish you a good night or morning (Where do you live? In America?)
If there are any questions just ask :)
Get futuristicOS 8 for your TI-84+
Learn more about futuristicOS 8