x
This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 
 
Latest Forum Activity

Common Executable Format

cgallaty Page Icon Posted 2021-10-18 8:36 PM
#
Avatar image of cgallaty
Factorite (Junior)

Posts:
35
Location:
United States
Status:
Just throwing this out there as I'm finding next to nothing on the Net. I'm trying to do some spelunking to the Microsoft's CEF or Common Executable Format that was supported in some CE devices. The idea was that you could create a binary in CEF that would then be Just In Time cross compiled on the device itself for the native chip set.

This is of course at the height of Windows CE devices lacking any unity (SH3, MIPS, ARM, x86, etc) and was the closest to an ABI they seemed to get to at the time.

Looking for (ideally) anyone that has seen or knows of a document on the instruction set, and/or some early binaries that are in the CEF format. I'm going to try and target the format in dev tools and try ripping it apart that way. Fast forwarding to 2021, the notion that you could distribute something and have it pivot to either ARM or x86 seems to have <cough> new relevance.

I've been all over MSDN with little luck. Most of that era has fallen off into Wayback Machine land. (I think they have axed things pre 2000 article wise on the site proper) Figured I'd at least ask if someone knew or perhaps knew someone that might know.
 Top of the page
C:Amie Page Icon Posted 2021-10-19 10:04 AM
#
Avatar image of C:Amie
Administrator
H/PC Oracle

Posts:
17,952
Location:
United Kingdom
Status:
There really wasn't much compiled into CEF, it was a good idea that didn't catch on until .net arrived.

The cab here might be CEF from the look of it
https://www.hpcfactor.com/downloads/details.asp?r={620EBF94-443C-473...

https://krsuncom.tistory.com/entry/Windows-CE-Developers-FAQ

Quote
Common Executable Format (CEF)

One of the downsides to writing Windows CE applications in the past was the number of different microprocessors that needed to be supported, such as MIPS and SH3. Starting with Pocket PC, Windows CE devices now support a processor-neutral machine code set called Common Executable Format, or CEF (pronounced "keff"). You can compile into CEF using eMbedded Visual C++ and then run that single executable on any platform that supports CEF, such as PocketPC.

CEF-enabled platforms have a translator that takes the CEF code and translates it into the native code, such as MIPS or SH3. Translation can take place every time the application is run, or the converted code can be saved. There is an overhead in performance CEF applications run at around 80 percent the speed of native applications.


I'm not aware of any documentation on the instruction set
 Top of the page
cgallaty Page Icon Posted 2021-10-19 2:17 PM
#
Avatar image of cgallaty
Factorite (Junior)

Posts:
35
Location:
United States
Status:
Was worth a shot. At that point in the game, it was a bit of a non starter. I will be interesting to see if it is just the spiritual ancestor of the CLR JIT compiler or if there is actual lineage. I seem to remember hearing some noise about it back in the day, and then that faded. Put it on the list of things to do.
 Top of the page
C:Amie Page Icon Posted 2021-10-20 12:03 PM
#
Avatar image of C:Amie
Administrator
H/PC Oracle

Posts:
17,952
Location:
United Kingdom
Status:
I hope that you will publish your findings
 Top of the page
cgallaty Page Icon Posted 2021-10-20 3:12 PM
#
Avatar image of cgallaty
Factorite (Junior)

Posts:
35
Location:
United States
Status:
Given the lack of any hits on the Net proper at this point I would likely write it up just to get the SEO. Anyone with a page up at this point would be, by default, the authoritative expert on the subject. XD
 Top of the page
Jump to forum:
Seconds to generate: 0.171 - Cached queries : 43 - Executed queries : 29