Date 28-Jun-2005 8:10:56
Topic: Software News
|AmiZilla is still alive- ROAar! :) This is a full update of what we've been doing for the last 6 months- work on the NSPR, XPCOM and how exe compiling is going. Plus we've started a multi-platform GTK->MUI(Zune)/Reaction abstraction layer- check out the screenshot and demo exe links!|
AmiZilla Update 28/06/05
Ok, many people seem to think the AmiZilla project is dead, and with good reason, as there's been no information released in a long time! So I thought I'd put out an update, so people can see things are happening!
Ok, firstly, the NSPR is basically functionally complete- this is a base Operating System abstraction layer (for things like TCP/IP etc). XPCOM seems to be mostly functioning- XPCOM is a Cross Platform Component Object Model- it allows different components in Mozilla to message each other, and access files on any platform etc. A couple of people have had the code compiling with these layers, producing an exe of around 500M in size (with debug info), which ran and exited cleanly, but requires an X11 server as a screen device! At the moment, we have switched from a static huge exe, to a library version (a2ixlibrary), but we haven't been able to do a complete build with this yet.
We're creating some helpful documentation on what files are needed, and how to compile an exe etc, along with some much needed info on how to set up a Cross-Compiling environment on Linux and Windows. This is very important, as unless you have a Dragon accelerator, you can't compile AmiZilla on a 68k-based Amiga, as they physically just don't have enough memory to compile it (you need 256-512M memory at least, and we won't even go into how long it takes to compile 200M of source code, on a 68k...)! It should be possible to compile it on an AmigaOne, or Pegasos though.
But more interesting, a couple of people are working on a GTK->MUI(Zune)/Reaction layer, primarily for the AmiZilla project, but it will be able to be used for other GTK apps too. It's likely, we will be looking at getting Firefox running first (it's only a simple compiler switch, to compile either Firefox or Mozilla), then maybe the whole Mozilla suite if people want it (probably unnecessary though). We're looking at getting it running on 68k/MUI first, and hopefully the 68k exe should run on AmigaOS4 and MorphOS as is.
Then we can look at MorphOS/OS4/AROS native ports. With a MorphOS port we may need a compile of the latest version of GCC ie: 3.x, to be able to compile AmiZilla though.
The GTK->MUI/Reaction layer will be done as a separate project, to make it easier to support multiple OSes (Amiga 3.x, OS4, MorphOS and AROS), but the initial target will be to get Firefox running on Amiga 3.x. Also, an AROS bounty has been put up for a GTK->MUI (Zune) layer, so that it can then be easily ported to any other Amiga Operating System (if not already done). Also, the MorphZone bounty program is considering, either starting their own GTK->MUI wrapper bounty, or pointing it towards the AROS one. The GTK layer will be done as two shared libs- glib.library and gtk.library.
So far, GTK->MUI seems fairly straightforward, as MUI is quite flexible, and fairly similar in structure to GTK- these both use an Object Model (ie: as in using objects like Windows, Buttons etc, not as in C++/Java Object-Orientated programming!), and GTK does not poke directly into it's data structures, but uses functions for object manipulation.
We've put together a basic working example using GTK calls, of initialising GTK (really an MUI call), opening a Window with a Button on it, closing the Window, and shutting the system (MUI) down. We've also compiled the GTK dev-kit examples helloworld and helloworld2, without any modification to their sources. One minor problem is that MUI gives back a pointer when it's initialised, but GTK doesn't, so we'll have to save that pointer somehow, probably in per-app data, saved within the library structure itself.
GTK->MUI Demo code and compiled exes (68k)
GDK is an OS independent video abstraction layer for GTK- GTK makes it's calls to GDK, which then calls the underlying system (in Linux it's X-Windows). We haven't looked into it fully yet, but we shouldn't have to worry about GDK, as only GTK calls it, and Firefox shouldn't make any direct calls to it- and as we're replacing GTK calls with MUI/Reaction ones, GDK won't be called!
More of a challenge will be GLib- we're currently researching how much Firefox uses it, as some of GLib is very simple, and would just take a recompile, but other stuff like events, signals and threads could be more problematic, and may require replacing with Reaction/MUI calls.
More developers are always welcome to join us- the more resources we have, the quicker this will get done! :) To join the AmiZilla list, either send an email to firstname.lastname@example.org, or go to the Yahoo AmiZilla website (but you need to create a Yahoo account, to do it this way). Also, donations to help encourage more developers, are most welcome too! :) - AmiZilla donation page.