Simone.Rapisarda@p1004.f600.n332.z2.fidonet.org (Simone Rapisarda) (05/31/91)
Sorry but the version of ALICE that I posted some days ago is an old one and doesn't work properly. Here is the new correct version, it's a lot modified and improved (faster and shorter). Here is also a new doc because of the many differences. Sorry if the first version have caused problems to you. I think that the way ALICE works is the best way for an user-RPL program, but i think also that the very best program would be one in internal-RPL that doesn't use keys assignements and vectored ENTER. Sorry but at the moment i'm not able to do this, maybe someone else... ALICE 1.2 is at the end of this message in ASC format (use ASC\-> to translate it). ALICE 1.2 alias dir-WB ----------------------- In the HP48SX there isn't a built-in way that let you store in a directory two configuration programs that would be automatically executed, one entering the dir and the other exiting the dir. Let's see a simple example: STOUT \<< DEPTH \->LIST 'STACK' STO \>> STIN \<< { # 0h # 0h } STOF STACK LIST\-> DROP 'STACK' PURGE 1 MENU \>> The automatic execution of STOUT on exiting a dir and of STIN on entering a dir could transforms that directory in a 'workbech'. The one above is only an example, I really think that the possibilities of a similar feature can bring to VERY useful results. All the programs you need are enclosed in a configuration program called ALICE (it's important you don't change her name). Put ALICE in the directory you have chosen and execute her. She will: - set the flags -61 ([USR] once to lock), -62 (user keyboard active) and -63 (vectored [ENTER] active). - assign two programs to the keys 31.2 and 31.3 (so they will substitute the 48 commands UPDIR and HOME). - destroy herself leaving in the current dir the programs \->WB, OUTF, INL, \198. Now you have to store the configuration programs in this directory or in its subdirectories. Doing this remember the following things: - All the subdirectories of a dir-WB will be dir-WB (so if you don't want all the directories of your 48 to became dir-WB don't let ALICE explode in the HOME dir). - If you don't store the two configuration programs in a directory, the nearest in the path will be used (naturally only if they exist). The two configuration programs must be stored with the names STIN (INcoming-SeTtings) and STOUT (OUTgoing-SeTtings). The last instruction of STIN must be INL (stands for IN-Last). The last instruction of STOUT must be OUTL (stands for OUT-Last). So the two programs must be like these: STIN \<< ... ... ... ... ... INL \>> STOUT \<< ... ... ... ... ... OUTL \>> Where the ... mean everything you want them to mean! As last thing you have to put on the first level of the stack the PATH of every directory and execute \->WB. Remember, you must repeat this operation with every subdirectory of a dir-WB. Now the only thing you have to do is enjoy yourself moving up and down the path ! NOTES: - If you want to disable/enable the dir-WB capability you have only to press [USR] ([Orange-Shift] [Alpha]) once, but remember: when you reenable it be shure you are in the same direcory where you disabled it. - The following global variables are used by or contents the programs so be careful when you use them for other pourposes. \->WB \GbENTER \198 STIN STOUT INL OUTF - If you want you can HIDE the programs you don't use: \198, INL, OUTF, \GbENTER, STIN, STOUT etc. if you have some questions or want more information I will be glad to answer. If somebody knows of a better way to accomplish this, please let me know! As last thing a little suggestion, I take Tetris as an example: Enter in the Tetris directory and rename the main program with \GbENTER, move up and set flags -62 and -63, now your tetris dir has became an autoexecuting directory, try to enter in it... Here is the beast. @----------8<---------- C U T H E R E ---------8<------------ @ @ A L I C E 1.2 @ %%HP:; "D9D204563284E205014C494345497632EFE0233920100000000000016978BF14 72C19C2A290DA178BF1472C19C2A290DA1472C1C9432D9D2084E20503545F455 458DBF1041A184E2040354594E48DBF1B21303392010000000000031304F422C 9432D9D2084E20503545F455458DBF1B51A184E2040354594E48DBF1B2130339 2010000000000021304F422C9432D9D201C432D6E201007B51A184E20503545F 455458DBF1D6E20100762BC184E2040354594E48DBF1B21304563284E20106C9 7632DCC02C9432D9D204563284E20106C976324563284E2060FD54E445542597 632DCC024B2A2B21304563284E2040F45545C497632DCC02C9432D9D20C9432D 9D2044230B21304563284E2060FD54E445542597632DCC024B2A2B2130456328 4E203094E4C497632DCC02C9432D9D20521A1DBBF1EB3A1491A14563284E2060 FD54E4455425976324563284E20106C9763292CF1DCC0276BA19DF02EB3A1B21 304563284E2030D8752497632DCC02B213009E5" @ @----------8<---------- C U T H E R E ---------8<------------ bye ___ /__/__ _ / \ /-//-' +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ FIDONET: 2:332/602.0@fidonet.org SIGNET: 27:1339/200.0@signet.org UUCP: ...!rutgers!modus!otello!gear!wolf +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -- WolfNet BBS Pisa (Italy) Tel. +39-50-589050 300-14.4K Baud Matrix 2:332/602.0 Simone Rapisarda - via FidoNet node 2:33/800 UUCP: ...!gear!wolf!332!600.1004!Simone.Rapisarda ARPA: Simone.Rapisarda@p1004.f600.n332.z2.fidonet.org