Category Archives: Prima Generazione

Arbitrary Code Execution

Questo exploit è consigliabile eseguirlo su hardware dedicato o su un emulatore accurato come BGB, SameBoy o mGBA.

L’esecuzione di codice arbitraria o ACE si riferisce a un metodo che consente di eseguire un codice personalizzato, scritto generalmente con i Pokémon o gli strumenti nel box, in squadra o nel PC sfruttando un bootstrap (ad esempio 8F o il Coin case). Nonostante non lo consideri un glitch in quanto siamo noi a far scorrere un codice personalizzato, è comunque un metodo utilizzato in alcune speedrun (in particolare quelle di Pokémon Cristallo).

Spiegazione

Il gioco è diviso in due sezioni: RAM (Random Access Memory) e ROM (Read Only Memory). Il nostro obbiettivo è quello di prendere una regione di memoria con i giusti permessi di scrittura e scriverci sopra un puntatore. Per scrivere il puntatore è necessario manipolare delle cose durante il gioco (poichè si tratta di glitching e non di modding o di sviluppo in generale), tuttavia il custom code viene scritto usando cose manipolabili in-game e si suddivide in due parti essenzialmente, la prima è la scrittura del custom code operando sulle regioni libere della RAM e la seconda consiste nel piazzare nel posto giusto (un indirizzo specifico al quale l’esecuzione salta in un certo evento) un salto nostro che punta all’indirizzo scritto prima dove parte il codice custom. Una volta avviato il codice custom scritto in opcode è fatta. Gli opcode possono anche essere chiamati shellcode.

Prima Generazione

In prima generazione per eseguire del codice personalizzato si utilizza 8F. Finora è uno degli ACE più forti mai creati nei giochi Pokémon, è possibile fare letteralmente qualunque cosa, dal rendere reale la leggenda di Mew sotto il camion al creare un virus che clona il proprio salvataggio non appena linka con un altro gioco. È inoltre possibile portare l’ACE su altri giochi.

Seconda generazione

In seconda generazione si usa il salvadanaio oppure un Pokémon con un nome infinito, ottenuto generalmente ottenendo un Bad clone, nel caso di Pokémon Cristallo.

Terza generazione

In terza generazione ci sono due modi per far scorrere il nostro codice personalizzato e funziona solo su Smeraldo: usando uno dei decamarks (precisamente 0x097D ottenuto tramite questo glitch usando un Pokémon con 125 EVs negli HP e 9 in Attacco) oppure usando una glitch move. Gli effetti non riescono sempre al primo colpo e spesso richiedono diversi tentativi.

Scambi internazionali (I e II Generazione)

Nonostante oggigiorno sia sicuro scambiare tra i giochi di lingue diverse, non è sempre stato così; infatti nei giochi di Prima e Seconda generazione scambiare o lottare con qualunque gioco JP usando una cartuccia di un’altra lingua avrebbe potuto persino cancellare il salvataggio, forzando entrambe le parti a reiniziare il gioco. Il tutto è causato principalmente dalle differenze dei banchi di memoria, l’utilizzo di protocolli diversi da entrambe le parti e la quasi totale assenza di caratteri JP dalle edizioni internazionali e viceversa per quelle JP. Questo glitch probabilmente era già conosciuto ai tempi ma la possibilità che una copia JP si incontrasse con un’altra era piuttosto bassa; tuttavia è stato fixato nelle release dei giochi VC non facendo riconoscere le release nipponiche dalle release internazionali.

Gen I

Come già menzionato in precedenza, i risultati ottenuti sono alquanto instabili e i risultati portavano a un crash o a un desync di link

Scambi con i giochi JP

La versione JP riconosceva più di 5 Pokémon (4 di questi sono dei MissingNo.) in squadra mentre la release internazionale non ne riconosceva nessuno.

Andando a vedere le info dalla versione JP mostrava Pokémon non presenti o con statistiche eccessivamente alte

Lotte con i giochi JP

Le lotte invece portano a un lock da entrambe le parti, con tanto di Charizard’m in campo mandato dalla versione JP

Gen II

Scambi con i giochi JP

Gli scambi con i giochi JP mostrano generalmente tanti ????? e spesso portano a un crash da entrambe le versioni se si tenta di vedere le info dei Pokémon dell’altro giocatore.

Lotte con i giochi JP

Anche le lotte portano a un crash quasi istantaneo non appena il gioco manda in campo il Pokémon; tuttavia, in questo caso, da entrambe le parti si avrà un Generale Rocket che manderà in campo FF.

Lotte con i giochi KOR

Pokémon Oro, Argento e Cristallo qualche anno dopo la loro uscita hanno avuto delle release coreane. Queste release, fortunatamente, sono parzialmente compatibili con i giochi internazionali, quindi non hanno molti side-effects se non l’assenza dei caratteri da parte delle versioni non Coreane.

Linkando il gioco con la versione JP si avrà il medesimo risultato, come se si linkasse una versione internazionale con una versione nipponica.

Scambi con i giochi KOR

La situazione si complica nel caso si facessero degli scambi tra le versioni ENG e le versioni Coreane: infatti il gioco vi consentirà di eseguire lo scambio senza troppi problemi ma c’è una buona probabilità che i Pokémon scambiati diventino dei Bad clones oppure che il loro nome sia vuoto. Il gioco inoltre può andare incontro a dei desync e visualizzare dei bad clones da una parte, dei ?????

https://cdn.discordapp.com/attachments/584095042822602800/621494392926240788/unknown.png

In alcuni casi può corrompere pure le uova e cambiare il Pokémon contenuto al loro interno.

https://cdn.discordapp.com/attachments/584095042822602800/621498485757444096/unknown.png

Nel caso dovessero schiudersi si avrà un Pokémon al livello 0

https://cdn.discordapp.com/attachments/584095042822602800/621506791720878080/unknown.png

Nel peggiore dei casi si avrà un glitchmon.

Tutti i problemi di comunicazione tra le versioni Coreane e quelle Internazionali sono causati dal secondo byte di alcune sillabe Hangul in quanto nella versione Internazionale potrebbero essere interpretati come caratteri che vanno a intaccare la memoria. Tecnicamente è una cosa che si può evitare mettendo dei nickname e un OT specifico nella versione Coreana (ad esempio , hex 01 01 non è un problema, quindi puoi chiamare tutti 가가가가가)

Alcune eccezioni

Per quanto riguarda gli scambi con le versioni JP è possibile ottenere un Bad clone con qualche condizione; infatti entrambi i salvataggi dovranno essere nuovi e il gioco JP dovrà avere 6 Pokémon mentre il gioco con l’altra lingua dovrà averne solo uno. Nella schermata degli scambi dovrete selezionare l’ultimo Pokémon della lista del gioco JP e l’unico disponibile nell’altra versione. Il gioco non JP crasherà una volta finito lo scambio ma entrambe le parti avranno un Bad clone.

Select glitch

Presente solo nelle versioni giapponesi di Pokémon Rosso, Verde e Blu così come nella Beta Spaceworld del 1997 di Pokémon Oro e Argento, consente di ottenere Pokémon, oggetti o mosse specifiche. Consente inoltre di combattere determinati allenatori o di raggiungere determinati luoghi. Generalmente si ottiene scambiando di posto i Pokémon della propria squadra con gli strumenti della borsa. In base agli utilizzi si dividono in:

  • Menù chiuso
  • Menù speciale

Menù chiuso

Il Select glitch più diffuso, consente di scambiare un oggetto della borsa con un Pokémon (viene utilizzato nel Dokokashira Door glitch). Quando si preme Select in una voce il gioco tiene in memoria che avete evidenziato la voce in quella posizione specifica. Per esempio, se evidenziate il 7° oggetto della borsa e andate a sostituire il Pokémon lo sostituirete con il 7° Pokémon, cosa che non potrete fare normalmente, indipendentemente dal fatto che abbia 7 Pokémon o meno nel party (cosa comunque non fattibile, però mettiamo il caso in cui abbiate un solo Pokémon e scambiate il primo Pokémon con il secondo, come accade con il Dokokashira Door glitch).

Metodo 1

