Date : Sun, 31 Dec 2000 02:45:06 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: [None]
Subject : Re: [BBC-Micro] BBCBasic Was: More T102 Stuff
Ben Newsam <ben@...> wrote:
> I never had BASIC 3, but I was supplied (by Acornsoft) with a special
> chip that allowed the used of the OS intended for use on American
> machines to be run on the British Beeb. It has one leg missing
> (intentionally), and there is a connection between two of the other
Probably a 32k rom containing both OSes to page into &C000-&FFFF,
selectable with the switch.
> The "official" way I was told to detect the US MOS was that on a British
> Beeb, INKEY(-256) would return -1, whereas in the US it would not.
Unfortunatley, US Beeb => not returning -1 => does not mean not returning
-1 => US Beeb.
My cat has four legs. That dog has four legs, therefore that dog is a cat.
> Does anyone know how INKEY with such negative values actually works?
Freshly updated:
Soon to be uploaded to Docs/Comp/somwehere...
----8<----
Host System Values
Docs.Comp.Kernal
Osbyte0 returns what type of host hardware you're running on. INKEY-256
(Osbyte 129,&FF00) returns the varient of the hardware, viz:
fx0: INKEY-256 low byte: (Varient of host system:)
error &00: BBC OS 0.10
0 &01: Electron
1 &FF: BBC OS 1.00/1.20 (full word returned=-1)
&FE: BBC OS 1.10 (US)
&FC: BBC OS 1.20 (Germany)
2 &FB: BBC B+ OS 2.00
&FF: Reuters Terminal (UK) (switchable with *UK)
&FE: Reuters Terminal (US) (switchable with *US)
3 &FD: Master OS 3.20
4 &F7: Master ET OS 4.00
5 &F5: Master Compact
6 &A0: Archimedes Arthur 1.20
&A1: Archimedes RISC-OS 2.00
&A2: Archimedes RISC-OS 2.01
&A3: Archimedes RISC-OS 3.00
&A4: Archimedes RISC-OS 3.1x
&A5: Archimedes RISC-OS 3.50
&A6: Archimedes RISC-OS 3.60
&A7: Archimedes RISC-OS 3.7x
&A8: by extrapolation, I assume: Archimedes RISC-OS 4.00/Pheobe
(ie, arc%=(INKEY-256 AND&F0)=&A0 )
7 ???: Springboard (An ARM-based development thing plugged into a PC)
8 ???: UNIX
&FE: Brandy Basic on NetBSD * Transitional info
&F9: Brandy Basic on Linux * Transitional info
30 &Dx: Amstrad 464/664/6128, etc.
31 &Ex: Spectrum
32 **** IBM-type PC (INKEY-256 not available)
&FA: Brandy Basic on DOS * Transitional info
&FC: Brandy Basic on Windows * Transitional info
Some sources quote returning X=0 with BBC B MOS 0.xx, but that's incorrect
as Osbyte 0 always returned with an error message describing the version
in MOS 0.xx (eg "EPROM OS 0.10"), it would never return a value.
INKEY-256 also returns:
&FA: Acorn Business Computer OS
but I'm not sure what MOS version returns this; I think it's either 1 or
2, or even both.
I'm not sure what varients OS 7 (Springboard) returns as I've never been
able to find out. I don't know what OS 8 (Unix) running on RiscIx returns
as, unbelievably, I never thought to find out when I had the chance!
[I've now got some more documents, so it may be in there.]
When I was putting together a system to run BBCBasic on the Amstrad and
Spectrum, I picked 30 and 31 as BBCBasic(86) returns 32. I was intending
to get INKEY-256 to return the varient of the hardware by interrogating
the firmware somehow. On checking the source code, the 48K Spectrum
returned &E0. I haven't yet tested Richard Russell's proper release of
BBCBasic(80) for the Amstrad CPC to see what sort of values it returns, if
any. The values in this table are those I assigned when I was putting
some code together myself.
----8<----
--
J.G.Harston (JGH BBC PD Library) 70 Camm Street, Walkley, SHEFFIELD S6 3TR
jgh@... - Running on BBCs & Masters with SJ MDFS FileServer
Z80+6502/CoPro+Tubes/Econet+SJ - - - http://www.mdfsnet.f9.co.uk/User/JGH/
Et In Arcadia Ego