<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <div class="moz-cite-prefix">On 16-Dec-17 15:42, Paul Koning wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:F8F3B110-E772-46C1-8050-072E89E5CB3F@comcast.net">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <br class="">
      <div><br class="">
        <blockquote type="cite" class="">
          <div class="">On Dec 16, 2017, at 6:14 AM, Timothe Litt <<a
              href="mailto:litt@ieee.org" class=""
              moz-do-not-send="true">litt@ieee.org</a>> wrote:</div>
          <br class="Apple-interchange-newline">
          <div class=""><span style="font-family: LucidaConsole;
              font-size: 12px; font-style: normal; font-variant-caps:
              normal; font-weight: normal; letter-spacing: normal;
              text-align: start; text-indent: 0px; text-transform: none;
              white-space: normal; word-spacing: 0px;
              -webkit-text-stroke-width: 0px; float: none; display:
              inline !important;" class="">On 15-Dec-17 22:14,
              khandy21yo wrote:</span><br style="font-family:
              LucidaConsole; font-size: 12px; font-style: normal;
              font-variant-caps: normal; font-weight: normal;
              letter-spacing: normal; text-align: start; text-indent:
              0px; text-transform: none; white-space: normal;
              word-spacing: 0px; -webkit-text-stroke-width: 0px;"
              class="">
            <blockquote type="cite" style="font-family: LucidaConsole;
              font-size: 12px; font-style: normal; font-variant-caps:
              normal; font-weight: normal; letter-spacing: normal;
              orphans: auto; text-align: start; text-indent: 0px;
              text-transform: none; white-space: normal; widows: auto;
              word-spacing: 0px; -webkit-text-size-adjust: auto;
              -webkit-text-stroke-width: 0px;" class="">Can't you just
              load them into ram and <font size="+1"><b>run them</b></font>
              from there?<br class="">
              Rom is just non writable memory.<br class="">
              <br class="">
              <br class="">
            </blockquote>
            <span style="font-family: LucidaConsole; font-size: 12px;
              font-style: normal; font-variant-caps: normal;
              font-weight: normal; letter-spacing: normal; text-align:
              start; text-indent: 0px; text-transform: none;
              white-space: normal; word-spacing: 0px;
              -webkit-text-stroke-width: 0px; float: none; display:
              inline !important;" class="">He could, except that these
              ROMs are probably in I/O space, so would need</span><br
              style="font-family: LucidaConsole; font-size: 12px;
              font-style: normal; font-variant-caps: normal;
              font-weight: normal; letter-spacing: normal; text-align:
              start; text-indent: 0px; text-transform: none;
              white-space: normal; word-spacing: 0px;
              -webkit-text-stroke-width: 0px;" class="">
            <span style="font-family: LucidaConsole; font-size: 12px;
              font-style: normal; font-variant-caps: normal;
              font-weight: normal; letter-spacing: normal; text-align:
              start; text-indent: 0px; text-transform: none;
              white-space: normal; word-spacing: 0px;
              -webkit-text-stroke-width: 0px; float: none; display:
              inline !important;" class="">to be part of a simulated
              device for any code to execute properly[1]. </span></div>
        </blockquote>
        <br class="">
      </div>
      <div>It would make sense (and it would be very easy) to add a
        feature to SIMH to load a memory image file into what is
        nominally ROM in I/O space.  It could be made ROM from the
        program point of view (i.e., it's loaded from the user interface
        but the CPU can't store there).</div>
      <div><br class="">
      </div>
      <div><span class="Apple-tab-span" style="white-space:pre">        </span>paul</div>
      <div><br class="">
      </div>
      <br class="">
    </blockquote>
    Sure, that's trivial.  But a ROM in a peripheral is going to want to
    talk to that peripheral, so to "run the code", as the OP said he
    wanted to do, the CSRs need to be implemented too.  ROM or RAM, a
    memory location doesn't act like a CSR, so the likely result is that
    the code will loop, hang waiting for an interrupt, or do something
    else strange when the locations that expects are CSRs don't act like
    a device.<br>
    <br>
    If the goal is to disassemble, loading into I/O space would ensure
    that all the addresses are correct.  But if he really wants to
    *execute* the code, it's rather more involved.<br>
    <br>
    Again, ROMs embedded in peripherals (he said a robot) are part of a
    device, and the code will expect the other parts to be there and to
    be functional.  His device's CSRs aren't emulated.  So this is
    necessary, but not sufficient.<br>
    <br>
    If it were just a BOOT rom (e.g. a M9301-xx), your suggestion would
    work, as it's separate from the device emulation.   (You can read
    the M9301 maintenance and operation manual on bitsavers.)<br>
    <br>
  </body>
</html>