Incorrect emulation of PowerPC "twi" trap opcode o

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Post Reply
fgf
Space Cadet
Posts: 1
Joined: Thu May 28, 2009 11:25 pm

Incorrect emulation of PowerPC "twi" trap opcode o

Post by fgf »

Incorrect emulation of PowerPC "twi" trap opcode on Intel Mac
(in SheepShaver_UB_09_10_25 on Intel )

Summary:

The PowerPC "twi" trap instruction is used by CodeWarrior to implement
"range checking".

In correctly functioning code it should never trigger a trap exception;
however under SheepShaver (UB_09_10_25) it always triggers.

Conclusion: SheepShaver's emulation of the PowerPC "twi" opcode is
incorrect.


The following simple Pascal test program demonstrates this issue:

Program SS_Trap_Test;
VAR
i: integer;
ar_1 : array [0..255] of integer;
BEGIN
for i := 11 to 250 do
ar_1 := i;
END.

Range checking should check that the index into the array is
within 0..255.

This program was compiled (Metrowerks CodeWarrior 8) in two versions:

without Range Checking --> Trap_Test_No_RangeTest
with Range Checking --> Trap_Test_With_RangeTest

Both versions run without difficulty under Mac OS X 10.3.9 on a G4.

However, when running under SheepShaver on an Intel iMac, OS X 10.5.8:

The first executes without difficulty
the second always crashes with a Console message of
"Illegal instruction at 4a5f772c, opcode = 0d0000ff "

The Console Log and the Crash Report are appended at the end of this
report. However, I think the problem can be more directly diagnosed
by examining the following compiled test code. Note that "extended
mnemonics" were enabled in the disassembler, so that the base form
of twi 8,r0,255 is rendered as the easier to read twgti r0,255
i.e., "trap if r0 greater than #255".

========================================================
WITHOUT RANGE CHECKING
========================================================

Hunk: Kind=HUNK_SOURCE_BREAK Name="/SS_DEBUGS:Trap_Test:Trap_Test.p" ModDate=C7C313CA
Hunk: Kind=HUNK_GLOBAL_CODE Align=4 Class=PR Name=".main" Size=108

BEGIN { Main body of program SS_Trap_Test }

00000000: 93E1FFFC stw r31,-4(SP)
00000004: 93C1FFF8 stw r30,-8(SP)

00000008: 83C20000 lwz r30,ar_1(RTOC) {r30 ^ ar_1[0] }
0000000C: 83E20000 lwz r31,i(RTOC) {r31 ^ i }
for i := 11 to 250 do
00000010: 3800000B li r0,11
00000014: B01F0000 sth r0,0(r31)
00000018: 48000024 b *+36 ; $0000003C
ar_1 := i;

0000001C: A87F0000 lha r3,0(r31)
00000020: A81F0000 lha r0,0(r31)
00000024: 5400083C slwi r0,r0,1
00000028: 7C000734 extsh r0,r0
0000002C: 7C7E032E sthx r3,r30,r0
00000030: A87F0000 lha r3,0(r31)
00000034: 38030001 addi r0,r3,1
00000038: B01F0000 sth r0,0(r31)

0000003C: A81F0000 lha r0,0(r31)
00000040: 2C0000FA cmpwi r0,$00fa {loop exit test}
00000044: 4081FFD8 ble *-40 ; $0000001C
END.
00000048: 83E1FFFC lwz r31,-4(SP)
0000004C: 83C1FFF8 lwz r30,-8(SP)
00000050: 4E800020 blr

00000054: 00000000 dc.l $00000000 ; traceback table
00000058: 00022040 dc.l $00022040
0000005C: 00020000 dc.l $00020000
00000060: 00000054 dc.l $00000054
00000064: 00052E6D dc.l $00052E6D
00000068: 61696E00 dc.l $61696E00

XRef: Kind=HUNK_XREF_16BIT_IL Offset=$00000008 Class=TC Name="ar_1"
XRef: Kind=HUNK_XREF_16BIT_IL Offset=$0000000C Class=TC Name="i"
Hunk: Kind=HUNK_LOCAL_UDATA Align=2 Class=RW Name="ar_1" Size=512
Hunk: Kind=HUNK_LOCAL_UDATA Align=2 Class=TD Name="i" Size=2
Hunk: Kind=HUNK_LOCAL_IDATA Align=4 Class=TC Name="ar_1" Size=4
00000000: 00 00 00 00 '....'
XRef: Kind=HUNK_XREF_32BIT Offset=$00000000 Class=RW Name="ar_1"
Hunk: Kind=HUNK_LOCAL_IDATA Align=4 Class=TC Name="i" Size=4
00000000: 00 00 00 00 '....'
XRef: Kind=HUNK_XREF_32BIT Offset=$00000000 Class=RW Name="i"
Hunk: Kind=HUNK_GLOBAL_IDATA Align=4 Class=TC0 Name="TOC" Size=0
Hunk: Kind=HUNK_END


