# NES and Tetris + Dr. Mario

Thread in 'Strategy' started by Kitaru, 21 May 2010.

1. ### Kitaru

As some of you already know, I've been researching some of the Nintendo family Tetris games a bit. NES Tetris and its remake on Tetris + Dr. Mario have some very peculiar features with regards to DAS:
1)The DAS counter does not reset to zero when input is neutral. (I call it "neutral stored DAS.")
2)DAS charging is completely dead during ARE/Clear.
3)DAS charge is immediately filled on blocked shifts. (I call it "wall charge.")

Demonstration of the DAS mechanics

From #1 and #2, you may notice that the only other time DAS would be able to reset is if you press left or right during active time. The DAS timings in both games are 16 frames initial delay with 6 frames between shifts after that. With the majority of play being at 1/2 G, you really don't want to have to deal with that 16 frame start-up. As a DASer, your ideal placements would be at the wall, neutral, or -- if you feel comfortable doing so -- tap placements achieved through DAS skill stops.

The neat thing about wall charge -- and what I presume to be its originally intended use -- is that it guarantees pre-loading of slides. I have a feeling the programmers recognized that DAS should behave consistently in this case. It is no replacement 60hz rate, but I'm grateful for it nonetheless. The other wonderful thing about it -- as you may have guessed -- is that you can use it to pick up charge if you had to compromise with a tap.

Bear in mind that a pre-loaded slide will leave you with 10 frames on the counter if you're playing at level 19 speeds. If 6 frames will make or break your next placement... well, I'd just hope it doesn't come to that, haha.

Also note that the pieces spawn one column further to the right than usual. Couple this with strictly right-handed rotation tables for S/Z/I and you'll find that placements on the right tend to be easier to reach. Use this information as you will. Sometimes I'll attempt to use a placement on the right to charge DAS for an upcoming placement on the left. I'm not sure if this is advisable, but it seems to work sometimes, haha.

Another one of my "scrub optimizations" I sometimes implement is to DAS as much as possible to the walls to fill out each side of the stack and work in the middle afterward.

One of the things to note about Tetris + Dr. Mario is that every piece has a post-ARE 12 frames of active time where gravity has no effect. This means you can resist the 1G speeds much more effectively as a DAS user than you would be able to in the NES version. However, it is still quite a tall order to fill, haha.

The full list of timings, for reference:
NES:
ARE: 10~18 frames (based on lock height of previous piece)
Line Clear animation: 17~20 frames
No gravity: 96 frames, first piece only

SNES (T+Dr.M):
ARE: 25 frames
Line Clear animation: 26 frames
No gravity: 11 frames, every piece*

*(Visible for 12 frames but not active on the first frame.)

Both games:
DAS: 16 frame initial, 6 frames between shifts

Last edited: 17 Mar 2012
2. ### AmnesiaPiece of Cake

I am not sure if I am mad or not, but I would have bet, when I was intensively playing T&DR M, that the DAS charging had a random behaviour, it is really hard to explain, it is something we can notice after a lot of failed attempt at the level 29+, sometime my piece was well charged and had no problem to get the wall, and other time where I was sure to had planned well above my move, I could see that my piece had no chance to get the wall.
Maybe a detail to analyse or I am mad.

3. ### Kitaru

It could be attributed to a variety of the behaviors described above. Accidental wall charging leads to some pieces being unexpectedly well charged to reach their destination.

Also, I wanted to point out something I read in a YouTube comment by Jonas, one of the few players to max out NES Tetris. If a DAS'd piece is going to fall short of its destination, wait until the last second and give it one last tap. What you're effectively doing is sacrificing your DAS charge to push it slightly over a 10hz repeat rate rather than wait for the next iteration. Luckily, you'll probably have an opportunity to get wall charge and have things ready for the next piece if you're throwing a piece over that far.

4. ### Zaphod77Resident Misinformer

Wow. a tetris game predating Kiwamemichi has the feature of delayed gravity.

5. ### tepplesLockjaw developer

I seem to remember that a phenomenon similar to "neutral stored DAS" exists in some TGM games. I learned about it from the same reference that explained "DAS bald spots" at various points in ARE.

It appears The New Tetris for N64 also has wall charge to an extent, apparently to make up for the pieces' larger-than-usual hitboxes associated with the way TNT64 implements smooth gravity animation. Carbon Engine (used in freepuzzlearena and TOD) had wall charge, but I never got around to putting it in Lockjaw Engine before Flag-gate put Lockjaw and LJ65 on hiatus because 1. I figured that most players would be using 60 Hz DAS anyway, and 2. the only mode that requires a lot of precision sliding is square gluing mode.

