Skip to main content

No console output

48 replies [Last post]
userrrrrrrr2
Offline
Joined: 2008-12-23

I downloaded from http://www.cs.kuleuven.be/~davy/phoneme/downloads.htm phoneME Advanced Personal Profile for Windows CE 4.2 on Intel PXA255 but executing it, I
don't get any console output.
If I try with phoneME Feature CLDC successfully start an HelloWorld application.
Is there anyone who cuold help me with phoneMe Advanced PP please?
Thank you.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
davyp
Offline
Joined: 2007-01-03

Vincent,

Could you test the phoneME Feature binaries for Windows CE 4.2? I think the WinCE 5.0
binaries may not work because your device is not using ARMv4I?

The binaries for WinCE 5.0 are compiled for ARMv4I, so if your CPU does not support Thumb
instructions (16-bit instructions instead of 32-bit), then the vm won't work. The binaries for
Windows CE 4.2 are compiled for ARMv4 platforms, and ARMv4 code will run on ARMv4I
CPUs (the "I" for interworking) because they can execute both 32-bit ARM and 16-bit Thumb
instructions

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

The CPU of my device is S3C2440A. The datasheet says it supports Thumb instructions as well. It appears to be ARMv4I.

I tested WinCE4.2 for Feature binaries and it did work. I tested WinCE5.0 for the latest build (17831), did not work, checked with Executability checker, showed "invalid file".

I can live with WinCE4.2, but what's annoying is the blue bar at the bottom, and the softkeys do not work as before....

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

The blue bar at the bottom should be fixed now (at least it is no longer there when running Opera
Mini). I just uploaded new pMEA dual stack cabs for WinCE 4.2/WinCE 5.0 that fix the problem.

I also checked that the builds I made for WinCE 5.0 do run on some of my WinCE 5.0 emulator
images, but there is a catch. If you have a very stripped down WinCE OS image with little
features, it's quite likely that the binaries won't work. A stripped down image may have all the
required DLLs but may not implement all the required methods (smaller binaries to save
space). In that case the phoneME binaries won't run. In my current WinCE 4.2/5.0 builds I left
out some calls to SIP related methods because they were causing trouble on other WinCE
devices. This could also explain why the softkeys no longer work.

As you can see, making builds for WinCE is a matter of deciding which features you assume
to be present. For optimal performance, I would have to make dedicated builds for each WinCE
configuration. And unfortunately I can only test with a WinCE 5 emulator without soft buttons,
and not on real hardware.

Feel free to test the latest builds. I am always interested in feedback on issues which are
resolved and which ones are still causing you trouble.

