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