OSBYTE &81
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=&68 6809 system X=&63 6309 system X=&73 BBC BASIC for ARM CPU on SDL abstraction (ie ASC"s") X=&53 BBC BASIC for Intel CPU on SDL abstraction (ie ASC"S") X=&57 BBC BASIC for Windows (ie ASC"W")
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)