========================================================
WITH RANGE CHECKING ENABLED
========================================================
Hunk: Kind=HUNK_SOURCE_BREAK Name="/SS_DEBUGS:Trap_Test:Trap_Test.p" ModDate=C7C313CA
Hunk: Kind=HUNK_GLOBAL_CODE Align=4 Class=PR Name=".main" Size=140

BEGIN { Main body of program SS_Trap_Test }

00000000: 7C0802A6 mflr r0
00000004: 93E1FFFC stw r31,-4(SP)
00000008: 93C1FFF8 stw r30,-8(SP)
0000000C: 90010008 stw r0,8(SP)
00000010: 9421FFC0 stwu SP,-64(SP)

00000014: 83C20000 lwz r30,ar_1(RTOC) {r30 ^ ar_1[0] }
00000018: 83E20000 lwz r31,i(RTOC) {r31 ^ i }
for i := 11 to 250 do
0000001C: 3800000B li r0,11
00000020: B01F0000 sth r0,0(r31)
00000024: 4800002C b *+44 ; $00000050
ar_1 := i;

00000028: A87F0000 lha r3,0(r31)
0000002C: A81F0000 lha r0,0(r31)
00000030: 0D0000FF twgti r0,255 {*** NOTE TWI trap instruction }
00000034: 7C000734 extsh r0,r0
00000038: 5400083C slwi r0,r0,1
0000003C: 7C000734 extsh r0,r0
00000040: 7C7E032E sthx r3,r30,r0
00000044: A87F0000 lha r3,0(r31)
00000048: 38030001 addi r0,r3,1
0000004C: B01F0000 sth r0,0(r31)

00000050: A81F0000 lha r0,0(r31)
00000054: 2C0000FA cmpwi r0,$00fa {loop exit test}
00000058: 4081FFD0 ble *-48 ; $00000028
END.
0000005C: 80010048 lwz r0,72(SP)
00000060: 38210040 addi SP,SP,64
00000064: 7C0803A6 mtlr r0
00000068: 83E1FFFC lwz r31,-4(SP)
0000006C: 83C1FFF8 lwz r30,-8(SP)
00000070: 4E800020 blr

00000074: 00000000 dc.l $00000000 ; traceback table
00000078: 00022041 dc.l $00022041
0000007C: 80020000 dc.l $80020000
00000080: 00000074 dc.l $00000074
00000084: 00052E6D dc.l $00052E6D
00000088: 61696E00 dc.l $61696E00

XRef: Kind=HUNK_XREF_16BIT_IL Offset=$00000014 Class=TC Name="ar_1"
XRef: Kind=HUNK_XREF_16BIT_IL Offset=$00000018 Class=TC Name="i"
Hunk: Kind=HUNK_LOCAL_UDATA Align=2 Class=RW Name="ar_1" Size=512
Hunk: Kind=HUNK_LOCAL_UDATA Align=2 Class=TD Name="i" Size=2
Hunk: Kind=HUNK_LOCAL_IDATA Align=4 Class=TC Name="ar_1" Size=4
00000000: 00 00 00 00 '....'
XRef: Kind=HUNK_XREF_32BIT Offset=$00000000 Class=RW Name="ar_1"
Hunk: Kind=HUNK_LOCAL_IDATA Align=4 Class=TC Name="i" Size=4
00000000: 00 00 00 00 '....'
XRef: Kind=HUNK_XREF_32BIT Offset=$00000000 Class=RW Name="i"
Hunk: Kind=HUNK_GLOBAL_IDATA Align=4 Class=TC0 Name="TOC" Size=0
Hunk: Kind=HUNK_END

The range limits are 0..255 and at 00000030: twgti r0,255 is checking
r0 to trigger a trap exception if it exceeds 255.
The loop is running r0 from 11 to 250, thus should never trap, yet it does...

Conclusion: SheepShaver's Intel emulation of "twi" is incorrect.



