openMSX used to be difficult to install, but it isn't difficult at all, nowadays! At least: it shouldn't be.
The easiest way to install openMSX is to use a ready-made package. Whether one is available depends on your operating system:
.zip
file, and double-click on the resulting .msi
file. After this, you should have a working openMSX and openMSX Catapult..dmg
file from the downloads section of the openMSX SourceForge.net site. The file name will contain univ
. There is no Catapult for OS X yet, but NekoLauncher openMSX is a very good alternative.
openmsx
, openmsx-data
, cbios
and openmsx-catapult
packages. The simplest way is to run aptitude install openmsx-catapult
, APT will install the other needed packages as well.
/etc/apt/sources.list
.
yum install openmsx
to install openMSX. Catapult does not seem to be packaged yet at the moment.Note that in any case, there are no system ROMs installed, so only the C-BIOS machines work out-of-the-box. See also the next couple of questions.
If you still think openMSX is difficult to install, please tell us why!
We strongly recommend to use the installer. It contains a straightforward Windows Installer package. With the installer, your openMSX experience is only about 3 clicks away. The Zip file is meant for experienced users and those familiar with openMSX and emulators in general.
The MSX system ROMs are copyrighted. In other words: it's illegal to include them in our software package without a license. The Setup Guide contains a section about system ROMs.
You can put all the ROMs in a file pool, which is a central directory in which openMSX looks for files. The default location is share/systemroms
. If you want to tweak this, add locations or get a list of all file pools, take a look at the filepool
command.
You can also do it in the more classical way of older openMSX versions: put the ROMs for the machine called WHATEVER in share/machines/WHATEVER/roms
and for the extension called WHATEVER in share/extensions/WHATEVER/roms
.
See also the Setup Guide.
Ever since openMSX comes with the optional GUI dubbed "openMSX Catapult", it is quite easy to use! The Windows installer installs it by default. For other systems, the same counts as for openMSX itself. Check out the Catapult manual for more information. For basic usage, you just select a machine to run and click on "Start"!
An alternative to Catapult, is the built in OSD menu. You can call it by pressing the MENU key (usually left of the right CTRL key on your keyboard). This menu is also used on handhelds, like the Dingoo.
Catapult and the OSD menu don't give you access to all features of openMSX, though. You can do a lot more by using the openMSX built-in console. You can read a lot more about this in the User's Manual. It's not a GUI, but we did our best to make this console as easy to use as possible.
If you think openMSX is not easy to use, please tell us why! Contact info is in the manuals.
Oh, you might wonder: why don't you make a normal GUI like other emulators? One in which the emulation is inside the GUI? The reason is that we are currently not able to make that: the GUI toolkit we use does not support it and we want to keep the GUI optional, so we cannot make it part of the main application.
You are probably talking about this:
openMSX doesn't come with any system ROMs, see Why doesn't openMSX come with system ROMs?. To have something to be able to run some software, openMSX comes with a free replacement of an MSX BIOS ROM called C-BIOS, written by BouKiChi, Reikan and nowadays the C-BIOS Association. This is also what you can see in the screen: C-BIOS 0.25.
So, the message is not from openMSX, but from C-BIOS, an MSX program which tries to start a cartridge that is inserted in the MSX that is being emulated by openMSX. And it seems you didn't insert any cartridge for it... So, either run openMSX with a ROM image or install real MSX system ROMs for a certain machine and run that one.
Note that the current version of C-BIOS can only run cartridges and does not support disk or tape usage. More information can be found in the Setup Guide.
You are probably using Catapult with C-BIOS and you're trying to run a program on a disk image.
Unfortunately, the C-BIOS machines that come with openMSX do not support disk or tape usage, see previous question. Please see the Setup Guide.
The tricky thing is that the old (current) version of Catapult always shows the disk, tape and cartridge controls, independent whether the machine you're emulating actually supports them. This will be greatly improved in the new (upcoming, but not finished) Catapult.
If you want to use disks or tapes with your emulated MSX, you will have to install the system ROMs of a real MSX (one with a disk drive!) to emulate that one, until C-BIOS supports this as well. More about this in the Setup Guide.
You've been playing a game and want to continue another time, so you want to save your progress. You can either save your game as you would on a real MSX, or you can use the built in save state mechanism, which is explained in the manual.
If you consider that cheating, or are interested in how you could save your game on a real MSX, read on... How it works, depends on the game:
diskmanipulator create filename.dsk 720
. Since many games save in fixed sector locations instead of files, it is best to reserve a separate save game disk for each game.
pac
or fmpac
extension when you start openMSX.
.pac
file from "persistent/fmpac/untitled1" in your openMSX user directory ("My Documents/openMSX
" on Windows, "~/.openMSX
" on other systems) to a safe location.
Many people wonder how to save in Metal Gear. Here we will explain how that is done on a real MSX, which is also the way to work in openMSX.
Metal Gear has two ways of saving games:
cassetteplayer new filename.wav
, where filename.wav
is the (optional) name of the tape file that will be created to save the game to.filename.wav
cassette image file, under the name you just entered.cassetteplayer rewind
and then press "Y" in the game to verify.
Note that saving in this way is only useful after reaching the elevator. You will continue in the last elevator you were in.
diskmanipulator create filename.dsk 720
. Then insert the disk image in the drive: diska filename.dsk
.filename.dsk
.
For loading back your game:
cassetteplayer insert filename.wav
.cassetteplayer rewind
in the console.diska filename.dsk
. This is explained in the User's Manual.
The real GFX9000 has an external video connector to which you can connect a second monitor. Because of limits of the SDL library we used to create openMSX, we cannot have more than one window for openMSX, so we cannot emulate a second monitor. To see the GFX9000 in action, you need to switch the videosource setting, which equals to a so-called SCART-switch in the real world: set videosource GFX9000
. If you started openMSX without GFX9000 extension, this videosource is not available. To get your normal MSX screen back, you should type set videosource MSX
. If you want to toggle with a hot key between them, it might be useful to bind a key for it. E.g.: bind F6 cycle videosource
. cycle
is a Tcl command that cycles through the options of the setting in the parameter.
Note that GFX9000 emulation quality is not as good yet as the classical MSX video chips.
Open the console with F10 (Cmd+L on Mac) and type:
If you have save_settings_on_exit
set to on
, this change will be permanent, until you load another icon set. This gives you the default:
The full list of commands and settings that are available in the console can be found in the Console Command Reference. Check it out, it's really useful!
Actually, openMSX is quite fast, depending on what you ask it to do. If you have minimal hardware, you should use minimal settings as well, to get decent speed. This was proven by Karloch who ran openMSX 0.6.0 on a 206MHz HP Jornada 720, see this thread on MRC. Also, we are currently working on a port of openMSX for the GP2X handheld game console and it runs very well on it, better (and of course much more accurately) than e.g. fMSX. On PC's, it really helps if your graphics card is not slow, or actually, the pipe between the CPU and the graphics card. Tips on how to performance tune openMSX can be found in the Setup Guide. The developers do their best to keep the performance of openMSX as good as possible, whilst still achieving the highest level of accuracy that we can.
In general people wonder why you need 200MHz+ machines to emulate a computer based on a 3.5MHz CPU. Well, you don't only have to emulate the CPU, you also have to emulate the VDP (21MHz), the monitor (writing at least 50 times per second at least 256×192 pixels to a window), the sound chips, etc. This is relatively simple hardware, but having that run in software with cycle accuracy is quite heavy. In general, it is a lot of work for a general purpose CPU to emulate functionality that was originally made in dedicated hardware. Rebuilding an MSX in general purpose hardware (using VHDL on FPGA) is already a lot less demanding. An example of this is the One Chip MSX.
The trick is to use the reverse feature to correct any mistake you make during game play. You just play, play, play, correcting all mistakes you make by going back in time a bit (using PageUp) when you (e.g.) die and doing it better.
As soon as you get to the end of the game, we recommend to save the whole replay (using the reverse savereplay
), so that you can always load it and play it again (using reverse loadreplay
).
Next step is to pause openMSX, load back the replay (if you saved it) or simply go back to the complete start (click at the start of the reverse bar, or use the command reverse goto 0
). Now you're ready to record your heroic movie! (Note: if you want to record a video from a later point in time, just let it play until it reaches the right position, or click on another part of the reverse bar, or just search a bit with PageUp/PageDown.)
So finally, start recording and unpause openMSX. If you want it quickly, run in full throttle (F9 by default) to speed things up. The resulting movie will be the same. If you want to split up the recorded video in chunks that are accepted by YouTube, you probably want to look at the record_chunks command.
Easy! Now fill up YouTube with MSX material!
If just creating perfect play videos isn't enough for you, you are probably going for Tool-Assisted Speedruns, of which you can find all information on tasvideos.org. The rest of this item gives you some hints to help you with this.
First of all, the basics are explained in the previous section, of course. But you can get extra tools if you enable the TAS mode, of which we won't repeat the explanation here.
If you need also a live RAM watch, check out the ram_watch
command. It enables you to add live views of values on multiple addresses with several view options, like titles, formats and data types.
For MSX TASing, we recommend to not use the (default) C-BIOS based machines, but real machines, because C-BIOS is still in development and this means your replay (in most other TASing emulators called "movie") won't be easy to get working again once a new version of C-BIOS has been released. Also, MSXturboR machines are not recommended, because it has a relatively large amount of timing inaccuracies. So which machines do we recommend? Here's a table with some very rough directions:
game type | machine |
---|---|
Japanese/Korean (MSX/MSX2/MSX2+) | Panasonic FS-A1WSX |
European (MSX/MSX2) | Philips NMS 8250 + FMPAC |
This is mostly motivated by the fact that Japanese machines run at 60Hz interrupt frequency and the Japanese games are made for that. Besides, you will get proper Japanese characters with a Japanese machine, which are often used in such games. The mentioned machine can run practically all Japanese MSX/MSX2/MSX2+ games and has FM on board. For European games, the 50Hz (PAL) Philips NMS 8250 is recommended, just because it's very common and runs most European MSX and MSX2 software. The FMPAC extension is for better sound. There are no native European MSX2+ machines.
When doing MSX TASing, be aware that (unlike consoles), MSX machines have full keyboard attached, and touching them means input for the MSX. And that means you will interrupt the replay if it's playing. You can avoid this (when merely viewing a replay) by using the -viewonly
option when using the reverse loadreplay command. The keyboard problem also means that it's a bit tricky to assign keyboard shortcuts (with the bind
command) to (e.g. TAS) functions, without also blocking MSX keys. So, be careful which keyboard shortcuts you configure and which keys you press.
Now it's time to make a TAS and submit your entry on tasvideos.org!
A final note: if you have problems replaying other people's TAS (or other openMSX replay), because openMSX can't find the required media (ROMs, disks, tapes, etc.), make sure you put the required media in the proper filepool
; by default share/software
.
The ZMBV (Zip Motion Blocks Video) codec is used, which has been developed in the DosBox project. It enables openMSX to encode video in real time (on most systems), have a very good compression ratio and give excellent video quality, because it is a lossless codec. Razor sharp movies! Also, because the encoder is built in, it doesn't make openMSX depend on an external codec to be installed for recording video.
A developer of DosBox built a Win32 binary of the codec for our users. It is included with openMSX 0.6.2 (and up) for Win32. Note that the installer does not install the codec by default, so you will need to enable this option when installing. You can also download the codec separately from our web site. After unzipping the file, use the .INF file to install the codec (zmbv.dll
) by right-clicking on it and selecting Install. Note that other binaries of this codec that you can find on the internet may not work, as not all of them have support for more than 8 bits per pixel recordings.
Also note that this is a 32-bit codec, so it will not run inside 64-bit Windows Media Player or Windows Media Center.
You only need this codec installer to be able to replay the videos on a Windows system. (Although a workaround could be to upload it to Google video, where it is re-encoded into a lossy MPEG-4 format.) Programs like Virtual Dub can use the codec and re-encode it in another way. On other operating systems, you can use any video player which supports this codec; e.g. mplayer
. Re-encoding can be done with e.g. mencoder
.
Not sure, but for some reason, especially on Windows, we can't find default settings that work for everyone. If you indeed have glitches like sound delay or stuttering, you can try the following.
samples
setting. If you have stutters, double it and see if that helps. If you have delays, halve it and see if that helps.sound_driver
setting (only on Windows for now). After changing it try to tune the value of the samples
setting again.Next to the openMSX manuals (which includes documentation on how you can control openMSX from an external application, so that you can make your own GUI, launcher or debugger), also check out the doc directory of your openMSX distribution.
You can look in the following places for answers:
irc.freenode.net
(freenode network) and join channel #openmsx
. It is possible you will not get a reaction immediately, so please ask your question, stay logged in and check from time to time if someone is active.
$Id: faq.html 11982 2011-03-06 15:04:04Z manuelbi $