ROMLOAD v1.99w 
Saturday, November 2, 2013, 13:15
Today I released a new version of ROMLOAD. New in this version are:
  • Fixed bug causing a file not found to be (unintended) generation of ROM image too large error
  • Start ROM in SCREEN1 for compatibility
  • Added support for DAC for 2 Konami titles. This is a requirement for Hai No Majutsushi
  • Made the hotkey configurable

The DAC support includes playing the sample data through the PlaySoniq DAC. This is as an addition to the PSQTOOLS toolset for the PlaySoniq module I released last weekend. It currently contains PSQSET - a tool to configure the PlaySoniq module and DUALVDP - a tool to display the MSX1 screen on both the MSX VDP and Sega VDP. This tool is available here as a TNI product.
add comment (4309 views)   |  permalink   |  related link
Metal Gear 2 Solid Snake, English v1.4 
Saturday, October 12, 2013, 18:15
The English translation of Metal Gear 2 Solid Snake is updated. Changes:
  • extended explanation of Natasha's brooch.
    Reported by Ricardo Sánchez-Sáez, the explanation now matches the original japanese version
  • retranslated the story demo.
    The story demo now contains the complete translation in the font which is used in the game

Of course the demo version is also updated with the new story demo. Both translations are released as IPS patches.

(Fixed an unexpected bug. If you already have downloaded the IPS patches, please redownload.)

Info, screenshots and downloads are available on the Metal Gear 2 Solid Snake English translation website.
add comment (49225 views)   |  permalink   |  related link
MSX IPS Patch Archive updated 
Friday, May 17, 2013, 18:53
Today I did some work on the archive. The following changes were done:
  • fixed ending bug in Metal Gear single version 1.9 English translation
  • added Contra text improvement patch, stage names now match japanese translation, properly centered and duplicate spaces are removed
  • added Konami Game Collection Volume #1 King's Valley stage 9 patch (disk 2)
  • added Konami Game Collection Volume #3 diskstop fix patch
  • added Konami Game Collection Special Compilation menu palette fix patch. The palette was only changed on MSX2. On MSX2+ the palette was default again
  • added Konami Game Collection Special Compilation Road Fighter fix patch. It adds the extra fuel pickup in stage 5 of level B

add comment (3564 views)   |  permalink   |  related link
MSX IPS Patch Archive updated 
Saturday, November 24, 2012, 18:31
Today I did some work on the archive. The following changes were done:
  • updated Maze of Galious screens fixes patch
  • updated README.TXT of Golvellius English translation to the latest
  • added Diskview 2 fixes patch. Patches 2.0 to 2.1, fixes 'more' after changing dirs and 256 root entries fix
  • added Space Manbow V9958 Y-adjust fix patch, doesn't change the Y-adjust value of the screen anymore when using V9958 equipped MSX computers
  • added Sorcerian Program disk fix patch, allows the game to run on more MSX2 machines

add comment (7071 views)   |  permalink   |  related link
The making of: Unknown Reality Video 
Monday, August 27, 2012, 12:57


13 months ago I uploaded a video of N.O.P.'s Unknown Reality megademo. There was one major problem during the recording session. The demo switches between 50 Hz and 60 Hz interrupt which causes the video to fail to synchronize audio and video all of a sudden. To prevent this I wrote a script for openMSX (the MSX emulator I used to record the megademo and the first emulator to actually run the demo correctly) which automatically starts a new recording when the VDP switches between 50 Hz and 60 Hz interrupt. I called it vblank.tcl and an extended version of it is available here.

The openMSX TCL script

namespace eval vblank {

variable cur_wp ""
variable old_r9 0

proc check {} {
variable old_r9

if {[expr [vdpreg 9] & 2] != $old_r9} {
set old_r9 [expr [vdpreg 9] & 2]
if {[record status] == "status recording"} {
record stop
record start -doublesize

proc toggle_vblank {} {
variable cur_wp

if {$cur_wp == ""} {
set cur_wp [debug set_watchpoint write_io 0x99 1 { vblank::check }]
} else {
debug remove_watchpoint $cur_wp
set cur_wp ""
return ""

namespace export toggle_vblank

}; #namespace

namespace import vblank::*
To use the script copy and paste the contents of the window into a text editor and save it as vblank.tcl in your personal openMSX/share/scripts folder. In Windows this openMSX folder can be found in My Documents.

Recording the demo

Before you start recording the demo go to the openMSX console (F10 in Windows) and execute toggle_vblank. This will start the script that will automatically restart a new video file when necessary. Then start recording with the record start -doublesize command.

After recording the entire demo with all required hardware, I ended up with 16 separate AVI files. First step is to convert the frame rate of one of the interrupt frequencies to the other. I decided to convert the 50 Hz interrupt videos to 60 Hz. To do all this I used VirtualDub. It's possible to do multiple conversions in one go. I'll list the conversions you'll need to do.

All of these settings need to be exactly the same for all video fragments to allow to put all of them together in one video file!

Frame rate conversion

To convert the frame rate follow Video, Frame Rate..., Frame rate conversion, Convert to fps. In here you need to enter two values indicating the frame rate. In openMSX 50 Hz is calculated with the following values: 50158973 and 1000000. 60 Hz is calculated with 59922743 and 1000000. In VirtualDub you can read those values in hexadecimal notation (left is the hexadecimal value, right the decimal one):

000f4240 = 1000000 (divider)
02fd5d7d = 50158973
03925937 = 59922743

These values are important because you need to input those in the Convert to fps box to calculate the exact frame rate for the new video.

Video Compression

As the video codec used in openMSX doesn't have the decoder in the Windows codec you'll need to select a different codec to use. This can be done in Video, Compression... to select the codec and settings to use.

Audio Compression

For the best audio quality I recommend using Direct stream copy in the Audio menu.

Conversion time

In the File menu, start Queue batch operation, Batch wizard...
Select the files to convert and where you want to store them. Click Add To Queue and Re-save as AVI.

Next, select Job Control, Start in the File menu. The files will be converted. This may take quite some time. If all went well, the new files will be in the destination.

Put them together

In the File menu, select the converted base AVI from Open video file...
Then select Append AVI Segment with all additional converted AVI files.
In both Video and Audio menus select Direct stream copy.
Now, in the File menu, Save as AVI...

Select the location and filename for the final result file.
You may need to abort sooner (around the total size of the seperate files) and resize the result video to the correct size by opening it and saving a selection.

Final words

YouTube will reduce the frame rate to around 30 fps which did break effects in the resulting video. So compensation for that may be required. As of 14 November 2014, a re-upload is available showing the demo in all its glory on 60 fps!

The result can be viewed here:

add comment (7686 views)   |  permalink   |  related link

<<First <Back | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Next> Last>>