home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #3 / amigamamagazinepolishissue1998.iso / maksiu / extensions / lserv25d.lha / lserial_demo / examples / lserial / zmodem_ex.AMOS / zmodem_ex.amosSourceCode
AMOS Source Code  |  1992-09-05  |  4KB  |  157 lines

  1. Set Buffer 30
  2. '
  3. '
  4. '
  5. 'DON'T forget to change baud-rate! 
  6. '
  7. '
  8. '
  9. 'Now handles control codes, like CTRL-Z etc. 
  10. Global XSEND,XREC,XOPEN,XCLOSE,XSETUP,XREAD,XWRITE
  11. XSEND=0
  12. XREC=1
  13. XOPEN=2
  14. XCLOSE=3
  15. XSETUP=4
  16. XREAD=5
  17. XWRITE=6
  18. XCUSTOM=7
  19. 'Lser demo 
  20. '
  21. 'Chr$(26) = Cline. 
  22. P$=Pen$(5) : D$=Pen$(2)
  23. L1$=At(0,2)+Chr$(26)+P$+"Using protocol: "+D$+"%s"
  24. L2$=At(0,3)+Chr$(26)+P$+"Name of file  : "+D$+"%s"
  25. L3$=At(0,4)+Chr$(26)+P$+"Filesize      : "+D$+"%ld"
  26. L4$=At(0,5)+Chr$(26)+P$+"Received bytes: "+D$+"%ld"
  27. L5$=At(0,6)+Chr$(26)+P$+"Estimated time: "+D$+"%s"
  28. L6$=At(30,6)+P$+"(elapsed "+D$+"%s"+P$+")"
  29. L7$=At(0,8)+Chr$(26)+P$+"Last error: "+Pen$(4)+"%s"
  30. L8$=At(65,8)+P$+"(tot "+Pen$(4)+"%ld"+P$+" errs)"
  31. L9$=At(30,5)+P$+"Cps: "+D$+"%ld"
  32. L10$=At(30,2)+P$+"using "+D$+"%s"
  33. L11$=At(0,9)+Chr$(26)+P$+"Message   : "+D$+"%s"
  34. 'xprcustomize
  35. A$= Extension_11_00C8("a",L1$,"",XCUSTOM)
  36. A$= Extension_11_00C8("b",L2$,"",XCUSTOM)
  37. A$= Extension_11_00C8("c",L3$,"",XCUSTOM)
  38. A$= Extension_11_00C8("d",L11$,"",XCUSTOM)
  39. A$= Extension_11_00C8("e",L7$,"",XCUSTOM)
  40. A$= Extension_11_00C8("f",L8$,"",XCUSTOM)
  41. A$= Extension_11_00C8("g"," ","",XCUSTOM)
  42. A$= Extension_11_00C8("h"," ","",XCUSTOM)
  43. A$= Extension_11_00C8("i",L4$,"",XCUSTOM)
  44. A$= Extension_11_00C8("j",L5$,"",XCUSTOM)
  45. A$= Extension_11_00C8("k",L6$,"",XCUSTOM)
  46. A$= Extension_11_00C8("l",L10$,"",XCUSTOM)
  47. A$= Extension_11_00C8("m",L9$,"",XCUSTOM)
  48. Screen Open 1,640,256,8,Hires
  49. Flash Off : Palette ,,,$FF0
  50. Paper 0 : Clw 
  51.  Extension_11_0006 57600,8,1,8096,250000,$20+$4,0,"serial.device"
  52.  Extension_11_0064 "ATZ"+Chr$(13)
  53. '<<<JUST WANT To Show YOU HOW To USE Lser Mul Send  and Lser Mul Check>>>
  54. While Not Extension_11_0078 
  55.    Print "Waiting for mulsend to complete.."
  56. Wend 
  57. Centre "Press <?> to SEND    files with Zmodem" : Print 
  58. Centre "Press <+> to RECEIVE files with Zmodem" : Print 
  59. Centre "Press <~> to QUIT" : Print 
  60. Centre "Press <'> to CLEAR screen" : Print 
  61. STA$= Extension_11_00C8("","","xprzmodem.library",XOPEN) : Rem open 
  62. If STA$<>"OK"
  63.    Print "Failed to open xprzmodem.library!"
  64.     Extension_11_0024 
  65.    End 
  66. End If 
  67. STA$= Extension_11_00C8("","Z1,TN,KY,B4,OR,SN,RN,AY,E10"+Chr$(0),"",XSETUP) : Rem SETUP
  68. STATUS=Val(Mid$(STA$,1,1)) : Rem All OK?
  69. FREQDL=Val(Mid$(STA$,2,1)) : Rem Need Freq for DL?
  70. FREQUL=Val(Mid$(STA$,3,1)) : Rem Need Freq for UL?
  71. 'Don't care to check for User- and HostMon since we always call XREAD
  72. 'and XWRITE and let Lxpr handle this.. 
  73. If STATUS=0
  74.    Print "Failed to setup parameters for library..."
  75.    A$= Extension_11_00C8("","","",XCLOSE)
  76.     Extension_11_0024 
  77.    End 
  78. End If 
  79. Do 
  80.    Multi Wait 
  81.    A$= Extension_11_00DA 
  82.    D=Free
  83.    If A$<>""
  84.       If A$="~" : Exit 1 : End If 
  85.       If A$="'" : Clw : A$="" : End If 
  86.       If A$="?"
  87.          Clw 
  88.          If FREQUL=0
  89.             Proc _GET_FILE
  90.             A$=Param$
  91.             Print "Requested file(s): ";A$
  92.          Else 
  93.             A$=""
  94.          End If 
  95.          Gosub XPR_PRINT
  96.          STA$= Extension_11_00C8(A$,"","",XSEND)
  97.          A$=""
  98.          Home : Cline : Print "Press a key!" : Wait Key : Clw 
  99.       End If 
  100.       If(A$="+")
  101.          Clw 
  102.          If FREQDL=0
  103.             Proc _GET_FILE
  104.             A$=Param$
  105.             Print "Requested file(s): ";A$
  106.          Else 
  107.             A$=""
  108.          End If 
  109.          Gosub XPR_PRINT
  110.          STA$= Extension_11_00C8(A$,"","",XREC)
  111.          Home : Centre "Press a key" : Wait Key : Clw 
  112.       End If 
  113.       If A$<>""
  114.           Extension_11_0034 A$
  115. '         D$=Lxpr(A$,"","",XWRITE) 
  116.       End If 
  117.    End If 
  118.    D=Free
  119.    A$= Extension_11_0044 
  120. '   A$=Lxpr("","","",XREAD)
  121.    Print Extension_10_0472(A$);
  122. Loop 
  123.  Extension_11_0024 : Rem Not such a bad idea? 
  124. T$= Extension_11_00C8("","","",3) : Rem close
  125. End 
  126. XPR_PRINT:
  127. 'Pen 4 
  128. 'Follow  
  129. Clw 
  130. Print "XPR-transfer. Press/Hold ESCape to abort transfer"
  131. Print L1$-"%s"-"%ld"
  132. Print L2$-"%s"-"%ld"
  133. Print L3$-"%s"-"%ld"
  134. Print L4$-"%s"-"%ld"
  135. Print L5$-"%s"-"%ld"
  136. Print L6$-"%s"-"%ld"
  137. Print L7$-"%s"-"%ld"
  138. Print L8$-"%s"-"%ld"
  139. Print L9$-"%s"-"%ld"
  140. Print L10$-"%s"-"%ld"
  141. Print L11$-"%s"-"%ld"
  142. Follow Off 
  143. Return 
  144. Procedure _GET_FILE
  145.    U:
  146.    Amos To Back 
  147.    A$= Extension_10_01A0("Choose a file, press cancel when all are selected",$2+$4+$10+$40+$1000)
  148.    If A$="" Then Goto UT
  149.    If FILE$=""
  150.       FILE$=A$
  151.    Else 
  152.       FILE$=FILE$+" "+A$
  153.    End If 
  154.    Goto U
  155.    UT:
  156.    Amos To Front 
  157. End Proc[FILE$+Chr$(0)]