========================================================
CONSOLE LOG REPORT
========================================================
3/14/10 10:51:22 PM [0x0-0x29029].SheepShaver_UB_09_10_25[326] SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
3/14/10 10:51:22 PM [0x0-0x29029].SheepShaver_UB_09_10_25[326] Reading ROM file...
3/14/10 10:51:22 PM [0x0-0x29029].SheepShaver_UB_09_10_25[326] Using SDL/coreaudio audio output
3/14/10 10:51:22 PM [0x0-0x29029].SheepShaver_UB_09_10_25[326] Detected CPU features: MMX SSE SSE2 SSE3
3/14/10 10:51:22 PM [0x0-0x29029].SheepShaver_UB_09_10_25[326] PowerPC CPU emulator by Gwenole Beauchesne
3/14/10 10:51:22 PM [0x0-0x29029].SheepShaver_UB_09_10_25[326] WARNING: Unknown DiskStatus(6)
3/14/10 10:51:22 PM [0x0-0x29029].SheepShaver_UB_09_10_25[326] WARNING: Unknown DiskStatus(6)
3/14/10 10:52:30 PM /Users/garth/SheepShaver/SheepShaver_UB_09_10_25.app/Contents/MacOS/SheepShaver[334] CPSGetCurrentProcess(): This call is deprecated and should not be called anymore.
3/14/10 10:52:30 PM /Users/garth/SheepShaver/SheepShaver_UB_09_10_25.app/Contents/MacOS/SheepShaver[334] CPSSetForegroundOperationState(): This call is deprecated and should not be called anymore.
3/14/10 10:52:30 PM SheepShaver[334] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
3/14/10 10:52:30 PM SheepShaver[334] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.

3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] Illegal instruction at 4a5f772c, opcode = 0d0000ff

3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] Reading ROM file...
3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] Using SDL/coreaudio audio output
3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] Detected CPU features: MMX SSE SSE2 SSE3
3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] PowerPC CPU emulator by Gwenole Beauchesne
3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] WARNING: Unknown DiskStatus(6)
3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] WARNING: Unknown DiskStatus(6)
3/14/10 10:55:20 PM [0x0-0x2a02a].SheepShaver_UB_09_10_25[334] WARNING: Unknown DiskStatus(6)
3/14/10 10:55:23 PM ReportCrash[340] Formulating crash report for process SheepShaver[334]
3/14/10 10:55:23 PM ReportCrash[340] Formulating crash report for process SheepShaver[334]
3/14/10 10:55:25 PM ReportCrash[340] Saved crashreport to /Users/garth/Library/Logs/CrashReporter/SheepShaver_2010-03-14-225520_iMac-Leopard.crash using uid: 501 gid: 20, euid: 501 egid: 20
3/14/10 10:55:25 PM ReportCrash[340] Failed to write crash dictionary to '/Users/garth/Library/Application Support/CrashReporter/UserCrashHistory_00000000-0000-1000-8000-0016CB85B3C0.plist'. Error: 2 No such file or directory [1]
3/14/10 10:55:24 PM com.apple.launchd[119] ([0x0-0x2a02a].SheepShaver_UB_09_10_25[334]) Exited abnormally: Abort trap
3/14/10 10:55:24 PM com.apple.launchd[119] ([0x0-0x2a02a].SheepShaver_UB_09_10_25[334]) Exited abnormally: Abort trap
3/14/10 10:55:29 PM ReportCrash[340] Failed to write crash dictionary to '/Users/garth/Library/Application Support/CrashReporter/UserCrashHistory_00000000-0000-1000-8000-0016CB85B3C0.plist'. Error: 2 No such file or directory [1]


========================================================
CRASH REPORT
========================================================
Process: SheepShaver [334]
Path: /Users/garth/SheepShaver/SheepShaver_UB_09_10_25.app/Contents/MacOS/SheepShaver
Identifier: SheepShaver
Version: 2.3.20091025 (???)
Code Type: X86 (Native)
Parent Process: launchd [119]

Interval Since Last Report: 325742 sec
Crashes Since Last Report: 1
Per-App Interval Since Last Report: 0 sec
Per-App Crashes Since Last Report: 1

Date/Time: 2010-03-14 22:55:20.919 -0400
OS Version: Mac OS X 10.5.8 (9L30)
Report Version: 6
Anonymous UUID: D31171AD-1BA7-4447-BDB9-C1040EC81F77

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0

