Author
| Emulating MSX on iPod, Sansa E200 and other media players
|
cax
 msx professional Posts: 1009 | Posted: April 11 2007, 23:56   |
As you probably know, there exists a piece of software called RockBox, which can run on a variety of compact mp3/mp4 media players, including iPods.
It also runs on a rather popular Sansa E200 series which has resolution of 220x176 (not too much for MSX, but good for a compact player), but already can run a RockBox plugin called RockBoy - a GameBoy emulator, ported from some known GNU project.
Well, if GameBoy can be emulated, maybe it can interest someone of you to create a port of fMSX as well ? I'd like to try myself, but doing it together with someone else should be more productive.
So, are there anybody interested ? Jr ? |
|
dvik msx master Posts: 1302 | Posted: April 12 2007, 00:42   |
I'd port bluemsxlite instead of fMSX.
|
|
manuel msx guru Posts: 3368 | Posted: April 12 2007, 08:15   |
...or openMSX  |
|
cax
 msx professional Posts: 1009 | Posted: April 12 2007, 10:02   |
Knowing the device has dual 100MHz ARM core (PortalPlayer 5024 chipset), will bluemsxlite or openMSX run fast enough, with sound, without skipping frames, etc. ?
Running Gameboy Color version of Metal Gear under RockBoy plugin for RockBox works nicely, but MSX needs more horsepower, right ?
|
|
cax
 msx professional Posts: 1009 | Posted: April 18 2007, 14:23   |
so, no one is interested in MSX on portable devices, running rockbox ?
|
|
jltursan msx professional Posts: 830 | Posted: April 18 2007, 14:36   |
In fact, this one has been the first time I've ever heard about this kind of devices running such software... 
Being ARM it must be very close to other similar developments done for mobile phones. Anyway I guess that all must be programmed in C and very, very little ASM. |
|
cax
 msx professional Posts: 1009 | Posted: April 18 2007, 14:53   |
I think Jr is the most experienced person in porting MSX emulator to small devices, so I'd like him to comment on this.
In the meantime I've found that atari 2600 emulator was also ported to rockbox.
jltursan: sure, rockbox plugin should be in C, and should use as few float math as it could because there is no math co-processor on these devices. But, AFAIK, fMSX has no problem with all these conditions.
|
|
jr msx addict Posts: 310 | Posted: April 24 2007, 14:59   |
Uh, thanks for the confidence, cax  Of course there's a lot more than just the CPU that contributes to the overall performance of any HW platform. I have to admit I've never heard of this thing either before...
Anyway, the original version of fMSX/S60 runs justabout fine on a Nokia 7650 which, if I don't remember wrong, has a roughly 100MHz ARM CPU without floating point support and a 176x208 display with 12bit colors. So just looking at the CPU specs I'd say performancewise it should be very much doable.
I'd say it'll probably run with decent speed already with the "plain" fMSX source if you just make it fit with RockBox and rewrite the vdp rendering and audio generation routines. |
|
cax
 msx professional Posts: 1009 | Posted: April 24 2007, 18:21   |
Jr, thank you very much !
I think now I can start my porting attempts.
|
|
cax
 msx professional Posts: 1009 | Posted: May 07 2007, 21:37   |
Well, after almost a week of porting fMSX already boots up inside Sansa emulator for PC and even reacts to button presses.
Still a lot of work is left, for example - to make it running on a real device 
Then I plan to add configuration UI (with keys mapping), to optimize the speed, to add sound, and to implement screen rotation and better scaling. I also have problems with palettes, so if anybody have good understanding of how it works and wants to help - I'll be very glad. |
|
poke-1,170 msx professional Posts: 855 | Posted: May 08 2007, 01:07   |
ehmm, fmsx also runs on my gp2x, which has a dual arm core thingymeboo too,
and runs smoothly.maybe that info is of any use ? there is a link to that fmsx gp2x
emu on the frontpage iirc.
|
|
manuel msx guru Posts: 3368 | Posted: May 08 2007, 09:44   |
poke: the CPU is the least of your problems.
|
|
cax
 msx professional Posts: 1009 | Posted: May 08 2007, 09:45   |
I am afraid that the underlying OS on gp2x is totally different, and the problems I am experiencing are OS-specific.
In Rockbox you have no SetColor(N,R,G,B) to set palette,
but instead you should use pixelColor=LCD_RGBPACK(R,G,B) and put that value into the frame buffer.
fMSX has XPal[80] and BPal[16] for DOS/Unix, but I am not sure what exactly should I do with them.
Update:
Fixed, all colors are OK.
|
|
spl msx professional Posts: 718 | Posted: May 08 2007, 11:48   |
The OS which uses GP2X is... LINUX
PS: The GP2X Cradle has just relesed ^-^. I has 4 usb ports, j-tag, serial port, audio rca output and s-video output. Good for all: emulators, games, apps  |
|
cax
 msx professional Posts: 1009 | Posted: May 08 2007, 13:02   |
Well, in the meantime I've made the very very very first quick-and-dirty version running on my Sansa E260.
The speed is indeed acceptable even before I started any optimizations.
I've mapped directional keys and space, so most of games are already playable.
I've just finished 1st level of King's Valley on it
BTW, I know for sure fMSX won't be included in rockbox distribution because of incompatible license, so if I ever will distribute the port, it will be in the source form, because rockbox api version changes all the time and requires all the plugins (as they call applications) to be recompiled. |
|
|
|
|