[Oberon] ALO usage Log/Query ?
Peter Matthias
PeterMatthias at web.de
Wed Aug 27 14:28:21 CEST 2014
Hi Chris,
have been on holidays, so I answer later.
Am 11.08.2014 um 14:51 schrieb eas lab:
> 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
Display3 and GfxDisplay are higher level modules for Gadgets. To get the
modules used by ALO, see file ALO.Make.Tool.
Maybe a naming scheme ALO.X11.Display.Mod would be more convenient to
show the file it compiles to.
ALO uses framebuffer as display. No (need for) hardware sprite support.
Cursor management is done in module Oberon.
> 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 ?
I forgot to include the symbol files. Will be included in the next
version. (The hard way would be to compile the core system new in a
different directory).
Regards,
Peter
More information about the Oberon
mailing list