Thread 0 Crashed:
0 libSystem.B.dylib 0x92b60e42 __kill + 10
1 libSystem.B.dylib 0x92bd323a raise + 26
2 libSystem.B.dylib 0x92bdf679 abort + 73
3 SheepShaver 0x78091fd7 powerpc_cpu::execute_illegal(unsigned int) + 87
4 ??? 0x4dd41670 0 + 1305745008

Thread 1:
0 libSystem.B.dylib 0x92af3286 mach_msg_trap + 10
1 libSystem.B.dylib 0x92afaa7c mach_msg + 72
2 SheepShaver 0x78068661 vm_get_page_size() + 193
3 libSystem.B.dylib 0x92b24155 _pthread_start + 321
4 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 2:
0 libSystem.B.dylib 0x92af3286 mach_msg_trap + 10
1 libSystem.B.dylib 0x92afaa7c mach_msg + 72
2 com.apple.CoreFoundation 0x96020e7e CFRunLoopRunSpecific + 1790
3 com.apple.CoreFoundation 0x96021b04 CFRunLoopRun + 84
4 SheepShaver 0x78074c62 DarwinSysExit() + 818
5 libSystem.B.dylib 0x92b24155 _pthread_start + 321
6 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 3:
0 libSystem.B.dylib 0x92af3286 mach_msg_trap + 10
1 libSystem.B.dylib 0x92afaa7c mach_msg + 72
2 com.apple.CoreFoundation 0x96020e7e CFRunLoopRunSpecific + 1790
3 com.apple.CoreFoundation 0x96021aa8 CFRunLoopRunInMode + 88
4 com.apple.audio.CoreAudio 0x907565f8 HALRunLoop::OwnThread(void*) + 160
5 com.apple.audio.CoreAudio 0x90756480 CAPThread::Entry(CAPThread*) + 96
6 libSystem.B.dylib 0x92b24155 _pthread_start + 321
7 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 4:
0 libSystem.B.dylib 0x92af32e6 semaphore_timedwait_signal_trap + 10
1 libSystem.B.dylib 0x92b252af _pthread_cond_wait + 1244
2 libSystem.B.dylib 0x92b26b33 pthread_cond_timedwait_relative_np + 47
3 com.apple.audio.CoreAudio 0x90765bdf CAGuard::WaitFor(unsigned long long) + 213
4 com.apple.audio.CoreAudio 0x9076779a CAGuard::WaitUntil(unsigned long long) + 70
5 com.apple.audio.CoreAudio 0x90765f3f HP_IOThread::WorkLoop() + 759
6 com.apple.audio.CoreAudio 0x90765c43 HP_IOThread::ThreadEntry(HP_IOThread*) + 17
7 com.apple.audio.CoreAudio 0x90756480 CAPThread::Entry(CAPThread*) + 96
8 libSystem.B.dylib 0x92b24155 _pthread_start + 321
9 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 5:
0 libSystem.B.dylib 0x92b2a3ca select$DARWIN_EXTSN$NOCANCEL + 10
1 SheepShaver 0x78073605 slirp_output + 725
2 libSystem.B.dylib 0x92b24155 _pthread_start + 321
3 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 6:
0 libSystem.B.dylib 0x92b2a3ca select$DARWIN_EXTSN$NOCANCEL + 10
1 SheepShaver 0x7807353a slirp_output + 522
2 libSystem.B.dylib 0x92b24155 _pthread_start + 321
3 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 7:
0 libSystem.B.dylib 0x92af33a6 mach_wait_until + 10
1 libSystem.B.dylib 0x92b6a3ad nanosleep + 314
2 SheepShaver 0x78058133 Delay_usec(unsigned int) + 67
3 SheepShaver 0x7806e7f0 VideoInit() + 1856
4 SheepShaver 0x780ba0fd SDL_iconv_string + 957
5 SheepShaver 0x780ff891 SDL_UnloadObject + 125393
6 libSystem.B.dylib 0x92b24155 _pthread_start + 321
7 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 8:
0 libSystem.B.dylib 0x92af33a6 mach_wait_until + 10
1 libSystem.B.dylib 0x92b6a3ad nanosleep + 314
2 SheepShaver 0x78058133 Delay_usec(unsigned int) + 67
3 SheepShaver 0x7804a6c8 EnableInterrupt() + 120
4 libSystem.B.dylib 0x92b24155 _pthread_start + 321
5 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 9:
0 libSystem.B.dylib 0x92af33a6 mach_wait_until + 10
1 libSystem.B.dylib 0x92b6a3ad nanosleep + 314
2 SheepShaver 0x78058133 Delay_usec(unsigned int) + 67
3 SheepShaver 0x7804a41d MakeExecutable(int, unsigned int, unsigned int) + 109
4 libSystem.B.dylib 0x92b24155 _pthread_start + 321
5 libSystem.B.dylib 0x92b24012 thread_start + 34

