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

OS_Byte

Programmer's Reference Manuals
» Part 15 – SWI Calls
» OS
» OS_Byte

OS_Byte

(SWI &06)
Entry
R0 Reason codes

Use

This SWI has many different uses.

Notes

Different parts of the Operating System rely on this SWI.

The value in R0 in entry determines the function of the call, and is known as the reason code.

For calls with reason codes between 166 and 255:

NewVal = (OldVal AND R2) EOR R1

To read: R1=0 R2=&FF
To write: R1=New Value R2=0

Reason Codes

# Hex Meaning
0 &00 Display OS version info
1 &01 Write user flag
2 &02 Specify input stream
3 &03 Specify output stream
4 &04 Cursor key status
5 &05 Write printer driver type
6 &06 Write printer ignore char
7 &07 Write RS232 receive rate
8 &08 Write RS232 transmit rate
9 &09 Write duration of first flash colour
10 &0A Write duration of second flash colour
11 &0B Write keyboard auto-repeat delay
12 &0C Write keyboard auto-repeat rate
13 &0D Disable event
14 &0E Enable event
15 &0F Flush buffer
18 &12 Reset function keys
19 &13 Wait for vsync
20 &14 Reset font definitions
21 &15 Flush selected buffer
25 &19 Reset group of font definitions
70 &46 Read/Write country number
71 &47 Read/Write alphabet or keyboard number
106 &6A Select pointer/Activate mouse
112 &70 Write VDU driver screen bank
113 &71 Write display hardware screen bank
114 &72 Write shadow/non-shadow state
117 &75 Read VDU status
118 &76 Reflect keyboard status in LEDs
120 &78 Temporarily lock auto-repeat
121 &79 Keyboard scan
122 &7A Keyboard scan from 16 decimal
124 &7C Clear escape condition
125 &7D Set escape condition
126 &7E Acknowledge escape condition
127 &7F Check for end of file
128 &80 Get buffer/mouse status
129 &81 Scan for a particular key
134 &86 Read text cursor position
135 &87 Read char at text cursor, and screen mode
138 &8A Insert byte into buffer
139 &8B Write filing system options
143 &8F Issue module service call
144 &90 Set vertical screen shift, and interlace
145 &91 Get char from buffer
152 &98 Examine buffer status
153 &99 Insert char into input buffer
156 &9C Read/Write serial port state
160 &A0 Read VDU variable value
161 &A1 Read non volatile CMOS memory
162 &A2 Write non volatile CMOS memory
163 &A3 Read/Write general graphics info
165 &A5 Read output cursor position
176 &B0 50 Hz counter
177 &B1 Read input source
178 &B2 Read/Write keyboard semaphore
181 &B5 Read/Write serial input interpretation status
182 &B6 Read/Write NoIgnore state
191 &BF Read/Write RS423 busy flag
192 &C0 Read serial port state
193 &C1 Read/Write flash counter
194 &C2 Read duration of second flash colour
195 &C3 Read duration of first flash colour
196 &C4 Read/Write keyboard auto-repeat delay
197 &C5 Read/Write keyboard auto-repeat rate
198 &C6 Read/Write *Exec file handle
199 &C7 Read/Write *Spool file handle
200 &C8 Read/Write Break and Escape effect
201 &C9 Read/Write keyboard disable flag
202 &CA Read/Write keyboard status byte
203 &CB Read/Write serial input buffer minimum space
204 &CC Read/Write serial ignore flag
211 &D3 Read/Write bell channel
212 &D4 Read/Write bell sound volume
213 &D5 Read/Write bell frequency
214 &D6 Read/Write bell duration
216 &D8 Read/Write length of function key string
217 &D9 Read/Write paged mode line count
218 &DA Read/Write bytes in VDU queue
219 &DB Read/Write Tab key code
220 &DC Read/Write escape character
221 &DD Read/Write interpretation of input values &C0-&CF
222 &DE Read/Write interpretation of input values &D0-&DF
223 &DF Read/Write interpretation of input values &E0-&EF
224 &E0 Read/Write interpretation of input values &F0-&FF
225 &E1 Read/Write function key interpretation
226 &E2 Read/Write Shift Fn interpretation
227 &E3 Read/Write Ctrl Fn interpretation
228 &E4 Read/Write Shift Ctrl Fn interpretation
229 &E5 Read/Write escape key status
230 &E6 Read/Write escape effects
236 &EC Read/Write character destination status
237 &ED Read/Write cursor key status
238 &EE Read/Write numeric keypad interpretation
240 &F0 Read country number
241 &F1 Read/Write user flag
242 &F2 Read serial baud rates
243 &F3 Read timer switch state
245 &F5 Read/Write printer driver type
246 &F6 Read/Write printer ignore character
247 &F7 Read/Write Break key actions
250 &FA Read VDU driver screen bank number
251 &FB Read display screen bank number
253 &FD Read last break type
254 &FE Set effect of Shift-Ctrl on numeric keypad
255 &FF Read/Write boot option

