Hmmh... got somehow to look into the Ptch resources (apparently one needs put '>' character before the resource name in MacNosy).
The main resources are (again, I have limited knowledge of how extensions work, so please feel free to correct me if I'm wrong) INIT which is executed by the OS and Ptch which contains the accelerator specific data. DRVR resources seems to implement some sort of default functions, which I assume to be irrelevant. The other resources are texts, icons and picts.
13 resource types, data index = 100
Type INIT att indx length
ID 128 10 0 D4
Type DRVR att indx length
ID 128 50 D8 1CA8 .Accel_604_Sonnet_Crescendo
Type Ptch att indx length
ID 128 10 1D84 2220 Main
ID 129 50 3FA8 3A8
ID 130 50 4354 18E0
ID 131 50 5C38 C8
ID 132 50 5D04 1C
The main INIT resource is:
0: QUAL INIT128 ; b# =1 s#1 =proc1
0: 4E56 0000 'NV..' INIT128 LINK A6,#0
4: 48E7 3C20 'H.< ' MOVEM.L D2-D5/A2,-(A7)
8: 7A00 'z.' MOVEQ #0,D5
A: 41FA 00BC 10000C8 lab_1 LEA data1,A0 ; len= 12
E: 2005 ' .' MOVE.L D5,D0
10: E588 '..' LSL.L #2,D0
12: 2230 0800 '"0..' MOVE.L 0(A0,D0.L),D1
16: 676E 1000086 BEQ.S lab_7
18: 558F 'U.' SUBQ.L #2,A7
1A: 2F01 '/.' PUSH.L D1
1C: A80D '..' _Count1Resources ; (theType:ResType):INTEGER
1E: 381F '8.' POP D4
20: 4243 'BC' CLR D3
22: 605A 100007E BRA.S lab_6
24: 598F 'Y.' lab_2 SUBQ.L #4,A7
26: 41FA 00A0 10000C8 LEA data1,A0 ; len= 12
2A: 2005 ' .' MOVE.L D5,D0
2C: E588 '..' LSL.L #2,D0
2E: 2F30 0800 '/0..' PUSH.L 0(A0,D0.L)
32: 3003 '0.' MOVE D3,D0
34: 5240 'R@' ADDQ #1,D0
36: 3F00 '?.' PUSH D0
38: A80E '..' _Get1IxResource ; (theType:ResType; index:INTEGER):Handle
3A: 245F '$_' POP.L A2
3C: 2252 '"R' MOVEA.L (A2),A1
3E: 0C91 534E 4E54 '..SNNT' CMPI.L #'SNNT',(A1)
44: 662E 1000074 BNE.S lab_5
46: 204A ' J' MOVEA.L A2,A0
48: A04A '.J' _HNoPurge ; (A0/h:Handle)
4A: 204A ' J' MOVEA.L A2,A0
4C: A025 '.%' _GetHandleSize ; (A0/h:Handle):D0\Size
4E: 2400 '$.' MOVE.L D0,D2
50: 2252 '"R' MOVEA.L (A2),A1
52: 2011 ' .' MOVE.L (A1),D0
54: E68A '..' LSR.L #3,D2
56: 6018 1000070 BRA.S lab_4
58: D0A9 0004 '....' lab_3 ADD.L 4(A1),D0
5C: 0A80 1234 5678 '...4Vx' EORI.L #$12345678,D0
62: 22C0 '".' MOVE.L D0,(A1)+
64: D0A9 0004 '....' ADD.L 4(A1),D0
68: 0A80 1234 5678 '...4Vx' EORI.L #$12345678,D0
6E: 22C0 '".' MOVE.L D0,(A1)+
70: 51CA FFE6 1000058 lab_4 DBRA D2,lab_3
74: 204A ' J' lab_5 MOVEA.L A2,A0
76: A02A '.*' _HUnLock ; (A0/h:Handle)
78: 204A ' J' MOVEA.L A2,A0
7A: A029 '.)' _HLock ; (A0/h:Handle)
7C: 5243 'RC' ADDQ #1,D3
7E: B644 '.D' lab_6 CMP.W D4,D3
80: 65A2 1000024 BLO lab_2
82: 5285 'R.' ADDQ.L #1,D5
84: 6084 100000A BRA lab_1
86: 598F 'Y.' lab_7 SUBQ.L #4,A7
88: 2F3C 5074 6368 '/<Ptch' PUSH.L #'Ptch'
8E: 3F3C 0080 '?<..' PUSH #$80
92: A81F '..' _Get1Resource ; (theType:ResType; ID:INTEGER):Handle
94: 245F '$_' POP.L A2
96: 204A ' J' MOVEA.L A2,A0
98: A029 '.)' _HLock ; (A0/h:Handle)
9A: 303C A09F '0<..' MOVE #$A09F,D0 ; Power
9E: A346 '.F' _GetTrapAddress newOS; (D0/trapNum:Word):A0\ProcPtr
A0: 2F08 '/.' PUSH.L A0
A2: 303C A198 '0<..' MOVE #$A198,D0 ; HWPriv
A6: A346 '.F' _GetTrapAddress newOS; (D0/trapNum:Word):A0\ProcPtr
A8: B1DF '..' CMPA.L (A7)+,A0
AA: 6704 10000B0 BEQ.S lab_8
AC: 7001 'p.' MOVEQ #1,D0
AE: A098 '..' _HWPriv
B0: 2012 ' .' lab_8 MOVE.L (A2),D0
B2: A055 '.U' _StripAddress ; (D0/theAddress:HLongInt):D0\HLongInt
B4: 2040 ' @' MOVEA.L D0,A0
B6: 4E90 'N.' JSR (A0)
B8: 204A ' J' MOVEA.L A2,A0
BA: A02A '.*' _HUnLock ; (A0/h:Handle)
BC: 2F0A '/.' PUSH.L A2
BE: A9A3 '..' _ReleaseResource ; (theResource:Handle)
C0: 4CDF 043C 'L..<' MOVEM.L (A7)+,D2-D5/A2
C4: 4E5E 'N^' UNLK A6
C6: 4E75 'Nu' RTS
;-refs - INIT128
C8: 'PtchDRVR....' data1 DC.W $5074,$6368,$4452,$5652,0,0
I would assume it to determine if an accelerator is present, based on the found accelerator load the correct patch into memory and then execute that(?). So to further understand what the code does, all the memory writes (Ptch 128 and 131) should be decompiled as well.
Ptch 129, 130 and 132 are already executable code:
0: QUAL Ptch129 ; b# =1 s#1 =proc1
0: 534E 'SN' Ptch129 SUBQ #1,A6
2: 4E54 050C 'NT..' LINK A4,#$50C
6: E105 '..' ASL.B #8,D5
8: data1 EQU *-1
8: 17E1 B6FD 1000007 MOVE.B -(A1),data1(A3.W*8)
C• F1DD '..' ILL*
0: QUAL Ptch130 ; b# =1 s#1 =proc1
0: 534E 'SN' Ptch130 SUBQ #1,A6
2: 4E54 050C 'NT..' LINK A4,#$50C
6: E105 '..' ASL.B #8,D5
8: data1 EQU *-1
8: 17E1 B6FD 1000007 MOVE.B -(A1),data1(A3.W*8)
C• F1DD '..' ILL*
0: QUAL Ptch132 ; b# =1 s#1 =proc1
param2 VEQU 8
param1 VEQU 16
0: VEND
0: 6004 1000006 Ptch132 BRA.S lab_1
;-refs - Ptch132
2: '....' data1 DC.W 0,0
6: 4E56 FFFC 'NV..' lab_1 LINK A6,#-4
A: 206E 0008 2000008 MOVEA.L param2(A6),A0
E: 20BA FFF2 1000002 MOVE.L data1,(A0)
12: 426E 0010 2000010 CLR param1(A6)
16: 4E5E 'N^' UNLK A6
18: 4E74 0008 'Nt..' RTD #8