Streetfighter 2 conversion for MSX

Page 2/17
1 | | 3 | 4 | 5 | 6 | 7

By Paulbrk

Hero (611)

Paulbrk's picture

20-10-2011, 12:06

YES!!!

This kind of Idea make possible to make Street Fighter 2 doable on a MSX2.

By ARTRAG

Enlighted (6251)

ARTRAG's picture

20-10-2011, 13:20

I suggest this:

- do both fighters as sprites
- use the VDP to copy from VRAM to the SPT the data of each frame

this allows two 32x64 fighters on the screen and you can store in VRAM as many frames you like

A single sprite frame 32x64 with 3 colors per line takes 8*32 +16*8 (colors) = 256 +128 bytes in vram
Thus, you can store about 170 frames in two pages ;-)this is not a bad idea, however I dont like the limitation of fighters being 32 pixels maximum in width. If you look at the chun-li sprite sheets you will see this is just not good enough.

however you did give me a good idea.
It might be smart to make both fighters as sprites, and then when the sprite is wider than 32 pixels (when a fighter kicks or punches) then the additional graphic data can be copied as a software sprite.
So basically players are hardware sprites AND they will be added with software sprites if needed....
Very good idea, thanx !

About storing the frames in vram, that's a good suggestion, although i dont mind updating the spritedata from ram to vram each frame, since there will be enough time anyway (i'm thinking that 30fps is doable)

Using the VDP for moving the sprite data is a very good method for using efficiently the VRAM
All you need is :
- two SATs for double buffering colors
- a single SPT used for double buffering (positition 0-31 and 32-63 used as two pages)

Differently you have to spend z80 time and you cannot exploit the VRAM efficiently for storing data

Thanks to the "compressed" nature of the data for HW sprites, you will have sufficient VDP time to copy also bitmap "details" to integrate HW sprites when the frames become larger than 32x64

Just use page 0 and 1 that to double buffer the bitmap animations

Consider also that data for HW sprites can safely fit aven under the borders of page 0 and 1 that you will use to double buffer the bitmap animations

By retrocanada76

Champion (462)

retrocanada76's picture

20-10-2011, 18:21


- two SATs for double buffering colors
- a single SPT used for double buffering (positition 0-31 and 32-63 used as two pages)

Hey, this is the techinique I'm using in my mario! Go search another one for you! I called it first Wink

By PingPong

Prophet (3449)

PingPong's picture

20-10-2011, 18:51

... however I dont like the limitation of fighters being 32 pixels maximum in width. If you look at the chun-li sprite sheets you will see this is just not good enough.

this is because we tend to think that sprites layers must be exacly overlapped.
sometimes layers can be X shifted, gaining more width. Of course, you will pay in color freedom.... but look at the main ship in konami nemesis, it's 24 pixels wide and is using two colors blue and white.
Normally 3/4 sprites should be required, but konami used only 2

By ARTRAG

Enlighted (6251)

ARTRAG's picture

20-10-2011, 19:24


- two SATs for double buffering colors
- a single SPT used for double buffering (positition 0-31 and 32-63 used as two pages)

Hey, this is the techinique I'm using in my mario! Go search another one for you! I called it first Wink

1996 Total Parody
look at that code and tell me who did it first
Tongue

By JohnHassink

Ambassador (5415)

JohnHassink's picture

20-10-2011, 20:05

take a look at this image, is on 16 colours SC5, all the background and the characters
That's screen 5? Incredible!!!

By retrocanada76

Champion (462)

retrocanada76's picture

20-10-2011, 20:34

hmm, since your HDD has crashed and your game wasn't finished I would say..... no i'm just kidding Tongue

By Paulbrk

Hero (611)

Paulbrk's picture

21-10-2011, 09:21

Thanks JohnHassink, the PC tools are far the best tools to develop for any plattform Smile

By norakomi

Paladin (993)

norakomi's picture

23-10-2011, 10:38

Oh btw,
In case I want to copy the software sprites directly from Rom/Ram to Vram ?
Has anyone ever tested this ?
Lets say I want to copy my softwaresprites from Rom/Ram to Vram,
And any clue how much slower this is than a Vram to Vram copy ?
And is it possible to do a transparant copy from Rom/Ram to Vram ?
[edit] ah I see an older post, all this is possible, and it's basically like copying pixel by pixel using out commands....

By ARTRAG

Enlighted (6251)

ARTRAG's picture

23-10-2011, 11:38

yes
the command is LMMC (look page 75)
http://www.ccas.ru/brychkov/MSX/V9938_programmers_guide.pdf
it lock the z80 so it is not a good idea

The best thing I can think to is this mixed approach:

1) when the animation frame is composed by sprites + bitmap
send a HMMM command (High speed move VRAM to VRAM) for the bitmap part (LMMM if you need logical operations) and, while the command is being executed, copy RAM to VRAM the sprite definitions using standard VRAM access.
In this was the VDP engine and z80 work in parallel and you get the max video bandwidth
(This is the sole case when the msx video section has an acceptable performance )

2) when, instead, the frame is a pure sprite, just use a HMMM command for moving VRAM to VRAM the sprite definitions.
The z80 will be free of other duties while the vdp engine works

The contra is that you have to keep the sprite definitions both in VRAM and in RAM and that you need two different routines for updating players

Page 2/17
1 | | 3 | 4 | 5 | 6 | 7