Ready64 Forum

Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: Cbm - 28 Settembre 2006, 22:20:36

Titolo: Scherzo Da C64...
Inserito da: Cbm - 28 Settembre 2006, 22:20:36
 Ho trovato questa riga
Codice: [Seleziona]
poke 816,237:poke 817,245:poke 818,165:poke 819,244, presentata sotto forma di scherzo da fare, battendola all'insaputa del malcapitato, prima di far caricare o salvare un programma a costui. Dalle locazioni usate (816-817 RAM bloccate; 818 - 819 RAM SAVE) posso immaginare le intenzioni dell'autore dell'idea...
Solo che provando, a me non succede nulla e carico correttamente come nulla fosse.
Mi dareste una ehm... spinta per capire perchè?
Titolo: Scherzo Da C64...
Inserito da: iAN CooG - 28 Settembre 2006, 22:45:56
 Da AAY64:
Citazione
$0330-$0331/816-817:   Vector: Kernal LOAD Routine

   Points to $F4A5

 $0332-$0333/818-819:   Vector: Kernal SAVE Routine

   Points to $F5ED
Le poke in questione invertono i contenuti dei vettori, quindi con una LOAD effetturesti in verita' una SAVE, e viceversa.
Lascio a te la verifica convertendo i valori in esadecimale.
Titolo: Scherzo Da C64...
Inserito da: iAN CooG - 28 Settembre 2006, 22:52:17
 Ho trovato tempo fa una stringa da inviare nel drive che faceva piu' o meno la stessa cosa ma piu' subdolamente, settando la testina SEMPRE in scrittura.
Kids: do not try this at home. :)
Codice: [Seleziona]
OPEN1,8,15,"m-w"+CHR$(12)+CHR$(28)+CHR$(1)+CHR$(206)
ovviamente potete sbizzarrirvi a provarlo nell'emulatore.