Why in the eighties they did not squezed hw?

Pagina 2/4
1 | | 3 | 4

Van AxelStone

Prophet (3058)

afbeelding van AxelStone

31-08-2016, 08:48

PingPong wrote:

I do not agree, instead. look at the speccy or c64... they have tryed the impossible to squeeze the impossibile. maybe if msx had a more diffusion they will increase the efforts... the same thing is for spectrum convertions

You are mixing concepts. Spectrum ports is not a good reference, other Z80 based systems as Amstrad CPC suffered them due to cost issues: with 1 code (spectrum) you get 3 versions (Spectrum, MSX, CPC). In most case, the CPC version was Spectrum version with colors, but didn't use the VDP capabilities of CPC.

Speccy has no secrets to explore, it was easy to get max from it. C64 has a lot of hardware features: make a smoth scroll on C64 don't need any special technique, you get it directly from hardware.

Van Hrothgar

Champion (479)

afbeelding van Hrothgar

31-08-2016, 12:46

I don't see the fundamental issue here.

For a smoothscroll:
- On C64 you do 1px scrollsteps using the hardware scroll 7 times in a row, then you revert the scroll position and in 1 VBLANK you update all the tiles (shifting them 8 pixels), then you start over.
- On MSX2 you do 1px scrollsteps using the hardware scroll 15 times in a row, then you revert the scroll position and in 1 VBLANK you switch the visible page (shifted 16 pixels), then you start over.

Only difference I see is that on C64 you have to do all the hard work in 1 VBLANK (effectively updating the entire screen by battering the video memory for each and every tile changed) while on MSX2 you can spread your CPU load much more evenly by issuing one simple copy per frame that shifts 1/16 of the page's contents to the alternate page.

Optional border masking aside, the MSX2 way seems much more game engine friendly to me and hardly anything 'advanced' or 'tricky'. C64 games utilized this type of smooth scrolling since very early in the life cycle of the computer and I don't have the impression its users or developers regarded it as advanced or tricky, it was simply one of the things the machine could do. On MSX2, hardly anybody did this (literally no-one in screen 5, I believe) which gave the machine the reputation of "cannot scroll = unsuitable for games", like its first-generation sibling, without any justification.

So yes, it was just a mindset thing of what is considered normal practice on a particular machine.

The only thing I would call advanced on C64 is when they don't use the regular hardware adjust for scrolling purposes (allowing only a limited number of pixel shifts, just as MSX2) but having your entire game engine in a raster of cycle-counted code, abusing a graphic chip bug enabling it to do a full horizontal scroll like MSX2 can only do vertically and MSX2+ horizontally. That was a demo thing altogether, only brought to a handful of real games, such as Mayhem in Monsterland in 1993 at the very end of C64's commercial life.

And yes, that's really an abused bug, not a feature, just read this article http://wiki.icomp.de/wiki/VSP-Fix . Somewhat similar to artifacts that occur on several MSX machines depending on the current temperature of the VDP.

Van ARTRAG

Enlighted (6579)

afbeelding van ARTRAG

31-08-2016, 15:29

C64 is tile based, you change the screen by loading 40*25 bytes (1KB in a frame, while the other 7 frames are free for game engine and other effects)
The msx2 in screen 5 has to move about 25KB at page swap. Yes you can spread the load in 16 steps (it gives about 1.5KB per frame) and use the vdp engine but everything is very tricky as you cannot change R18 while the vdp copy commands are in execution.
If you stay in screen 2/4 you get Space Manbow, in bitmap modes, it is another very different problem. In this I agree with Hap, it has taken years on one single problem to find acceptable solutions on msx2. Nothing acceptable for commercial development.

Van maxis

Champion (512)

afbeelding van maxis

31-08-2016, 15:43

IMHO, there is another angle to represent the problem of squeezing the last clock cycle from the hardware:
The presence of the detailed documentation or the lack of it.

For MSX-1 TMS9918 VDP description was very complete almost down to the timing, where VDP-II MSX2 engine was functionally described without any explanation of the screen mode tradeoffs. Also, as it was already discussed, since VDP-II engine was not directly made to impress the most picky SHMUP/STG player, its gaming performance was not at the top priority. Hence - no comprehensive and detailed documentation about the video memory timing, sprites, etc.

In contrary, the Amiga Hardware Reference Manual explains down to every engineering detail the functionality and the timing of their graphics subsystem (Agnus+Denise) and its co-existence with the rest of the machine.
IMHO, for all the companies, starting the game porting/design on MSX platform it was very important to understand the graphics limitations upfront in order to have no risks in the game development. Hence, the developers simply used the least common denominator between what was written in the doc and what they have understood when reading it, IMHO. No time for experimentation.

And the monsters like Konami didn't have to spend $$$ in order to find out all about the smooth scrolling on the home computer. They had arcades and game consoles for that.

