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.
fMSX-MGII
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.
Introduction
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.
Installation
- 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.
Sound
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 |
| F7 | HOME/CLS |
| F6 (dr005 and later)
F8 (older vesion) |
STOP or BREAK |
| 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 |
| PageUp | KANA |
| 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+A | CTRL |
| CTRL+B | SPACE |
| CTRL+C | CTRL+STOP/BREAK |
| CTRL+D | DEL |
| CTRL+G | GRAPH |
| CTRL+K | HOME |
| CTRL+L | CLS |
| CTRL+R | INS |
| CTRL+V | STOP/BREAK |
| CTRL+Z | SHIFT |
| 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.
Miscellaneous
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