# OSWORD &41

From BeebWiki

OSWORD &41 (65 ) - Miscellaneous graphics commands AMX Super Art

On entry: XY?0=command number XY+1.. contains the arguments.

Commands are: 0 - Draw patterned block On entry: XY+1 =pattern number XY+2..3= left X coordinate XY+4..5=bottom Y coordinate XY+6..7= right X coordinate XY+8..9=top Y coordinate

1 - Store area of screen On entry: XY!1=destination address XY?5=left text X coordinate XY?6=bottom text Y coordinate XY?7=width in characters XY?8=height in characters.

2 - Restore area of screen On entry: XY!1=source address XY?5=left text X coordinate XY?6=bottom text Y coordinate XY?7=width in characters XY?8=height in characters.

3 - Store area then draw window on screen On entry: XY!1=destination address XY?5=left text X coordinate XY?6=bottom text Y coordinate XY?7=width in characters XY?8=height in characters.

4 - Pull down a menu On entry: XY!1 =data store address XY?5 =left text X coordinate XY?6 =bottom text Y coordinate XY?7 =width in characters XY?8 =height in characters XY!9 =text address XY+13..15=tick and options flags Text is stored as CR-separated strings, terminated by a zero byte. Tick and options flags are split into 12 low-order bits (legal selections) and 12 high order bits (ticks).

5 - Select option from pull down menu On entry: XY?1 =left X coordinate XY?2 =bottom Y coordinate XY?3 =right X coordinate XY?4 =top Y coordinate XY+5..6=illegal options flags On exit: XY?0=the selection number, or 0 if no item was selected.

6 - Shift AMX Art screen On entry: XY?1=X shift XY?2=Y shift.

7 - Set Mouse coordinates On entry: XY+1..2=X coordinate XY+3..4=Y coordinate

8 - Read AMX ROM details On exit: XY?1 =ROM number XY+2..3 =workspace address XY?4 =mouse flag (0=off, &80=on) XY?5 =pointer flag (0=off, &40=on) XY+6..7 =RAM pattern address XY?8 =status flag (b0-b3 keys generated by buttons, b4-b6 button status, b7 mouse movement generates cursor key motion) XY+9..10 =pointer X coordinate XY+11..12=pointer Y coordinate XY+13 =mouse sensitivity flag (b0-b2 X sensitivity, b3-b5 Y sensitivity, b6-b7 device type flag) XY+14 =ROM version number.

## See Also

Jgharston 13:35, 26 May 2009 (UTC)