SquirrelJME

SquirrelJME is a Java ME 8 Virtual Machine for embedded and Internet of Things devices, it also is a platform for the Software Preservation of mobile Java ME devices. This includes Japanese Keitai software as well! It has the ultimate goal of being 99.9% compatible with the Java ME standard.

SquirrelJME's runtime library is written purely in Java with a simple abstraction layer on top of native hardware, or otherwise. This allows the runtime to be portable across various different systems along with separation of concerns between software running in Java and the hardware. All native access is performed via this abstraction layer and as such there are no usages of native in any specific class, thus only the classes in the abstraction layer require a native implementation.

There additionally is NanoCoat, which is an execution engine written in C to allow for running SquirrelJME in a cross-platform way without a dependent host virtual machine.

Additionally, there is a port of SquirrelJME to RetroArch which enables the ability to play older J2ME software and games designed for flip-phones.

Please support me on Patreon!

Thank you to Hit Save! for sponsoring SquirrelJME!

Dedicated to Emily (1998-2020), the developer of Mu, I valued our friendship greatly and all the time we would spend together nerding about technical stuff, programming, and random topics. I do miss when we would play SNES and NeoGeo games for hours, they were cherished moments. The times goofing about in Kirby's Dream Course (SNES) were some of the most fun times spent with you. We both loves PalmOS devices and I always loved to hear about the new odd and quirky things you discovered about them. -- You will not be forgotten, rest in peace.

And...

Dedicated to Near (1983-2021), the developer of Higan, Ares, etc. and otherwise. You were and still are one of the kindest and most caring person that I knew. You showed me lots of support and encouragement with my own preservation work, and also helped me find the right people to connect with to further that goal. I still do miss our daily conversations, even though it is ironic that we rarely if ever spoke about emulation development there were so many other topics of conversation to go through. Honestly without you, I would not be where I am today and to this day I am holding you close and true to my heart. I push forward for you while holding myself high, I know that you would be proud of where I am today. -- You will not be forgotten, rest in peace.

SquirrelJME utilizes Install4J for cross-platform installers, you can read more about it and check out their product page at:

Badges:

Information:

Repository

Links

Goals

Donations

You may donate to SquirrelJME to which would be used by the author to keep the web server online, the purchasing of new hardware/software, and for the purchasing of food items for consumption.

Important Statements

JAVA AND ALL OTHER RELATED TRADEMARKS AND COPYRIGHTS ARE OWNED BY ORACLE CORPORATION http://www.oracle.com/.

SQUIRRELJME IS NEITHER PRODUCED BY, ENDORSED BY, NOR SUPPORTED BY ORACLE CORPORATION.

ALL SOURCE CODE IS WRITTEN BY MYSELF WITH FUNCTIONALITY DETERMINED BY THE DOCUMENTED APIS AND RUN-TIME BEHAVIOR. I HAVE NOT LOOKED AT THE SOURCE CODE FOR OTHER IMPLEMENTATIONS, NEITHER FREE SOFTWARE NOR PROPRIETARY IMPLEMENTATIONS. ESSENTIALLY SQUIRRELJME IS A CLEAN-ROOM IMPLEMENTATION OF THE DESIGN OF JAVA ME 8. THE IMPLEMENTATIONS OF THE JAVA ME 8 APIS AND ASSOCIATED JSRS/JEPS IS CONSIDERED BY MYSELF (STEPHANIE GAWRORISKI) TO BE IN THE FAIR USE.

THIS SOFTWARE IS INCOMPLETE AND IN ITS CURRENT STATE IS NOT CURRENTLY 100% COMPATIBLE WITH JAVA ME 8. THERE ARE CURRENTLY NO STABLE RELEASED VERSIONS OF THIS SOFTWARE. AS SUCH THE FIRST MAJOR VERSION RELEASE WILL BE WHEN IT IS COMPATIBLE SO AS TO NOT VIOLATE POTENTIAL LICENSES, AND IF POSSIBLE BE VERIFIED WITH ANY APPLICABLE TCKS (SO IT WOULD BE AN "OFFICIAL" IMPLEMENTATION).