Symbian emulator?

Página 64/73
57 | 58 | 59 | 60 | 61 | 62 | 63 | | 65 | 66 | 67 | 68 | 69

Por Avkooi

Expert (97)

Imagen del Avkooi

04-09-2006, 10:07

Hello JR,
For your information, I still use the 1.11d version of your emulator.
The problems on my N73 (firmware V2.0628.0.0.1) are:
Sprites are placed wrong. For instance, in Parodius and Maze of Galious, the sprites are app. 20 pixels too far to the left.
And when you move your character in Parodius to the border of the screens, the emulator crashes (Z80 KERN-EXEC 3)
Also other ROM games I tried (Nemesis 3, Maze of Galious, Penguin Adventure, Goonies) crash the emulator. When you start the game, you can play a few seconds and then (maybe when you hit something, but it looks more random than that) you get the same message (Z80 KERN-EXEC 3)
The strange thing is: you can play double sided disk games, like SD Snatcher, Dragon Slayer 6 or Aleste 2 without problems.
I hope this information helps you find the problem. But if you need more info, just ask!

Por yakumo

Expert (75)

Imagen del yakumo

04-09-2006, 12:26

Hi. Sorry I'm noob. But I wonder if there exists any Symbian emulator for java. You know, I have java on my phone and I want to run an application (tomtom) on it. But tomtom is only for symbian. If I had symbian under java I could run it.

Well, although snout is right, now that you have made the question I'll tell you the answer.

No. This is the short answer.

This is a larger answer. There is no java program that emulates symbian, because Symbian is a complete Operating system for mobiles and part of the code is hardware dependant. That is, some code is programmed just for a only hardware set. From java you cannot access hardware directly, so that hardware access cannot be emulated.

There are other reasons why it is not possible to emulate Symbian. Symbian source code is far enough bigger that any java application code needed for emulate that OS that any actual mobile can handle. And too many other things.

If you want a cheap symbian mobile, look for an ngage. Although ngage is Symbian 6.0, and some programs are not made for all symbian versions.

Hope I helped you.

Por jr

Champion (377)

Imagen del jr

04-09-2006, 16:39

Avkooi, I'll test the sprite issue out tomorrow. It might be a bug in the QVGA renderer code, I haven't tested QVGA much as I currently don't have a phone with QVGA display myself. As for the scrolling, I checked Space Manbow on my 6630 and it scrolls just as choppily as on E70. The thing is that V9958 horizontal scrolling is not implemented in fMSX/S60 so the smooth scroll simply does not work. It may be that you observe the scrolling as a little bit smoother on a 6600 because the screen is smaller and some horizontal lines are not rendered at all -- this means that the horizontally scrolling background does not move as many pixels at a time because not all of the pixels are visible in the first place. Anyways, I'll see if I have time to add support for the horizontal scrolling, at least for screen 5.

Have you tried if changing rendering mode to unzoomed, increasing frame skipping or disabling sound emulation helps at all? Usually the source of "random" crashses are that the DSP is running out of sound data and the emulator is running too slowly to fill the audio buffer. Eventually the emulator will get killed when the DSP starves. You can test if this is the problem by reducing the emulator's workload by for example trying out the things I listed. All this could be fixed quite easily so that there would be no danger of crashing but at the cost of bad sound sync with the rest of the emulation. Perhaps in the future if I have time to think about it I'll implement a more clever routine for the audio mixer to get rid of the DSP starving issue

Por Avkooi

Expert (97)

Imagen del Avkooi

05-09-2006, 11:37

Hello JR,
Just downloaded and installed version 1.12 on my N73.
About the settings: I use unzoomed, rotation CW, frame skip one and sound disabled and the Goonies, still crashes a few moments after I start to play the game (just found out, it crashes at the moment a sprite on screen reaches one of the borders). So I don't think the DSP routine is the problem.
With rotation off, the sprites are still a bit off-set, but the crashes are over. I think because the sprite off-set is so small, that they don't touch the borders anymore.

Space Manbow seems to crash when I start the game without rotating the screen. Also other settings (frameskip higher, sound off etc) don't improve a thing. But the demo movie works fine. When I rotate the screen CW, I can play the game without crashing.

BTW, I get the smoothest scrolling with SM on my 6600 when emulating a MSX 2. Only the borders scroll choppy, but the rest is smooth. To me, it looks the MSX 2 scroll routine is implemented very good in your emulator on a Series 60 1st or 2nd edition.