Questo metodo funziona solo nelle versioni 1.0 dei giochi, ed è stato fixato nella versione 1.1.

  • Entra in una lotta
  • Apri la borsa e premi Select su un oggetto
  • Senza fare nulla chiudete il menù con B
  • Andate nel menù dei Pokémon e premete A

Metodo 2 (fuori dalla lotta)

  • Apri la borsa dal menù start
  • Premi select su un oggetto
  • Chiudi entrambi i menù con B
  • Entra in una lotta oppure parla con il padrone della pensione o il giudice onomastico per aprire il menù del party
  • Premi A su un Pokémon

Menù speciale

Rispetto al precedente si scambiano le entry dei menù “speciali”, come quella delle medaglie di Celestopoli o l’ascensore della Silph Spa., in questo caso il gioco al posto di scambiare i Pokémon scambia più nello specifico, quando scambiate le voci in questo menù scambierete dei blocchi di memoria.

Cable Club escape glitch

Detto anche Cable blackout glitch, consente di far credere al gioco di essere collegati in link quando in realtà non lo si è. Mentre questo glitch è attivo il gioco rimpiazzerà la voce SALVA con la voce RESET nel menù. (è ancora possibile salvare switchando i box) Il vantaggio principale è quello di cambiare il roster di un allenatore che andrete a sfidare con l’allenatore in link. (la AI non cambierà)

Requisiti

  • Cavo link
  • Due copie dei giochi di Prima Generazione
  • Un Pokémon avvelenato (metodo 1) o un Pokémon con fossa (metodo 2)

Metodo 1

Il seguente metodo è stato fixato in Pokémon Giallo e si utilizza un Pokémon avvelenato. Mandate KO tutti gli altri Pokémon e avvelenate l’ultimo rimasto. Una volta fatto ciò andate a fare un collegamento in link (che sia il centro scambi o il colosseo non ha differenza) e avviate la schermata di scambio o la lotta. Senza fare nulla, uscite o fate fuga. Vi riporterà nel Centro scambi o al colosseo rispettivamente. Adesso mandate KO il vostro Pokémon avvelenato. Una volta che è successo il blackout il gioco vi riporterà al Centro Pokémon ma credera che siete ancora linkati con l’altro gioco. Da questo momento in poi, il primo allenatore che sfiderete avrà il roster dell’altro giocatore in link. Una volta battuti tutti i Pokémon dell’altro giocatore tutti gli altri allenatori avranno dei Charizard’m.

Metodo 2

Questo metodo sfrutta il Timeout della Zona Safari utilizzato per entrare in una Glitch City e vi consentirà di fuggire dal Centro scambi o dal Colosseo. Come per il metodo precedente, andate nel Centro scambi o nel Colosseo e caricate il roster dell’altro giocatore. A differenza del metodo con il Pokémon Avvelenato, qui faremo i passi necessari per il timeout dalla Zona Safari.

Una volta tornati all’entrata ci accorgeremo che la voce RESET ha rimpiazzato la voce SALVA:

Ora avrete due scelte: uscire dalla Zona Safari ed entrare in una Glitch City, oppure rientrare nella Zona Safari e fare fossa. Fate quest’ultima, in quanto se entrerete nella Glitch city non potrete uscirne e manderà in crash il gioco.

Una volta fatto Fossa vi ritroverete a Biancavilla. Ora andate a sfidare un allenatore a piacere e noterete che avrà lo sprite di Rosso e i Pokémon saranno quelli del vostro avversario in link.

Per risolvere vi basterà resettare il gioco oppure salvare con la funzione cambia box e riavviare.

Manipolazione delle DVs di Ditto

Trasformazione, come mossa nei giochi di prima generazione fa sì che se usata in successione trasforma il Pokémon avversario in Ditto copiando inoltre le stesse DVs del Pokémon in cui si è trasformato. Questo è un “oversight” in quanto gli unici Pokémon in grado di usare trasformazione nei giochi di Prima Generazione sono Ditto e Mew, e solo il primo è incontrabile con questa mossa, tuttavia, i Pokémon con Speculmossa possono utilizzare trasformazione (es. gli Spearow del percorso 18). L’esistenza di questo glitch è una delle conseguenze per cui si può eseguire l’exploit per ottenere facilmente un Ditto shiny da portare nei giochi di Seconda Generazione.