Cheers,
Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Regarding the cldc and midp problem (can't run on WinCE5 device due to mismatched OS version 5.1), I had done a bit "dyi" by overwriting version5.1 to 5.0, then it can work now, but when it works, the response to keyboard and touch screen is slow... (usually need 2 or 3 clicks to get response).

Another feedback, I downloaded your latest build ver17725, the dual stack version works but got two problems:
1. no response to softkeys (left and right)
2. A blue bar shown at the bottom of the screen that hide part of the screen...

And the feature versions (cldc and midp) do not work with error "not valid WinCE application"..., while checked with Excutabilitychecker, it says "not a valid file"...

By the way, since these feedbacks are not anymore about "no console", where should I provide my feedback when I try a new build?

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Could it be that you downloaded the wrong version?

If I am not mistaken, the Windows Mobile 5 is based on Windows CE 5.1. If you downloaded that
version, it could explain why it does not run on your Windows CE 5.0 device. Windows Mobile 6
and Windows Mobile 6.1 are based on Windows CE 5.2.

Regarding the Windows CE 5.0 builds on my website: I have noticed that there is indeed a
problem. With one of the WinCE 5.0 OS emulator images I sometimes use for testing, I cannot
run the binaries either. I am not sure what code changes have caused it. This needs further
investigation.

Regarding the blue bar at the bottom: yes, this change has slipped up into Sun's repository. With
a build based on svn rev 17350, I did not have this problem yet, but from 17490 on I have the blue
bar. I don't know if it is intended or not, but some commit between both revisions is to blame I
guess.

Feel free to start another thread, for the issues you encountered. I will get back to you if I have
figured out why the binaries don't run on my WinCE 5.0 emulator.

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Thanks for your reply. I will start another thread for coming feedback.

You are probably right. I found in my download directory I have both WinCE5.0 and WM5.0 for cldc and midp. If I remember correctly, I first installed WinCE5.0 version but did not work, then I tried WM5.0 and forgot to remove it... Anyway, that was about previous build (rev17059). For the latest build I am sure I downloaded WinCE5.0.

Due to the problems I encountered for the latest build (rev17725), I go back to rev17059 now. The problems that I hope to be solved:
- get rid of the blue bar... since it hides the bottom of the screen where often displays message
- get the softkeys (left/right) to work again (rev17059 works perfectly)
- get cldc and midp to work (I might try again to use WM5.0 and overwrite to WinCE5.0 as I did for rev17059)
- get touch screen and keyboard response for cldc/midp to function normally (currently often require 2~3 clicks to get response)

Longer term wishes: can support jsr135 and jsr184 as mentioned before. Understand they are not the easy ones... but hope one day you will make it, then that will be really perfect !

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

I am aware of the blue bar and the fact that the WinCE binaries may not work on all WinCE OS
images, but I never encountered the two other problems you mentioned.

It would indeed be nice to have a full implementation of those two JSRs. I can already play simple
wave files and single track midi files, but video is another story. I don't think that there is a
phoneME JSR 184 implementation available, and I don't have the time to implement a 3D
graphics engine from scratch. But if someone thinks it is doable to do that on top of Direct3D
Mobile, feel free to do so. BTW, what kind of application are you working on?

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Another thing besides my last post, I has been also trying cldc and midp (feature) since I saw in several discussion jsr135 and maybe par of jsr184 could be supported...., but they seem not work on my WinCE5.0 device even if I have all DLLs there (aygshell, coredll, ws2, winsock). I checked the executability, it says:
cldc_vm doesn't match CPU type
cldc_vm requires a OS version 5.1
OS version of this matchine is 5.0

I run dependancy worker it says cldc_vm CPU type is thumb (my machine is ARM4I), but I think the main problem is the build is WinCE5.1 which could be WM5 but not WinCE5.0... (only my guess to my knowledge)

The same problem and error message for midp (feature).

Could you help to solve the problems as you did for the dual stack version? appreciated indeed for your kind help.

Sincerely, Vincent

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Now I can download the latest build (b116) and tried. Good news, as you said, the blue bar disappeared and even softkeys are now working ! thanks.

So far I can only run it "sliently" (no sound), hope it can be supported soon...

Sincerely, Vincent

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Another good news. I tried the latest build of midp (feature) for WinCE5.0. It works very well now, even the sound is working as well. It's great !

However the sound does not work for fundation dual stack.

To me, the next most desirable feature is 3D. Understand it is not an easy one, only when you have time.... (it might be easier to get the sound working for dual stack as well)

Sincerely, Vincent

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

My feedback might have gone too fast... in my previous post I said sound is working fine for midp (feature). I tested further but found some working fine, some not... there were different phenomenun:
- some work well
- some has no sound, but no error message
- some has no sound, with error: Fail: exception for playSound: java.lang.NullpointerException: 0
- some initially ok, but the sound "stuck" when changing scene

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Hi Vincent,

I have indeed implemented some of the mobile media APIs. With phoneME Feature MIDP you
can play some wav files, tones, and single track midi files, but only if you open them as
resources in your jar file. Unfortunately, some of the code needs to be rewritten for the phoneME
Advanced dual stack, and I am having compilation problems when trying to include JSRs at
build time.

I assume you have been testing audio with different midlets. The different behaviors can be
explained by the fact that some audio formats are not supported (like .au or .mp3) and that
some midlets may intercept exceptions that are thrown when you try to play such a file.

Implementing 3D is a different story though. It is not something you implement over the
weekend. So I am not sure if and when there will be 3D support for WinCE.

Davy

vhong999
Offline
Joined: 2009-02-15

Thanks, Davy,

I would try the lastest build but found on Window Mobile 6 build and nothing else in below link:

http://www.cs.kuleuven.ac.be/~davy/phoneme/?q=node/10

Something could happen to the web page. Could you check?

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

For some reason, the scroll bars weren't shown in my browser, but if you pressed PageDown,
you could see the other links. It should be fixed now.

Thanks for trying out the builds. If those of WinCE 5.0 fail, you may wish to try the ones for
WinCE 4.2

Cheers,
Davy

91program
Offline
Joined: 2009-05-19

I use this command line and text file,the cvm.exe that I compiled runs correct.

vhong999
Offline
Joined: 2009-02-15

Hi,

I encountered simular problem. I used WinCE5.0. I saw the console displaying message but it disappeared soon and I could hardly see the message... I have the command shell and set the console output to 0.... Cmd.exe runs well but the output message from phoneME seems to go to its own console, and it disappeared after phoneME finished. The console for cmd.exe still exists but does not show any message... I guess phoneME had implement its own console but somehow the console does not stay alive after it finished...could you help to get this solved? This problem may be only for WInCE5.0 but not for Windows mobile. Thanks for your help.

PS: I am just an end-user, not a developer.

Best regards,

Vincent

davyp
Offline
Joined: 2007-01-03

I indeed removed the dependency on another command shell to see the console output.
phoneME Advanced now uses its own console whenever you print something with
System.out.println().

There was indeed a problem that the console would disappear as soon as the
application finished. That is why I implemented the option to dump everything that is
printed on the console to a file. If you add the option "-Xopt:stdioPrefix=/storage card"
right after cvm.exe, the VM will create an ERR.txt and OUT.txt file in that folder with
everything that has been printed out on those streams. You should be able to open
these files with the Pocket Word editor

Download the latest builds again and see if this helps.

Regards
Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Thanks for your reply. Good to know there is an option to output log to file. Unfortunately I tried but fail to see the log files (ER.txt, OUT.txt). What I had tried:
Download the latest phoneME Advanced - CDC b107, and Personal b107
SInce my SD card is at \StorageCard, I tried first:
255#"\StorageCard\phoneME\cdc\bin\cvm.exe" "-Xopt:stdioPrefix=\StorageCard" -f "\StorageCard\JAVA\Test.txt"
Also tried "-Xopt:stdioPrefix=\Storage Card", and "-Xopt:stdioPrefix=/storage card"...
All did not come out the files ERR.txt/OUT.txt
Also tried Personal but not succeeded.
When running cvm.exe, I can see message display on cvm console but scroll very fast then disappeared. Both cdc and personal are the same.

Could you let me know what I might have done wrong, and let me know where I can find the guide of the commend line option with -XoptPrex (this seems not to find in the std guide)

Thanks again for your help.

Best regards,

Vincent

davyp
Offline
Joined: 2007-01-03

I think you should use the "-Xopt:stdioPrefix=/StorageCard" option (you do not have a space in
between 'Storage' and 'Card´, right?). I tried to reproduce your setup as follows, and ran the test
example with succes:

* I installed CDC from my website in \StorageCard\phoneme\cdc
* I created a folder \StorageCard\JAVA
* I copied the file testclasses.zip into \StorageCard\JAVA
* I created a file \StorageCard\JAVA\Test.txt with the following content:
-cp "\StorageCard\JAVA\testclasses.zip"

* I created a file \StorageCard\JAVA\Test.lnk with the following content:
255#"\StorageCard\phoneME\cdc\bin\cvm.exe" "-Xopt:stdioPrefix=/StorageCard" -f "\StorageCard\JAVA\Test.txt"

* I ran Test.lnk and got my ERR.txt, IN.txt and OUT.txt files in \StorageCard

Instead of adding the "-Xopt:stdioPrefix=/StorageCard" part to the .lnk file you can also
add it at the beginning of the Test.txt file

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Sorry for getting back late. I am glad to tell you that I got the log files (ERR.txt/IN.txt/OUT.txt) successfully after following your instructions. Now I am able to see the error message as below:
java.lang.ClassNotFoundException: sun/misc/MIDPLauncher
at sun.misc.Launcher$AppClassLoader.findContainer(Native Method)
at sun.misc.Launcher$AppClassLoader.access$400(Unknown Source)
at sun.misc.Launcher$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Unknown Source)
at java.security.AccessController.doPrivileged(Unknown Source)
at sun.misc.Launcher$AppClassLoader.doClassFind(Unknown Source)
at sun.misc.Launcher$AppClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.CVM.runMain(Unknown Source)

The command line I had:
\StorageCard\phoneME\cdc\bin\cvm.exe "-Xopt:stdioPrefix=\StorageCard" -f \StorageCard\JAVA\Test.txt

In the Test.txt
-Xmx2m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp "-Dsun.boot.class.path=\StorageCard\phoneME\dual\lib\btclasses.zip" "-Dsun.midp.home.path=\StorageCard\phoneME\dual\midp\midp_wince" -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -midppath "\StorageCard\phoneME\dual\midp\midp_wince\classes.zip" -
suitepath "\StorageCard\JAVA\Tower.jar" -1 House

My Device is WinCE5.0. I have both cdc and dual install (the dual stack from Windows Mobile 2003). I initially run cdc and got above error. I then changed to run cvm in dual/lib, but got an error "LoadLibrary failed for cvmi.dll", and got nothing in ERR.txt

Could you help me a bit for what I could do wrong? appreciated indeed for your kind help.

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

If you are trying to use cdc to run midlets, then that will not work. And you cannot mix two VMs. That is why you are getting the exception. You are using the class library of cdc, which does not have the necessary classes to run midlets, in this case sun.misc.MIDPLauncher.

I just tried my Dual Stack for WM2003, and that one works for my WinCE 5.0 emulator. I don't know why this build does not work for you. Here are the files I use. My storage card is mounted at "\Storage Card"

Demos.lnk:
254#"\storage card\dual\bin\cvm.exe" -f "\storage card\midlets\Demos.txt"

Demos.txt (all on one line):
-Xmx2m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp "-Xbootclasspath/a=\storage card\dual\lib\bluecove.jar" "-Dsun.boot.class.path=\storage card\dual\lib\btclasses.zip" "-Dsun.midp.home.path=\storage card\dual\midp\midp_wince" "-Xopt:stdioPrefix=/storage card" -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -midppath "\storage card\dual\midp\midp_wince\classes" -jadpath "\storage card\midlets\Demos.jad" -suitepath "\storage card\midlets\Demos.jar" -1 demos.Demo1

If you don't need bluetooth, you can leave out the bluecove library

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Thanks again for your reply. I changed to try cvm in dual stack from WM2003 (the latest build rev16982). Unfortunately still got error message as below in the console:

LoadLibrary failed for cvmi.dll (0xc1)
GetProcAddress("JNI_CreateJavaVM") failed (0x6)

I had tried several steps to find what could go wrong:
1) use dependant walker to check if all required dll are available. It showed no issue.
2) Googled the error message and found below article:
http://java.sun.com/docs/books/jni/html/invoke.html
It says:
"On a Win32 system, the error message may indicate that it cannot find the dynamic link library javai.dll (or jvm.dll in Java 2 SDK release 1.2). If this is the case, add the directory containing the DLL to your PATH environment variable."