Thread 0 crashed with X86 Thread State (32-bit):
eax: 0x00000000 ebx: 0x92bdf639 ecx: 0xbfffe92c edx: 0x92b60e42
edi: 0x4d5f381c esi: 0x4a5fc5d0 ebp: 0xbfffe948 esp: 0xbfffe92c
ss: 0x0000001f efl: 0x00000286 eip: 0x92b60e42 cs: 0x00000007
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
cr2: 0xffe172a4

Binary Images:
0xf6000 - 0xf9fff com.apple.audio.AudioIPCPlugIn 1.0.6 (1.0.6) <51c811377017028f8904ad779e6a1344> /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn
0x48e000 - 0x494fff com.apple.audio.AppleHDAHALPlugIn 1.7.1 (1.7.1a2) <a0a4389b5ac52ab84397d2b25c9d3b9c> /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn
0x4c39e000 - 0x4c5a5fef com.apple.RawCamera.bundle 2.1.1 (508) <2598b38224411e6865888bcc9b96acc8> /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
0x70000000 - 0x700e6ff2 com.apple.audio.units.Components 1.5.2 (1.5.2) /System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio
0x78048000 - 0x7812efef +SheepShaver 2.3.20091025 (???) <60cbd7d82b7df454a18efa4cef8b4342> /Users/garth/SheepShaver/SheepShaver_UB_09_10_25.app/Contents/MacOS/SheepShaver
0x8fe00000 - 0x8fe2db43 dyld 97.1 (???) <458eed38a009e5658a79579e7bc26603> /usr/lib/dyld
0x90020000 - 0x90069fef com.apple.Metadata 10.5.8 (398.26) <e4d268ea45379200f03cdc7c8bedae6f> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x9010e000 - 0x901efff7 libxml2.2.dylib ??? (???) <b3bc0b280c36aa17ac477b4da56cd038> /usr/lib/libxml2.2.dylib
0x901f0000 - 0x901f0fff com.apple.Carbon 136 (136) <a668670c206841fdcb893bfacddfd4b9> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x901f1000 - 0x90215fff libxslt.1.dylib ??? (???) <ec4c269815bab8e7211cb8fe9df3a9a3> /usr/lib/libxslt.1.dylib
0x90216000 - 0x9022bffb com.apple.ImageCapture 5.0.2 (5.0.2) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x9022f000 - 0x905ccfef com.apple.QuartzCore 1.5.8 (1.5.8) <a28fa54346a9f9d5b3bef076a1ee0fcf> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x90619000 - 0x90676ffb libstdc++.6.dylib ??? (???) <04b812dcec670daa8b7d2852ab14be60> /usr/lib/libstdc++.6.dylib
0x90677000 - 0x906b9fef com.apple.NavigationServices 3.5.2 (163) <26eeb5a205f749aad83d5dac0330c41f> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
0x906ba000 - 0x906c3fff com.apple.speech.recognition.framework 3.7.24 (3.7.24) <17537dd39882e07142db9e5c2db170b8> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x90738000 - 0x90738ff8 com.apple.ApplicationServices 34 (34) <8f910fa65f01d401ad8d04cc933cf887> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x90739000 - 0x907b6feb com.apple.audio.CoreAudio 3.1.2 (3.1.2) <782a08c44be4698597f4bbd79cac21c6> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x91092000 - 0x910b0fff libresolv.9.dylib ??? (???) <36c871d5da9b49bb5bcf0449833d1dc5> /usr/lib/libresolv.9.dylib
0x910b1000 - 0x9110dff7 com.apple.htmlrendering 68 (1.1.3) <fe87a9dede38db00e6c8949942c6bd4f> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
0x9110e000 - 0x91136ff7 com.apple.shortcut 1.0.1 (1.0) <131202e7766e327d02d55c0f5fc44ad7> /System/Library/PrivateFrameworks/Shortcut.framework/Versions/A/Shortcut
0x91137000 - 0x911c4ff7 com.apple.framework.IOKit 1.5.2 (???) <7a3cc24f78f93931731203854ae0d891> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x911c5000 - 0x91696fbe libGLProgrammability.dylib ??? (???) <7f18294a7bd0b6afe4319f29187fc70d> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
0x91697000 - 0x9175eff2 com.apple.vImage 3.0 (3.0) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x9175f000 - 0x9176bff9 com.apple.helpdata 1.0.1 (14.2) /System/Library/PrivateFrameworks/HelpData.framework/Versions/A/HelpData
0x91771000 - 0x91790ffa libJPEG.dylib ??? (???) <37050c2a8d6f7026c94b4bf07c4d8a80> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x918f5000 - 0x9190bfff com.apple.DictionaryServices 1.0.0 (1.0.0) <ad0aa0252e3323d182e17f50defe56fc> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x9195b000 - 0x919eeff3 com.apple.ApplicationServices.ATS 3.8 (???) <eda9db16110de6b7fd9436cd0daa787d> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x919ef000 - 0x91cc9ff3 com.apple.CoreServices.CarbonCore 786.11 (786.14) <d5cceb2fe9551d345d40dd1ecf409ec2> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x91d27000 - 0x91d80ff7 libGLU.dylib ??? (???) <a3b9be30100a25a6cd3ad109892f52b7> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x91fea000 - 0x92071ff7 libsqlite3.0.dylib ??? (???) <3334ea5af7a911637413334154bb4100> /usr/lib/libsqlite3.0.dylib
0x9213c000 - 0x92154fff com.apple.openscripting 1.2.8 (???) <54ab21172b8b3caa601dde44872a9c0d> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x92155000 - 0x92180fe7 libauto.dylib ??? (???) <a64961ed20db64f0f439bfbc6f962bf9> /usr/lib/libauto.dylib
0x92322000 - 0x92327fff com.apple.CommonPanels 1.2.4 (85) <ea0665f57cd267609466ed8b2b20e893> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x92761000 - 0x92763fff com.apple.securityhi 3.0 (30817) <8c9db9ce1626eff2aff002549fb58d7d> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x92764000 - 0x927b5ff7 com.apple.HIServices 1.7.1 (???) <ba7fd0ede540a0da08db027f87efbd60> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x927e9000 - 0x92af1fe7 com.apple.HIToolbox 1.5.6 (???) <eece3cb8aa0a4e6843fcc1500aca61c5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x92af2000 - 0x92c59ff3 libSystem.B.dylib ??? (???) <ae47ca9b1686b065f8ac4d2de09cc432> /usr/lib/libSystem.B.dylib
0x92c5a000 - 0x92ce4fe3 com.apple.DesktopServices 1.4.8 (1.4.8) <a6edef2d49ffdee3b01010b7e6edac1f> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x92ce5000 - 0x92d8cfec com.apple.CFNetwork 438.14 (438.14) <5f9ee0430b5f6319f18d9b23e777e0d2> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x92d8d000 - 0x92e3dfff edu.mit.Kerberos 6.0.13 (6.0.13) <804bd1b3f08fb57396781f012006367c> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x92e3e000 - 0x92e46fff com.apple.DiskArbitration 2.2.1 (2.2.1) <d97688958e0b1fdcd4747088bdf1962a> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x92e47000 - 0x92e4bfff libmathCommon.A.dylib ??? (???) /usr/lib/system/libmathCommon.A.dylib
0x92e4c000 - 0x92e64ff7 com.apple.CoreVideo 1.6.0 (20.0) <587c9c8966070a7d50276db35e1c76aa> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x92fb8000 - 0x93032ff8 com.apple.print.framework.PrintCore 5.5.4 (245.6) <03d0585059c20cb0bde5e000438c49e1> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x93087000 - 0x930c5fff libGLImage.dylib ??? (???) <a6425aeb77f4da13212ac75df57b056d> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x930c6000 - 0x930ccfff com.apple.print.framework.Print 218.0.3 (220.2) <5b7f4ef7c2df36aff9605377775781e4> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x930cd000 - 0x930d4ffe libbsm.dylib ??? (???) <d25c63378a5029648ffd4b4669be31bf> /usr/lib/libbsm.dylib
0x93125000 - 0x933a1fe7 com.apple.Foundation 6.5.9 (677.26) <c68b3cff7864959becfc7fd1a384f925> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x933a2000 - 0x933a2ffc com.apple.audio.units.AudioUnit 1.5 (1.5) /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x933af000 - 0x93442fff com.apple.ink.framework 101.3 (86) <bf3fa8927b4b8baae92381a976fd2079> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x93443000 - 0x93447fff libGIF.dylib ??? (???) <e7d550bda10018f52e61bb499dcf445f> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x93448000 - 0x93455fe7 com.apple.opengl 1.5.10 (1.5.10) <5a2813f80c9441170cc1ab8a3dac5038> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x93456000 - 0x93456ffa com.apple.CoreServices 32 (32) <2fcc8f3bd5bbfc000b476cad8e6a3dd2> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x93489000 - 0x935c2ff7 libicucore.A.dylib ??? (???) <f2819243b278259b9a622ea111ea5fd6> /usr/lib/libicucore.A.dylib
0x935d3000 - 0x937a4ff3 com.apple.security 5.0.6 (37592) <c7c68c3ba198b36d571d4b1e028a1a77> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x937a5000 - 0x937b3ffd libz.1.dylib ??? (???) <5ddd8539ae2ebfd8e7cc1c57525385c7> /usr/lib/libz.1.dylib
0x937ea000 - 0x93fe8fef com.apple.AppKit 6.5.9 (949.54) <4df5d2e2271175452103f789b4f4d8a8> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x94f3a000 - 0x94fc7ff7 com.apple.LaunchServices 292 (292) <a41286c7c1eb20ffd5cc796f791070f0> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x95010000 - 0x95336fe2 com.apple.QuickTime 7.6.4 (1327.73) <96515f6a2d628cd2105c7082295199b5> /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
0x9536a000 - 0x9536affd com.apple.vecLib 3.4.2 (vecLib 3.4.2) /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
0x9536b000 - 0x9577bfef libBLAS.dylib ??? (???) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x9577c000 - 0x95836fe3 com.apple.CoreServices.OSServices 228 (228) <bc83e97f6888673c33f86652677c09cb> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x95837000 - 0x95841feb com.apple.audio.SoundManager 3.9.2 (3.9.2) <0f2ba6e891d3761212cf5a5e6134d683> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
0x95842000 - 0x95852ffc com.apple.LangAnalysis 1.6.5 (1.6.5) <d057feb38163121ffd871c564c692804> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x95853000 - 0x9585aff7 libCGATS.A.dylib ??? (???) <1339abfb67318d65c0130f76bc8c4da6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGATS.A.dylib
0x9585b000 - 0x9589afef libTIFF.dylib ??? (???) <cd2e392973a1fa35f23a0f37f55c579c> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x9589b000 - 0x959e3ff7 com.apple.ImageIO.framework 2.0.7 (2.0.7) <cf45179ee2de2d46a6ced2ed147a454c> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x959e4000 - 0x95b36ff3 com.apple.audio.toolbox.AudioToolbox 1.5.3 (1.5.3) /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x95b38000 - 0x95b3ffe9 libgcc_s.1.dylib ??? (???) <f53c808e87d1184c0f9df63aef53ce0b> /usr/lib/libgcc_s.1.dylib
0x95b58000 - 0x95c38fff libobjc.A.dylib ??? (???) <bba0c22add60c7724e259ab28de8953e> /usr/lib/libobjc.A.dylib
0x95c39000 - 0x95ce0feb com.apple.QD 3.11.57 (???) <35f058678972d42b88ebdf652df79956> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x95d99000 - 0x95dd0fff com.apple.SystemConfiguration 1.9.2 (1.9.2) <cfd64ded4da1064ce316243fd425d5a4> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x95f8e000 - 0x95f8effb com.apple.installserver.framework 1.0 (8) /System/Library/PrivateFrameworks/InstallServer.framework/Versions/A/InstallServer
0x95f8f000 - 0x95f8fffd com.apple.Accelerate 1.4.2 (Accelerate 1.4.2) /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x95fae000 - 0x960e1fe7 com.apple.CoreFoundation 6.5.7 (476.19) <a332c8f45529ee26d2e9c36d0c723bad> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x96107000 - 0x96136fe3 com.apple.AE 402.3 (402.3) <b13bfda0ad9314922ee37c0d018d7de9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x96137000 - 0x96139ff5 libRadiance.dylib ??? (???) <3561a7a6405223a1737f41352f1fd8c8> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x9613a000 - 0x9613affd com.apple.Accelerate.vecLib 3.4.2 (vecLib 3.4.2) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x96178000 - 0x961a5feb libvDSP.dylib ??? (???) <e89461ed03200fb3c0304e62e14a42ed> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x961a6000 - 0x96846feb com.apple.CoreGraphics 1.409.5 (???) <a40644ccdbdc76e3a0ab4d468b2f9bdd> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x9684a000 - 0x9684dfff com.apple.help 1.1 (36) <b507b08e484cb89033e9cf23062d77de> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x9684e000 - 0x96936ff3 com.apple.CoreData 100.2 (186.2) <44df326fea0236718f5ed64084e82270> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x96937000 - 0x969e9ffb libcrypto.0.9.7.dylib ??? (???) <d02f7e5b8a68813bb7a77f5edb34ff9d> /usr/lib/libcrypto.0.9.7.dylib
0x96a21000 - 0x96a9efef libvMisc.dylib ??? (???) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x96a9f000 - 0x96b6afef com.apple.ColorSync 4.5.3 (4.5.3) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x96b6b000 - 0x96f29fea libLAPACK.dylib ??? (???) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x96f30000 - 0x96f40fff com.apple.speech.synthesis.framework 3.7.1 (3.7.1) <7bd1ec22c47e62a11b34d7ba66606e2e> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x96f82000 - 0x96fabfff libcups.2.dylib ??? (???) <a40b9403cc4a0dffefed110e1eab90c4> /usr/lib/libcups.2.dylib
0x96fac000 - 0x96fedfe7 libRIP.A.dylib ??? (???) <e9c5df8bd574b71e55ac60c910b929ce> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
0x96fee000 - 0x96feeff8 com.apple.Cocoa 6.5 (???) <e064f94d969ce25cb7de3cfb980c3249> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x97262000 - 0x97263ffc libffi.dylib ??? (???) <a3b573eb950ca583290f7b2b4c486d09> /usr/lib/libffi.dylib
0x97264000 - 0x9729efe7 com.apple.coreui 1.2 (62) /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x972fe000 - 0x9730affe libGL.dylib ??? (???) /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x973c3000 - 0x973dfff3 libPng.dylib ??? (???) <df60749fd50bcfa0da5b4cac899e09df> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x974d5000 - 0x9752fff7 com.apple.CoreText 2.0.4 (???) <f0b6c1d4f40bd21505097f0255abfead> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
0x97530000 - 0x975afff5 com.apple.SearchKit 1.2.2 (1.2.2) <3b5f3ab6a363a4d8a2bbbf74213ab0e5> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x975b0000 - 0x975bbfe7 libCSync.A.dylib ??? (???) <d88c20c9a2fd0676dec62fddfa74979f> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
0xfffe8000 - 0xfffebfff libobjc.A.dylib ??? (???) /usr/lib/libobjc.A.dylib
0xffff0000 - 0xffff1780 libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib
User avatar
Cat_7
Expert User
Posts: 5242
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Post by Cat_7 »

