This will be rather exciting when I do get to native code generation. I can potentially target this TI89 Titanium I have, which I obtained for 20 USD from a garage sale. It has a m68k processor, so that means I can easily target older m68k Palm PDAs along with this calculator and have similar code generation. I could also potentially target m68k Macs, although I am not too sure of that one since I do not have such devices. There are also Amiga based m68k systems too, which I also do not have. There are however emulators for such systems however, so I suppose that will have to be good enough.


Ok, so the main thing I must figure out is how to actually read ZIP files. There is an offset to the start of the central directory, however it is a bit off. I suppose I can figure something out how to handle the offset. The main confusion is the central directory and file headers. I suppose the central directory points to file headers based on reading the specification.


I should allow delegation for the Main-Class so that if a package lacks it but a dependency has a main, then that can be used instead.


And with these tests that I have, it should be far easier to determine if my interpreter is working correctly by having actual tests instead of just running hairball as the interpreter test. In the future, these tests can be used to make sure that the target compiled code works correctly. Then in another future it can be used to test if the Java compiler generates code correctly.


I suppose for a graphical GUI a PalmOS like interface could work out well. One that is a mix of PalmOS and Mac OS. The list of applications could essentially just be a set of icons that could be launched for example in the virtual machine.


I suppose for ZIP files since I currently see that I am going to rather duplicated code between the 32-bit and 64-bit format. I would like it so that I can completely drop the directory table when it is not used (i.e. a weak reference) and then initialize it again as required. And one thing I just noticed is that Java ME has WeakHashMap.