Hello Dear Guys !!!
SCRAMBLE VIDEOGAME Porting MAME for MSX1 in BASIC e L/M.
Ten years ago, I had tried to do a porting of the famous SCRAMBLE videogame made by Konami/Stern, and in fact with the post this afternoon for the left scrolling screen I used to reuse it again on this my video game version
Beta Test, which is not over yet, with many imperfections, being all in BASIC.
In fact, the entire graphical map of my SCRAMBLE is stored on the BASIC list,
though if there is any MSX volunteer who wants to learn to plan, maybe
this is the good time.
As I have in the past helped a lot, yes, of all you good foreigners, and why not,
if there were some foreign users who still like programming the MSX
and learning something from me, I would certainly enjoy it.
10 REM SCRAMBLE FOR MSX1 20 REM by ANDREA GASPARRINI 30 REM (C)2007 AGsoftware 40 REM BETA TEST PORTING MAME 50 REM 60 CLEAR300,&HD4FF 70 SCREEN1,2,0:COLOR15,0,0:KEYOFF 80 KEY1,"SCREEN0"+CHR$(13) 90 CLS:WIDTH31 100 GOSUB1700:DEFINTA-Z 110 RESTORE120:FORS=1TO1:A$="":FORU=1TO32:READB:A$=A$+CHR$(B):NEXTU:SPRITE$(S)=A$:NEXTS 120 DATA 255,48,24,12,6,31,63,63,63,31,6,12,24,48,255,0,128,0,0,0,0,252,254,255,254,252,0,0,0,0,128,0 130 RESTORE200:FORI=128*8TO129*8-1:READB:VPOKEI,B:NEXTI 140 RESTORE200:FORI=136*8TO137*8-1:READB:VPOKEI,B:NEXTI 150 RESTORE200:FORI=144*8TO145*8-1:READB:VPOKEI,B:NEXTI 160 RESTORE210:FORI=152*8TO154*8-1:READB:VPOKEI,B:NEXTI 170 RESTORE230:FORI=160*8TO165*8-1:READB:VPOKEI,B:NEXTI 180 RESTORE250:FORI=168*8TO178*8-1:READB:VPOKEI,B:NEXTI 190 RESTORE340:FORI=184*8TO188*8-1:READB:VPOKEI,B:NEXTI 200 DATA 0,251,251,251,0,127,127,127 210 DATA 16,16,56,56,56,56,56,56 220 DATA 56,124,124,124,198,198,130,130 230 DATA 15,31,63,34,106,98,106,40,63,31,15,8,16,63,64,224,224,240,248,24,220,92,220,8,248,240,224,32,16,248,4,14 240 DATA 248,96,54,63,63,54,96,248 250 DATA 0,0,3,7,15,31,127,255 260 DATA 0,0,128,224,240,252,254,255 270 DATA 1,3,7,15,15,31,127,255 280 DATA 1,3,7,7,15,15,63,255 290 DATA 128,224,240,240,248,252,254,255 300 DATA 255,255,255,255,255,255,255,255 310 DATA 255,127,63,63,31,15,14,4 320 DATA 255,255,255,255,254,220,136,0 330 DATA 255,254,252,240,240,192,128,0 340 DATA 3,15,17,33,65,67,255,171,171,255,127,15,25,49,97,243,192,240,136,132,130,194,255,213,213,255,254,240,152,140,134,207 350 VPOKE8208,16*6+10:VPOKE8209,16*14+6 360 VPOKE8210,16*10+9:VPOKE8211,16*6 370 VPOKE8212,16*12:VPOKE8213,16*9 380 VPOKE8214,16*9:VPOKE8215,16*10 390 SC=5:HI=345:LV=1 400 LOCATE1,0:PRINT"SCORE":LOCATE12,0:PRINT"HI-SCORE":LOCATE23,0:PRINT"LEVEL" 410 LOCATE0,1:PRINTSC*100:LOCATE11,1:PRINTHI*100:LOCATE28,0:PRINTLV 420 LOCATE23,1:PRINTCHR$(164)+CHR$(164)+CHR$(164)+CHR$(164)+CHR$(164) 430 X=34:Y=100:PUTSPRITE1,(X,Y),5,1 440 REM SCRAMBLE GAME! 450 REM LEVEL2 460 RESTORE550 470 FORB=1TO5:FORI=1TO21:READA 480 VPOKE6239+I*32,A 490 NEXT 500 A=USR2(0):GOSUB1350:NEXT 510 FORL=1TO10:RESTORE600:FORB=6TO30:FORI=1TO21:READA 520 VPOKE6239+I*32,A 530 NEXT 540 A=USR2(0):GOSUB1350:NEXT:NEXTL 550 DATA 174,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,170 560 DATA 173,174,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,171,173 570 DATA 173,173,174,32,32,32,32,32,32,32,32,32,32,32,32,32,32,160,161,173,173 580 DATA 173,173,173,174,32,32,32,32,32,32,32,32,32,32,32,32,32,162,163,173,173 590 DATA 173,173,173,173,174,32,32,32,32,32,32,32,32,32,32,32,32,32,170,173,173 600 DATA 173,173,173,173,173,174,32,32,32,32,32,32,32,32,32,32,32,171,173,173,173 610 DATA 173,173,173,173,173,175,32,32,32,32,32,32,32,32,32,152,153,173,173,173,173 620 DATA 173,173,173,173,173,174,32,32,32,32,32,32,32,32,32,32,168,173,173,173,173 630 DATA 173,173,173,173,173,175,32,32,32,32,32,32,32,32,32,32,169,173,173,173,173 640 DATA 173,173,173,173,173,174,32,32,32,32,32,32,32,32,32,32,170,173,173,173,173 650 DATA 173,173,173,173,173,175,32,32,32,32,32,32,32,32,32,171,173,173,173,173,173 660 DATA 173,173,173,173,173,174,32,32,32,32,32,32,32,32,32,173,173,173,173,173,173 670 DATA 173,173,173,173,173,175,32,32,32,32,32,32,32,32,32,172,173,173,173,173,173 680 DATA 173,173,173,173,173,174,32,32,32,32,32,32,32,32,32,32,172,173,173,173,173 690 DATA 173,173,173,173,173,175,32,32,32,32,32,32,32,32,32,32,32,172,173,173,173 700 DATA 173,173,173,173,173,173,174,32,32,32,32,32,32,32,32,32,184,185,173,173,173 710 DATA 173,173,173,173,173,173,173,174,32,32,32,32,32,32,32,32,186,187,173,173,173 720 DATA 173,173,173,173,173,173,173,173,174,32,32,32,32,32,32,32,32,168,173,173,173 730 DATA 173,173,173,173,173,173,173,173,175,32,32,32,32,32,32,32,32,169,173,173,173 740 DATA 173,173,173,173,173,173,173,173,174,32,32,32,32,32,32,32,152,153,173,173,173 750 DATA 173,173,173,173,173,173,173,173,175,32,32,32,32,32,32,32,152,153,173,173,173 760 DATA 173,173,173,173,173,173,173,173,174,32,32,32,32,32,32,32,32,168,173,173,173 770 DATA 173,173,173,173,173,173,173,173,175,32,32,32,32,32,32,32,32,169,173,173,173 780 DATA 173,173,173,173,173,173,173,173,176,32,32,32,32,32,32,32,32,170,173,173,173 790 DATA 173,173,173,173,173,173,173,176,32,32,32,32,32,32,32,32,171,173,173,173,173 800 DATA 173,173,173,173,173,173,176,32,32,32,32,32,32,32,160,161,173,173,173,173,173 810 DATA 173,173,173,173,173,173,174,32,32,32,32,32,32,32,162,163,173,173,173,173,173 820 DATA 173,173,173,173,173,173,175,32,32,32,32,32,32,32,32,32,172,173,173,173,173 830 DATA 173,173,173,173,173,173,174,32,32,32,32,32,32,32,32,32,32,172,173,173,173 840 DATA 173,173,173,173,173,176,32,32,32,32,32,32,32,32,32,32,152,153,173,173,173 850 REM LEVEL3 860 RESTORE970 870 FORB=1TO2:FORI=1TO8:READA 880 VPOKE6655+I*32,A 890 NEXT 900 A=USR2(0):GOSUB1350:NEXT 910 FORL=1TO10 920 RESTORE990:FORB=2TO17:FORI=1TO8:READA 930 VPOKE6655+I*32,A 940 NEXT 950 A=USR2(0):GOSUB1350:NEXT 960 NEXTL:GOTO1160 970 DATA 32,32,32,32,32,172,173,173 980 DATA 32,32,32,32,32,32,173,173 990 DATA 32,32,32,32,160,161,173,173 1000 DATA 32,32,32,32,162,163,173,173 1010 DATA 32,32,32,32,32,170,173,173 1020 DATA 32,32,32,32,171,173,173,173 1030 DATA 32,32,152,153,173,173,173,173 1040 DATA 32,32,32,168,173,173,173,173 1050 DATA 32,32,32,169,173,173,173,173 1060 DATA 32,32,32,170,173,173,173,173 1070 DATA 32,32,171,173,173,173,173,173 1080 DATA 32,32,173,173,173,173,173,173 1090 DATA 32,32,172,173,173,173,173,173 1100 DATA 32,32,32,172,173,173,173,173 1110 DATA 32,32,32,168,173,173,173,173 1120 DATA 32,32,32,169,173,173,173,173 1130 DATA 32,32,32,32,172,173,173,173 1140 DATA 32,32,32,32,32,172,173,173 1150 REM LEVEL4 1160 FORL=1TO10 1170 RESTORE1220:FORB=1TO12:FORI=1TO18:READA 1180 VPOKE6335+I*32,A 1190 NEXT 1200 A=USR2(0):GOSUB1350:NEXT 1210 NEXTL:GOTO460 1220 DATA 32,32,144,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128 1230 DATA 152,153,144,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136 1240 DATA 32,32,144,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136 1250 DATA 32,32,32,152,153,144,128,128,128,128,128,128,128,128,128,128,128,128 1260 DATA 32,32,32,32,32,144,136,136,136,136,136,136,136,136,136,136,136,136 1270 DATA 32,32,32,32,32,144,136,136,136,136,136,136,136,136,136,136,136,136 1280 DATA 32,32,32,32,32,32,32,144,128,128,128,128,128,128,128,128,128,128 1290 DATA 32,32,32,32,32,152,153,144,136,136,136,136,136,136,136,136,136,136 1300 DATA 32,32,32,32,32,152,153,144,136,136,136,136,136,136,136,136,136,136 1310 DATA 32,32,160,161,144,128,128,128,128,128,128,128,128,128,128,128,128,128 1320 DATA 32,32,162,163,144,136,136,136,136,136,136,136,136,136,136,136,136,136 1330 DATA 32,32,32,32,144,136,136,136,136,136,136,136,136,136,136,136,136,136 1340 REM SCRAMBLE MOVE 1UP 1350 J=STICK(0)ORSTICK(1):XX=X:YY=Y 1360 IFJ=1THENY=Y-8 1370 IFJ=2THENY=Y-8:X=X+8 1380 IFJ=3THENX=X+8 1390 IFJ=4THENY=Y+8:X=X+8 1400 IFJ=5THENY=Y+8 1410 IFJ=6THENX=X-8:Y=Y+8 1420 IFJ=7THENX=X-8 1430 IFJ=8THENY=Y-8:X=X-8 1440 IFY<12THENY=YY 1450 IFY>172THENY=YY 1460 IFX<16THENX=XX 1470 IFX>230THENX=XX 1480 PUTSPRITE1,(X,Y),5,1 1490 RETURN 1500 REM SCROLL LEFT 1510 REM by Andrea Gasparrni 1520 REM 1530 '** CODE MACHINE 1540 '** 1550 ' 1560 DATA FE,00,D5,00,D6,00,D5,21 1570 DATA 0E,D5,22,9E,F3,C9,21,40 1580 DATA 18,22,F2,D5,06,17,C5,01 1590 DATA 20,00,2A,F2,D5,11,F4,D5 1600 DATA CD,59,00,21,F5,D5,11,F4 1610 DATA D5,01,1F,00,ED,B0,21,13 1620 DATA D6,36,20,21,F4,D5,ED,5B 1630 DATA F2,D5,01,20,00,CD,5C,00 1640 DATA 2A,F2,D5,11,20,00,19,22 1650 DATA F2,D5,C1,10,C9,C9,FF 1660 DATA 9215 1670 ' 1680 '** LOADER L/M 1690 ' 1700 RESTORE 1560 1710 FOR X=54528! TO 54606! 1720 READ A$:Y=VAL("&H"+A$) 1730 POKE X,Y:CK=CK+Y 1740 NEXT X 1750 READ X:IF X<>CK THEN BEEP:PRINT"ERRORE NEI DATA: RICONTROLLA!":LIST 1560-1660:END 1760 DEFUSR=&HD500:A=USR(0) 1770 REM A=USR2(0) FOR SCROLL LEFT 1780 RETURN
Unfortunately, the scroll it is enough, and then the sprite ship 1UP, it has a light flicker,
and still I'am not succeeded in correcting this BUG!
And then still, the videogame beta test, doesn't work the collisions with the mountains,
walls and all the graphic background.
Is missing also the FIRE! of the ship sprite 1UP, therefore there is stilla lot of work to do.
For now it is all.....
See you to soon, thank you again for your kind attention
Best Redards
(^_^)
Andrea Gasparrini from Italy