Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 10 REM BBC BASIC Header File
- 20 REM By Arnold Meszaros (netangel)
- 30 REM Original code/idea by Steve Lovejoy aka Lovejoy777
- 100 :
- 101 REM Initialization, setting vars
- 110 DIM _ 256: REM Temporary storage for passing parameters by reference
- 120 F%=HIMEM-PAGE: REM Free BASIC bytes / by ToneDeF
- 130 MO%=0: REM Screen mode
- 140 BG%=4: FG%=7: LC%=15: REM Background, foreground and logo colours
- 150 PW%=0: PH%=0: REM Screen width/height in pixels
- 160 CW%=0: CH%=0: REM Screen width/height in chars
- 170 CN%=0: REM Number of used colours
- 180 PROC_SET_MODE(MO%,BG%,FG%,_)
- 190 PW%=_!0: PH%=_!4: REM Retrieving screen width/height in pixels
- 200 CW%=_!8: CH%=_!12: REM Retrieving screen width/height in chars
- 210 CN%=_!16: REM Retrieving number of colours
- 220 PROC_DEF_CHARS
- 230 PROC_SHOW_LOGO(CW%-10,1,BG%,FG%,LC%)
- 240 PROC_SHOW_LEFT_LANES(CW%-10,1,BG%,FG%,LC%)
- 250 PROC_SHOW_RIGHT_LANES(CW%-10,1,BG%,FG%,BG%)
- 260 VDU 28,(CN% DIV 8) + 2,8,CW%-17,1,12: REM Text window next to logo
- 270 PRINT "AGON LIGHT2 *** ";: *VERSION
- 280 PRINT: PRINT "MODE ";MO%;" ";PW%;CHR$(243);PH%;
- 290 PRINT "/";CW%;CHR$(243);CH%;" ";CN%;" COLOURS"
- 300 PRINT: PRINT ;F%;" BASIC BYTES FREE"
- 310 PRINT: PRINT: PRINT "AGON READY.";
- 320 VDU 26
- 330 FOR I%=0 TO CN%-1
- 340 VDU 31,(I% DIV 8)+1,(I% MOD 8)+1,17,I%+128,32
- 350 NEXT I%: VDU 17,FG%,17,128+BG%,31,0,10
- 360 PROC_RESTORE_CHARS: NEW
- 370 END
- 1000 :
- 1001 REM Getting the MOS sys var as byte value
- 1010 DEF FN_GET_SYSVARB(L%)
- 1015 LOCAL A%
- 1020 A%=&A0: =USR(&FFF4)
- 1100 :
- 1101 REM Getting the MOS sys var as word value
- 1110 DEF FN_GET_SYSVARW(L%): =FN_GET_SYSVARB(L%)+256*FN_GET_SYSVARB(L%+1)
- 1200 :
- 1201 REM Setting screen mode, colours
- 1210 DEF PROC_SET_MODE(MO%,BG%,FG%,ARGS)
- 1220 MODE MO%: VDU 17,128+BG%,17,FG%,12: REM Change mode, colours and clear screen
- 1230 ARGS!0=FN_GET_SYSVARW(&0F): REM Screen width in pixels
- 1240 ARGS!4=FN_GET_SYSVARW(&11): REM Screen height in pixels
- 1250 ARGS!8=FN_GET_SYSVARB(&13): REM Screen width in chars
- 1260 ARGS!12=FN_GET_SYSVARB(&14): REM Screen height in chars
- 1270 ARGS!16=FN_GET_SYSVARB(&15): REM Number of colours
- 1280 ENDPROC
- 1300 :
- 1301 REM Defining Agon Light "Sitting Brazilian Jiu-Jitsu man" logo and other chars
- 1310 DEF PROC_DEF_CHARS
- 1315 LOCAL CH%,B%,I%
- 1320 RESTORE 10000
- 1330 REPEAT
- 1340 READ CH%: IF CH%<0 THEN GOTO 1360
- 1350 VDU 23,CH%: FOR I%=1 TO 8: READ B%: VDU B%: NEXT I%
- 1360 UNTIL CH%<0
- 1370 ENDPROC
- 1400 :
- 1401 REM Restoring redefined chars to their original state
- 1410 DEF PROC_RESTORE_CHARS
- 1415 LOCAL I%
- 1420 FOR I%=200 TO 243
- 1430 VDU 23,I%,0,0,0,0,0,0,0,0
- 1440 NEXT I%
- 1450 ENDPROC
- 1500 :
- 1501 REM Showing Agon Light logo at specified coords and colours
- 1510 DEF PROC_SHOW_LOGO(X%,Y%,BG%,FG%,LC%)
- 1515 LOCAL CH%,_Y%,_X%,I%
- 1520 RESTORE 11000: VDU 17,LC%
- 1530 REPEAT
- 1540 READ _Y%,_X%: IF _Y%<0 THEN GOTO 1570
- 1550 VDU 31,X%+_X%,Y%+_Y%
- 1560 READ N%: FOR I%=0 TO N%-1: READ CH%: VDU CH%: NEXT I%
- 1570 UNTIL _Y%<0
- 1580 VDU 17,FG%
- 1590 ENDPROC
- 1600 :
- 1601 REM Showing left lanes by the logo
- 1610 DEF PROC_SHOW_LEFT_LANES(X%,Y%,BG%,FG%,LC%)
- 1615 LOCAL CH%,CN%,_Y%,_X%,C%,I%
- 1620 RESTORE 11100
- 1630 REPEAT
- 1640 READ _Y%,_X%: IF _Y%<0 THEN GOTO 1720
- 1650 READ C%: CN%=0
- 1660 REPEAT
- 1670 IF CN%>0 THEN VDU 17,C%,17,128+BG% ELSE VDU 17,LC%,17,128+C%
- 1680 READ N%: IF N%<1 THEN GOTO 1710
- 1690 READ CH%: FOR I%=0 TO N%-1: VDU 31,X%+_X%-CN%-I%,Y%+_Y%,CH%: NEXT I%
- 1700 CN%=CN%+N%
- 1710 UNTIL N%<1
- 1720 UNTIL _Y%<0
- 1730 VDU 17,FG%,17,128+BG%
- 1740 ENDPROC
- 1800 :
- 1801 REM Showing right lanes by the logo
- 1810 DEF PROC_SHOW_RIGHT_LANES(X%,Y%,BG%,FG%,LC%)
- 1815 LOCAL CH%,CN%,_Y%,_X%,C%,I%
- 1820 RESTORE 11200
- 1830 REPEAT
- 1840 READ _Y%,_X%: IF _Y%<0 THEN GOTO 1920
- 1850 READ C%: VDU 31,X%+_X%,Y%+_Y%: CN%=0
- 1860 REPEAT
- 1870 IF CN%>0 THEN VDU 17,C%,17,128+BG% ELSE VDU 17,LC%,17,128+C%
- 1880 READ N%: IF N%<1 THEN GOTO 1910
- 1890 READ CH%: FOR I%=0 TO N%-1: VDU CH%: NEXT I%
- 1900 CN%=CN%+N%
- 1910 UNTIL N%<1
- 1920 UNTIL _Y%<0
- 1930 VDU 17,FG%,17,128+BG%
- 1940 ENDPROC
- 10000 :
- 10001 REM Agon Light "Sitting Brazilian Jiu-Jitsu man" logo and other chars' data
- 10010 DATA 200, 7, 15, 31, 31, 31, 31, 31, 63
- 10020 DATA 201,192,224,240,240,240,240,240,248
- 10030 DATA 202, 63, 63, 31, 15, 15, 15, 7, 7
- 10040 DATA 203,248,248,240,224,224,224,192,192
- 10050 DATA 204, 0, 1, 7, 15, 31, 63,127,127
- 10060 DATA 205, 7,199,199,195,227,225,240,240
- 10070 DATA 206,192,195,195,135,135, 15, 15, 31
- 10080 DATA 207, 0, 0,224,240,248,252,252,254
- 10090 DATA 208, 0, 0, 1, 1, 3, 3, 7, 7
- 10200 DATA 209,255,255,255,255,255,255,255,255
- 10210 DATA 210,248,248,248,240,224,225,193,195
- 10220 DATA 211, 63, 63,127,255,255,255,255,255
- 10230 DATA 212,255,255,255,255,255,255,223,223
- 10240 DATA 213, 0, 0,128,128,128,192,192,192
- 10250 DATA 214, 7, 7, 15, 15, 15, 15, 15, 31
- 10260 DATA 215,255,247,231,231,231,199,135,130
- 10270 DATA 216,199,135,135,143, 15, 15, 31, 31
- 10280 DATA 217,207,207,207,199,199,195,129, 1
- 10290 DATA 218,224,224,224,240,240,240,240,240
- 10300 DATA 219, 31, 31, 31, 31, 15, 15, 15, 31
- 10310 DATA 220,128,128,128,128,129,143,135,143
- 10320 DATA 221, 31, 63, 15, 0,128,224,224,195
- 10330 DATA 222,252,240,128, 0, 3, 7, 35,243
- 10340 DATA 223, 1, 1, 1,129,193,225,241,241
- 10350 DATA 224,240,240,240,240,240,240,240,240
- 10360 DATA 225, 31, 31, 3, 3, 3, 3, 7, 15
- 10370 DATA 226,223,255,255,255,255,255,254,254
- 10380 DATA 227,199,135,135, 7, 15, 15, 31, 31
- 10390 DATA 228,241,241,241,248,248,248,248,248
- 10400 DATA 229,253,255,255,255,255,255,255,127
- 10410 DATA 230,240,248,248,224,224,224,240,248
- 10420 DATA 231, 31, 63, 63, 63, 31, 31, 15, 0
- 10430 DATA 232,254,252,252,252,248,248,224, 0
- 10440 DATA 233, 31, 60, 32, 0, 0, 0, 0, 0
- 10450 DATA 234,120, 28, 12, 12, 0, 0, 0, 0
- 10460 DATA 235,127,127,127,127,127, 63, 15, 0
- 10470 DATA 236,248,252,252,252,252,248,240, 0
- 10480 DATA 237,219, 6, 63,195, 55,131,110, 27
- 10490 DATA 238, 73, 2, 20, 65, 18,136, 34, 9
- 10500 DATA 239, 2, 8, 1, 0, 4, 0, 0, 8
- 10510 DATA 240,219, 96,252,195,236,193,118,216
- 10520 DATA 241,146, 64, 40,130, 72, 17, 68,144
- 10530 DATA 242, 64, 16,128, 0, 32, 0, 0, 16
- 10540 DATA 243, 0, 0, 36, 24, 24, 36, 0, 0
- 10550 DATA -1
- 11000 :
- 11001 REM Agon Light "Sitting Brazilian Jiu-Jitsu man" logo's chars line by line
- 11002 REM Y, X,num,chars
- 11010 DATA 0, 2, 2,200,201
- 11020 DATA 1, 2, 2,202,203
- 11030 DATA 2, 1, 4,204,205,206,207
- 11040 DATA 3, 0, 6,208,209,210,211,212,213
- 11050 DATA 4, 0, 6,214,215,216,209,217,218
- 11060 DATA 5, 0, 6,219,220,221,222,223,224
- 11070 DATA 6, 0, 6,225,226,227,228,229,230
- 11080 DATA 7, 0, 6,231,232,233,234,235,236
- 11090 DATA -1, -1
- 11100 :
- 11101 REM Left lanes' chars line by line
- 11102 REM Y X col #-char #-char #-char #-char #-char
- 11110 DATA 0, 2, 1, 1,200, 6,209, 1,237, 1,238, -1
- 11120 DATA 1, 2, 9, 1,202, 6,209, 1,237, 1,238, -1
- 11130 DATA 2, 1, 11, 1,204, 5,209, 1,237, 1,238, -1
- 11140 DATA 3, 0, 10, 1,208, 4,209, 1,237, 1,238, -1
- 11150 DATA 4, 0, 14, 1,214, 4,209, 1,237, 1,238, -1
- 11160 DATA 5, 0, 12, 1,219, 4,209, 1,237, 1,238, -1
- 11170 DATA 6, 0, 13, 1,225, 4,209, 1,237, 1,238, -1
- 11180 DATA 7, 0, 5, 1,231, 4,209, 1,237, 1,238, -1
- 11190 DATA -1, -1
- 11200 :
- 11201 REM Right lanes' chars line by line
- 11202 REM Y X col #-char #-char #-char #-char #-char
- 11210 DATA 0, 4, 1, 1,201, 2,209, 1,240, 1,241, -1
- 11220 DATA 1, 4, 9, 1,203, 2,209, 1,240, 1,241, -1
- 11230 DATA 2, 5, 11, 1,207, 1,209, 1,240, 1,241, -1
- 11240 DATA 3, 6, 10, 1,213, 1,240, 1,241, -1
- 11250 DATA 4, 6, 14, 1,218, 1,240, 1,241, -1
- 11260 DATA 5, 6, 12, 1,224, 1,240, 1,241, -1
- 11270 DATA 6, 6, 13, 1,230, 1,240, 1,241, -1
- 11280 DATA 7, 6, 5, 1,236, 1,240, 1,241, -1
- 11290 DATA -1, -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement