When you beat Super Mario Bros. the Princess presents you with a "New Quest" and also that you can "push button B to select a new world."
This hack enables the built-in new quest (aka "second quest" or "hard mode") without also enabling world select, as enabling world select is what also enables hard mode after beating the game naturally.
When starting a new game it checks the world select flag at $07fc, and stores that value in the hard mode flag ($076a). This patches it to read the game timer at $07fa which should be 1 during this check, and loads that value into the accumulator instead. When it stores that value into the hard mode flag, everything falls into place. World select is now only enabled now if you beat the game, and continuing on a world (A + Start) still works as expected with hard mode enabled with both 1 and 2 player modes. Alternatively you can use Game Genie code XNNATXKN to perform this without the IPS patch.
This re-implementation was inspired by and presented as an alternative to
https://www.romhacking.net/forum/index.php?action=profile;u=69811 patch named
https://www.romhacking.net/hacks/5327/ which featured some gameplay differences from the built-in hard mode. It shares no code with Szemigi's patch, so the "New Quest Enabled" patch still targets the original ROM.
This patch was also inspired by earlier work by an unknown contributor that provided a similar patch many years ago. Since that version was no longer available, an independent re-implementation was created and also with the goal of avoiding any gameplay differences featured in Szemigi's patch. This should play exactly the same as starting on 1-1 after finishing 8-4.
___ __ __ _
/ __|_ _ _ __ ___ _ _ | \/ |__ _ _ _(_)___
\__ \ || | '_ \/ -_) '_| | |\/| / _` | '_| / _ \
|___/\_,_| .__/\___|_|_ |_| |_\__,_|_| |_\___/ _ _ _
| \| |___|_|__ __ / _ \ _ _ ___ __| |_ | __|_ _ __ _| |__| |___ __| |
| .` / -_) V V / | (_) | || / -_|_-< _| | _|| ' \/ _` | '_ \ / -_) _` |
|_|\_\___|\_/\_/ \__\_\\_,_\___/__/\__| |___|_||_\__,_|_.__/_\___\__,_|
1.0 by Famiclone
When you beat Super Mario Bros. the Princess presents you with a "New Quest"
and also that you can "push button B to select a new world."
This hack enables the new quest (aka "second quest" or "hard mode") without enabling world select,
as enabling world select is what also enables hard mode after beating the game naturally.
When starting a new game it checks the world select flag at $07fc,
and stores that value in the hard mode flag ($076a).
This patches it to read the game timer at $07fa which should be 1 during this check,
and loads that value into the accumulator instead.
When it stores that value into the hard mode flag, everything falls into place.
Alternatively you can use Game Genie code XNNATXKN to perform this without the IPS patch.
Name: Super Mario Bros. (World).nes
Size: 40976 bytes (40 KiB)
CRC32: 3337EC46
CRC64: 42D4CC604B912DE9
SHA256: F61548FDF1670CFFEFCC4F0B7BDCDD9EABA0C226E3B74F8666071496988248DE
SHA1: EA343F4E445A9050D4B4FBAC2C77D0693B1D0922
BLAKE2sp: 02C4E29DAECBA0E8BD77FA31BA0DD69F461161AF43E5E6F19E7EFBF5AC893798