From: <gb...@di...> - 2000-09-20 14:00:43
|
Hi, [Real Addressing rules] > Ability for unaligned accesses? Actually, this is the job of the do_get_mem/do_put_mem functions. If the host provides unaligned access, that's fine. > And does real addressing work on little-endian machines? Unfortunately, while I was running a Speedometer Graphics performance test (16-bit mode), Basilisk exitted at the end of that test, just before displaying the result or beepin). It seems that it tried to access some function located at 0x00ED466A [*]. How come previous tests ran well ? The only thing I haven't enabled in regards to Real Addressing on the AmigaOS, is the patch to disable overwriting of SysBase. What is it ? I tried to apply this patch but with no avail :-/ [*] Looks specific to Speedometer. [live debugging ;-)] Actually, it further seems to be the result of a TST.B (A0). Not very informative... Real addressing will work on platforms that provide VOSF, especially the ability to retrieve the faultive address when a SEGV signal is caught. This is implemented through the use of the si_addr field of siginfo_t on platforms that support extended signal handlers, or through a sigcontext hack on Linux/i386. Once the faultive address is known, write permission is enabled back to the corresponding page. Later, on screen update, I retrieve the dirty pages and update the host frame buffer. I will also experiment an hybrid between the update in DGA mode and Windowed mode. In DGA mode, there are two temporary frame buffers, one to which data is actually written, the other that is a copy. Then, I use a variant of the static_update method to update the screen. This approach is actually faster than having just one temporary frame buffer and blitting the complete dirty pages. > > I will probably include config.guess and config.sub BTW, I took those from the SDL library, not those from the latest devel autoconf package. Bye. -- Gwenolé Beauchesne |