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