Advertisement
netangel

basicheader.bas

Nov 23rd, 2023
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ZXBasic 5.25 KB | Source Code | 0 0
  1.    10 REM BBC Basic header file
  2.    20 REM Modified/refactored by Arnold Meszaros (netangel)
  3.    30 REM Based on the code and idea of Steve Lovejoy aka Lovejoy777
  4.    100 :
  5.    101 REM Initialization, getting system vars, setting others
  6.    102 REM MODE 0  = 80x60, 16 colours.
  7.    103 REM MODE 3  = 80x30, 64 colours.
  8.    104 REM MODE 8  = 40x30, 64 colours.
  9.    105 REM MODE 12 = 40X25, 64 colours.
  10.    110 M% = 8: REM Screen mode
  11.    120 BG% = 140: REM Background color (blue)
  12.    130 FG%= 15: REM Foreground color (white)
  13.    140 MODE M%: COLOUR BG%: COLOUR FG%: CLS
  14.    150 W%=FN_GETBYTE_VDP(&13): REM Screen width in chars
  15.    160 H%=FN_GETBYTE_VDP(&14): REM Screen height in chars
  16.    170 C%=FN_GETBYTE_VDP(&15): REM Number of colours
  17.    180 F%=48000: REM Free BASIC bytes
  18.    200 :
  19.    201 REM Agon Light "Sitting Kung Fu man" logo chars
  20.    210 VDU 23,200,7,15,31,31,31,31,31,63
  21.    220 VDU 23,201,192,224,240,240,240,240,240,248
  22.    230 VDU 23,202,63,63,31,15,15,15,7,7
  23.    240 VDU 23,203,248,248,240,224,224,224,192,192
  24.    250 VDU 23,204,0,1,7,15,31,63,127,127
  25.    260 VDU 23,205,7,199,199,195,227,225,240,240
  26.    270 VDU 23,206,192,195,195,135,135,15,15,31
  27.    280 VDU 23,207,0,0,224,240,248,252,252,254
  28.    290 VDU 23,208,0,0,1,1,3,3,7,7
  29.    300 VDU 23,209,255,255,255,255,255,255,255,255
  30.    310 VDU 23,210,248,248,248,240,224,225,193,195
  31.    320 VDU 23,211,63,63,127,255,255,255,255,255
  32.    330 VDU 23,212,255,255,255,255,255,255,223,223
  33.    340 VDU 23,213,0,0,128,128,128,192,192,192
  34.    350 VDU 23,214,7,7,15,15,15,15,15,31
  35.    360 VDU 23,215,255,247,231,231,231,199,135,130
  36.    370 VDU 23,216,199,135,135,143,15,15,31,31
  37.    380 VDU 23,217,207,207,207,199,199,195,129,1
  38.    390 VDU 23,218,224,224,224,240,240,240,240,240
  39.    400 VDU 23,219,31,31,31,31,15,15,15,31
  40.    410 VDU 23,220,128,128,128,128,129,143,135,143
  41.    420 VDU 23,221,31,63,15,0,128,224,224,195
  42.    430 VDU 23,222,252,240,128,0,3,7,35,243
  43.    440 VDU 23,223,1,1,1,129,193,225,241,241
  44.    450 VDU 23,224,240,240,240,240,240,240,240,240
  45.    460 VDU 23,225,31,31,3,3,3,3,7,15
  46.    470 VDU 23,226,223,255,255,255,255,255,254,254
  47.    480 VDU 23,227,199,135,135,7,15,15,31,31
  48.    490 VDU 23,228,241,241,241,248,248,248,248,248
  49.    500 VDU 23,229,253,255,255,255,255,255,255,127
  50.    510 VDU 23,230,240,248,248,224,224,224,240,248
  51.    520 VDU 23,231,31,63,63,63,31,31,15,0
  52.    530 VDU 23,232,254,252,252,252,248,248,224,0
  53.    540 VDU 23,233,31,60,32,0,0,0,0,0
  54.    550 VDU 23,234,120,28,12,12,0,0,0,0
  55.    560 VDU 23,235,127,127,127,127,127,63,15,0
  56.    570 VDU 23,236,248,252,252,252,252,248,240,0
  57.    580 VDU 23,237,255,254,252,248,240,224,192,128
  58.    600 :
  59.    601 REM Displaying the logo line by line
  60.    602 REM From custom chars defined previously
  61.    610 COLOUR 15: PRINT TAB(1,1);"  ";CHR$(200);CHR$(201);"   ";
  62.    620 COLOUR  9: PRINT CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(237)
  63.    630 COLOUR 15: PRINT TAB(1,2);"  ";CHR$(202);CHR$(203);"   ";
  64.    640 COLOUR  1: PRINT CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(237)
  65.    650 COLOUR 15: PRINT TAB(1,3);" ";CHR$(204);CHR$(205);CHR$(206);CHR$(207);"  ";
  66.    660 COLOUR  5: PRINT CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(237)
  67.    670 COLOUR 15: PRINT TAB(1,4);CHR$(208);CHR$(209);CHR$(210);CHR$(211);CHR$(212);CHR$(213);" ";
  68.    680 COLOUR 11: PRINT CHR$(209);CHR$(209);CHR$(209);CHR$(209);CHR$(237)
  69.    690 COLOUR 15: PRINT TAB(1,5);CHR$(214);CHR$(215);CHR$(216);CHR$(209);CHR$(217);CHR$(218);" ";
  70.    700 COLOUR 10: PRINT CHR$(209);CHR$(209);CHR$(209);CHR$(237)
  71.    710 COLOUR 15: PRINT TAB(1,6);CHR$(219);CHR$(220);CHR$(221);CHR$(222);CHR$(223);CHR$(224);" ";
  72.    720 COLOUR 14: PRINT CHR$(209);CHR$(209);CHR$(237)
  73.    730 COLOUR 15: PRINT TAB(1,7);CHR$(225);CHR$(226);CHR$(227);CHR$(228);CHR$(229);CHR$(230);" ";
  74.    740 COLOUR 13: PRINT CHR$(209);CHR$(237)
  75.    750 COLOUR 15: PRINT TAB(1,8);CHR$(231);CHR$(232);CHR$(233);CHR$(234);CHR$(235);CHR$(236);" ";
  76.    760 COLOUR 15: PRINT CHR$(237)
  77.    800 :
  78.    801 REM Displaying the header title line by line
  79.    810 COLOUR 137: COLOUR 12: PRINT TAB(16,1);CHR$(237);: COLOUR 15: PRINT "                      "
  80.    820 COLOUR 129: COLOUR 12: PRINT TAB(15,2);CHR$(237);: COLOUR 15: PRINT "  AGON LIGHT2 BASIC V3 "
  81.    830 COLOUR 133: COLOUR 12: PRINT TAB(14,3);CHR$(237);: COLOUR 15: PRINT "                        "
  82.    840 COLOUR 139: COLOUR 12: PRINT TAB(13,4);CHR$(237);: COLOUR  1
  83.    850 PRINT LEFT$("          ",7-LEN(STR$(W%)));"MODE: ";M%;
  84.    851 PRINT LEFT$("          ",4-LEN(STR$(M%)));W%;"x";H%;"x";C%;
  85.    852 PRINT LEFT$("          ",4-LEN(STR$(C%)))
  86.    860 COLOUR 138: COLOUR 12: PRINT TAB(12,5);CHR$(237);: COLOUR 12: PRINT "                          "
  87.    870 COLOUR 142: COLOUR 12: PRINT TAB(11,6);CHR$(237);: COLOUR 12
  88.    871 PRINT LEFT$("          ",9-LEN(STR$(F%)));F%;" BASIC BYTES FREE "
  89.    880 COLOUR 141: COLOUR 12: PRINT TAB(10,7);CHR$(237);: COLOUR 12: PRINT "                            "
  90.    890 COLOUR 143: COLOUR 12: PRINT TAB( 9,8);CHR$(237);: COLOUR 12: PRINT "                        eZ80 "
  91.    900 :
  92.    901 REM SET READY PROMPT.
  93.    910 COLOUR BG%: COLOUR FG%
  94.    920 PRINT TAB(0,10);"AGON READY."
  95.    930 REM NEW
  96.    940 END
  97.    950 :
  98.    960 DEF FN_GETBYTE_VDP(V%): A%=&A0: L%=V%: =USR(&FFF4)
  99.    970 :
  100.    980 DEF FN_GETWORD_VDP(V%): =FN_GETBYTE_VDP(V%)+256*FN_GETBYTE_VDP(V%+1)
  101.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement