[Oberon] ALO usage Log/Query ?

eas lab lab.eas at gmail.com
Mon Aug 11 14:51:07 CEST 2014

This rambling journey exposes some exercising of the current ALO version.
A reason for making/keeping detailed logs, is confirmed by my difficulty to
'pick up the threads' of ...
 Tue, Jan 29, 2013 at 2:39 PM
 Subject: [Oberon] HOW2 get Token at cursor?
 <paulreed at paddedcell.com>
] Have a look at TextFrames.Call(), which calls Oberon.Call() after setting
] up the parameters to the command.
Yes, as advised I've consulted PO.System.pdf, and even [listen while sleeping,
 via wily, which is a killer-ap for linux-ETHO-users] to:
  4.4.3. Cursor management.
A certain project needs the user to be able to roam-the-screen with the
mouse-in-right-hand and left-hand-press-any-key when the cursor is
on specific tokens/words.

BTW, I'm writing this all in ALO [in color - of course]:---------------
Real task to exercise ALO140731Z
Trace co-ordinates of cursor <- Find "ursor" in *.Mod, where *.Mod is <loaded>.
?! but ALO will use *nix-X cursor control !?
Binary file ./ALO.DisplayX11.Mod matches
Binary file ./ARM.Display.Mod matches
Display loaded.
Display3 loaded.
Display3.Mod <--no mention of "ursor"
GfxDisplay.Mod <--no mention of "ursor"
=?=> why/what difference: ARM.Display.Mod : Display.Mod =nX

ARM.Display.Mod == ...
(** Move hardware cursor to (x,y) *)
PROCEDURE MoveSprite*(x,y : LONGINT);   (** non-portable *)
        SYSTEM.PUT(index,51X); SYSTEM.PUT(data, CHR(x DIV 100H));
        SYSTEM.PUT(index,53X); SYSTEM.PUT(data, CHR(y MOD 100H));
        spriteX:=x; spriteY:=y
END MoveSprite;
=?=> HOW2 trace spriteX:=x;
= Check Hello.Mod = Out.String("spriteX:=x"); Out.Int(spriteX,8); Out.Ln;
BACKUP: ARM.Display.Mod => ARM.Display.ModORGNL
=?=> Can't compile a running/used module ?
-> ARMCompiler.Compile * ==   compiling Display
  pos  1055  err 152    symbol file of imported module not found
-> System.Directory *Display* == Display.Sym
-> System.Free Display == Display reference count not zero <- being USED ?!!
Since the present system's compiler can't run except when the Display is active,
how can this problem be solved ?

Last year, to finally get output from <cusorPikToken>, I made a module,
similar to an existing one that gave the X,Y values  -- IIRC?

== Chris Glur.

More information about the Oberon mailing list