There were several limitations in MSX standard from the start. These are:
- MSX1 was based on VDP TMS9918 in 1983. TMS9918 was introduced in 1979 and there were more advanced VDP in 1983. For that age, TMS9918 was obsolete yet.
Excluding the VIC-II can you mention some more advanced VDP providing sprites/scroll abilities and other similar features?
I think there is no much choice as proved by contemporary computer design.
ZX Spectrum had it's own hw (ULA)
Amstrad CPC relied on MC6845 that i can hardly consider a better VDP than TMS. The major drawback in VDP is the absence of hw scrolling. Even the sprites, as limited they were is a less limiting factor than hw support for scrolling.
Please consider that the VIC-II had sprites (more advanced) like VDP because the idea of sprites was borrowed from TMS as said by a commodore VIC-II designer.
NES was released in 1983 with a PPU better even than VIC-II. NES PPU supported smoothscrolling and multicolor sprites. Atari 8bits ANTIC+GTIA also supported multicolor sprites and smooth scrolling and display list.
Later, in 1985, Sega Master System supported 16 colors sprites and smoothscrolling with only 16KB VRAM (same VRAM tham MSX1). Yamaha V9938 in 1985 didn't support them. MSX2+ (with V9958) was released in 1988 (Wikipedia tells us that) like a slight improve of V9938 (horizontal smoothscroll). In 1988, there were many Video chips better: Amiga Fat Agnus and Denise, Sega Megadrive VDP, Sharp X68000 Cynthia.
The evolution of MSX was very short, specially in MSX2+ and Turbo-R with the lack of DMA and 24bit addressing. Essencially, Turbo-R remained like a 8-bit computer due to its architecture despite of R800.
About sprites, I think sprites were older. First Atari 8bits, and some early arcade machines had sprites yet. Sprites weren't exclusive of TMS9918 in 1979.
NES was released in 1983 with a PPU better even than VIC-II. NES PPU supported smoothscrolling and multicolor sprites. Atari 8bits ANTIC+GTIA also supported multicolor sprites and smooth scrolling and display list.
atari solution is worse than TMS one. As we see in several games when comparing 2600 vs colecovision.
NES had a custom and heavily copied TMS solution as Karl Guttag pointed out.
Later, in 1985, Sega Master System supported 16 colors sprites and smoothscrolling with only 16KB VRAM (same VRAM tham MSX1). Yamaha V9938 in 1985 didn't support them. MSX2+ (with V9958) was released in 1988 (Wikipedia tells us that) like a slight improve of V9938 (horizontal smoothscroll). In 1988, there were many Video chips better: Amiga Fat Agnus and Denise, Sega Megadrive VDP, Sharp X68000 Cynthia.
You are comparing bananas with tomatos. You talked about TMS VDP. and talked about better VDP available in the time.
For available it does mean not custom solution of course. If msx 1 had the freedom to choose for a custom made video chip of course things could be better. But for available i mean standard chip on the market.
considering the IC you talked about, there is no one that is not a custom development, so no available, but all were created ad hoc.
plus you compare 8 bit with 16 bit era, which does not make sense. nowadays a pc with a ATI or NVIDIA can do better, but comparing make no sense.
Simply your comparison does not make any sense because:
- you compare custom solutions with standard chip available. for available i mean not developed ad hoc
- you compare different architechtures 8 with 16 bit.
Let's apply the restrictions above :
1) no custom chip (because the original msx philosophy was standard hw)
2) same era and bitness (not compare 8 with 16 bit)
And you see that simply there were no other solutions available.
[quote
wrote:About sprites, I think sprites were older. First Atari 8bits, and some early arcade machines had sprites yet. Sprites weren't exclusive of TMS9918 in 1979.
a dot or a line of 4px not definable is not a sprite is only a dot or a line, with a lot of limitations.
NES PPU has indeed a lot of great features that no 8-bit computer had in early 80's. But NES's best graphic feature isn't in PPU itself: PPU's video memory address and data lines were wired to the cartridge connector. I believe the main reason for this is because this way the developers won't need to copy graphic data from ROM to VRAM. Later, this allowed game developers to create memory mappers to video memory, making tasks like animating tiles/sprites a real piece of cake and, better of all, making it possible with very few (none?) CPU cycles.
If you ask me, this is basically cheating. If you allow most plataforms to have its own external video memory mappers (or keep benchmarks restricted to non-video memory mapper games), NES graphics may be less impressive (waiting @loliveira show up to duck under the desk)
atari solution is worse than TMS one. As we see in several games when comparing 2600 vs colecovision.
NES had a custom and heavily copied TMS solution as Karl Guttag pointed out.
First, we musn't mix Atari 2600 console video processor with Atari 8 bits computers video processors. Atari 8 bits computers video processors are much better than Atari 2600 had.
Atari ANTIC+GTIA had some features worse than TMS9918 and some features better than TMS9918. For instance, ANTIC+GTIA had 256 colors palette, supported omnidirectional smooth scrolling, and supported display list. Display list allows vertical color gradients like Amiga. ANTIC+GTIA supported multicolor sprites and small sprites called missile. ANTIC+GTIA was able to show 8 sprites on same scanline. Although ANTIC+GTIA supported scanline interruption (TMS9918 didn't, this feature was added in MSX2 VDP V9938). TMS9918 supported 32 sprites, but Atari was able to create more than 8 sprites on screen rewriting sprite registers helped by scanline interruptions, in the same way that C64 programmers do it.
The main limitation was Atari video chips were only able to show 4 colors on same scanline for background (sprite colors are independent).
TMS9918 had 16 colors palette. It didn't support smooth scrolling and multicolor sprites either. TMS9918 only supports 4 monochrome sprites on same line. There are many MSX games with blinking sprites due to multiplexing on time. Other important limitation of TMS9918 is this VDP uses very slow memory. When you have to write on MSX1 VDP memory you have to add unuseful instructions and delays to give time VDP memory. This problem is due to TMS9918 was designed according to 1979 memory speeds.
Let's apply the restrictions above :
1) no custom chip (because the original msx philosophy was standard hw)
2) same era and bitness (not compare 8 with 16 bit)
Computers with custom chips competed with computers with non custom chips with similar prices. You were able to buy Amiga 500 with a similar price to MSX2 in 1988 in many European countries. Consumers decided what computers were better.
And you see that simply there were no other solutions available.
MSX standard was based on Z80 CPU, that Zilog evolve towards Z800 too late with a poor result. ASCII corporation did their best effort developing R800, with a long delay. This processor was released almost in 1990.
About VDP, it's true. Perhaps, there wasn't any better non custom VDP alternative in 1983. The problem of MSX was the standard was based on VDP that Texas Instrument didn't evolve. Yahama had to evolve that VDP with a long delay. But I insist, computers with non custom chips competed with computers with custom chips in the same market.
NES PPU has indeed a lot of great features that no 8-bit computer had in early 80's. But NES's best graphic feature isn't in PPU itself: PPU's video memory address and data lines were wired to the cartridge connector. I believe the main reason for this is because this way the developers won't need to copy graphic data from ROM to VRAM. Later, this allowed game developers to create memory mappers to video memory, making tasks like animating tiles/sprites a real piece of cake and, better of all, making it possible with very few (none?) CPU cycles.
If you ask me, this is basically cheating. If you allow most plataforms to have its own external video memory mappers (or keep benchmarks restricted to non-video memory mapper games), NES graphics may be less impressive (waiting @loliveira show up to duck under the desk)
From the point of view of memory, there were two types of video processor architectures. VDP that didn't share video memory like MSX VDPs, and video processors that share video memory with CPU and other chips like C64, Amiga custom chips, NES, etc.
The reason for choosing shared memory in consoles was to reduce the price. When a videogame is executing, most of information is constant (code, graphics patterns definition, sounds). The only variable informations are program variables in CPU and pattern names table in VDP. NES had only 2KBytes for Pattern Name Table and 2KBytes for program variables. All constant information was in the cartridge. This allowed to reduce the price of the console. This kind of architectures were very common in consoles world.
Consoles and computers cannot be compared, consoles are specific use and computers general use.
atari solution is worse than TMS one. As we see in several games when comparing 2600 vs colecovision.
NES had a custom and heavily copied TMS solution as Karl Guttag pointed out.
First, we musn't mix Atari 2600 console video processor with Atari 8 bits computers video processors. Atari 8 bits computers video processors are much better than Atari 2600 had.
I'm not mixing at all. 7800 was created on 1984.
in order to improve the 2600 architecture than in terms of gfx was not comparable with tms.
(comparing games between 2600 & colecovision resulting at least embarassing for the former)
Plus atari architecture is overtaxing the CPU because of the absence of a real framebuffer and the need to write the display list.
7800 is a custom architecture, introduced on 1984, later than msx1. Comparing videogames with computer is in this situation fair, from the point of view of electronics a videogame is like a computer when talking about VDC.
Computers with custom chips competed with computers with non custom chips with similar prices. You were able to buy Amiga 500 with a similar price to MSX2 in 1988 in many European countries. Consumers decided what computers were better.
we are comparing tecnologies and designs not prices. A manufacturer can put its price at any value,
any value. It does not mean anything except that the manufacturer wants to earn more or less money.
MSX standard was based on Z80 CPU, that Zilog evolve towards Z800 too late with a poor result. ASCII corporation did their best effort developing R800, with a long delay. This processor was released almost in 1990.
this does not mean anything. we are speaking about video chips. Using the same arguments i can define the C64 tecnology limited because of the hard coupling (in timing terms) between CPU/VIC-II
But it is not limited. It is a 8 bit platform that performed well. Comparing, for example with a 16 bit amiga make no sense.
About VDP, it's true. Perhaps, there wasn't any better non custom VDP alternative in 1983.
The problem of MSX was the standard was based on VDP that Texas Instrument didn't evolve.
Yahama had to evolve that VDP with a long delay.
The msx philosophy was to use existing chips on market.
Yamaha have the problem of evolving a limited architecture for the needs , but with a big restriction: compatibility.
If they started with a VDP from schratch at the beginning with msx1 result could have been better. It's easy when you can use a custom architecture.
Try to imagine how C64 resulted if they where forced to use existing VDC on the market instead of the custom VIC-II.
Yamaha proved being able to create simpler and more clean designs with V9990 that is not compatible with existing V99x8
I'm not mixing at all. 7800 was created on 1984.
in order to improve the 2600 architecture than in terms of gfx was not comparable with tms.
(comparing games between 2600 & colecovision resulting at least embarassing for the former)
Plus atari architecture is overtaxing the CPU because of the absence of a real framebuffer and the need to write the display list.
7800 is a custom architecture, introduced on 1984, later than msx1. Comparing videogames with computer is in this situation fair, from the point of view of electronics a videogame is like a computer when talking about VDC.
When I speak about Atari computers video processors I mean Atari XL. Atari XL GTIA + ANTIC supported multicolor sprites and smooth scrolling.
we are comparing tecnologies and designs not prices. A manufacturer can put its price at any value,
any value. It does not mean anything except that the manufacturer wants to earn more or less money.
That was another reason for MSX decay. Computers with non custom chips competed with disadvantage against computers with custom chips. If there are two products in a market for same purpose and similar prices then they are comparables. If one of them has 8 bits architecture and the other one has 16bits architecture, it's problem of 8 bit manufacturer.
A similar situation happened in videoconsoles market. NEC released a console called PC Engine/TurboGrafx with 8 bits CPU and 16bits VDP. Few years later this console was overtaken by its competitors, Megadrive and SNES with 16 bits CPU.
I return to original topic, if MSX2 had been released with V9958 instead of V9938, the result would have been similar.
When I speak about Atari computers video processors I mean Atari XL. Atari XL GTIA + ANTIC supported multicolor sprites and smooth scrolling.
they are the same of 7800.
ANTIC supported sprites (not a correct term for me. Sprites are what i can find on TMS, VIC-II, Amstrad CPC+, Amiga) at the cost of overtaxing the CPU.
this is not a great solution as proved by more recent architectures. sprites managed like in ANTIC were not used on later computers and are in effect more a transition from early video games (like pong) where there was the ability to show fixed number and shape on the screen.
newer computers afforded the sprite features like TMS or VIC-II and finally dropped flavoring the sw sprites that have a lot of flexibility. instead of using hw for sprites they used hw acceleration (blitter) to create more flexible sw sprites.
If one of them has 8 bits architecture and the other one has 16bits architecture, it's problem of 8 bit manufacturer.
We are talking of MSX1 & TMS, in 1983 era. talking about 16 bit is pointless.
Plus bitness does not mean anything it is a matter of design. Both TMS and VIC-II were 8 bit architecture but sprite system on the latter is more flexible.
I return to original topic, if MSX2 had been released with V9958 instead of V9938, the result would have been similar.
I do not agree. the V9938 and later V9958 goes in the same direction Amiga did.
If you compare bitmapped gfx and sprites gfx you see that even on the amiga sprites were more limited (and we are talking of REAL SPRITES with a proper framebuffer) expecially in color.
the same apply on V99x8 and its hw sprites, more limited in color.
the way to go was hw support for blitter and sw sprites. Both V9938 and Amiga got a blitter.
(Today hw sprites are not used anymore.)
the problem with V9938 is that the blitter is extremely slow.
however, sw proved that you can still use the blitter to manage a decent number of sw sprites on screen.
but the V9938 lack what is available on V9958. hw horizontal scrolling.
So if the V9958 was the MSX2 VDP, i think developers dropped the hw sprites and used sw ones.
without support for hw horizontal scrolling they were forced to two alternatives:
- use all the limited blitter power to gain the horizontal scroll on screen 5 (leaving no room for sw sprites and falling back to hw ones.)
- switch back to screen4 that forced use of hw sprites with limitations they have.
I think V9958 it's still a more limited that Amiga custom chips. V9958 can only address 128KBytes of VRAM while FatAgnus and Denise can address 512KBytes of Chip memory in OCS, so Amiga graphics chips can deal with more information. We must think that 128KB VRAM are no too much information for games with long stages and many sprites with many poses. Without DMA, V9958 would need CPU code to transfer more information to VRAM. Most of MSX2 used to have 128KB of VRAM + 128KB CPU RAM.
Amiga sprites had only 3 colors + transparent, with a palette for sprites for odd number and other one for sprites with even number, but Copper was able to change color of sprites without CPU cost. In Amiga Battle Squadron game, most of spaceships and fireballs are made with sprites. Amiga blitter was able to transfer upto 1million of points per second. I don't think V9958 can compete against that. How many times is V9958 quicker than V9938 blittering? Did V9958 have an internal 8 or 16 bits bus for accessing VRAM?
On the other hand, sprites and blittering were able to be combined without any restriction. Moreover, A500 supported dual playfield (dual parallax) with 8 color per parallax plane. Finally, Copper was able to support to the other custom chips in many tasks.
I think MSX2+ wasn't rival for A500.
The story would have been different with V9990, a VDP much more powerful. A MSX with R800 and V9990 can compete with many 16 bits computers.