![]() Ld, automatically adds the _PAGEZERO segment to all executables. Under Darwin the static object file linker, Some of these will create the initial memory In a Mach-O executable there will be numerous loader commands It is the job of the loader to create the initial memory map of anĮxecutable. Under Mach there is very little assumed about the memory map of objectįiles. My initial thought was that somehow the handler wasn't being installed, but a couple debug printfs in the handler showed that not only was the handler being triggered, it was actually passing the segfault along to the system handler apparently on purpose.Ī partial explanation appears in the Darwin (Mac OS X) port: ![]() In the source code, for all supported platforms, SheepShaver (and Basilisk II, a 68K emulator it shares substantial code with) has a SIGSEGV handler for trapping segmentation faults here is BeOS's. It looks like it's wrapped around the entire addressing space back to 0! How did this program even work? The offending instruction was an stbu (store byte with update), but the effective address was. The BeOS debugger isn't gdb, but you get the idea. I had never closely looked at it in a debugger. it started up! What could have restored it, I feverishly wondered? Did something monkey around with the memory map? (Foreshadowing music plays here.) It only ran the one time, however, and I spent hours trying to retrace my steps to see if I could make it work again and I never could.īut this at least told me that the install was fine and the problem lay elsewhere. But while I was doing other work on the machine, after a game of BeOS Doom I accidentally double clicked on its icon on the desktop and. My original theory was that I had somehow broken something in the update or some other installation, and so I never did much with it (especially since I have plenty of real Power Macs around here). It existed first on BeOS as a paid product before becoming open source, though multiple later forks fix various problems on modern platforms. In fact, SheepShaver on Leopard is pretty much the best way to run Classic applications on Power Macs that must run Leopard, though it also runs on Tiger and presents certain advantages there as well. SheepShaver is a desperate pun and an unusual emulator: much like Classic on PowerPC Mac OS X, on big-endian PowerPC most of the MacOS and its applications run natively on the processor, in a form analogous to KVM-PR. ![]() ![]() (It can actually take up to 1GB, I later learned.) Nice, I said! And then SheepShaver never worked again. While Be only officially supported 256MB of RAM, I was blissfully ignorant of that, bought an additional 256MB of memory in four equally sized 72-pin SIMMs and installed it for 288MB of RAM. When I first got my 133MHz BeBox (not new, sadly), it had "only" 32MB of memory and it had four more SIMM slots to fill. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |