[ARCHIVED] PluotSorbet is a J2ME-compatible virtual machine written in JavaScript.
Перейти к файлу
Andreas Gal f7f715e94a wee, fix a bug in the unzip code and decode pngs 2014-08-01 00:30:19 -07:00
classfile parse and ignore deprecated attribute 2014-07-30 17:25:07 -07:00
java add missing image assets 2014-07-31 20:19:04 -07:00
tests switch over to fzzzy's test case 2014-07-31 20:05:03 -07:00
.gitignore Add a .gitignore 2014-07-17 12:48:31 -04:00
LICENSE remove task.js 2014-07-10 23:45:28 -07:00
Makefile add dependency to makefile 2014-07-18 21:04:17 -07:00
README.md update readme 2014-07-31 09:13:52 -07:00
arrays.js fix a couple array handling bugs 2014-07-18 01:20:06 -07:00
classes.js fix interface method lookup 2014-07-31 19:42:36 -07:00
classinfo.js support LocalizedStringsBase.getContent 2014-07-31 18:29:17 -07:00
context.js implement proper back traces 2014-07-30 15:49:58 -07:00
frame.js remove getOp 2014-07-28 09:14:00 -07:00
index.html add more midp code 2014-07-31 11:15:39 -07:00
jvm.js move newString to classes 2014-07-29 17:40:19 -07:00
long.js fix Long export 2014-07-16 19:11:59 -07:00
main.js don't die on synthethic frames in the backtrace 2014-07-30 15:56:57 -07:00
midp.js wee, fix a bug in the unzip code and decode pngs 2014-08-01 00:30:19 -07:00
native.js fixes to native event handling 2014-07-31 22:59:34 -07:00
opcodes.js cleanup opcode table 2014-07-12 11:48:05 -07:00
signature.js count slots used in parsed signature 2014-07-13 19:32:37 -07:00
timer.js add zero timer 2014-07-17 21:18:53 -07:00
util.js fix fromJavaString and a few more MIDP native methods 2014-07-30 09:14:04 -07:00
vm.js fix interface method lookup 2014-07-31 19:42:36 -07:00
zipfile.js wee, fix a bug in the unzip code and decode pngs 2014-08-01 00:30:19 -07:00

README.md

j2me.js

j2me.js is a small J2ME virtual machine in JavaScript.

A few similar projects exist. My primary objective is to keep this very simple and small and to leverage the CDLC JDK. In particular I am trying to implement as little as possible in JavaScript, re-using as much of the CDLC infrastructure and existing Java code as I can.

The VM core itself is based on node-jvm, which has a very nice classfile parser but is quite buggy and incomplete. I had to rewrite most parts of it, and except for the classfile parser not much code survived. That having said, node-jvm was very inspirational and an excellent starting point to define structure.

The VM is able to execute a good amount of tests from Mauve and js2me.js and work has started to support MIDP2.0 MIDlets. The native support for MIDlets is in midp.js and we are close to being able to launch a MIDlet.

To try this out at home run "make" in java/ and tests/ and then open "index.html" in Firefox.