100 REM 110 REM 120 REM 130 REM # TITOLI MELOPOLI # 140 REM 150 REM 160 REM BY DINOSOFT 1983 170 REM ENRICO COLOMBINI 180 REM 190 REM 200 REM 210 REM 220 FP = 1: REM APPLESOFT 230 GOTO 2730: REM MAIN PROG 240 REM 250 REM 260 REM # SUB NOTE # 270 REM 280 REM 290 IF PEEK (KB) = 148 THEN SE = NOT (SE): POKE KS,0 299 POKE 768,P: POKE 769,D: IF SE THEN CALL 770 300 RETURN 310 REM 320 REM 330 REM # SUB DELAY # 340 REM 350 REM 360 FOR I = 1 TO 10 * DY: NEXT 370 RETURN 380 REM 390 REM 400 REM # SUB INIT VARIE # 410 REM 420 REM 430 D$ = CHR$ (4) 440 REM --------------------------------------------- 450 HIMEM: 8192: REM SOTTO HGR1 460 IF FP THEN PRINT : PRINT D$"BLOADPAGE1A,A$2000": PRINT D$"BLOAD ]MELO16 34-74,A$6000": PRINT D$"BLOAD ]BOLD7,A$6600" 465 D$ = CHR$ (4) 470 REM ------------------------------------------- 480 POKE 232,0: POKE 233,96: REM LINK ]MELO SHAPES 490 REM 500 KB = - 16384: REM KEYBOARD 510 KS = - 16368: REM KEY STROBE 520 DS = 49385: REM DISK START 530 PA = 230: REM PAG.ATTIVA 540 PA(0) = 32:PA(1) = 64: REM PAGINE AMMESSE 550 PS(0) = - 16300:PS(1) = - 16299: REM PAG.SELECT 560 GOSUB 1910: REM INIT NOTE 570 M$ = "MELOBOARD" 580 RETURN 590 REM 600 REM 610 REM # SUB INIT GRAFICA # 620 REM 630 REM 640 ROT= 0: SCALE= 1 650 HGR2 : HCOLOR= 3 660 REM 670 D1 = 57:D2 = 58: REM DINO D. 680 D3 = 63:D4 = 64: REM DINO S. 690 DM = 12: REM 1/2 DINO 700 REM 710 L1 = 46:L2 = 47:L3 = 48:L4 = 49:L5 = 50:L6 = 49:L7 = 51:L8 = 52: REM LETTERE DINOSOFT 720 RETURN 730 REM 740 REM 750 REM # SUB SFONDO # 760 REM 770 REM 780 DH = 28: REM DISTANZA H 790 DV = 24: REM DISTANZA V 800 X1 = 0:Y1 = 0:X2 = 256 810 X3 = X1 + 4 * DH:X4 = X2 - 4 * DH:Y3 = Y1 + DV 820 D = 8: REM DUR.NOTA 830 P = 160: REM TIMBRO 840 PD = 8: REM INCR.TIMBRO 850 REM 860 FOR I = 1 TO 5: REM ALTO 870 XDRAW D1 AT X3,Y1: XDRAW D2 AT X3 + DM,Y1: XDRAW D3 AT X4,Y1: XDRAW D4 AT X4 + DM,Y1 880 X3 = X3 - DH:X4 = X4 + DH 890 GOSUB 290:P = P - PD 900 NEXT 910 REM 920 FOR I = 1 TO 6: REM LATI 930 XDRAW D1 AT X1,Y3: XDRAW D2 AT X1 + DM,Y3: XDRAW D3 AT X2,Y3: XDRAW D4 AT X2 + DM,Y3 940 Y3 = Y3 + DV 950 GOSUB 290:P = P - PD 960 NEXT 970 REM 980 X3 = X1:X4 = X2 990 FOR I = 1 TO 5: REM BASSO 1000 XDRAW D1 AT X3,Y3: XDRAW D2 AT X3 + DM,Y3: XDRAW D3 AT X4,Y3: XDRAW D4 AT X4 + DM,Y3 1010 X3 = X3 + DH:X4 = X4 - DH 1020 GOSUB 290:P = P - PD 1030 NEXT : RETURN 1040 REM 1050 REM 1060 REM # SUB DINOSOFT # 1070 REM 1080 REM 1090 X3 = 127:X4 = X3 + 14 1100 Y3 = Y1 + 3 * DV 1110 DRAW L4 AT X3,Y3: DRAW L5 AT X4,Y3 1120 GOSUB 290: REM NOTE 1130 X3 = X3 - 14:X4 = X4 + 13 1140 GOSUB 290: REM NOTE 1150 DRAW L3 AT X3,Y3: DRAW L6 AT X4,Y3 1160 X3 = X3 - 8:X4 = X4 + 14 1170 DRAW L2 AT X3,Y3: DRAW L7 AT X4,Y3 1180 GOSUB 290: REM NOTE 1190 X3 = X3 - 16:X4 = X4 + 12 1200 DRAW L1 AT X3,Y3: DRAW L8 AT X4,Y3 1210 GOSUB 290: REM NOTE 1220 RETURN 1230 REM 1240 REM 1250 REM # SCRITTE DINOSOFT # 1260 REM 1270 REM 1280 D = 12:P = 100 1290 FOR J = 1 TO 7: REM COLORI 1300 IF J = 3 OR J = 4 THEN NEXT 1310 DY = 15: GOSUB 360 1320 HCOLOR= J 1330 GOSUB 1090: REM DINOSOFT 1340 P = P - 15 1350 NEXT : RETURN 1360 REM 1370 REM 1380 REM # SUB ANIMA DINO # 1390 REM 1400 REM 1410 D1(1) = 59:D2(1) = 60 1420 D1(0) = 57:D2(0) = 58 1430 D3(1) = 61:D4(1) = 62 1440 D3(0) = 63:D4(0) = 64 1450 X3 = X1:X4 = X2: REM VECCHI 1460 X5 = X1:X6 = X2: REM NUOVI 1470 Y3 = Y1 + 3 * DV 1480 PV = 1: REM P2 VISIBILE 1490 POKE PA,PA(0): REM USA P1 1500 ST = 2: REM STEP 1510 D = 5: REM DURATA 1520 REM 1530 FOR I = 1 TO 56 / ST: REM PARI! 1540 XDRAW D1(PV) AT X3,Y3: XDRAW D2(PV) AT X3 + DM,Y3: XDRAW D3(PV) AT X4,Y3: XDRAW D4(PV) AT X4 + DM,Y3: REM CLEAR VECCHI 1550 X3 = X5:X4 = X6: REM NUOVI IN VECCHI 1560 X5 = X5 + ST:X6 = X6 - ST: REM AGGIORNA NUOVI 1570 XDRAW D1(PV) AT X5,Y3: XDRAW D2(PV) AT X5 + DM,Y3: XDRAW D3(PV) AT X6,Y3: XDRAW D4(PV) AT X6 + DM,Y3: REM DRAW NUOVI 1580 POKE PA,PA(PV): POKE PS( NOT (PV)),0:PV = NOT (PV): REM SCAMBIO PAGINE 1590 P = 100 + 40 * PV: GOSUB 290 1600 NEXT 1610 POKE PA,PA(1): REM USA P2 1620 RETURN 1630 REM 1640 REM 1650 REM # PRESENTA # 1660 REM 1670 REM 1680 X3 = 98:Y3 = Y1 + 5 * DV - 8 1690 P(1) = 68:P(2) = 69:P(3) = 70:P(4) = 71:P(5) = 70:P(6) = 72:P(7) = 73:P(8) = 74 1700 HCOLOR= 2 1710 FOR I = 1 TO 8 1720 DRAW P(I) AT X3,Y3 1730 IF I = 1 THEN HPLOT X3 + 1,Y3 + 16 TO X3 + 2,Y3 + 16 1740 X3 = X3 + 10: NEXT 1750 RETURN 1760 REM 1770 REM # MUSICHETTA # 1780 REM 1790 REM 1800 RESTORE : FOR I = 1 TO 10 1810 READ P: READ D: GOSUB 290 1820 NEXT : RETURN 1830 REM 1840 DATA 99,100,99,50,99,50,99,200 1850 DATA 99,50,99,50,99,100,115,50,99,50,72,200 1860 REM 1870 REM 1880 REM # INIT NOTE ROUTINE # 1890 REM 1900 REM 1910 POKE 770,173: POKE 771,48: POKE 772,192: POKE 773,136: POKE 774,208: POKE 775,5: POKE 776,206: POKE 777,1: POKE 778,3: POKE 779,240 1920 POKE 780,9: POKE 781,202: POKE 782,208: POKE 783,245: POKE 784,174: POKE 785,0: POKE 786,3: POKE 787,76: POKE 788,2: POKE 789,3: POKE 790,96 1930 SE = 1: REM SOUND ENABLE 1940 RETURN 1950 REM 1960 REM 1970 REM # MELA # 1980 REM 1990 REM 2000 X = 83:Y = 80: REM COORD."O" 2010 D = 50 2020 DY = 200: GOSUB 360 2030 Y3 = Y + 10: FOR J = 0 TO 3 2040 HCOLOR= 0 2050 FOR I = 3 TO 0 STEP - 1: HPLOT X,Y3 + I TO X + 12,Y3 + I: NEXT 2060 Y3 = Y3 - 4 2070 IF J = 0 THEN HC = 6:P = 145 2080 IF J = 1 THEN HC = 2:P = 115 2090 IF J = 2 THEN HC = 5:P = 99 2100 IF J = 3 THEN HC = 1:P = 72 2110 HCOLOR= HC 2120 DRAW 40 + J AT X,Y 2130 GOSUB 290: REM NOTE 2140 DY = 80: GOSUB 360 2150 NEXT 2160 DY = 50: GOSUB 360 2170 DRAW 44 AT X,Y - 16 2180 P = 36: GOSUB 290 2190 RETURN 2200 REM 2210 REM 2220 REM # LINK ]BOLD # 2230 REM 2240 REM 2250 POKE 233,102: REM LINK ]BOLD SHAPES 2260 HCOLOR= 3: RETURN 2270 REM 2280 REM 2290 REM # BOLD WRITE # 2300 REM 2310 REM 2320 REM IN: X,Y=POSIZIONE 2330 REM A$=FRASE 2340 REM 2350 FOR I = 1 TO LEN (A$) 2360 C$ = MID$ (A$,I,1) 2370 LC = 8: REM LEN CHAR 2380 IF C$ = "i" THEN LC = 5 2390 IF C$ = "1" OR C$ = "l" OR C$ = "(" OR C$ = " " THEN LC = 6 2400 IF C$ = "c" OR C$ = "f" OR C$ = "T" THEN LC = 7 2410 DRAW ASC (C$) - 31 AT X,Y 2420 X = X + LC: NEXT 2430 RETURN 2440 REM 2450 REM 2460 REM # SCRITTE # 2470 REM 2480 REM 2490 X3 = 30:Y3 = 120 2500 X = X3:Y = Y3 2510 A$ = "di" 2520 GOSUB 2350 2530 X = X3:Y = Y + 12 2540 A$ = "Enrico Colombini" 2550 GOSUB 2350 2560 X = X3:Y = Y + 10 2570 A$ = "e Chiara Tovena" 2580 GOSUB 2350 2590 REM 2600 X3 = 36:Y3 = 30 2610 X = X3:Y = Y3 2620 A$ = "(c) Dinosoft e" 2630 GOSUB 2350 2640 X = X3:Y = Y3 + 10 2650 A$ = "Technoclub 1983" 2660 GOSUB 2350 2670 RETURN 2680 REM 2690 REM 2700 REM ### MAIN PROGRAM ### 2710 REM 2720 REM 2730 GOSUB 430: REM INIT VARIE 2740 GOSUB 640: REM INIT GRAF. 2750 GOSUB 780: REM SFONDO 2760 DY = 30: GOSUB 360 2770 GOSUB 1410: REM ANIMA DINO 2780 DY = 100: GOSUB 360 2790 GOSUB 1280: REM DINOSOFT 2800 DY = 100: GOSUB 360 2810 GOSUB 1680: REM PRESENTA 2820 DY = 100: GOSUB 360 2830 POKE DS,0: REM DISK START 2840 GOSUB 1800: REM MUSICHETTA 2850 PRINT D$"BLOAD"M$",A$4000" 2860 GOSUB 2000: REM MELA 2870 GOSUB 2250: REM LINK ]BOLD 2880 GOSUB 2490: REM SCRITTE 2890 PRINT D$"RUN START": REM GIOCO