Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - SMS Street Fighter 2 ROM Hack

Reply to topic Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Author Message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14682
  • Location: London
Reply with quote
Post Posted: Fri Jan 13, 2023 11:58 pm
Loading in 9 tiles of art in a single vblank is not a big deal for the SMS. Making a nice fighting game with 24x24 pixels seems more difficult.
  View user's profile Send private message Visit poster's website
  • Joined: 31 Dec 2022
  • Posts: 28
Reply with quote
Post Posted: Sat Jan 14, 2023 3:21 am
Maxim wrote
Loading in 9 tiles of art in a single vblank is not a big deal for the SMS. Making a nice fighting game with 24x24 pixels seems more difficult.


You seem to mean writing each of the 8 bytes to the VRAM
to update a single sprite tile in the VBLANK then the method I suggested
would be quicker to do the same opration of updating a single tile in this regard as it takes less VRAM port write to do.
Which method is better depends how you would go about coding the rest of the fighting game if you need the optimisation for speed then the method I suggested may be used. Maybe a combination of both methods is acceptable loading all the 210 tiles for players until the end of the match
e.g. where a "super combo" can be used which updated 9 or more tiles
(or maybe most of the tiles in VRAM) for lots of frame updates to
the VRAM because speed isn't critical at the end of the final round.
What I suggest in my last message was just the basic idea of how
to possibly implement a good fighting game I am sure the idea can
be tweaked to be improved e.g. you can probably use a few of other
unused (56) sprites to improve the graphics in some way.
Double zoomed sprites would look better for 24x24 pixel characters
in my opinion giving them a 48x48 pixel look.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14682
  • Location: London
Reply with quote
Post Posted: Sat Jan 14, 2023 7:38 am
Preloading the tiles to VRAM reduces the time needed during gameplay, but it’s unlikely that CPU speed would be a bottleneck in this case. However the low tile count for backgrounds would be quite severe. Most games use 256 tiles for backgrounds + status.
  View user's profile Send private message Visit poster's website
  • Joined: 31 Dec 2022
  • Posts: 28
Reply with quote
Post Posted: Sat Jan 14, 2023 5:04 pm
The SMS is has a backwards compatability mode with the
colecovision (same mode is used in f-16 game on SMS).

I recall I once wrote a 1 by1 pixel smooth scroll routine
,in pure z80 assembly language, for the colecovision which worked by swapping adjacent bytes along a whole vetical edge of the screen to scroll a vertical
line of characters. Each byte in the colecovision video ram is
accessed but using a read and write to colecovision VRAM.
I recall in this scroll routine becomes unusable (i.e. very slow) after 168
VRAM read and writes (i.e. after scrolling 21 characters vertically
in 1 pixel increments in software) and my colecovision program did nothing
else but scroll vertically.

Back to the fighting game. If we were to use VRAM read and writes
to the VRAM using the byte by byte update for each sprite tile
you suggested it would take 32 VRAM writes per sprite tile and thus
at least 32*9=288 VRAM read and writes for one player
or 288*2=576 VRAM writes for 2 players.

So based on my experience with z80 assembly programming and that the SMS VDP has a mode that is backwards compatible wth the colecovision
then updating 18 tiles on the fly using a minimum of 576 VRAM writes (i.e. using the OUT command) will
be too slow on the master system -I'd like to be proved
wrong though.
  View user's profile Send private message
  • Joined: 09 Mar 2021
  • Posts: 11
Reply with quote
Post Posted: Sat Jan 14, 2023 6:51 pm
Jolene wrote
The SMS is has a backwards compatability mode with the
colecovision (same mode is used in f-16 game on SMS).

I recall I once wrote a 1 by1 pixel smooth scroll routine
,in pure z80 assembly language, for the colecovision which worked by swapping adjacent bytes along a whole vetical edge of the screen to scroll a vertical
line of characters. Each byte in the colecovision video ram is
accessed but using a read and write to colecovision VRAM.
I recall in this scroll routine becomes unusable (i.e. very slow) after 168
VRAM read and writes (i.e. after scrolling 21 characters vertically
in 1 pixel increments in software) and my colecovision program did nothing
else but scroll vertically.

