Language…
19 users online:  Ahrion, Anas,  Atari2.0, Beed28, CircleFriendo, crocodileman94, DanMario24YT, Golden Yoshi, Heitor Porfirio, King-Raze, Maw, Mohamad20ZX, ocked, OEO6, OrangeBronzeDaisy, Papangu, SMW Magic, steelsburg, yoshisisland - Guests: 305 - Bots: 467
Users: 64,795 (2,370 active)
Latest user: mathew

Retry System (+ Multiple Checkpoints) v2.06b

SMW Patches → Retry System (+ Multiple Checkpoints) v2.06b

This file is obsolete. The latest version is Retry System (+ Multiple Checkpoints) v2.06c. For other versions, check the version history.

Submission Details

Name: Retry System (+ Multiple Checkpoints) v2.06b
Authors: lx5, worldpeace
Added:
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: This patch creates a prompt that lets players choose whether to quickly restart a level without visiting the overworld after dying. Probably useful for hard or kaizo-light difficulty hacks. Now compatible with Lunar Magic 3.00!

Features:
- fast reset
- easily configurable multiple checkpoints

Note:
LM's level transition hack is required in order to make this patch work properly. It's silently installed to your ROM when you check the "Use separate settings for Midway Entrance" option for a midway entrance in any level and save the ROM with LM.

lx5's edit:
- It's now compatible with Ladida's Mario DMA patches (this also includes Custom Powerups)
- Removed some window garbage that may appear upon closing the retry prompt
- Fixed communication with Individual Dragon Coin Save patch (requires using my update)
GitHub
Tags: kaizo light lorom midway point retry sa-1 toolless
Comments: 58 (jump to comments)
Download 175.67 KiB | 2,335 downloads

Screenshots

Comments (58)

oderjunks Link
Originally posted by JonnyManjiro
I'm making a level with controlled gravity, but when I retry the gravity state continues after the retry. Anyone have ideas for a workaround?

assuming you're using uberasm, have you tried just resetting the flipped gravity flag to zero in the
Code
init:
function?
KronicTheGreat Link
How would i remove the exit option? I like having the pause with the retry prompt, but dont want exit.
CONLUSH666 Link
BEST PATCH
Mithrillionaire Link
From the readme: "Before patching, move Mario in the Overworld editor and save the Overworld in Lunar Magic: this prevents garbage graphics from appearing for a single frame when Mario walks to Yoshi's House upon starting a new save file."

I am getting this graphical glitch even after moving Mario and saving the OW as instructed. Not sure how I would be doing a step wrong, but I can't seem to figure out why it won't work properly.
ninj Link
someone probably found this, but not compatible with vwf dialogues patch.
lx5 Author Link
requires changes to work with sa-1 pack 1.35+ (dma remap conflict)
JonnyManjiro Link
I'm making a level with controlled gravity, but when I retry the gravity state continues after the retry. Anyone have ideas for a workaround?
hendog30_ Link
Is it possible to change the color palette of the text box from 8 to 9?
DTA450 Link
 Kevin Link
