How does this "CPU Turbo mode" (5.37 MHz) work?

Por Bengalack

Hero (578)

Imagen del Bengalack

08-02-2022, 18:55

I can't seem to find too much information about this mode. There is some info at https://www.msx.org/wiki/Panasonic_FS-A1WSX#CPU_Turbo_mode and at http://map.grauw.nl/resources/msx_io_ports.php#expanded_io and it seems to be available in Panasonic computers only.

The above information is good and to the point, but I'd like to know if there are other ways to enable Turbo Mode. Like, are there computers with a physical "Turbo-button"? Can the turbo mode be survive a reset and carry over from previous boot/session, etc.?

The reason I'm asking, is that I'm assuming that this mode may visually degrade my current game to a certain extent (curious about splits at line-interrupts). I need to know that users cannot set this mode outside the game - or if so, I need to make sure that the game runs fine in this mode as well... somehow.

Also: How much is this mode used? Any widespread use?

Login sesión o register para postear comentarios

Por Grauw

Ascended (10577)

Imagen del Grauw

08-02-2022, 19:09

Bengalack wrote:

The above information is good and to the point, but I'd like to know if there are other ways to enable Turbo Mode. Like, are there computers with a physical "Turbo-button"?

The (Panasonic MSX2+) machines that implement this do not have a physical turbo button.

Bengalack wrote:

Can the turbo mode be survive a reset and carry over from previous boot/session, etc.?

Not sure actually! But I expect it to reset properly, after a hardware reset at least, otherwise some quite strange behaviour could occur.

Bengalack wrote:

The reason I'm asking, is that I'm assuming that this mode may visually degrade my current game to a certain extent (curious about splits at line-interrupts). I need to know that users cannot set this mode outside the game - or if so, I need to make sure that the game runs fine in this mode as well... somehow.

Even if the user did enable it intentionally, I wouldn’t worry about it.

Another reasonably common case you will find, separate from Panasonic’s computers, is MSX computers modded with a 7MHz circuit. Those can not be controlled from software, they have a switch on the case to let the user select the higher speed. Users of it know that this can affect games in various ways, and again, I wouldn’t really worry about it.

Bengalack wrote:

Also: How much is this mode used? Any widespread use?

It’s not used widely. The only game I know of that uses it is SMW.

Por Bengalack

Hero (578)

Imagen del Bengalack

08-02-2022, 19:18

Thanks! Great info!

Grauw wrote:

Another reasonably common case you will find, separate from Panasonic’s computers, is MSX computers modded with a 7MHz circuit.

Can this be emulated in openmsx? For both turbo and this 7MHz, it could be nice to see how the game performs Smile

Por Manuel

Ascended (18777)

Imagen del Manuel

08-02-2022, 19:56

It is emulated, except for the effect it has on sound pitch.

Por Grauw

Ascended (10577)

Imagen del Grauw

08-02-2022, 20:08

Bengalack wrote:

Can this be emulated in openmsx? For both turbo and this 7MHz, it could be nice to see how the game performs Smile

The Panasonic MSX2+ 5.37 MHz turbo is emulated in openMSX. Though not sure if the effect it has on the PSG pitch is, too; the PSG is pitched up by 50%, so the program that enables the turbo needs to compensate for that (SMW does).

However 7 MHz mods are not really emulated. You can set a custom CPU speed in openMSX, however the mods have circuitry to slow the Z80 down back to on I/O, which is not emulated. They do this to improve compatibility (especially for the VDP), but there is no unified standard way, some mods only slow down on I/O to specific devices, others slow down on all I/O.

Really these mods are hacks, so the user knows that they don’t always work. For example, enabling 7 MHz messes up music because most sound expansions use the system clock which is directly fed from the CPU. It’s a simple mod without motherboard modification to prevent this. And due to the constant clock speed switching (for I/O) it doesn’t just pitch up an octave, but sounds garbled.

If you have it installed there are situations where it’s useful and where you would enable it, e.g. to speed up DOS2 file operations, compression or compiling code. However you would typically keep it disabled while playing games. Though I personally remember enabling it sometimes if I had to walk long distances in Metal Gear 2, it would mess up the music but I could get from A to B quite a bit more quickly.

You can more or less test in openMSX by setting a custom CPU speed and disabling the VDP speed limit, however it’s not a completely accurate emulation due to the absence of the I/O slowdown.

Por Bengalack

Hero (578)

Imagen del Bengalack

08-02-2022, 22:23

Thanks guys! Great insight. I'll check this out and see how it goes Smile