Sunday, December 2, 2012

Sunday Treat

It might take up to three bankruptcies to learn how to run a decent business.

The top menu now has a Status page where I elaborate a bit on project progress as I go.  The past few days my brain has been all over the place, and it's been hard to make any solid progress.  But as a Sunday treat, I thought I'd just show a couple of examples of working code in full color  ;-)

Starting to let some of the blue smoke out...

Ok, so that's just about as exciting as it is right now.  I have been testing against a wxWidgets tutorial at  At this early stage it's as good for testing as any other code, and using something already available saves me some typing while testing.  In parallel, I'm also working with the wxWidgets test suite for a bit more formal testing.  But in my humble opinion, testing with "real" content is probably more interesting to most of us.  As of right now, everything on the Helper Classes page builds and runs nicely.  And that's still without really adding any significant code content -- I'm still in the design phase (see the Status page for more).

Q & A

I've had a few questions over the past few weeks.  Quite appropriately, since I'm new to most people in both the wxWidgets and the Amiga communities.  Keep up the questions, I'm happy that there is so much interest in this project already!  Here are some answers:

Which version of wxWidgets are you porting?

The latest.  Looks like 2.9.5 will be out any day now, but realistically it will be 3.0 before the Amiga port is finished.

How long will it take?

Yeah.  Would be nice to know.  I'm looking for the quickest way to put something reasonably useful out there.  Some other ports have taken a couple of months to reach a useful stage, and I don't know any reason right now why the Amiga should be significantly different.  So far it's going quite well.

Are you porting to AmigaOS 4 and native widgets?

Yes.  And that means using Reaction etc. and/or whatever else ends up providing the best implementation for Amiga.  That said, for practical reasons I'm doing a lot of initial testing on OS3 in UAE (an Amiga virtual machine).  It's likely that the wxWidgets port will also run decently on OS3 with reduced functionality.  At least under Amiga Forever -- testing on a wide range of actual hardware from ~1990 may be a bit too challenging.

I heard you didn't even have an AmigaOS 4 box?

That's no longer the case  ;-)

Wasn't someone else porting wx before? Is this again a case of double work?

No double work so far, and unlikely to happen in the future.  There were some previous attempts, and I've been granted a copy of their latest source tree.  Having the advantage of their experiences, I am able to take a slightly different approach that should hopefully prove quicker and easier.  The available code is perfectly fine though, and I understand I may be permitted to use it as applicable.

Can I be a beta tester?

At the moment I don't know if and when there will be a beta stage at all, though there will probably come a time when concentrated testing will be required.  If you're maintaining a wxWidgets app that uses only base/core, then I'm certainly interested.  If you have experience in CPPunit test writing then that will also be useful.  If you're super sharp with the intricate details of C++ and class documentation, you should certainly let me know.  If you have no experience with either wxWidgets, cppunit or C++, then please be patient for a little while.  Even if wx is massive it's still just a toolkit, and getting actual apps to run is some way off yet.

What nice software uses wx?

A fair bit actually, though you might not know it.  It tends to blend in so well with the regular look & feel that end users never know.  A couple of open source examples are Audacity, Kicad, Code::blocks and Amaya.  The list of commercial software is probably even longer, and some of them even originated on the Amiga!

How much experience do you have with AmigaOS programming?

A fair question.  I didn't really release much of anything for the Amiga before, and I've been away from the community for a while.  Whatever commercial programming I did was for Windows and Unix, and even that work you're quite unlikely to have seen.  That said, I grew up on the Amiga.  I was coding on it when OS version 1.2 was considered "new".  I found the gems pictured below in my library, and if you recognize them you know I've been around for a good while.  In all honesty though, the AmigaOS API is pretty small and simple and I'm not worried -- it's not even on my top 10 list of possible challenges in this project  ;-)

LISP is your friend.

Ok, that's all for now.  Be good.  //A.

“Everything should be made as simple as possible, but no simpler.”
A. Einstein (possibly paraphrased)


  1. Audacity would be a good thing to get working first :) Alot of people wants it. Good reading as usual :)

    1. Ok, thx :) I will take a look at it once the port gets a little bit more mature.

  2. I am new to amiga community and i had alot of questions to ask. This platform fulfilled my every requirement for getting answers. I wanted know how it works and how can i play my role. i got a great response. Its great!