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

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

By Milsancho

Resident (63)

Milsancho's picture

13-08-2014, 17:23

I'm not entirely sure since never owned one, but do MSX 2's Screen 6 and 7 modes display 512 x 212 pixels on screen? If so, is there a list where I can find which games made use of those? I've read Xak 1 and the Burai series at least do. How does Blue MSX handle this? Windowed modes don't seem to be configurable and for full-screen, even though my system has a 512 x 212 mode (I use a 15-kHz-able videocard and an RGB CRT TV), Blue MSX still displays it (Xak 1, for instance) as a 256 x 212 game, leaving half the vertical lines unused.

Is there a better emulator for this particular matter?

Login or register to post comments

By tvalenca

Paladin (747)

tvalenca's picture

13-08-2014, 19:35

First things first, I may be wrong but I think you're talking a bunch of different things as they were related.

The first "number" is the horizontal resolution, not vertical. the horizontal resolution isn't directly related to that 15kHz "number" (Vertical Sync Frequency), but there are some limits. (you can't squeeze, say, 1920 pixels on one single scanline on a 15kHz monitor)

When you use a emulator (like BlueMSX), the image you get is actually generated on Windows graphic subsystem, so it doesn't matter if you have a 15kHz-able-monitor or TV set, you still have a processed image from what the emulator tell the operating system how that image should be.

If you have a Videocard with a TV-out and wants to have a CRT TV displaying the emulator graphics, you need to tell your videocard to have separate images on each output (VGA and TV-out) and place the emulator on the second screen, by dragging it and toggling fullscreen. When you do it, the graphic will be zoomed to fit the screen, and not with half screen in blank.

Still if I did not get your issue and BlueMSX isn't suitable for this fullscreen experience, I'd suggest you to use OpenMSX, in Full screen or at least maximized) and the image will fit the screen.

By mars2000you

Enlighted (5885)

mars2000you's picture

13-08-2014, 21:01

The main confusion is to think that the horizontal length of the image should be twice the 'normal' length when screen 6 or 7 is used. It is not the case, for sure not on a real MSX system (computer + monitor), but the image has a better resolution, and it must be the same on an emulator. Besides, this better resolution is not to be confused with all image resolutions supported by the emulator in fullscreen mode.

By Milsancho

Resident (63)

Milsancho's picture

13-08-2014, 22:38

Hi and thanks for the replies. First thing first, then. You people are missing some key things concerning emulation under Windows and therefore, misreading my post, so please, google "Windows 15 kHz emulation" or "modified ATI drivers for 15 kHz". In a nutshell, you can "hack" an old ATI videocard and create custom modelines for a progressive 15-kHz display (say, 320 x 240). And that's for standard Windows (XP) usage (no "TV out", no two monitors, no image processing). You just need to get an RGB cable to connect your videocard to your RGB CRT TV/monitor (normally, D-sub-to-SCART). If the emulator is user-friendly enough or just respects desktop resolution for its full-screen mode (or better yet, if the author is aware and embraces this way of understanding emulation), you'll be able to use it at the video mode you want in full-screen, therefore leaving, display-wise, no differentiation with the original (low-res) hardware.

That's what apparently does Blue MSX -- it lets you select whichever video mode you've got preset on your system through its menus. At least, it does for 256 x 212 (the standard MSX resolution); for 512 x 212 it still renders the picture at 256 vertical lines (horizontal res.) for some reason (or maybe it's rendered at 512 x 212 and then subscaled to 256 x 212, I don't know). Result: you don't get a 4 : 3 display ratio as it should (say, on Xak 1) when you make it use a 512 x 212 mode but a 2 : 3, non-full-screen one.

Hope I made myself clear enough now, but feel free to ask. Is the Blue MSX author (or any other emulator's) a member here?

By Manuel

Ascended (17870)

Manuel's picture

13-08-2014, 22:46

He is (dvik), but he's not very active lately.

Another emulator is openMSX. It uses SDL (1.2) for the full screen functionality. In the past, it didn't behave very cleanly with full screen, but feel free to try of course and report the results. openMSX will have to render at scale factor 2 (640x480) in order to output all pixels for the higher res MSX modes. So I guess this is not useful for you. However, I think 256x212 or 512x212 is not enough, because the emulator should also render the MSX border. It's part of the emulated video signal (and for some demos or loaders or other things it's quite relevant). Besides on any monitor that you connected to an MSX you will see borders (or you will be able to see them).

By Milsancho

Resident (63)

Milsancho's picture

13-08-2014, 23:14

Thanks, will check it out. 256 x 212 is quite a small resolution. A standard CRT TV normally won't fill the visible screen area with that (since they're ready for 320 x 224), but you can make it behave like a monitor if you have access to the service menu. On a monitor, you can change geometry a bit (to try) to hide the borders.

It's an interesting discussion, what happens with the area outside of the default 256 x 212: should it be considered overscan or should the emulator render it? If by "border" you mean "color", Blue MSX ignores it, I'm quite sure.

By mars2000you

Enlighted (5885)

mars2000you's picture

13-08-2014, 23:32

The borders are not ignored by blueMSX : if you take screenshots, they have the format 544 x 480 (or 272 x 240 in small size). All the emulator is built to respect this format (save states, video captures, video rendering), but in recent betas with Direct3D support, it's possible to "zoom" the image with removal of the left and right borders. This format is the format before the horizontal stretching (that is part of the MSX standard) and before the vertical stretching (that is not part of the MSX standard, and therefore not recommended). With the horizontal stretching, you get the 640x480 (or 320x240) format.

By Milsancho

Resident (63)

Milsancho's picture

14-08-2014, 01:28

If you make the emulator use a 256 x 212 full-screen mode and press the Print Screen key, the picture taken is exactly of that resolution. Given that it's a perfect 1 : 1 picture, with no scaling or artifacts, the conclusion is that Blue MSX (the version I use, at least, 282) does ignore the supposed "borders". I tried with a resolution similar to 272 x 240 and it gives me "borders", though as they're black, I pressume they're the unused area, not the supposed original borders which the emulator also "renders".

Not sure of what you mean with the "part of the MSX standard" thing, though.

By mars2000you

Enlighted (5885)

mars2000you's picture

14-08-2014, 01:42

I was speaking about the screenshots that are stored in the Screenshots subdirectory of blueMSX, not the ''normal' Windows screenshots that you copy and paste in a program like Paint. The borders have the color defined by the game or the demo.

If you don't find the blueMSX screenshots, you are probably using Vista or higher, check this thread on the blueMSX forum :
http://www.vik.cc/bluemsx/blueforum/viewtopic.php?t=2001&hig...

By Milsancho

Resident (63)

Milsancho's picture

14-08-2014, 02:08

Which color is the MSX 2 boot-up screen's border (or let me know of a game with permanent non-black borders), to check it properly?

As for the emulator screenshots, I'm not denying that they may consider the supposed border, but the truth is that you don't get a smell of it in full-screen 1 : 1 display emulation, so, regarding the user's eyes, it's ignored. Weird if so, for sure.

Edit: Thanks to your link, found out that Blue MSX indeed doesn't emulate 512 x 212 modes properly.

http://www.vik.cc/bluemsx/blueforum/viewtopic.php?t=1986&sid...

Maybe I should join his petition there!

By mars2000you

Enlighted (5885)

mars2000you's picture

14-08-2014, 02:12

Border's color is by default after booting dark blue (color 4) or light blue (color 7). It depends if you boot in screen 0 (European machines) or in screen 1 (Japanese machines).

In BASIC : it's the 3rd parameter of COLOR that defines the border's color. Example : color15,4,7.

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