Ancient Browser Experience
While trying to match 68k bsdsocket calls to x86 bsdsocket calls, I realized, how "old" our bsdsocket.library seems to be. Nearly every bsdsocket.library function is marked with texts like "THIS IS A DEPRECATED METHOD OF GETTING HOST NAMES" in modern man pages..
Nevertheless, there is progress :).
Aweb can be started in AmigaOS 3.1 running in j-uae v1.3 and load at least parts of a webpage. The real challenging parts of m68k <-> x86 communications seems to be fixed.
->
Every call from an m68k application has to take the following route (aweb example):
aweb ->
m68k/bsdsocket.library ->
j-uae TRAP handler ->
x86/j-uae-bsdsocket-task ->
x86/bsdsocket.library
For every open of a 68k bsdsocket.library (every open creates a new SocketBase), I start a new x86 process, which then himself opens a x86 bsdsocket.library. Every 68k bsdsocket.library function call needs to be serialized through the j-uae trap handler and then routed to the according x86 process. The communication between the x86 native trap handler and the x86/j-uae-bsdsocket-tasks is done with simple Put/GetMsg calls, just to get an individual task context for each library base.