MSX1 Overscan

Page 1/2
| 2

By mohai

Paladin (829)

mohai's picture

16-08-2019, 19:56

Hello,
I was poking around with my Pioneer PX-1 (PAL version) and discovered a way to overscan the VDP.

For the ones who does not know this model, I will tell that it is capable of superimpose on a (composite video) image source connected to it.
Basically, the way that it works, is that the sync signals are extracted from the composite video in and inyected to VDP chip (I think this one is a TMS9929a).
After that, VDP adjusts its own syncs to the external ones, overlaps the computer graphics and shows the external video in the areas where color 0 is shown.

Login or register to post comments

By mohai

Paladin (829)

mohai's picture

16-08-2019, 20:08

Well, as this is a PAL version, theoretically, a PAL video source can be combined with it but, if an NTSC or PAL 60 video is fed into it, then VDP goes nuts and shows more vertical resolution than it should.

When applied, an extra third of character lines is shown in the upper part of the screen. I think there are 8 chars lines, but I was only able to see 6.5 chars lines.
The lower third of the screen is cut somehow. I was able to see 7.5 chars lines with a CRT screen, but only 6.5 on TFT or LED screens.
Regarding VRAM arrangement, the "extra" third of character lines starts just where the bottom third stops, the color table, pattern table and so, so it overlaps with sprite working area.
I had to re-map the VDP registers in order to get a usable VRAM structure.

By mohai

Paladin (829)

mohai's picture

16-08-2019, 20:08

Some side notes:
I guess there are 8 new char lines, but I was not able to show them in any of my monitors.
When this mode is enabled, INTs are disabled (I guess it is because of PX-7 internals), but BASIC keeps on working normally.
Total number of vertical lines is between 232 and 240, depending on the monitor you use.

By mohai

Paladin (829)

mohai's picture

16-08-2019, 20:19

Here are some pictures.
The first one is overscan in SCREEN 2, VDP registers reconfigured, so using only 1-pattern bank.
Numbers on the left are the picture from an MSX2 composite video set to 60 Hz.
The black sprite is show by mistake. It is not an issue of this mode nor the VDP registers set.
On the second one you can see the register set I did. This is only an example.
The third picture is a CRT screen. The green line on the left is my MSX-2 set to 60 Hz.



In the third picture, some text is shown in the bottom lines. It is part of the text from the function keys.
I think it is around half a line, so in the lower third 7.5 lines are shown, so giving a total of 240 lines.
Other monitors only show 6.5 lines, so only 232 lines.

By mohai

Paladin (829)

mohai's picture

16-08-2019, 20:20

And, finally, a video to show the complete effect.

By Grauw

Ascended (8319)

Grauw's picture

16-08-2019, 20:33

Neat!

But I guess not practically usable on regular MSX1s without feeding in a different frequency superimpose signal?

By Manuel

Ascended (15626)

Manuel's picture

16-08-2019, 22:01

I wonder if you get the same effect if you use another display on the Pioneer.

By mohai

Paladin (829)

mohai's picture

17-08-2019, 23:10

@graw:
You are right.
I am not 100% sure about the Pioneer internals, but i guess that feeding a regular PAL 60 Hz sync signal into rhe VDP can do the trick.
NTSC is not suitable, as some monitors detect the resulting signal as NTSC, so showing MSX graphics as black and white.
I wonder if there is a simple sync generator that is able to generate proper sync...
I wonder if there are more frequnecies accepted and how the VDP could react to them...

By mohai

Paladin (829)

mohai's picture

17-08-2019, 23:38

Manuel wrote:

I wonder if you get the same effect if you use another display on the Pioneer.

Well, I tried a cheap LED monitor and a CVBS-to-VGA converter connected to a TFT VGA display, getting more or less the same results: all screen modes behave the same, but screen 0 shows the upper third as non-interlaced with the CVBS-to-VGA converter.
On the CRT display (Commodore 1084s), screen shows a some more lines at the bottom, but not always.
Feeding signal from an MSX2+ (Philips 8280), set to 60 Hz, it shows 6.5 lines at the bottom. If I use a PAL-to-NTSC converter and feed the signal to Pioneer, then I get 7.5 lines at the bottom. This is something I have to re-confirm yet.
Changing the vertical size in the Commodore display, I can see there are no borders, not on the top or bottom of the image. The graphics start at the very first line and finish at the very last line, at least on this display.

By mohai

Paladin (829)

mohai's picture

18-08-2019, 22:22

These are the displays I have now.
I also have a plasma display in another floor, but it is gigantic and too heavy. I do not think the results can be different.

By mohai

Paladin (829)

mohai's picture

24-08-2019, 19:47

Here you will find a couple of screenshots.
2 sprites are shown: sprite 0 and 1 beyond vertical coordinate 192, both. Coordinates are in the "extra" area shown in the upper overscan area.
You can see that VDP keeps on drawing sprites even after coordinates 192, 208 or 209.
When a sprite is put on vertical coordinate 208, the following planes dissapear, but not itself.

These screenshots are a mix of PAL MSX over NTSC video, so the monitor shows black and white MSX graphics.


Page 1/2
| 2