Points of Required Attention™
The final release of Zelda - The Legend of Link, a hack by infidelity, is now available!
Get it here.
Views: 38,723,724
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 12-20-14 05:21 AM
Guest: Register | Login

0 users currently in ROM Hacking Related Releases | 2 guests | 1 bot

Main - ROM Hacking Related Releases - Tetris Zero (Final Version) Released *UPDATED 4-17-13 To V2* New thread | New reply

Posted on 11-03-12 10:39 PM (rev. 10 of 04-17-13 09:11 PM) Link | Quote | ID: 152794

Level: 51

Posts: 286/699
EXP: 972157
Next: 41781

Since: 05-24-07

Last post: 75 days
Last view: 53 days
UPDATE 4-17-13

It was brought to my attention, that my SRAM was all messed up within my game, when it was running off of a TKROM board, and within Nestopia. I have went back and fixed this issue.

I have removed the older version from Uploader.

Here is the newer version for TKROM boards & Nestopia.

Tetris Zero (MMC3_118_v2)

For detailed info on what i did, ive included a .txt file within the .zip.

Original Release Announcement Below
Last year I released a little hack i performed on Tetris called, "Tetris Zero"

Last month, i received a message from a fan of my work, who wanted to see if i could revisit what i made, and try to improve on it, game play & graphics wise. But most importantly, the main reason was that he wanted this to work properly on an actual NES.

I remembered some of the thigns that i did, went back to my old notes, and since that time, my asm had gotten better, and certain things that i couldn't pull off then, i could pull off now.

So in case many of you had forgotten what i did, i will briefly re-explain, and then explain the newly enhanced version from my last version.

I wanted to bring a 2 player mode to the Nintendo version of Tetris. While i was working on it, I discovered a hidden 2 player mode using register $BE. But alot of functions were missing. The only function the was done by Nintendo, was the player 2 controller to control the 2nd players piece.

I had to write custom code, to allow a slew of things for player 2, and for certain things to coexist with player 1's asm. Specificly giving player 2 the ability to choose his/her own starting level/height, like i accomplished in my last version.

With this version, i went all out.

First the rom specs.

1. Converted the rom from MMC1 to MMC3's alternative 118 *needed because Tetris uses special mirroring that MMC3 doesnt have, but 118 does, and, i needed the extra PRG space to perform all of my custom asm*
2. Expanded PRG to have 2 additional PRG banks
3. Had to create a custom bankswap routine, since no bankswap was present in original rom *$10-$4000 & $4010-$7FFF originaly*

Now these are the new features that i have added to Tetris.

1. Enabled 2 player mode
2. Created custom controls for 2nd player on non & in-game screens
3. Created custom designs for A/B-Type 2 player mode
4. Created asm to allow 2nd player to have stats shown on in-game screen

The next feature, #5, i'm really proud of cause i've never done this before in a rom hack on my own, and it flipping works, emulation and on NES hardware!

5. Made it so players can save they're high scores using SRAM

Explanation - Tetris has a Top 3 scoring system for both A/B-Type screens, giving you a total of 6 individual high scores. I've completely rewritten the asm, so that the 2 player mode is taken into consideration, giving you 6 more high scores in the game. So that means, Tetris Zero has 12 individual names/scores! 3 scores for each mode (A-Type 1 player) (B-Type 1 player) (A-Type 2 player) (B-Type 2 player) And they all save, and all load back up properly! I performed power off on FCEUX, restarted, and the names/scores were there. I also performed this on an actual NES using a powerpak, and it saved/loaded everything!

6. Player 2 has the ability to write his/her name into the scoreboard
7. Added a new gameplay feature to the B-Type Mode

Explanation - In B-Type mode, in order to win, you have to clear 25 lines. I made it so now you have the ability to choose how many lines you wish to clear. You can choose from 01-80 lines to clear. I personaly love this idea, and i'm very proud of it. :-)

8. Player 2 now has the ability to obtain it's own game piece, no longer sharing/stealing from player 1
9. Player 2 now has a properly NEXT piece box, along with working select button to enable/disable display
10. Player 2 now has the ability to select an additional +10 levels from what he/she chooses from A/B-Type

Explanation - In Tetris, player 1 can hold the A button down when he/she has level 0-9 highlighted, and when he/she presses start with A held, you start +10 levels from what you selected. I made it so player 2 can do the same thing. However, this can only be done while player 2 holds down the B button. When player 1 presses start, player 2 needs to have the B button held down, in order for him/her to get to the +10 level. I was experiencing issues with FCEUX 2.1.2, with both A buttons held down by player 1 & 2, and when player 1 would try to press start, nothing would happen. I watched the hex viewer while holding/pushing, and it just wouldn't register, but it would register on an actual NES. So to be safe, i just made it so player 2 holds down the B button.

Now some screenshots

And here is the .ips

The .zip includes an .ips of Tetris Zero, and a .sav file for those who own a powerpak for the NES.

If you own one of those powerpaks, that allow you to play roms on an actual NES, you will need that .sav that i included. For those who run this rom on an emulator, on pc/wii/ps3/360/psp/ds, etc, you don't need it.

I hope all of you enjoy this, and like the new features that i have implemented into it! :-D


Posted on 11-04-12 11:33 AM Link | Quote | ID: 152806

Level: 8

Posts: 2/13
EXP: 1537
Next: 649

Since: 01-08-12

Last post: 420 days
Last view: 507 days
Wow, so much rewritten or addes asm... really well done! I especially like the save highscore feature. If this would be present in the GB version I would have to remove the GB from the bathroom if there are visitors.

Posted on 11-05-12 12:09 AM Link | Quote | ID: 152807

Level: 51

Posts: 287/699
EXP: 972157
Next: 41781

Since: 05-24-07