Tested with: Lunar Magic 3.11, asar 1.71, SA-1 1.32, Individual dragon coin save (LX5's update), LX5's Custom Powerups v3.4.0 (also inserted using PIXI 1.2.14, UberASM Tool 1.4, GPS 1.4.1), Mario's 8x8 Tiles DMA-er, 32x32 Player Tilemap Patch 1.4, bsnes v115.
The patch now works with the latest version of Individual dragon coins save, also on SA-1, and as far as my testing went, it's also compatible with the various Mario DMA patches, including the Custom Powerups. Good job in adding support to these patches, it's very much appreciated.

One small note: now the custom midway object option is turned off by default, if you need it then change the appropriate define in "retry.asm" to 1.
Edit: I turned the option back on by default, since it caused confusion among people.
Vivian Darkbloom Link
This isn't compatible with Easy Mode7. They share a hijack.
 BeeKaay From older version: Retry System (+ multiple checkpoints) v2.06a Link
Originally posted by Samuel Zuccati
Stumbled upon a glitch were if you have a midway saved that's in a different sublevel than the one you start, the game wont load the correct level entrance until you die


I also had this problem. Upon investigation, it was the save code I was using that was buggy. I am using this block, and had to remove the SRAM+ check from it for it to work correctly (i.e. I removed the "if" and "endif" lines).
 Zoreo From older version: Retry System (+ multiple checkpoints) v2.06a Link
Every time I hit retry, it brings me to the bonus room and finishing the 1up game leaves you in the room waiting for the timer to run out

EDIT: I found the solution to this problem. You need to put the patch on a fresh rom
ThatOneOcto From older version: Retry System (+ multiple checkpoints) v2.06a Link
How can I edit what it says when you die instead of Retry or Exit?
stas From older version: Retry System (+ multiple checkpoints) v2.06a Link
I have the same problem too.
El Cuh Fermin From older version: Retry System v2.03 Link
It seems it is still compatible with custom powerups and latest version of sa-1. So I didn’t used multiple midway points
Vhack Link
This sounds like it would be useful in a collab hack.
El Cuh Fermin Link
I will try it out. But it looks cool when you updated the fix.

Yo voy a tratar. Pero se ve chido cuando usted actualizasteis el arreglo.
lx5 Author Link
Some fixes I've been asked to fix + compatibility stuff. A few things were ported from the Custom Powerups version I had a long time ago on my Powerups repo.

- It's now compatible with Ladida's Mario DMA patches (this also includes Custom Powerups)
- Removed some window garbage that may appear upon closing the retry prompt
- Fixed communication with Individual Dragon Coin Save patch (requires using my update)
JGoom From older version: Retry System (+ multiple checkpoints) v2.06a Link
So i tried patching this with Asar onto my rom and this keeps coming up:

retry.asm:29: error: (E5039): SNES address 00FFD5 in read1() out of bounds. [if read1($00FFD5) == $23]
retry.asm:40: error: (E5039): SNES address 05DAA3 in read1() out of bounds. [if read1($05DAA3) == $5C]
Errors were detected while assembling the patch. Assembling aborted. Your ROM has not been modified.

What should I do?
Samie Zuccati From older version: Retry System (+ multiple checkpoints) v2.06a Link
Stumbled upon a glitch were if you have a midway saved that's in a different sublevel than the one you start, the game wont load the correct level entrance until you die
D1STYNCT From older version: Retry System (+ multiple checkpoints) v2.06a Link
If your rom keeps crashing after you press Retry and you want to avoid wasting several hours like I have, check if you're using level 24. If so, uncheck "Allow level 24 to redirect screen exits based on coins collected and time remaining" under the Overworld Editor > Overworld > Extra Options. Works great now.
Eduard From older version: Retry System (+ multiple checkpoints) v2.06a Link
Originally posted by Puduhge
I recently fell into a glitch where my rom would keep crashing. After starting with a fresh rom, I checked it after every asm and it was the retry patch (also sent me to 100 after death in level 103). any glitches I should be aware of?


maybe delete the sram of your rom
Puduhge From older version: Retry System (+ multiple checkpoints) v2.06a Link
I recently fell into a glitch where my rom would keep crashing. After starting with a fresh rom, I checked it after every asm and it was the retry patch (also sent me to 100 after death in level 103). any glitches I should be aware of?
obersteiner86 From older version: Retry System (+ multiple checkpoints) v2.06a Link
@Pancake002: Same happend to me frist time but then i us this "Use separate settings for Midway Entrance" option for a midway entrance n any level and save the ROM with LM. Then no crash any more. Testet with sa-1.32 ,snes9x 1.60 and lm 3.10 and asar 1.17
Pancake002 From older version: Retry System (+ multiple checkpoints) v2.06a Link
Every time I press retry it crashes.
simon.caio From older version: Retry System (+ multiple checkpoints) v2.06a Link
Does this patch not work with vwf dialogues or do i do something wrong?
Leithen From older version: Retry System (+ multiple checkpoints) v2.06a Link
Love this patch! Just remember to clear your level data otherwise you will be confused like me...
zfleeman From older version: Retry System (+ multiple checkpoints) v2.06a Link
Hi, everybody. I've been able to successfully apply this patch, but I think it is super overkill for what I'm needing. I patched the original Kaizo Mario World with this to enable the quick-reset function (like I saw in Grand Poo World 2), but every other setting in the retry_table is a mystery to me. What should I change if the only thing I want to change to the already-hacked ROM is the quick death reset plus unlimited lives. I'm not sure if the other settings are giving me an unfair advantage. I basically want to turn everything off but the quick reset + unlimited lives.

Thanks in advance! I just started messing with ROM hacks and patches last night, and I've learned a ton.
Nowieso From older version: Retry System (+ multiple checkpoints) v2.06a Link
The new version of this seems to clear all "midway point obtained" flags I set on the overworld.
 RussianMan From older version: Retry System (+ multiple checkpoints) v2.06a Link
can't be removed with unpatcher and is incompatible with extended mario tiles DMA-er. (same hijack). sad
DanOfMostTrades From older version: Retry System (+ multiple checkpoints) v2.06a Link
Absolutely amazing. I can't believe how easy it is to have instant-retry and use the multi-midway function. This is a must-have patch.
TheSkillMythos From older version: Retry System (+ multiple checkpoints) v2.06a Link
EDIT: Nevermind, just figured it out. I'm super dumb, forgot to move letters.bin :)

This is probably just me, but I'm getting this error when installing retry.asm

Enter patch name: retry.asm
Enter ROM name: Redux World.smc
retry.asm:799: error: (E5016): File 'letters.bin' wasn't found. [incbin letters.bin]
Errors were detected while assembling the patch. Assembling aborted. Your ROM has not been modified.
0009:fixme:ver:GetCurrentPackageId (0x32fe94 0x0): stub
PedroHrodrigues From older version: Retry System (+ multiple checkpoints) v2.06a Link
I don't know if it's just me, but if i try to load a save file it doesn't work
worldpeace Author From older version: Retry System (+ multiple checkpoints) v2.06a Link
I apologize that I should have mentioned that the patch is not compatible with old save data (sram) saved before this patch, so loading it after applying the patch may cause various problems such as game freezing after selecting retry, or sending players to level 0.

To resolve this, you need to remove the old save data. You could use the erase data menu in the titlescreen, or remove the save file from your system.
Flat5Games From older version: Retry System (+ multiple checkpoints) v2.06a Link
This version of the patch causes game to crash if used with LX5's custom powerups patch. Earlier versions of this retry patch work with it though.
BaliHalfz From older version: Retry System (+ multiple checkpoints) v2.06a Link
I'm having an issue that is probably something on my end, but I'm patching a clean .smc after having saved in LM, making sure that separate settings for midway entrance was enabled in a level.

The game boots fine and the text box appears with the option to retry, but selecting it makes the screen fade and the game crashes.
caiqueleo From older version: Retry System (+ multiple checkpoints) v2.06a Link
I think I've found a bug.
when you are climbing a rope mechanism and die precioned against a muncher the retry does not work correctly
Romano338 From older version: Retry System (+ multiple checkpoints) v2.06a Link
Everytime I put a version of the retry in any of my hacks it messes up a bunch of stuff. So annoying because it's a great feature.
 Blind Devil From older version: Retry System (+ multiple checkpoints) v2.06a Link
My bad, I left over a test code and forgot to remove. #smw{x_x}

Fixed now.
steppie__ From older version: Retry System (+ multiple checkpoints) v2.06a Link
I might be missing something obvious, but after applying this version of the patch as is to base SMW, collecting a midway started changing the color of the back area of the level. Inserting a new one manually yielded the same result. Help would be appreciated, this is is a fantastic patch otherwise.
 Blind Devil From older version: Retry System (+ multiple checkpoints) v2.06a Link
Works flawlessly, and I absolutely loved the custom midway objects feature. I've just corrected a small oversight with the multiplication routine which didn't include a proper SA-1 counterpart, which caused custom midpoint objects not to work as intended. For anyone using SA-1, please redownload this patch.
King Boo From older version: Retry System v2.03 Link
Originally posted by izaguirrefermin28
I need to remove this patch of retry so I dont wanted to use retry in my rom

Go to Lunar Magic and restore your rom to a previous state before you implemented the patch.
El Cuh Fermin From older version: Retry System v2.03 Link
I need to remove this patch of retry so I dont wanted to use retry in my rom
5003erX From older version: Retry System v2.03 Link
Quick question about this, how do I make it so when I press retry I respawn at the beginning of the level? Currently I just get sent to level 0 which is the 100 star bonus room. I just started rom hacking and I'm having a bit of trouble with basic stuff like this.
worldpeace Author From older version: Retry System v2.03 Link
Thanks for informing me of the issue @GreenHammerBro. I will take it into consideration.

e: ok just checked stuffs. I will add a function that allows to reset custom ram to this patch. Despite that, for the sake of maximum abstraction, I suggest you to modify your pipe code so that the gamemode routine resets those free ram addresses used by pipe when mario's dying, i.e., $71 is set to $09. Preferably .ResetStatus could be called (except for STZ $71).
This could also fix the reset issue which could happen even if you don't use retry, when you die in a pipe(then exit to the overworld) and use $7Fxxxx as freeram for the pipe.
zacmario From older version: Retry System v2.03 Link
The pipes are calling.
HammerBrother From older version: Retry System v2.03 Link
Fix for usage with my screen scrolling pipes. Before this, if you use that with my pipes, you can glitch out and softlock the game if you die while traveling though the pipes, either by when you have freezing flag enabled when the player enters and die at the same frame, or while the player is in the pipe when freezing disabled. Follow these instruction to prevent this:

  1. At the top of the file, paste incsrc "SSPDef/Defines.asm", then copy and paste the FOLDER containing the screen scrolling pipe's define in the same directory as the retry patch itself.
  2. Replace the old SA-1 handling stuff with this:
    Code
    !sa1	= 0
    !dp	= $0000
    !addr	= $0000
    !bank	= $800000
    !bank8	= $80
    !7ED000 = $7ED000		; $7ED000 if LoROM, $40D000 if SA-1 ROM.
    !SpriteSlots	= 12
    
    if read1($00FFD5) == $23
    	sa1rom
    	!sa1	= 1
    	!dp	= $3000
    	!addr	= $6000
    	!bank	= $000000
    	!bank8	= $00
    	!7ED000 = $40D000		; $7ED000 if LoROM, $40D000 if SA-1 ROM.
    	!SpriteSlots	= 22
    endif
    
    macro define_sprite_table(name, name2, addr, addr_sa1)
    if !sa1 == 0
        !<name> = <addr>
    else
        !<name> = <addr_sa1>
    endif
        !<name2> = !<name>
    endmacro
    
    ; Regular sprite tables
    %define_sprite_table(sprite_num, "9E", $9E, $3200)
    %define_sprite_table(sprite_speed_y, "AA", $AA, $9E)
    %define_sprite_table(sprite_speed_x, "B6", $B6, $B6)
    %define_sprite_table(sprite_misc_c2, "C2", $C2, $D8)
    %define_sprite_table(sprite_y_low, "D8", $D8, $3216)
    %define_sprite_table(sprite_x_low, "E4", $E4, $322C)
    %define_sprite_table(sprite_status, "14C8", $14C8, $3242)
    %define_sprite_table(sprite_y_high, "14D4", $14D4, $3258)
    %define_sprite_table(sprite_x_high, "14E0", $14E0, $326E)
    %define_sprite_table(sprite_speed_y_frac, "14EC", $14EC, $74C8)
    %define_sprite_table(sprite_speed_x_frac, "14F8", $14F8, $74DE)
    %define_sprite_table(sprite_misc_1504, "1504", $1504, $74F4)
    %define_sprite_table(sprite_misc_1510, "1510", $1510, $750A)
    %define_sprite_table(sprite_misc_151c, "151C", $151C, $3284)
    %define_sprite_table(sprite_misc_1528, "1528", $1528, $329A)
    %define_sprite_table(sprite_misc_1534, "1534", $1534, $32B0)
    %define_sprite_table(sprite_misc_1540, "1540", $1540, $32C6)
    %define_sprite_table(sprite_misc_154c, "154C", $154C, $32DC)
    %define_sprite_table(sprite_misc_1558, "1558", $1558, $32F2)
    %define_sprite_table(sprite_misc_1564, "1564", $1564, $3308)
    %define_sprite_table(sprite_misc_1570, "1570", $1570, $331E)
    %define_sprite_table(sprite_misc_157c, "157C", $157C, $3334)
    %define_sprite_table(sprite_blocked_status, "1588", $1588, $334A)
    %define_sprite_table(sprite_misc_1594, "1594", $1594, $3360)
    %define_sprite_table(sprite_off_screen_horz, "15A0", $15A0, $3376)
    %define_sprite_table(sprite_misc_15ac, "15AC", $15AC, $338C)
    %define_sprite_table(sprite_slope, "15B8", $15B8, $7520)
    %define_sprite_table(sprite_off_screen, "15C4", $15C4, $7536)
    %define_sprite_table(sprite_being_eaten, "15D0", $15D0, $754C)
    %define_sprite_table(sprite_obj_interact, "15DC", $15DC, $7562)
    %define_sprite_table(sprite_oam_index, "15EA", $15EA, $33A2)
    %define_sprite_table(sprite_oam_properties, "15F6", $15F6, $33B8)
    %define_sprite_table(sprite_misc_1602, "1602", $1602, $33CE)
    %define_sprite_table(sprite_misc_160e, "160E", $160E, $33E4)
    %define_sprite_table(sprite_index_in_level, "161A", $161A, $7578)
    %define_sprite_table(sprite_misc_1626, "1626", $1626, $758E)
    %define_sprite_table(sprite_behind_scenery, "1632", $1632, $75A4)
    %define_sprite_table(sprite_misc_163e, "163E", $163E, $33FA)
    %define_sprite_table(sprite_in_water, "164A", $164A, $75BA)
    %define_sprite_table(sprite_tweaker_1656, "1656", $1656, $75D0)
    %define_sprite_table(sprite_tweaker_1662, "1662", $1662, $75EA)
    %define_sprite_table(sprite_tweaker_166e, "166E", $166E, $7600)
    %define_sprite_table(sprite_tweaker_167a, "167A", $167A, $7616)
    %define_sprite_table(sprite_tweaker_1686, "1686", $1686, $762C)
    %define_sprite_table(sprite_off_screen_vert, "186C", $186C, $7642)
    %define_sprite_table(sprite_misc_187b, "187B", $187B, $3410)
    %define_sprite_table(sprite_tweaker_190f, "190F", $190F, $7658)
    %define_sprite_table(sprite_misc_1fd6, "1FD6", $1FD6, $766E)
    %define_sprite_table(sprite_cape_disable_time, "1FE2", $1FE2, $7FD6)
    
    ; Romi's Sprite Tool defines.
    %define_sprite_table(sprite_extra_bits, "7FAB10", $7FAB10, $6040)
    %define_sprite_table(sprite_new_code_flag, "7FAB1C", $7FAB1C, $6056) ;note that this is not a flag at all.
    %define_sprite_table(sprite_extra_prop1, "7FAB28", $7FAB28, $6057)
    %define_sprite_table(sprite_extra_prop2, "7FAB34", $7FAB34, $606D)
    %define_sprite_table(sprite_custom_num, "7FAB9E", $7FAB9E, $6083)
  3. Under ResetLevel scroll down till you see this:
    Code
    .musicend
    
    	STZ $141A|!addr
    	if !loose_lives
    		DEC $0DBE|!addr
    	endif


    After that but before the RTS, place this:

    Code
    .ScreenScrollingPipeHandle
    	LDA !Freeram_SSP_PipeDir		;\If outside of pipe, don't do anything
    	BEQ ..OutsideSSP			;/(this needed in case if breaks carrying sprites while exiting normal pipes)
    
    ..ResetPipeStatus
    	LDA #$00
    	STA !Freeram_SSP_PipeDir		;\Reset pipe state.
    	STA !Freeram_SSP_PipeTmr		;|
    	STA !Freeram_SSP_EntrExtFlg		;/
    
    ..DeleteCarryingSprite
    	LDX.b #!SpriteSlots-1
    
    	...Loop
    	LDA !14C8,x				;\If sprite not carried, check next sprite
    	CMP #$0B				;|
    	BNE ....Next				;/
    	STZ !14C8,x				;>Delete carried sprite.
    
    	....Next
    	DEX
    	BPL ...Loop
    
    ..OutsideSSP


It might also wise to be sure that some RAM address to be reset or set to a certain value when the player dies, as not all RAM addresses for those patches will be set when the player dies and respawn.

HammerBrother From older version: Retry System v2.03 Link
Due to having multiple init in this patch, I suggest using uberasm level init, and use STZ $xx/$xxxx or LDA #$00 : STA $xxxxxx, where x is the freeram of the offending patch. For some reason dischord, I cannot find people messaging me, there is one person who contacted me that there is a glitch with my screen scrolling pipes, that if you enter them the frame you die, upon respawn, the pipe status isn't reset.
HammerBrother From older version: Retry System v2.03 Link
Just be careful that things like my screen scrolling pipes and other stuff that uses Freeram, you may want to add a code to reset them, as some RAM addresses don't when dying.
yygdrasil From older version: Retry System v2.03 Link
how disable song ?
Sonic_BR From older version: Retry System v2.03 Link
Uh...sorry i'm beginner. How i can apply this?
trillian From older version: Retry System v2.03 Link
Edit: removed screenshot in zip.
worldpeace Author From older version: Retry System v2.03 Link
You can get a new version from https://www.smwcentral.net/?p=section&a=details&id=16304
It's almost same as the version in kldc base rom which had a number of testers, so I guess it's safe to replace the old one right now.
7 up From older version: Retry System v2.03 Link
Thank God worldpeace has made this patch. There's only one problem: ON/OFF switchers don't reset when you die. Maybe you can make a new version where ON/OFF switchers reset after dying.
worldpeace Author From older version: Retry System v2.03 Link
This version has a couple of serious bugs which I already fixed for KLDC base rom, but I'm not ready to release the next version because I've been too busy. Things changed/added in the next version are:
- no yoshi entrance glitch which MarioFanGamer mentioned
- a glitch that restarting a level sometimes skips loading music sample when it's not supposed to do
- a way of escaping levels when you use the "no window" option (start+select)
- some minor inconsistency with pipe entrances
- other things I cannot remember

Response to MarioFanGamer:
- About the glitch that always brings you to the main entrance, if I remember correctly, that happens only when the level is unchanged vanilla, which might not be the case any hack encounters. However I might as well check this again when time allows.
- I found it is easier to manage midways with Kaijyuu's version, especially when I had to handle a huge project. It's because I could edit the midway positions by just dragging the entrances in LM, which is more efficient and intuitive than editing a text of coordinates. I also believe that all of 512 secondary entrances won't be used in most cases. (But I agree Kaijyuu's version could have been better by not using the table of a fixed length)
- I made the sprite initial facing routine work like that because I wanted this patch could be applied to hacks in progress, without corrupting existing levels (levels which might exploit the initial facing bug, and levels where the sprite initial patch was already inserted conversely)
 MarioFanGamer From older version: Retry System v2.03 Link
