Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
# Shin Pokémon Red, Blue, Green, Red-JP, & Blue-JP

Version 1.23 updated 01-01-2022

Beta News (06-20-2022):
Spoiler:

I need some help beta-testing the master development beta patch which allows for built-in randomized nuzlocke runs. If you choose to do a nuzlocke run on this development patch, please re-read and understand the whole Player's Guide that has been updated for the new features.
EDIT 3-7-2022: Beta patches updated to v1.23.05 to fix some minor issues and add new features.
EDIT 4-1-2022: Beta patches updated to v1.23.06 for more improvements and features.
EDIT 6-20-2022: Beta patches updated to v1.23.08 for a couple more goodies.
I'm also going to stream my playtesting for funzies.
Streams will be archived on my Youtube channel.


Shin (真) - The kanji for "true". Used in Japanese media to denote a remastering, updated retelling , or a "true form" of something.

This is an enhancement ROM hack of Pokemon Red & Blue based on the Pret team's pokered disassembly project.
It is a mostly-vanilla hack that focuses on fixing game engine bugs and oversights from the original game.
Additionally, trainer AI routines are improved and multiple quality-of-life enhancements have been added.
It also acts as a kind of research-informed speculative work that presents an alternate interpretation of the games.
Specifically, that being what the 2016 Nintendo Virtual Console re-release of Gen-1 Pokemon could have been.
It is the image of a glitch-free experience with player-friendly goodies and enhancements common to other modern remasterings.

The main purpose of the accompanying source code repository is to study, comment upon, and repair functional errors.
It is rather important to record for posterity the methods used for restoring the game to an error-free state.
Finally, the source code documents many differences and changes between the various Japanese and English releases.

For the latest build patches and detailed changelog, please visit the main github page at https://github.com/jojobear13/shinpokered. The patches for your choice of red or blue are kept in the patches folder.

IMPORTANT: Download the IPS patch file of the version you want and apply it to the correct USA rom.
- The "_origback" patches are alternatives for red & blue that keep the original back sprites.
- Red patches are applied to a USA Red ROM. (MD5 Hash: 3d45c1ee9abd5738df46d2bdda8b57dc)
- All other patches (Blues and Greens) are applied to a USA Blue ROM. (MD5 Hash: 50927e843568814f7ed45ec4f944bd8b)

Read the "Guide to New Player Functions" for instructions on all the new stuff the player can do in the Master branch.

Prefer only the bugfixes and AI improvements? Want a codebase from which to launch your own rom hack?
Then the Lite branch is what you want. Head on over and start compiling.

