Retrocomputer, Emulazione, Riparazioni Scambi/Vendite e collezionismo - Cerco Commodore - Approfondimenti, Listati Basic Commodore

Commodore CErco COmmodore - l'iniziativa di appassionati di retrocomputer


Listato per il basic del Commodore 64 che consente di sproteggere i videogame.

Dopo aver caricato questo programma e seguiti i vari passaggi indicati dallo stesso si può procedere a caricare un gioco. Durante il caricamento del gioco, premendo il tasto RRESTORE, venivano modificate delle locazioni di memoria consentendo di avere ad esempio le vite infinite. Una parte del programma è scritta in basic ed un altra parte in linguaggio macchina.

        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
		

Torna indietro



Copyright 2003 - 2018 (c) - Tutti i diritti riservati -