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
_______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