A different situation for Psygnosis/BitmapBrothers etc, which had nothing to lose, but prove themselves in the game development arena. Also, for example, as Rob Hubbard in his teleinterview mentioned, at the beginning of 80s the game music wasn't that appreciated by the designers, and often they (game designers) had no clue about what is the music and what they can do with such a limited chip. IMHO the same is true for the graphics too. Lack of talent or a good will or a laziness - this is how huge difference in the game quality can be also explained, IMHO. There are good games and bad games....

Also, NES or SMS games are different from MSX. Not the same market. And different objectives....

Van Hrothgar

Champion (479)

afbeelding van Hrothgar

31-08-2016, 16:29

ARTRAG wrote:

C64 is tile based, you change the screen by loading 40*25 bytes (1KB in a frame, while the other 7 frames are free for game engine and other effects)
The msx2 in screen 5 has to move about 25KB at page swap.

The bytes are not relevant, that's all under the hood. For developing, the number and spread of distinct commands from CPU are what counts. MSX: 16 copies, one per frame. C64: 1000 writes, all 1000 in one frame.

ARTRAG wrote:

Yes you can spread the load in 16 steps (it gives about 1.5KB per frame) and use the vdp engine but everything is very tricky as you cannot change R18 while the vdp copy commands are in execution.

The R18 change has to be done in Vblank to prevent tearing of the screen mid-page, immediately issuing the 1/16th copy after that is then guaranteed to be finished before the next VBLANK. Please explain the problem to me. Only when faking border masking on MSX2 things get a lot more complicated.

Van Manuel

Ascended (18254)

afbeelding van Manuel

31-08-2016, 18:06

I think in the 80s they did not squeeze hw because it's not commercially interesting. Too much work for too little profit. You make something that sells, not something that's technically the most awesome...

Van MsxKun

Paragon (1038)

afbeelding van MsxKun

31-08-2016, 18:23

PingPong wrote:

Recently artrag showed us how to do v9938 horz smooth scroll .
Examples are uridium total parody (multilayer) in screen 5
He is the developer of the scroll without mask tecnique , he pushed even on screen 8 this.

In your opinion why commercial sw houses did not do the same?
Afaik there are no screen 5 games using this approach or maybe are very rare.
Even on screen 4 there aren't too much examples.

Lazyness ?

Anyone know of examples (like spmanbow) on commercial games?

Cause more hardware squeeze doesn't mean a better game. Doesn't mean more fun.
Cause using our limited hardware to squeeze it and still puting a decent game inside it is not that easy.

Examples you want... Well, I read days ago that Tetris was declared best game ever at some ranking. You know, those kind of rankins are always too subjective and so. No that I agree with it and so. No that I don't consider Tetris a good game. Certainly is one of the most played. What hardware does it squeeze?? None.

Van ARTRAG

Enlighted (6579)

afbeelding van ARTRAG

31-08-2016, 18:31

Hrothgar I desume you have not tested a lot what you describe.
You can read about the issue of r18 e.g. here, but it is reported also elsewhere and has nothing to do with borders
https://www.msx.org/forum/msx-talk/development/strange-issue...

About CPU load, I do not know what else counts in measuring effort and complexity

Manuel +1, many hw possibilities on msx2 were well hidden and not easily accessible to be suitable for commercial development.
It is not a case that r18 is documented as a way to adjust the position of the screen in CRT monitors and not as scrolling register.

Van MsxKun

Paragon (1038)

afbeelding van MsxKun

31-08-2016, 18:31

So what I mean is that, in part, that's a reason. Why didn't squezze more the hw?? Why they should? While they had fresh ideas and new concepts they could stick to make funny original games. They sell.
Then, with the lack of originallity and good ideas, what to do? More hw squeeze. OR, why to bother? Let's wait for new hardware and that way we don't even need to bother to squeeze anything.
See today. "-Hey mate, we don't know what new game to make for that PS3 console... -Why not another XXXXXX Saga, Extended version, Director's Cut and now with Ponies? -Won't work... (again) -Hell, so we need a more powerful machine!! -Yes, great!! -Here it is, our new PS4!! Yay! -Now what? -Uh... let's make XXXX Saga, with more pixels!! -Yes, and lens flares! Yay!!"

Of course that's a bit exagerated, and there's always exceptions and so. But you get an idea, always IMHO. Just that.

Van MsxKun

Paragon (1038)

afbeelding van MsxKun

31-08-2016, 18:36

ARTRAG wrote:

It is not a case that r18 is documented as a way to adjust the position of the screen in CRT monitors and not as scrolling register.

Well, I think it wasn't designed to serve as scroll. And I usually wonder if even the 2+ scroll was designed to be. It's totally WTFish when you can see and compare with other hardware scrolls, like in the SMS VDP.
Yay for the amazing world of hardware design in the good old 80's (or 70's) Running Naked in a Field of Flowers

Pagina 2/4
1 | | 3 | 4