OPLObjectFile** LOC::B:\OPL\OPLHELP.OPL OPLHELP.ODB \OPD\ B3LOADER showpel2O OPL/W+ Opl SyntaxOO+ IO functionOI+ Script CommandsOS + Utilities+ ErrorsOE+ Ascii TableOA+ Binary conversionOB Quit+ Bye!OX About OPL AssistantOH+ VersionOV ABOUT Version 1.0 B3LOADER asciitabO drawO B3LOADER errorO B3LOADER HexdebinO ABSO#+ ACOSO\+ ADDRO~+ ALERTO'+ APPO@+ APPENDO{ ASCO}+ ASINO[+ ATO]+ ATANO=+ BACKOQ+ BEEPOW BREAKOE+ BUSYOR+ CALLOT+ CHR$OY+ CLOSEOU+ CLSOI CMD$OO+ COMPRESSOP+ CONTINUEO_+ COPYOA+ COSOS+ COUNTOD CREATEOF+ CURSOROG+ DATETOSECOH+ DATIM$OJ+ DAYOK+ DAYNAME$OL DAYSO:+ dBUTTONSOZ+ dCHOICEOX+ dDATEOC+ dEDITOV+ DEGOB DELETEON+ dFILEOM+ dFLOATO++ DIALOGO-+ dINITO*+ DIR$O. MOREO, a=ABS(x)O + a=ACOS(x)O O~@[" a%=ADDR(var)O O'@[3 r%=ALERT(m1$,m2$,b1$,b2$,b3$)O O@@[% APP nameO ENDAO APPENDO O}@[ a%=ASC(a$)O + a=ASIN(x)O AT x%,y%O + a=ATAN(x)O BACKO Ow@[S BEEP time%,pitchO Rem -- time%/32 secsO Rem -- 512/(pitch%+1) KHZO BREAKO Or@[S BUSY str$,c%,delay%O Rem -- str$<20 chr'sO Rem -- c%=0-3 positionO Ot@[4 e%=CALL(s%,bx%,cx%,dx%,si%,di%O Oy@[! a$=CHR$(x%)O CLOSEO Oo@[! c$=CMD$(x%)O Op@[) COMPRESS src$,dest$O CONTINUEO Oa@[% COPY src$,dest$O c=COS(x)O c%=COUNTO Of@[. CREATE fil$,log,f1,f2...O Og@[G + CURSOR ONO CURSOR OffO CURSOR id%,asc%,width%,height%O Oh@[< +&s&=DATETOSECS(yr%,mo%,dy%,hr%,mn%,sc%)O + d$=DATIM$O d%=DAYO Ol@[% d$=DAYNAME$(x%)O O:@[Q d&=DAYS(day%,month%,year%)O +!Rem -- # of days since 01/01/1900O Oz@[6 + dBUTTONS p1$,k1%,p2$,k2%,p3$,k3%O Ox@[2 dCHOICE var choice%,p$,list$O Oc@[0 dDATE var lg&,p$,min&,max&O Ov@[, dEDIT var str$,p$,len%O d=DEG(x)O On@[& DELETE filename$O Om@[* dFILE var str$,p$,f%O O+@[. dFLOAT var fp,p$,min,maxO + d%=DIALOGO O*@[) dINIT title$O dINITO O.@[@ d$=DIR$(filespec$)O thenO d$=DIR$( O,@[ dLONGO#+ DO...UNTILO\+ DOWO~+ dPOSITIONO'+ dTEXTO@+ dTIMEO{ dXINPUTO}+ EDITO[+ EOFO]+ ERASEO)+ ERR,ERR$O=+ ESCAPE OFFOQ EVALOW+ EXISTOE+ EXPOR+ EXTOT+ FINDOY+ FIRSTOU FIX$OI+ FLTOO+ gATOP+ gBORDERO_+ gBOXO-+ gCLOCKOA gCLOSEOS+ gCLSOD+ gCOPYOF+ gCREATEOG+ gCREATEBITOH+ GENOJ GET,GET$OK+ GETCMD$O:+ GETEVENTO/+ gFILLO;+ gFONTO* gGMODEOZ+ gHEIGHTOX+ gIDENTITYOC+ gINFOOV+ gINVERTOB+ MOREOM O#@[0 dLONG var lg&,p$,min&,max&O O\@[" . . .O UNTILO O~@[. d%=DOW(day%,month%,year%O O'@[? dPOSITION x%,y%O (1,0) (1,1) (-1,0) (-1,-1)O O@@[: dTEXT p$,body$,t%O Rem -- t%=alignmentO O{@[3 dTIME var lg&,p$,t%,min&,max&O O}@[< dXINPUT var str$,p$O Rem -- Secret inputO EDIT a$O O]@[' e%=EOFO End of fileO ERASEO O=@[# e%=ERRO e$=ERR$O Oq@[. ESCAPE OFFO . . .O + ESCAPE ONO Ow@[ d=EVAL(s$)O Oe@[) e%=EXIST(filename$)O e=EXP(x)O + EXT name$O Oy@[! f%=FIND(a$)O FIRSTO Oi@[& f$=fix$(x,y%,z%)O + f=FLT(x&)O + gAT x%,y%O O_@[4 gBORDER flags%,width%,height%)O O-@[* gBOX width%,height%)O Oa@[@ gCLOCK ON,mode%,offset%O + GCLOCK ONO gCLOCK OFFO Os@[ gCLOSE id%O gCLSO Of@[1 gCOPY id%,x%,y%,w%,h%,mode%O Og@[A gCREATE(x%,y%,w%,h%,v%)O Rem -- v%= On or OffO Oh@[4 id%=gCREATEBIT(width%,height%)O Oj@[# g$=GEN$(x,y%)O Ok@[# g%=GETO g$=GET$O O:@[ w$=GETCMD$O O/@[' GETEVENT var a%()O O;@[1 gFILL width%,height%,gMode%O O*@[# gFONT fontid%O Oz@[7 gGMODE mode%O 0=set 1=cleared 2=invO Ox@[% height%=gHEIGHTO Oc@[# id%=gIDENTITYO Ov@[$ gINFO var i%()O Ob@[, gINVERT width%,height%O Om@[ GIPRINTO#+ gLINEBYO\+ gLINETOO~+ gLOADBITO'+ gLOADFONTO@+ GLOBALO{ gMOVEO}+ gORDERO[+ gORIGINXO]+ gORIGINYO=+ GOTOO++ gPATTOQ G+ gPEEKLINEOW+ gPOLYOE+ gPRINTOR+ gPRINTBOT+ gPRINTCLIPOY+ gRANKOU gSAVEBITOI+ gSCROLLOO+ gSETWINOP+ gSTYLEO_+ gTMODEO-+ gTWIDTHOA gUNLOADFONTOS+ gUPDATEOD+ gUSEOF+ gVISIBLEOG+ gWIDTHOH+ gXPRINTOK+ gYOL+ HEX$O:+ HOURO*+ IABSO/+ ICONO; IF...ENDIFOZ+ INPUTOX+ INTOC+ INTFOV+ KEYOB+ KEY$ON KEYAO,+ KEYCO<+ KMODO>+ LASTO.+ MOREOM O#@[+ GIPRINT str$,c%O c%=0-3O O\@[D gLINEBY dx%,dy%O Rem -- dx% rightO Rem -- dy% downO O~@[# gLINETO x%,y%O O'@[/ gLOADBIT(name$,write%,i%)O O@@[. fontid%=gLOADFONT(name$)O O{@[& GLOBAL variablesO O}@[# gMOVE dx%,dy%O O[@[* gORDER id%,position%O O]@[! x%=gORIGINXO O=@[! y%=gORIGINYO O+@[/ GOTO labelO GOTO label::O Oq@[4 gPATT id%,width%,height%,mode%O Ow@[2 gPEEKLINE id%,x%,y%,d%(),ln%O Oe@[ gPOLY a%()O Or@[! gPRINT listO Ot@[b gPRINTB t$,w%,al%,tp%,bt%,m%O +#text,width,align,top,bott clearanceO margin offsetO Oy@[1 w%=gPRINTCLIP(text$,width$)O Ou@[$ rank%=gRANKO Oi@[C gSAVEBIT name$,width$,height$O gSAVEBIT name$O Oo@[D gSCROLL dx%,dy%,x%,y%,wd%,ht%O gSCROLL dx%,dy%O Op@[: gSETWIN x%,y%,wd%,ht%O gSETWIN x%,y%O O_@[# gSTYLE style%O O-@[% gTMODE mode%O Oa@[+ width%=gTWIDTH(text$)O Os@[) gUNLOADFONT fontid%O Od@[2 gUPDATE ONO gUPDATE OFFO gUPDATEO gUSE id%O Og@[% gVISIBLE ON/OFFO Oh@[# width%=gWIDTHO x%=gXO Ok@[+ gXPRINT string$,flag%O y%=gYO O:@[! h$=HEX$(x&)O h%=HOURO i&=IABSO O;@[ ICON name$O Oz@[5 IF condition1O ELSEIF...ELSEO ENDIFO Ox@[0 + INPUT varO INPUT log.fieldO + i&=INT(x)O + i=INTF(x)O k%=KEYO k$=KEY$O O,@[6 + err%=KEYA(var stat%,var key%(1))O O<@[* err%=KEYC(var stat%)O O>@[H k%=KMODO (2 shift)(4 Control)O (8 PSION)(16 Caps lock)O LASTO Om@[ LCLOSEO#+ LEFT$O\+ LENO~+ LNO'+ LOADMO@+ LOCO{ LOCALO}+ LOCKO[+ LOGO]+ LOPENO=+ LOWER$O++ LPRINTO! MAXO"+ mCARD( MEANO$+ MENUO%+ MID$O^+ MINO& mINITO?+ MINUTEO(+ MKDIRO)+ MONTHOQ+ MONTH$OW+ NEXTOE NUMOR+ ONERROT+ OPENOY+ OPENROU+ PARSE$OO+ PATHO_+ PAUSEO-+ PIOA+ PEEK/POKEOS+ POSOD POSITIONOF+ PRINTOG+ RADOH+ RAISEOJ+ RANDOMIZEOK+ RECSIZEOL REMO:+ RENAMEO*+ REPT$O;+ RETURNO/+ RIGHT$OZ+ RMDIROX RNDOC+ SCI$OV+ SCREENOB+ SECONDON+ SECSTODATEO,+ MOREOM LCLOSEO O\@[% b$=LEFT$(a$,x%)O O~@[ a%=LEN(a$)O a=LN(x)O O@@[# LOADM module$O O{@[8 a%=LOC(a$,b$)O in a$ where b$ occursO O}@[% LOCAL variablesO O[@[% LOCK ONO LOCK OFFO a=LOG(x)O O=@[G LOPEN device$O TTY:A serial portO PAR:A Parallel portO O+@[# b$=LOWER$(A$)O O!@[! LPRINT listO O"@[9 m=MAX(list)O m=MAX(array(),element)O mCARD title$,n1$,k1%,n2$,k2%O O$@[9 m=MEAN(list)O m=MEAN(array(),element)O + val%=MENUO O^@[' m$=MID$(a$,x%,y%)O O&@[7 m=MIN(list)O m=MIN(array(),element)O mINITO + m%=MINUTEO O)@[! MKDIR name$O m%=MONTHO Ow@[# m$=MONTH$(x%)O NEXTO Or@[# n$=NUM$(x,y%)O OFF x%O Ot@[7 ONERR labelO ONERR label::O + ONERR OFFO Oy@[- OPEN file$,log,f1,f2...O Ou@[$ OPENRO + read onlyO Oi@[= a%=OS(i%,addr1%)O a%=addr1%(),addr2%())O Oo@[3 p$=PARSE$(f$,rel$,var off%())O Op@[ PATH name$O O-@[' PAUSE x%O + PAUSE -x%O p=PIO Os@[i PEEKB(x%),PEEKW(x%),PEEKL(x%)O PEEKF(x%),PEEK$(x%)O +#POKEB x%,y% - Rem - format for pokeO p%=POSO Of@[! POSITION x%O Og@[ PRINT listO r=RAD(x)O RAISE x%O Ok@[" RANDOMIZE x&O Ol@[ r%=RECSIZEO REM textO O*@[* RENAME file1$,file2$O O;@[% r$=REPT$(a$,x%)O O/@[( RETURNO RETURN varO Oz@[& r$=RIGHT$(a$,x%)O Ox@[ RMDIR str$O r=RNDO Ov@[& s$=SCI$(x,y%,z%)O Ob@[? SCREEN width%,height%,x%,y%O x%,y% optionalO + s%=SECONDO O,@[A SECSTODATE s&,yr%,mo%O dy%,hr%,mn%,sc%,yrday%O Om@[ SETNAMEO.+ SETPATHO#+ SINO\+ SPACEO~+ SQRO'+ STATUSWINO@ STDO{+ STOPO}+ SUMO[+ TANO]+ TESTEVENTO=+ TRAPO+ TYPEO!+ UNLOADMO"+ UNTIL( UPDATEO$+ UPPER$O%+ USEO^ USRO&+ USR$O(+ VALO)+ VAROQ+ VECTOROW+ WEEKOE WHILE...ENDWHOR+ YEAROT O.@[# SETNAME name$O O#@[# SETPATH name$O O\@[" s=SIN(angle)O s&=SPACEO s=SQR(x)O O@@[& STATUSWIN ON/OFFO O{@[7 s=STD(list)O s=STD(array(),element)O STOPO O[@[! s=SUM(list)O O]@[" t=TAN(angle)O O=@[" t%=TESTEVENTO O+@[9 TRAP commandO see manual for commandsO + TYPE num%O O"@[% UNLOADM module$O UNTILO UPDATEO O%@[# u$=UPPER$(a$)O O^@[- USE logical nameO a,b,c,dO O&@[I u%=USR(pc%,ax%,bx%,cx%,dx%)O passed to 8086 registersO O(@[J u$=USR$(pc%,ax%,bx%,cx%,dx%)O passed to 8086 registersO O)@[+ v=VAL(numeric string)O Oq@[7 v=VAR(list)O v=VAR(array(),element)O Ow@[0 + VECTOR I%O label1,label2O ENDVO Oe@[0 w%=WEEK(day%,month%,year%)O Or@[" WHILEO ENDWO y%=YEARO OPL/W Commands( Syntax: \opo\ IOOPENOO+ IOCLOSEOC+ IOREADOR+ IOWRITEOW+ IOSEEKOS More+ IOWOI+ IOAOA+ IOWAITOT+ IOSIGNALOG+ IOYIELDOY And Yet More+ IOWAITSTATOX Oo@[/ r%=IOOPEN(h%,name$,mode%)O Oc@[$ r%=IOCLOSE(h%)O Or@[1 r%=IOREAD(h%,addr%,maxlen%)O Ow@[2 r%=IOWRITE(h%,addr%,length%)O Os@[. r%=IOSEEK(h%,mode%,off&)O Oi@[, r%=IOW(h%,func%,a1,a2)O Oa@[1 r%=IOA(h%,f%,status%,a1,a2)O IOWAITO IOSIGNALO IOYIELDO Ox@[& IOWAITSTAT stat%O Port+ CONNECTOC+ HANGUPOH+ RESETOR+ SETUPOS Sending+ ON REPLYOO+ SENDOZ+ SENDWAITOF+ WAITOW Files+ CAPTUREOY+ EXISTSOE+ NEXISTSON+ RECEIVEO*+ TRANSMITOT UserInfo+ ALERTOA+ BEEPOB+ INFOOI+ MENUOM+ PASSWORDOP+ QUERYOQ Prog+ CALLOV+ EXITOX+ GOTOOG+ ONOU+ SETOJ Other+ DRAINOD Oc@[J CONNECT 20 GOTO againO Waits by 1/2 secs for HandshakeO Oh@[B HANGUPO drops DTR for 3 sec'sO Modem will hangupO Or@[: RESETO set parameters back to originalO Os@[y SETUP (BAUD=? :PARITY=? :DATA=?O +#STOP=? :HANDSHAKE=? :FAIL=? :ECHO=?O +!NEWLINE=? :BACKSPACE=? :TIMEOUT=?O Oo@[M +!ON REPLY CONNECT 2400 goto labelO in brackets after waitO Oz@[1 SEND PW$O SEND Of@[Z SENDWAIT 10 COMPUSERVEK USER ID:K goto nextKO Ow@[- WAIT 40O waits 20 secondsO Oy@[B CAPTURE filename$O Captures all data to a fileO Oe@[Q EXISTS fn$ goto nextO checks for existing fileO jumps if existsO On@[Z NEXISTS fn$ goto nextO checks for existing fileO jumps if does not existO O*@[d RECEIVE fn$, XMDMO XMDM,XMCRC,XM1K,YMDM,YMDMGO +#YM1K,YG1K Rem -- receive w/ProtocolO Ot@[3 TRANSMIT fn$, XMDMO see RECEIVEO Oa@[2 ALERT message$O Displays alertO Ob@[ BEEP x%,y%O Oi@[@ INFO mess$O + displays message on bottom rightO Om@[K MENU title$ (c1$ goto redoO c2$ goto sendO c3$ goto quit)O Op@[> PASSWORDO + ask for Pw of current names fileO QUERYO Ov@[E CALL script2$O +"stops current script, starts otherO Ox@[- EXITO stop ruuning scriptO Og@[0 GOTO labelO jumps to a labelO Oj@[- set a counter :c1=10O Od@[5 DRAINO empties the receive bufferO About OPL Assistant( +(OPL Assistant is a shareware program for ++Ser3 users that want to do some programming +'If you use it send $10 dollars to Mark +(Esposito at 6310 Rampart #34, Houston Tx ++77081, and you will receive updates and new modules. Comments welcome OPLA- OPLEa B3LOADERA2 ABOUT