> Oh you're quite right it could be a problem... But not that serious;-)
> When you check for character availability you first check the Ring-buffer and
> if none there then disable the interupts and check the UART RxRDY bit then re-
> enable the interupts...
 
> When Reading a character do the same as above but get the character from 
> which-
> ever has a character character first..
> 
> More software overhead in bytes but they're only executed *when* you 
> check/read
> a character and not whilst you're trying to process the data... 

Understood, but it seems to work as it is... I'll think about it :) I've 
gone pretty modular with this code anyway, so it shouldn't make too much 
of a difference...
 
> Under ProDos1923 apart from momentary DI's during context switches the only
> time I disable the interupts is during the disk-allocation find-first free
> block routine as that places the stack on top of the actual allocation vector
> bit-map and uses non-standard methods to search through it.. Interupts whilst
> in that routine would be fatal!
> Note I don't even Disable the interupts when doing the fast PUSH HL...
> style screen clear routine.

Okay.... I can understand that this would work, but you might get slight 
screen glitches. At the moment I use a string of 1024 LDI's in a loop to 
clear the screen -- it'll be replaced with a starting XOR A followed by a 
string of LD (HL),A:INC L's...
 
> I'd suggest that when hooking in scripts that you give the screen the least
> priority ie force the most time efficient emulated screen mode ie No colour,
> ANSI filtering rather than calculations and a 24x64 or 85 if there's time...
> 
> Or even avoiding screen output until an error ocours in the script!
> ie keep the script-mode code seperate from the hands-on mode or both will
> suffer!

Ahhhhh.... understood... actually I've planned for this with a script 
command called ECHO -- it can be ON or OFF. In ON mode, all incoming data 
goes to the screen via the terminal processor. Terminal modes can be 
decided on using TERMINAL "term.file" -- where term.file is the terminal 
type overlay file you want to use...

The scripts will be compiled anyway, so it should make things quite nice 
and fast...

> [Sam Fax]
> It'll take some time as they're on Fidonet, I'll get right on it:-)
> (I hope the docs aren't too big;-)

Excellent!

Simon

Reply via email to