Patch to fix Metal Gear 2 speed on turbo MSXzes v1.1 (c) FRS 2011 (frs@pop.com.br) *************************************************************************** *** You must read the license and agree with it before running, copying *** *** or distributing this patch. If you don't agree with the terms and *** *** conditions, you must delete all its files. *** *************************************************************************** Metal Gear 2 is a great stealth game and have a lot of improvements over its predecessor. But unfortunately the 3.57MHz Z80A of the basic MSX models doesn't have enough processing power to run it at the right speed, so the game drops frames constantly. The result is that it run clearly slower than Metal Gear 1. On some places, like the 4th floor of the 1st building, Snake walks as slow as a slug. This and the long loading screens nowadays annoys some people, including me. It was no problem when I played the game 20 years ago, but now I (and probably you) have much higher gaming requirements. And I'm talking no profanity here: The game was clearly designed with a 5.37MHz MSX in mind. If you don't believe it, just open the console on openMSX and type the following commands: set z80_freq 5370000 set z80_freq_lock off You'll see that now Snake walks exactly at the same speed he walked on MG1. This 5.37MHz speed seems also to be the real target speed of the majority of the last Konami games, as many of them run dropping frames on 3.57MHz. Obs: Don't forget to type "set z80_freq_lock on" afterwards, otherwise this higher speed will be enabled forever and will affect games without timing (mainly non-Konami ones). All Konami games have timing on MSX. They *should* run at the correct speed independently of the CPU clock. But unfortunately some of them have a bug on the timing routine that causes it to be synced at 2x or even 3x the target speed if the CPU can handle it. Metal Gear 2, as well as Metal Gear 1 suffer from this bug. I plan to put a list of the affected games online soon, and it seems that they were all developed by the same team. Konami apparently had more than one team of MSX developers. On the Metal Gear 2 version that was included on Playstation 2's "MGS3 - Subsistence" Konami fixed the timing routine and emulated the Z80 with turbo. The only sad thing is that the PS2 CPU could not emulate the entire MSX at a decent framerate. So, even if the game was running at the correct speed, the framerate of the emulated MSX was horrible. The purpose of this patch is to fix the bug on the timing routine, allowing the game can be run at the right speed on any turbo MSX. Running it on a higher speed MSX will also bring you many advantages: a) Constant frame rate. No more slowdowns on crowded areas, no more speedups on elevators and small rooms. b) Much lower loading times. There are times in the game you have to change floors a lot of times. The "Fox loading screen" appears a lot and without turbo it consumes a lot of your (probably scarce this days) gaming time. c) Quicker screen changes. You'll notice even changing screens will get faster. With this patch applied, the faster your MSX is, the better. The best results I got where, in this order: 1) openMSX with Z80 at 20MHz and the turbo-blitter enabled. With this configuration, the game runs like a breeze. If your PC/Mac have enough CPU power to emulate it, of course. Even with Z80 at 15MHz things will rock. 2) MSX Turbo-R. The fastest MSX ever. The loading times get a lot better, even considering I run the game from a MegaRAM (the external Turbo-R slots slow down the R800 CPU a lot). To get even faster results you can run the game from the internal mapper, using TRLOAD.COM. But for this you'll need 1MB of internal mapper. 3) One Chip MSX (aka OCM) running at 10MHz with turbo-blitter enabled. This little revival MSX rocks and its turbo-blitter allows very fast screen changing. This patch will also automatically enable the turbo on the following Panasonic machines, because those don't have an external switch to enable the turbo while running the game. It was also included to allow people not used to the MSX standard to get the benefits of the patch by just selecting "Turbo-R" on their MSX emulators. - Turbo-Rs - FS-A1ST - FS-A1GT The turbo isn't enabled for the Panasonic MSX2+ machines anymore, since the PSG frequencies get 50% higher when the turbo enabled on those machines. In other words, the sound gets distorded. Other fixes were included in this patch as well: - Support for warmboot. This way you can just load the ROM under MSX-DOS2 using your preferred megaROM emulator and the savegames will be load/save on your hard-disk. - The jukebox routines were fixed and now pass the MSX Acid2Test. - Fixed a routine on boot that caused problems on generic megaROM emulator hardware, like the megaRAM. This archive is composed of the following files: READ-ME.TXT : This file; MG2_TF.IPS : Turbo-Fix patch in IPS format. Generally used on PC/Mac computers; MG2_TF.XPC : Turbo-Fix patch in XPC format. This is the format used on-the-fly by EXECROM, a tool by Adriano for running ROMs on a real MSX using a MegaRAM. If your emulator supports patching ROMs on-the-fly, you should prefer it and preserve your original ROMs. Otherwise apply the IPS patch using your preferred tool, like uips. =========================================================================== License Terms of use --------------------------------------------------------------------------- 1) This patch is free (gratis) for non-commercial purposes. You can only run, make backup copies or distribute the patch under this strict condition. 2) You are only allowed distribute the patch files (online or on a removable media) under the following conditions: 2.1) No commercial transaction of any kind is involved 2.2) All the included files are distributed together inside the same compressed file. 3) If you want to use this patch for commercial purposes you MUST contact me first to negotiate the terms and conditions. Use the e-mail supplied at the beginning of this document for contacting me. 4) This software is provided free of charge for non-commercial purposes, and the author retains its copyright. 5) You cannot distribute ROMs with my patches applied on them. 6) This software is provided ‘as-is’, without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. 7) USE THIS SOFTWARE SOLELY AT YOUR OWN RISK.