commit 9483266

Devine Lu Linvega  ·  2025-09-28 00:33:23 +0000 UTC
parent 3c16d2a
Cleanup
3 files changed,  +121, -125
+91, -91
  1@@ -1,26 +1,26 @@
  2-a002 ab80 0637 a00b 8960 0313 a001 2580
  3-1037 a003 1716 1c20 000a a002 7860 0994
  4+a002 ab80 0637 a00b 8560 0313 a001 2580
  5+1037 a003 1716 1c20 000a a002 7860 0990
  6 a001 0f17 00a0 0217 160b 2000 1d80 1216
  7-a02f 0081 80fb 1389 2000 0ca0 0b54 a000
  8-00a0 029c 6009 3803 1100 a001 5040 ffbf
  9+a02f 0081 80fb 1389 2000 0ca0 0b50 a000
 10+00a0 029c 6009 3403 1100 a001 5040 ffbf
 11 a002 1716 0b20 0007 8012 1660 000b 00a0
 12 0000 6000 3260 0180 00a0 5f30 8180 fb13
 13-8920 000c a00b 54a0 0030 a002 9c60 08ff
 14+8920 000c a00b 50a0 0030 a002 9c60 08fb
 15 0311 6c94 0620 0003 0222 6c60 ffdb 2140
 16 fff1 8019 176c 2180 a837 a000 0180 aa37
 17 6002 30a0 0000 800f 1620 001c a001 cc80
 18-ac37 80a3 1620 0012 9d20 000c a00b 5da0
 19-0000 a002 a160 08b7 226c 2180 0060 020c
 20+ac37 80a3 1620 0012 9d20 000c a00b 59a0
 21+0000 a002 a160 08b3 226c 2180 0060 020c
 22 40ff d380 0f33 800e 13a0 01e0 8002 376c
 23 0000 0100 0100 0000 0100 0100 0100 0000
 24-0001 f300 a00a e360 08ba 8020 60ff 93a0
 25-0030 6008 afa0 0aed 6008 a9a0 09e0 3426
 26-a001 0039 6008 aca0 0af2 6008 97a0 0030
 27+0001 f300 a00a df60 08b6 8020 60ff 93a0
 28+0030 6008 aba0 0ae9 6008 a5a0 09dc 3426
 29+a001 0039 6008 a8a0 0aee 6008 93a0 0030
 30 80a8 37a0 0001 80aa 37a0 0100 2680 bd33
 31 a001 e880 0237 a001 f380 ae37 21aa 20ff
 32 eb22 22a0 02a6 60ff 3aa0 0030 80a8 37a0
 33-07ca 34a0 348f a000 0280 aa37 2680 ae37
 34-a000 0338 2660 07eb a439 80aa 3724 80ae
 35+07ca 34a0 348b a000 0280 aa37 2680 ae37
 36+a000 0338 2660 07e7 a439 80aa 3724 80ae
 37 37aa 20ff e122 226c 7573 6167 653a 2064
 38 7269 6662 6c69 6d2e 726f 6d20 696e 2e74
 39 616c 206f 7574 2e72 6f6d 0a00 5061 7468
 40@@ -29,13 +29,13 @@ a000 0338 2660 07eb a439 80aa 3724 80ae
 41 6d62 6c65 720a 4279 2044 6576 696e 6520
 42 4c75 204c 696e 7665 6761 0a31 3820 5365
 43 7020 3230 3235 0000 8047 32a0 0378 2920
 44-000c a00b 81a0 0b86 a00b 4460 0781 8031
 45-32a0 0399 2920 000c a00b 81a0 0b86 a00b
 46-3260 076b 800f 1620 0010 6005 c180 0f16
 47+000c a00b 7da0 0b82 a00b 4060 077d 8031
 48+32a0 0399 2920 000c a00b 7da0 0b82 a00b
 49+2e60 0767 800f 1620 0010 6005 c180 0f16
 50 2000 07a0 800f 1740 04b9 6c90 2000 0222
 51 6ca0 0352 2ca0 0352 80f7 336c a003 7880
 52 f033 a001 3313 6ca0 0399 80e5 33a0 0049
 53-136c 6006 ed20 062b 6001 e320 0610 9060
 54+136c 6006 e920 062b 6001 e320 0610 9060
 55 00f5 a11d 2000 0e22 2660 0343 a11d 2003
 56 8a22 4001 6021 342c c000 3426 a029 0029
 57 2000 03c0 0159 a028 0029 2000 0141 cfc0
 58@@ -45,29 +45,29 @@ e753 8000 0820 ff9d 6cc0 00b4 a07d 0029
 59 1180 2060 031b 34a0 7b00 2920 0001 41c0
 60 c853 6ca0 6018 13a0 0060 116c 0680 200a
 61 2000 0a02 a000 6060 ff41 40ff e6a0 0060
 62-8106 808f 0b20 0009 a00b 54a0 0b38 6006
 63-7a80 eb13 316c a000 9081 0680 bf0b 2000
 64-09a0 0b54 a00b 2460 0661 80eb 1331 6ca0
 65+8106 808f 0b20 0009 a00b 50a0 0b34 6006
 66+7680 eb13 316c a000 9081 0680 bf0b 2000
 67+09a0 0b50 a00b 2060 065d 80eb 1331 6ca0
 68 90e5 1394 802f 0820 0009 9460 ffd8 2194
 69 20ff f022 80d1 1280 0313 6c21 a000 c813
 70 802f 60ff c194 0620 0006 0222 a000 906c
 71 60ff b321 40ff ee0f a004 fe94 cf08 2000
 72 0ca0 0003 3894 20ff f222 a0ff ff42 6c22
 73 6c22 4001 c922 40fe c360 0070 6003 c440
 74-0571 6000 6760 03bb 4005 6460 005e 2660
 75+056d 6000 6760 03bb 4005 6060 005e 2660
 76 ff8d 4002 8660 ffa3 4002 8080 8060 051e
 77 6000 4960 0411 4005 1580 8060 0510 6000
 78 3b60 03f5 4005 0780 a060 0502 6000 2d60
 79 03ef 4004 f560 0024 8020 4004 e760 001c
 80 8040 4004 df80 6040 04da 6000 0f40 0494
 81 6000 0940 047d 6000 0340 01a3 2194 8020
 82-0a20 0009 a00b 5da0 0b38 4005 7e6c 7c04
 83+0a20 0009 a00b 59a0 0b34 4005 7a6c 7c04
 84 7924 0482 4004 8b26 0495 2c04 9b5f 04a0
 85 2e04 a92d 04ae 3b04 b73d 04bc 2104 cd3f
 86 04c5 2304 da22 04e0 7d04 717e 0196 2804
 87 7529 046f 5b04 6f5d 046f 2504 e600 2660
 88-000e 8000 090f 26a0 0618 6005 104f 1d6c
 89-e01f 00a0 05b8 a4a0 0003 2460 0506 2000
 90+000e 8000 090f 26a0 0618 6005 0c4f 1d6c
 91+e01f 00a0 05b8 a4a0 0003 2460 0502 2000
 92 0f41 a000 0338 9420 ffec 2222 6280 006c
 93 225c b4a0 4c49 2880 701f 0f5d a000 0338
 94 9480 210b 2000 2e94 8032 0920 0005 c020
 95@@ -80,90 +80,90 @@ e01f 00a0 05b8 a4a0 0003 2460 0506 2000
 96 5253 5452 4c44 4153 5441 4445 4944 454f
 97 4144 4453 5542 4d55 4c44 4956 414e 444f
 98 5241 454f 5253 4654 4252 4b00 2280 0081
 99-80fb 1306 a01b 8fa1 80fa 3315 0680 041f
