Hier möchte ich einige Tips geben, wie man Programme in Omikron.Basic durch Alternativen deutlich schneller machen kann.
slow: GOTO 123
quick : GOTO Abc
slow: IF X THEN Y=3
quick : IF X=1 THEN Y=3
slow: DRAW x,y TO x2,y2 : DRAW x2,y2 TO x3,y3
quick : DRAW x,y TO x2,y2 TO x3,y3
slow: IF X=1 AND Y=2 AND Z=3 THEN END
quick : IF X=1 THEN IF Y=2 THEN IF Z=3 THEN END
slow: FOR X=1 TO 1000 : FOR Y=1 TO 10 : NEXT : NEXT
quick : FOR Y=1 TO 10 : FOR X=1 TO 1000 : NEXT : NEXT
slow: IF X=1 OR Y=2 OR Z=3 THEN A=1
quick : IF X=1 THEN A=1 ELSE IF Y=2 THEN A=1 ELSE IF Z=3 THEN A=1
quick : IPL 4
info : Maus Interrupt aus, macht ganzes Programm 2 % schneller. Rückgängig machen mit IPL 3.
slow: A(5,5)=10 : IF A(5,5)=10 THEN END
quick : A55=10 : IF A55=10 THEN END
slow: A=100/2 : REM Floating-Point division
quick : A=100\2 : REM Integer division
slow: COMPILER "TRON"
quick : COMPILER "TROFF"
slow: A!=A!*2 : REM Floating-Point multiplikation
quick : A=A*2 : REM Integer multiplikation
slow: FOR X=1 TO 100 : A=50*30+20*X*2 : NEXT X
quick : C=50*30 : FOR X=1 TO 100 : A=C+20*X*2 : NEXT X
slow: FOR X=1 TO 100 : IF A=2 THEN PRINT "K" : IF A=2 THEN PRINT "L" : if A=2 THEN PRINT "M" : NEXT
quick : FOR X=1 TO 100 : IF A<>2 THEN GOTO Jmp : PRINT "K" : PRINT "L" : PRINT "M" : -Jmp : NEXT
slow: IF A>B THEN B=A
quick : IF A>B THEN SWAP A,B
slow: ON ... GOTO ... GOTO (back)
quick : ON ... GOSUB ... RETURN
slow: A = POINT(X,Y)
quick : A = (PEEK(LPEEK($44E)+Y*80+X\8) SHR(7-(X AND 7))) AND 1
slow: FOR Q=1 TO 1000 : X(A,B)=POINT(C*2+5,D*7-2) : NEXT Q
quick : E=C*2+5 : F=D*7-2 : FOR Q=1 TO 1000 : X(A,B)=POINT(E,F) : NEXT Q
ultra: E=C*2+5 : F=D*7-2 : FOR Q=1 TO 1000 : XAB=POINT(E,F) : NEXT Q
Schnelles Malen in ST-HOCH:
slow: DRAW 100,200
quick: XBIOS (V_Adr,3):BIT (7 AND NOT 100,V_Adr+200*80+100 SHR 3)=1
Der XBIOS-Befehl braucht nur einmal am Programmanfang ausgeführt zu werden. Möchte man in weiß malen, so lautet das Ende des BIT Befehls auf =0.