Software > Coding

Omikron.Basic Tips

(1/2) > >>

Omikronman:
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.

Arthur:
Solche Tips sind Gold wert. Kann man in Omikronbasic auch Programme schreiben die nicht nur in standart Aüflösungen (High, Mid, Low) laufen oder geht das nur mit irgendwelchen Tricks?

Omikronman:
Hallo Arthur,

das ist gar kein Problem. Omikron.Basic wurde damals extra an die neuen Fähigkeiten des Falcon030 angepaßt, um beliebige Bildmodi ansprechen zu können. Auch der Editor arbeitet in jeder Bildgröße und Farbtiefe, einschließlich selbstgemachter Bildmodi via Screenblaster o. ä.

Grüße, Omi

Arthur:
Hast Du schon mal daran gedacht dein Joystick Programm so zu erweitern das es GEM nutzt und sauber in allen Auflösungen läuft und seine Ausgaben in ein Fenster ausgegeben werden? Wenn Du es dann noch ein wenig kommentierst wäre es für Anfänger eine Möglichkeit sich in die Programmiermaterie einzuarbeiten. Es kann natürlich auch ein anderes Programm sein das nicht all zu lang sein sollte und einen Anfänger nicht gleich überfordert.

Gruß Arthur

Omikronman:
Hallo Arthur,

GEM zu nutzen ist recht aufwändig und kompliziert. Ich habe das bis heute nicht wirklich geblickt. Auch ist GEM oft eine Spaßbremse. So lautet ein Kapitel des Buches "Omikron Basic 3.0 - Das Buch zum Handbuch" von Clemens Hoffmann nicht umsonst: "GEM-Grafik: Extrem müde". :-(

Euer Omi

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln