On Tue, 20 Jun 2000, ag0ny wrote:
> > >Maybe a greater advance in the new MSX graphics scheme would be
> > > RAM-mapped VRAM (it is VRAM being directly accesible by the CPU). In
> > > this way, all VRAM access by the CPU would be MUCH faster: just put
> > > the value you want where you want, instead of OUTing the address and
> > > then the value.
This is what the Brazilian ADVRAM project is about.
It doesn't even need a new VDP, it can be done with V9938/58.
> > I don't think that is such a good idea, because of accidentally
> > overwriting vdieo-data with other data and you could get an access
> > conflict between CPU and VDP when they try to access both at the same
> > time. It's pretty hard to get that working properly and even still...
> > timing, as for a game timing is everything.
>
> We currently have this problem, because we're using a CPU without memory
> protection. Any memory area can be (accidentally or not) overwritten.
> This problem is already there, and adding RAM-mapped VRAM wouldn't add
> any new trouble.
Agreed, accidental overwriting is not an additional problem of direct VRAM
access. Besides, it is not very likely. Most programs will page in VRAM
only when they need it.
VRAM being accessed by both CPU and VDP at the same time is also not a big
problem. There are two levels at which it can go wrong:
- low level: the VRAM IC is accessed by CPU and VDP at the same time.
- high level: e.g. a VDP copy command overwrites directly written data.
The high level problem already exists with the current VDP, it is not
specific to direct VRAM access. Also, this type of problem is very rare in
most practical programs.
The low level problem is solvable in hardware. In fact, it must be solved
in hardware.
One solution is to use dual ported RAM (RAM ICs that can handle two
accesses at the same time). I heard this type of RAM is expensive, but I'm
not sure if that's also true for small amounts (128K).
Another solution is to delay the CPU when the VRAM is being used by the
VDP. The VDP can also be delayed, but not much, because it will need the
VRAM to create its display signal.
In my view, there is only one big disadvantage of direct VRAM access:
existing MSXes don't have it.
Bye,
Maarten
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
The MSX faq: http://www.faq.msxnet.org/
The MSX newsgroup: comp.sys.msx
The MSX IRC channel: #MSX on Undernet
****