Games are faster depending on the BIOS in openMSX

By Zahar

Supporter (2)

Zahar's picture

08-03-2019, 21:17

I've never owned a real MSX so I don't know if this is the case in real hardware, but when I emulate using openMSX I noticed games run faster depending on the BIOS I select. It's not really appreciable in terms of frame rate, but it's extremely noticeable that the music and sound effects are played faster.

Specifically, emulation is faster with the C-BIOS MSX1 JP BIOS, whereas the same game isn't as fast using the C-BIOS MSX1 BIOS. As I want the game to have texts in English, I use the C-BIOS MSX1 BIOS, and to achieve the same speed as the Japanese BIOS I have to increase the emulation speed.

Is this how it works when playing in real hardware?
Thanks in advance.

Login or register to post comments

By ARTRAG

Enlighted (6174)

ARTRAG's picture

08-03-2019, 21:45

One "machine" has a VDP at 60Hz NTSC, the other at 50Hz PAL. This affects the frequency of interrupt, so music and frame rate change (if the code of the game does not compensate the difference)

By Grauw

Enlighted (8031)

Grauw's picture

08-03-2019, 23:43

As of last year there should be an “International C-BIOS” which uses the Japanese / US NTSC display frequency, but the English language. A combination that is rare on real machines (in the US Yamaha CX5M MSX1 machines, and nonexistant for MSX2 / 2+), but it does give the best of both worlds for Japanese games; English texts in Konami games, while they run at the speed they were originally developed for. Note that European games were designed for 50 Hz, so you should run those on an appropriate European machine.

In the latest openMSX 0.15.0 that international C-BIOS_MSX2+ is now the default.

Zahar wrote:

Is this how it works when playing in real hardware?

Yes… When I was little I played Konami games at a slower framerate than Japanese players did :).

It’s pretty common among retro consoles… even up to PlayStation 2 consoles this was still the case.

By Zahar

Supporter (2)

Zahar's picture

09-03-2019, 22:30

ARTRAG wrote:

One "machine" has a VDP at 60Hz NTSC, the other at 50Hz PAL. This affects the frequency of interrupt, so music and frame rate change (if the code of the game does not compensate the difference)

So, if 50 Hz is the 100% speed using the PAL BIOS, would it mean that in order to achieve the 60 Hz Japanese BIOS speed with the English one setting the emulation speed at 120% should reach the exact Japanese BIOS speed?
If the emulation speed setting takes hertzes as the reference, of course.

Grauw wrote:

As of last year there should be an “International C-BIOS” which uses the Japanese / US NTSC display frequency, but the English language. A combination that is rare on real machines (in the US Yamaha CX5M MSX1 machines, and nonexistant for MSX2 / 2+), but it does give the best of both worlds for Japanese games; English texts in Konami games, while they run at the speed they were originally developed for. Note that European games were designed for 50 Hz, so you should run those on an appropriate European machine.

In the latest openMSX 0.15.0 that international C-BIOS_MSX2+ is now the default.

This is not working for me. I'm getting the same speed using the C-BIOS MSX2+ BIOS and the C-BIOS MSX1 BIOS.

Grauw wrote:

It’s pretty common among retro consoles… even up to PlayStation 2 consoles this was still the case.

Yeah, I remember that I didn't notice this with the Nintendo 64, until I tried NTSC games using emulation, and now I can't get used to PAL games. With the PlayStation 2 and the GameCube you had the possibility to choose 60 Hz mode.

But I'm surprised how the MSX music speed changes in the PAL version. Music plays differently in the aforementioned consoles, but not as much as in the MSX, that's why I'm surprised because of this.

By Meits

Scribe (5387)

Meits's picture

09-03-2019, 23:55

Zahar wrote:

Music plays differently in the aforementioned consoles, but not as much as in the MSX, that's why I'm surprised because of this.

There are ways to keep music at the same tempo if the coder chooses to do so. This is normally not used in commercial software from back in the day.
If you play prerecorded music (ogg, mp3, wav, cd) you'll never notice the difference between pal and ntsc. In all cases where there is a noticable difference, the difference is the same on each platform.

By Sandy Brand

Master (142)

Sandy Brand's picture

10-03-2019, 01:15

Zahar wrote:

So, if 50 Hz is the 100% speed using the PAL BIOS, would it mean that in order to achieve the 60 Hz Japanese BIOS speed with the English one setting the emulation speed at 120% should reach the exact Japanese BIOS speed?
If the emulation speed setting takes hertzes as the reference, of course.

Your line of of thinking is in the right direction, but it will not give you a 100% accurate emulation result if that is what you are looking for Smile

If you put your emulator on 120%, it means that everything is faster, including the hardware and display processor, which is not an accurate representation of what the real hardware is limited to.

The NTCS (Japanese) games run 'faster' because the period of the interrupt timer is shorter and thus, things such as music, get updated at a faster pace. This does mean though that the CPU has to do more work over time compared to a 50 Hz mode. As a result, although games at 60hz run 'faster', they are also a bit more prone to slowdown.

It shouldn't be anything too serious though, but some games sort of implicitly rely on a bit of slowdown to make it easier for players to survive a 'bullet hell' and what not Smile

By Louthrax

Prophet (2050)

Louthrax's picture

10-03-2019, 07:54

About openMSX and PAL/NTSC handling, maybe an option to have the correct aspect ratio in PAL would be interesting? I do not like the PAL aspect ratio, but when I switch from 50Hz to 60Hz in openMSX, nothing changes on the screen Wink

By Manuel

Ascended (15371)

Manuel's picture

10-03-2019, 11:03

Yes, as Sandy explains. It is not the same. The emulator emulates all chips on their correct frequencies. Changing the whole emulator speed is different.

In openMSX 0.15.0, the default C-BIOS machines are the international ones, and these set the video chip to 60Hz or contain a 60Hz MSX1 videochip.

By Manuel

Ascended (15371)

Manuel's picture

10-03-2019, 22:29

Louthrax wrote:

About openMSX and PAL/NTSC handling, maybe an option to have the correct aspect ratio in PAL would be interesting? I do not like the PAL aspect ratio, but when I switch from 50Hz to 60Hz in openMSX, nothing changes on the screen Wink

Screen emulation in openMSX is not very advanced... so for that you need CLK Smile