ตัวอย่าง source code

ปีนี้เป็นปีแรกของการแข่งขันเขียนโปรแกรมควบคุมหุ่นยนต์ ทั้ง 20 ทีม ที่ผ่านรอบคัดเลือกเข้าสู่รอบชิงชนะเลิศใช้หุ่นยนต์แบบเดียวกันคือ ROBO-BASIC โดยใช้ภาษาPBASIC ในการเขียนโปรแกรม ซึ่งทุกทีมมีปัญหาเรื่องหน่วยความจำของBasic-Stamp เพราะสามารถใช้หน่วยความจำ ได้ 2 k เนื่องจากภาษาพีเบสิก version 2.0 ที่ใช้ยังไม่สามารถเขียนโปรแกรมไปบันทึกในหน่วยความจำแบบข้ามไปpageอื่นๆ ซึ่งมีอยู่ 8 pageได้ ทำให้มีปัญหาเรื่องหน่วยความจำเต็ม เมื่อเขียนโปรแกรมที่จำนวนคำสั่งมากๆ จึงไม่สามารถ load โปรแกรม ทั้งหมดลงไปเก็บในหน่วยความจำของเบสิกแสตมป์ได้ ดังนั้น จึงต้องแบ่งโปรแกรมเป็นส่วนๆ แล้วเลือกLoad เข้าไปเพื่อเลือกเส้นทางให้หุ่นยนต์เดินเกาะเส้นเข้าไปเก็บกล่อง มาส่งที่ช่องของตน ซึ่งในการแข่งขันครั้งแรกในกติกายอมให้มีการแก้ไขโปรแกรมแล้ว download โปรแกรมใหม่ให้กับหุ่นยนต์ได้อีก 1 ครั้ง นอกเหนือจากการขอRetry ได้ไม่จำกัดครั้ง แต่จะถูกหักคะแนน
SO		CON	14
BUSY		VAR	IN15
BAUD		CON	16624
L_DIFFUSE	CON	11
R_DIFFUSE	CON	13
DECISION	CON	220
FL		VAR	IN8
FR		VAR	IN7
L_VALUE	VAR	WORD
R_VALUE	VAR	WORD
ERROR		VAR	WORD
BUMP		VAR	BYTE
BOX		VAR	BYTE
I		VAR	BYTE
LINE		VAR	BYTE
L		VAR	BYTE
R		VAR	BYTE

		PAUSE	500
		SEROUT SO,BAUD,[128,"M",4,128,"S",15]
		GOSUB	WAIT_BUSY : BUMP=0 : LINE=0
		GOSUB	CALIBRATE

MAIN:		IF BUMP<2 THEN PATH1
		IF BUMP=2 THEN PATH2
		IF BUMP=3 THEN PATH3

PATH1:	IF (FL=1)OR(FR=1) THEN CRASH
		L=1 : R=1 : GOSUB DRV
		GOTO PATH1		

PATH2:	IF (FL=1)OR(FR=1) THEN CRASH1
		L=1 : R=1 : GOSUB DRV
		GOTO PATH2

PATH3:	HIGH	L_DIFFUSE : PAUSE 1
		RCTIME	L_DIFFUSE,1,L_VALUE
		HIGH	R_DIFFUSE : PAUSE 1
		RCTIME	R_DIFFUSE,1,R_VALUE
		L_VALUE=L_VALUE-ERROR
		IF (L_VALUE