[VDP] V9938... Blinking "Text" in Screen 7...

Page 2/3
1 | | 3

By NYYRIKKI

Enlighted (5385)

NYYRIKKI's picture

05-09-2019, 11:39

jltursan, gdx... I don't think these kind of pure software solutions work at all for display driver. Not only they look wrong during screen update, but they also need interrupts and therefore start acting weird when ever MSX ie. loads more text from disk drive. The worst problem is how ever that they take unexpected "random" amount of CPU time while the underlying BASIC program, CalcStar, game or what ever you are trying to run expects to have 100% CPU time for it self. I could imagine that setting up blinking and then running TYPE-command for a text file would already be enough to slow down the computer near halt.

By ducasp

Master (154)

ducasp's picture

05-09-2019, 13:46

Grauw wrote:

In modes G6 and G7 the r#2 bits are shifted right by one, so you need to set it to 3FH, maybe that’s the problem.

Also, file bug reports to KdL for the OCM firmware, in my experience he will fix it Smile.

Documentation from Yamaha only tells about G7, G6 still consider the 7th bit as A16 like G4 and G5, just G7 seems to be the only one using A16 in the 6th bit... And there is a specific remark there to not confuse R#2 setting with the one of G7... Is the document wrong?

By Grauw

Ascended (8456)

Grauw's picture

05-09-2019, 13:55

What manual are you consulting?

http://map.grauw.nl/resources/video/yamaha_v9938.pdf

Page 47 (G6) and page 51 (G7):

Quote:

Specifies the page to display; in the G6 and G7 modes only, the location of the A16 bit differs.

By ducasp

Master (154)

ducasp's picture

05-09-2019, 14:35

http://rs.gr8bit.ru/Documentation/V9938-programmers-guide.pdf

Page 60 tells about R#2 for G7 and Page 56 for G6. It seems that there was an error on that version of the document (which I've been using as it is a lot easier to find stuff in there). I will contact Eugeny so he can fix it. Thanks Grauw!

By NYYRIKKI

Enlighted (5385)

NYYRIKKI's picture

05-09-2019, 16:28

Now that we talk about bad documentation, blink registers and stuff that does not work on emulators, maybe it should be mentioned also that setting R#1 bit 2 will change clock source for the blink/page switch counter from VSYNC to HSYNC. (From emulators only WebMSX supports this I believe)

By ducasp

Master (154)

ducasp's picture

05-09-2019, 19:20

I've just pushed the fix for this on MSX-SM / SM-X and it should be straight forward to include it in OCM / Zemmix:

https://gitlab.com/victor.trucco/Multicore/commit/13b4064770...

It includes not only fixing for page flipping as well R1 bit #2 changing the blink counter from VSYNC to HSYNC

By ducasp

Master (154)

ducasp's picture

11-09-2019, 15:00

Thanks to Paulo Peccin (WebMSX) and Cadari, I've been able to get the effects of R1 bit#2 set correctly.

Those are the changes for whoever might be curious about it:

https://gitlab.com/victor.trucco/Multicore/commit/1e23860d56...

That previous version of the code is no good as the logic of blink (borrowed from Text modes) was not behaving correctly when applying a sync signal that was not VSYNC. Corrected that in both text12 and graphics4567 and now it works correctly both when using VSYNC or HSYNC as blink clock (the previous version, when using HSYNC, was being too fast). I've talked to KDL and he will incorporate this on the next OCM release. :)

Now I can go back and resume working on this blinking feature :P (I just needed page flipping, but you know, if you are going to paint a room, why not paint the whole house? oO )

By Manuel

Ascended (15756)

Manuel's picture

11-09-2019, 18:20

If something is not correctly emulated in openMSX please let me know. You can help by providing a minimal test program that demonstrates the issue.

By ducasp

Master (154)

ducasp's picture

11-09-2019, 23:25

Manuel wrote:

If something is not correctly emulated in openMSX please let me know. You can help by providing a minimal test program that demonstrates the issue.

Hi Manuel,

No problems so far, I just miss the OBSONET support that BlueMSX has, it is really useful to debug and test and demonstrate UNAPI programs, OpenMSX doesn't implement the undocumented R1 third bit changing blink clock source from vsync to hsync but this is not something I use, I've just implemented it on OCM as I was already implementing blink for graphics, made sense to implement this feature as well. Thanks Smile

By Manuel

Ascended (15756)

Manuel's picture

12-09-2019, 00:16

Page 2/3
1 | | 3