News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: STREET FIGHTER 2 DELUXE NES  (Read 74965 times)

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 593
  • I am the baldest romhacker
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #280 on: December 22, 2020, 08:11:50 am »
Initial disassembly is complete https://github.com/cyneprepou4uk/Street-Fighter-3

I also added support for writing labels using special Spanish characters.



Now I'll be working on MMC5 and background data expansion.

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #281 on: December 22, 2020, 08:53:06 am »
Great !!! an extraordinary job :thumbsup:
infinites thanks Cyneprepou4uk

the possibilities of this project are expanded in an incredible way :crazy:

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 593
  • I am the baldest romhacker
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #282 on: December 22, 2020, 09:41:08 pm »
Conversion to MMC5 was successful.

While working on it, I've encountered 2 hacking protection routines, which were quite annoying to locate in order to disable.
One of them works like this - https://youtu.be/pafJf_kXSdY

Don't know what the other protection does, and I don't really want to find out, getting destroyed by the girl was enough pain already  :'(



P.S.: to those who did, no need to subscribe, I use this account to upload garbage stuff.
« Last Edit: December 23, 2020, 03:03:30 am by Cyneprepou4uk »

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #283 on: December 22, 2020, 10:22:22 pm »
Congratulations Cyneprepou4uk, it's a masterful job! Thank you very much, your contribution is great, cheer up, I would never have thought of doing something like this on my own because of my little technical ability, I admire your great technical capabilities of programming and reverse technology etc ...  I am very happy I believe everyone who follows this thread they are tremendously grateful to you like me :crazy:

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 593
  • I am the baldest romhacker
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #284 on: December 23, 2020, 02:14:14 am »
@sics, @sebastianangel and the rest of you who is drawing graphics for this game.

Do you guys have a Discord server or Telegram account? I'd like to discuss some technical ideas.
« Last Edit: December 23, 2020, 02:44:15 am by Cyneprepou4uk »

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #285 on: December 23, 2020, 07:53:49 am »
discord: sebastiangammer # 7450
https://www.romhacking.net

Telegram:
@sebastianangelhack
« Last Edit: December 23, 2020, 08:27:51 am by sebastianangel »

RealGaea

  • Full Member
  • ***
  • Posts: 227
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #286 on: December 23, 2020, 02:59:21 pm »
discord: sebastiangammer # 7450
https://www.romhacking.net

Telegram:
@sebastianangelhack

Nice, nice... We can discuss more ideas and WIPs over there. I sent you a friend request, che.

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #287 on: December 23, 2020, 03:14:53 pm »
ok :thumbsup:

bogaabogaa

  • Full Member
  • ***
  • Posts: 221
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES proyect
« Reply #288 on: December 23, 2020, 09:23:21 pm »
hello there seems to be an error when finishing playing vs mode with the stage selector that locks the game when returning to the game map :-\

Yes I did not test further this is why I mentioned you should playtest. It is hard to tell what banks will be present every given time. The last two banks are fixed (also full) but the once swapped to $8000-$9fff and $a000-$bfff can be changed any time. I did moved the code to the first swappable section where I hope it is free space and it seems to work now. Also made the sprite a bit bigger so it shows the whole plain. Also moved the sprite away from the very end of OAM since this could had been a other bad idea..

https://www.dropbox.com/s/ivov46z65hynovh/Streetfigher3LevelSelect.zip?dl=0
CV ROM DiscordServer
https://discord.gg/PvFgxRg

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #289 on: December 23, 2020, 09:50:13 pm »
Thank you very much :beer: !!! I will try it again but now if I suppose it will be great, thanks again ;D

I already tested it and it works great :crazy:
 :thumbsup: :thumbsup: :thumbsup:

This is a great Christmas gift :)
« Last Edit: December 23, 2020, 10:17:53 pm by sebastianangel »

bogaabogaa

  • Full Member
  • ***
  • Posts: 221
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #290 on: December 23, 2020, 10:05:58 pm »
Don't know what the other protection does, and I don't really want to find out, getting destroyed by the girl was enough pain already  :'(

If you are willing to share I would be interested to hear how the girls beating was accomplished. If you are willing to share. Also thanks for the work. I guess this is a nice xmas present for the graphic team here. Specially for the name table data decompression  :thumbsup:
CV ROM DiscordServer
https://discord.gg/PvFgxRg

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 593
  • I am the baldest romhacker
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #291 on: December 23, 2020, 10:43:07 pm »
Decompression doesn't seem enough for me. I'm also going to reserve lots of CHR banks for each stage, and swap them via IRQ, like original game does, but in my case much more often. Just drawing all tiles from the bank into several straight lines one by one, and go to the next bank. Which means that each tile on the screen will be unique.



I didn't really got into HOW the whole thing with the stuff from video works exactly, because I didn't really care at the moment. What surprised me is that this didn't occur before, because I already started to shift code before I made MMC5 conversion*.

