FujiNetWIFI/fujinet-firmware

Improve CP/M printer performance.

Open

#918 opened on Apr 24, 2025

View on GitHub
 (0 comments) (0 reactions) (0 assignees)C (89 forks)auto 404
enhancementhelp wanted

Repository metrics

Stars
 (284 stars)
PR merge metrics
 (PR metrics pending)

Description

CP/M printer performance is slow.

This is because we are sending each individual character to the virtual printer, one character at a time conforming to the CP/M BIOS function.

see: https://github.com/FujiNetWIFI/fujinet-firmware/blob/master/lib/runcpm/cpm.h#L637 and: https://github.com/FujiNetWIFI/fujinet-firmware/blob/master/lib/device/sio/printer.cpp#L115

The buffer in question happens to be 320 bytes long, so up to 320 bytes can be sent to the printer in print_from_cpm(), which would vastly speed up the process, and using a timer to indicate when to flush the buffer (assuming less than 320 bytes is in it)

-Thom

Contributor guide