Four performance optimizations targeting the hottest paths: - Parse CSI params (P1/P2) as integers during scan-ahead loop, eliminating ParseParamBuf call from ExecuteCSI (~200 cycles/seq) - Replace 16-iteration Pascal nibble table rebuild (64 branch+store) with 32 straight-line MOV word using precomputed BGBG/BGFG/FGBG/FGFG - Integrate cursor FG/BG swap into main RenderRow column loop, removing duplicate nibble rebuild + ASM glyph expansion overlay pass - Replace byte-at-a-time reccom loop with _fmemcpy block copy split at ring buffer wrap point, reducing far pointer overhead from O(n) to O(1) Also includes previously uncommitted space fast-path in RenderRow and inlined escape sequence handling in ParseDataBuf. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| commdrv.c | ||
| commdrv.def | ||
| commdrv.h | ||
| isr.c | ||
| makefile | ||