Soroban question

23 views
Skip to first unread message

Bill E

unread,
Jun 19, 2026, 8:50:58 PM (12 days ago) Jun 19
to [PiDP-1]
Hopefully someone knows... I'm going thru the pidp-1 code. The soroban typewriter had a red/black ribbon that could be shifted by the fiodec characters 034 and 035. The typewriter emulator supports red/black.
BUT, the code in pidp1 explicitly ignores those two characters and instead combines red and black with upper and lower shift so uppercase characters are one color, lowercase the other. Oh, there was a bug in the pidp1 code that would mess up shifts sometimes, but that's not directly related. Maybe.

Anyway, anyone have any idea why Angelo would have done this? Everything is there to have separate red/black and upper/lower, and that's how the soroban actually worked. Should I fix this?

Bill

Bill E

unread,
Jun 20, 2026, 9:37:14 AM (11 days ago) Jun 20
to [PiDP-1]
No feeback as usual. It really seems this was an implementation fail. I've changed things so red/black and shift/unshift work as they should ad fixed the bug around the processing of 
them:

Screenshot 2026-06-20 092219.png

Expensive Typewriter uses red/black to identify control mode vs text entry mode, should now work as it was intended to work.

I also fixed several errors in the original code around multiple things, including socket management. In the old code, if you specify web client, the tyi/tyo./punch ports are grabbed wthe emulator starts even if you don't use the web browser. That means you can't use the desktop icons at all. Fixed that. The ports aren't opened until something actually requests them. So, open the brower, use its interface. Close the browser, use the desktop icons.

Another major refactoring also done to move the tyi//tyo/punch/reader iot code that was intertwined in the emulator to a much more realistic set of actual dynamic IOTs, same as I did for the display a while back. The old code is still in pdp1.c but not called. I'll eventually remove it.

Some final fiddling with the new t30dpy code to get rid of the last (I hope) pi/trixie/wayland/labwc annoyances. The t30doy code endured a severe load test for 24 hrs. Ignore the 0 frame count, that's a reporting bug since fixed. It should have been about 2.5 million, 30 fps.

 Video driver is x11
439517782392 points drawn in 85715 total seconds, 5127664 points/sec.
0 total frames, 0 frames/sec.
7 frame late events, max delay 122 msecs.
20380258095 received points
237767 received points/sec
171294 maximum active points
0 points dropped because active-point pool exhausted.

That's a lot of points. over 4 trillion of them.
I'm pretty sure it's stable and working, tested under x11, wayland, pi5, pi4, and intel ubuntu.

I haven't posted to the repo yet, in the process of doing that. I'll update the release topic when ready. There were over 20 files touched, big update.

Bill
Reply all
Reply to author
Forward
0 new messages