MSX 2's higher resolution modes and 15-Khz emulation

Page 2/5
1 | | 3 | 4 | 5

By Grauw

Ascended (9817)

Grauw's picture

14-08-2014, 02:40

Have you tried openMSX? It shows the borders.

By mars2000you

Enlighted (5883)

mars2000you's picture

14-08-2014, 03:08

blueMSX shows the borders also on fullscreen, here's the proof (Windows screenshot) with my laptop (resolution 1600 x 900 also selected in the emulator's options) :

[img] http://www.msxblue.com/temp2/fullscreen.png[/img]

It's what you get after booting on a Japanese machine. Border's color is color 7 !

By Manuel

Ascended (17869)

Manuel's picture

14-08-2014, 08:22

My whole point was: if you set the host PC resolution to 256 wide, the emulator will not have pixels to render a border. (But I don't know what happens then, does it get cropped, or does it render the border and is the image crushed horizontally? Or is it falling off the screen at the right?)

In openMSX you get the most realistic image if you set the renderer to SDLGL-PP, set scale factor to 4. If you have a 4:3 screen, you can also go to full screen with this, but you will need a resolution of 1280x960.

By Manuel

Ascended (17869)

Manuel's picture

14-08-2014, 08:22

My whole point was: if you set the host PC resolution to 256 wide, the emulator will not have pixels to render a border. (But I don't know what happens then, does it get cropped, or does it render the border and is the image crushed horizontally? Or is it falling off the screen at the right?)

In openMSX you get the most realistic image if you set the renderer to SDLGL-PP, set scale factor to 4. If you have a 4:3 screen, you can also go to full screen with this, but you will need a resolution of 1280x960.

By NYYRIKKI

Enlighted (5745)

NYYRIKKI's picture

14-08-2014, 09:48

In Windows it doesn't matter if you use OpenMSX or BlueMSX... When you select fullscreen the screen mode will be always by default be changed to 24BPP 640x480 no matter what MSX screenmode is used. This means that you need to tweak the ATI-driver to display this mode correctly on 15KHz. There is no reason to tweak the resolution to anything else as this mode very well represents the real MSX graphics as they are displayed on normal MSX. If you change the resolution, try to double it... Ie. 1280x960

The actual MSX screenmode does not affect since all of the screen modes take 512x(384/424) window from inside the 640x480. (Lo resolution screens will use 2x2 pixels and Hi resolution screens will use 1x2 pixels) Rest of the space is filled with border color. Where the virtual window is positioned is a different story. It depends ie. screen mode and "set adjust register". How ever I would not worry too much about how much you show border. There is no standard for that and every user has probably different adjustments in their real hardware. Also when MSX ie. uses overscan trick on demo, it can use all of the 480 lines. Use your eyes to adjust it to look "right". I would probably try to make about 98% of the 640X480 visible. To display the "normal border area" on red color, select MSX2 emulation and type: SET ADJUST (0,0):COLOR 15,1,8:SCREEN 5:A$=INPUT$(1)

By NYYRIKKI

Enlighted (5745)

NYYRIKKI's picture

14-08-2014, 09:55

Ah BTW if you have possibility to select 640x240 60Hz progressive use that instead of 640x480 30Hz interlaced... All of the MSX1 games and Most of the MSX2 games on MSX use progressive scan.

By Milsancho

Resident (63)

Milsancho's picture

14-08-2014, 12:58

Quote:

blueMSX shows the borders also on fullscreen, here's the proof (Windows screenshot) with my laptop (resolution 1600 x 900 also selected in the emulator's options)

You're right. But also was I. When I set it to 320 x 240 (I guess to anything bigger than 256 x 240), I get the same behaviour. With 256 x 212, though (I actually use 256 x 216 at 60 Hz, since that's the mode I had preset), you don't have the borders; that is, the emulator ignores them to just show the originally active area 1 : 1 (so no border rendering and no crushing, Manuel; it gets cropped indeed).

This brings up two interesting points for discussion:

- Technical data in wikis and, especially, dedicated websites like this, should specify both when documenting the system's display, the system's active resolution and the actual (physical) display resolution. If it weren't for Manuel's post, I'd still be thinking that MSX 2's (smallest) display resolution is of 256 x 212 (with anything outside of that considered overscan), whereas it clearly is not the case. In fact, it should always be clearly stated that the system always works in a "windowed" mode, since the border is always there even if you don't see it for being black. So to settle it once and for all: is the number 272 x 240 definitely, display-wise? What about Screen 6/7?

- For "256 x 212" MSX gaming, and keeping apart particular emulation issues and latency, which doesn't seem to be too-well optimized, Blue MSX (together with the right set-up) beats the real thing. I mean, you can get rid of the border! Full-screen gaming! Purists won't see this correct (and I agree), but c'mon!

Quote:

In Windows it doesn't matter if you use OpenMSX or BlueMSX... When you select fullscreen the screen mode will be always by default be changed to 24BPP 640x480 no matter what MSX screenmode is used. This means that you need to tweak the ATI-driver to display this mode correctly on 15KHz.

The ATI driver is indeed tweaked. I have it so that I can set any 15-kHz modeline for Windows' desktop. Blue MSX lets me select whichever preset resolution for full-screen display.

Quote:

There is no reason to tweak the resolution to anything else as this mode very well represents the real MSX graphics as they are displayed on normal MSX.

How come? "Real MSX graphics" (the most used modes) are "low-res" and intended for progressive scan. 640 x 480 just can't ever do if you're after accuracy and well, quality.

Quote:

The actual MSX screenmode does not affect since all of the screen modes take 512x(384/424) window from inside the 640x480. (Lo resolution screens will use 2x2 pixels and Hi resolution screens will use 1x2 pixels)

