<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>  I need an H316 expert to confirm this for me, but I think there’s a subtle bug in the way simh handles the TTY output mode switch (Yes, the 316 has a half duplex console terminal interface!) and interrupts.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  <a href="http://bitsavers.trailing-edge.com/pdf/honeywell/series16/h316/70130072176C_316_CPU_Descr_Apr73.pdf">http://bitsavers.trailing-edge.com/pdf/honeywell/series16/h316/70130072176C_316_CPU_Descr_Apr73.pdf</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>is a description of the H316 CPU logic and the very end, around page 2-31 thru 37, talk about the TTY interface.  In particular, 2-37 describes the “dummy cycle” that’s inserted when hardware is switched from input to output mode, and 2-38 even has a timing diagram to show how it happens. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  Consider the two instruction sequence<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>               OCP       104                       / SELECT TTY OUTPUT MODE<o:p></o:p></p><p class=MsoNormal>               OTA       4                            / OUTPUT A CHARACTER<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Assuming the interrupt system is enabled and that the TTY interface is currently idle, simh is written to interrupt immediately after the OCP 104 and before the OTA.  That means that the code effectively gets an output done interrupt before the output is ever started!  Based on the description in the above manual, I’m pretty sure this is wrong.  The “dummy cycle” inserts a delay between the OCP and the flag setting, and by that time the OTA has been executed, the output flag is cleared, and there’s never any interrupt asserted by the OCP.  No interrupt occurs until the character output is actually finished.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  So, is there an H316 expert out there that can confirm this theory for me?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks<o:p></o:p></p><p class=MsoNormal>Bob<o:p></o:p></p></div></body></html>