Especially if you create harder or even Kaizo hacks, this patch is one of them which you should keep in mind. That way, you increase the flow or playing because you don't return to the overworld the whole time if you die (which happens a lot in these hacks, btw).

But first we come to the negative points:
Because of the windowing/ masking and layer 3 stuff a la message boxes, it naturally has got a couple problems with these (though layer 3 just disappear" but also Mode 7 (and technically the other BGM but they're rare, the tilemap also disappear similar to layer 3) and some kinds of colour maths (e.g. these in the dark rooms in Bowser's Castle). But these are comparably minor, since they only disappear for a short time anyway.
There is a different story regarding the midway points: If you restart a level, you will be put to the main entrance regardless on whether you passed the midpoint or not. The only way to fix that is to give the midway point seperate attributes in Lunar Magic. You don't need to make every midway and main entrance seperated, only the hijacks are required since the.
It also hijacks the routine which branches to the message box messages. That is a problem since patches which modifies the message system (e.g. message box expansion) uses the same hijack. It'll be nice if you've found a workaround for that.
Speaking of incompatibility: I personally find imamelia's MMP better so it's a pity that you can only use Kajyuu's version.

Now we come to the two bigger problems:
  1. The first problem is that if you reenter a level with a no-Yoshi entrance, it not only plays again even with the midway point, it ends up being glitched. It's fine without the midway point but with it is a different story.
  2. The second one is that the patch somehow messes up Mode 7 bosses. But only if you have activated the extra checkpoints their rooms. It's fine if they're placed outside but once you activate them in the mode 7 rooms, they'll start to glitch. If the check isn't set than the graphics work fine.

Both only appear if one doesn't use MMP.

I also am not really happy about the included sprite init facing fix since you have literally put the whole patch in the retry patch with the exception that you added checks that this fix only applies if you use the restart. Very unecessary, especially since you can easily remove the conditions. Either have this included with the patch or leave it out but please, don't do this (at least I wouldn't do this).

However, the most impressive point is on how the code reads from the ROM itself and not with the Asar-conditions. That way, you don't have to repatch the retry patch everytime you use the other patches or tools, though I would have used Asar conditions at some places instead.
I know, using Asar condition reduces the user-frendliness a bit but saves a couple of ROM space, not to mention that it makes sense at some places.

All in together, I went to accept it but keep the two major problems in mind.
bandicoot From older version: Retry System v2.03 Link
Very useful patch, the best advantage is fast back to action and the checkpoint system that can aliviate the frustation with hard hacks.
But it's not recomended use this on hacks that use Layer 3 or hdma because the prompt make them disapear.
But of course you can use the option that automatically respawn Mario from the last checkpoint, but I'd like to hear the death jingle for that option too.