@BLENDCOL
FOR J=0 TO 2
RS$(J)=MID$("GRSPBG",J*2,2)+"P"*!J
RS$=RS$(J):GOSUB @COLREAD
COL(J)=VAL("&H"+MID$(COL$,J*2,2))
NEXT
COR=COL(0):COG=COL(1):COB=COL(2)
FOR J=0TO 2
RS$=RS$(J)
ON BM GOSUB @BMNORMAL,@BMMULTI,@BMSCREEN
NEXT
RETURN
@BMNORMAL
FOR I=0 TO 255
CR=CR(I,J)+(COR-CR(I,J))*OP
CG=CG(I,J)+(COG-CG(I,J))*OP
CB=CB(I,J)+(COB-CB(I,J))*OP
COLSET RS$,I,HEX$(CR,2)+HEX$(CG,2)+HEX$(CB,2)
NEXT
RETURN
@BMMULTI
FOR I=0 TO 255
CR=CR(I,J)-(255-COR)*OP:CR=CR*(CR>0)
CG=CG(I,J)-(255-COG)*OP:CG=CG*(CG>0)
CB=CB(I,J)-(255-COB)*OP:CB=CB*(CB>0)
COLSET RS$,I,HEX$(CR,2)+HEX$(CG,2)+HEX$(CB,2)
NEXT
RETURN
@BMSCREEN
FOR I=0 TO 255
CR=CR(I,J)+COR*OP:IF CR>255 THEN CR=255
CG=CG(I,J)+COG*OP:IF CG>255 THEN CG=255
CB=CB(I,J)+COB*OP:IF CB>255 THEN CB=255
COLSET RS$,I,HEX$(CR,2)+HEX$(CG,2)+HEX$(CB,2)
NEXT
RETURN
@COLREAD
FOR I=0 TO 255
COLREAD(RS$,I),CR(I,J),CG(I,J),CB(I,J)
NEXT
RETURN
@FADEIN
FOR K=1 TO ST
FOR J=0 TO 2
RS$=RS$(J)
FOR I=0 TO 255
COLSET RS$,I,HEX$(CR(I,J)*K/ST,2)+HEX$(CG(I,J)*K/ST,2)+HEX$(CB(I,J)*K/ST,2)
NEXT
NEXT
NEXT
RETURN
@FADEOUT
FOR J=0 TO 2
RS$(J)=MID$("GRSPBG",J*2,2)+"P"*!J
RS$=RS$(J):GOSUB @COLREAD
NEXT
FOR K=1 TO ST
FOR J=0 TO 2
RS$=RS$(J)
FOR I=0 TO 255
COLSET RS$,I,HEX$(CR(I,J)*(ST-K)/ST,2)+HEX$(CG(I,J)*(ST-K)/ST,2)+HEX$(CB(I,J)*(ST-K)/ST,2)
NEXT
NEXT
NEXT
RETURN
@FROTATE
FR=1:Z=3.5
GPAGE 1
FOR I=0 TO 255
GCLS:C$=""
GPUTCHR 0,0,"BGF",I,0,1
FOR X=Z-FR*Z TO FR*Z+Z STEP FR
FOR Y=FR*Z+Z TO Z-FR*Z STEP -FR
C$=C$+HEX$(GSPOIT(X,Y))
NEXT
NEXT
CHRSET "BGF",I,C$
NEXT
GCLS
RETURN http://ww5.tiki.ne.jp/~ochame/petitcom/tips/routine.htm#font_tate
@TPRINT
LN=LEN(MES$)
L1=INSTR(MES$,",")
L2=INSTR(MES$,":")
X=11.5-FR*11.5+VAL(MES$)*FR
Y=15.5+FR*15.5-VAL(RIGHT$(MES$,LN-L1-1))*FR
FOR I=L2+1 TO LN-1
Z$=MID$(MES$,I,1)
IF!CP THEN COLOR COL:LOCATE Y,X:?Z$;
IF CP THEN PNLSTR Y,X,Z$,COL
X=X+FR
IF X>23THEN X=0 :Y=Y-FR
IF X<0 THEN X=23:Y=Y-FR
NEXT
RETURN
@FROTATE
FR=-1:Z=3.5
GPAGE 1
FOR J=0 TO 1
FOR I=0 TO 255
GCLS:C$=""
GPUTCHR 0,0,"BGF"+"L"*!J,I,0,1
FOR X=Z-FR*Z TO FR*Z+Z STEP FR
FOR Y=FR*Z+Z TO Z-FR*Z STEP -FR
C$=C$+HEX$(GSPOIT(X,Y))
NEXT
NEXT
CHRSET "BGF"+"L"*!J,I,C$
NEXT
NEXT
GCLS
RETURN http://ww5.tiki.ne.jp/~ochame/petitcom/tips/routine.htm#tate_print