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.

Ottenere qualunque Pokémon

Per questo glitch è consigliabile usare la versione non-debug della Demo Spaceworld di Pokémon Oro. Tramite il select glitch è possibile vedere i Pokémon nascosti nella Demo. Si specula che il motivo principale per cui hanno vietato lo scatto delle foto e dei video a quella conferenza fu perchè probabilmente questo glitch era già conosciuto ai tempi. Per fare ciò, bisognerà ottenere 8 oggetti diversi:

  • Il giocatore inizia con le Poké ball, delle Ricariche Totali, Stimulus Orb e Focus Orb
  • Lo starter, così come nella versione finale, terrà la Bacca, che prenderemo.
  • Tutti i Pokémon selvatici hanno il 25% di possedere una bacca.
  • Girafarig ha il 25% di possibilità di avere una Mela esclusivamente nella versione non-debug di Oro. Su Argento avrà la bacca in ogni caso.

Una volta catturato il Girafarig con la mela (senza finire le Ball e senza fargliela mangiare), si avranno 7 oggetti. Con questi oggetti si potrà cambiare con un glitch Pokémon che terrà l’ottavo oggetto. Durante questo procedimento fate attenzione al primo carattere del nickname di uno dei Pokémon che matchi l’ID di uno dei Pokémon che volete ottenere. Il Pokémon ottenuto tramite questo metodo sarà al livello 0, ma con ulteriori passi sarà possibile portarlo a uno stato utilizzabile.

Select glitch

Così come nelle edizioni nipponiche di Rosso, Blu e Verde, anche nel prototipo dello Spaceworld non avevano ancora fixato questo glitch, che consente di swappare un Pokémon con quelli superiori al sesto slot. Finora due metodi sono stati confermati funzionanti (NB: funziona solo sulla versione non-Debug del gioco)

Metodo 1 (fuori dalla lotta)

  • Apri il menù degli oggetti
  • Seleziona un oggetto che apre in successione il menù del party (es. Pozione)
  • Premi Select e premi A
  • Premendo di nuovo A il glitch avrà effetto

Metodo 2 (in lotta)

  • Apri gli strumenti
  • Premi select su uno strumento
  • Chiudi il menù
  • Apri il menù dei Pokémon
  • Premi A

Glitch Pokémon (GS Spaceworld)

Come la versione finale, anche i prototipi SpaceWorld hanno i rispettivi Glitch Pokémon della Versione finale anche se possiedono un aspetto diverso e quando catturati diventano automaticamente dei Bulbasaur. È possibile incontrarli/vederli mediante codici o tramite il Debug menù facendo delle lotte custom.

9ム゙9ィ゙わざマシン (00)

Chiamato anche 9ム゙9ィ゙そ, 9ム゙9ィ゙ー o 9ム゙9ィ゙9 in base alla ROM in cui lo incontrate, si evolve in Pidgey al livello 12 e tenterà di imparare più volte Volo. Aprire il menù mentre questo Pokémon è presente può glitchare la grafica o freezare direttamente il gioco. Non può essere catturato neanche con la Master ball.

ビニ゙でヌ゙(FC)

A destra la variante shiny del Pokéglitch. Se tentate di vedere le sue info, farlo salire di livello o mandarlo in campo farà crashare il gioco, ma anche vedere la sua icona nel menù dei Pokémon porterà lo stesso risultato (ecetto nella debug ROM in cui avrà l’icona di Poliwag)

Uovo || ネ_ノ゙ バ (FD)

A destra la variante shiny del Pokéglitch. Copia spesso i dati dell’ultimo Pokémon presente in memoria. Se incontrato nelle ROM di debug possiede un verso lungo e glitchato. Se catturato diventa un Bulbasaur.

チビロブと (FE)

Incontrare FE allo stato selvatico farà crashare il gioco.

ボゃマ゙0ミ゙ (FF)

Incontrare FF allo stato selvatico inizierà un incontro con un allenatore che crasherà non appena manderà in campo il primo Pokémon, tuttavia è possibile ottenerlo tramite Select glitch o cambiando la specie di un Pokémon selvatico tramite codice durante la lotta.

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.