Back to the fighting game. If we were to use VRAM read and writes
to the VRAM using the byte by byte update for each sprite tile
you suggested it would take 32 VRAM writes per sprite tile and thus
at least 32*9=288 VRAM read and writes for one player
or 288*2=576 VRAM writes for 2 players.

So based on my experience with z80 assembly programming and that the SMS VDP has a mode that is backwards compatible wth the colecovision
then updating 18 tiles on the fly using a minimum of 576 VRAM writes (i.e. using the OUT command) will
be too slow on the master system -I'd like to be proved
wrong though.


You don't need to update both player frames on a single 1/60hz vblank. That's a bit overkill and unnecessary. You interleave the frame updates; player 1 on all even frames, player 2 on all odd frames. That doesn't mean your game runs at 30hz - they came still move around (x/y coords) at 60hz and have game logic at that rate. This is a common technique for beat'em ups too.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Sun Jan 22, 2023 12:58 pm
Last edited by xfixium on Sun Jan 22, 2023 8:17 pm; edited 1 time in total
Update: Finished all remaining sprites. Spent quite a lot of time, once again, on Sagat's stage. I have a proposed final version.

Last thing remaining, adding in Sagat jump kick and jump punch, separating from crouch kick and punch animations. I found places to put the data. I know where the pointers are, and where to change them. I know the variable holding the state for the conditional. I just gotta figure out where to change the code.
sms_sf2_0116.png (21.87 KB)
sms_sf2_0116.png
Sagat Stage Test.png (20.79 KB)
Sagat Stage Test.png
sms_sf2_0115.png (24.47 KB)
sms_sf2_0115.png

  View user's profile Send private message
  • Joined: 16 Oct 2022
  • Posts: 41
Reply with quote
Post Posted: Sun Jan 22, 2023 1:19 pm
I think it looks great mate, good going!! Finding a way to fix Sagat's animation problem would be an amazing feat too.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Sun Jan 22, 2023 8:19 pm
Mondo wrote
I think it looks great mate, good going!! Finding a way to fix Sagat's animation problem would be an amazing feat too.


Thanks! Already made some final changes XD Hopefully the animation thing doesn't take too long.
  View user's profile Send private message
  • Joined: 17 Aug 2021
  • Posts: 79
Reply with quote
Post Posted: Sun Jan 22, 2023 8:38 pm
I saw this earlier and was going to comment that it was a shame the arm crease in the fabric had to go.....

But I see you've fixed that.....

I love the pink of the clouds, a little tribute to your Sagat sf1 stage that wasn't to be, I love the cloud line too, there's lots of detail. And you managed to have enough leftover tiles to have the ruined pillars on the right look more accurate.
If you wanted to you can extend Buddha's length by repeating tiles.... If you like your religous icons long legged that is.
You did it, I bet you are glad you are over that hill.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Sun Jan 22, 2023 9:35 pm
Emrabt wrote
I saw this earlier and was going to comment that it was a shame the arm crease in the fabric had to go.....

But I see you've fixed that.....


I was going to let it go, but it bothered me, so I just dug in deeper and found the additional tiles.

Emrabt wrote

If you wanted to you can extend Buddha's length by repeating tiles.... If you like your religous icons long legged that is.


Thought about it, but I think I prefer it the way it is.

Emrabt wrote

You did it, I bet you are glad you are over that hill.


Truer words were never spoken XD I spent way too much time on this stage.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Tue Jan 24, 2023 12:27 pm
I have put together release candidates for this hacking project.

Champion Edition
https://www.pyxosoft.com/projects/sms_sf2/downloads/sf2_hack.bps

World Warrior
https://www.pyxosoft.com/projects/sms_sf2/downloads/sf2_hack_ww.bps
  View user's profile Send private message
  • Joined: 23 Jan 2010
  • Posts: 411
