Exoid Z - how they did the MSX 1 smooth scrolling?

Página 1/4
| 2 | 3 | 4

Por pacpacfujishima

Rookie (22)

Imagen del pacpacfujishima

30-06-2010, 01:06

Hi all,

I was looking into Exoid Z videos on youtube (never had this game actually) and I was astonished by the smooth scrolling.
I have Activision's River Raid and Pastfinder and they have scroll, but I always tought that the trick in those games was that large parts of the screen are 'blank' (simple green, 'grass' in River Raid and Pastfinder, with very few actual map blocks to move for example just the few walls here and there in Pastfinder).

But Exoid Z had full level maps much like Star Force or Star Soldier... how they did that? Smile

Login sesión o register para postear comentarios

Por flyguille

Prophet (3028)

Imagen del flyguille

30-06-2010, 02:44

Yes!, the same here, for a MSX1 game EXOIDE Z has a 1pix vertical scroll. And I always wondered how it does.

After a lot of time I only can conclude, that it is doing *SMART MAPPING*, is to say, you only can use *compatible* patterns verticaly, so you can't draw anything that you like, you can to set predefined strings of patterns vertically.

The SPACE as background is the cut off... so, the game will change the NAME table every 8 pix scrolled, but the patterns 8 times in a cycle.

Remember that SCREEN2 has not color limitations talking vertically.

The cost for this method is REPETITIVE BLOCKS of GRAPHICS one and another time!.

Por pacpacfujishima

Rookie (22)

Imagen del pacpacfujishima

30-06-2010, 05:53

thanks flyguille

it's interesting... if so, do you think this method could be used in Coleco and SG-1000 machines as well?

wikipedia has some insight in scrolling for some games in the article about the Texas Instruments TMS9918:
http://en.wikipedia.org/wiki/Texas_Instruments_TMS9918
("Tradeoffs used in games")

And, even further, do you think this could be used in MSX 2 Screen 5 to do fine *horizontal* scroll? Because afaik Screen 5 has no color limitation talking vertically or horizontally (each pixel can be any of the 16 selected colors).

Por hap

Paragon (2039)

Imagen del hap

30-06-2010, 08:32

After a lot of time I only can conclude, that it is doing *SMART MAPPING*, is to say, you only can use *compatible* patterns verticaly, so you can't draw anything that you like, you can to set predefined strings of patterns vertically.

The SPACE as background is the cut off... so, the game will change the NAME table every 8 pix scrolled, but the patterns 8 times in a cycle.Nice assumption, but Eek!, it's a 2-pixel scroll (bg stars 1-pixel scroll), every possible vertical 2-tile combination is defined 4 times so the pattern/colourtable doesn't need to be rewritten, and it double buffers the nametable to prevent tearing.

Yes, it can be used for other machines that have this videochip.

Por flyguille

Prophet (3028)

Imagen del flyguille

01-07-2010, 02:37

Screen 5 is no color limitation because is a BITMAP screen, not blocky, you must execute a entire COPY vdp's command for the entire ???? 32K iirc well a bit less, (not just an average 4K~8K like msx1).

Because that, MSX2 failed in good scrooling on the X axis using bitmaps, because VDP was powered up in what can to show, but not in the speed of what can to do, and CPU remained the same, never mind that it has to do four to eight times more work.

But, there is a trick, you can do 4px h scroll in MSX2 that is not very noticeable, in SCREEN4 but with patterns limitations, or imagine that the viewer ignore what sees at the screen borders. (the H-ADJUST trick).

Por Hrothgar

Champion (479)

Imagen del Hrothgar

01-07-2010, 08:35

I keep failing to understand why people say that MSX2 failed in good scrolling because "it has to do four to eight times more work". That's VDP work! In flipscreen games the VDP is simply sitting idle 90% of the time, and CPU is hardly affected if you add (certain types of) smooth scrolling. I would say that many types of MSX1 games are hugely more exhausting from a CPU point of view seeing how you must pump kilobytes of data to and fro one byte at a time on each and every frame. On MSX2 you can simply execute 15 single copy instructions in consecutive frames (and only some more work in the 16th frame) to get the basics of smooth scrolling going, which is a fine example of how you can do parallel processing with a dedicated video chip.

MSX2 failed in good scrolling because authors were either too lazy or too ignorant on how to do it correctly. There have been a number of examples showing it can be done perfectly, and I don't have the impression they drive the computer to its insane limits - they just use scrolling registers as they were designed in 1985.

Por PingPong

Prophet (3793)

Imagen del PingPong

01-07-2010, 10:25

In flipscreen games the VDP is simply sitting idle 90% of the time
must agree, pratically the vdp was not either used effectively in terms of animations. Of course the more limited and more easy to use hw sprites limited the efforts made by programmers in advanced use of VDP.
MSX2 failed in good scrolling because authors were either too lazy or too ignorant on how to do it correctly.

you must admit that the tecnique is a bit tricky.
However, the hw horizontal scroll missing feature on vdp 9938 was IMHO was not under-evaluated or forgotten by yamaha people. I think they have considered to make it, but IMHO for time reasons they have not included that feature.

i think v9938 as a "beta version" of what yamaha engineers have thought in beginning: the v9958.

Por Hrothgar

Champion (479)

Imagen del Hrothgar

01-07-2010, 10:59

The v9958 indeed has a great feature in allowing pages to entirely scroll sideways, instead of having to block-copy the whole screen every 16 pixels you only need to update the sides. However on V9938 a fullscreen Screen 5 game can be scrolled the lazy way (with very few CPU burden and low number of commands each frame) with a speed of 1 or 2 px horizontally per frame, which is 50 or 100 px per second.

Look at platforms such as NES or C64: how many games are there that use to scroll at more than 100px per second (which is scrolling the whole screen every 2,5 seconds)? Not much. Maybe Turrican or Mayhem in Monsterland, but not the vast majority of titles.

Many titles such as Vampire Killer or Contra could have used scrolling on MSX2 as well, both games have masses of VDP processing time left and CPU burden for 'lazy' scrolling is low. What exactly would you call tricky?

Por pacpacfujishima

Rookie (22)

Imagen del pacpacfujishima

01-07-2010, 12:50

Many titles such as Vampire Killer or Contra could have used scrolling on MSX2 as well, both games have masses of VDP processing time left and CPU burden for 'lazy' scrolling is low. What exactly would you call tricky?

That 2 games using scrolling would be great indeed. I immediately though of the NES versions of the same games. They're brilliant. As am MSX fan, I always thought that the MSX(2) was hardware-superior to the NES, but those 2 titles always sparked a small doubt regarding this...

Por Hrothgar

Champion (479)

Imagen del Hrothgar

01-07-2010, 13:04

It all depends:
- Scrolling seems easier on NES than MSX2, but for most purposes MSX2 will do fine.
- Graphically NES seems superior to MSX1 screenmodes but inferior to MSX2 screenmodes.
- NES is somewhat superior in terms of sprites than MSX2 and certainly beats MSX1.
- They are even in sound capabilities; NES has more channels yet poorer sound quality IMHO.

Considering the NES/Famicom was first released in 1983 (as MSX1, predating MSX2 a number of years) makes it quite an impressive gaming machine. Same goes for the even older C64 by the way, which beats MSX1 in almost all ways and MSX2 in several.

Por PingPong

Prophet (3793)

Imagen del PingPong

01-07-2010, 14:08

What exactly would you call tricky?
Please do not misunderstand me . Big smile I'm Only saying that the need to give a command every frame to scroll 1/16 of the frame itself is a bit more complex than working in the C64 way where one time every 8 you need to do a massive update.

Only a bit more complex, sure not impossible. By the way, most games have no need to scroll at full screen. in most of these there is a scorebar that takes 1/3 of the screen. that reduce the size of bytes to move every frame leaving spare time to vdp to perform other actions.

Página 1/4
| 2 | 3 | 4