home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magic Disk 64
/
Magic_Disk_64_88-11_1988_-_de_Side_B.d64
/
demoprog.
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
6KB
|
205 lines
1 rem ** erst mal nachladen und die **
2 rem ** variablen definieren **
5 ifa=0 then print"[147][204]oading....."
10 ifa=0thena=1:load"splitting 64",8,1
20 ifa=1thena=2:load"demo/zeichen",8,1
30 ifa=2thena=3:load"demo/sprites!",8,1
40 splitt=49248:off=49407:scroll=49152
50 v1=50000:v2=50050:oben=253
60 p1=50100:p2=50108:unten=254
80 poke oben,0:poke unten,145
81 :
82 rem **** wichtig ****
83 rem aktivierung muss so erfolgen:
84 :
85 sysoff:syssplitt
86 pokev1,100:pokev2,100:poke53248,0
87 if peek(53248)=0 then goto 85
88 :
89 rem *********************************
90 rem**farben und sprite-koordinaten**
91 poke v1+33,11:pokev1+32,11
100 poke v2+33,0:pokev2+32,0
105 forx=0to7:read a,f:poke p2+x,a:pokev2+39+x,f:next
110 forz=0to15step2
120 read x,y
130 poke v2+z,x:poke v2+z+1,y
140 next z
150 poke v2+21,255
160 forx=0to7:pokep1+x,230+x:pokev1+39+x,15:next
170 forz=0to15step2
180 readx,y
190 pokev1+z,x:pokev1+z+1,y
200 next z
205 rem ** text 1 **
210 poke v1+21,255
220 poke v1+24,23:pokev2+24,29
230 print"[147][158]magic disk 64 pr[sentiert:"
240 print"[211] [211] [211] [211] [211] [211] [211] [211] [172][187] [211] [211] [211] [211] [211] [211] [211] [211] [211] [211] [211]"
250 print"[145] [188][190]
260 [153]"@ 1988 by markus hillebrand
270 print"[193] [211] [218] [216] [193] [211] [218] [216] [193] [211] [218] [216] [193] [211] [218] [216] [193] [211] [218] [216]"
280 print"[194]itte eine [212]aste druecken..."
290 poke198,0:wait198,1
300 pokev1+21,0
305 rem ** bildschrim 2 nach 15360 **
310 pokev1+24,252:poke 648,60
315 rem ** und scroll-text ausgeben **
320 reada$:ifa$="_"then poke198,0:wait198,1:goto 340
330 printa$:forx=0to400:nextx:goto 320
335 rem ** scrollen aus und bildschirm
336 rem ** wieder nach 1024!
340 pokev1+33,9:pokev2+33,0
350 pokev2+32,0 :pokev1+32,8
360 pokev1+24,29:pokev1+24,21
370 poke648,4:poke v2+27,255
375 rem ** demo 2 **
380 print"[147][155]splitting 64
390 [153]"============
400 print"demo von 2 zeichens[tzten und
410 [153]"16 sprites:"
420 [153]" 8 sprites im oberen teil:"
430 [129]x[178]0[164]10:[129]s[178]0[164]15
440 a[178][194](v2[170]s):a[178]a[170]2:[151]v2[170]s,a:[130]s,x
450 [129]x[178]0[164]7:[153]"poke- nr:"x[170]1;
460 [129]s[178]100[164][194](v2[170]39[170]x)[169][171]1:[151]v2[170]39[170]x,s:[130]s,x
470 [153]:[153]"listund nun 8 sprite's im unteren teil:":[151]v1[170]21,255
475 [129]x[178]0[164]7:[151]v1[170]x[172]2,0:[151]v1[170]1[170]x[172]2,0:[151]50100[170]x,226:[151]v1[170]39[170]x,x[170]1:[130]
480 [129]s[178]0[164]7
490 [129]x[178]0[164]255[171]s[172]15[169]2.5
495 a[178](265[171]x)[173]3
500 y[178][181](233[171][182](a[172][191](x[172]2[172][255][173]160)))
510 [151] v1[170]s[172]2,x:[151]v1[170]1[170]s[172]2,y
520 [130] x,s:[151]v1[170]27,0:[151]v2[170]27,0
530 [129]f[178]0[164]255:[151]646,f
540 [153]"(NULL)zwei zeichensaetze(NULL)";:[130]
550 [153]"bitte eine taste druecken!"
560 [151]198,0:[146]198,1
570 [151] v1[170]17,59:[151]v1[170]24,29
580 [151] v2[170]24,21
590 [151]254,84
610 [143] **** dieses hires programm *****
620 [143] **** wurde dem commodore 64*****
630 [143] **** handbuch entnommen *****
640 [143] **** s. 168 *****
645 [153]"loadsplitting 64
646 print"============
647 [153]"grafic + text!
650 fork=200to999:poke1024+k,1*16+9:nextk
660 poke88,63:poke89,63:poke113,0:poke114,32:poke780,0:poke12,1:sys45762
670 forx=0to319step2
680 y=int(100+50*sin(x*2*(NULL)/100))
690 forn=0to24
700 ify>n*8-1andy<(n+1)*8thenby=8192+n*320+8*int(x/8)+y-8*n:n=24:goto720
710 nextn
720 bi=8*(1+int(x/8))-x-1
730 ifpeek(by)<>0 then poke by,peek(by)or2^bi
740 ifpeek(by)=0thenpokeby,2^bi
750 next x
790 print"bitte taste druecken!"
800 poke198,0:wait198,1
810 sys off:sys 58778
815 rem *** ^ dieser sys reset'et vic
816 rem *** demo 3 ***
820 poke53280,0:poke53281,0
830 print"[144][147] [218]ecki-[211]oftware present's
840 [153]"(NULL)he (NULL)plitting 64
850 print"written and (c) by [205]arkus [200]illebrand
860 [153]"chr$ruesse an
870 print"[200]ermann,[197]mke,[209]uarti,[193]lpha([211]tefan)"
880 print"======================================="
890 print"[196]ieses [198]arbscrolling scrollt mit"
900 print" [211]peed 25"
910 print"[198]uer optimale [197]instellung ist der
920 [153]"ascarbscrolleditior zustaendig!"
930 [153]"valnde des str$emos
940 print"[194]itte eine [212]aste druecken!"
950 poke198,0:sys49152
960 geta$:print"[155][196]u hast die [212]aste mit [193][211][195][201][201]code";asc(a$)
970 print"gedrueckt!"
980 rem ** daten von spritekoordinaten
990 rem ** spritefarben und scroll-text
10000 data 224,2,224,10,225,6,225,14
10001 data 226,7,227,5,228,5,229,13
10005 data 100,100 ,102,98
10010 data 118,95 ,120,93
10020 data 126,87 ,150,100
10030 data 174,100 ,210,100
10040 data 100,200 ,122,200
10050 data 144,200 ,166,200
10060 data 188,200 ,210,200
10070 data 0,0,0,0
10080 rem *** text ***
10090 data "[155][147]splitting 64
10100 [131] ,was written and @
10110 [131] by
10120 [131] markus hillebrand
10130 [131] ,splitting 64 ist ein utility
10140 [131] f^r den basic-programmierer!
10150 [131] es erschlie\t ihm die welt des
10160 [131] rasterinterrupts.
10170 [131] ,funktionsweise:
10180 [131] splitting 64 l]st bei
10190 [131] bestimmten rasterzeilen
10200 [131] (gespeichert in 253 und 254)
10210 [131] "interupts aus, die sozusagen"
10220 [131] zwischen zwei vic's umschalten
10230 [131] ,beim 1 interupt wird der speicher
10240 [131] von 50000 - 50050
10250 [131] in den vic kopiert
10260 [131] ,beim 2 interupt wird der speicher
10270 [131] von 50050 - 50100
10280 [131] in den vic kopiert
10290 [131] ,zeile des 1.interupts
10300 [131] speicherstelle 253
10310 [131] ,zeile des 2.interupts
10320 [131] speicherstelle 254
10330 [131] ,damit man 16 verschiedene
10340 [131] sprites verwenden kann
10350 [131] werden die 8 sprite-pointer
10360 [131] (ab 2040) auch gleich kopiert
10370 [131] und zwar beim 1.interupt von
10380 [131] 50100 nach 2040
10390 [131] ,beim 2.interupt von
10400 [131] 50108 nach 2040
10410 [131] ,die beiden interupts
10420 [131] werden aktiviert durch
10430 [131] ,sys 49248
10440 [131] ,wobei aber der vic nach
10450 [131] 50000 und 51000 kopiert
10460 [131] wird.
10480 [131] also die kopier-register(ab 50000 & 50100)
10490 [131] erst nach diesem sys-befehl ver-
10500 [131] ver[ndern.
10510 [131] ,das ver[nden der alten vic-register
10520 [131] (ab 53248) zeigt dann keine wirkung mehr!!
10530 [131] ,die belegung der neuen register
10540 [131] entspricht denen der alten.
10550 [131] "z.b. poke 50000+21,1"
10560 [131] schaltet den 1.sprite f^r bildschirm1
10570 [131] an(belegung siehe handbuch
10580 [131] seite 153 & 154).
10590 [131] ,splitting 64 besitzt auch ein
10600 [131] eigenes farbscrolling prg!
10610 [131] ,es wird mit sys 49152
10620 [131] aktieviert und farbscrollt
10630 [131] solange bis eine taste gedr^ckt wird
10640 [131] (kann dann mit geta$ ^bernommen
10650 [131] werden.
10660 [131] bei diesem farbscrolling
10670 [131] steht in den speicherstellen
10680 [131] ,49247 der speed(25 ist ein guter wert!)
10690 [131] und in den speicherstellen
10700 [131] 49230-49245 die farben mit
10710 [131] denen gescrollt wird.
10720 [131] ,demos folgen noch....
10721 [131] ,noch zwei maschinenprg's
10722 [131] sys 49408 schaltet splitting 64 ab
10723 [131] sys 49166 inventiert den gesamten
10724 [131] bildschirm,
10730 [131] ,viel spa\ mit splitting 64
10740 [131] w^nscht ihnen
10750 [131] ,markus hillebrand
10760 [131] ,, end of transmission
10770 [131] ,bitte eine taste dr^cken!,_