See also

  • OS_Byte CMOS Settings
Revised on November 17, 2009 20:14:15 by Alan Robertson (52)? (127.0.0.1)
Edit | Back in time (5 revisions) | See changes | History | Views: Print | Source | Linked from: OS_Byte 18, The Window Manager Keyboard Input And Text Handling, OS SWI Calls, OS_Byte 0, Machine Types, OS_Byte 1, OS_Byte 241, OS_Byte 2, Input Streams, OS_Byte 3, Output Stream Status, Territory Numbers, OS_Byte 4, Cursor Key State, OS_Byte 5, OS_Byte Printer Driver Types, OS_Byte CMOS 15, OS_Byte CMOS Settings, OS_Byte 6, OS_Byte 7, Baud Rate Codes, OS_Byte 8, OS_Byte 9, OS_Byte 10, OS_Byte 11, OS_Byte 12, OS_Byte 13, OS_Byte 14, OS_Byte 15, OS_Byte 19, OS_Byte 20, OS_Byte 21, OS_Byte 25, Character Groups, OS_Byte 70, OS_Byte 71, Buffer Numbers, EventV, Keyboard Numbers, OS_Byte 106, Pointer Flags, OS_Byte 112, OS_Byte 113, OS_Byte 114, OS_Byte 117, VDU Status, OS_Byte 118, OS_Byte 120, OS_Byte 121, OS_Byte 122, OS_Byte 124, Escape Handler, OS_Byte 125, OS_Byte 126, OS_Byte 127, OS_Byte 128, OS_Byte 128 Reason Codes, OS_Byte 129, Software Vector Numbers, OS_Byte 129 (time), OS_Byte 129 (OS), OS_Byte 129 (scan range), OS_Byte 129 (scan single), OS_Byte 134, OS_Byte 135, OS_Byte 138, OS_Byte 139, OS_Byte 143, OS_Byte 144, OS_Byte 145, OS_Byte 152, OS_Byte 153, OS_Byte 177, Input Sources, OS_Byte 156, OS_Byte CMOS 16, Serial Port Baud Rates, OS_Byte 160, OS_Byte 160 VDU Variable Numbers, OS_Byte 161, OS_Byte 162, OS_Byte 163, OS_Byte 163 (reset), OS_Byte 163 (set), OS_Byte 163 (return status), OS_Byte 163 (return sprite information), OS Byte 163 Status Information, OS_Byte 165, OS_Byte 176, OS_Byte 178, OS_Byte 181, Character Entering Buffer Event, OS_Byte 182, OS_Byte 191, OS_Byte 192, OS_Byte 193, OS_Byte 194, OS_Byte 195, OS_Byte 196, OS_Byte 197, OS_Byte 198, OS_Byte 199, OS_Byte 200, OS_Byte 201, OS_Byte 202, Keyboard Status, OS_Byte 203, OS_Byte 204, OS_Byte 211, OS_Byte 212, OS_Byte 213, Sound Pitches, OS_Byte 214, OS_Byte 216, OS_Byte 217, OS_Byte 218, OS_Byte 219, OS_Byte 220, OS_Byte 221 - 228, OS_Byte 221 - 228 Key Codes, OS_Byte 229, OS_Byte 230, OS_Byte 236, OS_Byte 237, OS_Byte 238, OS_Byte 240, OS_Byte 242, OS_Byte 242 Baud Rates, OS_Byte 243, OS_Byte 245, OS_Byte 246, OS_Byte 247, OS_Byte 250, OS_Byte 251, OS_Byte 253, Reset Types, OS_Byte 254, OS_Byte 255, Service_UKByte, *FX, *Status, OS_Byte Introduction, OS_Word Introduction, Buffers Introduction

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