commit 8a017d3
Devine Lu Linvega
·
2025-06-27 16:25:32 +0000 UTC
parent 833ac23
Starting tests
4 files changed,
+256,
-169
R etc/examples/opctest.tal =>
etc/tests/opctest.tal
+23,
-3
1@@ -5,7 +5,7 @@
2 @Zeropage &byte $1 &short $2
3 @id $1
4
5-|0100
6+|100
7
8 @on-reset ( -> )
9
10@@ -59,6 +59,12 @@
11 { "Ok $1 } STH2r ;pstr-jcn JSR2
12 [ LIT2 "6 18 ] DEO #0a18 DEO
13
14+ ( part 7
15+ > Relative distance bytes )
16+
17+ rel-distance/entry SWP #18 DEO #18 DEO
18+ [ LIT2 "7 18 ] DEO #0a18 DEO
19+
20 ( part xx
21 > GTH2k: Non-destructive greater-than short
22 > LDA2k: Non-destructive load short from absolute address
23@@ -129,7 +135,7 @@ BRK
24 ( name ) "Opctest 0a
25 ( details ) "A 20 "Testing 20 "Program 0a
26 ( author ) "By 20 "Devine 20 "Lu 20 "Linvega 0a
27- ( date ) "15 20 "Dec 20 "2024 $2
28+ ( date ) "24 20 "Jun 20 "2025 $2
29
30 @test-part ( f name* -- )
31 pstr ?{
32@@ -469,4 +475,18 @@ JMP2r
33 &jmi "JMI $1 &jci "JCI $1 &jsi "JSI $1
34 ]
35
36-|7000 @op-jsi-far-routine-d op-jsi/routine-d JMP2r
37+(
38+@|Relative Distance Bytes )
39+
40+@rel-distance
41+&back "O $7c
42+&entry
43+ ,&back LDR
44+ ,&forw LDR
45+ JMP2r
46+$7e
47+&forw "k
48+
49+@op-jsi-far-routine-d
50+ op-jsi/routine-d JMP2r
51+
+56,
-0
1@@ -0,0 +1,56 @@
2+|00 @System &vector $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 &debug $1 &state $1
3+|100
4+
5+@on-reset ( -> )
6+ ;buf <pstr>
7+ #2018 DEO
8+ ;buf <pstr>
9+ #0a18 DEO
10+ ( | copy left )
11+ ;buf #0006 ADD2 ;mmu-cpyl/a STA2
12+ ;buf #0003 ADD2 ;mmu-cpyl/b STA2
13+ ;mmu-cpyl .System/expansion DEO2
14+ ;buf <pstr>
15+ #2018 DEO
16+ ;res1 <pstr>
17+ #0a18 DEO
18+ ( | copy right )
19+ ;buf #0003 ADD2 ;mmu-cpyr/a STA2
20+ ;buf #0009 ADD2 ;mmu-cpyr/b STA2
21+ ;mmu-cpyr .System/expansion DEO2
22+ ;buf <pstr>
23+ #2018 DEO
24+ ;res2 <pstr>
25+ #0a18 DEO
26+ ( | copy left )
27+ ;buf #0009 ADD2 ;mmu-cpyl/a STA2
28+ ;buf #0006 ADD2 ;mmu-cpyl/b STA2
29+ ;mmu-cpyl .System/expansion DEO2
30+ ;buf <pstr>
31+ #2018 DEO
32+ ;res3 <pstr>
33+ #0a18 DEO
34+ ( | memset )
35+ ;buf #0003 ADD2 ;mmu-fill/a STA2
36+ ;mmu-fill .System/expansion DEO2
37+ ;buf <pstr>
38+ #2018 DEO
39+ ;res4 <pstr>
40+ #0a18 DEO
41+ BRK
42+
43+@<pstr> ( str* -- )
44+ LDAk #18 DEO
45+ INC2 LDAk ?<pstr>
46+ POP2 JMP2r
47+
48+@buf [ "......[hello]..... $1 ]
49+@res1 [ "...[hello]lo]..... $1 ]
50+@res2 [ "...[hello[hello].. $1 ]
51+@res3 [ "...[he[hello]lo].. $1 ]
52+@res4 [ "...-------------.. $1 ]
53+
54+@mmu-fill [ 00 000d 0000 &a $2 2d ]
55+@mmu-cpyl [ 01 0007 0000 &a $2 0000 &b $2 ]
56+@mmu-cpyr [ 02 0007 0000 &a $2 0000 &b $2 ]
57+
+153,
-155
1@@ -1,168 +1,166 @@
2-a002 7e80 0637 a00b 7a60 02f9 a001 2580
3-1037 a003 1716 1c20 000a a002 4b60 0982
4+a002 7e80 0637 a00b 4d60 02e9 a001 2580
5+1037 a003 1716 1c20 000a a002 4b60 0955
6 a001 0f17 00a0 0217 160b 2000 1d80 1216
7-a02f 0081 80fb 1389 2000 0ca0 0b42 a000
8-00a0 026f 6009 2603 1100 a001 5040 ffbf
9+a02f 0081 80fb 1389 2000 0ca0 0b15 a000
10+00a0 026f 6008 f903 1100 a001 5040 ffbf
11 a002 1716 0b20 0007 8012 1660 000b 00a0
12 0000 6000 3260 0153 00a0 5f30 8180 fb13
13-8920 000c a00b 42a0 0030 a002 6f60 08ed
14+8920 000c a00b 15a0 0030 a002 6f60 08c0
15 0311 6c94 0620 0003 0222 6c60 ffdb 2140
16 fff1 8019 176c 2180 a837 a000 0180 aa37
17-6001 5da0 0000 800f 1620 001c a001 cc80
18-ac37 80a3 1620 0012 9d20 000c a00b 4ba0
19-0000 a002 7460 08a5 226c 2180 0060 0139
20-40ff d3a0 0ad1 6008 c980 2060 ffb4 a000
21-3060 08be a00a db60 08b8 a001 0026 a001
22-0039 6008 bca0 0ae0 6008 a7a0 0030 80a8
23-37a0 0100 3980 aa37 a07d 8080 ae37 a002
24+6002 06a0 0000 800f 1620 001c a001 cc80
25+ac37 80a3 1620 0012 9d20 000c a00b 1ea0
26+0000 a002 7460 0878 226c 2180 0060 01e2
27+40ff d3a0 0aa4 6008 9c80 2060 ffb4 a000
28+3060 0891 a00a ae60 088b a001 0026 a001
29+0039 6008 8fa0 0ab3 6008 7aa0 0030 80a8
30+37a0 0100 3980 aa37 a07d 5380 ae37 a002
31 7960 ff6f a080 0f16 0920 002e a000 3080
32-a837 a007 7534 a034 80a0 0002 80aa 3726
33-80ae 37a0 0003 3826 6007 faa4 3980 aa37
34+a837 a007 8034 a034 53a0 0002 80aa 3726
35+80ae 37a0 0003 3826 6007 d9a4 3980 aa37
36 2480 ae37 aa20 ffe1 2222 6c75 7361 6765
37 3a20 6472 6966 626c 696d 2e72 6f6d 2069
38 6e2e 7461 6c20 6f75 742e 726f 6d0a 0050
39 6174 6800 4669 6c65 002e 7379 6d00 0044
40 7269 6662 6c69 6d0a 5578 6e74 616c 2041
41 7373 656d 626c 6572 0a42 7920 4465 7669
42-6e65 204c 7520 4c69 6e76 6567 610a 3132
43-204d 6179 2032 3032 3500 00a0 031b 34a0
44-0391 2920 000c a00b 72a0 0b77 a00b 3340
45-079b a003 1b34 a003 b229 2000 0ca0 0b72
46-a00b 77a0 0b25 4007 8480 0f16 2000 1060
47-0558 800f 1620 0007 a080 0f17 4004 8f6c
48-a060 1f13 a000 6011 6c06 8020 0a20 0011
49-02a0 0060 9020 0002 226c a003 6b2e 40ff
50-dfa0 0060 8106 808f 0b20 0009 a00b 42a0
51-0b0f 6007 3480 eb13 316c a003 6ba0 031b
52-356c 34a0 2800 2820 0009 a00b 4ba0 0b33
53-4007 16a0 0391 a003 1b35 a001 3413 6ca0
54-03b2 a003 1b35 a000 4913 6c90 6000 c9a1
55-1d20 001a 2260 065d 2005 f926 6002 eca1
56-1d20 05bd 2260 0194 2005 d440 0121 2134
57-2cc0 0034 26a0 2900 2920 0003 c001 59a0
58-2800 2920 0001 41cf c0e7 5320 0003 40ff
59-896c c000 b4a0 7d00 2920 0011 c001 59cf
60-2000 0a80 0060 02ce 2242 40ff 6dcf 8000
61-0820 000b a000 6060 02b1 8020 6002 b734
62-a07b 0029 2000 0141 c0c8 536c a000 9081
63-0680 bf0b 2000 09a0 0b42 a00b 1e60 0669
64+6e65 204c 7520 4c69 6e76 6567 610a 3234
65+204a 756e 2032 3032 3500 0080 4732 a003
66+4e29 2000 0ca0 0b45 a00b 4aa0 0b05 6007
67+6f80 3132 a003 6f29 2000 0ca0 0b45 a00b
68+4aa0 0af3 6007 5980 0f16 2000 1060 05ad
69+800f 1620 0007 a080 0f17 4004 9c6c 9020
70+0002 226c a003 252c a003 2580 f733 6ca0
71+034e 80f0 33a0 0136 136c a003 6f80 e533
72+a000 4c13 6c60 06de 2000 0340 0614 6001
73+e020 05f9 9060 00f5 a11d 2000 0e22 2660
74+0320 a11d 2003 6722 4001 6021 342c c000
75+3426 a029 0029 2000 03c0 0159 a028 0029
76+2000 0141 cfc0 e753 2000 0340 ff9a 6cc0
77+00b4 a07d 0029 2000 11c0 0159 cf20 000a
78+8000 6003 0f22 4240 ff7e cf80 0008 2000
79+0ba0 0060 6002 ee80 2060 02f8 34a0 7b00
80+2920 0001 41c0 c853 6ca0 6018 13a0 0060
81+116c 0680 200a 2000 0a02 a000 6060 ff3e
82+40ff e6a0 0060 8106 808f 0b20 0009 a00b
83+15a0 0af9 6006 6580 eb13 316c a000 9081
84+0680 bf0b 2000 09a0 0b15 a00a e560 064c
85 80eb 1331 6ca0 90e5 1394 802f 0820 0009
86-9460 ffd8 2194 20ff f022 80d1 1280 0213
87-6ca0 00c9 1380 2f60 ffc2 9460 ffbe 2194
88-20ff f722 a000 906c 0fa0 04df 94cf 0820
89-000c a000 0338 9420 fff2 22a0 ffff 426c
90-226c 6000 7860 0381 4004 e260 006f 6003
91-7840 04d5 6000 6626 60ff 9a40 024c 2160
92-ffaf 4002 4580 8060 0535 6000 5060 0465
93-4005 2c80 8060 0527 6000 4260 044b 4005
94-1e80 a060 0519 6000 3460 0444 4005 0c60
95-002b 8020 4004 fe60 0023 8040 4004 f680
96-6040 04f1 6000 1640 04ab 6000 1040 0494
97-2240 0151 40fe 7b60 0003 4001 7e21 9480
98-200a 2000 09a0 0b4b a00b 0f40 058b 6c7c
99-0452 2404 5b40 0464 2604 6e25 04c7 2804
100-c42c 0475 5f04 7a2e 0483 2d04 883b 0491
101-3d04 963f 049f 2104 a723 04b4 2204 ba7d
102-04c0 7e01 965b 0450 5d04 5000 2660 000b
103-0f26 a005 f860 051c 4f1d 6cc0 0026 a005
104-f860 0510 2000 5da0 0597 a460 051c 2000
105-0d41 a000 0338 9420 fff0 2240 003d 22b4
106-a04c 4928 8070 1f0f 5da0 0003 3894 8021
107-0b20 0030 9480 3209 2000 06c0 205d 4000
108-1f94 8072 0920 0006 c040 5d40 0012 9480
109-6b09 2000 06c0 805d 4000 0522 4280 006c
110-2140 ffc9 224f 6c4c 4954 494e 4350 4f50
111-4e49 5053 5750 524f 5444 5550 4f56 5245
112-5155 4e45 5147 5448 4c54 484a 4d50 4a43
113-4e4a 5352 5354 484c 445a 5354 5a4c 4452
114-5354 524c 4441 5354 4144 4549 4445 4f41
115-4444 5355 424d 554c 4449 5641 4e44 4f52
116-4145 4f52 5346 5400 4252 4b00 8000 8180
117-fb13 06a0 1b80 a180 fa33 1560 03f1 8018
118-33a0 0627 6c80 ec32 a000 0139 9460 ffeb
119-6000 9780 de33 6cce bb00 0000 6003 a620
120-0010 9460 fe02 211d 2000 0760 fede 2000
121-016c a00b 4ba0 0b0f 4004 1e60 ffde 2660
122-0019 211d 2000 5926 6000 9521 1d20 0050
123-6000 2880 0060 002e 40fc f42f 8028 32a0
124-0b80 26ef 6003 cd20 000e 6003 b860 03b5
125-aa20 ffee 22a0 ffff 2362 6c94 6000 0721
126-9420 fff7 226c a00b 80a1 26a0 1b80 2b20
127-0009 a00b 42a0 0b08 6003 be80 e933 156c
128-22a0 0b60 a00b 2540 03af 2660 0032 a11d
129-2000 0922 8080 6002 6c40 0088 a121 1480
130-801c 2000 1060 025d 2735 2121 9480 801d
131-0505 1522 6c22 22a0 0b60 a00b 1e40 0379
132-2fa0 0775 34a0 3480 26a0 0003 38ef 6003
133-4320 000f a000 0338 6003 2aaa 20ff e922
134-a0ff ff23 626c 342f a007 7534 a034 8026
135-a000 0338 6003 0e34 ef24 2b20 000b a000
136-0338 6003 00aa 20ff e623 626c 2660 ffb0
137-a11d 2000 0d22 802c 3227 8040 a0ff ff60
138-0002 236c 0460 001c 6000 1960 0016 60fe
139-cb26 60ff 0621 1d20 ff7c 9460 0006 2194
140-20ff f714 a034 80a1 26a0 7c80 2b20 0009
141-a00b 42a0 0b00 6002 e080 e933 156c a007
142-7534 a034 80a8 2000 3ba1 2114 8040 1c20
143-0027 b4a0 0100 2820 001f 26a0 0003 3894
144-8041 1980 1a0b 2000 0fa0 0ae9 6002 e326
145-6002 df80 0a60 f9ca 22a0 0003 3860 0265
146-aa20 ffc5 2222 40f9 fa60 01f9 2002 0b40
147-0003 8030 1394 807b 0920 0004 2260 fe0c
148-9480 2f09 2000 0421 60fc 2694 8026 0920
149-0004 2160 fc1b 60ff 33a1 21af 1480 801c
150-2000 10af 8000 6f60 011b 6000 0f60 000c
151-6000 0dd4 4f80 401d 6f15 346c 0460 0000
152-a01c 80a1 26a0 3480 2b20 0009 a00b 42a0
153-0af5 6002 2480 e933 156c 80e4 32a0 1c80
154-6000 0ba0 0005 38aa 20ff f522 226c 26a0
155-091b 35a6 a000 0438 1406 8000 0820 0017
156-0680 0108 2000 1706 8002 0820 001c 0680
157-0308 2000 0f02 6c02 6000 3915 026c 0260
158-0032 356c 0260 0032 356c 0260 002c 27a0
159-0080 3802 8000 0820 0006 a00b 6a60 006a
160-1502 6ca1 2134 b4a1 1d20 0006 a00b 4b60
161-0058 236c 60ff ec40 0008 60ff e627 3460
162-0044 2434 a07c 8038 6c80 0060 ff04 036c
163-8001 40fe fd80 0260 fef8 a11d 2000 0422
164-8000 6c60 003f 6000 1d26 a000 8038 0220
165-0002 036c 03a0 0b6a a00b 1440 015b 8003
166-60fe cf60 001f 2121 396c a000 0026 60fd
167-f5a0 0003 3860 fadd 2121 34a0 0003 38a0
168-0b14 4001 38a0 0100 6c60 fff9 3880 f633
169-6c23 60f9 bb60 00ed 948f 60f9 bc21 4f20
170-fff6 226c 9460 0057 2194 20ff f722 6c60
171-fbc9 4000 4a60 00d3 8002 0980 501f 8080
172-1d60 003b 6000 5e80 0008 2000 1e60 00bb
173-0680 0209 2000 0802 6000 5f03 4000 2080
174-0409 2000 0660 0052 4000 1022 a00b 4ba0
175-0b3b 4000 c460 0007 60ff 6304 6000 0006
176-60ff 82a1 60ff 86a0 7c80 3815 2000 016c
177-60ff 7207 2000 09a0 0b53 a00b 2b60 0099
178-a001 eb35 6c26 6000 4101 2000 0422 8000
179-6c21 9420 fff0 2280 016c e000 00c0 407f
180-6000 27c0 000f 7821 9420 fff1 226f 6c06
181-8004 1f60 0001 0480 0f1c 800a 8b20 0005
182-1980 6118 6c02 8030 186c 9480 3019 0680
183-090a 0c6c 8027 1906 800a 1980 050a 0c6c
184-0280 ff6c 2194 20ff fb21 6ca6 60ff f624
185-2139 036c 2f94 2000 0514 544f 086c 94d4
186-4f09 20ff f421 6140 ffeb 2fd4 944f 0920
187-0002 6121 7434 6f28 6ca0 0060 2480 0f16
188-2000 2b60 002c 8020 60f7 1724 6000 23a0
189-0af2 6000 1d60 001a a00a db60 0014 a000
190-9060 000e 800a 60f6 f9a0 010f 176c 2222
191-226c 9406 2000 0302 226c 60f6 e521 40ff
192-f1e0 ff00 a000 0abb af3a 396f 419d 20ff
193-f322 0380 3018 60f6 c947 58cf 20ff f362
194-6c41 7373 656d 626c 6564 0020 696e 2000
195-2062 7974 6573 2e0a 002d 2d20 556e 7573
196-6564 3a20 0052 6566 6572 656e 6365 7300
197-5379 6d62 6f6c 7300 4d61 6372 6f73 004e
198-616d 6500 5265 6665 7265 6e63 6500 5379
199-6d62 6f6c 004d 6163 726f 0057 7269 7469
200-6e67 0043 6f6d 6d65 6e74 004e 756d 6265
201-7200 6578 6365 6564 6564 0069 6e76 616c
202-6964 0069 6e20 7a65 726f 2d70 6167 6500
203-6475 706c 6963 6174 6500 746f 6f20 6661
204-7200 6f70 656e 002e 2e00 5245 5345 54
205+9460 ffd8 2194 20ff f022 80d1 1280 0313
206+6c21 a000 c813 802f 60ff c194 0620 0006
207+0222 a000 906c 60ff b321 40ff ee0f a004
208+d494 cf08 2000 0ca0 0003 3894 20ff f222
209+a0ff ff42 6c22 6c22 4001 c222 40fe c060
210+0070 6003 a440 055f 6000 6760 039b 4005
211+5260 005e 2660 ff8d 4002 6360 ffa3 4002
212+5d80 8060 0504 6000 4960 03fa 4004 fb80
213+8060 04f6 6000 3b60 03de 4004 ed80 a060
214+04e8 6000 2d60 03d8 4004 db60 0024 8020
215+4004 cd60 001c 8040 4004 c580 6040 04c0
216+6000 0f40 047d 6000 0940 0466 6000 0340
217+0180 2194 8020 0a20 0009 a00b 1ea0 0af9
218+4005 696c 7c04 4f24 0458 4004 6126 046b
219+2504 bc28 044b 2c04 715f 0476 2e04 7f2d
220+0484 3b04 8d3d 0492 3f04 9b21 04a3 2304
221+b022 04b6 7d04 477e 0196 5b04 455d 0445
222+0026 6000 0e80 0009 0f26 a005 eb60 04fe
223+4f1d 6ce0 1f00 a005 8ba4 a000 0324 6004
224+f420 000f 41a0 0003 3894 20ff ec22 2262
225+8000 6c22 5cb4 a04c 4928 8070 1f0f 5da0
226+0003 3894 8021 0b20 002e 9480 3209 2000
227+05c0 2040 001d 9480 7209 2000 05c0 4040
228+0011 9480 6b09 2000 05c0 8040 0005 2242
229+8000 6c5d 2140 ffcb 224f 6c4c 4954 494e
230+4350 4f50 4e49 5053 5750 524f 5444 5550
231+4f56 5245 5155 4e45 5147 5448 4c54 484a
232+4d50 4a43 4e4a 5352 5354 484c 445a 5354
233+5a4c 4452 5354 524c 4441 5354 4144 4549
234+4445 4f41 4444 5355 424d 554c 4449 5641
235+4e44 4f52 4145 4f52 5346 5442 524b 0080
236+0081 80fb 1306 a01b 53a1 80fa 3315 0680
237+041f 6003 b604 8018 33a0 061f 6c80 e732
238+a000 0139 9460 ffe6 6000 b380 d933 6cce
239+bb2e 2e00 6003 df20 0001 6c94 60fd fe21
240+1d20 0005 60fe da0c 6ca0 0b1e a00a f940
241+03fa 60ff df26 6000 1921 1d20 0076 2660
242+00b2 211d 2000 6d60 002b 8000 6000 3540
243+fcb8 2f80 2f32 a00b 53a8 2000 1126 ef60
244+03ac 2000 0d60 039c 6003 9940 ffeb 22a0
245+ffff 2362 6c94 0620 0003 0222 6c60 0004
246+2140 fff1 a00b 53a1 26a0 1b53 2b20 0009
247+a00b 15a0 0aec 6003 9380 e933 156c 60fc
248+f860 0360 9406 2000 0402 2222 6c60 fcf2
249+2140 fff0 22a0 0b33 a00a f340 036e 2660
250+0032 a11d 2000 0922 8002 6002 d240 007f
251+a121 1480 021c 2000 1060 02c3 2735 2121
252+9480 021d 0505 1522 6c22 22a0 0b33 a00a
253+e540 0338 2fa0 0780 34a0 3453 a820 0012
254+26a0 0003 38ef 6003 0520 000a 6000 c040
255+ffea 22a0 ffff 2362 6c34 2fa0 0780 34a0
256+3453 2660 00a9 34ef 242b 2000 0760 009f
257+aa20 ffee 2362 6c26 60ff b9a1 1d20 000d
258+2280 2c32 2780 01a0 ffff 6000 0223 6c04
259+6000 1c60 0019 6000 1660 feb8 2660 fef2
260+211d 20ff 8594 6000 0621 9420 fff7 14a0
261+3453 a126 a07c 532b 2000 09a0 0b15 a00a
262+dd60 02a8 80e9 3315 6ca0 0780 34a0 3453
263+a820 0036 a121 1480 011c 2000 27b4 a001
264+0028 2000 1f26 a000 0338 9480 4119 801a
265+0b20 000f a00a bc60 02ab 2660 02a7 800a
266+60f9 bf22 6000 0840 ffc6 2222 40f9 f4a0
267+0003 3840 022e 26a0 0080 3802 2000 016c
268+a00b 3da0 0ae5 4002 4360 020a 2000 0640
269+01e6 8037 3394 807b 0920 0004 2260 fddf
270+9480 2f09 2000 0360 fbf7 9480 2609 2000
271+0360 fbed 60ff 20a1 21af 1480 021c 2000
272+1026 6001 7a60 0012 6000 0fa0 0000 6000
273+09d4 4f80 011d 6f15 346c 0460 0000 a01c
274+53a1 26a0 3453 2b20 0009 a00b 15a0 0ac8
275+6001 d980 e933 156c a008 d160 ff94 036c
276+a008 d940 ff8c a008 e060 ff86 a11d 2000
277+0422 8000 6c60 0127 6000 0e60 ff58 036c
278+a008 ef60 ff6c 6001 1621 2139 6c80 af32
279+a01c 53a8 2000 1326 a009 0835 a6a0 0004
280+3834 2ea0 0006 3840 ffe9 2222 6cb4 6000
281+f6a1 2134 34a1 1d20 0006 a00b 1e60 0037
282+6c60 ffe9 2303 4000 a160 ffe1 2340 0096
283+60ff da24 3460 ffb1 6000 0f03 4000 8b60
284+ffcb 2434 60ff a240 007c 26a0 0080 3802
285+2000 016c a00b 3da0 0000 2660 fe1b a000
286+0338 60fa e021 2134 a000 0338 a00a d340
287+011e 9460 0054 2194 20ff f722 6c60 fbf3
288+4000 4760 00c7 8002 0980 501f 8080 1d60
289+0038 6000 c120 001e 6000 b206 8002 0920
290+0008 0260 0092 0340 0020 8004 0920 0006
291+6000 8540 0010 22a0 0b1e a00a fe40 00cc
292+6000 0760 ff1a 0460 0000 0660 0029 a07c
293+5338 1520 0001 6c60 0025 0720 0009 a00b
294+26a0 0b0d 6000 a526 a001 eb34 2a20 0002
295+226c a001 eb35 6ca0 0100 a180 fa33 6c80
296+f632 6c60 fff9 3880 ee33 6c80 0f1c 800a
297+8b20 0005 1980 6118 6c02 8030 186c 9480
298+3019 0680 090a 0c6c 8027 1906 800a 1980
299+050a 0c6c 0280 ff6c e000 00c0 407f 60ff
300+ddc0 000f 7821 9420 fff1 226f 6ca6 6000
301+1324 2139 036c 2660 ffc4 0120 0002 146c
302+2140 fff3 9420 0002 216c 2140 fff6 a660
303+fff2 2439 242f 2738 24a8 2000 0c94 d44f
304+0920 0005 2161 40ff f062 286c a000 6024
305+800f 1620 002b 6000 2c80 2060 f744 2460
306+0023 a00a c560 001d 6000 1aa0 0aae 6000
307+14a0 0090 6000 0e80 0a60 f726 a001 0f17
308+6c22 2222 6c94 0620 0003 0222 6c60 f712
309+2140 fff1 e0ff 00a0 000a bbaf 3a39 6f41
310+9d20 fff3 2203 8030 1860 f6f6 4758 cf20
311+fff3 626c 4173 7365 6d62 6c65 6400 2069
312+6e20 0020 6279 7465 732e 0a00 2d2d 2055
313+6e75 7365 643a 2000 5265 6665 7265 6e63
314+6573 0052 6566 6572 656e 6365 0053 796d
315+626f 6c73 0053 796d 626f 6c00 4d61 6372
316+6f73 004d 6163 726f 004e 616d 6500 4e75
317+6d62 6572 0043 6f6d 6d65 6e74 0057 7269
318+7469 6e67 0065 7863 6565 6465 6400 696e
319+7661 6c69 6400 696e 207a 6572 6f2d 7061
320+6765 0064 7570 6c69 6361 7465 0074 6f6f
321+2066 6172 006f 7065 6e00 2e2e 0052 4553
322+4554 ff
M
makefile
+24,
-11
1@@ -10,10 +10,9 @@ all: bin/uxncli bin/uxn11
2 run: all bin/mouse.rom
3 @ bin/uxn11 bin/mouse.rom
4
5-cli: bin/uxncli-debug bin/opctest.rom bin/console.rom
6+cli: bin/uxncli-debug bin/console.rom
7 bin/uxncli-debug
8 bin/uxncli-debug -v
9- bin/uxncli-debug bin/opctest.rom
10 @ bin/uxncli-debug bin/console.rom "foo bar" baz
11
12 gui: all bin/uxn11-debug bin/screen.rom
13@@ -21,12 +20,16 @@ gui: all bin/uxn11-debug bin/screen.rom
14 bin/uxn11-debug -v
15 bin/uxn11-debug bin/screen.rom
16
17+test: bin/uxncli-debug bin/uxn11-debug tests
18+ bin/uxncli-debug bin/test_opcodes.rom
19+ bin/uxncli-debug bin/test_system_exp.rom
20+
21 format:
22 @ clang-format -i src/uxncli.c src/uxn11.c
23
24 grab:
25 @ cp ../drifblim/etc/drifblim.rom.txt etc/utils/drifblim.rom.txt
26- @ cp ../uxn-utils/cli/opctest/src/opctest.tal etc/examples/opctest.tal
27+ @ cp ../uxn-utils/cli/opctest/src/opctest.tal etc/tests/opctest.tal
28
29 archive:
30 @ cp src/uxncli.c ../oscean/etc/uxncli.c.txt
31@@ -47,14 +50,6 @@ uninstall:
32
33 bin/drifblim.rom: etc/utils/drifblim.rom.txt
34 @ xxd -r -p etc/utils/drifblim.rom.txt bin/drifblim.rom
35-bin/opctest.rom: bin/uxncli bin/drifblim.rom
36- @ bin/uxncli bin/drifblim.rom etc/examples/opctest.tal bin/opctest.rom
37-bin/mouse.rom: bin/uxncli bin/drifblim.rom etc/examples/mouse.tal
38- @ bin/uxncli bin/drifblim.rom etc/examples/mouse.tal bin/mouse.rom
39-bin/console.rom: bin/uxncli bin/drifblim.rom etc/examples/console.tal
40- @ bin/uxncli bin/drifblim.rom etc/examples/console.tal bin/console.rom
41-bin/screen.rom: bin/uxncli bin/drifblim.rom etc/examples/screen.tal
42- @ bin/uxncli bin/drifblim.rom etc/examples/screen.tal bin/screen.rom
43
44 bin/uxncli: src/uxncli.c
45 @ mkdir -p bin
46@@ -68,3 +63,21 @@ bin/uxncli-debug: src/uxncli.c
47 bin/uxn11-debug: src/uxn11.c
48 @ mkdir -p bin
49 @ cc ${DEBUG_flags} ${CFLAGS} src/uxn11.c -lX11 -lutil -o bin/uxn11-debug
50+
51+# Tests
52+
53+tests: bin/test_opcodes.rom bin/test_system_exp.rom
54+bin/test_opcodes.rom: bin/uxncli bin/drifblim.rom
55+ @ bin/uxncli bin/drifblim.rom etc/tests/opctest.tal bin/test_opcodes.rom
56+bin/test_system_exp.rom: bin/uxncli bin/drifblim.rom
57+ @ bin/uxncli bin/drifblim.rom etc/tests/system_exp.tal bin/test_system_exp.rom
58+
59+# Misc
60+
61+bin/mouse.rom: bin/uxncli bin/drifblim.rom etc/examples/mouse.tal
62+ @ bin/uxncli bin/drifblim.rom etc/examples/mouse.tal bin/mouse.rom
63+bin/console.rom: bin/uxncli bin/drifblim.rom etc/examples/console.tal
64+ @ bin/uxncli bin/drifblim.rom etc/examples/console.tal bin/console.rom
65+bin/screen.rom: bin/uxncli bin/drifblim.rom etc/examples/screen.tal
66+ @ bin/uxncli bin/drifblim.rom etc/examples/screen.tal bin/screen.rom
67+