Category Archives: Seconda generazione

Il comportamento di alcune Poké-ball

I giochi di Seconda Generazione sono stati i primi a includere dei nuovi tipi di Poké-Ball con diverse peculiarità (aka le Apricorn balls), tuttavia, alcune di esse non funzionano nella maniera giusta. Le funzioni sono state prese dal Disassembly Project di Pokémon Cristallo.

Park ball

Utilizzo: È una ball utilizzata principalmente durante le gare Pigliamosche

Glitch: Durante una battaglia non inerente alla gara utilizzare questa ball darà una schermata glitchata. Per ottenere questa Ball fuori dalla gara Pigliamosche è necessario utilizzare un Codice oppure una corruzione

Luna Ball

Utilizzo: Ha un catch rate migliore sui Pokémon che si evolvono tramite la Pietraluna

Glitch: La Ball quando va a pescare la costante dell’oggetto in questione va a pescare la costante…. di Pokémon Rosso/Blu/Verde, che risulta essere l’Antiscottatura. Sostanzialmente la Luna Ball funziona meglio sui Pokémon che si evolvono con l’antiscottatura.

-; Moon Stone's constant from Pokémon Red is used.
-; No Pokémon evolve with Burn Heal,
-; so Moon Balls always have a catch rate of 1×.
  push bc
  ld a, BANK("Evolutions and Attacks")
  call GetFarByte
- cp MOON_STONE_RED ; BURN_HEAL
+ cp MOON_STONE
  pop bc
  ret nz

Love Ball

Utilizzo: Ha un catch rate migliore sui Pokémon del Sesso opposto

Glitch: Il catch rate migliore viene applicato ai Pokémon dello stesso sesso

 .wildmale

 	ld a, d
 	pop de
 	cp d
 	pop bc
-	ret nz ; for the intended effect, this should be "ret z"
+	ret z

Rapid Ball

Utilizzo: Ha un catch rate migliore sui Pokémon che fuggono dalla lotta o sono veloci

Glitch: La ball funziona solo su Tre Pokémon: Tangela, Magnemite e Grimer presenti nella prima categoria dei Pokémon che fuggono invece di checkare tre tabelle (Pokémon che fuggono col 10% di chance, col 50% o col 100%)

 .loop
 	ld a, BANK(FleeMons)
 	call GetFarByte

 	inc hl
 	cp -1
 	jr z, .next
 	cp c
-	jr nz, .next ; for the intended effect, this should be "jr nz, .loop"
+	jr nz, .loop
 	sla b
 	jr c, .max

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.

Glitch dimension

La Glitch Dimension è un glitch grafico che si ottiene quando si incontra ????? (00), si effetua un setup col Coin case o semplicemente si esce fuori dall’area di gioco con un cheating device. Il gioco si riavvierà e avrà tutti i colori sballati, disabilitando alcune cose quali il blinking e Ho-Oh, nel caso si facesse in Pokémon Oro, sarà colorato. Il glitch non funziona su Pokémon Cristallo.

Spiegazione

Il gioco, quando si avvia, determina quale console si sta utilizzando. Entrando nella glitch dimension, il gioco salta questo passaggio e crede stia funzionando su un Gameboy. Così facendo disabilita molte palette di colori per garantirne la compatibilità. Inoltre il Dono segreto sarà disabilitato. Nel caso di Pokémon Cristallo invece, dato che funziona solo su Gameboy color, mostrerà un messaggio di errore che dice che il gioco non può funzionare sul GameBoy o il Gameboy Pocket.

Fondere due Pokémon (GenII)

Generalmente conosciuto come il Q trick o merge glitch, questo exploit consente di fondere due Pokémon. È utile anche per avere un Pokémon shiny specifico, utilizzando il Gyarados rosso (o qualunque altro shiny).

Requisiti

  • ?????(FF)
  • Tre Pokémon da sacrificare
  • I due Pokémon che vorrete fondere

Procedimento

Mettete tutti i Pokémon necessari in squadra (assicuratevi di mettere FF per ultimo per evitare di far danni)

