Date : Tue, 08 Jul 2008 08:20:16 +0100
From : jgh@... (Jonathan Graham Harston)
Subject: ROM type byte inconsitancies
More Tube oddities:
Documentation such as the New Advanced User Guide says that the
ROM type byte indicates the code in the following way:
x0 6502 BASIC
x2 6502
x3 68000
x8 Z80
x9 31026
xB 80186
xC 80286
xD ARM
However, the 32016 reference manual says the ROM type byte for a
32016 ROM should be x9 OR 2, ie xB - the same as 80186.
The 32016 client OS does: AND &D, CMP &B so both the documented
ROM byte and the programming example ROM byte are recognised - but
also a 80186 ROM byte!
The 80186 client does does AND &F, CMP &B, so a ROM written
according to the documentation is recognised, but also a 32016 ROM
written according to the 32016 documentation!
Even worse, the Z80 client code does BIT 3,A, so recognises any
ROM with ROM types 8 to 15!
Also, even though all documentation says x3 is 68000, the 65Tube
client code recognises that as Turbo6502.
Additionally, various documentation say that bit 1 should always
be set. Why? That's probably why the example 32016 code sets bit
1, so uses a ROM byte of &B, but that means ARM ROMs should be &F,
not &D, and the Archimedes RomFS manual specifies &D and used &D
in examples (aside: as does the Sprow ARM CoPro manual).
All this makes it really fiddly trying to work out a suitable
value to use for PDP-11.
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
Youth has now fled. Their best years have been passed in the service
of the party. They are ageing and their ideals have also passed,
dispersed by the contrarities of daily struggles.