Still I decided to keep the code and all the dependences for now, to have some clues regarding AI for later, in case I need to study it for some reason. I just enforced correct protection checks so it won't bother me anymore.

In case you want to activate it to have a closer look, search for 0x01EC0E and 0x01ECE9 in bank_FF.asm. Both these routines basically read stack and check for some fixed return address, in order to determine hacking.



* Well, actually I think I know why, probably because of 0x01E51D. I've noticed this the first day I've made a disassembly, but didn't touch it. I should deal with it before anything else decides to show up.

Edit: done.
« Last Edit: December 24, 2020, 09:45:02 am by Cyneprepou4uk »

shakunetsu

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #292 on: December 24, 2020, 12:46:26 am »
Thank you very much :beer: !!! I will try it again but now if I suppose it will be great, thanks again ;D

I already tested it and it works great :crazy:
 :thumbsup: :thumbsup: :thumbsup:

This is a great Christmas gift :)

Hey man I have joined the discord too bad I'm not that good yet with pixel art.

This project is something I always wanted to see happen since before, thank you guys.


SF2 Nes port with Gameboy and Spectrum sprites colored.

- Either porting the stages from GB version or the C64 version but using Gameboy and Spectrum character sprites

« Last Edit: December 29, 2020, 11:39:32 pm by shakunetsu »

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 593
  • I am the baldest romhacker
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #293 on: December 24, 2020, 09:26:50 am »
Just out of curiosity I've looked at what 2nd protection does. It disables hitting an opponent for both players, your punches and projectiles go through the enemy. However projectiles can hit still each other.

The only thing that's working is throws. Other than that everything else seems normal.

December 25, 2020, 10:17:06 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Merry Christmas everyone  >:D



https://github.com/cyneprepou4uk/Street-Fighter-3

Each screen now has unique tiles. Screens were divided in 2 types.

The first type is regular backgrounds that fit into the whole single screen.
Spoiler:

Tile lines 1-4 represent left half of the screen, lines 5-8 represend right half. Then repeat.
Code: [Select]
file CHR_ROM.chr

C0000-C37FF = title
C3800-C6FFF = player select
C7000-CA7FF = VS
CA800-CDFFF = continue
CE000-D17FF = defeat (same as VS but without VS logo and someone's face beaten)

D1800-D4FFF = ending Chun-Li
D5000-D87FF = ending Ryu
D8800-DBFFF = ending Guile
DC000-DF7FF = ending Blanka
DF800-E2FFF = ending Dhalsim
E3000-E67FF = ending Ken
E6800-E9FFF = ending Balrog
EA000-ED7FF = ending Sagat
ED800-F0FFF = ending Vega



The second type is stages only.
Spoiler:

Lines 1-3 represent the whole line from left to right. 4th line is empty (unused). Then repeat.
Code: [Select]
file CHR_ROM.chr

80000-85FFF = stage Chun-Li
86000-8BFFF = stage Ryu
8C000-91FFF = stage Guile
92000-97FFF = stage Dhalsim
98000-9DFFF = stage Blanka
9E000-A3FFF = stage Ken
A4000-A9FFF = stage Balrog
AA000-AFFFF = stage Sagat
B0000-B5FFF = stage Vega



Inside "background" folder there are palettes and attributes for each screen. Attributes for stages have nametable attributes for both $23C0-$23FF (first half) and $27C0-$27FF (second half), others for $23C0-$23FF only. File "palette_screen_VS.bin" shares its palette with defeat screen.

The only thing I didn't have time to work on yet is: when the round is over and points are about to be counted, background graphics will break until next round. I'll deal with it next year.



TECHNICAL QUESTION

I need consulting from an expert. Don't know how to debug this, and I'm out of ideas. https://youtu.be/7-I6O3Z2ef0

As you can see on the video, the lines at the same level where players' heads are, they shift 1 pixel left or right depending on which direction you're moving.

Seems like timing problem. But the thing is, I've already made sure that cycles between my IRQ_handler and RTI are the same all the time, and code is executed the same, debugger proves it. Mapper is MMC5. I swap CHR banks 13 times per screen, each 16 lines, but this glitch occurs only on that particular place despite sprites, tiles or palette. At the same time all other swaps work smoothly as planned.

What the hell can that be?

Edit: nevermind, I'm an idiot. The scroll position gets recalculated in the middle of the frame, but I didn't take it into account and used the same RAM address for each CHR switching. I should make a copy of the scroll value from the previous frame and write THAT into register instead.
« Last Edit: December 26, 2020, 05:11:20 am by Cyneprepou4uk »

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #294 on: December 26, 2020, 09:37:39 am »
Tremendous job !!! :o without a doubt the best Christmas gift! :crazy:
Thank you very much for your dedication and work!
I'll get to work on it right now


BZXGCS

  • Jr. Member
  • **
  • Posts: 13
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #295 on: December 29, 2020, 10:44:15 pm »
I am very glad to see that the key problem of converting to MMC5 have been solved. Now, Is there any progress has achieved?

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #296 on: December 30, 2020, 07:30:12 am »
if the advances are enormous thanks to the collaboration and participation of all and the great significant expansion made by Cyneprepou4uk a MMC5
It gives us enormous freedom, Now we are in the process of inserting the new scenarios.I believe 2021 will be the year of street figther deluxe

taking the new designs

convert them to the necessary format insert them into the game and reconvert the colors

sics

  • Sr. Member
  • ****
  • Posts: 390
  • Contact me!
    • View Profile
    • Deviantart: Terwilf
Re: STREET FIGHTER 2 DELUXE NES
« Reply #297 on: December 30, 2020, 12:00:36 pm »
As many of you know, I am currently without the Internet, but thanks to sebastianangel I was able to keep abreast of the progress of the project progress, even if only minimally, so I must confess that I have certain inquietudess.
  • Mainly, what is the advantage of having the game decompiled?
  • If we consider it later, is it possible to add new characters to the game?
  • Will the endings have the same benefits as the rest of the screens? (Yes)
  • Can we create stages with the space we need, or is there some kind of restriction beyond the known ones?
Since our idea was to redistribute the data from all the game screens, initially using the free space found from 0x13B00, to later take advantage of the space that we were vacating with this process.

We also thought to optimize the CHRs and eliminate all the unused graphics to have that space later.

And I honestly don't know how to carry out these tasks in assembler code. (Although it doesn't seem necessary)

