Hi everyone,
first post on xda forum, but long time reading...
Anyway, I want to create a Diamond version of FinalBurn CE (greaaat emulator) but I can't contact the project owner (his modaco messagebox is full).
My wish is to replace the d-pad action with capacitive touch panel input. In fact, I already managed to catch touch input and simulate d-pad input but I need to do this in the program itself...
Does anyone knows this developper (Hao Zhang) ?
Has anyone access to FinalBurnCE source code ?
Thanks
KriXou
Hi,
thats a great Idea. Any news on this. If that would be possible, than we have the ultimate gaming machine with the diamond.
cu
tomahak
So no news until now...
sadly
hi KriXou
i have the same thought, but still many problem.
the APIs HTCNavOpen HTCNavClose HTCNavSetMode from HTCAPI.dll is not enough. Because we can receive WM_USER+209 when press or release the touch pad only. can NOT got MOVE event. so i disassembly that dll and found more APIs .
typedef struct tagHTCTOUCH_DATA
{
BYTE Where;
BYTE Unknown1;
BYTE xPosLP;
BYTE Unknown2;
BYTE yPosLP;
BYTE Unknown3;
BYTE Angle;
BYTE Unknown4;
BYTE xPosRP;
BYTE Unknown5;
BYTE yPosRP;
BYTE Unknown6;
} HTCTOUCH_DATA;
DWORD CALLBACK NavCallBack(HTCTOUCH_DATA *, int nSize, UINT);
DWORD HTCNavGetData(HWND, HTCTOUCH_DATA *);
DWORD HTCNavRegisterCallback(HWND, PCALLBACKFUNC, UINT);
this two api take effect after HTCNavSetMode(hWnd, 0x0008); so we can got the touch pad data in realtime . but the APIs based on Windows Event mechanism, when emulator occupied most cpu resources, the data we got will be delayed, even can't got the release event.
do you have any good idea ?
hi OopsWare,
i did find the same things, you can't do more than waiting for the event. In fact this is due to the way the message (event) is sent : it seems to be added to the windows message queue in a non-blocking way (cf PostMessage vs SendMessage apis).
in my mind, the solution would be to try with a callback mechanism, but it didn't manage to do so...
are you working with final burn sources or an external-background-program ?
i'v ported FB Alpha to a linux mobile ( Motorola E680i ), and u can find the source at http://oopsware.googlepages.com
The video' guy used 3 different emulator:Fpse Morphgear Finalburn,Finalburn didn't released WVGA version so he used wvgafix
Related
Hi all,
Windows mobile SDK 6 has a FAKEGPS program wich provides fake NMEA data to the GPS. This FAKEGPS reads NMEA data from a txt file. This is perfect for testing on a emulator. But now i want to provide FAKEGPS my own txt file with a recorded trail.
For this reason i want to write a little program for my diamond which records NMEA strings into a textfile. Is this possible using the intermediate driver, or should this be done communicating to the device directly? Can anyone provide some sample code?
Thank you in advance!
Solutionator said:
Hi all,
Windows mobile SDK 6 has a FAKEGPS program wich provides fake NMEA data to the GPS. This FAKEGPS reads NMEA data from a txt file. This is perfect for testing on a emulator. But now i want to provide FAKEGPS my own txt file with a recorded trail.
For this reason i want to write a little program for my diamond which records NMEA strings into a textfile. Is this possible using the intermediate driver, or should this be done communicating to the device directly? Can anyone provide some sample code?
Thank you in advance!
Click to expand...
Click to collapse
Code:
[DllImport("gpsapi.dll")]
static extern IntPtr GPSOpenDevice(IntPtr hNewLocationData, IntPtr hDeviceStateChange, string szDeviceName, int dwFlags);
[DllImport("gpsapi.dll")]
static extern int GPSCloseDevice(IntPtr hGPSDevice);
[DllImport("gpsapi.dll")]
static extern int GPSGetPosition(IntPtr hGPSDevice, IntPtr pGPSPosition, int dwMaximumAge, int dwFlags);
[DllImport("gpsapi.dll")]
static extern int GPSGetDeviceState(IntPtr pGPSDevice);
Thank you. I found this code also in the GPS example of the SDK.
But the GET_POSITION function on the driver does not return raw NMEA strings, it returns a struct wich is already formatted. What i would like is these raw strings:
$GPGGA,191938.767,4738.0173,N,12211.1873,W,1,06,1.4,33.4,M,-17.2,M,0.0,0000*72
$GPGLL,4738.0173,N,12211.1873,W,191938.767,A*2A
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E
$GPRMC,191938.767,A,4738.0173,N,12211.1873,W,0.103296,21.60,291004,,*29
$GPGGA,191939.767,4738.0173,N,12211.1871,W,1,06,1.4,33.4,M,-17.2,M,0.0,0000*71
$GPGLL,4738.0173,N,12211.1871,W,191939.767,A*29
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E
$GPGSV,3,1,9,8,71,307,43,27,78,59,41,3,21,47,0,10,26,283,32*72
$GPGSV,3,2,9,29,13,317,0,28,37,226,38,13,32,155,31,19,37,79,40*48
$GPGSV,3,3,9,134,0,0,0*46
$GPRMC,191939.767,A,4738.0173,N,12211.1871,W,0.097420,25.48,291004,,*23
The MSDN site on this topic tells me there are two ways for retriving data from the intermediate driver:
1) Accessing Parsed GPS Data - I believe this is part of the example you provided. See http://msdn.microsoft.com/en-us/library/bb202033.aspx
2) Accessing Raw GPS Data - I hope this makes it possible to read all strings in NMEA. See http://msdn.microsoft.com/en-us/library/bb202097.aspx and http://msdn.microsoft.com/en-us/library/bb202019.aspx
The problem is that i don't understand what they are doing in the second example. "Open a connection to the GPS Intermediate Driver multiplexer, by calling CreateFile" Like.... how, where,what?
I found an example which listens to the GPS directly, but i prefer the intermediate driver if possible.
you should check out
http://forum.xda-developers.com/showthread.php?t=394203
this project is using the intermediate driver which IS the solution you should be using.
Wauw. Great stuff. But RemoteTracker is still using intermediate driver option 1 (Accessing Parsed GPS Data).
Until I find out how I could manage to get option 2 to work (Accessing Raw GPS Data from the intermediate driver), I will extract some from the following code to get the full Raw NMEA string.
http://www.codeproject.com/KB/mobile/GpsTracerAppWMCE5.aspx
Sadly it is bypassing the intermediate driver, but hey, it works. For all other GPS actions i will use option 1 from the intermediate driver.
Hi all,
i just played a bit with the GSesnor SDK and i got a nice idea for a good extension to the Diamond:
An application which lets you scroll up/down through lists by tilting your diamond.
I got a little Test app working with the GSensor SDK, but i couldn't figure out yet how to bring windows mobile to scroll up or down in the active control.
Does anyone have an idea for this?
Btw: i am using C#/Compact Framework 3.5
I think this would be a great thing for the diamond since i do not realy like scrolling though lists with my fingers/pencil...
Thanks for any help and suggestions!
Little late to the Party Juniaaaaa LINK
Sergio PC said:
Little late to the Party Juniaaaaa LINK
Click to expand...
Click to collapse
Thanks for the Info.
But as AFAIK there is also just the idea for it but also no solution.
So still:
If anyone know an hint for my question i will be very grateful.
Using unmanaged keybd_event function you can send up and down keystrokes to the the active window.
VOID keybd_event( BYTE bVk,
BYTE bScan,
DWORD dwFlags,
DWORD dwExtraInfo
);
[DllImport("coredll")]
extern static void keybd_event(byte virtualKey, byte scanCode, uint flags, uint extraInfo);
You'll need to look up the virtual key code values, and the value of KEYEVENTF_KEYUP to make it work. Just create an unmanaged smart device project and set the values to a variable that you can inspect...
Hello to all,
we have a hard time with a replication project. A call to
SqlCeReplication.Dispose() reboots the device 100% reproducable. We can reproduce the behaviour with a project that contains nothing but the standard replication call.
SqlCeReplication repl = new SqlCeReplication();
try
{
repl.ConnectionManager = true;
repl.InternetUrl = @"our url";
repl.Publisher = @"our publisher";
repl.PublisherDatabase = @"our db";
repl.PublisherSecurityMode =
SecurityType.DBAuthentication;
repl.PublisherLogin = @"loginname";
repl.PublisherPassword = @"password";
repl.Publication = @"publKFPMobileMHD_LFD";
repl.Subscriber = @"LFDabo";
repl.HostName = "SW0031";
repl.SubscriberConnectionString =
@"Data Source=""" +
DatabasePath +
@""";Max Database Size=128;Password=our password;Default Lock Escalation =100";
repl.AddSubscription(AddOption.CreateDatabase);
repl.Synchronize();
repl.Dispose();
The error only occurs on slow connections (GPRS or Edge) and when the size of the database created with this call is above 500 Kb or so. Its not reproducible in HSDPA or when I use the desktop connection in emulator.
The repl.Synchronize() works perfectly. The replication is finished and correct, there are no errors in the webserver log, in SQLCESALOG or on the publisher.
There is no excepion raised at any point, just reboot.
If I omit the call to Dispose(), the reboot is delayed until I close the app or until I restart the app after closing. Obviously this is when the garbage collection calls dispose.
To me it looks more than a problem with the communication stack than with replication itself, but I may be wrong. I would be very thankful for any suggestions or tips for further debugging.
We use SQL CE 3.5 Components on device, webserver and database, since we ran into the "reconciler failed" problem describe in a other thread here when using SQL CE 3.5 SP1. The pda is a T-Mobile MDA Compact IV (GER-Rom). With other PDAs we didn´t get this error.
Perhaps someone can help me.
Best regards,
Rainer
Hi all,
I'm working on reserve engineering libcamera for Tattoo, based on libcamera2 by NCommander. Thanks to nopy for many help.
HTC have changed a lot in their kernel, and left LOTS of useless or temporary codes not to be cleaned up. Right now, camera codes in the kernel are very clean and tidy and mainly ported from AOSP-donut kernel. Interfaces of /dev/msm_camera/control0, config0, and frame0 are successfully generated. As you know, HTC kernel implemented the /dev/msm_camera/msm_camera0 interface to communicate with requests from user space. I'm not sure why HTC did such a hack. The reason why I ported camera codes from AOSP-donut relies on the fact that most of camera working ROMs for other headsets like Dream or Sapphire did this, even if these ROMs are powered by 2.6.32 or even 2.6.34 kernels.
I've sticked to HTC camera driver in the kernel. Please check out my github.
Here is the explanation of the relationship between libcamera, libqcamera and the kernel, written by NCommander.
This is my first step to reserver engineering work on libcamera. Camera does NOT work yet.
The current logcat and klogtail have been attached here, Donut version as well. Thanks to MrGland, salva.tejero, and kicmi.
If anyone is interested in hacking for Tattoo, just let know. I'll invite you to cooperate with us.
Regards,
do you want try my kernel?
it have a problem with wifi...but the camera and media driver are correctly loaded...
if u want i can send it via pm
i have fix the GL problem on my rom...i haven't a tatto...but if u want i can see again the problem with your rom.
i'm just thinkg to restart my rom from zero. I have already downloaded the froyo source and i'm starting to compile the source and add my personal kernel...
said me if u want collaborate to made a new 2.2 rom
W/dalvikvm( 613): threadid=10: thread exiting with uncaught exception (group=0x400207d8)
I am by no means a c++ expert, but I started learning it last week. A uncaught exception needs catching so that the whole thread does not terminate, you can deal with them using catch(), unless it is a hardware exception
I think you two have the best chance of making a working froyo rom if you work together based on using your roms. I use fyodors 1.6 rom daily
I believe this too.
I prefer fyodor's rom though cause with his roms I never had problems on booting. Ikxdf' s roms from the other side don't boot on my device(except abusu 2.01 and capcake 1.01)
you two (ikxdf,cn.fyodor) are supermans make a team mix up your files and your skills, make a great panfyodorcake ROM and we, tattoo users will be so happy Good Luck
E: omg sry kiljacken and HCDR.Jacob ale supermans too
cn.fyodor said:
I've dived into the source files, and found there was a __NULL__ "config_defaults" array of structure in egl.cpp file. This array was used in eglChooseConfig function, which is heavily related with my issue. I'm not sure what the codes did since not familiar with C++ programming. I've googled a lot, but no luck.
I need C++ experts to read the opengl codes in Froyo system and find the reason why 'No configs match configSpec' error comes up. Thanks in advance.
Regards,
Click to expand...
Click to collapse
If you send me that file or gives me the path to it in the Android source code I'll gladly take a look at it...
If you send me that file or gives me the path to it in the Android source code I'll gladly take a look at it...
Click to expand...
Click to collapse
Same here...
ikxdf said:
do you want try my kernel?
it have a problem with wifi...but the camera and media driver are correctly loaded...
if u want i can send it via pm
i have fix the GL problem on my rom...i haven't a tatto...but if u want i can see again the problem with your rom.
i'm just thinkg to restart my rom from zero. I have already downloaded the froyo source and i'm starting to compile the source and add my personal kernel...
said me if u want collaborate to made a new 2.2 rom
Click to expand...
Click to collapse
Hi, ikxdf
Glad to see you in this dev thread. My kernel can drive the camera correctly, but I haven't verified it yet. Feel free to send yours to me, I'll test it to check whether it works or not.
speedyracer5 said:
W/dalvikvm( 613): threadid=10: thread exiting with uncaught exception (group=0x400207d8)
I am by no means a c++ expert, but I started learning it last week. A uncaught exception needs catching so that the whole thread does not terminate, you can deal with them using catch(), unless it is a hardware exception
Click to expand...
Click to collapse
Thanks for the info. If it's a hardware exception, there must be some bugs in my customized kernel. However, to be honest, I really don't know how to debug the C++ codes.
kiljacken said:
If you send me that file or gives me the path to it in the Android source code I'll gladly take a look at it...
Click to expand...
Click to collapse
Thanks. The top path is frameworks/base/opengl. This exception error was thrown by the ./java/android/opengl/GLSurfaceView.java and the eglChooseConfig function is defined in ./libagl/egl.cpp. Hope you find something useful to debug it.
My greetings,
are the best in the tattoo improving.
Thanks to all the people who try to improve the tattoo...
let´s go friends
cn.fyodor said:
Hi, ikxdf
Glad to see you in this dev thread. My kernel can drive the camera correctly, but I haven't verified it yet. Feel free to send yours to me, I'll test it to check whether it works or not.
Thanks for the info. If it's a hardware exception, there must be some bugs in my customized kernel. However, to be honest, I really don't know how to debug the C++ codes.
Thanks. The top path is frameworks/base/opengl. This exception error was thrown by the ./java/android/opengl/GLSurfaceView.java and the eglChooseConfig function is defined in ./libagl/egl.cpp. Hope you find something useful to debug it.
Click to expand...
Click to collapse
I've looked much at the files and i have fund that the error you get is caused when an app gives some info about a configuration and EGL can't find a config that matches that information...
Does this error happen in the camera app??
cn.fyodor said:
Hi, ikxdf
Glad to see you in this dev thread. My kernel can drive the camera correctly, but I haven't verified it yet. Feel free to send yours to me, I'll test it to check whether it works or not.
Thanks for the info. If it's a hardware exception, there must be some bugs in my customized kernel. However, to be honest, I really don't know how to debug the C++ codes.
Thanks. The top path is frameworks/base/opengl. This exception error was thrown by the ./java/android/opengl/GLSurfaceView.java and the eglChooseConfig function is defined in ./libagl/egl.cpp. Hope you find something useful to debug it.
Click to expand...
Click to collapse
The Exception has been thrown from JAVA because num_config[0] has not been populated by eglChooseConfig. This output parameter it's populated at the last line of eglChooseConfig.
I don't know the architecture of android and egl stuff, what i can reccomend to you is to use the LOGE macro to write in console the list of attibute (attrib_list parameter) and try to see in which point the function returns (using LOGE macro opportunely).
From what i can understand, this function tries to match the list of attributes passed as parameter(attrib_list) with global array of configurations (gConfigs), which contains 8 configurations (every configuration is an array of attributes).
Java makes 2 calls to eglChooseConfig, the first is to retrieve the number of configurations that matches the attribute list, if this number is >0 create an empty array and re-call eglChooseConfig to get the array itself populated, otherwise throws the exception you have showed in your log.
ivendor said:
The Exception has been thrown from JAVA because num_config[0] has not been populated by eglChooseConfig. This output parameter it's populated at the last line of eglChooseConfig.
I don't know the architecture of android and egl stuff, what i can reccomend to you is to use the LOGE macro to write in console the list of attibute (attrib_list parameter) and try to see in which point the function returns (using LOGE macro opportunely).
From what i can understand, this function tries to match the list of attributes passed as parameter(attrib_list) with global array of configurations (gConfigs), which contains 8 configurations (every configuration is an array of attributes).
Java makes 2 calls to eglChooseConfig, the first is to retrieve the number of configurations that matches the attribute list, if this number is >0 create an empty array and re-call eglChooseConfig to get the array itself populated, otherwise throws the exception you have showed in your log.
Click to expand...
Click to collapse
I think you're right...
I think it would be important for all of us, to have a rom 100 % funcional 2.1 or 2.2 without the camera, and before fix the camera...i think
If you make a team i havent doubt could be able to make it real
thanks for all
capito djjkd said:
I think it would be important for all of us, to have a rom 100 % funcional 2.1 or 2.2 without the camera, and before fix the camera...i think
If you make a team i havent doubt could be able to make it real
thanks for all
Click to expand...
Click to collapse
why?
because the devs maybe could stop developing, because they are satisfied of the working camera?
i don't think so. if they could get the camera working, there isn't a long way anymore to a 100% functional 2.1/2.2 ROM.
I hope this comes true, good luck to the devs!!!!!!
ivendor said:
The Exception has been thrown from JAVA because num_config[0] has not been populated by eglChooseConfig. This output parameter it's populated at the last line of eglChooseConfig.
I don't know the architecture of android and egl stuff, what i can reccomend to you is to use the LOGE macro to write in console the list of attibute (attrib_list parameter) and try to see in which point the function returns (using LOGE macro opportunely).
From what i can understand, this function tries to match the list of attributes passed as parameter(attrib_list) with global array of configurations (gConfigs), which contains 8 configurations (every configuration is an array of attributes).
Java makes 2 calls to eglChooseConfig, the first is to retrieve the number of configurations that matches the attribute list, if this number is >0 create an empty array and re-call eglChooseConfig to get the array itself populated, otherwise throws the exception you have showed in your log.
Click to expand...
Click to collapse
I commented out the setEGLConfigChooser() stmt. in Camera/src/*/ui/GLRootView.java source file to use the GLES default config for camera. Although the 'no config match...' exception didn't come up, camera didn't snapshot any images as if the sensor didn't open. Check out the attachment below.
If the setEGLConfigChooser stmt. was added, in eglChooseConfig function, both possibleMatch and num_config will be 0. I'm trying to find the low-level reason.
The setEGLConfigChooser() in Camera/src/*/ui/GLRootView.java source file is defined:
public void
setEGLConfigChooser (int redSize,
int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize).
All we want (i think) is the correct values for the parameters. Ok at page
http://brandnewreality.com/blog/android-egl-querying-your-gl-driver
there is a java program to query from a donut tattoo the configs....
Now we can correct the parameters at setEGLConfigChooser function.
I hope that this helps us...
seg
segway_ said:
The setEGLConfigChooser() in Camera/src/*/ui/GLRootView.java source file is defined:
public void
setEGLConfigChooser (int redSize,
int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize).
All we want (i think) is the correct values for the parameters. Ok at page
http://brandnewreality.com/blog/android-egl-querying-your-gl-driver
there is a java program to query from a donut tattoo the configs....
Now we can correct the parameters at setEGLConfigChooser function.
I hope that this helps us...
seg
Click to expand...
Click to collapse
Wont this method you are proposing hard coding the values?Shouldnt these be set by the user?There must be another class with the default values and which saves the user defined values.
Look at the code:
http://android.git.kernel.org/?p=pl...0f823229da7569a51367f20c0c9d048d1cba;hb=froyo
175 private void initialize() {
176 mFlags |= FLAG_INITIALIZED;
177 setEGLConfigChooser(8, 8, 8, 8, 0, 4);
178 getHolder().setFormat(PixelFormat.TRANSLUCENT);
179 setZOrderOnTop(true);
Click to expand...
Click to collapse
Is it hard coded?
seg
Well the values are hard coded.. but at the look of it I guess the hardware need these hard coded values to initialise. Good point seg.
Hello,
I'm using Sygic Navigation for Android. Now I'm trying to get some data out of Sygic to use in Tasker. For example I want to get my Estimated Time of Arrival (ETA) and save it as a variable in Tasker. Sygic offers a SDK, see "developers [dot] sygic [dot] com [slash] documentation.php?action=code_geteta" (sorry, first post, not allowed to post URLs), so I guess there are possibilities with Tasker....??
The thing is, I'm really new to programming and have no idea how to start / what to do with the Java possibilities in Tasker
Is there anyone who can help me "translate" the Java code below to some Java code that I can use in Tasker? Or is this not possible at all?
Code:
import com.sygic.sdk.remoteapi.Api;
import com.sygic.sdk.remoteapi.ApiNavigation;
import com.sygic.sdk.remoteapi.model.RouteInfo;
...
String strETA = "";
try {
RouteInfo info = ApiNavigation.getRouteInfo(false, 0);
RouteInfo.RouteInfoTime eta = info.getEstimatedTimeArrival();
strETA = String.valueOf(eta);
} catch (GeneralException e) {
Log.e("RouteInfo", "Error code:"+ e.getCode());
}
Thanks!
Vic
I would not go the SDK / Java route unless you have some Java programming skills already.
In your case, try to investigate Autonotification and AutoInput which are two very popular Tasker plugins.
You can find some similar examples (I actually do it with Maps) on the AutoApps forum.
It won't work at all in Tasker unless you write a completely new plugin. How can you use Sygic SDK in Tasker?? I don't think it's possible. If the information is in the notification you can use Notification Listener to get the notification in the task and read it. If it's only on the screen you can read it using the action "read screen" of TouchTask plugin.