FRS' MSX Page

Patches

Glossary:

1. Games

Patch Features
Columns
Columns for the MSX2 is a great port of this classic game, deemed by many to be of 16-bit quality.

Well, except for its two title screens. They were just hasty digitizations of the Sega Mega-drive title screens, that looked bland and missed a lot of details. Even the aspect ratio was wrong.

This enhancement patch replaces the two title screens with new ones, made as real Pixel Art, that are even more colorful and detailed than the Mega-drive ones.

As a bonus, this patch also disables the keyboard click and removes the annoying copy protection.

Duck Hunt
The original game is great, but it uses the Sega Light Phaser directly connected to the MSX without any adapter. When plugged this way, the Light Phaser will obtain the ground for its entire circuit from a data pin of the PSG, which is strongly not recommended. In the long run there's a high probability to fry the PSG Port3/bit5. Imagine that for the MSX models that have the PSG integrated into the chipset. With this bit fried, a lot of MSX devices won't work anymore, like the mouse, touchpad, paddles and even the joymega.

This patch implement the following enhancements and fixes:
  • Change the embedded Lightgun driver to the standard MSX lightgun. The Gunstick support was also dropped (not enough space in a 8KB ROM).
  • The game now passes all MSX AcidTests
  • The turbo will be enabled if the CHGCPU routine is present in the BIOS
  • A better interrupt handler was implemented
  • Both light guns can now start the game. When the 2nd light gun starts the game, the two player mode will be selected.
Note: You can still connect your Sega Light Phaser to the MSX, but now you will have to do it the right way, by connecting it to the gunSMS adapter. And you're now also able use the NES Zapper with the gunNES adapter.

There's still a bug in the game that wasn't fixed: in two player mode, if both players pull the trigger at the same time and player-1 misses his shot, the player-2 sensor won't be checked and will miss his shot too.

Fleet Commander 2
  • Fixes a race condition that exists on the game boot, that could cause problems on some machine under certain circunstances.
  • Allows the turbo to be enabled on any machine that has the CHGCPU routine on its BIOS when R is keep pressed on boot. The original routine only allowed the turbo on MSX Turbo-R machines.
Ghost
Ghost is a fantastic a-la-Maze of Galious style game developed by unepic_fran where you control Ghost, one of Viktor's agents, who has the mission to destroy a computer that went mad and is now controlling the Dallas space station.

This patch makes many improvements to the game:
  • Fixed the PSG replayer, so now the whole game passes the Acid2Test
  • Fixed a bug where the password could not be typed if the caps lock was on. This was a problem with the Sharp Hotbit computers, since they have the capslock enabled by default in their BIOS. The first impression was that the password screen just didn't work on the Hotbits.
  • Implemented a new interrupt handler, for many reasons:
    • It improves the game performance and reduces the tearing that happened in some more crowded areas
    • It also allowed the keyboard buffer flushing routines to be eliminated from the game, saving more CPU time.
    • This also fixed the problem that the keyboard routines had with turbo, probably leading you to disable the turbo on turboR machines
  • Implemented full joystick support. This way the game can be played entirely on the joystick, without having to get out of the comfort of your sofa to reach for the keyboard   ;).  The new controls are:
    • Joystick Button-2: pause the game
    • Up in the pause menu acts like RETURN: teleports you to the center room
    • Down in the pause menu acts like CTRL: teleports you to the area-4
  • Since there are no more problems with turbos, now the game enables the turbo on any machine that has the CHGCPU function on its BIOS, for quicker screen transitions and to eliminate any residual tearing on crowded areas
  • Added CoolColors (the same palette I used on Gradius-2 smooth scroll) to improve the visuals on MSX2 or higher. These colors enhance the gradients and details of all MSX1 graphics.
Gradius-2 Patches This patch implements many enhancements on Gradius-2:
  • On MSX1 and MSX2: DynamicVsync
  • On MSX2+ and MSX Turbo-R: SmothScroll and standard TurboFix.
  • Enables the turbo via CHGCPU on boot
  • CoolColors
  • Many routines were optimized.
King's Valley II Enhancements
On MSX1, MSX2 and MSX2-Gold versions:
  • DynamicVsync
  • Enables the turbo via CHGCPU on boot
  • Hold TAB to throttle the game speed
  • Automatically sets the VDP to 60Hz on boot, to play the game at the correct speed even on european machines. If you have an old european TV that doesn't support this, keep SELECT pressed on boot to disable it.
  • Enhanced sprite multiplexing: if you have a turbo machine, the sprite multiplexing routine will now take advantage of that and the flickering of the sprites will occur at a higher framerate, dynamically adjusted as high as your CPU supports.
  • Many small optimizations on the jukebox, reducing the CPU usage
  • Pausing the game don't stop the sprite multiplexer (flickering) anymore
  • Jukebox fixed to pass the Acid2Test

Specific bugfixes/enhancements for each version:
  • KV22/KV2G: Much faster routine for picking a tool/weapon. But 128KB of VRAM is now a requirement.
  • KV22/KV2G: Smarter routine for refreshing objects on screen. It's much faster and the objects don't flicker anymore
  • KV21/KV22: Now both coldboot and warmboot are supported. This means that the ROM not only boots as a cartridge, but also detects if it was booted from MSX-DOS and boots correctly with disk support on both cases. This allow you to load the games under the MSX-DOS2 using your favorite ROM loader and use the harddisk for loading/saving custom stages.
  • KV21/KV22: Finally it's possible to set the desired theme for custom stages. The 6 original themes are supported and 2 "new" themes (see below) are supported, which along with the second palette supported for each theme supported by the KV22 version results in 32 different possibilities.
  • KV22: Two "new" themes were created by combining two of the themes with the palette of each other.
  • KV21/KV22: Fixed the bug that allowed files with spaces on its name to be saved on disk. This resulted in files that could no be handled properly by the MSX-DOS. The spaces on the filename are now replaced with underlines. The stage title will continue to be shown with spaces.
  • KV22: Translated the introscreen logo
  • KV2G: Translated the introscreen logo, certificate screen and the menus
  • KV21: On the 5th theme, the decorative beetle eyes now blink at the right place.
  • KV21: Fixed the disk routines, now harddisks are supported for loading/saving stages (KV22 didn't had this bug and supported harddisks from the beginning)
  • KV21: Removed GameMaster-1 compatibility, because it caused problems on harddisk support. GameMaster-2 compatibility is still present though.
  • KV21: Fixed the bug that caused the player sprite to appear on the wrong side of the screen for 1 frame on screen changes.
  • KV21: The TMS9918 palette is loaded on MSX>=2 machines. I decided to use this palette instead of CoolColors because there's already an MSX2 version of the game. So the TMS9918 palette would be more faithful for comparisons between the two versions.
  • KV22/KV2G: Modified to use the HKEYI hook instead of HTIMI, just like any other Konami game.
  • KV22/KV2G: Relocated a variable that was placed on the HTIMI hook
Konami's Soccer
  • Standard TurboFix
  • Removes some annoying software protection routines to make space for the turbofix routines.
Laydock-2 enhancements
Laydock-2 is one of the very few MSX2+ exclusive games. This patch does many enhancements into this game, aiming to improve the playability, performance and balance the difficulty of the game between the one player and two player modes.
  • New title screen. The original title screen was a hasty digitisation. The MSX2+ trump card was to have thousands simultaneous of colors, something just unseen at that price range in 1988, and even less on an 8-bit machine. But the title screen of this game was almost monochrome and was full of artefacts, leaving a not so great impression.
  • Turbofixed the game. The turbo is automatically enabled on machines that have the CHGCPU routine on BIOS, and on Panasonic MSX2+ machines. Even the sample player will work at the correct rate, regardless of the CPU speed.
  • Optimised many of the game routines, so it runs a quite faster now even at 3.57MHz
  • Modified the sample player to play the samples at the PPI instead of the PSG. The samples were 1bit anyway, and this saved space for the new routines
  • Fixed a bug in the intro demo that caused the loading screen to be shown (and the respective sample to be played) only once every 256 loops of the demo
  • Implemented Double-buffering on the SAT (Sprite Attribute Table)
  • Fixed a bug that caused the shield meter to show an incorrect percentage
  • Fixed a race condition in the vertical scroll code that caused the sprites to jump on certain CPU speeds
  • Fixed a bug that made the Alpha weapon launch backwards in the horizontal stages
  • Bugfix: Bulldog didn't clear its explosion last sprite frame from the screen
  • The shield energy is now refilled at the beginning of each planet. This was implemented since the game allows you to start with a full shield at any stage you already played anyway.
  • Adjusted the power and speed of the weapons to match those of Super Laydock
  • To compensate for the stronger weapons, the shield now works differently:
    • It holds 20% less initial power
    • As a reward for careful players, the undocked ships now can recharge up to 8 units (50% of the max) per planet. It slowly recharges when the docking power is kept maxed for at least 4 seconds
  • There's a new dotted gauge just below you shield gauge, that show the amount of charging you still have left
  • The docking power also plays a rule at the fire rate of your projectile weapons. At the minimal level, your weapons have the original Laydock2 fire rate. At the maximum docking power, your weapons will match the fire rate of Super Laydock.
  • The docking power now discharges when taking hits even when the players are undocked. This will reflect in the ships fire rate (as explained before), and will also make docking harder, in a way to balance the difficulty between the single-player and dual-player modes.
  • All the weapons you have available can be fired at any time now. Some weapons were blocked from firing under some conditions as a workaround for bugs they had. This caused a nightmare for the player since he selected weapons that sometime just wouldn't fire without any explanation. Those bugs were fixed, so the blocks could be removed.
  • The "Double" weapon now kills both airborne and ground enemies on vertical levels too
  • Implemented 3 button joystick/keyboard support. They select the next/previous weapon respectively:
    • Changed the SHIFT to N and M for the keyboard 2nd and 3rd buttons
    • On the MSX joystick, press the trigger-2 to select the next weapon, and the triggers 1 and 2 simultaneously to select the previous weapon
  • Added joyMega support: button-A = next weapon, button-C = previous weapon, START = pause
  • Implemented support for quick weapon changes on single-player mode. This allows the secondary weapon to be changed while the older is still on screen. This will also solves the bug where the Condor missile got stuck on bosses
  • Improved the Merry weapon: when no direction is selected, it will fire forward like Zanac's weapon-0
  • Adjusted the launch point of the "Double" weapon on horizontal stages, to match the place on the ship were it is launched on vertical stages. This also makes it more effective.
  • Replaced ESC with STOP to pause the game on the keyboard
  • Fixed a bug that allowed line interrupts to happen during disk I/O (it was a miracle that it didn't freeze very often)
  • Implemented frame skipping and dynamic vsync for a much smoother gaming experience. This also considerably reduced the tearing that happened in screen flashing and palette fading effects, and the glitches that happened on the sprites on the MSX Turbo-R at the top of the screen.
  • Enhanced the shield gauge to show when the shield power is overboosted
  • Bugfix: Corrected the player-2 energy bar position, since it was misaligned
  • Fixed a bug that corrupted the fixed point damage under some occasions
  • Fixed a glitch that caused spurious sprites to be shown when the boss ship stage was being loaded

Note: Only after I finished the patch that I noticed that there's a different title screen if you boot the disk-2 of the game. I won't have time to remake that screen too, so if someone feels compelled to do that, just send me the finished image and I can include it on a newer version of the patch.

TL;DR: Besides the bugfixes and new title screen, the difficulty isn't watered down by this patch. In fact, what it does now is to reward skilful players that know how/when to balance the risks of playing offensive versus defensive, and that master the sub-weapons available in the game. The docking power now has a very important role in the game, so use it wisely. And yes, there's turbo and joyMega support now.


Maze of Galious, The
  • DynamicVsync
  • Enables the turbo via CHGCPU on boot
  • CoolColors
  • Hold the TAB key to throttle the game speed
  • Automatically sets the VDP to 60Hz on boot, to play the game at the correct speed even on european machines. If you have an old european TV that doesn't support this, keep SELECT pressed on boot to disable it.
Metal Gear 1 DynamicVsync
  • DynamicVsync 
  • Enables the turbo via CHGCPU on boot
  • Hold the TAB key to throttle the game speed
  • SPACE key now speeds up the text dialogs, just like Metal Gear-2
  • Automatically sets the VDP to 60Hz on boot, to play the game at the correct speed even on european machines. If you have an old european TV that doesn't support this, keep SELECT pressed on boot to disable it.
  • Removed the annoying region lock. Now it's possible to play the japanese version on non-japanese machines
  • Enhanced sprite cycling: if you have a turbo machine, the sprite cycling routine will take advantage of that and the flickering of the sprites will occur at a higher framerate.
  • Improved graphics for the moving parts of the bridge. They now match the non-moving pieces better.
Metal Gear 2 Turbo Fix
  • Standard TurboFix
  • Enables the turbo via CHGCPU on boot
  • Jukebox fixed to pass the Acid2Test
Mon Mon Monster
  • Turfofixed the game
  • Faster screen-change routine
  • The game now passes the Acid2test. This also means that the FM soundtrack can now be heard on the MSX-Audio BIOS v1.3
  • New interrupt handler: quicker and more compliant
  • Enable the turbo on machines that have the CHGCPU routine on BIOS
  • The PSG can be redirected to the PSG emulator (requires MSX-Audio BIOS v1.3b, yet to be released). When this feature is enabled, the turbo will also be enabled automatically on Panasonic MSX2+ machines
  • Configuration keys that can be pressed on boot:
    • R = Enable the hidden F1 cheat to advance stages
    • 5 = Force 50Hz refresh rate, otherwise it will select 60Hz
    • P = Force PSG mode (don't detect MSX-Music or MSX-Audio)
    • O = Use PSG driver only (Allows PSG soundtrack on PSGemu)
    • M = Ignore internal MSX-Music
  • Added joyMega support:
    • START = pause
    • A button = throws rocks
  • Fixed a bug that caused writes to the OPLL to happen even when no MSX-Music was present
  • Fixed the "CONTENUE" typo of the game over screen
Quarth
  • TurboFix: The game can now be run on turbo machines without any glitch
    • Fixed the splitscreen routine
    • Fixed the places where the CPU didn't wait for the blitter to finish
  • The turbo will be enabled via CHGCPU BIOS call on machines that support this
  • Correct handling of non-VDP interrupts, that are now passed along to the interrupt chain.
  • The game now passes the MSX Acid2Test: fixed routines on the Jukebox and battle-mode splitscreen
  • 50Hz video mode can be forced at boot by keeping the "5" key pressed.
  • The Button-2 of the joysticks can now be used to pause the game.
  • Partial Game Master 2 support. The ingame Game Master menu functions are glitchy, but the rest work fine.
Salamander Patches
  • DynamicVsync
  • CoolColors
  • Fixed the ripple-laser, which on the MSX version didn't behave as a laser at all. Now it behaves like the arcade version.
Space Manbow
  • Standard TurboFix
  • Fixed the bug of the random number generator of the stage-7 boss (the big green head with horns). This bug caused a too long delay between the launch of each bubble, resulting in one of the lamest bosses of the MSX history. After this fix, the boss started to behave as a real stage boss.
  • Jukebox fixed to pass the Acid2Test
Valis II: The Fantasm Soldier
This patch enhances the drum kit of the game Valis II for the MSX2, both for the FM and PSG soundtracks, plus some extra enhancements:
  • Some of the sound effects were also enhanced
  • The PSG volume will be adjusted to match the FM volume, finally fixing the obnoxiously loud PSG volume that this game originally had
  • Implements a workaround for the sound bug that happens at the 2nd part of the cutscene at the end of act 5
  • Because this game is so CPU heavy, it also enables the turbo on any machine that has the CHGCPU BIOS function on its BIOS, granting a much smoother experience and shorter loading times. This way the game will play at the same speed as the PC-88 version
For an even more pleasant music experience, you can check if your MSX computer needs a hardware sound fix at this page.

Vampire Killer /
Akumajo Dracula

  • DynamicVsync (it also Fixed the 50Hz speed bug, as even the Z80A/3.57MHz was too fast to run the game at 50Hz)
  • Enhanced sprite cycling
  • Page flipping for the sprites
  • Enables the turbo via CHGCPU on boot
  • Hold the TAB key to throttle the game speed
  • Automatically sets the VDP to 60Hz on boot, to play the game at the correct speed even on european machines. If you have an old european TV that doesn't support this, keep SELECT pressed on boot to disable it.
  • Correct handling of non-VDP interrupts, which are now passed along to the interrupt chain.
  • Removed the internal pseudo GameMaster-1 to release space for the enhancements. You can use GameMaster-2 with this game instead.
  • Fixed inconsistent keyboard vs joystick interface: now when playing on the keyboard the player also jumps by pressing the secondary trigger (M or N key). The UP key is now only used to climb stairs. This solves the frustrating jumping-instead-of-climbing situations that happened before.
  • Added support for the Megadrive 3-button joypad connected though a joymega adapter. (START = pause, A-button = MAP). Don't connect the joypad directly to the MSX! The adapter *MUST* be used.


2. Applications


Eddy II
This patch upgrades the Eddy II image editor by HAL to a homebrew v1.1, that fixes some bugs and implements mouse support.
  • Removes the annoying beep that was played at every mouse/trackball click
  • Adds mouse support on MSX2 or higher.

MUE Music Editor
MUE is a Music Editor by HAL released  in 1984.

This patch upgrades the MUE Music Editor by HAL to a homebrew v1.1, that fixes some bugs and implements mouse and turbo support.

  • Added mouse support on MSX2 or higher (either on joystick port 1 or 2)
  • Added turbo support on machines that have the CHGCPU function on their BIOS
  • Bugfix: Disk drive detection was buggy and didn't work when the software was run as a cartridge. Only if executed from disk (.BIN) that it would work.
  • Bugfix: Screen corruption that happened if the MSX booted in 80 columns mode
  • Bugfix: If the mouse was moved too quickly to the left or right, it would warp to the other side of the screen
  • Automatically set the frame rate to 60Hz on MSX>=2. Press "5" on boot to force 50Hz

Bonus: Two disks full of music in .MUE format. Download them here and here.


Don't forget read the included README.TXT file included inside of each package.




It's now known that Konami used a HP 64000 development system with a 64252A Z80A Emulation Probe to develop MSX games. This setup had a faster processing speed (at least 25%) than the 3.57MHz Z80A MSX, and this resulted on the constant frame dropping we see when many megarom games are run on any MSX without turbo.




Other Konami games that still have the bug in the timming routine:
(games marked with * = designed for turbo, as the 3.5MHz Z80A drops frames constantly)


- Gradius 1
* Gradius 3
* Parodius
- Twinbee (SCC version should have turbo)
- Pooyan
* SD-Snatcher (only on introduction)
* Snatcher (only on introduction and on in-game cutscenes)
* F1 Spirit 3D Special
 


Konami games that were designed for turbo, but do NOT have the TurboBug:

- Penguin Adventure
- F1 Spirit / A1 Spirit
- Knightmare 3 - Shalom


Konami games that don't drop frames at 3.5MHz and don't have the TurboBug, but do benefict of a turbo someway

- Circus Charlie (smoother scroll, without glitches)
- Goonies (quicker screenchanges)
- Road Fighter (no more teared frames )
- Contra (quicker screenchanges)
- Goemon (quicker screenchanges)
- Pennantles (quicker screenchanges)
- Pennantles 2 (quicker screenchanges)
- Hinotori (quicker screenchanges, no more slowdowns on crowded areas)
- King Kong 2 (quicker screenchanges)
- King's Valley 1 (quicker screenchanges)


Other non-Konami games that drop a lot of frames at 3.5MHz and run at the right speed with turbo (not an exaustive list)

- Herzog
- Bank Panic
- Guardic
- Penguin Land
- Rally X
- Zanac-Ex
- Daiva 5
- Final Cowntdown
- Chuka Taisen