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

  &83   Read high water mark

  &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 within RISC OS are conventionally of the form -


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.

This documentation is copyright 3QD Developments Ltd 2013 and may not be reproduced or published in any form without the copyright holders permission. RISC OS is subject to continuous development and improvement as such all information is reproduced by 3QD Developments Ltd in good faith and is believed to be correct at the time of publication E&OE. 3QD Developments Ltd cannot accept any liability for any loss or damage arising from the use of any information provided as part of the RISC OS Documentation.

HTML document version 1.03 3rd November 2015