reading the previous posts http://www.msx.org/forumtopicl8936.html , http://www.msx.org/forumtopicl8923.html
and various GFX9000 or VDU VSU posts, figured me that there is a wish to a good gfx std for msx.
Let's summarize what there is today with IMHO pro and cons:
MSX1 VDP:
PRO:
Almost all pattern mode driven
Simple to program
CONS:
Poor sprite support
Lack of palette
Lack of speed
Lack of scroll register
colourclash limitations
a little limited in screen resolution
MSX2 VDP:
PRO:
Bitmap modes for static images and more colour
Raster interrupts
Blitter
Palette
Vertical scroll register
CONS:
Sprite support is yet to much limited
Lack of horizontal scroll register
pattern modes are not without colour clash
MSX2+ VDP:
PRO:
Same as MSX2, with a little better support for coloured gfx images.
Horizontal scroll register
Extended blitter support
CONS:
There is no much support. Still some architecural limits inherited from previous VDPs for compatibility
Blitter Speed.
V9990:
PRO:
Fast,
DualPlane pattern mode support
Great sprite support
Blitter at decent speed
Good amount of VRAM
Because compatibility was dropped down, does not have to make compromises in terms of performances or architecure.
CONS:
Not compatible with olders VDP
Pratically there is no sw that used it....
There are no unlimited chips available. Less than other vdps.
So there is no ideal gfx standard for msx. Why not to develop a new VDP card to set as the video 2.0 standard for msx?
My idea is to keep the pro and cons of the different VDPs:
- No older vdp compatibility, it's a new standard that is added to the existing machines.
- msx1 compatibility
- no super highres or coloured modes, only a smart couple of pattern modes where each pattern could be used as background or sprite, as in screen 2 the correct arrangement of tiles can make it suitable for bitmapped gfx. 8 bit gfx, palette support
- no speed limitation
- programmable blitter support (not hardwired commands, instead a programmable graphics processor)
- modern compatible monitor output
I think there are great possibilities to realize this on FPGA devices, and this remove the problem of chip availability.