Ora mettete il team in quest’ordine

  1. Pokémon 1
  2. Pokémon 2
  3. ????? (FF)
  4. Pokémon 3
  5. Primo Pokémon da fondere, determinerà la specie, quindi di conseguenza anche le sue statistiche base
  6. Secondo Pokémon da fondere, determinerà le mosse e le DVs

Ora andate nel box e depositate il primo Pokémon.

Aprite il menù e noterete che il terzo Pokémon è diventato un ibrido di FF, il quarto un ibrido del terzo Pokémon (nel mio caso Starmie) e il quinto ha ereditato la specie dal quarto:

Celebi, avendo copiato le DVs di Gyarados (ho usato quello del lago d’ira) sarà shiny. Ora è diventato un ibrido instabile tra Gyarados e Celebi. Per stabilizzarlo depositatelo nella pensione e ritiratelo. Tornerà Gyarados.

Celebi trick

Probabilmente uno degli exploit più importanti di tutto GSC, il Celebi trick così come dice il nome, consente di ottenere Celebi o qualunque altro Pokémon disponibile in gioco. È un glitch equivalente alla sua controparte di terza generazione, con la differenza che usa i Bad clones e un’esecuzione diversa. L’exploit è stato scoperto da Paco81, clicca qui per vedere il thread originale!


Requisiti (specifici per ottenere Celebi)

  • Sneasel con Picchiaduro nel terzo slot (mossa che impara al lv. 57)
  • Un bad clone

Procedimento

Sdoppiate quattro volte correttamente Sneasel e fate un Bad clone. Mettete lo Sneasel originale nel primo posto in squadra, seguito dai quattro cloni e dal bad clone. Adesso dirigiti alla pensione, affidagli il Bad clone, ritiralo, noterai che la sua icona sarà cambiata e che si sarà trasformato in FF.

Mettilo nel primo posto della squadra. Ora usa la funzione SPOSTA PKMN e metti un Pokémon irrilevante per primo in squadra (non te ne deve importare perchè questo Pokémon scomparirà). Ora dai il Bad clone alla pensione e non ritirarlo (dovrebbe essere il secondo in squadra). Adesso deposita tutti i Pokémon salvo lo Sneasel originale. Noterai che man mano che depositi gli Sneasel essi perderanno una lettera dal loro nome fino ad arrivare a SEL. Ora ritira il Bad clone dalla pensione e dagli lo Sneasel chiamato SEL (l’unico in squadra), ritiralo e dovrebbe essere diventato un Celebi.

Se si va a vedere nel box dove hai depositato i quattro cloni, noterete che le specie (ma non gli sprite) sono cambiate; se li darete alla pensione si trasformeranno. Se guardate le statistiche del secondo clone il gioco crasha.

Spiegazione


Questo exploit funziona perchè l’hex di picchiaduro corrisponde all’hex di Celebi (FB). Se cambiate attacco troverete il Pokémon corrispondente, Sneasel è l’unico in grado di imparare picchiaduro in questa gen. Tramite questo metodo si possono inoltre ottenere degli strumenti che saranno tenuti dal Pokémon generato e dipendono all’hex del quarto attacco del Pokémon.

Tuttavia, l’articolo non finisce qui, poichè c’è un’altra variante di questo glitch chiamata Egg trick o Celebi egg trick che possiede un setup molto simile a quello appena utilizzato:

Requisiti

  • Uno Sneasel con Picchiaduro nel terzo slot
  • Un bad clone

Procedimento

