# Josh's NES Tetris Hacks and Mods

Thread in 'Research & Development' started by Josh Tolles, 2 Jan 2016.

1. ### Josh Tolles

Oh....Ok I got it...Never thought of setting gravity counter behind #00.

The pre-gravity is actually controlled by $004E, the "down" autorepeat timer. At$98E6, #00 is loaded and written to $004E during spawn. I can change that to #F6, which makes it "float" ten frames, but$0045 is also counting, so it drops as soon as $004E reaches "00". SNES adds ten frames in addition to the normal gravity frames. So I could change it to #F4 which would work for Level 19, or #F3 which would work for 18, etc. but nothing universal. That's not to say$0045 can't be written to #F6. But the pre-gravity function won't work.

Edit:
So I found where $0045 get set to #$00 during spawn: at $98BA. Problem is,$00A4 and $0041 also get set at the same time. Not sure what$00A4 is, but $0041 is sprite position. Can't mess with that! Edit 2: Eureka! I figured it out. I'll swap out$0045 and $004E at their respective "reset" positions.$004E will get reset to #$00 at$98BA and I'll use $98 E6 to set$0045 to #$F6. Edit 3: Boom shaka laka, baby! SNES gravity rules for NES: TKUONAIK VNVPNAAA IKVOOETG I don't know what good it is, except it makes NES incredibly easy. I got a 800k off a 19 start the first time I tried it. It eliminates the killscreen, which is nice, but, again, it that would make maxing a lot easier. What the hell, I guess it is something that makes the game funner! Last edited: 22 Apr 2017 Kitaru likes this. 2. ### Josh Tolles I wrote a new ROM mod that makes piece distribution more even. The original program can be seen here: Basically, the game "rolls" a number between 0 and 7. 0, 1, 2, 3, 4, 5, and 6 represent pieces T, J, Z, O, S, L, and I A "7" doesn't correlate to any Tetris piece, and is an automatic re-roll. I had an idea to turn 7 into a longbar, but kitaru suggested assigning it to the least frequent piece, which I thought was brilliant. I couldn't come up with a simple way to do it, but I wrote up a program that finds the least frequent piece and it seems to work ok. Basically, I "hi-jack" the program and send it to an unused portion of the ROM on the event that a a 7 comes up: This is the new program.$D700 is the start of the program that detects the least frequent piece. Ties go to the first number checked. ($D6F6-$D6FD is for a re-roll on a repeat of the previous piece.)

I may re-visit this and go into more detail, but I ran out of time for now.

FerSave and Burbruee like this.
3. ### ybwott

Hey! Do you have the rom with hard dropping, holding, and t-spinning yet?

Raul1138 likes this.
4. ### AtomiswaveSD

I'm interested in trying it out as well. Would be nice if you can share IPS patch

Raul1138 likes this.
5. ### GyRo

I haven't parsed the entire thread, so forgive me if it's already been mentioned, but I would love to play some NES Tetris with the TGM1 randomizer. Any chance we could see that here?

6. ### Sumez

Not with a game genie code, but it should be a fairly easy hack.

7. ### Rory76

Hi there, sounds like you guys are doing great work.

Are there any modded ROMs that simulate the CTWC game, with drought counter, etc?

Last edited: 2 Dec 2019
8. ### d4nin3u

I'm not entirely sure, but what you're probably referring to (drought counter) is not part of the game but rather part of the overlay/software that redraws the game states for the stream with added stats and information.
That's also the reason why the CTWC stream can show HD/Full HD footage for a 256x240 game.

There are definitely some other ROMs with built-in stats, but someone else has to help you with that.

Rory76 likes this.