Test of Metal Slug screens on MSX 2/2+

Страница 3/4
1 | 2 | | 4

By alexito

Paladin (743)

Аватар пользователя alexito

10-04-2021, 17:13

@Pentarou: at least we have R800 with NEOTRON to mimic the AUDIO part. Running Naked in a Field of Flowers

I think the more difficult part is the downgraded colors as you see in the Atari STE demo Video I wonder what kind of program they use for do this because you need to modify all the 16/4 bits colors (of total of 256 Palettes) per Sprite to point one single global 16 Palette on STE so you need to choose your global palette of 16 colors for BG Graphics and Soft Sprites is really a headache. That was my main concern when I try to adapt Cyberslip to Megadrive long long time ago. I'll post a Youtube Video later to show how weird and painfull was it. That's why I decided no more work at genesis because the 64 colors restriction is to hard to manage for just single programmer.

By syn

Prophet (2061)

Аватар пользователя syn

10-04-2021, 17:04

Metalion wrote:

Again, the graphic resolution and/or the color palette is the least of the problems here. The sheer amount of sprites on screen at any given time is the real problem. That's why I'm convinced it's only doable on V9990 : correct graphic resolution, up to 30 colors, 2 planes scrolling, 125 sprites on screen.

I mentioned it because sc12 is not suitable for a game if you want any type of sprites. So if you want an theoretical conversion one should try sc11

ofcourse there are too many sprites in the original for a v99x8 to handle an accurate port, anyone can see that.

By albs_br

Champion (315)

Аватар пользователя albs_br

10-04-2021, 17:51

Just to spice up the discussion:

MSX 2 / Screen 5 / 256x192 (palette would have to be very carefully chosen, manual work here, automated tools will not achieve a great result, my guess)

Red: HW sprites (OR'ed, 16x32, 4 sprites per character)
Green: SW sprites

30 fps on NTSC:

At even frames: do scrolling, update sprites (patterns table), I read somewhere (@santi blog?) Z80 can spit around 2500 bytes per frame to VRAM, on MSX 1, MSX 2 may be a little more. Subtracting 25% for scrolling we have 1875 bytes left. That way you can update 1875 / (4 x 32) = 14 characters;

At odd frames: do SW sprites for part of characters and shots (have no idea on how much does it take)

This way only 4 chars per line will be possible... Maybe the player can be allways full SW sprite, making room for one more enemy on the same line.

Of course, game logic and sound will need space and the above will have to be sacrificed a little.

Are these assumptions right?

By Daemos

Paragon (1951)

Аватар пользователя Daemos

10-04-2021, 18:56

Could be doable but it requires tons of calculations. The Z80 will never be able to keep up with that. R800 will be your absolute minimum to pull something like this of.

First thing to try is getting a scroll engine to work that is very very very fast. Only in screen5 you could pull this off. Now I saw that the game scrolls in two directions? If the scroll is only in one direction it would have saved you soo much more clocktime.

By alexito

Paladin (743)

Аватар пользователя alexito

10-04-2021, 20:04

Was very funny to remember the last time when it was compiled by 1997 and took me 30 days between 6 or 7 hours everyday day until I came to reality and say to myself is not possible to accomplish by just one person.

I borrowed some sprites manipulations from Pro Striker 2 and Music Program from Alien Storm.

Youtube Video
Sources

That's why I think a project as Metal Slug Demo for MSX 2 will be a work of love as a group ONLY.

PS: Check this Homepage for some Sprites Animations (Cyberlip)--> LINK
also the insane sprites animations with some Metal Slug related --> LINK

By albs_br

Champion (315)

Аватар пользователя albs_br

10-04-2021, 20:06

Daemos wrote:

Could be doable but it requires tons of calculations.

IMHO the way to make the MSX do wonderful things is to precalculate everything, the Z80 has to work only to copy things from ROM to RAM/VRAM. Space is not an issue anymore, as a MEGA ROM can have up to 4MB (level graphics for all game was estimated on 1,5 Mb on first page oh this thread).

By alexito

Paladin (743)

Аватар пользователя alexito

10-04-2021, 20:17

@albs_br: Why just 4MB ROM instead why not use of full 16MB RAM we have 16MB RAM expansion already in the market (Playsoniq, ClassicPC)

By Daemos

Paragon (1951)

Аватар пользователя Daemos

10-04-2021, 21:01

What I mean is that the sofsprites need to be copied into the VRAM and thus the old background needs to be restored. You either do a vdp command or linecopy but the background needs to be restored. So you can do calculations and put the background in proper place but that takes clocktime.

Remember that when a 16x16 softsprite crosses a few tiles in the next frame you quickly end up restoring the background for 9 16x16 tiles!! That alone creates a workload of outs unimaginable. 9 tiles for 1 sprite.... then you have to copy in the sprite.

Now there are ways to store the copies and make very efficient outs but then you need to do fast compares and calculations. If you want to precalculate that sort of stuff, just imagine the amount of data required. Wink

No if your do everything very clever. You could make the port in such a way that the 8 sprites per line limit never crosses and do a monster sprite split. This is doable but costs alot of cycles.

By Daemos

Paragon (1951)

Аватар пользователя Daemos

10-04-2021, 23:20

Now on v9990 our chances are alot bigger. Blitting goes 20 times faster when using commands. So if al the sofsprites are in de vram you can actually do some neat stuff. In combination with hard sprites it may be doable. The tilemode on the v9990 is very capable maybe one layer can be sacrified to move the huge tanks in screen.

By alexito

Paladin (743)

Аватар пользователя alexito

11-04-2021, 00:25

More doable if you use Video9000 with the super impose feature. I hope Tecnobytes could make a batch for dreamer like me. Crying

Let's dream a little: MSX Turbo R + Video9000

1.- We will choose Dual Playfield Mode(VDP9990) + Screen 4 (VDP9958)
2.- The Tiles from Screen4(V9958) is our whole one plane/playfield of text background it goes all of way at front.
3.- The 1st V9990 Playfield will be our Tiles/background it comes all of way in the back.
4.- The 2nd V9990 Playfield will be our Software Sprites Render/Buffer screen located just in the middle.

And we almost mimic the Arcade specs for the 80's. BA-team

PS: Juan Luis was able to use the Blitter on V9990 in Dual Playfield Mode in a very wise way so Software Sprites is the way.
I check the engine demo on Real V9990 I get very Impressed.

Страница 3/4
1 | 2 | | 4