FujiNetWIFI/fujinet-firmware

Improve CP/M printer performance.

Open

#918 opened on Apr 24, 2025

 (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