Difference between revisions of "OSWORD &41"

From BeebWiki
Jump to: navigation, search
m (moved OSWORD 41 to OSWORD &41)
 
m (1 revision)
 
(2 intermediate revisions by the same user not shown)
(No difference)

Latest revision as of 19:13, 8 March 2015

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)