From BeebWiki
Jump to: navigation, search

OSBYTE performs various functions passing and returning up to two bytes of data.



 6502   Z80   6809   PDP11   80x86   32016   ARM  On entry: On exit:'

A A A R0 AL R1 R0 = function code   preserved, but see &83 and &84.
X L X R1 BX R2 R1 = first parameter returned value
Y H Y R2 CX R3 R2 = second parameter if A>&7F, ignored and forced to &00 if A<&80   returned value if A>&7F
Cy Cy Cy Cy Cy Cy Cy returned value if A>&7F

Calling from BBC BASIC

Entry points

  • BBC BASIC Entry Address: &FFF4
  • 6502 Entry Address: &FFF4, vectors via &020A
  • Z80 Entry Address: &FFF4, vectors via &FFF5
  • 6809 Entry Address: &FFF4, vectors via &FFF5
  • 80x86 Entry Address: INT &4B, vectors via 0000:012C
  • 32000 Entry Address: SVC &06
  • PDP-11 Entry Address: EMT 2
  • ARM Entry Address: SWI &06 "OS_Byte", vector &06


Any OSBYTE call not recognised by the operating system is passed to sideways ROMs. If no sideways ROM recognises the call, then X is returned set to &FF.

The *FX command calls OSBYTE and generates the Bad command error if it is not recognised.

See also

Jgharston 16:58, 6 November 2009 (UTC)