[News] OS4 progress since pre-release | ANN.lu |
Posted on 08-Jun-2004 21:47 GMT by Peter Gordon | 228 comments View flat View list |
Hans-Jorg Frieden has posted a detailed status update on the progress of OS4 to Amigaworld.net.
Brief summary:
· Picasso96 and MUI PPC native
· Kernel supports PPC performance monitor and Altivec
· Moovid (released with OS3.9 as "action") is now running native, and can play DivX and other common formats
· GCC 3.4.0 is ported
· The C libraries are much faster. As a result AmiPDF is up to 60 times faster.
· Serial and floppy drivers coming soon
· USB is working and supports HID devices like keyboards and mice as well as HID joysticks and steering wheels, and USB mass storage devices like USB sticks, flash card readers, 7-in-1 card readers and cameras
· A1 IDE device now has working UDMA support. Also, interrupts are no longer polled but delivered properly. This means that the device does not require any CPU time for transfers.
This material will in due course be released for download to registered users of the Developer Pre-release on our web site at:
http://www.hyperion-entertainment.biz
There is more detail in the original AW.net posting.
|
|
List of all comments to this article |
OS4 progress since pre-release : Comment 138 of 228 | ANN.lu |
Posted by Stefan Burström on 09-Jun-2004 17:04 GMT | In reply to Comment 137 (Fabio Alemagna): Hello!
>For example: how does the loader know it has to open the wrapper library instead of the real one? It's an idiotic question, I know, but I just want to get everything straight. Of course the obvious answer is that when the loader recognizes the library is 68k, it tries to open the stub library.
I think that is how it works, but I am not sure. But you presented a rather straightforward solution so I suppose it was rather easy to do.
>However... what happens if the code that is calling OpenLibrary() is 68k? Of course the loader doesn't have to open the stub library. Is this right?
Right. Because the m68k code is using MyLibBase to do jsr -offset(a6) to the
lib.
>If so, how does the loader know that it's being called by 68k code? Is there a special version of OpenLibrary/OpenDevice for 68k code only? And, regardless of
The same way as interfaces helps you distinguish between ppc and m68k. An m68k
program would simply get the original ExecBase from (void *)4 with OpenLibrary()
implemented to take care of the m68k -> m68k and m68k -> ppc calling issues.
And a ppc library would of course do
IExec = GetInterface(ExecBase,"main",1L,NULL) before accessing exec and in
IExec the version of OpenLibrary that knows about all these things is available.
>this, how does one deal with the case in which the 68k code returns the library base to the PPC code, for it to use? This 68k code could be a library, and a function of this library could be returning the pointer to another library, for whatever reason. How's this dealt with?
Right. But since no PPC code may call libraries directly this has to be taken
care of. If a function returns a struct Library *, the PPC code has to do
GetInterface() on it to get the PPC stubs. (or the real functions in case the
library was passing the base of a real ppc library)
regards,
Stefan |
|
List of all comments to this article (continued) |
|
- User Menu
-
- About ANN archives
- The ANN archives is powered by #AmigaZeux. It was updated daily (news last: 22-Oct-2004; comments last: 18-May-2005).
ANN.lu was created, previously owned and maintained by Christian Kemp, www.ckemp.com.
- Contribute
- Not possible at this time!
- Search ANN archives
- Advanced search
- Hosting
- ANN.lu was hosted by Dreamhost. Sign up through this link, mention "ckemp" as referrer and he will get a 10% commission on any account you purchase.
Please show your appreciation for any past, present and future work on ANN.lu by making a contribution via PayPal.
|