Reply with quote
Post Posted: Tue Jan 24, 2023 1:02 pm
I tested the WW version. I have 2 questions:
1 - In World Warrior version Chun li dont use fireballs but the hack she is using. This can be disabled?

2 - About Ayutthaya ruins, you did it, my friend! Better than i was expecting. About the pattern over shroud seems that you applied a kind of flower. Dont would be better an original any symbol found in statue´s shroud? But is only a preference matter. Congratulations!!!
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Tue Jan 24, 2023 1:15 pm
segarule wrote
I tested the WW version. I have 2 questions:
1 - In World Warrior version Chun li dont use fireballs but the hack she is using. This can be disabled?

2 - About Ayutthaya ruins, you did it, my friend! Better than i was expecting. About the pattern over shroud seems that you applied a kind of flower. Dont would be better an original any symbol found in statue´s shroud? But is only a preference matter. Congratulations!!!


Thank you!

1. I'm using World Warrior Edition, in aesthetics only. You are correct, Chun Li's fireball wasn't available, but I also don't think players were able to play as the game's bosses, or even pick the same fighter against one another. If we want to get really technical about it. It's World Warrior in visuals only.

2. Yeah, not enough tiles to convey the pattern in the shroud detail. Although, if someone comes up with a better design that can be used fluidly, using a single tile, and not look like butt, I'd be happy to apply it.
  View user's profile Send private message
  • Joined: 23 Jan 2010
  • Posts: 411
Reply with quote
Post Posted: Tue Jan 24, 2023 1:50 pm
Quote
1. I'm using World Warrior Edition, in aesthetics only. You are correct, Chun Li's fireball wasn't available, but I also don't think players were able to play as the game's bosses, or even pick the same fighter against one another. If we want to get really technical about it. It's World Warrior in visuals only.

Understood.



Quote

2. Yeah, not enough tiles to convey the pattern in the shroud detail. Although, if someone comes up with a better design that can be used fluidly, using a single tile, and not look like butt, I'd be happy to apply it.
I mean that you could use only 1 symbol from those from shroud.
There is a circle symbol but maybe it be more "ugly" that flower pattern. At least is an original symbol. Anyway your superb work there.
  View user's profile Send private message
  • Joined: 12 Aug 2016
  • Posts: 83
Reply with quote
Post Posted: Tue Jan 24, 2023 3:03 pm
I´ve just finished both versions, world warrior and champion edition.
Impresive work.
Congratulations to xfixium and all who helped to do this.
I´m try to explain my point of view with not much words.
For me no problem with shadows.
For me no problem with the statue.
For me no problem with nothing ...

I think master system street fighter II was empty, but now has arcade soul. Congratulations again, and if in the future you decide to make changes, please be sure you enjoy doing that.
You give the players a master piece. THANKS
  View user's profile Send private message
  • Joined: 09 Jun 2014
  • Posts: 361
Reply with quote
Post Posted: Tue Jan 24, 2023 3:45 pm
Congrats xfixium!

I played through the whole ww game (for the first time on the SMS actually). All stages and "sprites" graphics look amazing! It's hard to complain about anything, but...

I noticed that the frame of guile laying defeated on the ground was missing a tile, on his head or leg (depending on facing left or right ). Perhaps you did not have enough tiles for that.

Another small issue i noticed is the inconsistency of the main font (in-game vs menu/credits). I prefer the in-game font where the font is non-dithered and it includes yellow, orange and red colors. Perhaps it is easy to fix.

I'm very honored to be in the credits, although i only delivered a few Guile frames :).


I'm looking forward to your next projects :D
  View user's profile Send private message Visit poster's website
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Tue Jan 24, 2023 4:17 pm
slogra wrote

I noticed that the frame of guile laying defeated on the ground was missing a tile, on his head or leg (depending on facing left or right ). Perhaps you did not have enough tiles for that.


