Have the VDP limits been reached? (General discussion MSX Forum)MSX Resource Center               
              
English Nederlands Espa�ol Portugu�s Russian French         

MSX Forum


MSX Forum

General discussion - Have the VDP limits been reached?

Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 Next Page )
Author

Have the VDP limits been reached?

Yukio
msx master
Posts: 1048
Posted: September 15 2008, 14:07   
Quote:

Yes, only if the entire screen is static, which for games it never is. Background scroll, foreground scroll and nonsprite objects moving leaves you in the cold quickly Nor would there be any visible changes for a timespan of 16 frames.



I could be wrong but I believe that for old beat em up games (at least the home versions) most of the backgrounds are static images. Sure, some of them use parallax too or a one colour special cloud effect. I am not sure how good a flipping screen with a white cloud would look on Screen 5, does anyone know if a "light and shadow" effect would turn to be a good thing on MSX2 home computers !?
Salamander2
msx lover
Posts: 99
Posted: September 15 2008, 23:19   
i really would like a shooter in the vain of HYDEFOS.
(the best msx2 game for me)
Yukio
msx master
Posts: 1048
Posted: September 16 2008, 05:23   
To bad that I only got one disk of HYDEFOS, but there was a nice poster of PSYCHO WORLD with it ...

Salamander2
msx lover
Posts: 99
Posted: September 16 2008, 06:25   
hydefos is trully psycho hardcore. 3 finals and tons of secrets.... =\
never reached more thant 88% in stage 2 or the third final.

a great horizontal shooter.

[D-Tail]

msx guru
Posts: 3131
Posted: September 16 2008, 08:34   
What strikes me the most, is the great BGM in the first stage. I really love that piece of music
DemonSeed
msx master
Posts: 1392
Posted: September 16 2008, 11:54   
Quote:

What strikes me the most, is the great BGM in the first stage. I really love that piece of music


Yeah, me too.
http://www.msx.org/modules.php?op=modload&name=Downloads&file=index&req=visit&lid=876

Quote:

hydefos is trully psycho hardcore. 3 finals and tons of secrets.... =\



Please tell me how to get a different ending.

Must have finished the game over 10 times, but always got the same one.
Judging from the BGM test there should at least be a wedding?
Is this correct?
Arjan
msx addict
Posts: 500
Posted: September 16 2008, 12:22   
About VDP command speed: this page has detailed information about the VDP command speeds in various circumstances (sprites on/off, screen height)


Arjan
msx addict
Posts: 500
Posted: September 16 2008, 12:25   
Quote:

The nice thing about coloursplits is that you hardly notice them if they're done in the right way so indeed I probably missed them if they are so common. Can you give some examples of where they're used?


Bombaman uses colorsplits in the titlescreen, don't know any other game which uses a colorsplit in the titlescreen.
manuel
online
msx legend
Posts: 4320
Posted: September 16 2008, 23:46   
IIRC, (the promo of) the "Incredible Micro Mirror Men" by NOP also used color splits. In the game itself.
ARTRAG
msx guru
Posts: 2227
Posted: September 17 2008, 10:24   
I added the "differential" rendering to the TP engine and there are quite a lot of savings...
http://totalparodyrebirth.googlecode.com/files/TPengine.rar

The non black area in borders is the one used in code execution and in waiting for VDP command execution.
The black area is spare time.
Hrothgar
msx freak
Posts: 137
Posted: September 17 2008, 11:10   
Interesting; when I looked at the original TP demo last week I guessed it wouldn't as much benefit from differential copying as the patterns aren't distinctly 32-px repetitive. How large (in %) is the saving with this version? Obviously when keeping this in mind in level design the savings could be far greater.

Your demo (which already looked very good BTW) also shows that parallax is not really an option. With an X-px difference only effective every pageswap (16px I assume) it looks more like a copying glitch than an intended effect. I guess parallax scrolling can only be done in pattern-based modes.