Then I add below PATH in my batch file before executing cvm:
PATH=%PATH%;\StorageCard\phoneME\dual\bin
\StorageCard\phoneME\dual\bin\cvm.exe " -f "\StorageCard\JAVA\Test.txt"

Unfortunately still got the same error.

3) In the same article, it also suggest to use below code to get the pointer of JNI_CreateJavaVM:
/* Win32 version */
void *JNU_FindCreateJavaVM(char *vmlibpath)
{
HINSTANCE hVM = LoadLibrary(vmlibpath);
if (hVM == NULL) {
return NULL;
}
return GetProcAddress(hVM, "JNI_CreateJavaVM");
}

At the moment I am still missing knowledge to build cvm myself (hope someday can learn). I am not able to try it.

4) I also see in another article dealing with mixing dll of wince and win32 with similiar Get_Proc_Address macro...

It appeared that you use an WinCE emulator on PC which runs in win32 environment, but I am using a device running under wince. Can it be possible the reason for the problem?

Appreciated if you have any further idea to help me to solve the problem.

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Vincent,

The emulator runs indeed on Windows/x86 but the phoneME virtual machine is for the ARM
architecture. In fact, I can run my WinCE builds on my Windows Mobile phone too.

The library loading code you are referring to is in cdc/src/win32/javavm/runtime/linker_md.c
I have no idea why you get this "LoadLibrary failed for cvmi.dll" error.