Another issue that is not clear to me is whether they have completely changed the operation of the stages or have simply expanded the number of CHRs that one can count on to carry them out.

Because the previous layout of the graphics, apart from benefiting the compression of the data of the various stages of the game, made it possible to circumvent much of the heavy lifting allowing us to use the NES screen tool to perform the most complicated tasks.

Without forgetting that we were working to create a Python Script that would automate the compression process of the stages.
  • I am curious about how they access the new CHR banks, since as you know previously the graphics of the Chun-Li stage were practically at the limit of what the game will allow to address.
On the other hand, I found a fourth type of code in addition to the ones that song6502 informed us:

Code: [Select]
Read Sprites
0X   : Manual entry.
7F XX: Repeating pattern. <
8X   : Repeat value.
CX   : Write ascending value.

So I wonder:

Would it be possible to program a similar identifier, which allows creating alternative configurations for the data of a single player, so that when loading different characters that use practically the same skins, such as Ryu, Ken, Akuma or Sheng Long, they can use some alternative graphics?

Example: 7F 2A
7F It establishes that the next code will be data that must be interpreted.
2_ It establishes to which player the data to be read will correspond.
_A Sets the number of sprite groups that must be set aside for that player.

Since this would allow us to solve among other things the change of face between Ryu and Ken that they have requested so much.

Last but not least, thank you very much for all the effort you have put into! :thumbsup:


Edit: The previous translation of this text was of very poor quality and although at this point it was not necessary to update my message I hate leaving things sloppy.
« Last Edit: January 04, 2021, 05:59:32 pm by sics »
twitter | deviantart | Better a small finished project than a thousand giant ideas stuck in your system.

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 593
  • I am the baldest romhacker
    • View Profile
Re: STREET FIGHTER 2 DELUXE NES
« Reply #298 on: December 30, 2020, 01:47:14 pm »
Quote
Mainly, what is the advantage of having the game decompiled?

It's much easier to edit and maintain code that way, rather than keep adding hijack subroutines each time you want to change something.

Quote
If we consider it later, is it possible to add new characters to the game?

It's possible.

Quote
Can we create scenarios with the space we need, or is there some kind of restriction beyond the known ones?

If by "scenarios" you mean stages, then the only restriction is a limit of CHR. PRG space is not a problem.

Quote
And I honestly don't know how to carry out these tasks in assembler code.

You can find someone like bogaa who is interested in your project and has necessary skills. It's not a very hard task to at least separate Ryu from Ken. But I doubt I'll be working on it anymore after I deal with leftover bugs with graphics next year. I can consult romhackers if needed.

Quote
On the other hand, I am curious about how they access the new CHR banks, since as you know previously the graphics of the Chun-Li stage were practically at the limit of what the game will allow to address.

If you look at the nametable, you will see that tiles id repeat all the time. That's how all stages work. CHR banks change each 16 lines to provide updated tiles.

Quote
And I would also like to know if the endings will have the same benefits as the rest of the screens.

Single screens like endings fit into the first category. You can edit the whole screen except first and last 8 pixels IIRC.

Quote
Is it possible to create a similar identifier, to establish groups of sprites that should only be loaded by X player?

Animations have a good simple table, no need to invent anything different here.

sebastianangel

  • Full Member
  • ***
  • Posts: 175
  • you can always improve
    • View Profile
    • sega genesis
Re: STREET FIGHTER 2 DELUXE NES
« Reply #299 on: December 30, 2020, 07:27:08 pm »
There are still many things to adjust in this scenario, now you can see that I adjust the floor tiles and some other things later I will take care of the color :thumbsup: