Thanks Ken,
That will save me quite a bit of work.
Kurt
 

    On Tuesday, March 15, 2016 11:03 AM, Ken Pettit <[email protected]> wrote:
 

  Hey Kurt,
 
 I don't know if VirtualT has any additional information that Bitchin100 does 
not, but I did a fair amount of ROM address investigation back in the day when 
I was writing the disassembler in VT.  Each model (M100, T200, etc.) has a file 
that describes ROM addresses for routines.  If you look in the src directory at 
the files:
 
 kc85rom.c  m100rom.c   m10rom.c  m200rom.c  n8201rom.c  n8300rom.c  roms.h  
romstrings.c  romstrings.h
 
 You will see that romstrings.h enumerates known address (ROM and RAM) and each 
of the m100rom.c, m200rom.c, n8201rom.c etc. files identifies the address for 
the matching entries (note that not all enumerated values are present for all 
ROMs).  The romstrings.c file supplies the text for each known ROM address 
while the individual "*rom.c" files map the enumeration to the physical address.
 
 This may provide additional info, but not sure.
 
 Ken
 
 On 3/15/16 10:26 AM, Kurt McCullum wrote:
  
   That was my thought as well. I've gone over the ROM versions quite a bit and 
the majority of the code is the same. Even comparing the RAM version to the ROM 
version of the 200 shows that the bulk of the code is the same. But there is 
the whole swapping in and out of the optrom that makes it difficult to do a 
direct comparison.
  
  Thanks for the insight. I'll keep chipping away of this. Hopefully someone 
can find the originals but a disassembly may be the only way to make it happen. 
  Kurt 
    > The fact that the code was originally cross platform is also a point in 
your  > favor. Maybe they use a subset of features of both ROMs   
 
      On Tuesday, March 15, 2016 10:14 AM, John R. Hogerhuis <[email protected]> 
wrote:
  
 
    
 
  On Tue, Mar 15, 2016 at 9:55 AM, Kurt McCullum <[email protected]> wrote:
 
   As many of you know, I've been searching for the RAM versions of Sardine for 
quite some  time. Bob P. located the 200 version but the 100 and NEC versions 
are still unaccounted for. Looking at Gary's 8201.net site brought me to the 
BINCON utility. This aids in converting a model 100 CO file to one that will 
run on an NEC. This is done by using a cross reference table to create a  new 
CO file with the proper machine language locations in ROM. 
  This got me thinking. Would it be possible to create a cross reference table 
that would  work in reverse. Say a 200 CO file to NEC or a 200 to 100? I 
realize the there is far more to the conversion such as starting memory 
locations but I wanted to float the  idea out to see if it seems plausible. I 
believe the data for such a table exists on Bitchin100.
   
    
 
  I think an automatic utility is unlikely to work because computer science 
(halting problem) 
  But a good recursive disassembler plus a mapping table of entry points is 
what you need. I am not sure there is a one to one mapping though (some ROM 
code exists on one platform on not the other, or the API / changed registers is 
different, etc.) so in some cases custom code would still need to be written. 
  The fact that the code was originally cross platform is also a point in your 
favor. Maybe they use a subset of features of both ROMs 
  -- John. 
          
 
      
 
 

  

Reply via email to