[net.micro.atari16] problems with disc/rs232

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).