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

Service_DisplayStatus

Service Calls
» Service_DisplayStatus

Service_DisplayStatus

(Service &DF)
Entry
R0 Reason
R1 223 (&DF)
R2 Display number
R3 Reason 1: Pointer to device descriptor
Other reason codes: Undefined

Reason Codes

# Hex # Action
0 &00 Device deregistered
1 &01 Device registered
128 &80 Device configuration changing
129 &81 Device configuration changed

Use

This service call is issued by the kernel when video drivers register or deregister with the system, or by drivers when their configuration/capabilities change in a noteworthy way.

Notes

Device registration and deregistration

Under RISC OS 5, the display number in R2 corresponds to the GraphicsV driver number. Reason 1 is issued when a driver calls OS_ScreenMode 65, just after the kernel marks the driver as being ready for use. However because GraphicsV does not use device descriptors, the descriptor pointed to by R3 will be empty (a single terminator word). Reason 0 is issued when a driver calls OS_ScreenMode 66, before the kernel marks the driver as having stopped.

Under RISC OS Select, the display number in R2 corresponds to the VideoV? driver number, and the service calls are issued at the appropriate times for the VideoV API.

Device configuration changes

Under RISC OS 5, drivers will issue reason codes 128 and 129 when their configuration changes in a noteworthy way, e.g. when the list of available pixel formats changes. Reason code 128 should be issued before the change takes place and reason code 129 should be issued after the change is complete. This allows the driver to warn software running in the background that the driver is entering an indeterminate state, and to notify it when the state change is complete.

The kernel will listen out for configuration change service calls which correspond to the current GraphicsV driver and transform them into the appropriate Service_DisplayChanged calls. Specifically, DisplayChanged reason 128 (PreChanging) will be issued when the DisplayStatus 128 is received, and DisplayChanged reasons 0 (Changing) and 1 (Changed) will be issued once the change is complete. This forwarding of service calls means that software which is only interested in the current GraphicsV driver only has one service call to listen out for (Service_DisplayChanged) instead of two.

See Also

  • OS_ScreenMode
  • GraphicsV
  • Service_DisplayChanged
Revised on February 14, 2015 14:05:09 by Jeffrey Lee (213) (91.84.11.161)
Edit | Back in time (2 revisions) | See changes | History | Views: Print | Source | Linked from: Service Calls, OS_ScreenMode 66, Service_DisplayChanged, OS_ScreenMode 65, OS_ScreenMode 66 (français), OS_ScreenMode 65 (français)

Search the Wiki

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2018 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