[comp.sys.handhelds] ALICE 1.2

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