Question about MSX hardware modification regarding z80 and vdp (Hardware MSX Forum)MSX Resource Center MRC MEGA Challenge - What can you squeeze out of 64x48 pixels?              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 162 guests and 6 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Hardware - Question about MSX hardware modification regarding z80 and vdp

Author

Question about MSX hardware modification regarding z80 and vdp

nikodr
msx addict
Posts: 445
Posted: April 16 2008, 13:42   
Would it be possible nowdays someone that has lots of soldering skills to connect the z80 to the video ram directly?

My idea came from the fact that someone could connect the nmi interrupt that is not connected to the z80 directly on the msx and use nmi interrupts with a hardware modification (i think someone said a while back that it could be done).

I know that new software would have to be written or a new bios to support writing to the vram without the out instructions.

Sorry if it is completely stupid as an idea.
pitpan
msx master
Posts: 1300
Posted: April 16 2008, 14:57   
AFAIK, it has already been done by Brazillian MSX users, and such modification is known as "ADVRAM". I've no experience regarding this mod, but I'm sure that some carioca user would be able to provide some details.

IIRC, there were some Brazillian demos and games that took advantage of this modification.

Again, I have no clue about the complexity of implementing this in the real hardware.
jltursan
msx professional
Posts: 748
Posted: April 16 2008, 15:22   
You can find very interesting facts about ADVRAM in this page.
nikodr
msx addict
Posts: 445
Posted: April 16 2008, 15:37   
So it can be done and cost is 73$.

Let me quote those from the above page that jtursan provided

"ADVRAM behaves like a Mapper in every aspect, so you can use LD and even LDIR to write and read from it. You can even execute Z80 code from the VRAM!

Another nice feature is that you can execute VDP commands while writing/reading from ADVRAM! You get no corrupted data and the VDP commands will not be slowed down.

ADVRAM replaces the dynamic RAM used in the VRAMs with the same static RAM used as cache in PC machines, so the speed of ADVRAM is great even on MSX with high clock ( 7 MHz and even higher! )"

Sounds like an interesting mod to have.Along with a 7mhz clock and a vdp 9900 maybe?

manuel
msx guru
Posts: 3273
Posted: April 16 2008, 19:53   
If you want to try it out: openMSX emulates it.
AuroraMSX

msx master
Posts: 1214
Posted: April 16 2008, 23:06   
Quote:

Sounds like an interesting mod to have.Along with a 7mhz clock and a vdp 9900 maybe

Ehm, the ADVRAM only applies to the MSX's internal VRAM not to the VRAM of a Gfx9000.
PingPong
msx professional
Posts: 805
Posted: April 18 2008, 20:09   
Quote:

Quote:

Sounds like an interesting mod to have.Along with a 7mhz clock and a vdp 9900 maybe

Ehm, the ADVRAM only applies to the MSX's internal VRAM not to the VRAM of a Gfx9000.


And there is no need to have advram with v9990. OUTS are fast on R800, + VDP is FAST.....


pitpan
msx master
Posts: 1300
Posted: April 21 2008, 09:03   
With ADVRAM, your MSX becomes suddenly a Sinclair ZX Spectrum on steroids
nikodr
msx addict
Posts: 445
Posted: April 21 2008, 17:23   
Quote:

Quote:

Quote:

Sounds like an interesting mod to have.Along with a 7mhz clock and a vdp 9900 maybe

Ehm, the ADVRAM only applies to the MSX's internal VRAM not to the VRAM of a Gfx9000.


And there is no need to have advram with v9990. OUTS are fast on R800, + VDP is FAST.....




I thought that the biggest bottleneck on the msx system was the use of out instructions to access the video ram (since it is not connected directly to the z80).I guess that without outs things would be even better.Right?

Do you have any benchmarks?On the website that has the advram the tests are faster than when executed on turbo r
PingPong
msx professional
Posts: 805
Posted: April 21 2008, 19:59   
Quote:

Quote:

Quote:

Quote:

Sounds like an interesting mod to have.Along with a 7mhz clock and a vdp 9900 maybe

Ehm, the ADVRAM only applies to the MSX's internal VRAM not to the VRAM of a Gfx9000.


And there is no need to have advram with v9990. OUTS are fast on R800, + VDP is FAST.....




I thought that the biggest bottleneck on the msx system was the use of out instructions to access the video ram (since it is not connected directly to the z80).I guess that without outs things would be even better.Right?

Do you have any benchmarks?On the website that has the advram the tests are faster than when executed on turbo r



@nikodr: take a look on how much time takes outi on R800. Also take a look at SymbOS on GFX9900
(Prodatron plays 3/4 movies toghether each one at 6 fps). So the outs are not a bottleneck as most msx users think.
On a 3.5mhz z80 there is no significant difference between an otir and an LDIR. (in vblank time). So most vdp cons are overestimated.

Remember: even in a system with mapped ram, there is always something to pay, usually a slowdown when accessing contented memory.

Speccy has the lower footprint in delay, but also c64 or CPC suffer of this 'problem' in a different degree.
Mapped VRAM is not the solution. A fast VRAM is the solution.

If you have fast ram no matter in witch way you access vram!.

Plus the advram test are oriented to maximize the difference between the vdp regular access and the z80 access.

For example take a look at the PSET routine in screen 8. this is the situation where you get the max performaces on z80 because:


1 pixel = 1 byte. No need to read / mask / write while plotting pixels
1 pixel = 1 byte and 256 bytes per row. No need to compute a VRAM address from X,Y coordinates. Simply load H with Y and L with X and you get the vram address in HL. easy.

In a more real word those things are not always applicable.
Working on a regular z80 there is no effective valuable gain....




 
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.