Monday 1 August 2016

The great MSX aspect ratio swindle

Edit: The whole text is a bit silly because I did not use Screenmode 2 on the MSX, which makes the screen wider. I still think the "method" may be of interest, hoping I can some day do this better.

I photographed the screen of Commodore 64, MSX (Toshiba HX-109, Commodore 64 (Beige, not sure of exact issue) and ZX Spectrum (Issue 2) from the same position, using the same display, a Sony from late 1980s (or early 1990s). All outputs are composite. The C64 has a clear border from the boot-up, on the MSX I inserted some characters in crucial positions. With the Spectrum I used a routine for filling the attribute memory, as the BASIC does not easily allow setting the true border color.

The inspiration came from this blog post. There's a tendency to portray MSX pictures and videos on the web with a ratio that is not very true to life. But are then MSX screens radically different in shape compared to Spectrum screens?

In the following I simply overlay the photographs using GIMP layering and opacity. The pics are of horrible quality, but at least they are from the same position. What I like about this "visual method" is that I'm not asking what is the "real" specified aspect ratio of the computer output, but how the C64, Spectrum and MSX aspect ratios relate to each other on a real hardware.

Of course this leaves out the possibility that different displays react differently to the video output, which might result in exaggerated or diminished difference, who knows. Some monitors had easy access to adjusting the horizontal and vertical stretching, muddling the issue a bit further.

Well, off to the comparisons.

Overlaying the Spectrum and MSX images reveals a difference. Though the images are obviously of the same height (the spectrum image starting and ending a bit before the MSX one), the Spectrum is clearly narrower.

Overlaying Spectrum and MSX screen on GIMP. (Spectrum is the light rectangle)
Comparing the C64 and MSX is a bit trickier as they do not have the same pixel resolution. So whereas the screen shape is pretty similar between the two, C64 has 320x200 whereas MSX and Spectrum have a 256x192 resolution. From the screenshot it's quite clear the C64 has 8 pixel lines "above" where the MSX screen starts.

Commodore 64 and MSX screen overlayed. C64 screen is indicated by the dark blue area.

Here's the C64/Spectrum overlay. There's 64 pixels more horizontal resolution to c64, which shows roughly as a four-character width difference between the screens. Edit: Previously I thought the 4 characters corresponded with the 64 pixels, but this was a thought error. (8 characters would do.) So the pixel aspect ratios are a bit different.

Spectrum and C64 screens overlayed. Spectrum is again the light rectangle.

Ok, and then, all together. Red is Spectrum, Green is MSX, Yellow is C64.
Edit: in MSX Screenmode 2 (basically all the games) the green box would extend very near to the right border and slightly over the left border.

I also used GIMP rectangles to approximately calculate the screen proportions from the images, but this is less valuable because the photographs are distorted.

Spectrum: 1,45 (256 x 192)
MSX: 1,67 (256 x 192)
C64: 1,58 (320 x 200)

What follows is not true in any absolute sense, but if the Spectrum screen is like the black box above, then in comparison to that, the MSX screen (mode 0, 240x192) appears as the one below: