Commodore 128

Sproteggere i giochi del Commodore 64.






Listato

10 poke 775,191:clr:poke53280,0:poke53281,0:a$="p greco in reverse e due parentesi quadre in riverse aperte a sinistra Programma di Pastore Carlo - 1990"
20 s$="0123456789abcdef":print chr$(147):print "12 q in reverse":s=len(a$)
30 fori=1tos:forj=1to50:nextj:print mid$(a$,i,1);:nexti
40 print "2 q in reverse Premi un tasto":poke198,0:wait198,1:poke198,0
50 print chr$(147):poke 646,1:print "Con questo programma potrai inserire":print "un valore in una"
60 print"locazione di memoria per dare ad un gioco vite infinite od altre caratteristiche"
70 print"Durante il caricamento del gioco non dovrai far altro che premere il tasto Restore"
80 print"per una sola volta":print:print
90 print"Premi un tasto":poke198,0:wait198,1:poke198,0
100 print chr$(147):d$=""
110 input "Qual è l'indirizzo della poke";d$:d=int(val(d$))
120 if d=53200 or d=52228 then 100
130 if d<0 or d>65535 then 100
140 print chr$(147):l$=""
150 input"Valore da inserire nella locazione di memoria";l$:xx=int(val(l$))
155 if xx<0 or xx>255 then 140
160 b%=0:h$="":forn=3to0 step -1:d=d-b%*16­(n+1):b%=d/16­n
170 h$=h$+mid$(s$,b%+1,1):next
180 x$=mid$(h$,1,2):v$=mid$(h$,3,4)
190 gg=0:ff=0:kk=len(x$):ll=len(v$)
200 fort=1tokk
210 a=asc(mid$(x$,t,1)):z=a-48+7*(a>57):gg=gg+z*16­(kk-t):next
220 forjj=1toll:bb=asc(mid$(v$,jj,1)):ww=bb-48+7*(bb>57)
230 ff=ff+ww*16­(ll-jj):next:goto1000
240 sys49152:sys53200:print"2 q in reverse due parentesi quadre in reverse aperte a sinistra Ora carica il gioco":end
1000 fori=53200to53228:readd:pokei,d:next
1005 fori=49152to49184:readd:pokei,d:next
1006 poke53213,xx:poke53215,ff:poke53216,gg:goto240
1010 data 169,219,141,24,3,169,207,141,25,3,96,72,169,0,141,0,0,169,71
1020 data 141,24,3,169,254,141,25,3,104,64
1030 data 169,1,141,134,2,169,254,141,32,208,169,246,141,33,208,76,68,229,169,15
1040 data 169,71,141,24,3,169,254,141,25,3,96,96,96