Breedate due Sneasel con picchiaduro nel terzo slot in modo che l’uovo possieda a sua volta la mossa nel medesimo slot. Il giocatore deve depositare l’uovo in un box mentre cinque Pokémon e il Bad clone devono rimanere nella squadra. Andate alla pensione, affidategli il Bad clone e riprendetelo subito. Ora mettere ????? (FF) in cima al team e accedete ai box. Usando l’opzione “Muovi Pkm” il giocatore deve muovere un Pokémon (il Pokémon scomparirà, quindi usate un Mon comune) in cima alla sua squadra. Il suo nome dovrebbe diventare quello dell’allenatore e il giocatore ora avrà 7 Pokémon in team. Adesso tornate alla pensione e affidate di nuovo ????? (FF). Andate di nuovo al PC e depositate il primo e secondo Pokémon della squadra. Usando nuovamente l’opzione “Muovi PKM” spostate l’uovo in cima alla vostra squadra e depositate i quattro prossimi Pokémon, ad eccezione dell’uovo. Successivamente, ritirate qualsiasi Pokémon che non avete usato per l’exploit. Avendo finito la preparazione, camminate finchè l’uovo non si schiude. Celebi non sarà ancora utilizzabile in quanto si schiuderà al livello 0. Depositatelo alla pensione finchè non raggiunge almeno il livello 2. Dopo di chè Celebi sarà un Pokémon perfettamente normale

Bad clones

I bad clones sono degli ibridi tra il Pokémon sdoppiato e un ????? (00). Spesso sono delle femmine, sono al livello 0 e hanno un nome glitchato (in genere riempono lo schermo di punti interrogativi, nel mio caso è apparso senza nome). Per ottenerli bisogna eseguire il glitch per sdoppiare i Pokémon e spegnere rispettivamente quando appare la prima lettera S di “Salvataggio in corso, non spegnere.” in Oro e Argento o non appena appare il punto finale nella frase in Cristallo. Non è assicurato che vi capitino al primo colpo, ma le chance aumentano drasticamente nel caso si dovesse usare Pokémon Stadium 2. Per gli emulatori invece BGB è l’emulatore consigliato. Sono molto importanti per eseguire il Johto Guard Glitch o il Celebi trick.

Ottenere i bad clones su emulatore con BGB

Ottenere un bad clone su console è già difficile di suo, ma, associato alla scarsa accuratezza di alcuni emulatori e la totale assenza di Pokémon Stadium 2 ottenerne uno può rivelarsi abbastanza difficile, tuttavia, grazie al debugger dell’emulatore BGB (reperibile dalla sezione resources del sito) è possibile ottenere un bad clone al primo tentativo senza troppi problemi. Per fare ciò, impostate il Box 4 in modo che abbia 5 Pokémon al suo interno. Dopo aver fatto ciò, aprite il debugger di BGB

Cliccare su Debug > Breakpoints e aggiungetene uno scrivendo any su PC e de=ad11 (se state usando Pokémon Cristallo) oppure de=ad6d (se state usando Pokémon Oro) e fate Run > Run.

Il gioco, quando andrete a clonare normalmente un Pokémon nel box 4, si fermerà nel momento esatto in cui potrete ottenere un bad clone. A quel punto resettate e controllate il box: se avete seguito correttamente i passaggi avrete ottenuto il Bad clone.

Johto Guard glitch

Il Johto Guard glitch è un exploit presente nei giochi di seconda generazione che consente di cammuffare i Pokémon di Johto nella tempocapsula consentendogli così di raggiungere i giochi di prima generazione, trasformandoli in glitchmons. Questo exploit consente di avere dei glitch Pokémon altrimenti inottenibili senza l’ausilio di un cheating device, in quanto con il Ditto trick spesso appaiono allenatori al suo posto oppure fanno crashare direttamente il gioco. Il gioco con questo exploit nasconderà l’ID dei Pokémon ma non le loro mosse, pertanto è importante fargli dimenticare tutte le mosse di seconda generazione prima di entrare nella tempocapsula

Requisiti

Procedimento

Mettete il ????? in cima al team e andate nella tempocapsula: noterete che il commesso non si accorgerà che avete dei Pokémon di seconda generazione con voi.

Adesso iniziate lo scambio come se nulla fosse, difatti il gioco vi consentirà di scambiare senza alcun problema.

Tenete presente che una volta che i Pokéglitch saranno arrivati sui giochi di prima generazioen non potranno più tornare indietro (il gioco dirà che c’è un problema con il vostro Pokémon e annullerà lo scambio)