Most likely it's because the number of sprites on the scan line exceeded 8. One of the fighters is comprised of sprites, the other is not. The engine doesn't apply flickering, it just will have the default behavior of not drawing the tile, if it overflows. For M. Bison this is painfully noticable.

slogra wrote

Another small issue i noticed is the inconsistency of the main font (in-game vs menu/credits). I prefer the in-game font where the font is non-dithered and it includes yellow, orange and red colors. Perhaps it is easy to fix.


I'll look into that. Thanks for the feedback.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Wed Jan 25, 2023 12:58 am
slogra wrote
Congrats xfixium!
Another small issue i noticed is the inconsistency of the main font (in-game vs menu/credits). I prefer the in-game font where the font is non-dithered and it includes yellow, orange and red colors. Perhaps it is easy to fix.


After reviewing, it looks like I did this to be in line with the source material (SN*S). However I couldn't transfer the same font colors in game, because the original palette is necessary for various projectiles and what not.

Also, I noticed the projectile of Ryu P2 is foobarred. Which means his burn and shocked states are messed up as well. Looks like I have to drop a color, or double up the white and lose the yellow. Looks like replacing 0,85,0 with black doesn't hurt too badly.
  View user's profile Send private message
  • Joined: 03 Jan 2023
  • Posts: 14
Reply with quote
Post Posted: Wed Jan 25, 2023 1:14 am
From graphic changes, they are superb! amazing work!
....
But now we need someone to fix the gameplay and this will be the perfect hack of all time
  View user's profile Send private message
  • Joined: 19 Jan 2022
  • Posts: 8
  • Location: Chile
Reply with quote
Post Posted: Wed Jan 25, 2023 3:13 am
I want to congratulate you xfixium, what you have done is really a piece of jewelry. Despite the fact that I still suffer playing it, I can feel that it is a little more precise than the original version, visually you have given yourself a job that is worthy of applause, I hope you continue to surprise us with these great advances. you're a machine!

this for me is a dream come true, like the first time i played fatal fury special in gamegear.
sf2ww_gg.jpg (81.41 KB)
sf2ww_gg.jpg

  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Wed Jan 25, 2023 8:21 am
Nekketsu wrote
I want to congratulate you xfixium, what you have done is really a piece of jewelry. Despite the fact that I still suffer playing it, I can feel that it is a little more precise than the original version, visually you have given yourself a job that is worthy of applause, I hope you continue to surprise us with these great advances. you're a machine!

this for me is a dream come true, like the first time i played fatal fury special in gamegear.


Ayeeee, that looks pretty cool.

Thanks all for the compliments. I've made fixes to Ryu's P2 palette glitch. I decided to keep the dark blue, and change the white for a light yellow. Looks decent enough.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Fri Jan 27, 2023 8:41 am
Final release has been uploaded. (Links on the first page of this topic)
I also have a link to the SMS editor files, and all graphic resources, in a convenient zip file.

List of changes since release candidate patch:
Ryu:
Changed palette to fix P2 hadouken projectile both versions

Sagat's Stage:
Elongated statue length both versions
Added color separation (85, 0, 0) on statue in WW version
Changed shroud pattern to be less detailed both versions
Moved Statue to the right one tile both versions

Balrog's Stage:
Changed flooring both versions
Updated sparkle colors on CE version
Added missing sparkles to WW version

Ken's Stage:
Floor color changed
Cloud graphics changed
Sky color and graphics changed CE version

Versus Graphics:
Centered to the left both versions

I think that's it. Thank you all for the support, once again.
I'll be taking a break from anything SMS for awhile.
sms_sf2_0118.png (24.37 KB)
Balrog stage changes
sms_sf2_0118.png
sms_sf2_0119.png (19.04 KB)
Ken stage changes
sms_sf2_0119.png

  View user's profile Send private message
  • Joined: 23 Jan 2010
  • Posts: 411
Reply with quote
Post Posted: Fri Jan 27, 2023 9:53 am
I tested the WW here. I dont believe that you did yet better.
Your work already is divulgated:

