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
Wrap
AMOS Source Code
|
1992-09-05
|
4KB
|
157 lines
Set Buffer 30
'
'
'
'DON'T forget to change baud-rate!
'
'
'
'Now handles control codes, like CTRL-Z etc.
Global XSEND,XREC,XOPEN,XCLOSE,XSETUP,XREAD,XWRITE
XSEND=0
XREC=1
XOPEN=2
XCLOSE=3
XSETUP=4
XREAD=5
XWRITE=6
XCUSTOM=7
'Lser demo
'
'Chr$(26) = Cline.
P$=Pen$(5) : D$=Pen$(2)
L1$=At(0,2)+Chr$(26)+P$+"Using protocol: "+D$+"%s"
L2$=At(0,3)+Chr$(26)+P$+"Name of file : "+D$+"%s"
L3$=At(0,4)+Chr$(26)+P$+"Filesize : "+D$+"%ld"
L4$=At(0,5)+Chr$(26)+P$+"Received bytes: "+D$+"%ld"
L5$=At(0,6)+Chr$(26)+P$+"Estimated time: "+D$+"%s"
L6$=At(30,6)+P$+"(elapsed "+D$+"%s"+P$+")"
L7$=At(0,8)+Chr$(26)+P$+"Last error: "+Pen$(4)+"%s"
L8$=At(65,8)+P$+"(tot "+Pen$(4)+"%ld"+P$+" errs)"
L9$=At(30,5)+P$+"Cps: "+D$+"%ld"
L10$=At(30,2)+P$+"using "+D$+"%s"
L11$=At(0,9)+Chr$(26)+P$+"Message : "+D$+"%s"
'xprcustomize
A$= Extension_11_00C8("a",L1$,"",XCUSTOM)
A$= Extension_11_00C8("b",L2$,"",XCUSTOM)
A$= Extension_11_00C8("c",L3$,"",XCUSTOM)
A$= Extension_11_00C8("d",L11$,"",XCUSTOM)
A$= Extension_11_00C8("e",L7$,"",XCUSTOM)
A$= Extension_11_00C8("f",L8$,"",XCUSTOM)
A$= Extension_11_00C8("g"," ","",XCUSTOM)
A$= Extension_11_00C8("h"," ","",XCUSTOM)
A$= Extension_11_00C8("i",L4$,"",XCUSTOM)
A$= Extension_11_00C8("j",L5$,"",XCUSTOM)
A$= Extension_11_00C8("k",L6$,"",XCUSTOM)
A$= Extension_11_00C8("l",L10$,"",XCUSTOM)
A$= Extension_11_00C8("m",L9$,"",XCUSTOM)
Screen Open 1,640,256,8,Hires
Flash Off : Palette ,,,$FF0
Paper 0 : Clw
Extension_11_0006 57600,8,1,8096,250000,$20+$4,0,"serial.device"
Extension_11_0064 "ATZ"+Chr$(13)
'<<<JUST WANT To Show YOU HOW To USE Lser Mul Send and Lser Mul Check>>>
While Not Extension_11_0078
Print "Waiting for mulsend to complete.."
Wend
Centre "Press <?> to SEND files with Zmodem" : Print
Centre "Press <+> to RECEIVE files with Zmodem" : Print
Centre "Press <~> to QUIT" : Print
Centre "Press <'> to CLEAR screen" : Print
STA$= Extension_11_00C8("","","xprzmodem.library",XOPEN) : Rem open
If STA$<>"OK"
Print "Failed to open xprzmodem.library!"
Extension_11_0024
End
End If
STA$= Extension_11_00C8("","Z1,TN,KY,B4,OR,SN,RN,AY,E10"+Chr$(0),"",XSETUP) : Rem SETUP
STATUS=Val(Mid$(STA$,1,1)) : Rem All OK?
FREQDL=Val(Mid$(STA$,2,1)) : Rem Need Freq for DL?
FREQUL=Val(Mid$(STA$,3,1)) : Rem Need Freq for UL?
'Don't care to check for User- and HostMon since we always call XREAD
'and XWRITE and let Lxpr handle this..
If STATUS=0
Print "Failed to setup parameters for library..."
A$= Extension_11_00C8("","","",XCLOSE)
Extension_11_0024
End
End If
Do
Multi Wait
A$= Extension_11_00DA
D=Free
If A$<>""
If A$="~" : Exit 1 : End If
If A$="'" : Clw : A$="" : End If
If A$="?"
Clw
If FREQUL=0
Proc _GET_FILE
A$=Param$
Print "Requested file(s): ";A$
Else
A$=""
End If
Gosub XPR_PRINT
STA$= Extension_11_00C8(A$,"","",XSEND)
A$=""
Home : Cline : Print "Press a key!" : Wait Key : Clw
End If
If(A$="+")
Clw
If FREQDL=0
Proc _GET_FILE
A$=Param$
Print "Requested file(s): ";A$
Else
A$=""
End If
Gosub XPR_PRINT
STA$= Extension_11_00C8(A$,"","",XREC)
Home : Centre "Press a key" : Wait Key : Clw
End If
If A$<>""
Extension_11_0034 A$
' D$=Lxpr(A$,"","",XWRITE)
End If
End If
D=Free
A$= Extension_11_0044
' A$=Lxpr("","","",XREAD)
Print Extension_10_0472(A$);
Loop
Extension_11_0024 : Rem Not such a bad idea?
T$= Extension_11_00C8("","","",3) : Rem close
End
XPR_PRINT:
'Pen 4
'Follow
Clw
Print "XPR-transfer. Press/Hold ESCape to abort transfer"
Print L1$-"%s"-"%ld"
Print L2$-"%s"-"%ld"
Print L3$-"%s"-"%ld"
Print L4$-"%s"-"%ld"
Print L5$-"%s"-"%ld"
Print L6$-"%s"-"%ld"
Print L7$-"%s"-"%ld"
Print L8$-"%s"-"%ld"
Print L9$-"%s"-"%ld"
Print L10$-"%s"-"%ld"
Print L11$-"%s"-"%ld"
Follow Off
Return
Procedure _GET_FILE
U:
Amos To Back
A$= Extension_10_01A0("Choose a file, press cancel when all are selected",$2+$4+$10+$40+$1000)
If A$="" Then Goto UT
If FILE$=""
FILE$=A$
Else
FILE$=FILE$+" "+A$
End If
Goto U
UT:
Amos To Front
End Proc[FILE$+Chr$(0)]