"One of the things to note about Tetris + Dr. Mario is that every piece has a post-ARE 12 frames of active time where gravity has no effect."
Lumines has spawn-float too, to a much greater extent. In my clone, I set the spawn-float time equal to the time needed to fall 6 rows. At the end of ARE it does this, where state_time is in frames and y_speed is in rows per 65536 frames:
Code:
        u.state_time = 0x60000 / g.y_speed;
u.state = LU_FALLING_PIECE;
Then it ignores g.y_speed until u.state_time has expired.

7. ### cyberguile

nice video but... the topic is about tetris in the tetris and dr mario compilation

8. ### Josh Tolles

Hmmm...a last moment tap? That could change everything, if properly mastered. If I had a nickel for every time I was SURE that I had enough DAS charge to get a piece where I needed, but actually did NOT, well I don't know how much money that would be, but a quick estimate suggests I would have at least \$3,000.00 ....My usual response is to just watch helplessly as the stupid tetramino shifts over whilst being one space lower than it is supposed to be, and gingerly land one column right of its destination, creating an insurmountable wall that can never be hopped over, as tears fill my eyes. But a last split second tap? In that second frame? To "hop" the last space? Is that possible?????

Also, in SNES, I could've SWORN that I was charging DAS whilst waiting for line clear and ARE....but perhaps I was mistaken by 12 frames of no gravity??

9. ### Zaphod77Resident Misinformer

Yeah with slow autoshift, you can actually beat the autoshift and squeeze out one extra column by releasing the pad when it's one short and then tapping.

Of course this ONLY works if it's going to land one short without it. Otherwise you need to hypertap from the start.

10. ### Kitaru

Yeah, think of it like getting one more tap in during that time you'd normally be waiting for the next move -- that way it gets in before the piece touches the ground. The cost is that you lose your momentum to the tap and -- barring a _second_ extra tap for a tech recovery off the wall -- are now in an extremely dangerous position, but it's better dooming yourself to failure. Go for broke!

As far as I can tell, the SNES behavior just seems like there is charging because of the extra "hang time." I haven't picked it apart at length (read: disassembly), but my initial experimentation seemed to indicate that (if nothing else) you couldn't pick up a full charge across entry delay.

11. ### Josh Tolles

So jinxed right now. Sooo many times these last couple days I died because of failure to shift far enough/DAS charge sufficiently. Still haven't got the extra tap to work out for me :/

12. ### BenMullen

that extra taps works only once in a while for anyone (including jonas so far as what he said). I thinks its just too much to master it. Best to stay within the confines of a full DAS charge. I also think that doing it, unless you can wall charge with that same peice, will kill of all your charge.

13. ### Josh Tolles

I just thought of something that could potentially be way easier than an extra tap. This is more or less only referring to a longbar, which is the piece that typically kills me when it fails to reach the side of the matrix. When I see it is going to fall short, I should just flip back horizontal, which makes an easily clearable line.

Or learn to not flip it at all unless it is going to make it, but I usually flip pretty early, so I will have to go back and re-train myself to wait to flip and study what it looks like when it is going to make it and when it is not.

The same could be done for L's and J's, which can also end games when stacked vertical and short of desired column.

Everybody else probably already does this, but it was a revolutionay thought for me!

14. ### BDCowe

Ok, Alex. I'm going to break some stuff down like I have no clue of what I'm talking about because, um, that might be the case.

I feel dumb starting here, but if I'm thinking about this wrong, it's going to affect my other questions. Let me put it this way: 16 frames to move one cell horizontally and then 6 frames to move one cell horizontally thereafter. Yes?

Assuming my understanding above is correct, I may be confused about your "6 frames" remark. Here's how I'm interpreting that: "If you were counting on having 6 frames when the next piece starts moving and not 10, um, sorry about all that." Does that sound right?

With charged DAS, pieces start further right than if you have no stored DAS?

All of that being said (and possibly wrong), I have a separate question that I was wondering about in the NES A-Type thread. This is basically a copy/paste, so forgive me if you answer this over there and then find it here. Here we go:

I clear a line(s), holding left w/ seemingly full DAS, but when the next piece appears, it won't make it to the side as the previous piece did. I'll have to pay attention the next time it happens, but a DAS reset (if you will) isn't immediately perceivable to me. The situation occurs when I am holding to the left and never take my thumb off of the D-pad. If I don't clear any lines, holding left from piece to piece maintains my DAS charge, as it should.

