RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Service_EnumerateScreenModes

Programmer's Reference Manuals
» Part 16 – Service Calls
» Service_EnumerateScreenModes

Service_EnumerateScreenModes

(Service &8D)
Entry
R1 141 (&8D)
R2 Number of modes to skip
R3 Monitor type
R4 Memory bandwidth available (in bytes/sec)
R5 Total amount of video RAM in system (in bytes)
R6 Pointer to block to return data, or 0 to just count entries
R7 Size of block (in bytes) if R6<>0, or 0 if R6=0
Exit
R0 Preserved ?
R1 0 to claim (further valid modes are available, but would not fit in the block), else preserved
R2 – (number of modes filled in)
R3 Preserved
R4 Preserved
R5 Preserved
R6 Pointer to byte after last one filled in, or preserved if 0 on entry
R7 Amount of unused space in block, or -(amount of space need in block) if counting

Use

This service is issued to enumerate the available screen modes.

Notes

Modules return information on all modes they provide that work on the specified monitor type and which require no more than the specified memory bandwidth and video memory.

OS_ScreenMode 2 provides a front-end for applications; you should use it rather than issuing this service call yourself.

By setting R6 and R7 to zero, clients can find the amount of space required to hold all the returned modes; they can then issue the call again to actually read the information. Alternatively, clients can use a fixed size buffer, and repeatedly issue the call until it is no longer claimed.
When using this method, R2 on entry – the number of modes to skip this iteration – should be set to: (previous R2 on entry) – (R2 on exit).

See also

  • OS_ScreenMode 2
  • Service Calls
  • Service_EnumerateScreenModes Block
Created on December 12, 2009 22:15:53 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: OS_ScreenMode 2, Service Calls, Service_EnumerateScreenModes Block, Mode Provider Flags

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys