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_ModeExtension (changes)

Showing changes from revision #5 to #6: Added | Removed | Changed

Programmer's Reference Manuals
» Service Calls
» Service_ModeExtension

Service_ModeExtension

(Service &50)
Entry
R1 80 (&50)
R2 Mode Specifier (number or selector, NOT a Sprite Mode Word)
R3 Monitor type, or -1 for ‘unspecified’
R4 Bandwidth limit (bytes/sec) 1
R5 Memory limit (bytes) 1
Exit
R1-R4 Preserved to pass on, else:
R1 0 to claim service
R2 Preserved
R3 Pointer to VIDC List
R4 Pointer to Mode Workspace List (if a mode number was provided in R2 on entry)
Else zero (if a Mode Selector Block was provided on entry)

Use

This service is used by the kernel to look up information about a mode which the kernel does not recognise. Most significantly, it is the mechanism by which the ScreenModes module communicates mode timings to the kernel when a MDF is in use.

Notes

The kernel has several built in tables of mode timings and workspace parameters (one table per monitor type) that it will refer to if a numbered screen mode is requested. Only if the table lookup fails, or if a Mode Selector Block is used, will the kernel issue this service call to obtain the mode information.

For numbered modes, the contents of the mode workspace list must be identical no matter the monitor type selected. Only the contents of the VIDC list may differ by monitor type.

1 The R4 and R5 parameters were only added to the service call specification in RISC OS 3.5. They allow ScreenModes to filter the MDF entries by the VRAM size and memory bandwidth limit of the machine.

ScreenModes 0.33 and above (RISC OS 5.20+) ignores R4, and instead relies on GraphicsV_VetMode to check for any relevant bandwidth limits. This is because on modern systems, the video driver is in a much better position to determine any bandwidth limitations than the kernel.

See also

  • Monitor Types
  • ScreenModes
  • VIDC List
  • Mode Workspace List
Revised on October 23, 2019 18:11:13 by nemo (145) (86.7.33.6)
Edit | Back in time (5 revisions) | Hide changes | History | Views: Print | Source | Linked from: Service Calls, Mode Workspace List, Service_ModeTranslation, VIDC List, GraphicsV 16, ScreenModes Service Calls, Screen Mode Types

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