Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,485,238
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-26-24 04:55 AM
Guest: Register | Login

0 users currently in ROM Hacking Related Releases | 3 guests

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


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


Fuzz Ball
Level: 66

Posts: 286/968
EXP: 2368005
Next: 93846

Since: 05-24-07

Last post: 958 days
Last view: 814 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)
http://acmlm.kafuka.org/uploader/get.php?id=4409

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
REMOVED AS OF 4-17-13. OBTAIN LATEST IPS AT THE BEGINNING OF THIS THREAD

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

-infidelity

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


Micro-Goomba
Level: 9

Posts: 2/13
EXP: 3141
Next: 21

Since: 01-08-12

Last post: 3835 days
Last view: 3922 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.

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


Fuzz Ball
Level: 66

Posts: 287/968
EXP: 2368005
Next: 93846

Since: 05-24-07

Last post: 958 days
Last view: 814 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!

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


Koopa
Level: 24

Posts: 28/105
EXP: 74972
Next: 3153

Since: 01-09-11
From: United States

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

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


Deddorokku
Princess of the Night
Level: 47

Posts: 422/442
EXP: 736023
Next: 30180

Since: 02-21-07
From: Equestria

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

____________________
The fun has been doubled!

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


Fuzz Ball
Level: 66

Posts: 288/968
EXP: 2368005
Next: 93846

Since: 05-24-07

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

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


Koopa
Level: 24

Posts: 33/105
EXP: 74972
Next: 3153

Since: 01-09-11
From: United States

Last post: 3198 days
Last view: 2446 days
Anytime.

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.

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


Fuzz Ball
Level: 66

Posts: 357/968
EXP: 2368005
Next: 93846

Since: 05-24-07

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

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


Red Paragoomba
Level: 19

Posts: 1/64
EXP: 34508
Next: 1269

Since: 11-18-11

Last post: 3510 days
Last view: 2988 days
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.

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

Newcomer
Level: 3

Posts: 1/1
EXP: 61
Next: 67

Since: 01-29-14

Last post: 3739 days
Last view: 3667 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!
http://meatfighter.com/nintendotetrisai/#2_Player_Versus
(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.

stopXwhispering
Posted on 01-28-15 04:15 PM Link | Quote | ID: 159398

Newcomer
Level: 4

Posts: 1/2
EXP: 164
Next: 115

Since: 01-28-15
From: Europe

Last post: 3374 days
Last view: 3331 days
Where should I turn to get this awesome Tetris Zero game ported to an actual NES cartridge?

____________________
www.retro-video-gaming.com

kuja killer
Posted on 01-28-15 05:00 PM (rev. 3 of 01-28-15 05:02 PM) Link | Quote | ID: 159399


Level: 55

Posts: 431/628
EXP: 1243850
Next: 70339

Since: 03-20-07
From: Lake Havasu City, Arizona

Last post: 281 days
Last view: 7 days
I have a question too.

How on freaking earth does this thread have nearly 200,000 views ??? haha so awesome

but only 9 replies ... (NOT including me) ..that doesnt make any sense at all.
There should be like a hundred replies here with that amount of total views...

ShaneM
Posted on 01-28-15 07:21 PM (rev. 2 of 01-28-15 07:21 PM) Link | Quote | ID: 159400


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 268/285
EXP: 293466
Next: 14644

Since: 02-17-14

Last post: 3137 days
Last view: 2652 days
Posted by kuja killer
I have a question too.

How on freaking earth does this thread have nearly 200,000 views ??? haha so awesome

but only 9 replies ... (NOT including me) ..that doesnt make any sense at all.
There should be like a hundred replies here with that amount of total views...


That's because sometimes the same users/guests view the thread multiple times. Also, guest views outnumbers member views; this thread is three years old, too. --ShaneM

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

stopXwhispering
Posted on 01-29-15 11:52 AM Link | Quote | ID: 159402

Newcomer
Level: 4

Posts: 2/2
EXP: 164
Next: 115

Since: 01-28-15
From: Europe

Last post: 3374 days
Last view: 3331 days
I just found this thread yesterday, after I had gotten an advice through instagram to check out Tetris Zero. I would really really want it on an actual NES cartridge... does it exist?

____________________
www.retro-video-gaming.com

MiniCompute
Posted on 01-30-15 01:12 AM Link | Quote | ID: 159403


Bubble
Level: 66

Posts: 652/981
EXP: 2421413
Next: 40438

Since: 04-25-07

Last post: 489 days
Last view: 698 days
No it doesn't if you want it on a cartridge ask infidelt for details through PM.

TomelloSoulMan
Posted on 05-23-18 11:20 PM Link | Quote | ID: 166361

Newcomer
Level: 3

Posts: 1/1
EXP: 46
Next: 82

Since: 05-23-18

Last post: 2164 days
Last view: 2145 days
Hi all! I just discovered this tread and this great Tetris hack... I absolutely love it! I am planning to do a tournament with friends, with rules like the CTWC ones, and I think this rom is almost perfect for it... however, there are two things I miss:

1. In two player mode, when one of the players tops out, the game is over in spite of the state of the other player... It would be nice that the other player could continue the game until top out

2. The piece sequence should be the same for the two players for equal conditions of playing

I'm not asking infidelity to make this changes for me, I would gladly do it by myself but I'm a newbie in rom hacking and my ASM skills are close to zero... however, I think it's something that could be done with a LUA script. I've read the nice Tetris rom dissection at http://meatfighter.com/nintendotetrisai/ and begin to understand some things, but I would be glad if someone could point me to some documentation, or at least where to look first...

Sorry for respawning this thread, I'm aware it's more than 3 years old...

lindarose11
(post deleted) ID: 166372

Hoamuoigio
(post deleted) ID: 166515

alanabui
(post deleted) ID: 166828

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

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.027 seconds. (333KB of memory used)
MySQL - queries: 110, rows: 139/140, time: 0.018 seconds.