Do you also have this error when you run a simple "HelloWorld" program as in
http://java.sun.com/docs/books/tutorial/getStarted/application/index.html

This is not a midlet, but a simple console program. The cvm.exe should in this case also load
the cvmi.dll.

How did you install the dual stack from WM2003? Using the zip or the cab? Are you sure
that all files are readable?

Do you also get the error if you do "\StorageCard\phoneME\dual\bin\cvm.exe -version"?

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

I had installed dual stack by cab previously, and now I also tried zip, still got the same failure.

I had tried HelloWorld, the same error.

Then tried -version, and also -help, still the same error (LoadLibrary failed for cvmi.dll.....).

Strange?

I had run cdc and personal, all the examples included in the cab can run well without this problem. The examples in dual stack (WM2003) got the same problem as my own test files. I noticed when running dual stack, I do not see cvm's own console. All the other cvm (cdc, personal,..) have their own console. Can it be a clue for the issue?

I have no idea now how to further check... any idea from you? could it be possible you can help to build a dual stack for WinCE5.0 (if you have no time, forget about this request..)

Thanks anyway for your excellent support. Looking forward to any hint/idea to find out a solution...

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Hi Vincent,

I am afraid I don't have any clue what could be the problem. The fact that
cvm -version does not work, but the cdc and personal profile implementations
do, makes me think there still some dependency not being met. However, the
only dependencies I know of include winsock.dll, ws2.dll, and aygshell.dll, and
these are pretty much standard. If you can run an AWT application with Personal Profile, you would be using the same components. Nonetheless,
you can build WinCE OS image without some of these components.

Regarding compiling the dual stack for WinCE 4.2 and 5.0, I have tried this
before and thus far I have not been successful in getting it compiled. If I ever
succeed, I will put the binaries online with the others.

Davy

davyp
Offline
Joined: 2007-01-03

Vincent,

I may have found the reason why the binaries don't work for you.

It is not enough that you have all the required DLLs, it is also necessary that
they implement all the required methods. If your WinCE OS image does not
have, for example, the Software Input Panel (SIP) related methods that provide
you a virtual keyboard and so on, then the binaries won't work although you do
have the aygshell.dll library that normally implements them.

And that is also why you get this error message. cvm.exe loads cvmi.dll, but the
latter depends on other libraries. If these libraries do not implement all the
components that the dual stack uses, the loading of the cvmi.dll library fails.
And that is also why CDC, Personal Profile builds etc worked in your case,
because they do not use some of these methods.

There is not much you can do about it, because it is the manufacturer that
decides which components get integrated into the WinCE OS image. I realized
that I had similar problems with getting my binaries to work on my emulator
when I was using a very small WinCE OS image with a minimal set of
components.

I will try to recompile the dual stack for WinCE 4.2 and 5.0 and eliminate some
dependencies, but in the end, if you cannot figure out which libraries or
methods are not available, then there is nothing I can do.

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Thanks for your continueous support. I had also suspected it was caused by missing DLLs. I had tried to find all required DLLs from WM2003 and run Dependant walker. It reported the dependency is no problem. However when runing cvm, it showed "not a valid WInCE program....". Then I changed back to use WinCE DLLs, it started to run but with the error as I mentioned previously (LoadLibrary... for cvmi.dll failed....)

Perhaps it is simply because WM2003 is not compatible with WinCE5.0 even if I got all required DLLs to get dependency passed. Not sure if there is any other solution to run WM2003 programs on WinCE5.0...

