[Background off] | [Frames on] |
Yes, ideed, today is November 7th, not July 11th. Anyway, I've been asked to clarify one thing regarding the PPC version of AHI. There will be no WarpUp version, nor will there be any PowerUp version. The reason is that neither of these two systems allow PPC code to be invoked from within an interrupt¹, which is an absolute requirement for AHI. The current PPC version is for MorphOS only. In the future, I hope to have an AmigaOS 4 version as well.
1) While is should have been obvious by reading the PowerUp documentation, there is nothing in the WarpUp documentation or the actual design that suggests that it will not work; in WarpUp, it could be possible if the implementation had allowed it. In any case, the days when I could be bothered to write for a mixed CPU system are since long gone ...
I'm sure you're all aware of it, but I upload beta versions of AHI to the beta directory from time to time. It's getting close to a new stable release (version 6). There will be no more updates to this page, in case you've not figured that out all by yourself ... ;-)
Believe it or not, but I am still alive. It's time for a new beta, this time for MorphOS, which was released as a public beta two days ago. If you haven't tried it yet, do so now! Personally, I love it.
This beta, the fourth, is just a new device and preference program, since I still have a couple of build issues to sort out. Note that you must update the "Default anti-click time" in the advanced preferences if you have used an earlier beta version! I changed the format of env:sys/ahi.prefs a little.
Anyway, download the archive, unpack it and copy AHI_MUI to SYS:Prefs/AHI and ahi.device.elf.604 to DEVS:ahi.device.elf. Boot into MorphOS and enjoy the fastest mixing you have ever seen on the Amiga... Then send your detailed bug report to me.
(The WarpUp version is still giving me headaches, I'm afraid. It's not looking good.)
Merry Christmas, all of you! I'd actually planned one more beta release this year, but didn't make it. Let's hope for a better year next year, shall we?
The third beta is here (source and binaries). Since last time, I've rewritten the PPC handling code, added 16 bit DSP echo and implemented the hifi mixing routines in m68k assembler.
I forgot to update the README file in the source archive. Just ignore the information regarding the second beta release.
There are a couple of known bugs in the PPC code, but the random lockups should be gone now. If not, let me know. The performance under WarpUp is terrible, but I have no idea why yet. The PowerUp version seems to work much better.
Yo, gentlemen! There has not been much time for AHI/PPC development the last months, as I'm sure you're fully aware of. Therefore, I'll take a few days off from work next week, and try to finish the PPC version. No promises, of course, but I'd guess I will get more code written next week than recent months. Cross your fingers....
Some remarks regarding the last beta release. If AHI complains about not finding ppc.library > v46.26, don't worry. You only need v46.24 or greater.
Not that it matters. I just found out why the PowerUp version locks up now and then. It turned out that I had misunderstood how to use some stuff in ppc.library. Unfortunately, this could lead to that I have to ditch the PowerUp version altogether. So don't use the PowerUp version; it's broken by design.
Ten months. Need I say more? Probably not.
...or what will eventually be known as AHI version 5 (not to be confused with that I hoped to be version 5 before -- that will be another release) is here.
This version supports WarpUp! But more work needs to be done, because this version is a full 35% slower when run under WarpUp than PowerUp. Don't expect speed! Just tell me that it works. A bug in WarpUp was recently discovered (yesterday, actually), which prevents AHI from using proper cache handling. A later beta of AHI will either add a work-around fix or require a later WarpUp version.
I also fixed a couple of bugs in the ppc mixing routines. Then I found some more, that I didn't fix. Especially the anti-click code seem to have problems, so don't turn it on unless you have to! And even if you have to, please, do listen carefully to the result before pressing your CDs! If you find any predictable and repeatable problems, do let me know!
The lock-up problem with AmigaAMP has not been found yet. Unfortunately, it happened with WarpUp as well, which kind of blew my theory about it being a PowerUp bug. It now looks like it's a problem with either my or Thomas code. Probably mine.
So, what else is new? I played Quake Arena for the first time a couple of weeks ago. It sucked. Whatever happened to all great games that was fun to play, like Gianna Sisters, Rally Speedway and Commando?
Take your pick! Any help is wecome, and the more help I get, the sooner the full release will come.
Oh, yeah. The files. Here is the source code, and here are the binaries.
Just a quick note. Please do not upload the binaries found here to Aminet or any other file archive. They are not ready yet and there are way to many bugs in them. Thanks in advance.
(WarpUp coding is still in progress, if you're wondering.)
I've heard that the beta crashes less if you first remove ENV:Sys/ahi.prefs. I don't know if this is true for all of you, or if so, why, but it's worth a try.
I've verified that my PPC code does not work very well with AmigaAMP, at least not when using the PPC decoder. I've no idea why yet.
I also found the (embarrassing, as it turned out) ELF loader bug yesterday, so I can now finally finish the WarpUp support.
Note! The beta does not work with the ppc.library emulation, and probably never will. Don't even think about it... Also, make sure you're using the very latest ppc.library (at least 46.24 from late March this year).
Many people seem to have trouble with this release. Make sure you save your old version of ahi.device. If you have trouble, try to remove the ahi.elf file from DEVS:. That will disable the PowerPC code and make AHI use the m68k only. When reporting bugs, please include the full version number if ppc.library and the audio mode used. I'd also like you to try the Paula and Filesave drivers, in case you're using a sound card. Thanks!
Oh, and if you do make it work, could you please tell me..? My system just can't be the only system it works on, can it?
Right. Unfortunately, I lost my net connection (including access to my CVS server) for over a week when Rydnet was officially closed down, after more than five years of operation. As a side note, I joined in November 1994, I think, and the A4000 I connected back then is still the only computer I have at home (not counting the C-64 and C-128D). Funny how time flies, isn't it? <grin>
Anyway, enough of this drivel. Here is the source code you've all been waiting for, and here are some binaries, in case you don't feel like feeding me with patches.
The anti-click settings can be adjusted from the preferences program, or by the developer by using AHIA_AntiClickSamples in AHI_AllocAudioA() and by using the AHISB_NODELAY bit.
That's it. As soon as the problems above are fixed, and I have added a none mixing mode (for streaming applications like mp3 players), I'll bump the version number to 5 and release it officially.
Let me know if you want access to the CVS server.
Vacation is over, and so is the exam period. The former was great, the latter... well, let's just say that there will be more of them.
Anyway, I finally have some good news for you. The PPC assembler mixing routines are much faster than the C version, although I do believe there is still plenty of room for improvements. It's also stable now, which means I'll release a beta version in a couple of days.
This is a "incomplet and incorrekt" list of what's left to be done (until I'll release the final version of AHI/PPC, that is. There is still much to be done to AHI itself, of course):
Blä. I thought I would have a beta release ready this weekend, but unfortunately not. Yeah, yeah... I suck. What else is new?
The good news is that the mixing routines written in PPC assembler seem to have acceptable speed, unlike the C version.
Anyway, I'm going on vacation tomorrow. I'll be back in about two weeks. Don't expect mail replies during this time. (Hey, I'm beginning to approach that 10 month delay myself. Depressing!)
Hello again... I just wanted to mention that I've release a "trailer" of AHI/PPC, i.e. a version that allows you hear what the PPC version of AHI will sound like. It runs on m68k only and is rather slow, but on the other hand, it sounds much better than the old 4.180 version.
It's available from the download page.
Just to clarify a bit... AHI PPC is not released yet. The PPC kernels that I use are.
Oh my. Time flies.
Well, here's a (long-awaited?) update of the project. Both PowerUp and WarpUp have now been released in new versions, with support for something similar to "software interrupts", a feature required by AHI. In the version I wrote about last time, I used some ugly hacks to make it work (it's still a kind of hack, but at least the current version uses documented hacks...)
The mixing routines have now been finalized, which means that they will not change in the foreseeable future. I've finally added that anti-click feature, which really makes a difference. It sounds much better than before. I skipped the cubic spline code for now, maybe another millenium....
So, how about that performace problem, then? I've not yet translated the mixing routines to PowerPC assembler, since I knew I would have to redo it when the anti-click code was finished anyway. I'll have to do that now, I suppose. Anybody wanna help? Drop me a letter! The GNU assember 'gas' will be used, using the System V.4 ABI.
I've been working on the PPC version for some time now, and the PowerUp version was "finished" about a week ago. I say "finished", because I'm having performance problems; the PowerPC version is actually a little slower than the current 68k version.
It looks like I'll have to rewrite the critical parts in assembler. I received the last processor manual from Motorola earlier this week, but please be patient! It will take time.
Since it looks like the memory is going to be one of the speed limiting factors, I'll probably add some goodies to the PowerPC version, like "anti-click" and maybe cubic spline interpolation instead of the current linear implementation.
Thank you for your patience and understanding.
PS. Devleopment on the WarpUp version will begin when then next WarpUp kernel is ready, but the performance problem has nothing to do with the kernel used. DS.
Thank you, everybody who sent a donation. Thanks to you, and the excellent people at Syscom och Mematex AB, I've now been able to order a PPC card.
I'd suggest that the rest of you hold on to your registrations until the PPC version is ready.
I saw no reason too keep this whining anymore, so I removed it...