[Simh] Subtle H316 TTY interrupt bug?

Bob Armstrong bob at jfcl.com
Tue Jun 18 00:00:16 EDT 2013


  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.

 

 
http://bitsavers.trailing-edge.com/pdf/honeywell/series16/h316/70130072176C_
316_CPU_Descr_Apr73.pdf

 

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. 

 

  Consider the two instruction sequence

 

               OCP       104                       / SELECT TTY OUTPUT MODE

               OTA       4                            / OUTPUT A CHARACTER

 

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.

 

  So, is there an H316 expert out there that can confirm this theory for me?

 

Thanks

Bob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20130617/2cde9cae/attachment.html>


More information about the Simh mailing list