Hope you can successfully build a WinCE5.0 version for the dual stack.

Thanks again, and apologies if my persistent questions bothered you too much.

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Hi Vincent,

Then it is probably indeed some methods that are not implemented by your WinCE DLLs.
That is the annoying consequence of having vendor-specific WinCE 5.0 OS images, and not
uniform ones like the Windows Mobile editions.

I solved the compilation issues for WinCE, and one of the problems was indeed a
dependency on some Software Input Panel methods. Basically, my cvmi.dll links against
these methods and probably your aygshell.dll does not support them.

I have made the binaries available at the usual place. Let me know if these work.

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Thanks a lot, and I am happy to tell you I got no more the same problem. Now cvmi.dll can be loaded. I tried first the test.lnk and HelloWorld.lnk. Both worked well on my WinCE5.0 device! Just still bugs (errors) reported when running my own jar/jad files... I guess it's my own problem. I will spend some time to debug it myself. Will post you results.

Late night here now, will spare some time for the debug in coming days....

Appreciated indeed for your great support.

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Glad to hear that the LoadLibrary issue has been resolved.

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Javy,

To update a little bit my further trial of the dual stack on WinCE5.0.

Good news is it works well for MGMAPS (an GPS software). Just a problem that it seems unable to read serial COM port... any solution here?

I had also tested several games, some works but some not... for those not working are mainly due to class not found or the version not supported... I guess the missing classes (mainly javax.microedition.media...) are due to missing libraries. In some articles said often we need a rt.jar and/or tools.jar... are they needed for the dual stack? if so, where can I find them to work with phoneme?

As for the version not supported, I think the jar file I tested could be built by JDK1.5 or higher... that may not be supported by your cvm. Do you plan to build cvm higher than 1.42 or higher (even JDK5, that I noticed some recent useful ulitites are built on that)?

In short, good thing is that I am able to play with your cvm with fun, on the other hand, still some difficulties for me (not suffcient java knowledge), more to learn....

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Hi Vincent,

I don't have any WinCE 5.0 but I have built that version with the same patches I have for
the Windows Mobile builds and on my PDA I can access the serial ports to read the NMEA
sentences of my Bluetooth GPS connected through the Serial Profile.

You are quite right that several midlets won't work. Especially games are affected as there is
currently no support for JSR 135 or JSR 184.

Regarding JDK support, the current J2ME VM is class compatible with JDK 1.4.2. I don't
have any plans to change that as the CDC/PP 1.1 spec is based on JDK 1.4 (CDC/PP 1.0 is
based on JDK 1.3).

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Enjoyed for a while with your phoneME. Solved some issues like keyboard... Just a pity can't enjoy some wonderful 3D games that may require JSR184. Hope it will be included for the future...

I had also tried to run Feature-midp (not the dual stack) but it shows "can not find runMidlet, or its components...", the same for cldc. (my device is WinCE5.0, the build I installed is rev17059)
I had used executability checker to check what components could be missing, but it shows "runMidlet is Invalid File". Not sure if it is caused by the same issue as the dual stack that you had solved. Could you try the same solution as you did for dual stack? Appreciated indeed for your great support.

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Well, basically some JSRs are more easier to port to WinCE than other ones. I would also love
to have a port of JSR 135/184, but they are not the easiest ones to implement.

Regarding the "runMidlet is Invalid File" issue and applying the same trick for the phoneME
Feature stack, I will look into it when I have some spare time.

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Thanks for sparing time for it. Looking forward to your great work again.

By the way, though most of 2D games work well, there is no sound. Not sure if it is due to device dependant, or current build does not support sound?

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Sound is usually taken care of by JSR135 (to play wav or midi files or to
generate tones), and sound support in the current WinCE builds is indeed
rather limited.

Davy

vhong999
Offline
Joined: 2009-02-15

Thanks, Davy.

By the way, additional feedback: in some cases the java console may show on the top of the application (e.g., game) and stay there. This will hide the application in the background. I tried to add the option "useConsole=false" but it seems not supported for the dual stack. Any other solution? or when you will have next build, could you add the option?

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Could you tell me the exact parameter you added to disable the console?