When i see the jet in Guile´s stage and statue in Ayutthaya ruins i think how talented you are!
You made it!
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Fri Jan 27, 2023 1:34 pm
Interestingly enough, seems like the world warrior version is the more popular of the two versions. XD

Thanks for the post, I've watched that channel quite a bit, and love how polished their comparisons are.
  View user's profile Send private message
  • Joined: 30 Nov 2017
  • Posts: 74
Reply with quote
Post Posted: Fri Jan 27, 2023 1:53 pm
xfixium wrote
Interestingly enough, seems like the world warrior version is the more popular of the two versions. XD

Thanks for the post, I've watched that channel quite a bit, and love how polished their comparisons are.


It has been so satisfying to watch this hack come together. What a beautiful result. Truly shows what the master system is capable of with efficient use of resources.

Two things hobble this game now. The control and the music. I listened to the Game Gear Shinobi Soundtrack after watching the video above and man oh man, the Master System has a capable little sound chip in the right hands. SF2 needs a sound update by someone who knows how to push that chip.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Fri Jan 27, 2023 2:05 pm
NewHorizon wrote

Two things hobble this game now. The control and the music. I listened to the Game Gear Shinobi Soundtrack after watching the video above and man oh man, the Master System has a capable little sound chip in the right hands. SF2 needs a sound update by someone who knows how to push that chip.


Very true, and that may come later. For both audio and input.

At least get the controls so that the special moves are a little easier to pull off. I've become decent at doing the hadouken, because of testing XD. But any charged move I pull off, is purely by accident.

Step by step, eventually, I think.
  View user's profile Send private message
  • Joined: 30 Nov 2017
  • Posts: 74
Reply with quote
Post Posted: Fri Jan 27, 2023 3:43 pm
xfixium wrote

Very true, and that may come later. For both audio and input.

At least get the controls so that the special moves are a little easier to pull off. I've become decent at doing the hadouken, because of testing XD. But any charged move I pull off, is purely by accident.

Step by step, eventually, I think.


If both of those could be achieved it would be an incredible 8-bit port. I would love to hear music rivaling GG Shinobi. That chip can really push out some great music when given some attention.
  View user's profile Send private message
  • Joined: 12 Aug 2021
  • Posts: 73
Reply with quote
Post Posted: Fri Jan 27, 2023 5:42 pm
On the subject of music, I feel like the music on the Game Boy version of Street Fighter 2 is pretty decent. So if there is CPU time and memory available for an improved soundtrack, that sounds like an achievable goal !
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Fri Jan 27, 2023 8:20 pm
armixer24 wrote
On the subject of music, I feel like the music on the Game Boy version of Street Fighter 2 is pretty decent. So if there is CPU time and memory available for an improved soundtrack, that sounds like an achievable goal !


I think you're right, although it's not really my arena. I don't do audio lol
  View user's profile Send private message
  • Joined: 17 Aug 2021
  • Posts: 79
Reply with quote
Post Posted: Sat Jan 28, 2023 9:23 am
Well Done!

I had some time this morning so played through both versions. It bought a big smile to my face having this finished!


I also had a little play around with your SMS EDITOR tool, Very nice.

I may be missing something but is there a way to select a tile on the tile map and have it automatically jump to that tile in the tileset box on the right (I tried right clicking and pressing ctrl, alt and so on)?
And I'm assuming you can't select large chunks of previously laid tiles and paste them across, like the grass?

If not I have a whole new appreciation of you redoing things like Ken's stage moving the boat tile by tile.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Sat Jan 28, 2023 3:11 pm
Emrabt wrote
Well Done!
I may be missing something but is there a way to select a tile on the tile map and have it automatically jump to that tile in the tileset box on the right (I tried right clicking and pressing ctrl, alt and so on)?
And I'm assuming you can't select large chunks of previously laid tiles and paste them across, like the grass?

If not I have a whole new appreciation of you redoing things like Ken's stage moving the boat tile by tile.


The Tilemap editor is pretty basic. It's mostly there for small adjustments. I haven't put the time in for it to be a full blown tile editor. I would say use your fave image/tile editor, then use the Import Sprite Graphics option to import it into SMS Editor.

The image doesn't have to be 8 bit, instead it'll auto match colors to the resource's palette. In fact I've never tested an 8 bit image import, now that I think about it XD. Probably should do that.

I mainly use the Highlight Count feature. Which will tell you how many times the selected tile is being used in the map, and highlight where it's used. And the Replace Tiles option. To swap out one tile for another. From there I export the map as a .png image, and may further refine it in said image/tile editor of choice.

The intended way to use the editor is by selecting a tile from the right as your "brush", and then clicking the tilemap to set the selected tile where you clicked. Again, very basic, and you can only select one tile at a time. There's no undo/redo or the such.

Honestly, if I would've used SMS Editor to create tilemaps, I probably would've ended myself a long time ago XD. I typically use Corel Photopaint, Clip Studio Paint, and Aseprite. Primarily Corel. There's tiling programs like Tiled, that do a great job as well, I'd imagine.

There are a slew of graphic editing solutions that people love. Use those. And when you think you're finished, let SMS Editer do the heavy lifting of placing it in a ROM, and tell you if you're over the original's tile limit, or not.

That being said, SMS Editor is pretty limited, as data is stored in a slew of different ways, but for this hack, it works for graphics editing, at least.

Hope that long winded explanation helped.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Sat Jan 28, 2023 3:50 pm
Forgot to mention, trying to replace audio. There's a thumpin' track put together by Louis the Sega Nerd, check it out:



They've also put together a slew of Castlevania content, which I'll put together in upcoming weeks. Great stuff!
  View user's profile Send private message
  • Joined: 17 Aug 2021
  • Posts: 79
Reply with quote
Post Posted: Sun Jan 29, 2023 9:14 am
[quote="xfixium"]
Emrabt wrote

Hope that long winded explanation helped.


Yes it's helped a lot, "Use an external image editor to make the stage and import it, the software will do the rest."
Thank you.
  View user's profile Send private message
  • Joined: 28 Feb 2016
  • Posts: 502
  • Location: Barcelona
Reply with quote
Post Posted: Sun Jan 29, 2023 4:31 pm
Awesome job, thankyou very much for share it
  View user's profile Send private message
  • Joined: 29 Jan 2023
  • Posts: 11
Reply with quote
Post Posted: Sun Jan 29, 2023 10:31 pm
I just checked the base game's ROM size, it's about 800KB. Do you think it's possible to expand for rearranged music and possibly more voice samples?
  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Sun Jan 29, 2023 11:15 pm
Cris1997XX wrote
I just checked the base game's ROM size, it's about 800KB. Do you think it's possible to expand for rearranged music and possibly more voice samples?


Expanding the ROM could allow for many things, like better music, better endings, better voice samples, better intro, and so forth; problem is, it would require someone with ASM hacking experience.
  View user's profile Send private message Visit poster's website
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Sun Jan 29, 2023 11:30 pm
Cris1997XX wrote
I just checked the base game's ROM size, it's about 800KB. Do you think it's possible to expand for rearranged music and possibly more voice samples?


haroldoop wrote

Expanding the ROM could allow for many things, like better music, better endings, better voice samples, better intro, and so forth; problem is, it would require someone with ASM hacking experience.


Yeah, asm hacking experience. Also, not sure how true this is, but I've read some sort of 1 megabyte max load for certain, or most Everdrive carts? Can someone verify the limitation? Not sure I'm connecting the dots correctly on that one.

Also, I'm currently trying to put a new PSG from Louis the Sega Nerd into the ROM, and see how that shakes.
  View user's profile Send private message
  • Joined: 14 Oct 2008
  • Posts: 508
Reply with quote
Post Posted: Mon Jan 30, 2023 12:09 am
1MB was the maximum of any officially released Sega 8-bit mapper.
So for maximum compatibility it would be best to limit to that.

