Ok, thanks for the reply. First off, it is mostly for my own interest, so not necessarily going to be "kick ass" although I am a perfectionist, so I tend to make things the best I possibly can.
You hit the nail on the head though, as far as I am concerned. I intend to design it to be cycle-exact, i.e. true emulation, for every "real" Amiga produced. With simple one click setups for each. (obviously I am talking the final vision here!) But also I will allow, very much as WinUA does, for example, the speeds and priorites of each chp to be tweaked, potentially making it a "super fast 1200" or whatever.
Emulation is simple, if broken down into parts. The Amiga is complex by comparison with, for example, the ZX-80 (as easy as it gets!) because there is essentially only one component to worry about in the venerable ZX, but an entire chipset plus CPU in the Amiga. PC (x86) emulation is made simple by the fact that it is all basically just an extension of the original IBM PC. OK, we are now 32/64 bit, not 8 bit, and we have PCI/AGP not ISA, but you can appreciate what I am saying, I am sure.
At university we did some small scale CPU emulation using Java. I migh well start out this way with the Amiga as it has several things to commend it: JVMs are freely available for many machines, the very nature of Java is that it should work the same regradless of platform, it is easy to work with and update.
The downside would of course be performance. But to be honest, we all now use machines that are far more powerful than even the fastest "true" Amiga. Well written, optimized Java code ought to fast enough for every conceivable task. This is after all an emulator, designed to run old software as if the platform were a piece of hardware now more than 10 years out of date, in all probability :¬)
I'd welcome any thouhts you have on the project and if you would like to be at all involved, I am more than happy to chat about that too. The alternative to Java for me, by the way, would be an x86 C/C++ based emulator. Sorry folks, I like my "PC" and I know the architecture very well as it is what I primarily program for. It would of course be targetted at 2K/XP and possibly NT4. Sorry again, to anyone interested who uses 9x OSes. They are not stable enough in themself to be worth my development time. I'd possibly consider a "post-dev port" but you would definitely be waiting a long time, as the entire development cycle would first have to complete for the NT version it would be ported from.
I look forward to more comments, John