From: <ni...@in...> - 2000-12-07 01:54:43
|
Gwenole asked: > 1) BTW, do you have a solution for direct addressing ? REAL_ADDRESSING builds just seemed to crash for me :-) When I started investigating, I got lost in the mmap() stuff (manpages for some functions in OS X public beta are missing), so I decided that I would get everything else working first. > e.g. does MacOS X > supports POSIX Extended Signal Handlers, the ones that can take a > siginfo_t structure informing you about the address of an illegal > instruction for example ? Doesn't look like it has them. > 2) Is there and will it be possible to use Apple's DR Emulator located > in ROM ? * Only 30% of the machines that currently run MacOS X (i.e. >= G3) actually have the DR 68k Emulator in ROM. The others get it from the NewWorld ROM file on the System disk. * I think we would need to be emulating a PowerMac before that code could be used. (I have seen the problems in calling Mac ROM code from Unix [MRG in NetBSD/Mac68k], and it isn't pretty) Lauri commented: > >2) Has a cyan cast. ... > I think I had the same problem once: > > http://www.kearney.net/~mhoffman/basiliskII/online.JPG Emulating a Mac in a PC emulator. How sick ;-) > The color distortion looks quite similar. You at least had some red. I have none! The problem is caused by differing representations of 32bit data in Basilisk & MacOS X's windowing (Quartz): Basilisk _RGB ARGB Quartz RGB_ RGBA ---- ---- 0GB0 AGBA My current hack for this is to give Basilisk a bitmap pointer that is offset by 1, so that it draws into the correct channels. Incredibly, it works (I thought I would have word alignment problems). The correct fix for this would be to have another intermediate memory buffer, and either rotate each 32bit word before copying, or copy with my 1byte offset, but the emulator is slow enough already! Another problem is that the bitmap drawing classes do not currently support 16bit bitmaps. They support 1, 2, 4 and 8 bits per sample, but not 5 (for 555). The classes do adjust between source and screen depth however, so for now I am just using 32bit, and letting it be dithered or truncated. -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |