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
****

Reply via email to