Thus following AmigaOS4 libraries wont work from MorphOS side:
MUI custom classes
BOOPSI classes (3rd party reaction classes)
mpega.library (has another issue also)
Datatypes might or might not work.
Fixed MatchFirst(), MatchNext(), MatchEnd(), AllocDosObject(), FreeDosObject() calls in dos.library (I didnt know AnchorPath structure had changed). This fixes LOCCounter.
Fixes and additions to intuition.library, gadtools.library, exec.library and Reaction emulation classes. GadTools fixes fixed SGrab OS4 but there is still menu trouble.
Added EncodeColor() function to P96 wrapper.
Support for PPC native AmigaOS4 libraries
OS4EMU can now load and initialise AmigaOS4 native libraries.
The emulation kernel looks for libraries from different locations in this order:
If corresponding library is found the kernel loads and initializes library for use in the emulation.
Only PPC native autoinit libraries are supported and possible 68k jump tables are discarded.
AmigaOS4 libraries are private to the emulation kernel and not visible nor accessible to MorphOS programs.
AmigaOS4 native devices, datatypes or MUI custom classes are not supported.
PPC native Reaction classes are useless since the kernel always uses internal versions of those.
Added new interfaces:
- expansion.library (pci interface only)
- slider.gadget, colorwheel.gadget
It is now possible to run some PCI related utilities, i.e. pciscan.
Drivers are not supported.
- added interrupt support
- fixed P96 emulation (Zero from Universe had wrong colours)
- fixed MUI emulation
- fixed layers.library interface
- improved datatypes.library compatibility
Few new interfaces were added:
asyncio.library, lowlevel.library, bevel.image, fuelgauge.gadget, glyph.image, integer.gadget
Most of changes are internal to for better ClassAct->Reaction compatibility. It is now possible to run AntiGrain demos using ClassAct classes.
Added some public API calls to detect and load OS4 binaries. See accompanied API documentation for details.
Implemented AmigaInput wrapper using lowlevel.library calls. It should be possible to use game controllers connected to USB, built-in analog joystick port or Catweasel Mk3 controller. Keyboard as an input device is not supported.
Added input.device wrapper which is needed to support IND_ADDHANDLER command.
Asl.library and utility.library is now internally promoted to version 51.0.
AllocVec() now aligns memory to 32 bytes boundary.
It is now possible to run some of OS4 native ClassAct/Reaction software by using ClassAct 2 demo from Aminet. It is not perfect but seems to be good enough to get something displayed.
There are now three new library interfaces for iffparse.library, commodities.library and rexxsyslib.library.
Fixed stupid bug in RawDoFmt(): parameters were not redirected for OS4 native PutChProc() which caused nice havoc.
Another stupid bug was in AllocSysObject() emulation. Signal bit was not allocated for message port (except in very rare cases) resulting in seemingly crashed emulation.
OS4Emu launcher tool now recognizes "??" parameter which is passed as "?" for launched OS4 binary.
Added MUI wrapper and OS4 native software using MUI is mapped to use MorphOS MUI now. Added emulation interface for bsdsocket.library but utilities like NetMon wont work and wont be supported either.
Other new interfaces are for icon.library, diskfont.library and console.device.
Fixed small bugs in dos and exec again.
Apparently emulation was not working under MorphOS 1.4. The problem was in dos.library/GetProgramName() function which returned DOSFALSE always (AROS bug?). Apparently it was fixed in 1.5 and I couldn't notice problem. Sorry...
Another problem was in IExec/NewList() emulation. Although it worked just fine I managed to trash some innocent memory... Yes, really!
My implementation initialized list->lh_Type field always (since input is struct List *, there is IExec->NewMinList() for struct MinList *) but GCC startup code called NewList() for struct MinList * too. Funky.
Added new command PatchLoadSegOS4. This command permanently patches InternalLoadSeg() in MorphOS. With this patch you can start OS4 native programs directly from Ambient or Shell. The patch needs very little ram (about 7kB) and OS4 kernel emulation is loaded on demand.
From GUI libraries only GadTools is supported right now. In the future MUI will be supported.