Inspired by Lallafa I’ve been hacking in Python the last couple of days.
I’m writing a parser for the NDK 3.9 header files with the goal to automatically create stub code from structure definitions.
Lots of structs and fields contain plain binary values that only need to be endian-adjusted, so these can be automatically handled. Plain pointer references to other structs will also be straight forward, but there will be problems with the giant heap of APTRs and BPTRs scattered all over. Manual guidance will be required for all of these.
This parsing and generating will hopefully save me a lot of work in the end.
2012 is going to be a great year!
2011 was a slow Emumiga year, but I have the feeling 2012 is going to be better. The C++ version is catching up to the former C version and that makes it a lot more exciting to work with, breaking new ground again.
It is also inspiring to see a similar project gain momentum: Vamos by Chris “Lallafa” Vogelgsang. Keep it up Chris! That is cool stuff! I am impressed of how far it has already got in running real applications.
And thank you all for comments in forums and sending mails to me. Your cheers and positive words are truly helpful.
I’ve done some small work on the code base since last post. I’m adding symbol handling to be able to debug virtual memory references.

Finally some visible lifesigns with the new C++ codebase!
And, as promised: the source code. Fetch it from the download page.
Perhaps not very useful yet. But it is at least an example of how you can implement a library in C++ for AROS.
Oops long time since last update.
I’ve done some heavy coding recently. I would say I’m almost finished with the internals in the new C++ remake.
I spent a lot of time getting the objects as clean, decoupled and extensible as I can with my somewhat limited experience with C++ programming.
I am very near of getting “hello world” working again. I’ll post a screen shot here of course when I’m there, and why not the new code as well.
I’ve been coding some the last couple of weeks.
Things are starting to fall into place. I have prepared for dynamically loadable modules. The abstraction is in place but does not yet do any dynamic loading, but it will be straightforward when time comes for this.
First module out is the internal module that controls the bootstrapping procedure when starting an emulated process. The second module is exec.library. I’ve started with reimplementing the call hooks. OpenLibrary will just use the module system to find the correct library module. Certain things just become lovely with OOP.