Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 10 REM BBC Basic Auto Start Screen
- 20 REM Written by Steve Lovejoy aka lovejoy777
- 30 REM Icon design by Arnold Meszaros (netangel)
- 40 REM FOR THE AGON LIGHT2
- 45 :
- 50 REM INITIAL SCREEN
- 60 PRINT TAB(3,4) "MODE 0 = 80x60:16 colours"
- 70 PRINT TAB(3,5) "MODE 1 = 80x60:4 colours"
- 80 PRINT TAB(3,6) "MODE 2 = 80x60:2 colours"
- 90 PRINT TAB(3,7) "MODE 3 = 80x30:64 colours"
- 100 PRINT TAB(3,8) "MODE 4 = 80x30:16 colours"
- 110 PRINT TAB(3,9) "MODE 7 = 40x25:16 colours:teletext"
- 120 PRINT TAB(3,10) "MODE 8 = 40x30:64 colours"
- 130 PRINT TAB(3,11) "MODE 12 = 40X25:364 colours"
- 140 COLOUR 1 : INPUT TAB(3,13)"PICK YOUR SCREEN MODE"; mode%
- 145 REM MAIN START UP SCREEN
- 150 PROC_VARS : REM LOAD VARS.
- 200 PROC_INIT : REM LOAD UDF CHARS ETC.
- 250 PROC_DRAW_LOGO : REM DRAW LOGO TO SCREEN.
- 300 PROC_TITLE_TEXT : REM DRAW TEXT TO SCREEN.
- 350 PROC_DRAW_COLOUR_PALETTE : REM DRAW CURRENT PALETTE TO SCREEN.
- 400 PROC_READYUP : REM DRAW READY UP TEXT TO SCREEN AND SET PROMPT.
- 450 :
- 460 NEW : REM CLEAR PROGRAM FROM MEMORY.
- 480 REM END OF PROGRAM.
- 490 :
- 500 DEF PROC_DRAW_LOGO : REM ************************ DRAW_LOGO ********************************
- 510 REM DISPLAY THE LOGO LINE BY LINE.
- 520 REM FROM PREVIOUSLY USER DEFINED CHARS.
- 530 COLOUR 14: PRINT TAB(2,1);" ";CHR$(200);CHR$(201);" ";
- 540 COLOUR 14: PRINT TAB(2,2);" ";CHR$(202);CHR$(203);" ";
- 550 COLOUR 14: PRINT TAB(2,3);" ";CHR$(204);CHR$(205);CHR$(206);CHR$(207);" ";
- 560 COLOUR 14: PRINT TAB(2,4);CHR$(208);CHR$(209);CHR$(210);CHR$(211);CHR$(212);CHR$(213);" ";
- 570 COLOUR 14: PRINT TAB(2,5);CHR$(214);CHR$(215);CHR$(216);CHR$(209);CHR$(217);CHR$(218);" ";
- 580 COLOUR 14: PRINT TAB(2,6);CHR$(219);CHR$(220);CHR$(221);CHR$(222);CHR$(223);CHR$(224);" ";
- 590 COLOUR 14: PRINT TAB(2,7);CHR$(225);CHR$(226);CHR$(227);CHR$(228);CHR$(229);CHR$(230);" ";
- 600 COLOUR 14: PRINT TAB(2,8);CHR$(231);CHR$(232);CHR$(233);CHR$(234);CHR$(235);CHR$(236);" ";
- 610 ENDPROC
- 620 :
- 700 DEF PROC_TITLE_TEXT : REM *************************** TITLE_TEXT *****************
- 710 REM DISPLAY TITLE SCREEN TEXT AND INFO LINE BY LINE.
- 720 PRINT TAB(10,1);"* AGON LIGHT2 with eZ80 CPU *"
- 730 PRINT TAB(10,3);"MODE:";M%;" (";W%;"x";H%;") COLOURS:";C%;
- 740 VDU 31,10,5 : REM position cursor
- 750 *VERSION : REM print BBC BASIC VERSION.
- 760 PRINT TAB(10,7)"BASIC Bytes Free: ";F%;
- 780 ENDPROC
- 790 :
- 800 DEF PROC_DRAW_COLOUR_PALETTE : REM ******************** COLOUR_PALATTE ****************
- 810 REM display the current colour pallette
- 820 VDU 23,238,255,255,255,255,255,255,255,255 : REM filled block for colour pallette
- 830 :
- 840 VDU 31,0,10 : REM move cursor, loop colours, print coloured filled char
- 850 FOR PC%=0 TO C%-1 : REM 1st 32 COLOURS
- 860 COLOUR PC%
- 870 IF PC% <=31 THEN PRINT ;CHR$(238);
- 880 NEXT PC%
- 890 :
- 900 IF C% >=32 THEN VDU 10 : VDU 13 : REM move cursor, loop colours, print coloured filled char
- 910 FOR PC%=31 TO C%-1 : REM Last 32 colours
- 920 COLOUR PC%
- 930 IF PC% >31 THEN PRINT ;CHR$(238);
- 940 NEXT PC%
- 945 ENDPROC
- 950 :
- 955 DEF PROC_READYUP : REM ************************ READYUP ************************
- 960 REM set colours
- 965 COLOUR BG%: COLOUR FG%
- 970 REM MOVE CURSOR DOWN AND LEFT.
- 975 VDU 10 : VDU 13 : VDU 10
- 980 REM SET READY PROMPT.
- 985 PRINT "AGON READY."
- 990 ENDPROC
- 995 :
- 1000 DEF PROC_INIT : REM ****************************** INIT ************************
- 1010 CLS
- 1020 REM Agon Light "Sitting Kung Fu man" load logo chars.
- 1030 REM second number after the (23 VDU cmd) is the char number, then the char data.
- 1040 VDU 23,200,7,15,31,31,31,31,31,63
- 1050 VDU 23,201,192,224,240,240,240,240,240,248
- 1060 VDU 23,202,63,63,31,15,15,15,7,7
- 1070 VDU 23,203,248,248,240,224,224,224,192,192
- 1080 VDU 23,204,0,1,7,15,31,63,127,127
- 1090 VDU 23,205,7,199,199,195,227,225,240,240
- 1100 VDU 23,206,192,195,195,135,135,15,15,31
- 1110 VDU 23,207,0,0,224,240,248,252,252,254
- 1120 VDU 23,208,0,0,1,1,3,3,7,7
- 1130 VDU 23,209,255,255,255,255,255,255,255,255
- 1140 VDU 23,210,248,248,248,240,224,225,193,195
- 1150 VDU 23,211,63,63,127,255,255,255,255,255
- 1160 VDU 23,212,255,255,255,255,255,255,223,223
- 1170 VDU 23,213,0,0,128,128,128,192,192,192
- 1180 VDU 23,214,7,7,15,15,15,15,15,31
- 1190 VDU 23,215,255,247,231,231,231,199,135,130
- 1200 VDU 23,216,199,135,135,143,15,15,31,31
- 1210 VDU 23,217,207,207,207,199,199,195,129,1
- 1220 VDU 23,218,224,224,224,240,240,240,240,240
- 1230 VDU 23,219,31,31,31,31,15,15,15,31
- 1240 VDU 23,220,128,128,128,128,129,143,135,143
- 1250 VDU 23,221,31,63,15,0,128,224,224,195
- 1260 VDU 23,222,252,240,128,0,3,7,35,243
- 1270 VDU 23,223,1,1,1,129,193,225,241,241
- 1280 VDU 23,224,240,240,240,240,240,240,240,240
- 1290 VDU 23,225,31,31,3,3,3,3,7,15
- 1300 VDU 23,226,223,255,255,255,255,255,254,254
- 1310 VDU 23,227,199,135,135,7,15,15,31,31
- 1320 VDU 23,228,241,241,241,248,248,248,248,248
- 1330 VDU 23,229,253,255,255,255,255,255,255,127
- 1340 VDU 23,230,240,248,248,224,224,224,240,248
- 1350 VDU 23,231,31,63,63,63,31,31,15,0
- 1360 VDU 23,232,254,252,252,252,248,248,224,0
- 1370 VDU 23,233,31,60,32,0,0,0,0,0
- 1380 VDU 23,234,120,28,12,12,0,0,0,0
- 1390 VDU 23,235,127,127,127,127,127,63,15,0
- 1400 VDU 23,236,248,252,252,252,252,248,240,0
- 1410 VDU 23,237,255,254,252,248,240,224,192,128
- 1500 ENDPROC
- 2000 :
- 2010 DEF PROC_VARS : REM ************** VARS ****************
- 2020 M% = mode%: REM Screen mode
- 2030 BG% = 132: REM Background color (blue)
- 2040 FG%= 15: REM Foreground color (white)
- 2050 MODE M%: COLOUR BG%: COLOUR FG%: CLS
- 2060 W%=FN_GETBYTE_VDP(&13): REM Screen width in chars
- 2070 H%=FN_GETBYTE_VDP(&14): REM Screen height in chars
- 2080 C%=FN_GETBYTE_VDP(&15): REM Number of colours
- 2090 F%=HIMEM-LOMEM: REM Free BASIC bytes
- 2100 :
- 2500 ENDPROC
- 2510 DEF FN_GETBYTE_VDP(V%): A%=&A0: L%=V%: =USR(&FFF4)
- 2520 DEF FN_GETWORD_VDP(V%): =FN_GETBYTE_VDP(V%)+256*FN_GETBYTE_VDP(V%+1)
- 2530 :
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement