I don't know if this is interesting to anyone but I just started doing a reimplementation of xfdmaster.library for AmigaOS 4.x in C.
The original xfdmaster.library code I'm basing this on is in 100% 680x0 assembler so this is kind of a crazy/interesting project.
http://libxad.cvs.sourceforge.net/viewvc/libxad/libxfd/source/So far I have only worked on the master library itself and no tests have been done with it yet.
Some notes on current state of development:
- Most/all of the API functions for dealing with hunk stuff and relocation are not fully implemented and will return XFDERR_NOTSUPPORTED.
- All other API functions are implemted and should (hopefully) be working.
- No internal clients are implemented yet.
- Loading of external clients is implemented.
- Only 680x0 clients are currently supported (client functions are called using IExec->EmulateTags()).
As converting all the internal clients to C code will probably turn out to be a lot of work a simple stop gap solution would probably be to just compile them as a 680x0 LoadSeg()-able binary blob for now.
For those interested the source code for the current WIP alpha version can be downloaded from here:
https://dl.dropboxusercontent.com/u/26 ... /xfdmaster-os4-wip-src.7zEdit: Just updated code by adding the hidden A6 xfdMasterBase parameter to all EmulateTags() calls.
Edited by salass00 on 2014/7/31 22:40:21