@Norakomi, as people said, they preffer a more playable game with smaller graphics, please use my coloured ryu with some of the SC5 background I put here, they has the same solor palette, will look fantastic. Use the Gameboy sprites I give you and use it like HW sprites, some parts can be SW sprites. I am sure that you can color the sprites with this colour palette, remember, it has color for all the elements on the game.
This is my final opinion about SF2 on MSX.
well to be honest...
I dont see a decent sf2 clone working on 60fps
maybe 15 or 20 fps is discussable...
im kinda losing hope of making a decent port........
@Norakomi, please dont give up!
Maybe you want to try out sprites drawn with the cpu?
The idea goes like this:
port 98 bandwidth is like blitter copy. means THREE times faster than blitter transparent draw.
Further, cpu can draw while blitter does cleanup in another frame, multiprocessing!
This too needs 3 buffers, but a bit different, one displayed, one draw, one cleanup. Then rotate. Or does it maybe need a 4th buffer, the empty background? No problem, with cpu all sprites come from ROM.
The cpu does not need to draw transparent pixels - this may compensate the vram setup and border pixel PSET draw overhead. So then the complete sprite would roughly run at the rate of one single HMMM copy blit!
In the pic you posted, the enemy fighter is 43x81 pixels. With like 33% transparent pixels, there is a chance that cpu keeps up with blitter cleanup. So speed is like one single HMMM blitter copy of this square: 0.01 seconds
If you want to stretch it even more, a 32 pixel wide band of 16 color sprites can assist.
16 color sprites means no extra painting, no palette issues.
Well on paper the shown scene does run 60fps
If reality would turn out factor 2 slower, it still would be an excellent game!
For every sprite you need to prepare a list of lines in RAM, lines of non-transparent pixels:
amount of line chunks
amount of pixels, address offset into sprite data (also is offset to "top left pixel" in vram)
amount of pixels, address offset into sprite data
...
And a second list for the border nibble pixels:
amount of pixels
offset, value, offset, value, ...
Two nibble lists for "left nibble" and "right nibble" run by two different masking loops.
Next to the "offset" words, there can be a "address word" for the ROM location which does not change.
What do you think
@Paulbrk:
@Norakomi, as people said, they preffer a more playable game with smaller graphics, please use my coloured ryu with some of the SC5 background I put here, they has the same solor palette, will look fantastic. Use the Gameboy sprites I give you and use it like HW sprites, some parts can be SW sprites. I am sure that you can color the sprites with this colour palette, remember, it has color for all the elements on the game.
This is my final opinion about SF2 on MSX.
wow your picture looked so good I thought you had 16 color background and 8 color sprites or something nice job!
Did you take into account player 2 and projectile colors?
@Sarcasmic:
You should make a gfx dump from the original snes game in this way you will see how those sprites where made 16x16 tiles if you look in the original texture atlas you will see what i mean every charcher including chun lee is chopped up to save space.... ever tought of doing a copy mirrored instead of wasting 2 times as much data??
I thought I posted it already but it seems I didnt:
What you are saying is what I suspected and its what I meant with my first post. However, I have never seen the chopped-up versions of the sprites on the internet. How can you make such a dump? Just out of curiousity/love for streetfighter
Yes @SYN, I take acount player 2 and the projectile colors, with this 16 color palette you can make all the graphics of this game.
Well I obviously see a possible port of sf2 for msx, with the sprites that Paulbrk suggests it can for sure be done.
But the sprites are so much more smaller than the original, it makes me question if it's worth the sacrifice.
And as soon as you start making the sprites a little bit bigger you get problems that either vram space is not enough,
or you end up with copies (rom-vram) which slow down the game way too much.
@hit9918: I'm sorry to sound noobish, but i dont understand most of what you are saying, could you pls elaborate?
The idea goes like this:
port 98 bandwidth is like blitter copy. means THREE times faster than blitter transparent draw. So you wanna use port 98 and out instructions to copy the transparant sprite from rom to vram ?
And you are suggesting that this is 3x faster than a blitter transparant copy ???? HOW ?
I find it rather IMPOSSIBLE to believe that. A blitter copy is meant to be faster than a pixel by pixel copy.
furthermore you are talking that on paper it's possible to make this game run on 60 fps ?
if like you say we use enemies that have a 43x81 pixels size,
then restoring background behind 1 enemy is a 44x82 HMMM blitter copy which ALREADY costs more than half a frame period.
So restoring background behind both players costs us already 1 frameperiod.
And those are the fast copies,
if after that we need to paste our new sprites (transparant) that will cost us another 2 frameperiods.
Which means we are already down to 20 fps.....
Further, cpu can draw while blitter does cleanup in another frame, multiprocessing! you cant really do that. Because if you do this:
1. restore background behind player 1
2. at the same time paste the new movement position of player 1
then step 2 might be overwritten by step 1. You better wait till step 1 is done....
Next to that you first need to restore background behind both sprites, and then you can paste both transparant sprites,
otherwise you will get into trouble if both players are overlapping each other.
The cpu does not need to draw transparent pixels - this may compensate the vram setup and border pixel PSET draw overhead. So then the complete sprite would roughly run at the rate of one single HMMM copy blit!I don't understand that at all. A transparant copy from rom to vram at the same speed of a HMMM copy ? that's impossible.
@syn: SNK vs Capcom is pretty cool And for sure doable on msx2.
@syn
Card Sagas Wars is awesome!
http://www.dragonnestsource.com/forum/chitchat/1301-card-sagas-wars.html
is it really a fan game?
I was really impressed by that as well... and then disappointed because it wasn't available yet
don't forget that transparent copies mean 2 logical copies (AND mask and OR color).
unless of course if you create a framebuffer in ram than you blit a rectangle direct to vram.
hit9918 proposed a very new and clever way to do transparent copy:
Develop a PC tool or whatever that, given a picture with transaprent background, pre-computes a list of offsets of vram addresses and a list of lengths able to "depict" the shape of the object you need to plot.
Use standard vram access (port 0x99) and outi (port 0x98) to "fill" the shape of teh object with its bitmap.
As you do not do any logical operation, you work almost at the full I/O speed between z80 and VRAM
The overhead is the continous computation and setting of vram addresses, that can be limited if the shape of the object is not so much irregular.
The idea is nice, even if it is a bit complex to be implemented as it needs an external tool, but it leaves the VDP engine free to work in parallel other copies.