New Online MSX emulator

Страница 48/48
41 | 42 | 43 | 44 | 45 | 46 | 47 |

By Parn

Champion (419)

Аватар пользователя Parn

08-10-2017, 14:36

In short, Luciano Cadari rediscovered one of his old game loaders which set some VDP registers in an undocumented way. After much discussion and a lot of back-and-forth between he and some people who were trying to confirm and understand the VDP behaviour in the Brazilian WhatsApp group, it became apparent that an undocumented bit in mode register 1 changed the way the blink feature works. Usually it justs alternate two pages automatically slowly (maximum 6Hz, if I'm not mistaken). When this previously undocumented bit is set, it looks like the two pages are switched every scanline. At least, this is how Paulo Peccin implemented it, and it seemed to be consistent with what real hardware was showing. It creates a visually interesting windowblinds animation effect and it needs no CPU interference to work.

It's not clear whether this is a bug or a hidden feature, but it works in every real MSX that has a V9938 or V9958. It doesn't work in Zemmix Neo. Leonard Oliveira believes it is some hidden test feature. It seems BASIC ignores this bit when setting screens, so it remains active even when you use the SCREEN statement.

EDIT: Of course, since it's previously undocumented, there are no links to documentation, for now.

By Grauw

Ascended (8452)

Аватар пользователя Grauw

08-10-2017, 16:59

Test program

Change VDP(1) value to 112 to disable the bit, and change VDP(14) to e.g. &H11 to increase the blink rate.

By ricbit

Champion (437)

Аватар пользователя ricbit

08-10-2017, 17:09

That's so cool. Just tested on a turboR GT and works as described.

By Pencioner

Paladin (951)

Аватар пользователя Pencioner

08-10-2017, 18:50

played around, interesting. noticed one thing - once i do this first time i have black stripes over the screen, then after CTRL+STOP next time i run it i have cool effect. machine is Sanyo Wavy 70FD. i cannot test on others because i didn't brought them here yet (next year, maybe). i can make a video if anyone interested

By ToriHino

Champion (366)

Аватар пользователя ToriHino

08-10-2017, 20:03

Pencioner wrote:

played around, interesting. noticed one thing - once i do this first time i have black stripes over the screen, then after CTRL+STOP next time i run it i have cool effect. machine is Sanyo Wavy 70FD. i cannot test on others because i didn't brought them here yet (next year, maybe). i can make a video if anyone interested

Saw something similar on a Sony F1XDJ. First run the bars are dark blue (like the inital background color), while the circle is drawn on a light blue background. Second run the bars are in the light blue background color as well.

By l_oliveira

Hero (526)

Аватар пользователя l_oliveira

09-10-2017, 19:38

Parn wrote:

Leonard Oliveira believes it is some hidden test feature.

Apparently setting the undocumented bit at R#1 changes the clock source for the blink/page switch counter decrease from VSYNC to HSYNC. Also, setting it seems to make the registers EO and IL at R#9 irrelevant. (This needs more testing)

That's why I suspect this "feature" was meant for testing, since it doesn't seem to have a practical use outside of checking the operation of the VDP internal circuitry.

On the FM chips the test registers are grouped nicely together but since the VDP is based on work from other company I believe they might have fitted the test stuff where it was possible instead of making new specific test registers. Smile

By ppeccin

Champion (344)

Аватар пользователя ppeccin

09-10-2017, 23:59

l_oliveira wrote:

Apparently setting the undocumented bit at R#1 changes the clock source for the blink/page switch counter decrease from VSYNC to HSYNC.

Yes, that's exactly what the first impl. on WebMSX does. The effect produced is that the blinking frequency increases a lot (around 200 times faster), making the 2 pages switch several times inside the same raster field (on the higher settings).

Since the switching is no longer in sync with the VSYNC, depending on the values used, the moments inside the frame where the switches occur will vary from one frame to the next, making the "moving bars" effect that Luciano Cadari discovered back in the 90's.

So cool!
Peccin

By Manuel

Ascended (15750)

Аватар пользователя Manuel

05-11-2017, 13:08

Are there already more testing results on this new bit?

By ren

Paragon (1225)

Аватар пользователя ren

12-02-2018, 15:59

Seems Paulo is working on some interesting stuff... ;-)

Страница 48/48
41 | 42 | 43 | 44 | 45 | 46 | 47 |