The Eve Virtual Machine and SDK

Beta Version 1.27 – June 25, 2008

Michael L Brereton
www.ewesoft.com

 

Eve Virtual Machine Runtimes:

Java 2 (or better) Runtime Environment.
Windows Desktop.
Windows Mobile Devices.
Linux Desktop.
Nokia 770/800/810.

For Developers:

Software Development Kit (SDK)
Source Code 

Eve Virtual Machines - Version 1.27 – Java 2 Runtime Environment

This consists of the file eve.jar – which contains the entire Eve library targeted for Java 2 virtual machines. To run an Eve application packaged as a .eve file, use the command line:

java -cp eve.jar Eve <full_path_to_eve_file>

There is also the file evecl.jar – which contains the Eve library without any GUI or graphics capabilities. This is useful for running command line versions of Eve applications on embedded systems.

There is also the file evecl-gui.jar – which contains the Eve UI library but which cannot bring up a user interface because it does not link to any Java AWT or Swing libraries. (This particular version is only useful for using Eve applications that have references to the eve.ui library and need it to be present).

All of these .jar files can be downloaded from the link below:

Eve for Java 2 Runtime Environment

Eve Virtual Machines - Version 1.27 - Windows Desktop

This version works on all Desktop versions of Windows.

Windows Desktop (All Versions)

This file contains a single directory called Eve which contains all the files for the VM. To install simply place this directory anywhere on your hard drive (e.g. "C:\Program Files") and then execute the Eve.exe or Evew.exeprogram. You must execute this application to correctly install the VM.

The VM on the desktop consists of the following components:

Eve.exe

The native Eve VM itself, console version.

Evew.exe

The native Eve VM itself, non-console version.

EveSync.exe

The application that starts the EveSync connection between the desktop and a mobile device that has the Eve VM installed, over a connected ActiveSync connection.

Eve.jar

The Java version of the VM. This requires a Java 2 or higher Java VM to be installed on the system to work.

JavaEve.exe

A launcher for the Java version of the VM.

The Java version of the VM is not necessary but because of the excellent Just In Time compiler in the recent Java VMs produced by Sun the Java version of the VM runs significantly faster than the native version.

Eve Virtual Machines - Version 1.27 - Mobile Devices

These builds are all ready to install and run. Each zip file contains a .CAB file, which is the standard way of installing Windows Mobile applications. Installing using the CAB file ensures that you can use the "Remove Applications" feature to uninstall the VM if you wish. There are instructions after the links on how to install the applications using the CAB files.

For Developers: The individual VM files are also present in the ZIP files in a subdirectory called "VM". You can use these files to manually install the VM as well. Ensure that you run the Eve.exe application wherever you finally install the application.

Downloadable VM Packages.

PocketPC/PocketPC Phones 2003.
SmartPhone 2003.

PocketPC/PocketPC Phones 2003 Second Edition (can support resolutions greater than 240 x 320).
SmartPhone 2003 Second Edition.

Windows Mobile 5 PocketPC/PocketPC Phones.
Windows Mobile 5 SmartPhone.

Windows Mobile 6 Classic/ Professional: PocketPC/PocketPC Phones.
Windows Mobile 6 Standard: SmartPhone Devices.

Installation on PocketPC and Smartphone Windows Mobile 5 & 6.

  1. Connect the device to the desktop via ActiveSync.
  2. Use the "Explore" button to get a window into the "My Documents" folder.
  3. Drag the CAB file to this directory.
  4. On the Pocket PC go to Start->Programs->File Explorer
  5. Use the File Explorer to navigate to the "My Documents" folder and click once on the CAB file in the display.
  6. The application will then be installed and the CAB file automatically deleted.

Installation on SmartPhone 2003/2003 SE.

  1. Connect the device to the desktop via ActiveSync.
  2. Use the "Explore" button and then go into to the "My Smartphone" icon.
  3. Navigate to the \Storage\Windows\Start Menu\Accessories folder.
  4. Drag the CAB file to this directory.
  5. On the SmartPhone use Start to get the applications menu and go into the Accessories folder.
  6. Click on the CAB file to start the installation and delete the CAB file when complete.

To uninstall simply delete the Eve folder in Program Files.

Eve Virtual Machines - Version 1.27 - Linux Desktop

There are three versions of the Linux x86 Desktop VM within three different directories in the provided Zip file:

1.      In the directory gtk2 there is a build which uses the GTK2 library for the user interface and ALSA for sound I/O.

2.      In the directory x there is a build which uses the X11 library for the user interface and the /dev/dsp device directly for sound I/O.

3.      In the directory cl there is a command line build which provides no user interface and no sound I/O.

Linux Desktop.

Source code and instructions to build the VM for different Linux systems is provided in the Source Code section below.

Eve Virtual Machines - Version 1.27 – Nokia 770 & Nokia 800/810(OS 2008)

The Nokia 770/800/810 VM consists of the following files:

1.      eve.eve – this is the complete Eve runtime library (desktop version) and it must be present in the same directory as the following two files.

2.      eve – this is the standard Eve VM with full user interface, but as yet no sound support.

3.      evecl – this is the command line Eve VM with no user interface capabilities.

This is an experimental version only. There are many features not yet implemented on this version including:

o       The application is not adapted to work as other native Nokia 770 applications – it will not maximize to full screen and will not recognize the Zoom buttons.

o       The application has no sound capabilities. This is until the Gstreamer API can be integrated into the VM.

o       The application has no installer and will not appear in any Menu. To run it an X-Terminal emulator is required.

o       The application does not appear in the Task Switcher area. Switching between the other applications and the VM is not possible.

All these issues will be addressed in the near future.

Linux Nokia 770.

Linux Nokia 800/810.

Eve Software Development Kit - SDK

This is available to download here:

Eve-127-SDK.zip

There is a docs directory within the SDK that contains the API documentation (which will be updated over the coming weeks) and a "Getting Started" programming guide. More advanced programming guides will also be produced soon. The programming guide is also available on-line here.

Eve VM Source Code

There are four sets of source code.

o       The Win32 C++ source code for the native VM is here: Eve-127-vm-src.zip

o       The Linux C++ source code for the native VM is here: Eve-127-LinuxVmSrc.zip

o       The source code for the Eve library Java classes for the native VM is in the file called /classes/EveSrc.zip in the SDK.

o       The source code for the Eve library Java classes for a Java 2 VM is in the file called /classes/JavaEve.zip in the SDK.

Building the Linux VM

To build the Linux VM unzip the file to a location of your choice, open a terminal and go into one of the make-xxx subdirectories. Choose one that is closest to your target system. Then run “make eve” to compile the VM. If successful test the VM by doing:

eve ../lib/eve-desktop.eve

If this successfully brings up the desktop user interface try this:

eve -p5 -r ../lib/eve-desktop.eve

This should bring up the PocketPC emulated version of the VM. Pressing the Menu button at the bottom left will bring up a menu. You should hear a “pop” when the menu is displayed (this only happens when the -r option is used). This lets you know that the audio output of the VM is working properly.

To deploy the VM simply rename either eve-desktop.eve or eve-mobile.eve (whichever you believe is more appropriate) to eve.eve and then distribute that eve.eve file along with the executable eve file. Once the two co-exist in the same directory the eve executable will be able to locate and use that library without needing a specific command line option to tell it which eve file to use. So you would be able to run:

            eve -p5

on the command line and it should work successfully once the eve.eve file is in the same directory.

For more advanced help on building the VM please join the Forum.