Hi,

Thanks for the bug report. Sadly SheepShaver is not really actively developed at the moment, so let's hope some developer see this and steps up to solve the issue.

Best,
Cat_7
Myrd
Granny Smith
Posts: 109
Joined: Mon Dec 25, 2006 4:09 am

Post by Myrd »

Can you post the compiled testcase program that demonstrates the issue under SheepShaver?
RyanA1992
Space Cadet
Posts: 4
Joined: Sun Feb 03, 2013 7:22 pm

Re: Incorrect emulation of PowerPC "twi" trap opcode o

Post by RyanA1992 »

So THIS is why Director 6 crashes SheepShaver running System 7.5.5. :sad:

Now, if only I could figure out just why Director 6 doesn't have sound on BasiliskII... :???:
kelvin31415
Tinkerer
Posts: 82
Joined: Sat Apr 12, 2008 8:22 pm

Re: Incorrect emulation of PowerPC "twi" trap opcode o

Post by kelvin31415 »

SheepShaver's PPC emulation entirely omits the twi opcode.
malicy
Student Driver
Posts: 11
Joined: Sun Jun 13, 2010 4:29 pm
Location: Brussels

Re: Incorrect emulation of PowerPC "twi" trap opcode o

Post by malicy »

Hi All,

i am also fighting for SS to play director 6.X applications...
see my post here with attempt in 9.0.4 and 8.1 :

http://www.emaculation.com/forum/viewto ... =20&t=8047

is this non emulated 'twi' opcode could be the cause?

how difficult would it be to add emulation for 'twi'? and more generally to some important not yet emulated PPC instructions?

best,
Post Reply