<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
> Message-ID: <iNGyzFAKLWT6EwMn@...>
 
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


<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>