Date : Tue, 01 Jul 2008 21:21:28 +0100
From : jgh@... (Jonathan Graham Harston)
Subject: BBC BASIC version
Mike Tomlinson wrote:
> You can also do:
> P. CHR$?&8015
To find a ROM's version number, a more reliable method is reading,
well, the version number at &8008 (or CodeStart+8 to be more
explicit, ie &B808 in HiBasic/HiView/HiSheet/HiThere on the second
processor). Quick 'n' dirty method:
IF HIMEM>&8000:ver%=?&B808 ELSE ver%=?&8008
The version byte is usually 'version' in hex (ie v1.00 is &01) or
'version*10' in BCD, ie 1.20 is &12.
There is also the optional version string after the ROM title.
This should start "a.bc", but nobody ever enforced this and any
variety of strings cam be found.
BASIC I and II have a version byte of 0 and 1. BASIC III onwards
have a correct version byte.
Version Byte String
BASIC 1 &00 ""
BASIC 2 &01 ""
BASIC 3 &03 ""
BASIC 3.10 &03 ""
BASIC 4 &04 ""
BASIC 4.00 &40 ""
BASIC 4.10 &41 ""
BASIC 4.30 &06 "4.30"
BASIC 4.32 &07 "4r32"
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
RISC OS Internationalisation - http://mdfs.net/Software/RISCOS