Would you like a Mobile MSX carried always with you? The dream comes true. Mr. Hiroyuki Yanai  released fMSX for NetBSD/hpcmips named "fMSX-MGII". If you have a WindowsCE machine with mips CPU, you can use MSX whenever, everywhere.

Here're the English documentations. Mr. Yanai asked me to inform about his work to MSXers not in Japan. Do not forget that I am just an informer.


Original coded by Marat Fayzullin / Revised by Hiroyuki Yanai

What's new? Update : 26/05/2000

The latest version, dr005 is released. Get the source code and compile again. Since this version, the archive includes the original fMSX v2.1 source code and some patches.


fMSX-MGII is just a transplantation of fMSX coded by Marat Fayzullin for NetBSD/hpcmips. It is distributed as the additional source code to fMSX. We strongly recommend you to browse fMSX web and understand its compile options, etc, before trying your usage of fMSX-MGII.

The archives include not only the source code for NetBSD/hpcmips but also one using MGL2 (MobileGear Graphic Library). Because the author writes them for NetBSD/i386 on PC/AT at first, next specialize for NetBSD/hpcmips.

The latest version is dr005.


The author uses Mobile Gear, which is WindowsCE machine based on mips CPU produced by NEC, Japan. You can see some screenshots as follows.

@ with DNARROW without DNARROW
Indicating Japanese Letters Click here!! Click here!!
Graphics on SCREEN7 Click here!! Click here!!
Uzix on fMSX-MGII N/A Click here!!

Note: Uzix is Unix implement for MSX, developed by powerful MSXers in Brazil. Click here, and you can reach to their official web.


- NetBSD/hpcmips kernel must be version 05/05/2000 or later.

- Since dr005, the archive includes original fMSX v2.1 source code and patches. So you have just to get dr005 archive.

Note:  If you would like to use dr004 or older, please follow the procedure below.

- At first, visit fMSX web and get the source code of fMSX v2.1. Put it to your NetBSD station, for example as follows.

ex. tar Zxvf fMSX21.tar.Z -C ./src/

- Next, put the all source codes in fMSX-MGII archive including makefile to the same directory. They are not patches for fMSX original code but additional one. So you have just to copy them there.

ex. mv -i fMSX2.1-MG2/* ./src/MSX/

- Finally, compile with makefile included in fMSX-MGII archive. There're three makefiles as follows.

makefile.hpcmips.hpcfbio for NetBSD/hpcmips
makefile.hpcmips.mgl2 for NetBSD/hpcmips with MGL2
makefile.i386x.mgl2 for NetBSD/i386 

- You can give some options to makefile. About the detail, refer to each makefile and revise it on your demand.

Difference from original fMSX

DNARROW option

If you compile fMSX-MGII without -dnarrow option, you will see the width-long picture as indicating 512 pixels width screen. Of cource, you can compile with the option. Refer to  screenshots about the result.

Key assign

Original fMSX is adjusted for using 101 keyboard. fMSX-MGII is adjusted for 106 one as the default. Besides, you can switch some key assigns while executing (Only MGL2 version). Refer to Operation about the detail.


No sound is implemented yet. Because NetBSD/hpcmips is not either.


You can use several options as same as original fMSX 2.1, except -saver, -nosaver, -scale and the other options related to X window. To know the detail, please launch with -help option. 

Since dr005, fMSX-MGII has its own options as follows.

Option Function
-vdpwait VDP wait is available (Default)
-novdpwait VDP wait is unavailable
-afire <wait> Automatic trigger is available
-noafire Automatic trigger is unavailable (Default)

-vdpwait enable that VDP let CPU wait for the completion of the transmission as VDP commands between RAM and VRAM. Anyway, this option often causes the problem on a part of software. Try -novdpwait if you have any problem.

<wait> in -afire <wait> means the interval of automatic trigger. The unit is vertical interrupt; 60Hz on NTSC or 50Hz on PAL. -afire 0 is the same as -nofire. This option is available on NetBSD/hpcmips version only.

Note: You can see the key assign map with -help option. It is for original fMSX. fMSX-MGII has a quite different one.


- Key assign for NetBSD/hpcmips is as follows.

Key Function or Key Assign
F6 (dr005 and later)

F8 (older vesion)

CTRL+F8 Change diskette in drive A:
CTRL+F9 Change diskette in drive B:
F9 Launch Debugger
F10 Quit fMSX-MGII
PageUp INS
PageDown DEL
ALT Trigger Button 1

- If you have any problem with these key assign, revise the key bind table in the source code.

- Key assign for NetBSD with MGL2 is as follows.

Key Function or Key Assign
F6 Switch Key Mapping, as will be seen later
F7 Switch Key Lock Mode, as will be seen later
F8 Change diskette in drive A:
F9 Change diskette in drive B:
F10 Quit fMSX-MGII
PageDown DEL

* Switch Key Mapping

After pushing F6, you can use the following key assign. Push F6 again, and this mode will be released.

Key Function or Key Assign
CTRL+Q Mouse Button 1
CTRL+W Mouse Button 2

* Switch Key Lock Mode

As pushing F7, Key Lock Mode is started. While this mode, fMSX-MGII regards the functional keys pushed till pushing F7 again as pushed at the same time.

For example, if you would like F10 (SHIFT+F5 on MSX), push F6 for switching key mapping. Next push F7 for starting key lock mode. And, push CTRL+Z, F5 and F7. Then, fMSX-MGII receives F10 inputted from keyboard.


- The latest version is dr005.

Version Date Update
fmsx-mg2-dr005.tgz 25/05/2000 Include original fMSX source & patches
Add VDP wait from freeMSX source
Change a part of key assign
Add some launch options
fmsx-mg2-dr004.tgz 06/05/2000 NetBSD/hpcmips's raw keyboard supported
fmsx-mg2-dr003.tgz 04/05/2000 Several bugs fixed
fmsx-mg2-dr002.tgz 01/05/2000 Several bugs fixed
fmsx-mg2-dr001.tgz 23/04/2000 Change key map and key lock mode added

- The following patches are included in dr005 and later.

If you would like to compile without -DNARROW option, it might be better to apply the following patch to V9938.c of fMSX 2.1. It solve the problem about VDP copy from another page.


If you would like to solve the problem on diskettes attached in MSX-FAN published by Tokuma Shoten, it might be better to apply the following patch to CodesED.h of fMSX 2.1.



The archives here are public domain. You can revised and redistribute even if you follow the condition of fMSX redistributing rules. Please refer to the documents attached with fMSX 2.1.

fMSX 2.1 is Marat Fuyzullin's writing. He is not related to fMSX-MGII. So please do not send him any request to revise fMSX-MGII.

fMSX-MGII is still under the development. The author needs your report. About any problem, bugs, and confirmation on your machine, please contribute a note to Hiroyuki Yanai : fk200329@fsinet.or.jp.

This article is written by Ghost based on Yanai's documentation. Please do not forget that I am just a informer. I'm not quite related to the development of fMSX-MGII. Anyway, I can relay your message to Mr. Yanai if you hope.

Ghost / GW's-Workshop