What happens when a PDP8/e executes an IOT to a non-existent device?
My PDP8/e is skipping when it executes a printer flag test for a
device that is not present.
I tried the following FORTRAN IV program with OS/8 F4 on simh and it
worked fine.
C HELLO WORLD PROGRAM IN FORTRAN IV
C
WRITE(4,100)
100 FORMAT(" HELLOW WORLD!")
END
even with hello spelled wrong.
When I tried it on real hardware it just hung.
It looks like it is stuck in an interrupt loop.
F4 uses interrupts for IO and has its own internal handlers. From the
looks of it, there is an interrupt and it is not getting acknowledged.
When the ISR returns, the interrupt is still there and it just loops.
This is a PDP8/e and the INT BUS lamp is ON. I believe this means that
the interrupt request line on the bus is true. I trace the program and
it enters the ISR and checks a few flags. It finds the line printer
char done flag set and then determines that it was spurious and
returns, ignoring any other device that might be interrupting.
I don't have any printer devices installed, so it is strange that is
skips on the printer char done flag. When there is no device, what
does the IOT do? I would expect a NOP with maybe AC corruption, but
not a skip.
In the ISR, the printer is checked before the TTY and I think the
interrupt is from the TTY.
-chuck