100 REM ------------------------------------------------------------ 110 REM BETABRI.BAS 120 REM Demonstrates how to control the Adaptive Micro Systems, Inc. 130 REM Beta-Brite Model 1040 "Electronic Color Message Display" 140 REM using the EZ KEY II network protocol. 150 REM This program demonstrates the most likely and useful features 160 REM of the display and does not include all of the commands. Refer 170 REM to the command protocol documentation for additional commands. 180 REM 190 REM Transmission speed: 1200, 2400, 4800 or 9600 baud 200 REM (The display determines the speed from NULL characters sent) 210 REM 7 data bits, 1 start bits, 2 stop bits, even parity 220 REM (delays between bytes cannot exceed 1 second or command will time out) 230 REM 240 REM Transmissions are in the following format: 250 REM 00 Hex (5 to 20 of them so display can determine baud rate) 260 REM 01 Hex 270 REM Type Code "Z" for "broadcast" to all displays on network 280 REM Address Field "00" display add. "00" to "FF", (don't care if "broadcast") 290 REM 02 Hex 300 REM Command Code "A"=write and display text file, "E"=write special function 310 REM (These are the only ones used in this program but there are many others.) 320 REM Data Field (many different things can go here) 330 REM 04 Hex 340 REM 350 REM NOTES: 360 REM THE SPECIAL FUNCTIONS (LIKE THE TIME, DATE, AND DISPLAY MODES) 370 REM APPEAR TO BE PERSISTANT FOR AS LONG AS THE DISPLAY IS POWERED 380 REM ON OR IS HOLDING ITS MEMORY, AND MAY NEED TO BE RESET TO THEIR 390 REM POWER ON STATE IF THEY ARE NO LONGER DESIRED. 400 REM 410 REM MESSAGES OVER A CERTAIN LENGTH, (DEPENDING ON HOW SOME OF THE 420 REM MODES ARE SET) WILL CAUSE THE DISPLAY TO SCROLL IF IN SCROLLING 430 REM MODE OR DISPLAY THE NEXT GROUP OF CHARACTERS IF IN HOLDING MODE. 440 REM 490 REM ------------------------------------------------------------------ 500 OPEN "COM1:2400,E,7,2,CS,DS,CD" AS 1 505 GOSUB 2500:REM CLEAR MEMORY CONFIGURATION AND RESET 510 GOSUB 5000:REM CREATE SOME CONTROL CODE STRINGS FOR LATER USE 520 GOSUB 3000:REM SET TIME 530 GOSUB 3400:REM SET TIME DISPLAY STYLE 540 GOSUB 3100:REM SET DATE 550 GOSUB 3200:REM SET DAY OF WEEK 560 GOSUB 1000:REM DISPLAY MESSAGES 570 CLOSE 580 END 590 REM ---------- 1000 DISPMODE$="b" 1010 REM EXAMPLE WITH CONTROL STRINGS 1020 TEXT$=GREEN$+FLASHON$+"H"+FLASHOFF$+"OLD "+YELLOW$+WIDEON$+"WIDE "+WIDEOFF$ 1030 TEXT$=TEXT$+DOUBLESTROKEON$+"DBLSTK "+DOUBLESTROKEOFF$ 1040 TEXT$=TEXT$+DOUBLEWIDEON$+"DBLWIDE "+DOUBLEWIDEOFF$ 1050 GOSUB 2000:REM WRITE MESSAGE 1060 T=TIMER 1070 IF TIMER=3 THEN Y=YEAR:M=MONTH:D=DAY 3260 DOW=((13*M+3)\5+D+Y+Y\4-Y\100+Y\400+1) MOD 7 3270 DOW$=RIGHT$(STR$(DOW+1),1):REM CREATES DOW = 0-6 3280 PRINT #1,CHR$(1)+"Z00"+CHR$(2)+"E&"+DOW$+CHR$(4);:REM SET DOW, S-S="1"-"7" 3290 RETURN 3300 REM ---------- 3400 GOSUB 4000:REM GET DISPLAY'S ATTENTION AND LET IT DETERMINE BAUD RATE 3410 PRINT #1,CHR$(1)+"Z00"+CHR$(2)+"E'S"+CHR$(4);:REM SET TIME STYLE, S OR M 3420 RETURN 3430 REM ---------- 4000 FOR A=1 TO 20:PRINT #1,CHR$(0);:NEXT A:REM LET DISPLAY DETERMINE BAUD RATE 4010 RETURN 4020 REM ---------- 4940 REM THE FOLLOWING ARE "CONTROL CODES" THAT CAN BE EMBEDDED IN THE 4950 REM TEXT AND CAN MODIFY THE APPEARANCE OF THE TEXT, HOWEVER, NOT 4960 REM ALL OF THEM CAN BE USED WITHIN THE SAME MESSAGE. 4970 REM FOR EXAMPLE, "FIXED WIDTH" WILL FIX ALL CHARACTERS IN MESSAGE, 4990 REM 5000 RED$=CHR$(28)+"1":REM COLORS 5010 GREEN$=CHR$(28)+"2" 5020 AMBER$=CHR$(28)+"3" 5030 DIMRED$=CHR$(28)+"4" 5040 DIMGREEN$=CHR$(28)+"5" 5050 BROWN$=CHR$(28)+"6" 5060 ORANGE$=CHR$(28)+"7" 5070 YELLOW$=CHR$(28)+"8" 5080 RAINBOW1$=CHR$(28)+"9" 5090 RAINBOW2$=CHR$(28)+"A" 5100 MIXEDCOLOR$=CHR$(28)+"B" 5110 AUTOCOLOR$=CHR$(28)+"C" 5190 REM 5200 SPEED1$=CHR$(21):REM SPEED 1 (SLOWEST) 5210 SPEED2$=CHR$(22):REM SPEED 2 5220 SPEED3$=CHR$(23):REM SPEED 3 5230 SPEED4$=CHR$(24):REM SPEED 4 (DEFAULT) 5240 SPEED5$=CHR$(25):REM SPEED 5 (FASTEST) 5250 NOHOLD$=CHR$(9):REM NO HOLD TIME 5290 REM 5300 WIDEON$=CHR$(18):REM WIDE CHARACTERS ON 5310 WIDEOFF$=CHR$(17):REM WIDE CHARACTERS OFF 5320 PROP$=CHR$(30)+"0":REM PROPORTIONAL CHARACTERS 5330 FIXED$=CHR$(30)+"1":REM FIXED WIDTH CHARACTERS (LEFT JUSTIFIED!) 5340 FLASHOFF$=CHR$(7)+"0":REM CHARACTER FLASH OFF 5350 FLASHON$=CHR$(7)+"1":REM CHARACTER FLASH ON 5390 REM 5400 FONT1$=CHR$(26)+"3":REM CHARACTER SET 7 HIGH STANDARD (DEFAULT) 5420 FONT2$=CHR$(26)+"5":REM CHARACTER SET 7 HIGH FANCY 5430 FONT3$=CHR$(26)+"1":REM CHARACTER SET 5 HIGH STANDARD 5490 REM 5500 DOUBLESTROKEON$=CHR$(29)+"01":REM DOUBLE STROKE CHARACTERS ON 5510 DOUBLESTROKEOFF$=CHR$(29)+"00":REM DOUBLE STROKE CHARACTERS OFF 5520 DOUBLEWIDEON$=CHR$(29)+"11" 5530 DOUBLEWIDEOFF$=CHR$(29)+"10" 5580 FIXEDON$=CHR$(29)+"41" 5590 FIXEDOFF$=CHR$(29)+"40" 5690 REM 5700 BETATIME$=CHR$(19):REM DISPLAY TIME IN FORMAT SELECTED 5710 BETADATE$=CHR$(11)+"0":REM DISPLAY DATE AS MM/DD/YY 5720 BETADOW$=CHR$(11)+"9":REM DISPLAY DAY OF WEEK 5730 RETURN