[comp.sys.atari.st] Connecting ST and 8bit

rankinp@cs.glasgow.ac.uk (Peter Rankin) (04/18/88)

Has anyone out  there ever used an ST as a file  server for an 8bit machine?  I
would  like to  keep  all  my  8bit stuff on  ST  disks.  A 'get' type  command
given on  the 8bit would then  cause the ST to send  over the file needed  (via
a joystick port?). This would  mean that an ST hard drive  could be used in the
same way. Is there any code available to do this? If so, can it be done without
the ST user being aware of what is going on (or at least without disturbing any
program running on an ST).

  I would think that any routine to do this would have to be interrupt driven.
The ST watches for the 'get' signal during a VBI. When it arrives, an interrupt
is generated on the ST. The ST procedes with the request using the VBI to send
blocks of data over. Any program running on the ST is only frozen during disk
access. Is my thinking correct? 


Peter Rankin:     UUCP: rankinp@glasgow.cs.ac.uk
                 JANET: rankinp@uk.ac.cs.glasgow

wes@obie.UUCP (Barnacle Wes) (04/28/88)

In article <1006@crete.cs.glasgow.ac.uk>, rankinp@cs.glasgow.ac.uk (Peter Rankin) writes:
> Has anyone out  there ever used an ST as a file  server for an 8bit
> machine?  I would  like to  keep  all  my  8bit stuff on  ST  disks.
> A 'get' type  command given on  the 8bit would then  cause the ST to
> send  over the file needed  (via a joystick port?).

I know for a fact this won't work -- the joystick ports on the ST are
NOT bi-directional; they're read-only.  Your best bet would be either
the RS-232 port or the parallel (printer) port on the ST side.  If you
have an XL series 8-bit, you could probably use the parallel (user?)
port on the back to connect to the parallel port on the ST.

> I would think that any routine to do this would have to be interrupt
> driven.  The ST watches for the 'get' signal during a VBI. When it
> arrives, an interrupt is generated on the ST. The ST procedes with
> the request using the VBI to send blocks of data over. Any program
> running on the ST is only frozen during disk access. Is my thinking
> correct? 

Actually, you've just covered the easy part.  The hard part is that
TOS is NOT really ready for any sort of multitasking (by itself).  The
OS routines are not re-entrant, so you would have to be careful to
make sure that your interrupt routine did not call ANY OS routines if
an OS routine was in process when the interrupt arrived.  (Whew, that
was a long sentence even for me!)

Your best bet to get around this problem would be to buy Micro-RTX
from Beckmeyer Tools and write the server program as a 'backgroundable'
(my term) task using RTX.  RTX handles all of the re-entrancy and
exclusion problems, giving you re-entrant systems calls and background
tasks while still being able to use (correctly written) GEM programs.

Care to continue on this, Dave Beckmeyer?
-- 
    /\              -  "Against Stupidity,  -    {backbones}!
   /\/\  .    /\    -  The Gods Themselves  -  utah-cs!uplherc!
  /    \/ \/\/  \   -   Contend in Vain."   -   sp7040!obie!
 / U i n T e c h \  -       Schiller        -        wes