In theory, it should `just work', though you'll probably want to modify
the output routine to upload more that 16 characters at once. i.e.:
if (sc->sc_hwflags & COM_HW_FIFO) {
u_char buffer[16], *cp = buffer;
int n = q_to_b(&tp->t_outq, cp, sizeof buffer);
Change the `16' to maybe `128'. I wouldn't suggest 1024; that's too
large to put on the stack, and really too much time to spend in the
interrupt handler at once if you have multiple ports.
And of course, let me know how it goes.
------------------------------------------------------------------------------