Again, how come? The low resolution screens part: you're forgetting the progressive scan thing (or the re-scan-in-the-same-lines thing, if you prefer). The [progressive] hi-res screens one: you're forgetting you just couldn't use them with standard models.

Or maybe I'm not understanding you.

Quote:

Rest of the space is filled with border color. Where the virtual window is positioned is a different story. It depends ie. screen mode and "set adjust register". How ever I would not worry too much about how much you show border. There is no standard for that and every user has probably different adjustments in their real hardware. Also when MSX ie. uses overscan trick on demo, it can use all of the 480 lines. Use your eyes to adjust it to look "right". I would probably try to make about 98% of the 640X480 visible. To display the "normal border area" on red color, select MSX2 emulation and type: SET ADJUST (0,0):COLOR 15,1,8:SCREEN 5:A$=INPUT$(1)

Question: Isn't there a standard (universal) physical (displayed) resolution then? The borders' size depends on programming? (Leaving apart the overscan thingie, which obviously depends on the display monitor.) Which is the minimum?

By Grauw

Ascended (9817)

Grauw's picture

14-08-2014, 13:18

Vertically, the V9938 outputs 262 scanlines in 60Hz (“NTSC”) mode, and 313 scanlines in 50Hz (“PAL”) mode. Horizontally there is no inherent unit to describe it with, it depends on how rapidly the signal output changes. However in terms of MSX square pixels, it is 284.75 pixels wide.

Then inside this area, the V9938 has an active display area of 240, 256 or 512 pixels wide, and 192 or 212 pixels high. The pixels are square, except for the 512 mode in which two pixels form a square. Additionally, there is an infrequently-used trick called “overscan” which allows the active display area to cover the full 313 / 262 scanlines.

Around the active display area there are borders. You don’t see much of these, because they are mostly in the overscan area of the TV, just a small bit of them should be visible. Considering the 256x212 screen mode, the borders are 15 square pixels on either side. At the bottom and the top, the borders are 25 and 50 display lines for NTSC and PAL respectively.

For displaying on a VGA monitor, 640x480 is a good choice of resolution, because it has square pixels as well, fits an entire 512x424 interlaced image, and has room for borders. However how this and emulators interact with your graphics card hack to directly have it generate a 15 KHz signal I don’t know.

By Grauw

Ascended (9817)

Grauw's picture

14-08-2014, 13:19

Milsancho wrote:

- For "256 x 212" MSX gaming, and keeping apart particular emulation issues and latency, which doesn't seem to be too-well optimized, Blue MSX (together with the right set-up) beats the real thing. I mean, you can get rid of the border! Full-screen gaming! Purists won't see this correct (and I agree), but c'mon!

Eh? The border is intended to be shown in the overscan area of a CRT TV, which even LCD TVs often still have (for legacy reasons). This overscan area differs on a TV by TV basis, so the borders are set relatively generously to prevent people from not being able to see part of the active display area.

However on the back of most monitors there used to be pots which allowed you to adjust the display so that it covered the full width and height of the screen. In other words, I’ve been “full screen gaming” all my MSX life. For what it’s worth.

By Milsancho

Resident (63)

Milsancho's picture

14-08-2014, 15:28

Thanks for the reply. Not sure I'm following you on the "square pixels" part, though. How do you get the 284.75 number?

Quote:

Around the active display area there are borders. You don’t see much of these, because they are mostly in the overscan area of the TV, just a small bit of them should be visible. Considering the 256x212 screen mode, the borders are 15 square pixels on either side. At the bottom and the top, the borders are 25

If most of what's outside the 256 x 212 area is [intended to be] in the TV's overscan area, then the pixels on a 4 : 3 [NTSC] display aren't square, but rectangles. I disagree, though. It obviously depends on the TV model (and the settings), but even for mid/late 80's TVs, 286 x 224 was not normally considered overscan (vertical resolution over 216 could be in some cases, but still), meaning that indeed the whole MSX border had to be visible for most people and the hardware designers did know. Think about the Family Computer, for instance: it displayed 240 horizontal lines, usually without borders. Later consoles were designed assuming 224 visible lines.

On a monitor with analog scaling control you can hide the border, yeah, but depending on the model, at the cost of brand-new geometry issues. Especially for the horizontal value, all the better if the input doesn't exceed too much. Around 9% like in this case I'd say may be a bit too much to totally avoid geometry issues.

From this other thread:

http://www.msx.org/forum/msx-talk/software/games-displaying-...

Quote:
Milsancho wrote:

Take Blue MSX for instance: it doesn't emulate 512 x 212 modes.

Eh? That’s not true. Of course it emulates those modes perfectly fine. All MSX emulators emulate all screen modes. Nowadays their differences in quality of emulation lie in details about pixel-precise accuracy, undocumented features, authentic sound generation, etc.

You’re just running it in a weird setup. Change to 640x480 and I bet you’ll see the highres modes displayed just fine.

I don't know if "wierd", but it's the fucking bestest set-up ever for low-res emulation purposes and the only one tolerable for visual accuracy, which I always thought was the point of emulation. In fact, what I find "wierd" is that there're not more emulation enthusiasts (including emulator devs) contemplating it. Sure; CRT's are harder and harder to find. But you should have a couple of them in the attic if you really care about old videogames (or videogames in general, for that matter).

Back to the point: 640 x 480 for "low res" gaming sucks as everybody with sane eyes does know, thankyouverymuch.

Quote:

p.s. There’s another high-res mode: the 80-column text mode (screen 0, width 80). It has a resolution of 480x192, same pixel width as screen 7 just a little more borders on the sides. It’s an very often-used mode and would look really crappy if this wasn’t emulated.

Is it used by any game?

Page 2/5
1 | | 3 | 4 | 5