[Select]

Core


Index

 

Buffers

Certain internal buffers have changed in operation from Kernel 9.01 onward. This mainly affects the legacy interfaces which have been carried forward from the BBC. The following should be read with reference to PRM 1-162.

Buffer 0 (Keyboard)

Remains as before, 255 byte limit.

Note that this is not necessarily 255 characters, or 255 key presses depending on the territory in use, etc.

This buffer is now managed by the BufferManager module, instead of the Kernel.

Buffer 1 (Serial input)

Buffer is now limited to 32767 bytes, rather than the 255 byte limit which was previously used.

This buffer is now managed by the BufferManager module, instead of the Kernel. Instead of being registered with Buffer_Register, the buffer is created with Buffer_Create. For details of the distinction, consult the PRMs.

Buffer 2 (Serial output)

Buffer is now limited to 32767 bytes, rather than the 191 byte limit which was previously used.

This buffer is now managed by the BufferManager module, instead of the Kernel. Instead of being registered with Buffer_Register, the buffer is created with Buffer_Create. For details of the distinction, consult the PRMs.

Buffer 3 (Printer)

Remains as for RISC OS 3 systems, defined by *Configure PrinterBufferSize. Since Select 2, however, the default value for the buffer size on a NVRAM reset is now 32K rather than 1K.

In the future this buffer may be managed by a dedicated support module.

Buffer 4-7 (Sound 0-3)

Legacy BBC buffers with no use under RISC OS. These will return errors on data insertion and removal (failure to insert or remove flagged).

Buffer 8 (Speech)

Legacy BBC buffer with no use under RISC OS. These will return errors on data insertion and removal (failure to insert or remove flagged).

Buffer 9 (Mouse)

This buffer is now managed by the OSPointer module from Kernel 8.56 onward. Operations on the buffer will function as before but will be managed by BufferManager on behalf of OSPointer rather than by the kernel.

These changes are not expected to affect most applications. The effect on legacy BBC applications is expected to be minimal because the buffers removed are only 3 bytes in length. Users should benefit from the increased size of the serial buffers.


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