improper lights behavior

28 views
Skip to first unread message

Michael Cheponis

unread,
Jan 2, 2026, 3:00:42 AM (13 days ago) Jan 2
to pid...@googlegroups.com
Thank you for the two suggestions; as to lights remaining on after power-down, I had the wrong pattern in my previous email.  The lights that stay on are 14  7747.  I'll try the eprom adjustment.  I generally just hit the button on the back twice to turn the machine off   (that's why it's there, right?  ;-)  )

Now, the other problem seems to be nastier:

sudo setcap cap_sys_nice+ep /opt/pidp1/src/blincolnlights/panel_pidp1/panel_pidp1 sets "panel_pidp1" to run at higher priority.  I checked with a getcap that the program indeed was +ep -- but the lights flickering in the IO and Accumulator displays still occurs.

TOP, cli / Clear IO register.
LP1, lat / Get TEST WORD value and display it in AC.
rcl 777 / Rotate half of AC register -> IO, 9 bits.
rcl 777 / Rotate the rest of the AC register -> IO, 9 bits.
jmp LP1 / Loop forever

Pretty simple program.

Thank you for hints so far.
-Mike

Bill E

unread,
Jan 3, 2026, 7:52:12 AM (12 days ago) Jan 3
to [PiDP-1]
At Mike's request, I tested the above also. He's correct. Both the IO and AC have random, changing lights, not just the ones that should be set. I suspect the display update isn't synchronized with the emulator? Maybe getting intermediate values. I haven't looked into it, though.

Bill
MCTest.mp4

Bill E

unread,
Jan 3, 2026, 9:23:53 AM (12 days ago) Jan 3
to [PiDP-1]
I looked at the emulator code. It does what seems to me to be a strange thing, it updates the lights at the end of a randomly-selected subcycle every cycle. Not sure why this is done rather
than updating at the end of the cycle. Maybe to try to simulate the behavior of the real -1 where the lights continuously reflect the state of the hardware registers?
Even more complicated, it just updates a shared memory area that the panel handler also looks at, and there doesn't seem to be any actual synchronization between the two.

This is also complicated by the behavior of the real -1 where a shift/rotate doesn't necessarily complete in the cycle it starts in, it can complete early in the next cycle. So, you can see intermediate results. The emulator duplicates this behavior.
So, not sure what, if anything, should be done. I did try moving the update to the end of the cycle with no randomness, things still seemed to work properly. However, this isn't a change I'm keeping, at least not for now. Hopefully Angelo will provide some guidance.

Bill
Reply all
Reply to author
Forward
0 new messages