Per far diventare i Pokéglitch dei Pokémon normali di Kanto depositateli alla pensione e ritirateli.

Clonare i Pokémon

Questo è uno degli exploit più conosciuti nella storia dei giochi Pokémon e come dice il nome: consente di clonare i propri Pokémon. Questo glitch consente inoltre di ottenere tutti e tre gli starter in un singolo salvataggio.

Requisiti

  • Almeno un altro Pokémon oltre a quello che si vuole clonare
  • Un box vuoto
  • Un box che non è pieno

Procedimento

Depositate il Pokémon che volete clonare nel PC e scegliete di cambiare box. Non appena cambierete nel box vuoto il gioco vi chiederà di salvare. Voi selezionate e mentre sta salvando riavviate il gioco. Se il procedimento è andato a buon fine dovreste avere il Pokémon sia nel box che nella squadra. Questo exploit consente inoltre di avere dei Bad clones eseguendo passaggi lievemente diversi.

Metodo 2

Esiste, inoltre, un altro metodo (lo stesso dei giochi di Prima generazione) utilizzando due giochi Pokémon e un cavo link che sfrutta la limitazione dell’hardware

Requisiti

  • Cavo link
  • Due console
  • Due giochi Pokémon compatibili tra loro per gli scambi

Procedimento

Scambiate con l’altro gioco il Pokémon che volete clonare. Come il Gameboy ricevente ha finito di salvare il gioco spegnete senza che il secondo Pokémon venga scambiato. Il secondo Pokémon scambiato verrà sacrificato poichè verrà sovrascritto dal Pokémon clonato.

Coin case glitch

I glitch del Salvadanaio sono degli errori del funzionamento del salvadanaio che, a causa di un errore nella traduzione da JP a ENG (byte $57 al posto di $50), fa saltare il programma del gioco all’indirizzo $E112 (essendo RAM di tipo ECHO considerate C112) che modifica la memoria dell’overworld: se manipolata correttamente può reindirizzare il gioco al terzo Pokémon del party, fornendo così:

  • ACE (Arbitrary Code Execution o in Italiano Esecuzione arbitraria di codice)
  • Glitch Dimension
  • Accedere ai contenuti non utilizzati del gioco
  • [Altro…]

Requisiti

  • Salvadanaio
  • Conoscenza del glitch (oppure vai a caso e vedi cosa succede, tenete presente che è un exploit che manipola la memoria di gioco)
  • L’Entry nel Pokédex di Bellsprout/Machop/Machoke/Machamp (il Machop di Aranciopoli va bene comunque) poichè il loro verso include un Inc SP, di cui parleremo più avanti
  • Conoscenza delle conseguenze di che Pokémon hai nel terzo slot della squadra
  • Due Pokémon: Quagsire che tiene i PS-Su e Sonnolalia come prima mossa e un Pokémon appena schiuso o catturato, non deve creare niente che non faccia scorrere il codice al quarto Pokémon
  • Costruisci il codice con tipo e quantità di item partendo dal secondo item del box.

Procedura

Dopo aver fatto tutti i preparativi salva ed entra in un edificio, in questo caso useremo il Laboratorio di Elm. Dopo aver salvato, da dentro il laboratorio, esci dalla porta e fai 4 passi a destra. Ascolta il verso di uno dei Pokémon menzionati prima e usa il salvadanaio cambiando la tasca della borsa almeno una volta. L’inc SP fa saltare la memoria al terzo Pokémon della squadra perchè modifica la posizione in cui return atterra. Il terzo Pokémon non esegue niente che possa alterare il corso del codice e fa scorrere il gioco al prossimo Pokémon. Quagsire fa saltare il gioco al secondo oggetto del box e da qui parte il codice. Possono succedere risultati diversi in base a come si esegue il glitch ma fino al salvadanaio il procedimento è sempre lo stesso

Questo glitch è stato fixato su Pokémon Cristallo e i remake.