[net.micro.apple] apple II[-+e] 80col and 1200bps

jrh@bunker.UUCP (Jeff Hagen) (06/15/84)

e.

But in this case, the processor only has to check for an incoming 
character once every 8 millisecs, and it can check for this any
time in that interval.

So, write a polling routine that checks to see if a character
has come in, and if it has maintain a spooling buffer for
unprocessed characters.  Then  write the routine to process 
the characters interspersing calls to the polling routine
so that the polling routine gets called at least once each 
8 millisecs. 

You could add another feature to the polling routine that
checks to see if the spooling buffer is nearly full. 
If it is nearly full, send the host a control S.
When it is empty and a control S is pending, send a control Q
to restart the transmission.

right?

This would be applicable to 70col hires character generators as
well.  So if 70 columns are enough, you don't even need an 80 column
card.

The size of the polling routine would be small, although  
some ram would be necessary for the spooling buffer.

                               Jeffrey R. Hagen

james@umcp-cs.UUCP (06/17/84)

Regarding making sure your polling routine gets called at
least every 8 msecs: this is the whole problem...once your 80-col card
ROM gets into its scroll routine, it's hard to get control again.

Easier than interrupts is relocating the whole ROM code to RAM and
sticking calls to your polling routine in all the right places.

Regarding sending ^S to the host automagically: it's yucky,
it's awful, and it only works if you are *extremely* careful.

  --Jim