cd@hrc63.UUCP (Colin Denman GECCL) (05/13/86)
I am having some problems with a program designed to read/write the rs232, whilst accessing the floppy disc. I would appreciate any insight, hopefully from people who *know*. The program uses Caux...() calls to access the rs232 line, checking for availability of characters/buffer space etc. & using stdio for disc i/o. The problem arises when transferring data from the disc, whilst receiving from the rs232. This is the only combination that presents problems, the program will happilly receive lots of input from the line, or send lots of data to it, but when trying to do both, it locks up. A logic analyser shows the cpu to be constantly in supervisor mode, with no excursions whatsoever back to my program. As best as I can tell, the code being executed is related to the video sync interrupts, but it is difficult to be sure. I have no idea how it achieves this state, the keyboard & mouse are both locked, and the only recovery is to reboot. The activities are all intended to be synchronised by an evnt_multi(), with the rs232 i/o kicked for each event (a timer event is included just to make sure it happens) and the file access kicked whenever there is nothing better to do (eg when the timer event actually occurs & no rs232 i/o is needed).