I would suppose there could be an emulator or flash cart to support up to 4MB if they wanted to extend the standard Sega mapper to a theoretical limit (256 x 16KB).
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Mon Jan 30, 2023 1:06 am
KingMike wrote
1MB was the maximum of any officially released Sega 8-bit mapper.
So for maximum compatibility it would be best to limit to that.

I would suppose there could be an emulator or flash cart to support up to 4MB if they wanted to extend the standard Sega mapper to a theoretical limit (256 x 16KB).


Ahhhh, okay. Thank you for the information.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14682
  • Location: London
Reply with quote
Post Posted: Mon Jan 30, 2023 1:06 am
Emulators support 4MB; Everdrive X7 supports up to 3.9MB or so.
  View user's profile Send private message Visit poster's website
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Mon Jan 30, 2023 4:19 am
Maxim wrote
Emulators support 4MB; Everdrive X7 supports up to 3.9MB or so.


Oh wow, 4MB, I thought it was going to be lower. Very nice.
  View user's profile Send private message
  • Joined: 29 Jan 2023
  • Posts: 11
Reply with quote
Post Posted: Mon Jan 30, 2023 2:46 pm
KingMike wrote
1MB was the maximum of any officially released Sega 8-bit mapper.
So for maximum compatibility it would be best to limit to that.

I would suppose there could be an emulator or flash cart to support up to 4MB if they wanted to extend the standard Sega mapper to a theoretical limit (256 x 16KB).

