┴PPEND2.ML IS A MACHINE LANGUAGE FILE LOCATED AT $├┬10. ╔T PROVIDES AN XMODEM UPLOAD, AN XMODEM DOWNLOAD, AND AN ASCII UPLOAD CAPABILITY TO ANY PROGRAM USING TERM.C1.
╙┘╙ES IN ┴╨╨┼╬─2.╨┴╠
╪MODEM ╒PLOAD ╙┘╙ 51984
╪MODEM ─OWNLOAD ╙┘╙ 51987
┴SCII ╒╨╠╧┴─ ╙┘╙ 51990
┘OU NEED A FILE OPEN TO THE SERIAL PORT AS #5, AND A DISK FILE AS #2. ╘HIS IS COMPATIBLE WITH TERM.C1
EXAMPLE
20000 OPEN2,8,2,"DATAFILE,P,R":SYS51984:IF (NOT EOF) THEN PRINT "BAD UPLOAD":CLOSE2
╘HE PROGRAM TRIES TO DETERMINE IF THE CALLING PROGRAM IS ┬ASIC OR ┬LITZED BASIC. ╔F IT IS ┬ASIC , IT WILL RETURN THE STATUS OF THE UPLOAD IN A BASIC VARIABLE NAMED "EO" FOR ┼ND ╧F FILE. ╔F ┼O IS TRUE, THEN THE UPLOAD/DOWNLOAD WAS GOOD. ╔F EO IS FALSE , THEN THE UPLOAD/DOWNLOAD IS BAD.
╔F THE PROGRAM IS ┬LITZED BASIC, THEN IF THE UPLOAD/DOWNLOAD IS GOOD, A PEEK AT LOCATION 688 WILL RETURN 128. ╔F THE UPLOAD/DOWNLOAD IS BAD, THE PEEK WILL RETURN ZERO.
╫HEN BLOCKS ARE GOOD, THE PROGRAM RETURNS A '-', JUST AS TERM.C1 WILL. ╫HEN BLOCKS ARE BAD, IT RETURNS A ':' TO SCREEN. ┬LOCKS ARE USED IN THE ╪MODEM SENSE, 128 BYTES TO A BLOCK. ╔N MY TIMINGS, THESE ROUTINES HAVE SENT 13 ╪MODEM BLOCKS A MINUTE AT 300 BAUD, APPROXIMATELY 6% FASTER THAN TERM.C1. ╘HE ┴SCII UPLOADER WILL READ A SEQUENTIAL FILE FROM DISK AND UPLOAD THE FILE, CONVERTING FROM ╨┼╘ ┴╙├╔╔ TO TRUE ┴╙├╔╔ ON THE FLY. ╔T SUPPORTS A VERSION OF ╪╧╬/╪╧╞╞; CONSEQUENTLY, IT CAN BE USED TO UPLOAD TEXT TO ╔┬═ TERMINAL PACKAGES SUCH AS ├╥╧╙╙╘┴╠╦. ╘HE MODIFICATION OF ╪╧╬/╪╧╞╞ INVOLVES TIMING THE ╪╧╬/╪╧╞╞. ╔F DATA TRANSMISSION IS STOPPED FOR MORE THAN ONE MINUTE, THE PROGRAM WILL RESTART. ╘HIS FEATURE IS USEFUL FOR ┬┬╙ WRITERS WHO WISH TO ADD ┴╙├╔╔ UPLOADS TO THEIR PROGRAMS. ╬OTE THAT ┴╬┘ ┴╙├╔╔ FILE CAN BE READ; THE ROUTINE IS VERY FAST, AND REQUIRES ╬╧ QUOTES TO BOOST SPEED.
┴NY COMMENTS , SUGGESTIONS, ENHANCEMENTS, ETC WOULD BE APPRECIATED.