100-6003 c404 6003 c080 1833 a006 506c 80e4
101+80fb 1306 a01b 8ba1 80fa 3315 0680 041f
102+6003 c004 6003 bc80 1833 a006 506c 80e4
103 32a0 0001 3994 60ff e360 00cf 80d6 336c
104-cebb 2e2e 0060 03ea 2000 1594 60fd f821
105+cebb 2e2e 0060 03e6 2000 1594 60fd f821
106 1d20 000c 9480 7b08 2000 0560 fed0 0c6c
107-a00b 5da0 0b38 4004 0294 807b 0820 ff9c
108+a00b 59a0 0b34 4003 fe94 807b 0820 ff9c
109 9480 2f08 20fd b494 8026 0820 fdad 6c60
110 ffc3 2660 0019 211d 2000 7626 6000 b221
111 1d20 006d 6000 2b80 0060 0035 40fc 982f
112-802f 32a0 0b8f a820 0011 26ef 6003 9e20
113-000d 6003 8e60 038b 40ff eb22 a0ff ff23
114+802f 32a0 0b8b a820 0011 26ef 6003 9a20
115+000d 6003 8a60 0387 40ff eb22 a0ff ff23
116 626c 9406 2000 0302 226c 6000 0421 40ff
117-f1a0 0b8f a126 a01b 8f2b 2000 09a0 0b54
118-a00b 2b60 0385 80e9 3315 6c60 fcd5 6003
119-5294 0620 0004 0222 226c 60fc cf21 40ff
120-f022 a00b 65a0 0b32 4003 6026 6000 32a1
121-1d20 0009 2280 0260 02c1 4000 7ca1 2114
122-8002 1c20 0010 6002 b227 3521 2194 8002
123-1d05 0515 226c 2222 a00b 65a0 0b24 4003
124-2a2f a007 ca34 a034 8f26 a000 0338 ef60
125-02fb 2000 0b60 00c1 aa20 ffed 22a0 ffff
126-2362 6c34 2fa0 07ca 34a0 348f 2660 00a9
127+f1a0 0b8b a126 a01b 8b2b 2000 09a0 0b50
128+a00b 2760 0381 80e9 3315 6c60 fcd5 6003
129+4e94 0620 0004 0222 226c 60fc cf21 40ff
130+f022 a00b 61a0 0b2e 4003 5c26 6000 32a1
131+1d20 0009 2280 0260 02bd 4000 7ca1 2114
132+8002 1c20 0010 6002 ae27 3521 2194 8002
133+1d05 0515 226c 2222 a00b 61a0 0b20 4003
134+262f a007 ca34 a034 8b26 a000 0338 ef60
135+02f7 2000 0b60 00c1 aa20 ffed 22a0 ffff
136+2362 6c34 2fa0 07ca 34a0 348b 2660 00a9
137 34ef 242b 2000 0760 009f aa20 ffee 2362
138 6c26 60ff bca1 1d20 000d 2280 2c32 2780
139 01a0 ffff 6000 0223 6c04 6000 1c60 0019
140 6000 1660 fe9f 2660 fef5 211d 20ff 8894
141-6000 0621 9420 fff7 14a0 348f a126 a07c
142-8f2b 2000 09a0 0b54 a00b 1c60 029d 80e9
143-3315 6ca0 07ca 34a0 348f a820 0036 a121
144+6000 0621 9420 fff7 14a0 348b a126 a07c
145+8b2b 2000 09a0 0b50 a00b 1860 0299 80e9
146+3315 6ca0 07ca 34a0 348b a820 0036 a121
147 1480 011c 2000 27b4 a001 0028 2000 1f26
148 a000 0338 9480 4119 801a 0b20 000f a00a
149-fb60 02a0 2660 029c 800a 60f9 7522 6000
150-0840 ffc6 2222 40f9 cba0 0003 3840 0223
151-26a0 0080 3802 2000 016c a00b 6fa0 0b24
152-4002 3860 01fc 2001 db60 fe2d 60ff 02a1
153-1d20 0009 a00b 5da0 0b12 6002 1e34 6c80
154+f760 029c 2660 0298 800a 60f9 7522 6000
155+0840 ffc6 2222 40f9 cba0 0003 3840 021f
156+26a0 0080 3802 2000 016c a00b 6ba0 0b20
157+4002 3460 01f8 2001 d760 fe2d 60ff 02a1
158+1d20 0009 a00b 59a0 0b0e 6002 1a34 6c80
159 1b33 60fe 1460 ff29 a121 af14 8002 1c20
160-0010 2660 0175 6000 1260 000f a000 0060
161+0010 2660 0171 6000 1260 000f a000 0060
162 0009 d44f 8001 1d6f 1534 6c04 6000 00a0
163-1c8f a126 a034 8f2b 2000 09a0 0b54 a00b
164-0760 01d7 80e9 3315 6ca0 0912 60ff b003
165+1c8b a126 a034 8b2b 2000 09a0 0b50 a00b
166+0360 01d3 80e9 3315 6ca0 0912 60ff b003
167 6ca0 091a 40ff a8a0 0921 60ff a2a1 1d20
168-0004 2280 006c 6001 2260 000e 60ff 6103
169-6ca0 0930 60ff 8860 0111 2121 396c 80af
170-32a0 1c8f a820 0013 26a0 0949 35a6 a000
171+0004 2280 006c 6001 1e60 000e 60ff 6103
172+6ca0 0930 60ff 8860 010d 2121 396c 80af
173+32a0 1c8b a820 0013 26a0 0949 35a6 a000
174 0438 342e a000 0638 40ff e922 226c b460
175-00f1 a121 3434 a11d 2000 06a0 0b5d 6000
176+00ed a121 3434 a11d 2000 06a0 0b59 6000
177 376c 60ff e923 0340 00a4 60ff e123 4000
178 9960 ffda 2434 60ff b160 000f 0340 008e
179 60ff cb24 3460 ffa2 4000 7f26 a000 8038
180-0220 0001 6ca0 0b6f a000 0026 60fe 24a0
181-0003 3860 fac9 2121 34a0 0003 38a0 0b12
182-4001 1c94 6000 5721 9420 fff7 226c 60fb
183-df40 004a 6000 c280 0209 8050 1f80 801d
184-6000 3b60 00bc 8000 0820 001e 6000 aa06
185-8002 0920 0008 0260 008a 0340 0020 8004
186-0920 0006 6000 7d40 0010 22a0 0b5d a00b
187-3d40 00c7 6000 0760 ff17 0460 0000 6000
188-1626 a000 ff2a 2000 0b22 02a0 0b77 a00b
189-4c40 00a7 40f7 fca0 0100 a180 fa33 a1a0
190-0100 2b20 0004 a180 f633 6c80 ea32 6c60
191-fff9 3880 e233 6c80 0f1c 800a 8b20 0005
192-1980 6118 6c02 8030 186c 9480 3019 0680
193-090a 0c6c 8027 1906 800a 1980 050a 0c6c
194-0280 ff6c e000 00c0 407f 60ff ddc0 000f
195-7821 9420 fff1 226f 6ca6 6000 1624 2139
196-036c 2660 ffc4 0120 0005 1480 0008 6c21
197-40ff f094 2000 0221 6c21 40ff f6a6 60ff
198-f224 3924 2f27 3824 a820 000c 94d4 4f09
199-2000 0521 6140 fff0 6228 6ca0 0060 2480
200-0f16 2000 2b60 002c 8020 60f7 0524 6000
201-23a0 0b04 6000 1d60 001a a00a ed60 0014
202-a000 9060 000e 800a 60f6 e7a0 010f 176c
203-2222 226c 9406 2000 0302 226c 60f6 d321
204-40ff f1e0 ff00 a000 0abb af3a 396f 419d
205-20ff f322 0380 3018 60f6 b747 58cf 20ff
206-f362 6c41 7373 656d 626c 6564 0020 696e
207-2000 2062 7974 6573 2e0a 002d 2d20 556e
208-7573 6564 3a20 0052 6566 6572 656e 6365
209-7300 5265 6665 7265 6e63 6500 5379 6d62
210-6f6c 7300 5379 6d62 6f6c 004d 6163 726f
211-7300 4d61 6372 6f00 4e61 6d65 004e 756d
212-6265 7200 436f 6d6d 656e 7400 5772 6974
213-696e 6700 6578 6365 6564 6564 0069 6e76
214-616c 6964 0064 7570 6c69 6361 7465 0074
215-6f6f 2066 6172 007a 6572 6f2d 7061 6765
216-006f 7065 6e00 2e2e 0052 4553 4554 
217+0220 0001 6ca0 0b6b a000 0026 60fe 24a0
218+0003 3860 fac9 2121 34a0 0003 38a0 0b0e
219+4001 1894 6000 5721 9420 fff7 226c 60fb
220+df40 004a 6000 be80 0209 8050 1f80 801d
221+6000 3b60 00b8 8000 0820 001e 6000 a606
222+8002 0920 0008 0260 0086 0340 0020 8004
223+0920 0006 6000 7940 0010 22a0 0b59 a00b
224+3940 00c3 6000 0760 ff17 0460 0000 6000
225+1207 2000 0b22 02a0 0b73 a00b 4840 00a7
226+40f8 00a0 0100 a180 fa33 a1a0 0100 2b20
227+0004 a180 f633 6c80 ea32 6c60 fff9 3880
228+e233 6c80 0f1c 800a 8b20 0005 1980 6118
229+6c02 8030 186c 9480 3019 0680 090a 0c6c
230+8027 1906 800a 1980 050a 0c6c 0280 ff6c
231+e000 00c0 407f 60ff ddc0 000f 7821 9420
232+fff1 226f 6ca6 6000 1624 2139 036c 2660
233+ffc4 0120 0005 1480 0008 6c21 40ff f094
234+2000 0221 6c21 40ff f6a6 60ff f224 3924
235+2f27 3824 a820 000c 94d4 4f09 2000 0521
236+6140 fff0 6228 6ca0 0060 2480 0f16 2000
237+2b60 002c 8020 60f7 0924 6000 23a0 0b00
238+6000 1d60 001a a00a e960 0014 a000 9060
239+000e 800a 60f6 eba0 010f 176c 2222 226c
240+9406 2000 0302 226c 60f6 d721 40ff f1e0
241+ff00 a000 0abb af3a 396f 419d 20ff f322
242+0380 3018 60f6 bb47 58cf 20ff f362 6c41
243+7373 656d 626c 6564 0020 696e 2000 2062
244+7974 6573 2e0a 002d 2d20 556e 7573 6564
245+3a20 0052 6566 6572 656e 6365 7300 5265
246+6665 7265 6e63 6500 5379 6d62 6f6c 7300
247+5379 6d62 6f6c 004d 6163 726f 7300 4d61
248+6372 6f00 4e61 6d65 004e 756d 6265 7200
249+436f 6d6d 656e 7400 5772 6974 696e 6700
250+6578 6365 6564 6564 0069 6e76 616c 6964
251+0064 7570 6c69 6361 7465 0074 6f6f 2066
252+6172 007a 6572 6f2d 7061 6765 006f 7065
253+6e00 2e2e 0052 4553 4554 
+15, -17
 1@@ -52,27 +52,25 @@ void emu_deo(const Uint8 port, const Uint8 value);
 2 	case 0x20|opc: {const int _2=1,_r=0;A B;} break;\
 3 	case 0x40|opc: {const int _2=0,_r=1;A B;} break;\
 4 	case 0x60|opc: {const int _2=1,_r=1;A B;} break;\
 5-	case 0x80|opc: {const int _2=0,_r=0;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 6-	case 0xa0|opc: {const int _2=1,_r=0;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 7-	case 0xc0|opc: {const int _2=0,_r=1;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 8-	case 0xe0|opc: {const int _2=1,_r=1;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 9+	case 0x80|opc: {const int _2=0,_r=0;int k=ptr[0];A ptr[0]=k;B;} break;\
10+	case 0xa0|opc: {const int _2=1,_r=0;int k=ptr[0];A ptr[0]=k;B;} break;\
11+	case 0xc0|opc: {const int _2=0,_r=1;int k=ptr[1];A ptr[1]=k;B;} break;\
12+	case 0xe0|opc: {const int _2=1,_r=1;int k=ptr[1];A ptr[1]=k;B;} break;\
13 }
14 
15-/* Microcode */
16-
17-#define REM    ptr[_r] -= 1 + _2;
18+#define REM ptr[_r] -= 1 + _2;
19 #define DEC(m) stk[m][--ptr[m]]
20 #define INC(m) stk[m][ptr[m]++]
21-#define IMM(o) o = ram[pc] << 8 | ram[pc + 1], pc += 2;
22-#define MOV(x) { if(_2) pc = x; else pc += (signed char)x; }
23-#define PO1(o) { o = DEC(_r); }
24-#define PO2(o) { o = DEC(_r) | DEC(_r) << 8; }
25-#define POx(o) { if(_2) PO2(o) else PO1(o) }
26-#define GOT(o) { if(_2) PO1(o[1]) PO1(o[0]) }
27-#define RP1(i) { INC(!_r) = i; }
28-#define PU1(i) { INC(_r) = i; }
29-#define PUx(i) { if(_2) { c = (i); PU1(c >> 8) PU1(c) } else PU1(i) }
30-#define PUT(i) { PU1(i[0]) if(_2) PU1(i[1]) }
31+#define IMM(o) o = ram[pc++] << 8 | ram[pc++];
32+#define MOV(x) if(_2) pc = x; else pc += (signed char)x;
33+#define PO1(o) o = DEC(_r);
34+#define PO2(o) o = DEC(_r) | DEC(_r) << 8;
35+#define POx(o) if(_2) PO2(o) else PO1(o)
36+#define GOT(o) if(_2) PO1(o[1]) PO1(o[0])
37+#define RP1(i) INC(!_r) = i;
38+#define PU1(i) INC(_r) = i;
39+#define PUx(i) if(_2) { c = (i); PU1(c >> 8) PU1(c) } else PU1(i)
40+#define PUT(i) PU1(i[0]) if(_2) PU1(i[1])
41 #define DEI(i,o) o[0] = emu_dei(i); if(_2) o[1] = emu_dei(i + 1); PUT(o)
42 #define DEO(i,j) emu_deo(i, j[0]); if(_2) emu_deo(i + 1, j[1]);
43 #define PEK(i,o,m) o[0] = ram[i]; if(_2) o[1] = ram[(i + 1) & m]; PUT(o)
+15, -17
 1@@ -37,27 +37,25 @@ void emu_deo(const Uint8 port, const Uint8 value);
 2 	case 0x20|opc: {const int _2=1,_r=0;A B;} break;\
 3 	case 0x40|opc: {const int _2=0,_r=1;A B;} break;\
 4 	case 0x60|opc: {const int _2=1,_r=1;A B;} break;\
 5-	case 0x80|opc: {const int _2=0,_r=0;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 6-	case 0xa0|opc: {const int _2=1,_r=0;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 7-	case 0xc0|opc: {const int _2=0,_r=1;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 8-	case 0xe0|opc: {const int _2=1,_r=1;int k=ptr[_r];A ptr[_r]=k;B;} break;\
 9+	case 0x80|opc: {const int _2=0,_r=0;int k=ptr[0];A ptr[0]=k;B;} break;\
10+	case 0xa0|opc: {const int _2=1,_r=0;int k=ptr[0];A ptr[0]=k;B;} break;\
11+	case 0xc0|opc: {const int _2=0,_r=1;int k=ptr[1];A ptr[1]=k;B;} break;\
12+	case 0xe0|opc: {const int _2=1,_r=1;int k=ptr[1];A ptr[1]=k;B;} break;\
13 }
14 
15-/* Microcode */
16-
17-#define REM    ptr[_r] -= 1 + _2;
18+#define REM ptr[_r] -= 1 + _2;
19 #define DEC(m) stk[m][--ptr[m]]
20 #define INC(m) stk[m][ptr[m]++]
21-#define IMM(o) o = ram[pc] << 8 | ram[pc + 1], pc += 2;
22-#define MOV(x) { if(_2) pc = x; else pc += (signed char)x; }
23-#define PO1(o) { o = DEC(_r); }
24-#define PO2(o) { o = DEC(_r) | DEC(_r) << 8; }
25-#define POx(o) { if(_2) PO2(o) else PO1(o) }
26-#define GOT(o) { if(_2) PO1(o[1]) PO1(o[0]) }
27-#define RP1(i) { INC(!_r) = i; }
28-#define PU1(i) { INC(_r) = i; }
29-#define PUx(i) { if(_2) { c = (i); PU1(c >> 8) PU1(c) } else PU1(i) }
30-#define PUT(i) { PU1(i[0]) if(_2) PU1(i[1]) }
31+#define IMM(o) o = ram[pc++] << 8 | ram[pc++];
32+#define MOV(x) if(_2) pc = x; else pc += (signed char)x;
33+#define PO1(o) o = DEC(_r);
34+#define PO2(o) o = DEC(_r) | DEC(_r) << 8;
35+#define POx(o) if(_2) PO2(o) else PO1(o)
36+#define GOT(o) if(_2) PO1(o[1]) PO1(o[0])
37+#define RP1(i) INC(!_r) = i;
38+#define PU1(i) INC(_r) = i;
39+#define PUx(i) if(_2) { c = (i); PU1(c >> 8) PU1(c) } else PU1(i)
40+#define PUT(i) PU1(i[0]) if(_2) PU1(i[1])
41 #define DEI(i,o) o[0] = emu_dei(i); if(_2) o[1] = emu_dei(i + 1); PUT(o)
42 #define DEO(i,j) emu_deo(i, j[0]); if(_2) emu_deo(i + 1, j[1]);
43 #define PEK(i,o,m) o[0] = ram[i]; if(_2) o[1] = ram[(i + 1) & m]; PUT(o)