Last post: 75 days
Last view: 53 days
Hahaha! Thank you RetroHelix! I loved the GB version as well, especially the music. Maybe i'll revisit the sound engine once i finish my work on Zelda. The first song in the GB version, i absolutly love!

Posted on 11-08-12 07:30 PM (rev. 2 of 11-08-12 07:31 PM) Link | Quote | ID: 152814

Level: 19

Posts: 28/96
EXP: 35700
Next: 77

Since: 01-09-11
From: United States

Last post: 52 days
Last view: 48 days
This looks quite impressive, might want to give it a spin when I have free time.

Posted on 11-08-12 07:49 PM Link | Quote | ID: 152815

Princess of the Night
Level: 42

Posts: 422/442
EXP: 496837
Next: 24525

Since: 02-21-07
From: Equestria

Last post: 288 days
Last view: 179 days
So this is done? If so I can move it to ROM hacking releases forum.

The fun has been doubled!

Posted on 11-09-12 02:40 AM Link | Quote | ID: 152816

Level: 51

Posts: 288/699
EXP: 972157
Next: 41781

Since: 05-24-07

Last post: 75 days
Last view: 53 days
Thank You Superjustinbros. And Thank You Lunaria for relocating this thread! :-)

Posted on 12-01-12 01:01 AM Link | Quote | ID: 152951

Level: 19

Posts: 33/96
EXP: 35700
Next: 77

Since: 01-09-11
From: United States

Last post: 52 days
Last view: 48 days

The only things that I find odd, is right after I patch the rom and start up Tetris Zero, the awkward default high score that keeps appearing (606,060 points), and the "Original Scores" setting on the setup menu. I'm using NEStopia, since it's the best-quality NES emulator available on a Mac IMO.

Posted on 04-20-13 10:58 PM Link | Quote | ID: 153739

Level: 51

Posts: 357/699
EXP: 972157
Next: 41781

Since: 05-24-07

Last post: 75 days
Last view: 53 days
Updated to v2. Please check top of thread. Now works in Nestopia.

Posted on 10-09-13 10:46 PM (rev. 2 of 10-09-13 11:05 PM) Link | Quote | ID: 154909

Red Paragoomba
Level: 16

Posts: 1/64
EXP: 17194
Next: 3062

Since: 11-18-11

Last post: 95 days
Last view: 16 hours
Hi there Infidelity, great hack! Few notes on it though:

The high score list doesn't push the old scores down anymore like it's supposed to. I have a tendency to beat my old scores by little bits at a time, so it'd nice to see the score I beat get pushed down to the next rank.

It says to push "A button" for original scores, yet I can only change that option with the select button. Edit: I figured this out, it's select and THEN the A button. A readme might make this a bit more clear.

When both players score enough points to get on the leaderboards, only the highest scorer gets to put in their score. I'm not sure if this is intended or not, or if it'd be too hard to code to allow both players to enter their names at the same time/back to back

In 2 player mode, if you get enough points for the rocket sequence, it ALWAYS shows the score of player 2, even if player 2 had 0 points.

Other than that, it's looking pretty solid. I could use this for my regular Tetris practice.

Posted on 01-29-14 07:15 PM (rev. 2 of 01-29-14 07:19 PM) Link | Quote | ID: 155561

Level: 2

Posts: 1/1
EXP: 18
Next: 28

Since: 01-29-14

Last post: 324 days
Last view: 252 days
Infidelity, you did a great job with this hack and I can see a lot of work went into it. I too have always wanted a 2-player mode in the NES version of Tetris.

In your post, you mention the hidden 2-player mode located at $00BE in the original, non-hacked ROM. In that unfinished 2-player mode, there is one feature that is not present in your hack, and I'm wondering why you chose not to implement it. In the hidden mode, if one player achieves a double, a triple, or a Tetris, a number of garbage lines appear at the bottom of the opponent's screen. This is analogous to the garbage blocks that fall from the ceiling when a player achieves a combo in SNES Tetris Attack, and in my opinion, it is the thing that makes the mode truly interactive between the 2 players.

(The garbage lines are full except for one straight line gap through them, which makes it makes it possible for the opponent to exact revenge by achieving his or her own combo by simply filling that gap with a straight Tetrimino.)

I would be thrilled if you would implement something like that in Tetris Zero, although I do notice the word "Final" in the thread title here....


For those of you interested in trying the unfinished 2-player mode that exists in the original ROM, here's what to do:
1. Read about it in this article at Meat Fighter, and make sure you're still interested. The mode is unfinished! The colors are messed up and the 2nd player's screen is partially obscured!
(I am not the author of that article, nor am I nearly as knowledgeable as he or she is.)
2. Acquire a ROM of the regular, common Nintendo Tetris (US) for the NES.
3. Download the emulator FCEUX for free at http://www.fceux.com/web/home.html
4. Open the Tetris ROM in FCEUX and while it's running, click on Debug -> Hex Editor...
5. You are now viewing the NES memory.
6. Click on File -> Goto Address....
7. Type "00BE" (those are zeros, not ohs) and click OK.
8. What should now be highlighted is the 15th entry in a row labeled "0000B0". The value at that entry should be "01". If it isn't, something has gone wrong and may God help your poor soul b/c I have no clue.
9. Don't click anything! Type "02" to change the "01" to "02" (as in, there will be 02 players).
10. Play the game.
11. The number of players will reset to 01 after a single game is played, but you can just manually set it back to 02 again.

Main - ROM Hacking Related Releases - Tetris Zero (Final Version) Released *UPDATED 4-17-13 To V2* New thread | New reply

Acmlmboard 2.1+2δ (2013-07-21)
© 2005-2012 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.304 seconds. (919KB of memory used)
MySQL - queries: 81, rows: 103/0, time: 0.078 seconds.