Por yakumo

Expert (75)

Imagen del yakumo

05-09-2006, 12:59

Probably N73 has a clip bug. JR, do you use nokia's library for drawing RGB pixels directly? Or maybe MIDP2 routines? There are some mobiles, like Samsung D500 that cannot handle writting outside the screen, nor outside an image, although a set clip has done before, so you have to test it manually again and call drawRegion with just the sizes that fit inside screen.

Good luck.

Por jr

Champion (377)

Imagen del jr

05-09-2006, 14:45

Avkooi, I tested the QVGA rendering a bit (more) and yep, you're right, there is a major bug in the screen 1/2/3 sprite rendering code which basically prevents you from playing MSX1 games. It's now fixed. Also there is a bug in the VDP horizontal adjust emulation which causes that for example Space Manbow in MSX2 mode has fatal problems. It's now also fixed. Furthermore, as a bonus I implemented basic support for V9958 horizontal scroll control in screen 4 and 5 so Space Manbow scrolls smoothly in MSX2+ mode now as well Wink

I still need to write some code before I can release the 1.13d version but I'm confident I can do that by tomorrow.

yakumo, I'm not using any libraries for the rendering, I'm accessing the VRAM of the device directly and using my own rendering routines for everything. There is no Java in the emulator so MIDP2 and such are not applicable, everything is coded in C++ except for some parts which are written in ARM assembly.

Por yakumo

Expert (75)

Imagen del yakumo

05-09-2006, 14:53

Oh my!!! Yes, I forgot you were programming Symbian ^_^. Don't know why I thought you were programming the emulator in Java.

Sorry for the misunderstand.

Por jr

Champion (377)

Imagen del jr

06-09-2006, 12:33

Allright, I uploaded version 1.13 just five minutes ago. Something I forgot to say before about it, in QVGA mode, it does not really matter what you choose as rendering mode because the setting is overridden by the emulator. In QVGA portrait (240x320, used in e.g. N73 phone), if no rotation is used the emulator always uses a "fast fit" renderer or if screen is rotated an "unzoomed" rendering mode is always used. For QVGA landscape (320x240, used in e.g. E61 phone) this works the other way around, i.e. "unzoomed" for unrotated display and "fast fit" for rotated displays, always.

Also the new V9958 horizontal scroll control support works only for QVGA modes and the "double resolution" (352x416, 416x352) displays. And for "double resolution" displays only if "unzoomed" rendering mode is used. For other display resolutions, and "double" with "fast fit" rendering, I decided it was too much work for now Wink The fix for V9938 horizontal adjust emulation is still not too good for "double" resolution when using "fast fit" rendering scheme because there was no room on the display for proper emulation. You can see this for example in Space Manbow in MSX2 mode as a small movement back and forth on the sprites. For other resolutions, and "double" with "unzoomed" renderer, it should be okay.

To make this something more than just a bug fix release, I added the possibility to delete files from the file selector menus (press back space / clear button when the selector is over a file). This feature already existed in the "b" variant of the emulator but along with the new UI I had to reimplement this as well.

Por Avkooi

Expert (97)

Imagen del Avkooi

07-09-2006, 21:58

Everything works much better now! Thank you very much for all your hard work, JR!
The only crashes I still encounter are with the diskimages of the Konami Games Collections. Right after loading I get the annoying "Z80 KERN" message. But for the rest, everything works great, especially the new scrolling and V9958 emulation!

Por jr

Champion (377)

Imagen del jr

08-09-2006, 16:38

Thanks. The reason why Konami Games Collection disks don't work is that the guy who originally implemented MSX disk ROM routine that returns the disk parameter block was probably suffering from lack of caffeine or something because the original routine sucks major ass. The disk boot sector contains information about the disk geometry but MSX disk ROM disregards this information and instead uses hardcoded values depending on the format ID byte in the boot sector. My emulator actually obeys the disk geometry information stored on the boot sector on the disk and thus works differently than the disk ROM and here's the problem: Konami Games Collection disks have (probably intentionally) broken boot sectors with invalid disk geometry info which leads the emulator's disk read routines to go crazy. I changed the DPB routine in my emulator to use hardcoded values instead of the ones read from the disk and Konami Games Collection disks are working now. This change will be included in the upcoming 1.14d version.

Página 64/73
57 | 58 | 59 | 60 | 61 | 62 | 63 | | 65 | 66 | 67 | 68 | 69