Another interesting question: when only precalculated copies are stored to build up the levels when scrolling, how does this compare memory-wise to the original way of storing the levelmap? (But I guess this depends heavily on whether scrolling is fixed or flexible according to the user's movements, and if the player can also move backwards.)
ARTRAG
msx guru
Posts: 2227
Posted: September 17 2008, 11:36   
Quote:

Interesting; when I looked at the original TP demo last week I guessed it wouldn't as much benefit from differential copying as the patterns aren't distinctly 32-px repetitive. How large (in %) is the saving with this version? Obviously when keeping this in mind in level design the savings could be far greater.



Well the saving is large. Consider that now I copy a column each frame. Column 0 due to the border cannot take advantage of the differential coping (its rendering corresponds to the longest blue flash). To have an idea of the saving compare the length of the longest blue flash with the average length of the blue border.

Quote:


Your demo (which already looked very good BTW) also shows that parallax is not really an option. With an X-px difference only effective every pageswap (16px I assume) it looks more like a copying glitch than an intended effect. I guess parallax scrolling can only be done in pattern-based modes.



I would not be so negative. Maybe rather than a sky (that being far should have a sensible parallax speed) it could be used for the back of a cavern or of a forest. In this case a low parallax speed is OK.
The real problems are two:
1) the background tiles cannot take advantage from the differential drawing (as they change at each step)
2) two pass blocks: they have to be copied as background (High speed) and and foreground (Low speed). The number of two pass blocks per columns is very limited and they cannot take advantage from the differential drawing.



Quote:


Another interesting question: when only precalculated copies are stored to build up the levels when scrolling, how does this compare memory-wise to the original way of storing the levelmap? (But I guess this depends heavily on whether scrolling is fixed or flexible according to the user's movements, and if the player can also move backwards.)



As now the screen is build per column I do not store precalculated commands.
Actually precalculating could be interesting for load balance...
If, thanks to differential rendering, I gain some time in a frame, now that time goes lost even if I know that the successive frame will be critical...
I'll think about it. The advantage of C is flexibility. (Yes this TP rebirth is in C for HTC v7.8) ;-)

ARTRAG
msx guru
Posts: 2227
Posted: September 17 2008, 17:59   
Something about IE0 and IE1 bits is not clear to me...
Any expert here ?
Salamander2
msx lover
Posts: 99
Posted: September 18 2008, 05:58   
yukio: please send me HQ scans of your hydefos box and manual. i'll try to translate it.

DemonSeed: i'm trying too. but in this weekend, i'll try it again.

if you are interested to talk about...

magicspellbr AT hotmail PT com

ARTRAG
msx guru
Posts: 2227
Posted: September 19 2008, 20:17   
Hrothgar

I'm exploring you idea about pre-computing the data to feed the VDP for screen drawing....

I tried to compute at each scroll position the command to build the next frame, in order to balance the number of copies
among the 16 steps in witch the screen is build.

The problem is that the best code I can do takes one frame or more to compute the data of the next page.



void   scanpage (uchar * window, tileinfo todo[])
{
  if    (currpage) 
    buff = shadow1;
  else
    buff = shadow0;

  p = todo+1;

  for (i=14;i>0;i--)
  {
    wy = window+i;
    if (i)
        for (j=0;j>11;j++)
        {
          if  ((*wy)!=(*buff))
          {
            *buff = *wy;
            p->s = *wy;
            p->d = j*16+i;
            p++;
          }
          buff++;
          wy += map_w;
        }
    else
      for (j=0;j>11;j++)
      {
        p->s = *wy;
        p->d = j*16+i;
        p++;
        wy += map_w;
      }
  }

  n_item = p - todo;
  
  fairld = n_item/16 + 1;

  p->s = n_item;
  p->d = fairld;
}


Another possibility is computing off-line the data for any scroll position.
It takes too much memory.

If a command can be driven by just two bytes, (source tile destination square), a page takes up to 15x12 commands, as 15x11 if you want room for scorebar.

if a page is 15x11x2 bytes assuming a room large 64x16 = 1024 pixels we need 64-15 = 49 scroll positions the total room in RAM is 49*15*11*2 = 16K !!

This for one direction!
The other direction needs other 16K



 
Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 Next Page )
 







(c) 1994 - 2010 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.