I have no idea if that makes any sense to anyone, but I'm stumped on that one. When I think about holding to the left to clear a line and not having to take my thumb off to actually place the piece, it seems like a funny situation overall. Maybe I'm doing something that I haven't noticed...

Continuing to think about this, I have to be making it to the left wall or slotted in some way to clear something, so I remain perplexed on why the next piece wouldn't seem to move as far left...unless this is the "fully charged DAS starting a piece further right" thing, if I'm even understanding that correctly. I also may just be missing something completely.

So...yeah. I'll stop asking questions now.

Last edited: 26 Mar 2013
15. ### Kitaru

Don't feel dumb, it's a great question -- best place to start is the beginning! Yes, that's right. The piece of course moves instantly for each tap, but after that first tap shift you have 16 frames to wait for the first autorepeat move, after which they come every 6 frames after.

In this case, it's a difference between having full charge and slightly less full. Every time a move occurs, the way it "sets the schedule" (as it were) for the next movement is to set the counter back to 10 so it must tick back up to 16 -- a 6 frame wait. Whenever you "have DAS," you're somewhere on a spectrum of 0~6 frames from the next move -- you're either closer to the negative/falling edge or the positive edge.

If you buffer a slide under a tight space at Level 19, the move "schedule" changes slightly given that the first move of autorepeat happens right before lockdown. If you have full DAS, you'll see move, 3 row falls, repeat. If you buffer that slide, we need to back up to the previous piece to have an idea of the move order: you buffer the move and have 16, it drops next to the space to slide into and moves and leaves you with 10. Then, I suppose I wasn't considering that you have another tick before the piece locks into place -- in that case, I suppose the next piece should enter with 11 on the DAS counter, or 5 frames before the first move. I'll try to make a comparison GIF or diagram slides or something. But, if I did this right, entering with 11 frames on the counter should yield: 2 row falls, one move, followed by one row fall on the very next frame, repeat.

They spawn from the same position, but they'll reliably be able to make the first move before the first row fall -- except at Level 29, I suppose, haha. Level 29 would be a fall then move on the first active frame, five row falls, fall then move on the same frame, five row falls, ... .

Yeah, hard to say if you're not letting go of left. It could be that after the last move it's not ticking back up the full 6 before landing in the given configuration? I guess I'd have to see a given situation to make a more informed guess.

Hope that helps. Feel free to ask any other questions as they come to mind.

16. ### BDCowe

Very cool. I think I'm getting a better picture in my head. In fact, much of what you described with regards to what you see in the next piece coming out with DAS made sense to me. Just to put a slightly finer point on it, when you say "buffer," do you mean having reset the DAS counter? If so, I'm with ya.

Between my mini break from high score attempts and relatively moderate scores in general, I hadn't been planning on recording my play. Starting to talk out more of these intricacies, though, I think I'm going to start doing that. Maybe I can capture this phenomenon I'm referring to with the whole "holding left/next piece fail" thing.

Thanks a ton for your help. Getting to play with outstanding players at MGC and getting assistance on the boards is really helping to push me along. It's appreciated, for sure.

17. ### Kitaru

Slides under things are "bufferable" actions. In a "video game-y" context, that is to say that there is a way to input them early and let them come out on the first available frame.

By holding against a wall, the piece will automatically slide into the open space as soon as it falls to that height. This costs you your "positive edged" DAS sitting at 16 and drops you down to the falling edge of 10, and at high speeds won't count up enough to have full-full DAS again. So, the cost of buffering slide moves isn't as high as "whoops I tapped over on accident and lost all my 'momentum' completely," but it can still come into play.

That would be excellent.

Sure thing, you're more than welcome.

18. ### BDCowe

Gotcha. I know my buffering restatement wasn't well said, but I think what you're saying is similar to the picture in my head. You are a wealth of knowledge, man. I guess I should get to playin'...

19. ### BDCowe

Ok. Here's one of those "DAS Fail" things...or whatever's actually happening. I move an I piece over a T. The next I piece fails to get over the T as the first I piece did. I'm holding left the whole time and never take my thumb off of the D-pad. Maybe there is a relatively straightforward answer to this, but i just don't know what to think about it.

Last edited: 10 Apr 2013
20. ### Edoa.k.a. FSY

The first I piece enters with probably close to 16 on the DAS counter, however, as the image below shows, it shifts into its final position immediately prior to lockdown, meaning that the next I cannot possibly enter with any more than 10 or 11 on the DAS counter. (I assume the I piece appears 5 squares long as a result of video capture/processing). I'm guessing that it's these few frames that are making the vital difference.