home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
86xx
/
8609.d64
/
demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
6KB
|
125 lines
10 REM *******************
20 REM * SHRINKSPRITE 64 *
30 REM * DEMO *
40 REM * WRITTEN BY *
50 REM * BURKHARD REIKE *
60 REM * IN MARCH '86 *
70 REM *******************
80 POKE53280,0:POKE53281,0
90 PRINT"[147] BITTE WARTEN !":POKE55,0:POKE56,60
100 FORX=0TO318:READA:POKE16064+X,A:NEXT
110 CLR:V=53248:AD=49152:FORX=0TO9:POKEV+X,0:NEXT:POKEV+23,0:POKEV+29,0
120 FORX=0TO4:S(X)=251+X:S1(X)=246+X:POKEV+39+X,X+1:NEXTX
130 PRINT"[147]":FORX=0TO3:POKEV+2*X,45*X+100:NEXTX
140 FORX=0TO3:SYSAD,S(X),S1(X),10,10,X:POKEV+21,PEEK(V+21)OR2^X
150 FORY=1TO100:POKEV+2*X+1,Y:NEXTY
160 FORY=9TO0STEP-1:SYSAD,S(X),S1(X),Y,Y,X:NEXTY:NEXTX
170 PRINT" FUER 'SHRINKSPRITE 64'"
180 PRINT" TASTE DRUECKEN[146]"
190 FORS=0TO3:FORX=1TO23:SYSAD,S(S),S1(S),0,X,S:GETA$:IFA$<>""THEN220
200 NEXTX:FORX=23TO0STEP-1:SYSAD,S(S),S1(S),0,X,S:GETA$:IFA$<>""THEN220
210 NEXTX,S:GOTO190
220 FORX=0TO7:POKEV+X,0:NEXTX:PRINT"[147]"
230 PRINTSPC(12)"SHRINKSPRITE 64"
240 PRINTSPC(12)"***************"
250 PRINT"SHRINKSPRITE 64 HAT DIE FAEHIGKEIT,DURCHEINEN SYS-AUFRUF UND PARA";
260 PRINT"METERUEBERGABE EINEN SPRITE HORIZONTAL UND VERTIKAL ZU STAUCHEN";
270 PRINT",WOBEI DER URSPRUENGLICHE SPRITEERHALTEN BLEIBT,DA DER GESTAUCHTE";
280 PRINT" SPRITEIN EINEM NEUEN SPRITEBLOCK ABGELEGT WIRD.DAS PROGRAMM ";
290 PRINT"KANN AUF WUNSCH DEN SPRITEZEIGER AUF DEN NEUEN BLOCK SETZEN.":PRINT
300 GOSUB1060:PRINT"[147]":PRINTSPC(13)"DIE PARAMETER[146]"
310 PRINT"DER AUFRUF DER ROUTINE SIEHT FOLGENDERMASSEN AUS:"
320 A$(1)="ROUTINE":A$(2)="SPRITE1":A$(3)="SPRITE2":A$(4)="VERTIKAL"
330 A$(5)="HORIZONTAL":A$(6)="NUMMER"
340 PRINT:PRINT:Q=7:GOSUB1070:GOSUB1060:PRINT"[147]"
350 Q=1:GOSUB1070
360 PRINT"DIE ADRESSE NACH DEM SYSAUFRUF IST STETSDER ANFANG DER ROUTINE ";
370 PRINT"'SHRINKSPRITE 64'":PRINT:GOSUB1060:PRINT"[147]":Q=2:GOSUB1070
380 PRINT"NACH DEM ERSTEN KOMMA KOMMT DIE NUMMER DES SPRITEBLOCKS,DER ";
390 PRINT"VERAENDERT WERDEN SOLL (0-255).":PRINT:GOSUB1060:PRINT"[147]":Q=3
400 GOSUB1070:PRINT"HIERNACH FOLGT DIE NUMMER DES SPRITE- BLOCKS";
410 PRINT",IN DEM DER VERAENDERTE SPRITE AB-GELEGT WERDEN SOLL.DIESER BLOCK";
420 PRINT" DARF MITDEM ERSTEN BLOCK IDENTISCH SEIN.":PRINT:GOSUB1060
430 PRINT"[147]":Q=4:GOSUB1070:PRINT"ES FOLGEN NUN ZWEI PARAMETER,DIE";
440 PRINT" FUER DAS AUSMASS DER STAUCHUNG VERANTWORTLICHSIND.ZUERST KOMMT ";
450 PRINT"GRAD DER VERTIKALEN STAUCHUNG (0-20).":PRINT:GOSUB1060:Q=5:PRINT"[147]"
460 GOSUB1070:PRINT"DANN DER GRAD DER HORIZONTALEN STAUCHUNG(0-23).ZU DEN ";
470 PRINT"PARAMETERN DER STAUCHUNGENGIBT ES SPAETER NOCH WEITERE AUSFUEHRUNGEN."
480 GOSUB1060:PRINT"[147]":Q=6:GOSUB1070
490 PRINT"DIE SPRITENUMMER (0-7) BEWIRKT,DASS DER ENTSPRECHENDE ZEIGER AUF ";
500 PRINT"DEN SPRITEBLOCKDES SPRITES,DER VERAENDERT WERDEN SOLL, AUF DEN NEUEN";
510 PRINT" BLOCK GESCHALTET WIRD(BEI 0 WUERDE ZUM BEISPIEL DER ZEIGER 2040"
520 PRINT"VERAENDERT WERDEN)."
530 PRINT"IST DIE NUMMER GROESSER ALS 7,SO WIRD DIESE UMSCHALTUNG UNTERDRUE";
540 PRINT"CKT.":GOSUB1060
550 PRINT"[147]VERAENDERN SIE NUN MIT HILFE DER FUNKTIONSTASTEN DEN SPRITE:"
560 PRINT"F1[146] - DER GRAD DER VERTIKALEN STAUCHUNG WIRD ERHOEHT (BIS 20)"
570 PRINT"F3[146] - DER GRAD DER VERTIKALEN STAUCHUNG WIRD NIEDRIGER (BIS 0)"
580 PRINT"F5[146] - DER GRAD DER HORIZONTALEN STAUCHUNG WIRD ERHOEHT (BIS 23)"
590 PRINT"F7[146] - DER GRAD DER HORIZONTALEN STAUCHUNG WIRD NIEDRIGER (BIS 0)"
600 PRINT"RETURN[146] - VERLASSEN DIESES PROGRAMMTEILS"
610 POKEV+8,170:POKEV+9,180:POKE2044,S(4):POKEV+21,16:POKEV+43,4
620 PRINT"":A$="00":B$="00":A=0:B=0
630 PRINT"[145] VERTIKAL:"+A$+"[146] HORIZONTAL:"+B$+"[146]"
640 C$="":GETC$:IFC$=""THEN640
650 IFASC(C$)=13THEN730
660 IFC$="[133]"THENIFA<20THENA=A+1
670 IFC$="[134]"THENIFA>0THENA=A-1
680 IFC$="[135]"THENIFB<23THENB=B+1
690 IFC$="[136]"THENIFB>0THENB=B-1
700 SYSAD,S(4),S1(4),A,B,4:A$=RIGHT$(STR$(A),2):IFA<10THENA$="0"+RIGHT$(A$,1)
710 B$=RIGHT$(STR$(B),2):IFB<10THENB$="0"+RIGHT$(B$,1)
720 GOTO630
730 POKEV+8,0:PRINT"[147]MIT SHRINKSPRITE 64 KANN MAN ALSO OHNE GROSSEN AUFWAND ";
740 PRINT"EINEN SPRITE EFFEKTVOLL VERAENDERN:ER VERAENDERT SEINE GROESSE"
750 PRINT"(SEINE ENTFERNUNG),WIRD DUENNER ODER DREHT SICH SOGAR."
760 PRINT"DURCH DIE EINFACHE UND SCHNELLE PARA- METERUEBERGABE KANN JEDER ";
770 PRINT"ANWENDER SHRINKSPRITE 64 IN SEINEN EIGENEN PRO- GRAMMEN VERWE";
780 PRINT"NDEN.":GOSUB1060:PRINT"[147]WUSSTEN SIE SCHON,WIE DIE WELT AUS DER"
790 PRINT"SICHT VON PACMAN AUSSIEHT ?"
800 FORX=1TO4000:NEXTX
810 PRINT"[147][183][183][183][183][183][183][183][183][183][183][183][183][208][205] [206][207][183][183][183][183][183][183][183][183][183][183][183]";
820 PRINT" [170] [205] [206] [180]"
830 PRINT" [170] [205] [206] [180]"
840 PRINT" [170] [170] [206] [180]"
850 PRINT" [170] [170][208][205] [206] [180]"
860 PRINT" [170] [170][170] [205] [206] [180]"
870 PRINT" [170] [170][170] [205] [206] [180]"
880 PRINT" [170] [170][170] [170] [180] [180]"
890 PRINT" [170] [170][170] [206] [205] [180]"
900 PRINT" [170] [170][170] [206] [205] [180]"
910 PRINT" [170] [170][186][206] [205] [180]"
920 PRINT" [170] [170] [205] [180]"
930 PRINT" [170] [206] [205] [180]"
940 PRINT" [170] [206] [205] [180]"
950 PRINT"[175][175][175][175][175][175][175][175][175][175][175][175][186][206] [205][204][175][175][175][175][175][175][175][175][175][175][175]":FORX=1TO800:NEXTX
960 SYSAD,S(4),S1(0),4,5,0:SYSAD,S(4),S1(4),10,10,4:POKEV+8,175:POKEV+9,140:A=0
970 FORX=9TO0STEP-1
980 A=A+1.3:SYSAD,S(4),S1(4),X,X,4:POKEV+9,140+A:NEXTX:POKE198,0
990 POKEV+23,1:POKEV+29,1:POKEV,164:POKEV+1,147
1000 POKEV+39,4:POKEV+21,1:POKE198,0
1010 A=0:FORX=3TO0STEP-1:A=A+3:SYSAD,S(4),S1(0),X,X+1,0:POKE198,0
1020 POKEV+1,147+A:NEXTX:SYSAD,S(4),S1(0),0,0,0:X=0
1030 FORQ=1TO25:SYSAD,S(4),S1(0),0,X,0:X=23-X:FORY=1TO50:NEXTY:NEXTQ:PRINT"[147]"
1040 GOTO110
1050 END
1060 PRINTSPC(17)"TASTE[146]":POKE198,0:WAIT198,255:RETURN
1070 FORX=1TO6:EN$(X)="":AN$(X)="":NEXT:AN$(Q)="":EN$(Q)="[146]"
1080 PRINT"SYS ";:FORX=1TO6:PRINT",";AN$(X)A$(X)EN$(X);:NEXT:PRINT:PRINT:RETURN
1090 DATA0,0,0,127,254,0,127,255,128,127,255,192,63,255,224,63,255,240,63,7
1100 DATA240,62,1,248,62,1,248,62,0,248,62,0,248,62,0,248,62,1,248,62,3,248
1110 DATA63,7,240,63,255,240,127,255,224,127,255,192,127,255,128,127,254,0,0
1120 DATA0,0,0,0,0,0,63,255,240,127,255,248,127,255,248,63,255,240,62,0,0,62
1130 DATA0,0,62,0,0,63,255,192,63,255,224,63,255,224,63,255,192,62,0,0,62,0
1140 DATA0,62,0,0,62,0,0,63,255,240,127,255,248,127,255,248,63,255,240,0,0,0
1150 DATA0,0,0,0,60,0,60,127,0,254,127,195,254,127,255,254,127,255,254,125,255
1160 DATA190,124,126,62,124,126,62,124,60,62,124,24,62,124,0,62,124,0,62,124
1170 DATA0,62,124,0,62,124,0,62,124,0,62,124,0,62,124,0,62,124,0,62,56,0,28
1180 DATA0,0,0,0,0,254,0,3,255,128,7,255,192,15,255,224,31,255,240,31,199,240
1190 DATA63,129,248,63,1,248,62,0,248,62,0,248,62,0,248,63,1,248,63,3,248,31
1200 DATA199,240,31,255,240,15,255,224,7,255,192,3,255,128,0,254,0,0,0,0,0,1
1210 DATA255,128,15,255,240,31,255,248,63,255,252,60,126,60,121,188,30,115
1220 DATA216,14,241,153,143,240,27,207,248,61,159,252,126,63,255,255,255,254
1230 DATA237,207,252,76,143,248,0,15,250,49,47,255,51,191,255,255,255
1240 DATA247,60,239,226,24,71,66,24,66