LegacyBBC module
Since 32bit ARM systems became available one of the main features of RISC OS has been its backwards compatibility with other earlier versions of the operating system and back to its BBC heritage. This principle has been followed through to versions of RISC OS up to Select. One of the ways in which system calls have been deprecated has been to move them from the core of the system to a subsidiary module where they do not affect the main operation.
The LegacyBBC module provide a number of system calls which are no longer supported by the core components of RISC OS. It is expected that modern applications not require this module to be present.
OS_Byte operations
The following table describes the OS_Byte operations provided by the LegacyBBC module, and describes the modern alternative :
&80 Read ADVAL values, mouse position or buffer space
Use Joystick_Read, OS_Mouse, or Buffer_GetInfo.
&82 Read machine high order address
Obsolescent.
&83 Read high water mark
Obsolescent.
&8B Set file system options (*Opt)
Use OS_FSControl 10.
&8F Issue service call
Use OS_ServiceCall.
&9C Update 6850-compatible serial state
Use OS_SerialOp.
&9D Perform BPUT over Tube
Use OS_BPut.
&A0 Read BBC-compatible VDU variables
Use OS_ReadVduVariables.
OS_Word operations
The following table describes the OS_Word operations provided by the LegacyBBC module, and describes the modern alternative :
&00 Read line from input source
Use OS_ReadLine.
&07 Perform SOUND operation.
Use Sound_ControlPacked or Sound_Control.
&09 Read colour of point from screen.
Use OS_ReadPoint.
*Commands
*Commands within RISC OS are conventionally of the form -
*<command><space><parameters>.
However, a small number of commands will function without a space separator. This provides compatibility back to applications written for BBC systems. The core command line processor no longer supports such commands, but to allow them to function as previously, the LegacyBBC module provides an interface to allow commands in this form to be used. To avoid the requirement for the LegacyBBC module, such commands should be issued with a space separating the command name and its parameters.
The following commands are handled by the LegacyBBC module :
*FX Issue OS_Byte call.
*Key Program function key (sets Key$<number>).
*Opt Set filing system operation.
*TV Modify monitor positioning and interlace.
|