#emit v2.0
5 messages in this thread
I just got a copy of emit v2.0 by Justin V. McCormick (in the file emit.arc
in one of the libraries around here) and it seems to work quite well (even
on the 3000 under WB2.0) … he says that it is a hack and he is not sure
of compatibility under future versions of the hardware and/or WB and I was
wondering whether the techniques he used are going to cause me problems
down the road … he has some assembly code that does the low-level serial
port manipulations and invokes both Forbid and Disable (which seems rather
ominous for multitasking) … I am thinking of extending the prog to do
some more 'ftp' like things. Does anyone out there know about this program
and/or how to get in touch with Justin (he lists a snail mail address and
accounts on plink and bix … neither of which I have accounts on) … does
he have an account on CIS?
thx!
jake
– via Whap!
Jake,
I don't recall seeing Justin on CIS – there's just no accounting for
taste <grin>.
As for the use of Forbid() and/or Disable() in a program, they are both
perfectly legal (and often necessary) in programs that _are_ multitasking
friendly. The trick is to only Forbid() or Disable() for very short
periods of time and only when really needed (like accessing a system
resource that may be accessed by another task simultaneous to your
accessing it. If one of the task could be changing it, then one would use
the Forbid() or Disable() call to prevent that. Forbid stops regular tasks
from getting control (until your program issues a Permit), while Disable
will also stop interupt routines from getting dispatched (until you issue
an Enable). You are right in that care must be used to make sure you are
not in the Forbid or Disable state for any longer than absolutely
necessary.
Hope this helps…
…BobR
Well … I kinda knew that, but your explanation was great! … it appears
that Forbid/Disable are done during the entire transfer of data from one
side to the other … I don't think this is a short period of time (of
course depending on the size of the file transferred …)
thx!
jake
– via Whap!
Jake,
If he is, in fact, Forbid()'ing during the entire transfer of data, that
definitely isn't multi-tasking friendly. The only reason I can see for
doing that would be if the program were trying to transfer data at Midi
speeds, in which case this would be the only way of achieving the needed
throughput. However, this would not be a good thing to base a
general-purpose comm program on (IMHO).
…BobR
Upon further investigation, that appears to be exactly why he is using
Forbid() and Disable() as he is setting the baud rate to 280000 … emit
certainly isn't meant as a general purpose comm prog, but as a high speed
file transfer … i may well extend it to do some ftp-like things so that
you would have a task running in the background and could request files
from as well as send files to the other machine … i will only be doing
this if i find no other utility to do it for me … i will be setting up
uucp between the 500 and the 3000 (anyone out there know if it will work on
the 3000?) in preparation to set up a mail link with usenet (via a friend's
sun) … but uucp is so slow … do you know of any faster utilities for
file transfer between two physically close amigas (of course ethernet with
tcp/ip is an option when i get some bucks, but it may be hard to do for the
500) … what kind of baud rates will the amiga support and still be
multitasking friendly? what do the midi progs out there do?