Projekt
BASIC
Beispiele
Erweiterungen

Download:

AVR-ChipBASIC-M32: Beispielprogramme

(c) 2006/2007 Jörg Wolfram

Die Programme unterliegen der GPL (GNU General Public Licence) Version 2 oder höher, jede Nutzung der Software/Informationen nonkonform zur GPL oder ausserhalb des Geltungsbereiches der GPL ist untersagt! Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, auch ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK.

1 Darstellung des Zeichensatzes
PROGRAM: CHARSET   
01 FOR Y=0 TO 15
02 FOR X=0 TO 15
03 Z=16*Y+X
04 POS Y+2,X+2
05 EMIT Z
06 NEXT :NEXT
#



2 Zufälliges Muster
PROGRAM: MUSTER    
01 FOR Y=0 TO 45
02 FOR X=0 TO 59
03 CO RND(8)
04 PLOT Y,X:NEXT :NEXT
#



3 Ein einfaches Oszilloskop
PROGRAM: OSZI      
01 CO 5:FBOX  42,0,42,59:CO 7
02 A=ADC(0):B=A/26:C=A/20
03 POS  22,1:PRINT  !$16;C;"V";
04 FBOX  39-B,59,39-D,59:D=B
05 SY 1:LP 20:GOTO  2
#



4 Eine Digitaluhr mit Temperaturanzeige
PROGRAM: TEMP-UHR 
01 IN "STUNDE:",H:S=0:T=9999
02 IN "MINUTE:",M:CLS :PO 2,2
03 ?!66;H;:CO 1:?!66;":";:CO 7;
04 ?!66;M;:CO 1:?!66;":";:CO 7;
05 ?!66;S:S=S+1
06 IF S>59 THEN M=M+1:S=0
07 IF M>59 THEN H=H+1:M=0
08 IF H>23 THEN H=0
09 POS 11,0
10 IF T>2000 T=TEMP(0)
11 T=(4*T+TEMP(0))/5
12 CO 3:?!$59;T*5-10;%28"C "
13 WAIT 10:POS 2,2:CO 7:GO 3
#



5 Eine Tanzende Linie mit Farbwechsel
PROGRAM: LINIEN   
01 CO 3:A=10:B=10:C=27:D=39
02 BOX  0,0,45,59:I=1:J=0
03 E=-1:F=-1:G=-1:H=1
04 DRAW  A,B,C,D
05 SYNC  2
06 CO 0
07 DRAW  A,B,C,D
08 A=A+E:IF  A=1 THEN  E=-E
09 B=B+F:IF  B=1 THEN  F=-F
10 C=C+G:IF  C=1 THEN  G=-G
11 D=D+H:IF  D=1 THEN  H=-H
12 IF  A=44 THEN  E=-E
13 IF  B=58 THEN  F=-F
14 IF  C=44 THEN  G=-G
15 IF  D=58 THEN  H=-H
16 J=J+1:IF  J%150=0 J=0:I=I+1
17 IF  I=8 THEN  I=1
18 CO I:GOTO  4
#



6 Ein einfaches Geschicklichkeitsspiel
PROGRAM: BALLGATE 
01 SD 1,0,17:SD 2,0,22:CO 7
02 FB 0,0,1,59:FB 20,0,21,59
03 B=RND(7)+1:CO 5:PU 0
04 SYNC 3:CALL 19:M=COL(1)
05 IF (M>0)
06 IF M>0 NO 30:P=P+5
07 D=(D+1)%3:IF D>0 GOTO 3
08 C=(C+1)%12:E=RND(7)+1
09 CALL 14:GCHAR V,1,2
10 IF V=111 THEN P=P+5
11 POS 12,2:?"PUNKTE:";P
12 GOTO 3
13 
14 IF  C=6 POS  B,29:EMIT 29
15 SY 1:HI 1:HI 2:LC 10
16 IF  C=0 FB 0,58,19,59
17 PO B,29:EM 32:CO 7
18 FB 0,58,1,59:CO 5:RETURN
19 A=A-KEY(3):LI A,0,8
20 SS 1,A+1,2:SS 2,A+1,3:RE
#

Gesteuert wird mit den Cursortasten auf- und abwärts, bei einer Kollision mit einer blauen Wand is Schluss.


7 Das altbekannte PONG
PROGRAM: PONG-01   
01 SD 1,11,17:SD 2,11,18:CO 5
02 BOX 3,0,44,59:SD 3,0,29
03 X=15:Y=10:E=1:F=1
04 IF RND(1)=1 E=-1
05 SY 2:A=A-KEY(0):LI A,2,18
06 SSHOW 1,A,1:B=B-KEY(1)
07 LI B,2,18:SSHOW 2,B,28
08 P=(P+1)%2:IF P>0 GO 5
09 X=X+E:Y=Y+F:SSHOW 3,Y,X
10 IF (Y=2)#(Y=21) THEN F=-F
11 IF (Y=2)#(Y=21) NO 20
12 IF COL(3)=1 THEN E=-E:GO 20
13 IF (X>1)
14 IF X=1 TH R=R+1:X=27:E=-1
15 IF X=28 TH L=L+1:X=2:E=1
16 PO 0,1:?L:PO 0,26:?R
17 NO 255:IF (L=15)#(R=15) EN
18 IF RND(1)=1 THEN F=-1
19 Y=RND(10)+6:GOTO 5
20 X=X+E:NO 13:GO 5
#

Die Schläger werden mit den Ctrl- und Shifttasten links und rechts gesteuert.


8 Changelog
17.12.2006 Erste öffentliche Version
12.1.2007 Zweite Version, erweiterter Sprachumfang
16.3.2007 Erste öffentliche Mega32-Version
9.4.2007 Kleine Anpassungen an neue Version


erzeugt mit latex2web.pl v0.46 © 2006/7 Joerg Wolfram