home *** CD-ROM | disk | FTP | other *** search
/ ABBUC Magazin 39A / ABBUC_Magazin_39_19xx_ABBUC_Side_A.atr / xfdtrans.inc < prev    next >
Text File  |  2023-02-26  |  3KB  |  1 lines

  1. ¢; Includedatei fuer XFDTRANS.ACT¢;---¢¢MODULE¢BYTE CIO_status¢¢PROC siov=$E459 ()¢¢BYTE FUNC Sio (BYTE num,comnd,stats,tim,CARD buf,byt,sec)¢¢BYTE ddevic=$300,¢     dunit=$301,¢     dcomnd=$302,¢     dstats=$303,¢     dtimlo=$306¢¢CARD dbuf=$304,¢     dbyt=$308,¢     daux=$30A¢¢ddevic=$31¢dunit=num¢dcomnd=comnd¢dstats=stats¢dtimlo=tim¢dbuf=buf¢dbyt=byt¢daux=sec¢¢siov () ; ansprung der sioroutine¢¢RETURN (dstats)¢¢;---¢¢PROC C_On ()¢¢BYTE crsin=752¢¢crsin=0¢¢RETURN¢¢PROC C_Off ()¢¢BYTE crsin=752¢¢crsin=1¢¢RETURN¢¢BYTE FUNC Inkey ()¢¢BYTE atascii¢¢ Close (2)¢ Open (2,"K:",4,0)¢ atascii=GetD(2)¢ Close(2)¢¢RETURN (atascii)¢¢PROC Pause (CARD times)¢¢BYTE wsync=$14,q¢CARD u¢¢FOR u=1 TO times¢DO¢  FOR q=1 TO 200¢  DO¢   wsync=q¢  OD¢OD¢¢RETURN¢¢PROC Beep (BYTE times)¢¢BYTE u¢¢FOR u= 1 TO times¢DO¢  PutD (0,253)¢  Pause (10)¢OD¢¢RETURN¢¢PROC Getin (BYTE ARRAY text,BYTE len)¢¢  BYTE ascii,pos,u,inv¢¢  pos=text(0)+1¢  inv=0¢¢  IF text(0)#0 THEN¢   Print (text)¢  FI¢¢  DO¢   ascii=Inkey ()¢¢   IF ascii=129 THEN¢    inv==!$80¢   FI¢   IF ascii=$1E AND pos>1 THEN¢    pos==-1¢    PutD (0,$1E)¢   FI¢   IF ascii=$7E AND pos>1 THEN¢    pos==-1¢    PutD (0,$7E)¢   FI¢   IF ascii=$1F AND pos#len+1 THEN¢    pos==+1¢    PutD (0,$1F)¢   FI ¢   IF ascii>26 AND ascii<32 THEN¢    ascii=128¢   FI¢   IF pos#len+1 AND ascii<$7E THEN¢    ascii==+inv¢    PutD (0,ascii)¢    text(pos)=ascii¢    pos==+1¢   FI¢   text(0)=pos-1¢  UNTIL ascii=$9B¢  OD¢¢RETURN¢¢PROC Write (BYTE x,y,BYTE ARRAY string)¢¢  BYTE u,chr¢  CARD savmsc=$58¢  BYTE POINTER adr¢¢  adr=savmsc+y*40+x¢¢  FOR u=1 TO string(0)¢  DO¢   chr=string(u)¢   IF chr>=0 AND chr<32 THEN¢    chr==+64¢   ELSEIF chr>31 AND chr<95 THEN¢    chr==-32¢   ELSEIF chr>127 AND chr<160 THEN¢    chr==+64¢   ELSEiF chr>159 AND chr<224 THEN¢    chr==-32¢   FI¢   adr^=chr¢   adr==+1¢  OD¢RETURN¢¢BYTE FUNC Find (BYTE ARRAY str2,str1)¢¢  BYTE len1,len2,z1,z2,flg,pos¢¢  IF str1(0)>=str2(0) THEN¢   len2=str2(0)¢   len1=str1(0)¢   len1==-len2+1¢   z1=0¢   z2=0¢   DO¢    flg=$FF¢    z1==+1¢    FOR z2=1 to len2¢    DO¢     IF str1(z1+z2-1)#str2(z2) THEN¢      flg=0¢     FI¢    OD¢   UNTIL z1=len1 OR flg#0¢   OD¢   IF flg#0 THEN¢    pos=z1¢   ELSE¢    pos=0¢   FI¢  ELSE¢   pos=0¢  FI¢¢RETURN (pos)¢¢PROC Upper (BYTE ARRAY text)¢¢  BYTE u¢¢  FOR u=1 TO text(0)¢  DO¢   IF text(u)>$60 AND text(u)<$7B THEN¢    text(u)==-$20¢   FI¢  OD¢¢RETURN¢¢CHAR FUNC CIOQ=*(BYTE dev, CARD addr,¢          size, BYTE cmd, aux1, aux2)¢[$29$F$85$A0$86$A1$A$A$A$A$AA$A5$A5¢$9D$342$A5$A3$9D$348$A5$A4$9D$349¢$A5$A6$F0$8$9D$34A$A5$A7$9D$34B$98¢$9D$345$A5$A1$9D$344$20$E456¢$8C CIO_status$C0$88$D0$6$98$A4$A0¢$99 EOF$A085$60]¢¢PROC BPut=*(BYTE dev,¢                    CARD addr, size)¢[$48$A9$B$85$A5$A9$0$85$A6$A5$A3$5$A4¢$D0$2$68$60$68$4C CIOQ]¢¢