Hardware Compatibility
- Compatible with original Gameboy hardware (DMG, Super, Pocket, Color, Advance, SP)
- Potentially compatible with Pokemon Stadium 1 & 2
- Might be possible to use a save from vanilla USA red/blue with this rom hack (save in RED's house before transferring over)

Emulator Compatibility
- Use an accurate emulator. I use BGB on windows for its accuracy and debugging tools.
- Inaccurate emulators like Pizza Boy and Goomba have known issues.

Bug Report or Suggestion? Please make an effort to create an Issue Ticket in the repository. It helps keep track of everything and gives visibility to known issues.

#Summary

***Lite features for a cleaned-up purist experience***
Spoiler:

A huge number of bugs, glitches, oversights, and text errors of all sorts have been fixed.
There are too many to enumerate in a simple summary, and some of them are very obscure or previously undiscovered.

Includes english builds of Green and Red-JP versions.
It swaps the graphics, Cerulean Cave layout, and a few lines of text to replicate the original japanese releases.
The original release pokedex entries have been adapted from the Fire Red translations.
It also has all the pokedex data in metric.

Includes an english build of Blue-JP version.
It swaps prizes, trades, wild encounter data, and some text to replicate the original japanese release.
It also has all the pokedex data in metric.

Engine features from USA Yellow version have been backported.
No more duochrome! Yellow's color scheme gets converted to display on the Gameboy Color.
Attack animations are colored according to type during Gameboy Color play.
The audio engine is backported for stereo sound support.

New options that can be toggled!
- Hit SELECT on the options screen to cycle through the audio output types.
- Playing in GBC mode on a backlit LCD screen? Press SELECT at the copyright screen to activate color correction.
- Experimental 60FPS Mode: Place the cursor over CANCEL in the options screen and toggle by pressing left or right.
- Zero-Delay Text: Text with zero frame delay can be toggled in the options menu; press LEFT with the cursor on FAST.

Trainer AI has been improved and greatly expanded.
Some trainers will even try to switch pokemon intelligently.

You get notified when a box is filled (either via catching or depositing a pokemon).

Switching out of a trapping move wastes the trapper's turn.
This prevents unbeatable AI scenarios as well as a PP underflow glitch.

Rage is limited to 2-3 turns but attack boosts are kept.
This is primarily to prevent infinite battle loops.

Sleep does not prevent choosing a move, and the move is used upon waking up.
To maintain sleep move accuracy, sleep starts with a counter of at least 2.
And Rest now sets the sleep counter to 3.


***Additional Master features that go beyond engine modifications and fixes***
Spoiler:

All 151 pkmn are available in one version (rarities may vary per version).

You can play as a boy or a girl.

There's an EXP bar in battle.

You can hunt for shiny pokemon, and they are valid with Gen 2 games.

No more grinding wild pokemon. Nearly all trainers can be rematched just by talking to them once or twice.

The "SET" battle style gives increased difficulty by making the stats of trainer pokemon more on your level.
It also doubles the effect of the X-stat items that AI trainers are fond of.
And it disallows the use of Revive items in battle.
Finally, it makes catching a wild Mewtwo more challenging.
As compensation, SET mode gives an additional 1.5x EXP boost in trainer battles.

You can choose RUN while holding SELECT in trainer battles to forfeit the match and black yourself out.

One of the aides in Oak's lab toggles scaling of trainer rosters to your level (evolving them if applicable).

As an alternative to trainer scaling, there is now an obedience level-cap that can be toggled in the options menu.
With the cursor in the BATTLE STYLE section, press A to toggle it on and off.
While active, the current maximum obedience level will display in the options menu.
All pokemon, not just trades, will start to disobey if over the displayed level cap.

The other aide in Oak's lab toggles a pokeball-caught symbol in battle after obtaining the pokedex.
To help with Gen 2 interaction, this also applies a gender symbol to species that can be male or female.

Another aide npc is in the Viridian pokemon center. He will toggle on/off randomization of non-special trainers.

An aide is in the Celadon Diner. He will toggle on/off a catch-up EXP boost function for under-leveled pokemon.

Item, Sleep, and Freeze clauses can each be toggled by the Clause Brothers in Viridian City.

The bag now supports an additional item list for an extra 20 slots of space!
Press START on the bag menu to hot-swap the item list that populates the active bag.
The game's systems will generally detect items in the non-active bag space.
Unique systems, such as Pokemon Stadium, will only recognize the active bag's item list.

Each pokemon on your team has a field move slot.
These slots can temporarily hold a HM move for overworld-use only.
No longer do you have to sacrifice one of your four moves for a HM move.

An experimental New Game+ has been added.
It can be enabled if you have an uncorrupt save file wherein the Elite 4 have been beaten.
Press and hold SELECT while choosing New Game; a jingle confirms activation.

Lots of quick-key features.
- Quick 'Owned' Check - Place the cursor over FIGHT and press Select to play the enemy 'mon cry if it's already owned.
- Softlock Warp - Instantly teleport back to your mom's house if you get stuck.
- Running Shoes - Hold B to double your speed when walking, surfing, and biking. Includes proper animation speed-up!
- Quick HM Use - Press SELECT to use HMs based on proper context.
- Quick Bike/Rod - Press SELECT while holding A to automatically get on/off your bike or use the best rod in your inventory.
- View Stat EXP - Hold SELECT and enter the status screen to print a 'mons stat exp.
- View DVs - Hold START and enter the status screen to print a 'mons DVs.
- View Shiny Palette - When playing in color, hold SELECT when choosing a 'dex entry to load the shiny palette.

New NPCs!
- The move relearner and deleter is in Saffron City.
- An NPC in the Celadon Hotel will pay COINS for showing him pokemon as an alternative to slots.
- After the Elite-4, a new vendor opens up in Celadon allowing the purchase of normally unique items.
- After the Elite-4, there is an NPC in the east-west underground path that generates random trainer battles.
- After the Elite-4, the game corner chief will buy pokemon from the player.
- There's a tournament being held in the SS Anne's kitchen after the Elite-4 are beaten. Yes, the ship returns!
- Added some special post-game trainer battles as fun little easter eggs. Can you find and defeat all five?

Changes to fishing!
- The Good Rod has an expanded 'mon list and level range.
- Level range of the super rod has been increased.
- The Old Rod now randomly acts as a Good rod 50% of the time.
- The Old Rod is a sellable non-key item with the value of a nugget.
- The Route 12 Fishing Guru can be visited upon first reaching Lavender Town.
- The locations of the Good and Super Rod have been swapped.

Other minor changes to lessen annoyance.
- Low HP alarm only plays three times then turns itself off.
- TMs and HMs now have their attacks (albeit abbreviated) appended to the item names.
- All TMs can be repurchased as they are strategically scattered across all the Kanto pokemarts.
- The safari zone mechanics run off level instead of speed and safari balls have a boosted catch rate.
- Slot machines are a little more lucky, so now you can actually win big.
- CUT is not needed to get to Lt. Surge and Erika (a blocking event replaces the Vermilion shrub).
- Yellow version learnsets have been integrated and stone evolutions gain back some level-up moves.
- Hitting with a trapping move reduces its user's speed by 25% until recalculated via some other effect.
- Trapping moves play a 'poof' animation on the move's final turn in order to inform the player.

Cheats and Secrets!
- A pokemon with Pay Day in your top slot will tip you off to a lucky slot machine and when it's in a special payout mode.
- New item, M.GENE, re-randomizes a pkmn's DVs to values of 9,8,8,8 or more.
- Defeat all five post-game special trainers to reactivate the legendary pokemon.
- To more easily find shiny pokemon, put a level-100 Chansey at the top of your roster. Use a repel if you wish!
- Do you dare to activate Missingno at the Cinnabar shore? Only if you got your 'dex diploma.
- Winning the SS Anne's tournament with a pikachu in your party makes that pikachu eligible for the SURF HM.


#Screenshots
Spoiler:

GBC Title Screens



Backported Palettes from Pokemon Yellow and Gym Leader Names


Rematches


Trainer AI, Shiny Palette & Symbol, Exp Bar, Spaceworld Back Sprites


TMs in Marts


Shiny Animation


Girl Trainer


Temporary Field Move Slot


Many new NPCs to toggle features



Gamma Shader for LCD Screens (Off & On Comparison)


I just like this comparison



#Credits / Special Thanks:
Spoiler:

- The Pret team for the pokered and pokeyellow disassemblies and all the code comments that came with them
- MoriyaFaith's pokejp project for green version assets and code referencing
- Rangi for the tool Polished Map and the jp-style town map from Red/Blue Star
- Exp bar coded by Danny-E 33
- The Pokemon Prism team for the improved RNG used in this project's previous versions
- Patrik Rak for the new xor-shift RNG code
- Move deleter/relearner coded by TheFakeMateo for Pokemon Red++
- Code contributions and bugfixing by wisp92
- GLSWV for correcting the metric conversions of height and weight data
- SteppoBlazer for the spaceworld-style old man back sprite
- Poketto for the spaceworld-style Trainer Red back sprite
- SPazzzi95 for documenting localization changes
- easyaspi314 for optimizations to the gamma shader and wavy-line animation bugfix

The following folks for their great tutorials, glitch videos, and explanations across the internet
- TheFakeMateo
- Crystal_
- ChickasaurusGL
- v0id19

The following folks for bugfix collaberation
- kadetPirx
- JOBOalthor1992
- krazsen
- kmalove
- zycain
- jastolze007
- MStern
- TSinnohTrainer
- Chirutalis
- coltongit


#Read This Before Making Requests:
Spoiler:

These are things that are commonly requested but fall outside the scope of the project. There are no plans to implement these:
  • Yellow Version - This is a different rom base, and I have no intention at this time to start all over on numerous features.
  • Gen 2 color / graphics - The goal is to keep art direction and assets within the purview of a pre-1998 direction.
  • Battle mechanics from later generations - Gen 1's gameplay must be generally be preserved, so no special defense, physical-special split, critical hits untied from speed, updated move pools, etc.
  • Later-gen evolutions/forms/variants - I'm keeping this strictly to the original 151.


#Will Gameshark / Action Replay Codes Work?
Spoiler:

Largely, yes...with some rules. Shin Pokemon does not reassign any wram or hram addresses, so cheat codes that modify values within these address ranges will still work. The GB/C's wram is in addresses C000-DFFF, and hram is in FF80-FFFE.

Gameshark codes for the GB/C have an 8-digit hexadecimal format in the form of LMNOYZWX. The meaning of the separate digits is:
LM - External RAM bank number (typically 01)
NO - a 2-digit byte to act as your injected value
WXYZ - A 2-byte Memory Address to write the new value to (Note that the gameshark code format reverses the low and high bytes of the address)

So say you want a cheat code that gives you 99 of the first item in the bag. The quantity of the first item in the bag is at address D31F in wram, and 99-decimal equals 63-hex. This gives a gameshark code of 01631FD3.

Any codes that follow these conventions and only modify the wram or hram should work like they do in the vanilla games.


#What features/fixes have you been working on as of late?
Spoiler:

You can check out my latest developer commits at https://github.com/jojobear13/shinpokered/commits/master_dev
Author of Shin Pokemon Red/Blue/Green. A Gen 1 hack focusing on bugfixes, better AI, and QoL/151 enhancements. Come say hello in the sideshow thread.
Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
maybe i just skipped few text, the lite version has 150 (all obtainable?)
Negative on that. People making their own hacks using the Lite branch as a base will want to decide for themselves how to do 151 'mon availability. The 'mon availability of the Lite branch is the same as retail red/blue so as to not create more work for them.

You can create your own preferred wildmon availability by editing the data/wildPokemon asm files. For trade evolutions, you can edit the data/evos_moves.asm file and give them an evolution via level.

Chronosplit

I play for keeps!

Male
Seen May 3rd, 2022
Posted March 23rd, 2022
492 posts
11.8 Years
Is there a means to change the front sprites and even the back sprites as well? I've been wanting to have a hack of Red/Blue that has a mix of Pokémon Green sprites (fronts) and some of the Pokémon Gold beta (fronts and all the back sprites).
In the disassembly of red it's all PNG files, so changing sprites is about as simple as taking PNG files of Yellow or Green sprites from pokered and replacing them. You should also be able to do that with graphics from pokegold or pokecrystal (and yes the beta) in PNG format as long as you do it right, since you don't need to care about palettes due to everything being monochrome.

Just compile after that, and you'll find out whether or not it's all done properly. This quality is pretty well all universal between pokered projects that aren't in color though.

EDIT: Or just read this: https://github.com/jojobear13/shinpokered/blob/master/how%20to%20change%20pkmn%20sprites/instructions.md
Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
Both the master and lite branches have been updated. Version 1.09 has the following changes:

- Gamefreak's abandoned functions for halving and doubling stats have been modified and put back into use
- The 999 cap for reflect and light screen is now consolidated into a single function
- Rest now more efficient in undoing brn/par stat changes
- Catching a pokemon with brn/par no longer applies the stat penalties to its party data stats
- New custom function for undoing the stat changes of burn and paralysis
- undoing paralysis is accurate to within 0 to -3 points
- undoing burn is accurate to within 0 to -1 point
- AI using full heal now reverts brn/par stat changes
- Condition healing items (including using Full Restore at max hp) no longer reset all stats
- Burn heal undoes the attack stat changes
- Paralyze heal undoes the speed stat changes
- Full restore at max hp undoes the stat changes of brn/par
- Full Restore when used in battle to heal HP now undoes the stat changes of brn/par
- Haze and status-curing items now clear the toxic counter
- The function that applies badge stat-ups has been reworked
- now selectively boosts the correct stat when called during a stat-up/down effect
- as a result, badge boosts are no longer temporary

EDIT: I had a typo in my code. I re-uploaded new 1.09 patches to the original post and the github.
Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
The master and lite branches have been updated to version 1.10. Changes are as follows:


- The ABCD teleport glitch has been fixed
- The lift key in the rocket hideout drops during the end of battle text like in Yellow-version
- A wild marowak is no longer assumed to be the ghost marowak
- Pokedoll is disallowed during ghost marowak battle

- Fixed some issues with text in celadon floor 3, outside bill's house, and in vermillion city
- Fixed some incorrect placements in the pkmn random table lists
- Consolidated custom funcions into individual files for easy sorting


Shin Pokemon Red/Blue is now considered complete. Further updates from here on out will be rare and focus on fixing any overlooked issues.
Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
Having an issue: The rocket won't drop the lift key therefore I cannot continue
Caused by a small typo that was making the lift key event set but not checked.I fixed it and pushed the updated patches to github. Please download the patch again and re-apply it to a fresh unpatched rom.

jastolze007

Age 31
Male
Seen 11 Hours Ago
Posted 1 Week Ago
613 posts
5.9 Years
Could you fix the Critical hit ignoring the positive offensive stats please? It's annoying to use 3 Amnesia's and then it hit critical to do less than what a normal hit would have done. Also, I feel like the crit hit is higher than vanilla red version. Every second move against me is a crit :/
Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
Could you fix the Critical hit ignoring the positive offensive stats please? It's annoying to use 3 Amnesia's and then it hit critical to do less than what a normal hit would have done. Also, I feel like the crit hit is higher than vanilla red version. Every second move against me is a crit :/
Critical hit rate for enemies is slightly higher than vanilla because their speed stat is boosted by stat exp. The Gen 1 RNG is also not the best, and it seems to be seeded by the time between button inputs.

I’m hesitant on changing critical hit interactions with stat boosts. It was a deliberate design decision in vanilla rather than a bug or an oversight. Critical hits being tied to speed means that fast crit-seekers can easily sweep a whole team. There is no countermeasure to this unless you get lucky and can set up evasion spam.

My initial experiments with this was a ball of frustration where Hikers’ machops wipe early-game parties with karate chop. Trust me, you replace one annoyance with a bigger annoyance.

Obviously GF changed this in gen 2 to take stat changes into account, but they also decoupled critical hits from the speed stat.
Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
Is it possible to make this compatible with Danny-E full color patch?

I tried but got black screen
TLDR: Yes, but I'm not taking on that project.

IPS patches rarely work like what you are trying to do. Patching rom files is not like applying mods to a PC game with a modular file structure. Each patch assumes that the base rom file has certain values at certain locations within the rom file (your command values, address locations, etc) and then changes them accordingly. The default assumption for most hacks is that it patches the unmodified vanilla rom file. When you apply a patch you have now changed the rom. The default assumptions on where and what everything is in the rom file is not necessarily true anymore for applying another patch on top of that. You can get away with multi-patching for very small changes where the areas they overwrite do not overlap and everything pretty much stays in the same place.

Both Shin Pokemon and Danny's Full Color patch are not small changes. Data is shifted around from their default memory banks to make room for stuff. Whole core functions are added or re-written. To make Shin Pokemon compatible, I would have to start from square one and gradually integrate Danny's patch into Shin's code in such a way as to make them not interfere with each other. It would probably take me another year to do that and bugfix everything, so I'll leave that to someone else.

Inner Rhymes

Hip Hop and Pokemon are all I need.

They/Them
India.
Seen 2 Hours Ago
Posted 5 Days Ago
1,428 posts
5.6 Years
This is exactly what I've been looking for. Most R/B quality of life hacks tend to include features that are either too modern or just a level increase in difficulty. I started playing a few minutes ago and I'm having a blast because the old school sprites feel very nostalgic to me because I'm so used to playing hacks with the Gen 2 graphics patch. Cheers and thanks you!
Finally dropped my mixtape Venting session vol. 2! This mixtape is deeply personal to me as the 4 tracks touch up on themes such as Mental health, parental upbringing etc. Do consider tuning in!
Youtube: https://www.youtube.com/playlist?list=OLAK5uy_kAUxSM3mgS8eAk9x8TtbkDStWZ4UuxyGA
Spotify: https://open.spotify.com/album/6ycxLV7YZ35lXIPBT9Iwrv
Apple Music: https://music.apple.com/in/album/venting-session-vol-ii-ep/1627628714

Chronosplit

I play for keeps!

Male
Seen May 3rd, 2022
Posted March 23rd, 2022
492 posts
11.8 Years
I've been loving this project so far!

While I'm aware that graphically this should keep as close to the original games as possible, I've noticed a patch on RHDN that gave me an idea: it changes only the Pokemon backsprites to the spaceworld demo, and they all seem to match up with the frontsprites unlike the ones the original game had. Seems that the source code isn't in the entry though. http://www.romhacking.net/hacks/4924/

Would that be possible for Shin to fold in later on if desired? I realize that it looks like there's some extra steps involved.
Seen 10 Hours Ago
Posted 3 Weeks Ago
456 posts
3 Years
Would that be possible for Shin to fold in later on if desired? I realize that it looks like there's some extra steps involved.
Yeah, that would be possible. I’d handle it with instructions for self-compiling like I do for the green or yellow front sprites. I’d have to do some tests to see if I can do a 1:1 replacement of the back sprites or if I have to move stuff around memory banks.