[Unused trainer] Prof. OAK

Nei giochi Pokémon di Prima Generazione, utilizzando il Mew, Ditto o Old man trick potrete sfidare dei glitch trainers, ma, in questo, un allenatore programmato interamente ma non utilizzato: Professor Oak. Difatti possiede tre roster tutti uguali salvo per lo starter che utilizzerà (tecnicamente utilizza l’ultimo stadio evolutivo dello starter che non è stato preso nè dal giocatore nè dal rivale). Per incontrarlo è consigliabile usare il Ditto trick con una statistica speciale di 266 e abbassando l’attacco del Ditto trasformato in base al roster che si vuole incontrare: Portatelo a -4 per sfidare il roster con Venusaur, a -5 per quello di Charizard e -6 per quello di Blastoise.

Q trick

Conosciuto anche come Merge glitch, simile alla sua controparte di Seconda generazione, consente di fondere le caratteristiche di due Pokémon creando un ibrido sfruttando Charizard’m o Q (Giallo).

Requisiti

  • Un box vuoto
  • Charizard’m o Q

Procedimento

Scegliete un box vuoto e depositateci un Pokémon, successivamente depositate Charizard’m (o Q, nel caso di Giallo). Dovrete mettere prima il Pokémon di cui volete avere lo sprite e i tipi e poi quello di cui volete avere le mosse e le statistiche. Nel mio caso userò uno Starmie come primo Pokémon, un Pidgey al livello 5 e uno Slowbro al livello 100 per ottenere un ibrido con lo sprite, specie e verso di Pidgey e le mosse e le statistiche di Slowbro.

Nonostante Charizard’m nasconda i Pokémon sotto di sè l’ordine è precisamente:

  • Starmie
  • Charizard’m (considerato come CANCEL)
  • Pidgey
  • Slowbro

Adesso ritirate il primo Pokémon (nel mio caso Starmie). Pidgey diventerà un ibrido con Charizard’m ma Slowbro sarà diventato un ibrido con Pidgey. Per stabilizzarlo basterà farlo evolvere, mentre per farlo tornare uno Slowbro basterà depositarlo alla pensione e ritirarlo.

Questo glitch è presente anche in Pokémon Giallo (Foto scattate da Ericchi):

https://cdn.discordapp.com/attachments/281954443224678400/595276873097805825/IMG_20190701_173728.jpg
https://cdn.discordapp.com/attachments/281954443224678400/595277016790728819/IMG_20190701_173803.jpg

Glitch del pacco di Oak che impedisce di proseguire

Questo glitch, che si manifesta esclusivamente nelle versioni Giapponesi di Rosso, Blu e Verde e nelle versioni Inglesi e Giapponesi di Pokémon Giallo, impedisce al giocatore di proseguire nel caso si evolvesse un Pokémon (nel caso di Rosso, blu e verde, lo starter) prima di ottenere il Pokédex, in quanto il gioco non consegna il Pacco di Oak al professore e tratta la situazione come se il giocatore avesse già ottenuto il Pokédex. A causa di ciò, l’Old Man non vi farà passare. Il gioco inoltre vi impedirà di fare scambi, in quanto non avete ancora il Pokédex.

In Pokémon Giallo

Il glitch in Pokémon Giallo è stato fixato “naturalmente” in quanto Pikachu non può evolversi, tuttavia, potrete portare un Party dal salvataggio precedente e facendo evolvere un Pokémon (Caterpie è consigliato in quanto si evolve al livello 7 e sale abbastanza rapidamente)

Portare un party Pokémon in un nuovo salvataggio

Questo glitch si manifesta in tutti i giochi Pokémon di Prima Generazione e permette di portare il proprio party in un nuovo gioco senza dover fare scambi. Questo glitch è utile per avere accesso a delle HM velocemente o, nel caso di Pokémon Giallo, fare il glitch del Pacco di Oak.

Procedimento

Per eseguire il glitch fate nuovo gioco finchè non potrete salvare. Aprite la finestra di salvataggio ma riavviate subito non appena premete il . Se avete eseguito correttamente il timing vi ritroverete nel nuovo salvataggio con il team del vecchio salvataggio.