Apparent bug in pidp1 completion logic

14 views
Skip to first unread message

Bill E

unread,
Feb 2, 2026, 8:44:07 PM (3 days ago) Feb 2
to [PiDP-1]
Specifically around the action of bits 5,6 set to 0,1 in the dpy iot, which means "don't wait but set a completion pulse" which can then be waited on by 730000, iot i 0.
There is an example in the F25_PDP1_IO manual, see below.
What's happening is that when the dpy finishes its completion code isn't getting fired. In particular internally in src/blincolnlights/pdp1/pdp1.c, handleio(), dcp is not set so the logic there does not get executed. However, if a  dpy i, 730007 is done, the logic fires.
According to the documentation, it should. How do I know its not firing? A printf in the function, of course. :)
The logic around all the io completion is convoluted, having multiple states. I'm hoping someone can provide insight, I've already wasted hours trying to find the bug in my code which didn't exist.
Here's the code:
Completion bug
100/
    lio y
    cla
    jmp loop + 1
loop, 730000
    724007
    add inc
    sma
    jmp loop
    jmp 100
y, 0
inc, 400
start 100
 
It appears to run properly, but as I said, the internal completion code isn't firing, it appears the ioh doesn't even wait.
Or, I'm just confused by the complex logic in pdp1.c.
Bill

Bill E

unread,
Feb 2, 2026, 8:57:15 PM (3 days ago) Feb 2
to [PiDP-1]
Argh! Never mind, I'm not sure what I was looking at, but dcp is set and everything seems to be working properly. Too many hours at the keyboard. Shouldn't have doubted Angelo. :)

Bill
Reply all
Reply to author
Forward
0 new messages