OSBYTE &81

From BeebWiki
Revision as of 11:43, 13 October 2017 by Jgharston (talk | contribs) (Added &53-&73.)
Jump to: navigation, search

OSBYTE &81 (129) - Read Key with Time Limit or Machine Type. Called by BASIC's =INKEY function.

   Action: Read key with time limit
    X=0..255
    Y=0..127
    On exit C=0 character read, Y=0, X=character read
            C=1, Y=255 timed out
            C=1, Y=27  ESCAPE was pressed
   Action: Read OS version
    X=0
    Y=255
    On exit X=value identifying OS
            X=&00 BBC B with MOS 0.10
            X=&00 RM Nimus
            X=&01 Acorn Electron MOS
            X=&FF BBC Micro OS 1.00/1.20
            X=&FE BBC Micro (American MOS 1.10)
            X=&FE NetBSD
            X=&FD Master 128 MOS 3.20
            X=&FC BBC Micro (West German MOS)
            X=&FC Windows 32
            X=&FB BBC B+ 64/128 (MOS2.00)
            X=&FB Beos (Brandy Basic)
            X=&FA Acorn ABC
            X=&FA DOS with Brandy BASIC
            X=&F9 Linux
            X=&F8 MacOS X (Brandy Basic)
            X=&F7 Master ET OS 4.00
            X=&F7 FreeBSD
            X=&F6 OpenBSD
            X=&F5 Compact
            X=&F5 Amiga (Brandy Basic)
            X=&F4 Master 128 MOS 3.26
            X=&Ex Spectrum
            X=&Dx Amstrad 464/664/6128, etc.
            X=&Ax Arthur/RISC OS
            X=&A0 Arthur 1.20
            X=&A1 RISC OS 2.00
            X=&A2 RISC OS 2.01
            X=&A3 RISC OS 3.0x
            X=&A4 RISC OS 3.1x
            X=&A5 RISC OS 3.50
            X=&A6 RISC OS 3.60
            X=&A7 RISC OS 3.7x
            X=&A8 RISC OS 4.0x
            X=&A9 RISC OS 4.3x
            X=&AA RISC OS 5.xx
            X=&AF Springboard   (An ARM-based development system plugged into a PC)
                  (X AND &F0)=&A0 for ARM hardware
            X=&53 BBC BASIC for Intel CPU on SDL abstraction (ie ASC"S")
            X=&57 BBC BASIC for Windows (ie ASC"W")
            X=&68 6809 system
            X=&63 6309 system
            X=&73 BBC BASIC for ARM CPU on SDL abstraction (ie ASC"s")
   Action: Scan for a range of keys
    X=1..127 lowest internal key number to start at EOR&7F
    Y=255
    On exit X=internal key number pressed (or 255 for none)
   Action: Scan for a particular key
    X=128..255 internal key number to scan for EOR &80
    Y=255
    On exit X=Y=0 for as not pressed
            X=Y=255 the key was being pressed

See Also

Jgharston 21:56, 26 May 2009 (UTC)