I doubt people are gonna bother making repros of these hacks (Maybe I shouldn't talk so soon), so I don't think going over 1MB would be a problem
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Mon Jan 30, 2023 4:04 pm
Cris1997XX wrote

I doubt people are gonna bother making repros of these hacks (Maybe I shouldn't talk so soon), so I don't think going over 1MB would be a problem



Sssssssssss, there will be, most likely. In fact, it seems pretty frequent that hard copies are created, if there's a demand. The Golden Axe hack I created, and Slogra's Sonic hack come to mind, off the top of my head, as examples.
  View user's profile Send private message
  • Joined: 16 Oct 2022
  • Posts: 41
Reply with quote
Post Posted: Tue Jan 31, 2023 2:42 am
Excellent work!! I just patched a rom and had some fun playing, although I'm terrible at this version of SF2 :D
  View user's profile Send private message
  • Joined: 05 Mar 2022
  • Posts: 129
  • Location: Seabrook, New Hampshire
Reply with quote
Post Posted: Tue Feb 21, 2023 8:19 pm
xfixium wrote
armixer24 wrote
On the subject of music, I feel like the music on the Game Boy version of Street Fighter 2 is pretty decent. So if there is CPU time and memory available for an improved soundtrack, that sounds like an achievable goal !


I think you're right, although it's not really my arena. I don't do audio lol


My forte is Assembly optimization, and I know a few tricks for the Z80. If you still have a link for the source code, I may be able to go over it and save a few cycles in the main loop to free up time for better sound.

That's assuming that we later find a volunteer who's willing to work on the audio.

Or we'll just have a slightly better frame rate.

Thanks for letting me take a crack at Guile's artwork, btw. That was actually more challenging than coding, now that I think of it.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Wed Feb 22, 2023 3:40 am
maxxoccupancy wrote

My forte is Assembly optimization, and I know a few tricks for the Z80. If you still have a link for the source code, I may be able to go over it and save a few cycles in the main loop to free up time for better sound.

That's assuming that we later find a volunteer who's willing to work on the audio.

Or we'll just have a slightly better frame rate.

Thanks for letting me take a crack at Guile's artwork, btw. That was actually more challenging than coding, now that I think of it.


Well, Louis does have an awesome version of Ken's stage out there. It can be found here:

https://www.pyxosoft.com/projects/sms_sf2/downloads/sf2_ken.psg

I did look over the code a bit, my knowledge of anything audio is still lacking. I would like to try and see if the audio could be updated with what Louis was kind enough to offer. I'm just concerned that it may be limited for a reason.

You should be able to disassemble the rom using Emulicious.

I have done this in the past with Golden Axe, when making changes to the look up code for the compressed ending game art and the magic select screen.

If the controls and audio can be improved, I would call that a net win overall. The movement will always be choppy, no matter what optimizations are applied. It's less of a concern to me.
  View user's profile Send private message
  • Joined: 05 Mar 2022
  • Posts: 129
  • Location: Seabrook, New Hampshire
Reply with quote
Post Posted: Wed Feb 22, 2023 7:18 am
xfixium wrote
maxxoccupancy wrote

My forte is Assembly optimization, and I know a few tricks for the Z80. If you still have a link for the source code, I may be able to go over it and save a few cycles in the main loop to free up time for better sound.

That's assuming that we later find a volunteer who's willing to work on the audio.

Or we'll just have a slightly better frame rate.

Thanks for letting me take a crack at Guile's artwork, btw. That was actually more challenging than coding, now that I think of it.


Well, Louis does have an awesome version of Ken's stage out there. It can be found here:

https://www.pyxosoft.com/projects/sms_sf2/downloads/sf2_ken.psg

I did look over the code a bit, my knowledge of anything audio is still lacking. I would like to try and see if the audio could be updated with what Louis was kind enough to offer. I'm just concerned that it may be limited for a reason.

You should be able to disassemble the rom using Emulicious.

I have done this in the past with Golden Axe, when making changes to the look up code for the compressed ending game art and the magic select screen.

If the controls and audio can be improved, I would call that a net win overall. The movement will always be choppy, no matter what optimizations are applied. It's less of a concern to me.


I may have posted this elsewhere on this thread or another. I've always thought that the SMS could offer a 1-on-1 fight game like this by having each fighter be four sprites wide, albeit a bit tall. (Since the stance is usually wider, the leg and arm sprites can be pushed out a bit--not being strictly a 4x8, 4x9, or 4x10 block.)

The only thing that would have to be drawn into background tiles by the Z80 are the actual punches, kicks, and fire. Since that's only a few tiles, fewer frames would be dropped, so we'd still see 20-30fps during rapid attacks. Movement of both characters would be smoother, and they wouldn't be confined to 8x8 locations.

This would leave more CPU time for audio and music. Using two separate music tracks at the bottom of the stack, we might even let one of the tracks drop off when we run out of cycles so that we don't lose frames. Only when the characters stop for a moment do we get the percussion back, for example.

This may require a complete rewrite or even a porting the SF2 assets (or another game) over to a sprite-based engine, then merging punch-kick sprites into background tiles to remove flickering.

Just a thought.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14682
  • Location: London
Reply with quote
Post Posted: Wed Feb 22, 2023 7:21 am
Replacing the audio engine with psglib will naturally increase the ROM size and reduce the CPU time spent on audio. You might also use pcmenc to up the sample quality, but they will still stop gameplay while playing.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Mar 2022
  • Posts: 129
  • Location: Seabrook, New Hampshire
Reply with quote
SMS Street Fighter 2 ROM Hack
Post Posted: Wed Feb 22, 2023 8:28 am
BTW, is there anything more I can do to help improve this project?

I'd wanted to add a parallax scrolling effect along the ground, but it looks like there aren't enough free cycles left to accomplish this.
  View user's profile Send private message
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Wed Feb 22, 2023 11:35 am
maxxoccupancy wrote
BTW, is there anything more I can do to help improve this project?


The aforementioned audio and control improvements would help this port a great deal. What Maxim suggested with psglib is what needs to be done. There might be some juicy spaces that the audio driver might fit in to. There's quite a lot of space where I injected the updated credits. That bit of data could be pushed elsewhere, if need be.

Decompile, grab wla-dx, and have at it, I say.
  View user's profile Send private message
Reply to topic Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next



Back to the top of this page

Back to SMS Power!