Difference between revisions of "OSWORD &31"
m |
|||
Line 1: | Line 1: | ||
[[Category:OSWORD]] | [[Category:OSWORD]] | ||
− | + | &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]] |
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
- 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