  100 PROGRAM "demo program"
  110 ! demo.9  84.12.16
  120 SET INTERRUPTSTOPOFF
  130 LET S_ADD=SPEEK(255,16374)+256*(SPEEK(255,16375)BAND63)
  140 STRING MS$(20)*160
  150 LET MSC,CM=1
  160 FOR C=1TO20
  170   LET MS$(C)=""
  180 NEXT C
  190 CLEAR FONT
  200 SET BORDER0
  210 CALL CLEAR_STATUS
  220 CALL MESSET
  230 CLOSE #0
  240 LET MSC,CM=1
  250 CALL NEW_EDITOR
  260 CALL ONETWO
  270 LET STW$=" ENTERPRISE 128      "
  280 CALL STATUS_WRITE(STW$,8)
  290 SET STATUSON
  300 OPTION ANGLEDEGREES
  310 ! main loop starts here
  320 DO 
  330   CALL INTRO
  340   CALL MESPRINT
  350   CALL RAINBOW
  360   CALL MESPRINT
  370   CALL OIL
  380   CALL MESPRINT
  390   CALL CHECK
  400   CALL MESPRINT
  410   CALL CARTOON
  420   CALL MESPRINT
  430   !  CALL NAME
  440   CALL MODES
  450   CALL MESPRINT
  460   CALL WORLD
  470   CALL MESPRINT
  480   CALL COLOURS
  490   CALL MESPRINT
  500   CALL MUSIC
  510   CALL JOHN
  520 LOOP 
  530 DEF RAINBOW
  540   RESTORE  830
  550   ! GRAPHICS HIRES 16
  560   CALL VGRM(1,2)
  570   SET BIAS8
  580   SET #102:PALETTE2,0,0,0,0,0,0,0
  590   SET PAPER14
  600   CLEAR #101
  610   SET PALETTECYAN,72,RED,219,GREEN,BLUE,76,168
  620   SET INK15
  630   PLOT 950,560,ELLIPSE60,70,PAINT,
  640   PLOT 1020,560,ELLIPSE70,90,PAINT,
  650   PLOT 1100,580,ELLIPSE90,110,PAINT,
  660   PLOT 1200,580,ELLIPSE70,80,PAINT,
  670   LET D=60
  680   PLOT 640,0,
  690   FOR J=1TO4
  700     READ A
  710     SET INKA
  720     PLOT ELLIPSE600-J*D,600-J*D,
  730     READ A
  740     SET INKA
  750     PLOT ELLIPSE600-J*D-D/2,600-J*D-D/2,
  760   NEXT J
  770   ! RESTORE 1120
  780   FOR J=120TO310STEP30
  790     READ A
  800     SET INKA
  810     PLOT J,20,PAINT
  820   NEXT J
  830   DATA 1,2,3,4,5,6,7,15
  840   DATA 1,2,3,4,5,6,7,14
  850   DATA 20,49,130,20,49,130
  860   RESTORE  850
  870   FOR CYCS=1TO6
  880     READ NC
  890     FOR COLS=6TO0STEP-1
  900       SET COLOURCOLS,NC+(COLS*8)
  910       FOR DELY=1TO100
  920       NEXT 
  930     NEXT 
  940   NEXT 
  950   FOR DELAY=1TO700
  960   NEXT DELAY
  970   CLOSE #101
  980   SET #102:COLOUR0,0
  990   CLEAR #102
 1000 END DEF 
 1010 !--------------------------
 1020 DEF WORLD
 1030   ! GRAPHICS HIRES 4
 1040   CALL VGRM(1,1)
 1050   OPTION ANGLEDEGREES
 1060   SET INK1
 1070   PLOT 640,360,ELLIPSE300,300,PAINT
 1080   FOR J=0TO600STEP60
 1090     PLOT 640+J,0;640+J/2,300,
 1100     PLOT 640-J,0;640-J/2,300,
 1110     LET X=600*(1/(J/600+1))
 1120     PLOT 640-X,600-X;640+X,600-X,
 1130   NEXT J
 1140   SET INK2
 1150   !
 1160   PLOT 640,360,ELLIPSE300,300,PAINT
 1170   SET INK3
 1180   FOR J=0TO300STEP30
 1190     LET X=SQR(90000-J*J)
 1200     PLOT 640,J+360,ELLIPSEX,X/5,
 1210     PLOT 640,360-J,ELLIPSEX,X/5,
 1220     PLOT 640,360,ELLIPSE300*SIN(J*9/30),300,
 1230   NEXT J
 1240   FOR J=0TO1500
 1250   NEXT J
 1260   CLOSE #101
 1270 END DEF 
 1280 REM--------------------------
 1290 DEF OIL
 1300   SET CHARACTER0,0,0,0,0,0,0,0,0,0
 1310   ! GRAPHICS ATTRIBUTE
 1320   CALL VGRM(15,0)
 1330   OPTION ANGLEDEGREES
 1340   SET PALETTE64,8,72,1,65,9,73,0
 1350   SET #102:PALETTE72,219,0,0,0,0,0,0
 1360   SET INK11
 1370   PRINT #102:"   l     l     l     l     l     l"
 1380   PRINT #102:"  1940  1950  1960  1970  1980  1990"
 1390   SET ATTRIBUTES1
 1400   FOR J=100TO699STEP100
 1410     SET PAPERJ/100
 1420     PLOT 0,J;1279,J,
 1430   NEXT J
 1440   SET ATTRIBUTES0
 1450   SET INK0
 1460   SET PAPER6
 1470   SET BEAMON
 1480   PRINT #101:"   OIL RESOURCES   ";
 1490   SET PAPER14
 1500   PRINT #101:"  ";
 1510   SET PAPER6
 1520   PRINT #101:"  OIL FINDS  ";
 1530   SET PAPER13
 1540   PRINT #101:"  ";
 1550   SET PAPER6
 1560   PRINT #101:"    ";
 1570   SET BEAMOFF
 1580   SET ATTRIBUTES8
 1590   SET INK11
 1600   PLOT 1279,0;32,0;32,683,
 1610   SET INK14
 1620   FOR J=32TO1279STEP30
 1630     PLOT J,250-240*COS(J/3.8);
 1640   NEXT J
 1650   PLOT ,
 1660   SET INK13
 1670   FOR J=32TO1279STEP30
 1680     PLOT J,250-240*COS(J/3.8+20);
 1690   NEXT J
 1700   PLOT ,
 1710   FOR J=0TO1500
 1720   NEXT J
 1730   CLOSE #101
 1740   CALL ONETWO
 1750 END DEF 
 1760 REM ---------------------------
 1770 DEF FUNCTION
 1780   SET CHARACTER0,0,0,0,0,0,0,0,0,0
 1790   OPTION ANGLEDEGREES
 1800   ! GRAPHICS ATTRIBUTE
 1810   CALL VGRM(15,0)
 1820   SET PALETTE160,190,0,0,0,0,0,0
 1830   FOR J=0TO900STEP50
 1840     PLOT ,
 1850     FOR I=0TO300STEP300
 1860       LET X=I+J
 1870       PLOT X+32,FNC(I,J)+I;
 1880     NEXT I
 1890   NEXT J
 1900   FOR I=0TO300STEP50
 1910     PLOT ,
 1920     FOR J=0TO900STEP50
 1930       LET X=I+J
 1940       PLOT X+32,FNC(I,J)+I;
 1950     NEXT J
 1960   NEXT I
 1970   DEF FNC(A,B)=150-(A-150)/2*COS(B/2)
 1980   FOR J=0TO1500
 1990   NEXT J
 2000   CLOSE #101
 2010 END DEF 
 2020 REM-------------------------------
 2030 DEF CARTOON
 2040   REM mickey tigger pooh
 2050   ! GRAPHICS ATTRIBUTE
 2060   CALL VGRM(15,0)
 2070   SET PALETTE79,0,0,0,0,0,0,0
 2080   PLOT 130,550,ELLIPSE80,80,PAINT,
 2090   PLOT 370,550,ELLIPSE80,80,PAINT,
 2100   PLOT 250,410,ELLIPSE150,150,PAINT,
 2110   SET LINEMODE4
 2120   PLOT 140,290,ELLIPSE55,55,
 2130   PLOT 160,330,PAINT,
 2140   PLOT 360,290,ELLIPSE55,55,
 2150   PLOT 340,330,PAINT,
 2160   PLOT 200,410,ELLIPSE60,80,PAINT,
 2170   PLOT 300,410,ELLIPSE60,80,PAINT,
 2180   PLOT 250,300,PAINT,
 2190   SET LINEMODE0
 2200   PLOT 200,380,ELLIPSE30,40,
 2210   PLOT 205,360,ELLIPSE20,25,PAINT,
 2220   PLOT 300,380,ELLIPSE30,40,
 2230   PLOT 295,360,ELLIPSE20,25,PAINT,
 2240   PLOT 250,310,ELLIPSE70,45,PAINT,
 2250   SET LINEMODE4
 2260   PLOT 250,310,ELLIPSE70,45,PAINT,
 2270   SET LINEMODE0
 2280   PLOT 250,315,ELLIPSE30,25,PAINT,
 2290   SET LINEMODE4
 2300   PLOT 250,330,ELLIPSE10,5,PAINT,
 2310   !jaw
 2320   SET LINEMODE0
 2330   PLOT 115,335;85,310;90,280;
 2340   PLOT 120,240;150,233;175,236;
 2350   PLOT 200,215;240,200;270,200;
 2360   PLOT 320,225;350,225;390,250;
 2370   PLOT 410,280;410,310;400,330;
 2380   PLOT 380,340,
 2390   !mouth
 2400   PLOT 160,270;170,290,
 2410   PLOT 340,270;330,290,
 2420   PLOT 165,280;230,245;280,245;
 2430   PLOT 335,280,
 2440   PLOT 230,245;240,220;255,215;
 2450   PLOT 270,220;280,245,
 2460   PLOT 250,230,PAINT,
 2470   REM tigger
 2480   REM outline
 2490   SET LINEMODE0
 2500   PLOT 780,170;770,230;730,280;
 2510   PLOT 725,290;725,315;765,360;
 2520   PLOT 780,410;800,380;825,380;
 2530   PLOT 850,410;850,470;835,500;
 2540   PLOT 810,510;780,495;770,470;
 2550   PLOT 740,510;700,530;640,540;
 2560   PLOT 580,530;570,565;535,580;
 2570   PLOT 500,570;480,545;480,525;
 2580   PLOT 485,510;510,510;560,520;
 2590   PLOT 535,490;520,440;500,360;
 2600   PLOT 500,330;550,265;550,240;
 2610   PLOT 540,210;540,180;570,140;
 2620   PLOT 610,130;660,160;670,190;
 2630   PLOT 680,270;730,315,
 2640   REM mouth
 2650   PLOT 550,265;560,260;600,260;
 2660   PLOT 640,290;660,330,
 2670   PLOT 560,260;550,220;570,200;
 2680   PLOT 610,210;635,250;640,290,
 2690   PLOT 600,230,PAINT,
 2700   REM eyes
 2710   PLOT 550,455,ELLIPSE10,16,PAINT,
 2720   PLOT 620,445,ELLIPSE10,16,PAINT,
 2730   PLOT 535,400,ELLIPSE55,55,PAINT,
 2740   PLOT 490,410,PAINT,
 2750   PLOT 540,475;550,480;560,475,
 2760   PLOT 610,470;620,480;636,460,
 2770   REM nose
 2780   PLOT 540,350;540,310;555,280,
 2790   PLOT 570,425;600,425;640,400;
 2800   PLOT 645,370;635,350;620,380;
 2810   PLOT 610,360;590,405,620,400,
 2820   PLOT PAINT
 2830   REM stripes
 2840   PLOT 645,370;670,350;680,330;
 2850   PLOT 700,320;720,360;700,410;
 2860   PLOT 680,330,700,350,PAINT,
 2870   PLOT 770,230;690,160;730,280,
 2880   PLOT 740,220,PAINT,
 2890   PLOT 730,315;745,400;760,385;
 2900   PLOT 765,360,755,360,PAINT,
 2910   PLOT 770,470;740,420;740,510,
 2920   PLOT 760,470,PAINT,
 2930   PLOT 560,520;620,530;670,510;
 2940   PLOT 710,420;725,460;700,530,
 2950   PLOT 700,500,PAINT,
 2960   REM whiskers
 2970   PLOT 450,310;500,330,
 2980   PLOT 470,260;500,315,
 2990   PLOT 500,250;510,300,
 3000   PLOT 620,300;700,250,
 3010   PLOT 620,310;710,280,
 3020   PLOT 620,320;740,310,
 3030   REM ear
 3040   PLOT 800,450;780,450;820,480;
 3050   PLOT 835,465,
 3060   REM pooh
 3070   REM shirt
 3080   SET LINEMODE0
 3090   PLOT 1020,235;990,235;960,260;
 3100   PLOT 920,235;905,195;950,200;
 3110   PLOT 1030,160;1100,160;1180,180;
 3120   PLOT 1230,210;1220,240;1230,270;
 3130   PLOT 1200,290;1195,270;1165,230;
 3140   PLOT 1070,215;1020,200;990,235,
 3150   PLOT 1100,200,PAINT,
 3160   REM outline
 3170   PLOT 960,260;955,290;930,330;
 3180   PLOT 920,350;930,380;960,420;
 3190   PLOT 940,445;940,460;985,505;
 3200   PLOT 1005,515;1040,525;1080,530;
 3210   PLOT 1115,520,
 3220   PLOT 1200,485;1225,440;1230,410;
 3230   PLOT 1230,380;1200,290,
 3240   REM ears
 3250   PLOT 1120,500;1115,520;1130,545;
 3260   PLOT 1150,565;1180,565;1200,550;
 3270   PLOT 1210,530;1210,510;1200,485;
 3280   PLOT 1190,475,
 3290   PLOT 985,505;970,520;965,535;
 3300   PLOT 980,560;1000,575;1030,570;
 3310   PLOT 1040,550;1040,530,
 3320   REM eyes
 3330   PLOT 1060,400,ELLIPSE10,10,PAINT,
 3340   PLOT 970,415,ELLIPSE6,10,PAINT,
 3350   PLOT 955,455;975,465;1000,460,
 3360   PLOT 1060,450;1080,450;1100,435;
 3370   PLOT 1105,415,
 3380   REM mouth
 3390   PLOT 955,290;980,275;1000,275;
 3400   PLOT 1030,285;1060,310;1070,300,
 3410   REM nose
 3420   PLOT 980,400;960,390;940,370;
 3430   PLOT 945,350;960,330;980,320;
 3440   PLOT 1000,330;1010,350;1010,360;
 3450   PLOT 990,375;970,380;940,370,
 3460   PLOT 980,350,PAINT,
 3470   REM --------------------------
 3480   FOR J=0TO3000
 3490   NEXT J
 3500   CLOSE #101
 3510 END DEF 
 3520 DEF JOHN
 3530   CALL VGRM(1,2)
 3540   CALL CIRCLE(356)
 3550   SET INK0
 3560   PLOT 0,719;1279,719
 3570   PLOT 0,0,
 3580   FOR N=0TO120STEP2
 3590     READ A
 3600     SOUND PITCHA,DURATION8,ENVELOPE1,SOURCE1
 3610     SET #101:PALETTE0,N+1,N+2,N+3,N+4,N+5,N+6,N+7
 3620     SET #101:PALETTE0,N+2,N+3,N+4,N+5,N+6,N+7,N+8
 3630   NEXT N
 3640   CLOSE #101
 3650 END DEF 
 3660 DEF CIRCLE(R)
 3670   LET Z=0
 3680   LET RSQ=R*R:LET HALF=SQR(RSQ/2)
 3690   LET Y=R:LET CERROR=-2*Y-16
 3700   FOR X=0TOHALFSTEP4
 3710     READ A
 3720     SOUND PITCHA,DURATION8,ENVELOPE1,SOURCE1
 3730     SET INKZ+1
 3740     LET Z=Z+1 !  BAND 255
 3750     PLOT 642,362;642+X,362+Y,
 3760     PLOT 642,362;642-X,362-Y,
 3770     READ A
 3780     SOUND PITCHA,DURATION8,ENVELOPE1,SOURCE1
 3790     PLOT 642,362;642-X,362+Y,
 3800     PLOT 642,362;642+X,362-Y,
 3810     READ A
 3820     SOUND PITCHA,DURATION8,ENVELOPE1,SOURCE1
 3830     PLOT 642,362;642+Y,362+X,
 3840     PLOT 642,362;642-Y,362-X,
 3850     READ A
 3860     SOUND PITCHA,DURATION8,ENVELOPE1,SOURCE1
 3870     PLOT 642,362;642-Y,362+X,
 3880     PLOT 642,362;642+Y,362-X,
 3890     LET CERROR=CERROR+12*X+16
 3900     IF CERROR>0THENLET CERROR=CERROR-4*Y:LET Y=Y-12
 3910   NEXT 
 3920 END DEF 
 3930 ! modes
 3940 DEF MODES
 3950   FOR K=1TO1
 3960     FOR I=0TO3
 3970       LET MODE=2^(2^I)
 3980       IF K=0THEN
 3990         !    GRAPHICS LORES MODE
 4000       ELSE 
 4010         !    GRAPHICS HIRES MODE
 4020         CALL VGRM(1,I)
 4030       END IF 
 4040       SET COLOUR1,126
 4050       CALL TITLE
 4060       SET #10:INK0
 4070       PLOT #10:120,140;
 4080       SET #10:INK1
 4090       PRINT #10:MODE;" szin mod";
 4100       SET #10:BEAMOFF
 4110       SET #10:INK0
 4120       !   PLOT £10:480,71;
 4130       SET #10:INK2
 4140       CALL SHAPE
 4150       CLOSE #10
 4160       CLOSE #101
 4170     NEXT J
 4180   NEXT I
 4190   ! TEXT 
 4200   DISPLAY #102:AT21FROM1TO2
 4210 END DEF 
 4220 DEF SHAPE
 4230   SET BEAMOFF
 4240   SET INK1
 4250   PLOT 640,320,ELLIPSE300,300,
 4260   PLOT 640,620;
 4270   PLOT ANGLE252;
 4280   FOR J=0TO25
 4290     SET INKRND(MODE-1)+1
 4300     PLOT FORWARD570;
 4310     PLOT LEFT144;
 4320   NEXT J
 4330 END DEF 
 4340 DEF TITLE
 4350   SET VIDEOX40
 4360   SET VIDEOY4
 4370   SET VIDEOMODE1
 4380   SET VIDEOCOLOUR2
 4390   OPEN #10:"video:"
 4400   SET #10:PALETTE209,219,160,234
 4410   DISPLAY #10:FROM1TO2AT21
 4420 END DEF 
 4430 DEF NAME
 4440   ! GRAPHICS LORES 256
 4450   CALL VGRM(5,3)
 4460   SET INK0
 4470   PLOT 0,400;
 4480   SET INK219
 4490   PRINT #101:"VIDEO";
 4500   SET INK0
 4510   PLOT 0,300;
 4520   SET INK75
 4530   PRINT #101:"Üzemmod";
 4540   WAIT DELAY3
 4550   CLOSE #101
 4560 END DEF 
 4570 DEF COLOURS
 4580   SET BORDER0
 4590   RESTORE  5040
 4600   ! GRAPHICS HIRES 256
 4610   CALL VGRM(1,3)
 4620   SET VIDEOX40
 4630   SET VIDEOY2
 4640   SET VIDEOMODE1
 4650   SET VIDEOCOLOUR2
 4660   OPEN #10:"video:"
 4670   SET PAPER160
 4680   CLEAR #101
 4690   SET #10:PALETTE0,174
 4700   SET #10:INK0
 4710   PLOT #10:300,71;
 4720   SET #10:INK1
 4730   PRINT #10:"256 COLOURS";
 4740   DISPLAY #10:FROM1TO2AT21
 4750   DIM R(0TO7)
 4760   FOR Z=0TO7
 4770     READ R(Z)
 4780   NEXT Z
 4790   SET INK0
 4800   FOR X=0TO16
 4810     PLOT 0,44*X;1279,44*X
 4820     PLOT 79*X,0;79*X,706
 4830   NEXT 
 4840   FOR X=0TO15
 4850     IF X>7THEN
 4860       LET XX=15-X
 4870     ELSE 
 4880       LET XX=X
 4890     END IF 
 4900     FOR Y=0TO15
 4910       IF Y>7THEN
 4920         LET YY=15-Y
 4930       ELSE 
 4940         LET YY=Y
 4950       END IF 
 4960       LET INK=R(XX)+2*R(YY)
 4970       IF X>7THENLET INK=INK+4
 4980       IF Y>7THENLET INK=INK+32
 4990       SET INKINK
 5000       PLOT X*79+30,Y*44+20,
 5010       PLOT PAINT
 5020     NEXT 
 5030   NEXT 
 5040   DATA 0,64,8,72,1,65,9,73
 5050   WAIT DELAY5
 5060   CLOSE #10
 5070   DISPLAY #102:FROM1TO2AT21
 5080   CLOSE #101
 5090 END DEF 
 5100 DEF CHECK
 5110   ! GRAPHICS HIRES 4
 5120   CALL VGRM(1,1)
 5130   SET PALETTE0,28,6,44
 5140   LET K,I=1
 5150   PLOT 642,362,
 5160   FOR Y=600TO4STEP-48
 5170     SET INK1
 5180     PLOT ELLIPSEY,300,
 5190   NEXT 
 5200   PLOT 642,362,
 5210   FOR Y=97TO1250STEP47
 5220     SET INK2
 5230     PLOT Y,300,
 5240     SET INKI
 5250     PLOT PAINT
 5260     LET I=I+1
 5270     IF I=4THENLET I=1
 5280   NEXT 
 5290   FOR CYCS=50TO0STEP-1
 5300     SET PALETTE0,28,6,44
 5310     FOR DELAY=0TOCYCS
 5320     NEXT DELAY
 5330     SET PALETTE0,44,28,6
 5340     FOR DELAY=0TOCYCS
 5350     NEXT DELAY
 5360     SET PALETTE0,6,44,28
 5370     FOR DELAY=0TOCYCS
 5380     NEXT DELAY
 5390   NEXT CYCS
 5400   CLOSE #101
 5410 END DEF 
 5420 DEF INTRO
 5430   LET C1=10
 5440   LET C2=11
 5450   LET C3=12
 5460   CALL DRAW_BARS
 5470   CALL INTRO_SOUND
 5480   CALL ENT
 5490   CALL BARS
 5500   CALL INTRO_SOUND
 5510   CALL SIXTY
 5520   CALL UNDERLINE
 5530   CLOSE #10
 5540   CLOSE #11
 5550   CLOSE #12
 5560   CALL ONETWO
 5570 END DEF 
 5580 DEF ENT
 5590   SET VIDEOY2
 5600   SET VIDEOCOLOUR3
 5610   SET VIDEOMODE1
 5620   OPEN #10:"video:"
 5630   SET #C1:INK0
 5640   PLOT #C1:0,71;
 5650   SET #C1:INK255
 5660   PRINT #C1:"ENTERPRISE";
 5670   FOR J=22TO1STEP-1
 5680     DISPLAY #C1:FROM1TO2ATJ
 5690     FOR I=0TO10
 5700     NEXT I
 5710   NEXT J
 5720   FOR J=23TO3STEP-1
 5730     DISPLAY #102:FROM0TO0ATJ
 5740     FOR I=0TO10
 5750     NEXT I
 5760   NEXT J
 5770 END DEF 
 5780 DEF DRAW_BARS
 5790   SET VIDEOCOLOUR2
 5800   SET VIDEOMODE1
 5810   SET VIDEOX40
 5820   SET VIDEOY2
 5830   OPEN #C2:"video:"
 5840   SET #C2:PALETTE0,9,217,219,146,52,104,255
 5850   FOR J=12TO1092STEP216
 5860     SET #C2:INKJ/216+1
 5870     FOR I=44TO71STEP4
 5880       PLOT #C2:J,I;J+178,I,
 5890     NEXT I
 5900   NEXT J
 5910   SET #C2:INK7
 5920   FOR J=12TO20STEP4
 5930     PLOT #C2:0,J;1279,J,
 5940   NEXT J
 5950 END DEF 
 5960 DEF BARS
 5970   FOR J=23TO3STEP-1
 5980     DISPLAY #C2:FROM1TO1ATJ
 5990     FOR I=0TO10
 6000     NEXT I
 6010   NEXT J
 6020   FOR J=23TO4STEP-1
 6030     DISPLAY #102:FROM0TO0ATJ
 6040     FOR I=0TO10
 6050     NEXT I
 6060   NEXT J
 6070 END DEF 
 6080 DEF SIXTY
 6090   SET VIDEOCOLOUR2
 6100   SET VIDEOMODE1
 6110   SET VIDEOX40
 6120   SET VIDEOY2
 6130   OPEN #C3:"video:"
 6140   SET #C3:INK0
 6150   PLOT #C3:0,71;
 6160   SET #C3:INK1
 6170   SET #C3:COLOUR1,255
 6180   PRINT #C3:"1 2 8   1 2 8  1 2 8 ";
 6190   FOR J=22TO4STEP-1
 6200     DISPLAY #C3:FROM1TO2ATJ
 6210     FOR I=0TO20
 6220     NEXT I
 6230   NEXT J
 6240   FOR J=23TO6STEP-1
 6250     DISPLAY #102:FROM0TO0ATJ
 6260     FOR I=0TO10
 6270     NEXT I
 6280   NEXT J
 6290 END DEF 
 6300 DEF UNDERLINE
 6310   FOR J=23TO6STEP-1
 6320     DISPLAY #C2:FROM2TO2ATJ
 6330     FOR I=0TO20
 6340     NEXT I
 6350   NEXT J
 6360   FOR J=23TO7STEP-1
 6370     DISPLAY #102:FROM0TO0ATJ
 6380     FOR I=0TO20
 6390     NEXT I
 6400   NEXT J
 6410 END DEF 
 6420 DEF VICH(VM,VC,VX,VY,VCHAN)
 6430   SET VIDEOMODEVM
 6440   SET VIDEOCOLOURVC
 6450   SET VIDEOXVX
 6460   SET VIDEOYVY
 6470   OPEN #VCHAN:"video:"
 6480 END DEF 
 6490 DEF VGRM(VGM,VGC)
 6500   CALL VICH(VGM,VGC,40,20,101)
 6510   DISPLAY #101:FROM1TO20AT1
 6520 END DEF 
 6530 DEF ONETWO
 6540   CLOSE #102
 6550   CALL VICH(0,0,40,3,102)
 6560   SET #102:CURSORCHARACTER32
 6570   SET #102:CURSORCOLOUR0
 6580   SET #102:COLOUR0,0
 6590   DISPLAY #102:FROM1TO2AT21
 6600 END DEF 
 6610 DEF NEW_EDITOR
 6620   !
 6630   CALL VICH(0,0,40,5,70)
 6640   SET #70:COLOUR1,126
 6650   SET EDITORVIDEO70
 6660   OPEN #0:"editor:"
 6670   DISPLAY #70:AT24FROM1TO4
 6680   SET #70:CURSORCHARACTER32
 6690 END DEF 
 6700 DEF MESSET
 6710   LET MS$(15)=" AZ  ENTERPRISE 128                         az elsö a haziszamitogépek uj generaciojàban"
 6720   LET MS$(16)=" Az Enterprise     128-nak 128k a memoriaja,ebböl 116k a szabadon felhasznàlhato"
 6730   LET MS$(17)="Az Enterprise-nak a legjobb a grafikàja a mikrogepek közÜl.256 szine,es 672 pontos felbontàsu kepernyöje van."
 6740   LET MS$(18)="Az Enterprise hangjàt sztereoban hallgathatja."
 6750   LET MS$(19)="Az Enterprise tartalmaz egy beepitett szövegszerkesztöt,amely 80 karaktert is meg tud jeleniteni a kepernyön."
 6760   LET MS$(20)="Az ENTERPRISE 128 szinte minden kivansàgàt teljesiti.Sok kiegeszitövel bövithetö a késobbiek soràn."
 6770 END DEF 
 6780 DEF MESPRINT
 6790   DISPLAY #70:AT24FROM0TO3
 6800   CLEAR #70
 6810   CLEAR #0
 6820   PRINT MS$(CM)
 6830   DO 
 6840     LET CM=CM+1
 6850     IF CM=21THENLET CM=1
 6860   LOOP UNTILMS$(CM)<>""
 6870   FOR CENTM=1TO4
 6880     PRINT ATCENTM,1:CHR$(241)
 6890   NEXT CENTM
 6900   DISPLAY #70:AT24FROM1TO4
 6910 END DEF 
 6920 DEF MUSIC
 6930   CLEAR SOUND
 6940   ! LET T=8
 6950   ENVELOPE NUMBER1;0,63,63,1;0,-63,-63,12
 6960   RESTORE  7070
 6970   !
 6980 END DEF 
 6990 DEF MUSICB
 7000   LET T=8
 7010   FOR J=1TO2
 7020     READ A
 7030     SOUND PITCHA,DURATIONT,ENVELOPE1,SOURCE1
 7040   NEXT J
 7050   READ A
 7060   SOUND PITCHA,DURATION10*T,ENVELOPE1,SOURCE1
 7070   DATA 47,49,51,49,47,54,51,59,54,51,54,52,51,52,54,47,51,42,45
 7080   DATA 44,40,42,44,42,40,47,44,52,47,44,47,45,44,45,47,40,44,37,40
 7090   DATA 34,37,39,40,39,37,46,42,49,46,52,42,44,46,44,42,49,46,54,49
 7100   DATA 51,35,37,39,37,35,40,56,54,52,54,56,49,34,35,37,35,34,39,54,52,51,52,54,47,32,34,35,34,32,37,52,51,49,51,52,46,49,47,46,47,49,42
 7110   DATA 54,42,46,49,54,42,47,51,54,44,47,49,53
 7120   DATA 42,44,46,44,42,49,46,54,49,58,52,51,49,51,52,46,49,43,46,47,51,47,44,45,54,45,42
 7130   DATA 44,37,39,40,39,37,44,40,49,44,51,45,44,42,44,45,39,42,36,44
 7140   DATA 40,37,39,40,39,37,49,47,46,42,44,46,44,42
 7150   DATA 54,52,51,47,49,51,49,47,59,57,56,59,57,56,57,59
 7160   DATA 52,56,54,52,54,56,49,52,51,49,51,52,46,49,51,52,51,49,54,45,44,42,44,45
 7170   DATA 44,47,49,51,49,47,52,44,42,40,42,44,42,46,47,49,47,46,51,42,40,39,40,42
 7180   DATA 40,44,46,47,46,44,49,40,39,37,39,40,39,47,49,51,49,47
 7190   DATA 54,51,59,54,51,54,52,51,52,54,47,52,47,52,44,40,42,44,42,40
 7200   DATA 47,44,52,47,44,47,45,44,45,47,40,52,52,51,49,51,52
 7210   DATA 42,52,49,51,52,51,49,54,51,49,47,49,51,42,47,49,46,47
 7220 END DEF 
 7230 DEF INTRO_SOUND
 7240   ! introduction sound
 7250   ENVELOPE NUMBER1;6,63,63,25;18,-32,-32,150;18,-26,-26,75;RELEASE;3,-63,-63,400
 7260   ENVELOPE NUMBER2;0,-63,-63,25;6,63,63,25;18,-32,-32,150;15,0,0,50;RELEASE;3,-63,-63,400
 7270   ENVELOPE NUMBER3;0,-63,-63,50;6,63,63,25;18,-32,-32,150;RELEASE;3,-63,-63,400
 7280   ENVELOPE NUMBER4;0,-63,-63,100;0,63,63,10;RELEASE;0,-63,-63,300
 7290   SOUND PITCH15,DURATION275,ENVELOPE1,SOURCE0,SYNC2,
 7300   SOUND PITCH10,DURATION275,ENVELOPE2,SOURCE1,SYNC2,
 7310   SOUND PITCH17,DURATION275,ENVELOPE3,SOURCE2,SYNC2,
 7320   ! SOUND PITCH 46,DURATION 275,ENVELOPE 1,SOURCE 0,INTERRUPT
 7330   SOUND DURATION375,ENVELOPE4,SOURCE3,INTERRUPT
 7340 END DEF 
 7350 ! "Clock"
 7360 HANDLER UPDATE
 7370   IF EXTYPE<>9229THENEXIT HANDLER
 7380   ASK INTERRUPTCODEINT
 7390   IF INT<>64THENEXIT HANDLER
 7400   SET TIMER10
 7410   CALL STATUS_WRITE(TIME$,6)
 7420   CALL MESPRINT
 7430   RETRY 
 7440 END HANDLER 
 7450 DEF STATUS_WRITE(STRING$,POSITION)
 7460   NUMERIC C
 7470   FOR C=1TOLEN(STRING$)
 7480     SPOKE 255,C+POSITION+S_ADD-1,ORD(STRING$(C:C))
 7490   NEXT C
 7500   LET STATUS_WRITE=0 !Dummy assignment
 7510 END DEF 
 7520 DEF TIME_STATUS=STATUS_WRITE(TIME$,30)
 7530 DEF CLEAR_STATUS
 7540   FOR C=S_ADDTOC+39
 7550     SPOKE 255,C,32
 7560   NEXT C
 7570   SPOKE 255,S_ADD+8,0
 7580   SPOKE 255,S_ADD+10,0
 7590 END DEF 
 7600 DEF MESSAGE_IN
 7610   SET STATUSOFF
 7620   TEXT 
 7630   SET #102:COLOUR1,221
 7640   SET #102:COLOUR3,126
 7650   LET ZZ$=INKEY$
 7660   STRING CHAR$*1
 7670   STRING INSTRING$*160
 7680   NUMERIC CNUM
 7690   SET #102:INK3
 7700   !
 7710   !
 7720   !
 7730   FOR LINE=8TO20
 7740     PRINT ATLINE,1:CHR$(241);
 7750   NEXT 
 7760   DO 
 7770     LET ZZ$=INKEY$
 7780     SET #102:INK1
 7790     SET #102:INK3
 7800   LOOP WHILEZZ$=""
 7810   !!
 7820   TEXT 
 7830   SET #102:COLOUR1,221
 7840   SET #102:COLOUR3,126
 7850   SET #102:INK1
 7860   !
 7870   !
 7880   !
 7890   SET #102:INK3
 7900   SET #102:INK3
 7910   ! string input
 7920   LET EX_FLAG=0
 7930   FOR SH=1TO20
 7940     !
 7950     PRINT 
 7960     LET CNUM=0
 7970     LET INSTRING$,CHAR$=""
 7980     PRINT #102:CHR$(27);"O";
 7990     LET CHAR$=INKEY$
 8000     DO 
 8010       DO 
 8020         LET CHAR$=INKEY$
 8030       LOOP UNTILCHAR$<>""
 8040       SELECT ORD(CHAR$)
 8050       CASE 164
 8060         IF CNUM>0THEN
 8070           PRINT #102:CHR$(27);"o";
 8080           LET CNUM=CNUM-1
 8090           LET INSTRING$=INSTRING$(1:CNUM)
 8100           PRINT CHR$(164);CHR$(240);CHR$(186);
 8110           PRINT #102:CHR$(27);"O";
 8120         END IF 
 8130       CASE 13 !enter
 8140         EXIT DO
 8150       CASE 27 !esc
 8160         LET EX_FLAG=1
 8170         EXIT DO
 8180       CASE 32TO159
 8190         LET CNUM=CNUM+1
 8200         LET INSTRING$=INSTRING$&CHAR$
 8210         PRINT CHAR$;
 8220       CASE ELSE
 8230       END SELECT 
 8240       IF CNUM=140THENPING 
 8250     LOOP UNTILCNUM=160
 8260     IF EX_FLAGTHENEXIT FOR
 8270     LET MS$(SH)=INSTRING$
 8280     PRINT #102:CHR$(27);"o";
 8290     FOR CYCS=14TO22
 8300       PRINT ATCYCS,1:CHR$(161)
 8310     NEXT CYCS
 8320   NEXT SH
 8330 END DEF 
 8340 GOTO  100

