600 lines
9.3 KiB
Plaintext
600 lines
9.3 KiB
Plaintext
;; NOTE: this chip has the opcodes for sc/rc and coma/nega swapped,
|
|
;; compared to the other chips!
|
|
|
|
|
|
|
|
;; RESET
|
|
000: 00 nop
|
|
040: 30 ldi 0
|
|
060: 20 lbli 0
|
|
070: 46 out
|
|
078: 55 in
|
|
07c: 67 ska 3
|
|
07e: 87 t 007
|
|
03f: 75 lbmi 1
|
|
|
|
05f: 55 in
|
|
06f: 66 ska 2
|
|
077: e7 t 067
|
|
07b: 21 lbli 1
|
|
07d: 31 ldi 1
|
|
03e: 70 ad
|
|
01f: 43 xd
|
|
04f: df t 05f
|
|
|
|
067: 32 ldi 2
|
|
073: 21 lbli 1
|
|
079: 46 out
|
|
03c: 00 nop
|
|
05e: 30 ldi 0
|
|
02f: 46 out
|
|
057: 3d ldi d
|
|
|
|
06b: 01 adi 1
|
|
075: eb t 06b
|
|
03a: 00 nop
|
|
01d: 00 nop
|
|
00e: b0 t 030
|
|
|
|
007: 31 ldi 1
|
|
043: 21 lbli 1
|
|
061: 46 out
|
|
|
|
030: 7d 00 tml 200
|
|
|
|
06c: 31 ldi 1
|
|
|
|
076: 5c lxa
|
|
|
|
03b: 74 lbmi 0
|
|
05d: 7c c7 tml 147
|
|
017: 75 lbmi 1
|
|
04b: 7c c7 tml 147
|
|
032: 7c f4 tml 174
|
|
00c: 55 in
|
|
046: 65 ska 1
|
|
023: a8 t 028
|
|
051: 92 t 012
|
|
|
|
028: 30 ldi 0
|
|
054: 41 x
|
|
06a: 46 out
|
|
035: 00 nop
|
|
01a: 55 in
|
|
00d: 47 out0
|
|
006: 4a s
|
|
003: 75 lbmi 1
|
|
041: 7c 83 tml 103
|
|
050: 74 lbmi 0
|
|
068: 60 skm 0
|
|
074: e3 t 063
|
|
07a: 7c f4 tml 174
|
|
01e: 61 skm 1
|
|
00f: 92 t 012
|
|
047: db t 05b
|
|
|
|
063: 7c f4 tml 174
|
|
038: 61 skm 1
|
|
05c: b7 t 037
|
|
06e: 92 t 012
|
|
|
|
037: 00 nop
|
|
|
|
05b: 5d xax
|
|
06d: 01 adi 1
|
|
036: ca t 04a
|
|
01b: 7c 80 tml 100
|
|
026: 7d de tml 35e
|
|
049: 27 lbli 7
|
|
024: 40 l
|
|
052: 10 skai 0
|
|
029: f6 t 076
|
|
014: ec t 06c
|
|
|
|
04a: 5d xax
|
|
025: bb t 03b
|
|
|
|
012: 7c 83 tml 103
|
|
004: 90 t 010
|
|
042: 30 ldi 0
|
|
021: b9 t 039
|
|
|
|
010: 21 lbli 1
|
|
048: 30 ldi 0
|
|
|
|
064: 00 nop
|
|
072: e4 t 064
|
|
|
|
039: 21 lbli 1
|
|
01c: 46 out
|
|
04e: 7c f3 tml 173
|
|
053: 7c 80 tml 100
|
|
034: 7c f3 tml 173
|
|
02d: 92 t 012
|
|
|
|
|
|
|
|
;;{{{
|
|
016: 00 nop
|
|
00b: 00 nop
|
|
045: 00 nop
|
|
022: 00 nop
|
|
011: 00 nop
|
|
008: 00 nop
|
|
044: 00 nop
|
|
062: 00 nop
|
|
031: 00 nop
|
|
018: 00 nop
|
|
04c: 00 nop
|
|
066: 00 nop
|
|
033: 00 nop
|
|
059: 00 nop
|
|
02c: 00 nop
|
|
056: 00 nop
|
|
02b: 00 nop
|
|
055: 00 nop
|
|
02a: 00 nop
|
|
015: 00 nop
|
|
00a: 00 nop
|
|
005: 00 nop
|
|
002: 00 nop
|
|
001: 00 nop
|
|
|
|
07f: 80 t 000
|
|
;;}}}
|
|
|
|
|
|
|
|
;; RUN HOST
|
|
100: 7c 83 tml 103
|
|
160: ef t 16f
|
|
170: 31 ldi 1
|
|
178: 21 lbli 1
|
|
17c: 00 nop
|
|
17e: 00 nop
|
|
13f: 00 nop
|
|
15f: cf t 14f
|
|
|
|
16f: 30 ldi 0
|
|
177: 21 lbli 1
|
|
17b: 46 out
|
|
17d: 00 nop
|
|
13e: 00 nop
|
|
11f: 00 nop
|
|
|
|
14f: 46 out
|
|
167: 4c rit
|
|
|
|
|
|
|
|
;; WAIT A BIT
|
|
;; P13 = 0, P12 = 0: 0.6s
|
|
;; P13 = 0, P12 = 1: 0.4s
|
|
;; P13 = 1, P12 = 0: 0.8s
|
|
;; P13 = 1, P12 = 1: 1.0s
|
|
173: 21 lbli 1
|
|
179: 55 in ; A := P1
|
|
13c: 66 ska 2
|
|
15e: 8e t 10e ; if A.2 {
|
|
12f: 67 ska 3
|
|
157: ba t 13a ; if A.3
|
|
16b: 35 ldi 5 ; A := 5
|
|
175: d8 t 158 ; else
|
|
|
|
13a: 32 ldi 2 ; A := 2
|
|
11d: d8 t 158
|
|
; } else {
|
|
|
|
10e: 67 ska 3
|
|
107: b0 t 130 ; if A.3
|
|
143: 34 ldi 4 ; A := 4
|
|
161: d8 t 158 ; else
|
|
|
|
130: 33 ldi 3 ; A := 3
|
|
; }
|
|
|
|
158: 4a s ; [H:1] := A
|
|
|
|
;; WAIT 0.6 OR SO SECONDS
|
|
16c: 74 lbmi 0 ; H := 0
|
|
176: 2b lbli b ; L := 0
|
|
|
|
13b: 30 ldi 0
|
|
15d: 42 xi
|
|
12e: bb t 13b
|
|
117: 2f lbli f
|
|
14b: 38 ldi 8
|
|
|
|
165: 41 x
|
|
132: 2c lbli c
|
|
119: 49 sc
|
|
|
|
10c: 30 ldi 0
|
|
146: 73 adcsk
|
|
123: e5 t 165
|
|
151: 42 xi
|
|
128: 8c t 10c
|
|
|
|
;;
|
|
154: 21 lbli 1 ; L := 1
|
|
16a: 40 l ; H := [0:1]
|
|
135: 0f adi f
|
|
11a: 4c rit
|
|
10d: 4a s
|
|
106: ec t 16c
|
|
|
|
|
|
|
|
;; SKIP NEXT INSTRUCTION IF LOCK
|
|
103: 20 lbli 0
|
|
141: 55 in
|
|
120: 67 ska 3
|
|
150: 8f t 10f
|
|
168: 4d ritsk
|
|
|
|
|
|
|
|
;; H := "OTHER SIDE"
|
|
174: 74 lbmi 0
|
|
17a: 7c 83 tml 103
|
|
11e: 75 lbmi 1
|
|
10f: 4c rit
|
|
|
|
|
|
|
|
;; [H:0] := NEXT STREAM BIT
|
|
147: 5d xax
|
|
163: 5c lxa
|
|
171: 57 xal
|
|
138: 40 l ; A := [H:X]
|
|
15c: 20 lbli 0 ; L := 0
|
|
16e: 4a s
|
|
137: 69 rm 1
|
|
15b: 6a rm 2
|
|
16d: 6b rm 3 ; [H:0] := [H:X].0
|
|
136: 4c rit
|
|
|
|
|
|
|
|
;;{{{
|
|
11b: 00 nop
|
|
14d: 00 nop
|
|
126: 00 nop
|
|
113: 00 nop
|
|
149: 00 nop
|
|
124: 00 nop
|
|
152: 00 nop
|
|
129: 00 nop
|
|
114: 00 nop
|
|
14a: 00 nop
|
|
125: 00 nop
|
|
112: 00 nop
|
|
109: 00 nop
|
|
104: 00 nop
|
|
142: 00 nop
|
|
121: 00 nop
|
|
110: 00 nop
|
|
148: 00 nop
|
|
164: 00 nop
|
|
172: 00 nop
|
|
139: 00 nop
|
|
11c: 00 nop
|
|
14e: 00 nop
|
|
127: 00 nop
|
|
153: 00 nop
|
|
169: 00 nop
|
|
134: 00 nop
|
|
15a: 00 nop
|
|
12d: 00 nop
|
|
116: 00 nop
|
|
10b: 00 nop
|
|
145: 00 nop
|
|
122: 00 nop
|
|
111: 00 nop
|
|
108: 00 nop
|
|
144: 00 nop
|
|
162: 00 nop
|
|
131: 00 nop
|
|
118: 00 nop
|
|
14c: 00 nop
|
|
166: 00 nop
|
|
133: 00 nop
|
|
159: 00 nop
|
|
12c: 00 nop
|
|
156: 00 nop
|
|
12b: 00 nop
|
|
155: 00 nop
|
|
12a: 00 nop
|
|
115: 00 nop
|
|
10a: 00 nop
|
|
105: 00 nop
|
|
102: 00 nop
|
|
101: 00 nop
|
|
|
|
17f: 80 t 100
|
|
;;}}}
|
|
|
|
|
|
|
|
;; INIT STREAM
|
|
200: 7c 83 tml 103
|
|
260: 8e t 20e
|
|
270: 75 lbmi 1
|
|
278: 21 lbli 1
|
|
27c: 31 ldi 1
|
|
27e: 63 skm 3
|
|
23f: 30 ldi 0
|
|
25f: 7d 80 tml 300
|
|
277: 31 ldi 1
|
|
27b: 60 skm 0
|
|
27d: 30 ldi 0
|
|
23e: 7d 80 tml 300
|
|
24f: 31 ldi 1
|
|
267: 61 skm 1
|
|
273: 30 ldi 0
|
|
279: 7d 80 tml 300
|
|
25e: 31 ldi 1
|
|
22f: 62 skm 2
|
|
257: 30 ldi 0
|
|
26b: 7d 80 tml 300
|
|
23a: 00 nop
|
|
21d: b5 t 235
|
|
|
|
20e: 75 lbmi 1
|
|
207: 21 lbli 1
|
|
243: 3f ldi f
|
|
261: 41 x
|
|
230: 7d f7 tml 377
|
|
26c: 65 ska 1
|
|
276: 6b rm 3
|
|
23b: 00 nop
|
|
25d: 7d f7 tml 377
|
|
217: 65 ska 1
|
|
24b: 68 rm 0
|
|
265: 00 nop
|
|
232: 7d f7 tml 377
|
|
20c: 65 ska 1
|
|
246: 69 rm 1
|
|
223: 00 nop
|
|
251: 7d f7 tml 377
|
|
254: 65 ska 1
|
|
26a: 6a rm 2
|
|
|
|
235: 74 lbmi 0
|
|
21a: 21 lbli 1
|
|
20d: 3e ldi e
|
|
206: 3f ldi f
|
|
203: 42 xi
|
|
241: 32 ldi 2
|
|
220: 37 ldi 7
|
|
250: 42 xi
|
|
268: 33 ldi 3
|
|
274: 3b ldi b
|
|
27a: 42 xi
|
|
23d: 34 ldi 4
|
|
21e: 3e ldi e
|
|
20f: 42 xi
|
|
247: 3f ldi f
|
|
263: 42 xi
|
|
271: 38 ldi 8
|
|
238: 42 xi
|
|
25c: 32 ldi 2
|
|
26e: 42 xi
|
|
237: 37 ldi 7
|
|
25b: 42 xi
|
|
26d: 3d ldi d
|
|
236: 42 xi
|
|
21b: 37 ldi 7
|
|
24d: 42 xi
|
|
226: 38 ldi 8
|
|
213: 42 xi
|
|
249: 3e ldi e
|
|
224: 42 xi
|
|
252: 3e ldi e
|
|
229: 42 xi
|
|
214: 31 ldi 1
|
|
24a: 42 xi
|
|
225: 35 ldi 5
|
|
212: 41 x
|
|
209: 75 lbmi 1
|
|
204: 22 lbli 2
|
|
242: 35 ldi 5
|
|
221: 37 ldi 7
|
|
210: 42 xi
|
|
248: 3e ldi e
|
|
264: 3b ldi b
|
|
272: 42 xi
|
|
239: 35 ldi 5
|
|
21c: 3d ldi d
|
|
24e: 42 xi
|
|
227: 31 ldi 1
|
|
253: 42 xi
|
|
269: 32 ldi 2
|
|
234: 42 xi
|
|
25a: 31 ldi 1
|
|
22d: 42 xi
|
|
216: 37 ldi 7
|
|
20b: 42 xi
|
|
245: 3e ldi e
|
|
222: 42 xi
|
|
211: 36 ldi 6
|
|
208: 42 xi
|
|
244: 37 ldi 7
|
|
262: 42 xi
|
|
231: 3a ldi a
|
|
218: 42 xi
|
|
24c: 37 ldi 7
|
|
266: 42 xi
|
|
233: 31 ldi 1
|
|
259: 42 xi
|
|
22c: 35 ldi 5
|
|
256: 41 x
|
|
22b: 4c rit
|
|
|
|
|
|
|
|
;;{{{
|
|
255: 00 nop
|
|
22a: 00 nop
|
|
215: 00 nop
|
|
20a: 00 nop
|
|
205: 00 nop
|
|
202: 00 nop
|
|
201: 00 nop
|
|
|
|
27f: 80 t 200
|
|
;;}}}
|
|
|
|
|
|
|
|
;; OUTPUT STREAM ID BIT
|
|
300: 20 lbli 0
|
|
340: 4a s
|
|
360: 30 ldi 0
|
|
370: 41 x
|
|
378: 46 out
|
|
37c: 00 nop
|
|
37e: 00 nop
|
|
33f: 47 out0
|
|
35f: 21 lbli 1
|
|
36f: 4c rit
|
|
|
|
|
|
|
|
;; INPUT STREAM ID BIT
|
|
377: 20 lbli 0
|
|
37b: 00 nop
|
|
37d: 00 nop
|
|
33e: 00 nop
|
|
31f: 00 nop
|
|
34f: 00 nop
|
|
367: 55 in
|
|
373: 00 nop
|
|
379: 21 lbli 1
|
|
33c: 4c rit
|
|
|
|
|
|
|
|
;; MANGLE BOTH
|
|
35e: 74 lbmi 0
|
|
32f: 7d f5 tml 375
|
|
36b: 75 lbmi 1
|
|
|
|
|
|
|
|
;; MANGLE ONE
|
|
375: 2f lbli f
|
|
33a: 40 l
|
|
|
|
31d: 5c lxa
|
|
30e: 49 sc
|
|
307: 21 lbli 1
|
|
343: 72 adc
|
|
361: 4a s
|
|
330: 52 li
|
|
358: 72 adc
|
|
36c: 44 coma
|
|
376: 42 xi
|
|
33b: 73 adcsk
|
|
35d: 42 xi
|
|
32e: 70 ad
|
|
317: 4a s
|
|
34b: 52 li
|
|
365: 48 rc
|
|
332: 72 adc
|
|
319: 42 xi
|
|
30c: 08 adi 8
|
|
346: 72 adc
|
|
323: 42 xi
|
|
|
|
351: 01 adi 1
|
|
328: 00 nop
|
|
354: 72 adc
|
|
36a: 4a s
|
|
335: 52 li
|
|
31a: d1 t 351
|
|
30d: 5d xax
|
|
306: 0f adi f
|
|
303: 4c rit
|
|
341: 9d t 31d
|
|
|
|
|
|
|
|
;;{{{
|
|
320: 00 nop
|
|
350: 00 nop
|
|
368: 00 nop
|
|
374: 00 nop
|
|
37a: 00 nop
|
|
33d: 00 nop
|
|
31e: 00 nop
|
|
30f: 00 nop
|
|
347: 00 nop
|
|
363: 00 nop
|
|
371: 00 nop
|
|
338: 00 nop
|
|
35c: 00 nop
|
|
36e: 00 nop
|
|
337: 00 nop
|
|
35b: 00 nop
|
|
36d: 00 nop
|
|
336: 00 nop
|
|
31b: 00 nop
|
|
34d: 00 nop
|
|
326: 00 nop
|
|
313: 00 nop
|
|
349: 00 nop
|
|
324: 00 nop
|
|
352: 00 nop
|
|
329: 00 nop
|
|
314: 00 nop
|
|
34a: 00 nop
|
|
325: 00 nop
|
|
312: 00 nop
|
|
309: 00 nop
|
|
304: 00 nop
|
|
342: 00 nop
|
|
321: 00 nop
|
|
310: 00 nop
|
|
348: 00 nop
|
|
364: 00 nop
|
|
372: 00 nop
|
|
339: 00 nop
|
|
31c: 00 nop
|
|
34e: 00 nop
|
|
327: 00 nop
|
|
353: 00 nop
|
|
369: 00 nop
|
|
334: 00 nop
|
|
35a: 00 nop
|
|
32d: 00 nop
|
|
316: 00 nop
|
|
30b: 00 nop
|
|
345: 00 nop
|
|
322: 00 nop
|
|
311: 00 nop
|
|
308: 00 nop
|
|
344: 00 nop
|
|
362: 00 nop
|
|
331: 00 nop
|
|
318: 00 nop
|
|
34c: 00 nop
|
|
366: 00 nop
|
|
333: 00 nop
|
|
359: 00 nop
|
|
32c: 00 nop
|
|
356: 00 nop
|
|
32b: 00 nop
|
|
355: 00 nop
|
|
32a: 00 nop
|
|
315: 00 nop
|
|
30a: 00 nop
|
|
305: 00 nop
|
|
302: 00 nop
|
|
301: 00 nop
|
|
|
|
37f: 80 t 300
|
|
;;}}}
|
|
|
|
;; vi:fdm=marker:cms=;;%s:fdo=:
|