GAPI Emulator 0.95
Open source X86 GAPI; translates GAPI callls to GDI
You must be registered and logged into HPC:Factor in order to contribute to the SCL.
Description
GapiEmu (Open source X86 GAPI[translates GAPI callls to GDI])
The new PocketPC Operating System from Microsoft doesn't support the heavyweight DirectX. Instead, the PocketPC provides us with the new Game API (GAPI). Unfortunately, this GAPI is not available on the PocketPC emulator that comes with Embedded Visual C++. Since I want to write and debug programs using GAPI on the emulator, I have written my own GAPI emulator.
Included in the ZIP archive is the source code and the project file for Embedded Visual C++. Compilation produces GX.lib and GX.dll. The DLL should of course be downloaded to the emulator and the LIB file linked to your (game) application.
I have successfully tested the emulator using the "Star field sample" that comes on the Embedded Tools CD. That's all there is to it. Compile and enjoy GAPI emulation!
Compiling
To compile the emulator:
Make sure you have the GAPI v1.2 header file
Modify "conf.h" to configure the display and keys
LINKAGE ISSUES
==============
I regularly receive mails from people having problems with the API's calling
convention (__cdecl vs __stdcall), so here is an explanation of what is going
on:
When you create a x86 emulator project with the Pocket PC 2000 SDK, the default
calling convention of your project becomes "__stdcall". You can see this by
looking at the project's settings: the "/Gz" compiler switch is used. But when
you use the Pocket PC 2002 SDK, the default callin convention is now set to
"__cdecl". Note that all Pocket PC targets (ARM, MIPS, SH3) have no issue with
this because they only support one calling convention and the different
compilers don't care about the "__cdecl" and "__stdcall" declarations.
With version 0.94, I was forcing the calling convention to "__stdcall", but
this created more problems as peoples using the Pocket PC 2002 SDK would start
linking the GX.LIB that comes with the SDK instead of the one compiled with the
emulator, resulting in instant lookup of their application.
Starting with version 0.95, there is different version depending on whether you
are using the Pocket PC 2000 or Pocket PC 2002 SDK. The version compiled for
the Pocket PC 2002 SDK is compatible with the GX.LIB that comes with the SDK.
Because of this, you shouln't have any more issues with the calling conventions.
There is no more need for the "GAPI.h" that was previously included with the
GAPI emulator since there is now a separate version for each SDK.
Tags
DLLStubOpen SourceGAPI
|
|
License |
Open Source The program is open source, free and the source code is available on-line. |
|
|
Website |
http://frogengine.net-connect.net
This link is no longer available on the World Wide Web and will attempt to load via the WayBack Machine
|
|
|
Popularity |
1771 |
Total Downloads |
11 |
|
|
Submitted By |
torch |
Submitted On |
05 December 2022 |
Comments
No comments have been submitted against this application. Be the first!
You must be signed-in to post comments in the SCL. Not registered? Join our community.
Software Compatibility List: The SCL is provided for free to the Handheld PC Communty and we do not carry advertising to support our services. If you have found the SCL useful, please consider
donating.