Difference between revisions of "OSWORD &31"

From BeebWiki
Jump to: navigation, search
m (1 revision)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[[Title:OSWORD 31]]
 
 
[[Category:OSWORD]]
 
[[Category:OSWORD]]
OSWORD &31 (49 ) -  
+
&31 49 Direct call to PRISMA command Prisma
 
+
On entry:
 +
XY?0  = command
 +
XY?1  = number of parameters
 +
XY?2.. = command parameters
 +
 +
Commands are:
 +
XY?0 XY?1 XY?2..
 +
  0 *BLANK 0
 +
  1
 +
  2 *CENTRE 2
 +
  3 *COLOUR 1
 +
  4 *DOWN 1
 +
  5 *FIELD 0
 +
  6 *GENLOCK 0 or 1
 +
  7
 +
  8 *GOPT 1 or 2
 +
  9 *GRAPHICS 0 or 1
 +
10
 +
11 *GTV 1 or 2
 +
12 *INIT 0
 +
13 *LEFT 1
 +
14 *OVERLAY 1 or 2
 +
15 *PALETTE 1 or 2
 +
16 *POINT 0 or 1
 +
17 *PROFF 0
 +
18 *RIGHT 1
 +
19 *ROLLER 0 or 1
 +
20 *ROTATE 1
 +
21 *SPLIT 1
 +
22 *TEXT 0 or 1
 +
23 *TZOOM 1 or 2
 +
24 *UNBLANK 0
 +
25 *UP 1
 +
26 *VKEY 1
 +
27 *WIDTH 1
 +
28 *WINDOW 1
 +
29 *ZOOM 1 to 4
 +
30
 +
31 *FGRAB 1 or 2
 +
32 *HOLD 1
 +
33 *LEVEL 1 or 2
 +
34 *LPHASE 1
 +
35 *BUFFER 1
 +
128 Extend or re-allocate working buffer
 +
XY?1=buffer address high byte in I/O memory
 +
XY?2=number of pages
 +
129 Define pixel translation table
 +
XY?1..2=translation table address in I/O memory
 +
 +
This call provides a fast interface to all of the PRISMA-3
 +
*commands, except the *CONFIGURE, *GSAVE and *GLOAD commands
 +
which require string parameters. Errors are generated in the
 +
same way as the *commands.
 +
 +
The count at XY?1 is the number of parameters passed to the
 +
call, not the number of bytes passed. A 16-bit parameter is
 +
passed in two bytes but is counted as one parameter. For
 +
instance, *ZOOM 5 is passed as 29,1,5,0.
  
 +
==PRISMA calls==
 +
* [[OSWORD &28]] Read PRISMA information table
 +
* [[OSWORD &29]] Read PRISMA pixel value
 +
* [[OSWORD &2A]] Read PRISMA logical screen size
 +
* [[OSWORD &2B]] Read PRISMA colour palette
 +
* [[OSWORD &2C]] Send VDU sequence direct to PRISMA
 +
* [[OSWORD &2D]] Read last two PRISMA graphics cursors
 +
* [[OSWORD &2E]] Read PRISMA base screen visible origin
 +
* [[OSWORD &2F]] Read PRISMA graphics origin
 +
* [[OSWORD &30]] Read PRISMA interrupt status
 +
* [[OSWORD &31]] Direct call to PRISMA command
 +
* [[OSWORD &32]] Read position of PRISMA-3 roller screen
 +
* [[OSWORD &33]] Read/Write PRISMA overlay or nonvolatile memory
  
 
==See Also==
 
==See Also==
 
* http://mdfs.net/Docs/Comp/BBC/Oswords
 
* http://mdfs.net/Docs/Comp/BBC/Oswords
 
+
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 19:56, 25 October 2015 (UTC)
[[User:Jgharston|Jgharston]] 13:33, 26 May 2009 (UTC)
 

Latest revision as of 20:56, 25 October 2015

&31 49  Direct call to PRISMA command				Prisma
	On entry:
		XY?0   = command
		XY?1   = number of parameters
		XY?2.. = command parameters

	Commands are:
	XY?0		XY?1	XY?2..
	  0 *BLANK	 0
	  1
	  2 *CENTRE	 2
	  3 *COLOUR	 1
	  4 *DOWN	 1
	  5 *FIELD	 0
	  6 *GENLOCK	 0 or 1
	  7
	  8 *GOPT	 1 or 2
	  9 *GRAPHICS	 0 or 1
	 10
	 11 *GTV	 1 or 2
	 12 *INIT	 0
	 13 *LEFT	 1
	 14 *OVERLAY	 1 or 2
	 15 *PALETTE	 1 or 2
	 16 *POINT	 0 or 1
	 17 *PROFF	 0
	 18 *RIGHT	 1
	 19 *ROLLER	 0 or 1
	 20 *ROTATE	 1
	 21 *SPLIT	 1
	 22 *TEXT	 0 or 1
	 23 *TZOOM	 1 or 2
	 24 *UNBLANK	 0
	 25 *UP		 1
	 26 *VKEY	 1
	 27 *WIDTH	 1
	 28 *WINDOW	 1
	 29 *ZOOM	 1 to 4
	 30
	 31 *FGRAB	 1 or 2
	 32 *HOLD	 1
	 33 *LEVEL	 1 or 2
	 34 *LPHASE	 1
	 35 *BUFFER	 1
	128 Extend or re-allocate working buffer
		XY?1=buffer address high byte in I/O memory
		XY?2=number of pages
	129 Define pixel translation table
		XY?1..2=translation table address in I/O memory

	This call provides a fast interface to all of the PRISMA-3
	*commands, except the *CONFIGURE, *GSAVE and *GLOAD commands
	which require string parameters. Errors are generated in the
	same way as the *commands.

	The count at XY?1 is the number of parameters passed to the
	call, not the number of bytes passed. A 16-bit parameter is
	passed in two bytes but is counted as one parameter. For
	instance, *ZOOM 5 is passed as 29,1,5,0.

PRISMA calls

See Also

Jgharston (talk) 19:56, 25 October 2015 (UTC)