Repository navigation
Expand file tree
/
Copy pathnet_routines
More file actions
212 lines (192 loc) · 4.75 KB
/
Copy pathnet_routines
File metadata and controls
212 lines (192 loc) · 4.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
*********************************************************
* *
* NET_ROUTINES net_routines *
* *
*********************************************************
L05478 BTST #$04,$00A0(A6)
BNE.S L0549A
LEA $00018020,A3
LEA -$001E(A3),A2
MOVEQ #$18,D0
JSR L00420
NOP * !!! to conform asm - leave it out !!!
ORI.W #$0700,SR
MOVEQ #$00,D7
RTS
L0549A ADDQ.W #4,A7
MOVEQ #-$01,D0
BRA L055A8
L054A2 MOVEM.L D4-D7,-(A7)
CLR.W $001C(A0)
BSR.S L05478
L054AC MOVE.W #$16E2,D4
L054B0 MOVE.W #$01B5,D0
L054B4 BTST D7,(A3)
BEQ.S L054BE
DBF D4,L054B0
BRA.S L05532
L054BE DBF D0,L054B4
MOVE.W #$0C34,D0
L054C6 BTST D7,(A3)
BNE.S L054D0
DBF D0,L054C6
BRA.S L05532
L054D0 MOVE.W #$00DA,D0
L054D4 DBF D0,L054D4
LEA $0020(A0),A1
MOVEQ #$08,D1
BSR L055B4
BLT.S L054AC
SUB.B -(A1),D3
CMP.B (A1),D3
BNE.S L054AC
SUBQ.W #7,A1
MOVE.W $0018(A0),D3
ROR.W #8,D3
TST.B D3
BEQ.S L05500
CMP.B $0019(A0),D3
BEQ.S L05500
CMP.W (A1),D3
BRA.S L05504
L05500 DC.L $B6290000 * ½ CMP.B $0000(A1),D3
* !!! ABOVE INSERTED 'CAUSE ASM COMPILES SHORT (CORRECT) TO:
* CMP.B (A1),D3 - 2 BYTES LESS AND FASTER - CHANGE IT !!!
L05504 BNE.S L05532
MOVE.W $0002(A1),D6
SUB.W $001A(A0),D6
BNE.S L05516
MOVE.L $0004(A1),$001C(A0)
L05516 BSR L0563A
MOVE.B $001D(A0),D1
BSR L055B4
BNE.S L05532
CMP.B $001E(A0),D3
BNE.S L05532
BSR L0563A
TST.W D6
BEQ.S L05592
L05532 CLR.W $001C(A0)
BRA.S L055A0
L05538 MOVEM.L D4-D7,-(A7)
BSR L05478
MOVE.B $001D(A0),D1
MOVEQ #$00,D3
LEA $0020(A0),A1
L0554A ADD.B (A1)+,D3
SUBQ.B #1,D1
BNE.S L0554A
MOVE.B D3,$001E(A0)
MOVEQ #$07,D1
MOVEQ #$00,D3
LEA $0018(A0),A1
L0555C ADD.B (A1)+,D3
SUBQ.B #1,D1
BNE.S L0555C
MOVE.B D3,(A1)
SUBQ.W #7,A1
BSR L055F2
BNE.S L055A2
MOVEQ #$08,D1
MOVEQ #$01,D5
L05570 BSR L05648
MOVEQ #$01,D1
LEA $001F(A0),A1
BSR.S L055B4
BEQ.S L05586
TST.B $0018(A0)
BNE.S L055A0
MOVEQ #$01,D3
L05586 SUBQ.B #1,D3
BNE.S L055A0
MOVE.B $001D(A0),D1
DBF D5,L05570
L05592 ADDQ.B #1,$001A(A0)
BCC.S L0559C
ADDQ.B #1,$001B(A0)
L0559C MOVEQ #$00,D0
BRA.S L055A2
L055A0 MOVEQ #-$01,D0
L055A2 JSR L00452
NOP * !!! to conform asm - leave it out !!!
L055A8 ANDI.W #$F8FF,SR
MOVEM.L (A7)+,D4-D7
TST.L D0
RTS
L055B4 MOVE.W #$018F,D0
MOVEQ #$00,D3
L055BA BTST D7,(A3)
BEQ.S L055C0
BRA.S L055C6
L055C0 DBF D0,L055BA
BRA.S L055EE
L055C6 MOVEQ #$46,D0
L055C8 BTST D7,(A3)
DBEQ D4,L055C8
BNE.S L055EE
MOVEQ #$07,D4
MOVEQ #$13,D0
L055D4 ROR.B D0,D7
MOVE.B (A3),D0
ROXR.B #1,D0
ROXR.B #1,D2
MOVEQ #$06,D0
DBF D4,L055D4
MOVE.B D2,(A1)+
ADD.B D2,D3
SUBQ.B #1,D1
BNE.S L055C6
L055EA MOVEQ #$00,D0
RTS
L055EE MOVEQ #-$01,D0
RTS
L055F2 MOVEQ #$73,D0
MULU $002E(A6),D0
MOVE.W D0,$002E(A6)
EXT.W D0
ADDI.W #$0297,D0
L05602 BTST D7,(A3)
BNE.S L055EE
DBF D0,L05602
MOVE.B $0019(A0),D4
NOT.B D4
MOVE.B $00A0(A6),D2
MOVEQ #$09,D1
L05616 LSL.B #1,D4
ROL.B #1,D2
ROXR.B #1,D2
MOVE.B D2,(A2)
BMI.S L0562E
MOVEQ #$05,D0
L05622 BTST D7,(A3)
BEQ.S L05628
BRA.S L055EE
L05628 DBF D0,L05622
BRA.S L05634
L0562E MOVEQ #$10,D0
L05630 DBF D0,L05630
L05634 DBF D1,L05616
L05638 BRA.S L055EA
L0563A TST.B $0018(A0)
BEQ.S L055EA
MOVEQ #$01,D1
MOVE.W #$FF01,D4
BRA.S L0564C
L05648 MOVEQ #-$01,D4
L0564A MOVE.B (A1)+,D4
L0564C LSL.W #1,D4
ROL.W #2,D4
MOVEQ #$0C,D3
MOVE.B $00A0(A6),D0
L05656 ASR.W #1,D4
ROL.B #1,D0
ROXR.B #1,D0
MOVEQ #$00,D7
MOVE.B D0,(A2)
SUBQ.W #1,D3
BGE.S L05656
SUBQ.B #1,D1
BNE.S L0564A
MOVE.B $00A0(A6),(A2)
BRA.S L05638
****** END NET_ROUTINES net_routines