home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / linux / extra / docs / maillist / text / archive.95 / text0975.txt < prev    next >
Encoding:
Text File  |  1996-04-02  |  1.6 KB  |  35 lines

  1. Re the pros & cons of having an emulator "stand up when called"...
  2.  
  3. One traditional strategy applications have used to tell whether they  
  4. are running on a machine with Mac roms or not, has been to address  
  5. memory locations used by the roms, and attempt to change a value  
  6. contained there.  If the change is made, then there is ram at these  
  7. addresses and not rom.  For example, Dave Small uses this method to  
  8. recognize when his emulator is running within real Mac roms, or  
  9. within a ram-image of the Mac roms.
  10.  
  11. Also, the software can query each of the rom-addresses in which the  
  12. Mac roms store Mac-specific data, not used by standard OS calls.   
  13. What it finds in these sorts of addresses will tell the software  
  14. whether it is running on a machine with Mac-roms or not.  Ditto some  
  15. of the io devices.  You can pin down the precise sort of Mac you are  
  16. running on this way, with enough patience, if it is indeed a Mac at  
  17. all.
  18.  
  19. Granted, this gets more complicated with memory re-mapping schemes,  
  20. and it will eventually get impossible, but there is still some  
  21. mileage yet left in these traditional schemes.
  22.  
  23. So it seems to me that any programmer who really wants his/her  
  24. software to be able to learn if it is being run by "real Mac roms" or  
  25. an emulator can already do so using these well-known methods.  But it  
  26. is harder to use these methods to tell just which emulator is used,  
  27. or which version of an emulator, and thus it seems thoughtful to have  
  28. the emulator itself give its rank and serial number when asked ---   
  29. thoughtful, and unlikely to create a new problem.
  30.  
  31. Henning Leidecker
  32.  
  33.  
  34.  
  35.