<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Sending to KWLUG list & KWARTZLAB list</p>
    <p>I saw the following in a tech newsletter:<br>
    </p>
    <p>Do you control releases using a Version Description Document?
      There's a good write-up about these in the deceased and
      very-missed Dr. Dobb's Journal <a
href="http://www.drdobbs.com/implementing-a-version-description-docum/184415521">here</a>,
      and a sample <a
        href="http://sce.uhcl.edu/helm/MS_2167/vdd_80013A.doc">here</a>.</p>
    <p>My spin. A few times in my career I have been asked to revive
      long dormant embedded systems firmware development efforts. <br>
    </p>
    Embedded systems are notorious for their long life spans, often
    spanning decades - often outlasting the availability of the parts
    used to build the products.<br>
    <br>
    People at one organization asked for a Version Description Document
    (VDD) - and I had to look this up. <br>
    <br>
    When I was first asked for the VDD the purpose was to document the
    requirements to replicate a development environment required to be
    able reproduce the work product. <br>
    This would include listing the tools (IDE, Compiler, Linker), and
    libraries as well as versions thereof.<br>
    Also listed would be the configuration/make files and, of course,
    the source code and the versions thereof.<br>
    A description of the target target hardware would be relevant for
    embedded systems (2,3), and could be important in other areas (1). <br>
    <br>
    (1) I once was called into troubleshoot a client/server network
    problem (circa 1995). The code would run on an NT server running a
    single core CPU but had intermittent problems with an early dual
    core CPU. I suspected timing / race conditions were hard coded in
    the software and these failed with the dual core CPU in the NT
    server.<br>
    <br>
    (2) One project (circa 1995) was started in the 1970s on an Apple II
    PC (6502 uC) and the task was to port the code to a current (1995)
    PC w/P1 CPU under Windows. Trying to find the development tools,
    documents and source code for the Apple II was a challenge.<br>
    <br>
    (3) I am making this up as I go. Consider a product developed around
    a vintage 8051 uC (6 kHz CPU) see below. Then, because the uC has
    been discontinued we asked to go a new CPU with a 30 MHz clock and
    which decodes and executes instructions in 1 clock cycle as opposed
    to the original 12 clock cycles. <br>
    Where to start. Being able to reproduce the original executable code
    used in - say 1985 - would be a good starting point.<br>
    <p><a moz-do-not-send="true"
        href="https://www.maximintegrated.com/en/app-notes/index.mvp/id/2035">https://www.maximintegrated.com/en/app-notes/index.mvp/id/2035</a></p>
    <p><a moz-do-not-send="true"
href="https://jaycarlson.net/2017/06/27/blinking-an-led-with-an-original-intel-8051/">https://jaycarlson.net/2017/06/27/blinking-an-led-with-an-original-intel-8051/</a><br>
    </p>
    Regards<br>
    JohnJ<br>
    <br>
    <p> </p>
  </body>
</html>