VDP wait examples?

Page 1/2
| 2

By lintweaker

Master (151)

lintweaker's picture

26-07-2018, 16:50

It seems my DIY MSX2+ is in need of a hw VDP wait mechanism.
In screen 0 en 1 I see now letter appearing twice or the wrong ones. For graphical screens I have not (yet) seen any corruption issues.

The Sony G900P WAIT circuit seems like a good candidate to use. Any other examples out there that I can check out?

Login or register to post comments

By sd_snatcher

Prophet (3031)

sd_snatcher's picture

26-07-2018, 22:25

The HB-G900P has a V9938. I wonder why it has a wait circuit like that, since AFAIK this machine has no turbo.

Check the CIEL Expert3 schematics for its V9958 VRAM /WAIT circuit. Notice that you have to enable it by software.

Does your machine have a turbo?

By Manuel

Ascended (15602)

Manuel's picture

26-07-2018, 22:53

I have never heard of the G900P having a wait mechanism. It has a PLL for superimpose (i.e. a genlocker), but that's something else.

By sd_snatcher

Prophet (3031)

sd_snatcher's picture

26-07-2018, 23:19

I also didn't. But once I read lintweaker message, I quickly checked, and the circuit is really there. It's on page-22 of the service manual.

By lintweaker

Master (151)

lintweaker's picture

27-07-2018, 09:11

thanks for the replies. My machine does not have a turbo.
The expert3 uses the VDP /WAIT signal which indeed needs to be enabled via software. I do have the VDP /WAIT line connected. I'll retest to see if it is sufficient to battle VRAM read/write corruption issues. Last time it did not look like it.

By Grauw

Ascended (8311)

Grauw's picture

27-07-2018, 09:57

If there is no turbo, no VDP wait is necessary. Did you implement the standard M1 wait?

By lintweaker

Master (151)

lintweaker's picture

27-07-2018, 11:11

Grauw wrote:

If there is no turbo, no VDP wait is necessary. Did you implement the standard M1 wait?

No, currently no /M1 wait. Can you point me too a example? [Expert3 Z80 - Slots.pdf: MWAIT signal?]

I just did a test with VDP WAIT enabled, it actually works! (still need to check/verfiy the Z80 /WAIT line with a logic analyzer or scope)

By Grauw

Ascended (8311)

Grauw's picture

27-07-2018, 20:36

The M1 wait circuit (part of MSX standard) is described in the Z80 CPU user manual, page 30/31 Memory Speed Control section. Probably the cause of your corruption issues. Without M1 wait some software may have trouble (e.g. demos and stuff with screensplits and audio samples), and some ROM/RAM cartridges may also not work because memory is accessed too quickly during opcode fetch.

Nice to hear the V9958 /WAIT works but it should not be necessary, so it’s hiding the real problem.

By DamnedAngel

Master (142)

DamnedAngel's picture

28-07-2018, 02:40

Lintweaker, I have no knowledge of VDP signals, but I do have an Expert3 with a turbo switch.
I also have an oscilloscope.
Let me know if I can help with anything.

By lintweaker

Master (151)

lintweaker's picture

28-07-2018, 10:02

Guys, thanks for the support!
My machine is build with the idea of using faster SRAMs and Flash so no delays would be needed. I did not take into account the need for delays for original cartridges and software.
I'll play around with /M1 and /MREQ based WAIT circuits to see what the effects are on my DIY machine.

By msd

Paragon (1372)

msd's picture

28-07-2018, 15:30

Memory access will probably not be a problem when not having a m1 cycle.

Page 1/2
| 2