Windows 3.x High-Speed Communications Library and Tools.
Find a file
Scott Duensing ec0ec8f074 Replace event-driven WM_COMMNOTIFY architecture with polling main loop
The ISR still fills the ring buffer (mandatory for 115200 baud), but the
app now polls ReadComm directly via a PeekMessage loop instead of waiting
for WM_COMMNOTIFY.  Blink uses GetTickCount instead of WM_TIMER.  This
eliminates all Windows message overhead from the data path while keeping
the message loop alive for keyboard, paint, and scrollbar.

Removed from KPCOMM.PAS: NotifyWndProc, hidden notification window,
RegisterClass/CreateWindow, EnableCommNotification, SetCommEventMask,
DoCommEvent, Process*Notify methods, OnComm/CommEvent/RThreshold/
SThreshold properties, modem shadow state (CTS/DSR/CD).

Removed from KPANSI.PAS: WM_TIMER handler, SetTimer/KillTimer, replaced
with public TickBlink method using GetTickCount at 500ms intervals.

Removed from drv/isr.c: checkNotify function and its call from
isrDispatch.  Removed from drv/commdrv.c: pfnPostMessage, all
rxNotifySent/txNotifySent edge-trigger bookkeeping, gutted
enableNotification to a no-op API-compat stub.  Removed from
drv/commdrv.h: rxNotifySent/txNotifySent fields (shifts struct layout),
PostMessageProcT typedef, pfnPostMessage extern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:01:40 -06:00
delphi Replace event-driven WM_COMMNOTIFY architecture with polling main loop 2026-03-01 19:01:40 -06:00
drivers Initial commit. 2026-02-23 20:53:02 -06:00
drv Replace event-driven WM_COMMNOTIFY architecture with polling main loop 2026-03-01 19:01:40 -06:00
vbx VBX does not work. Moving to Delphi. 2026-02-25 22:06:08 -06:00
.gitattributes Initial commit. 2026-02-23 20:53:02 -06:00
.gitignore VBX does not work. Moving to Delphi. 2026-02-25 22:06:08 -06:00