CompuServe Thread

#emit v2.0

5 messages in this thread
#8519From: jake edgeDec 8, 1990 6:01 PM
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!
#8558From: Bob RakoskyDec 8, 1990 10:41 PM
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
#8681From: jake edgeDec 9, 1990 7:44 PM
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!
#8767From: Bob RakoskyDec 10, 1990 6:18 PM
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
#8852From: jake edgeDec 11, 1990 9:30 AM
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?