WinComm/drv
Scott Duensing acf1a6b691 Remove BeginUpdate/EndUpdate, fix rendering starvation, add variable docs
Remove BeginUpdate/EndUpdate batching from TKPAnsi entirely -- Write now
renders immediately via FlipToScreen after every ParseData call.  Remove
FPendingScroll (caused rendering deadlock: EndUpdate refused to call
FlipToScreen while FPendingScroll > 0, but only FlipToScreen cleared it).
DoScrollUp simplified to set FAllDirty directly.

CommEvent drain loop retained (required by edge-triggered CN_RECEIVE) but
each chunk renders immediately -- no deferred batching.  Edge-triggered
notifications verified starvation-free at all levels: ISR, driver, KPCOMM
dispatch, terminal rendering, and keyboard output path.

Add comprehensive variable comments to all project files: TKPAnsi (44
fields), TKPComm (23 fields), TMainForm (9 fields), PortStateT, and
driver globals.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 18:34:19 -06:00
..
commdrv.c Remove BeginUpdate/EndUpdate, fix rendering starvation, add variable docs 2026-03-01 18:34:19 -06:00
commdrv.def Rename output from COMM.DRV to KPCOMM.DRV to avoid clashing with stock driver 2026-02-24 20:07:45 -06:00
commdrv.h Remove BeginUpdate/EndUpdate, fix rendering starvation, add variable docs 2026-03-01 18:34:19 -06:00
isr.c Remove BeginUpdate/EndUpdate, fix rendering starvation, add variable docs 2026-03-01 18:34:19 -06:00
makefile Rename output from COMM.DRV to KPCOMM.DRV to avoid clashing with stock driver 2026-02-24 20:07:45 -06:00