I made a small HelloWorld midlet that also prints a message with System.out.println().
These are the command line parameters I usually add after cvm.exe (the console is enabled
by default):

-Disable all output: "-Xopt:useConsole=false"
-Only output to files: "-Xopt:stdioPrefix=/storage card,useConsole=false"
-Output to console and files: "-Xopt:stdioPrefix=/storage card"

Hope this helps,
Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

Thanks for your reply. The parameter I add was:

"-Xopt:useConsole=false"

This option seems not supported for dual stack (I used -help to show available options and did not see it)

Thanks again for your patience staying with me. Hopefully my feedback will help also to make the cvm more useful... (be honest, your build is the best one I have ever tried so far...)

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

The fact that you did not see the option is probably because I forgot to add it
to the help info.

So you mean that even with "-Xopt:useConsole=false" you still get the Java
console?

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

I tried again "-Xopt:useConsole=false", and it works (i.e., console does not show up). But if I combine two options like:
"-Xopt:stdioPrefix=/StorageCard;useConsole=false", then the useConsole=false became ineffective (ie., console still appeared)

So I think it is a matter how I use the option.

Could you let me know what the correct usage should be if I need to specify both options?

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

Try using a comma and not a semi-colon to separate the two options. See my example in the previous post

Davy

vhong999
Offline
Joined: 2009-02-15

Hi Davy,

I changed semi-colon to comma, that is,
"-Xopt:stdioPrefix=/StorageCard,useConsole=false"

I got an error message: illegal Xopt option

If I use semi-colon, there is no error message, but both useConsole and stdioPrefix became ineffective...

Sincerely, Vincent

davyp
Offline
Joined: 2007-01-03

For my pMEA builds you need to install a command shell to see messages printed on
standard out (pMEF CLDC has its own shell environment). Follow the instructions in the
"Run phoneME Advanced" section at:

http://www.cs.kuleuven.be/~davy/phoneme/advanced.htm

Davy

userrrrrrrr2
Offline
Joined: 2008-12-23

Sorry I have AYGSHELL.DLL and GX.DLL (downloaded from http://www.wincesoft.de/html/gapi_for_hpc_s.html) installed on my device...But I haven't console output...

davyp
Offline
Joined: 2007-01-03

It is not just AYGSHELL and GX.DLL that you need for console output, you also need
CMD.EXE, CONSOLE.DLL and SHELL.EXE. The best way to get those is to install a
command shell (e.g. the one in Microsoft Windows Mobile Developer Toys).

In my older builds, I disabled the wceConsole shell environment built into phoneME because it
was so limited and rather unuseful. But recently, I implemented my own shell environment
(which still lacks several features that e.g. the Pocket Command application provides), but it is
better than the original one and good enough for me. I have not tested it yet on anything else
beyond Windows Mobile devices.

Davy

userrrrrrrr2
Offline
Joined: 2008-12-23

Hi davyp thanks for your replies but I haven't solved this problem :(
Now my device has MS Windows Toolkit Tools Shell, AYGSHELL.DLL and GX.DLL, I go into pmea directory and type "bin\cvm.exe -cp democlasses.jar cdc.HelloWorld" ...
My devices are Symbol MC9090 with Windows CE 5.0 and another device with Windows CE 4.2. perhaps phoneme advanced is not compatible with these devices.

davyp
Offline
Joined: 2007-01-03

I don't have a real WinCE only device, but the Symbol MC9090 appears to
run Windows Mobile 5.0. Anyway, I tried again my WinCE 5.0 binaries on
a WinCE 5.0 image in the device emulator. I ran the HelloWorld application
just fine. But, I just noticed that you did not provide a full path the jar file,
e.g.:

bin\cvm.exe -cp "\storage card\phoneme\democlasses.jar" cdc.HelloWorld

Without the full path, I get a ClassNotFound exception. This is basically a
WinCE limitation. Windows CE has no 'current directory' concept so
without the full path, cvm.exe would be looking for the jar in the root
directory.

Perhaps, that is your problem too? Or do you get another error? Or nothing
at all?

Davy