View Single Post
Old 30 December 2013, 00:00   #18
FS-UAE Developer

FrodeSolheim's Avatar
Join Date: Dec 2011
Location: Førde, Norway
Age: 37
Posts: 3,418
@Toni great that we're on the same page, more or less

The param(s) are still sent via registers - up to 6 params in d1..d6, and flags in d7, but the helper functions do not have to use all those. I was thinking to perhaps have a few helper functions, such as uae_call_p (one pointer argument), uae_call_ll (two long arguments) and uae_call_full (can pass all arguments).

I have coded on the feature today, and it is mostly implemented (except that asynchronous calls are not actually implemented yet, and nothing on the "Amiga side"). I have also implemented a compatibility mode - support for the existing native interface in WinUAE, so in theory - if WinUAE merges uni.cpp later, all native interface stuff can be found in one place (and 32-bit FS-UAE for Windows should be able to use existing native dlls unless they depend on WinUAE-specific stuff such as the WinUAE HWND window handle).

What are your thoughts about the bridge between Amiga and UAE? Right now, the existing functionality is hosted in ahi_winuae (which seem to rather be a swiss army knife which quite a bit of responsibility beyond AHI). There is also a commented-out native code execution function in uaelib.cpp.

Should the handlers ideally be put in uaelib ("uaelib_demux") or keep extending "ahi_winuae" (or a new one?) Right now I'm just adding new switch cases to ahi_winuae together with the old functions.
FrodeSolheim is offline  
Page generated in 0.05199 seconds with 9 queries