OpenCores
URL https://opencores.org/ocsvn/tv80/tv80/trunk

Subversion Repositories tv80

[/] [tv80/] [branches/] [s80_env_devel/] [tests/] [tvs80/] [tvs80tst.asm] - Blame information for rev 8

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 8 ghutchis
; bjp   modified to assemble on as80.
2
; minor mods to account for changes in interrupt structure  and I/O
3
; all such are flagged with my initials.....
4
;
5
; The origional code used operators <   and  >  on symbols to extract the
6
; lower and higher bytes respectively.   It appears that as80 has no equivaltent.
7
; I have hand coded such ---- hopefully correctly.
8
; This is only a significant issue with such constructs as 
9
; My solution forces the stack to remain in its present location.
10
;
11
; WARNING   If you must move the stack  --   check comments and fix code for my kludges
12
;
13
;z80 simulator test routine
14
;total error count is left in a at end of test routine
15
 
16
; gth  modified to work in tv80 simulation environment
17
;      moved data segment from 7000 to 8000
18
;      replaced constants with stack_end_hi and stack_end_lo
19
 
20
                code
21
                org     #0000
22
;
23
rst_0000:       jp      rst_0000_1
24
;
25
                org     #0008
26
;
27
rst_0008:       ld      a,2
28
                ret
29
;
30
                org     #0010
31
;
32
rst_0010:       ld      a,3
33
                ret
34
;
35
                org     #0018
36
;
37
rst_0018:       ld      a,4
38
                ret
39
;
40
                org     #0020
41
;
42
rst_0020:       ld      a,5
43
                ret
44
;
45
                org     #0028
46
;
47
rst_0028:       ld      a,6
48
                ret
49
;
50
                org     #0030
51
;
52
rst_0030:       ld      a,7
53
                ret
54
;
55
                org     #0038
56
;
57
rst_0038:       ld      a,8
58
                ret
59
;
60
                code
61
;
62
 
63
fail:           db      'failed'
64
pass:           db      'passed'
65
message_addr:   equ     #be58
66
in_port:        equ     #ff
67
out_port:       equ     #10
68
;
69
data_55:        equ     #55
70
data_7f:        equ     #7f
71
data_80:        equ     #80
72
data_aa:        equ     #aa
73
data_ff:        equ     #ff
74
;
75
data_1234:      equ     #1234
76
data_55aa:      equ     #55aa
77
data_7fff:      equ     #7fff
78
data_8000:      equ     #8000
79
data_aa55:      equ     #aa55
80
data_ffff:      equ     #ffff
81
 
82
stack_end_hi:   equ     #81
83
stack_end_lo:   equ     #80
84
 
85
ctl_port:       equ     #80
86
print_port:     equ     #81
87
;
88
;inc_error_cnt  macro        ;bjp   change for initial test to halt on error
89
;               ld      hl,error_cnt
90
;               inc     (hl)
91
;               endm
92
inc_error_cnt   macro
93
                ld      a, 2
94
                out     (ctl_port), a
95
                halt
96
                endm
97
 
98
 
99
passed          macro
100
                ld      a, 1
101
                out     (ctl_port), a
102
                hlt
103
                ;push   bc
104
                ;ld     bc,(pass)
105
                ;ld     (message_addr),bc
106
                ;ld     bc,(pass+2)
107
                ;ld     (message_addr+2),bc
108
                ;ld     bc,(pass+4)
109
                ;ld     (message_addr+4),bc
110
                ;pop    bc
111
                endm
112
;
113
failed          macro
114
                ld      a, 2
115
                out     (ctl_port), a
116
                halt
117
                ;push   bc
118
                ;ld     bc,(fail)
119
                ;ld     (message_addr),bc
120
                ;ld     bc,(fail+2)
121
                ;ld     (message_addr+2),bc
122
                ;ld     bc,(fail+4)
123
                ;ld     (message_addr+4),bc
124
                ;pop    bc
125
                endm
126
;
127
;
128
 
129
        ;; subroutine to print a message
130
        ;; called from within the "print" macro
131
        ;; expects address to be printed in hl
132
        ;; preserves all other registers
133
print_sub:
134
        push    bc
135
        ld      b, a
136
 
137
print_sub_loop:
138
        ld      a, (hl)
139
        cp      #0
140
        jp      z, print_sub_exit
141
        out     (print_port), a
142
        inc     hl
143
        jp      print_sub_loop
144
 
145
print_sub_exit:
146
        ld      a, b
147
        pop     bc
148
        ret
149
 
150
        ;; macro to print out a message
151
        ;; calls print_sub to do grunt work and minimize code impact of
152
        ;; strings
153
print   macro   message
154
 
155
        push    hl              ; preserve existing regs
156
        ld      hl, msg\?
157
        call    print_sub
158
        pop     hl
159
        jp      exit\?
160
 
161
msg\?   db      message
162
        db      #0a
163
        db      #00
164
 
165
exit\?:
166
 
167
        endm
168
 
169
        ;; print a hex number between 0-255, stored in the A register
170
print_number:
171
        push    bc
172
        ld      b, a            ; store number to be printed in b
173
 
174
        and     #f0
175
        sra     a
176
        sra     a
177
        sra     a
178
        sra     a
179
        cp      a, 10
180
        jp      p, alpha_0
181
        add     48              ; ordinal value of '0'
182
        out     (print_port), a
183
        jp      second_digit
184
alpha_0:
185
        add     65
186
        out     (print_port), a
187
 
188
second_digit:
189
        ld      a, b
190
        and     #0f
191
 
192
        cp      a, 10
193
        jp      p, alpha_1
194
        add     48
195
        out     (print_port), a
196
        jp      print_number_exit
197
 
198
alpha_1:
199
        add     65
200
        out     (print_port), a
201
 
202
print_number_exit:
203
        pop     bc
204
        ret
205
 
206
fail_text db   "Test failed at checkpoint #"
207
        db      #00
208
 
209
fail_routine:
210
        ld      hl, fail_text
211
        call    print_sub       ; print out boilerplate text
212
 
213
        call    print_number    ; print out error number (in A)
214
 
215
        ld      a, #0a          ; print carriage return
216
        out     (print_port), a
217
        failed
218
 
219
        ;; macro to print out failure checkpoint number
220
fail_msg macro number           ; fail with checkpoint number
221
        ld      a, number
222
        jp      fail_routine
223
        endm
224
 
225
print_ns macro message          ; print w/o using subroutine
226
 
227
        push    hl              ; preserve existing regs
228
        ld      hl, msg\?
229
 
230
        push    bc
231
        ld      b, a
232
loop\?:
233
        ld      a, (hl)
234
        cp      #0
235
        jp      z, exit\?
236
        out     (print_port), a
237
        inc     hl
238
        jp      loop\?
239
 
240
        pop     hl
241
        jp      exit\?
242
 
243
msg\?   db      message
244
        db      #0a
245
        db      #00
246
 
247
exit\?:
248
        ld      a, b
249
        pop     bc
250
        pop     hl
251
 
252
        endm
253
 
254
start:
255
                print "Starting test"
256
                xor     a
257
                ld      (pass_count),a
258
                ld      hl,error_cnt
259
                ld      (hl),a                  ;clear error count
260
nop_1:          nop
261
                nop
262
                print "Starting ld tests"
263
ld_167:         ld      a,data_55
264
                cp      data_55
265
                jr      z,ld_1
266
                fail_msg 167
267
 
268
ld_1:           ld      b,data_7f
269
                ld      a,data_7f
270
                cp      b
271
                jr      z,ld_2
272
                fail_msg 1
273
ld_2:           ld      c,data_80
274
                ld      a,data_80
275
                cp      c
276
                jr      z,ld_3
277
                fail_msg 2
278
ld_3:           ld      d,data_aa
279
                ld      a,data_aa
280
                cp      d
281
                jr      z,ld_4
282
                fail_msg 3
283
ld_4:           ld      e,data_55
284
                ld      a,data_55
285
                cp      e
286
                jr      z,ld_5
287
                fail_msg 4
288
ld_5:           ld      h,data_7f
289
                ld      a,data_7f
290
                cp      h
291
                jr      z,ld_6
292
                fail_msg 5
293
ld_6:           ld      l,data_80
294
                ld      a,data_80
295
                cp      l
296
                jr      z,ld_7
297
                fail_msg 6
298
ld_7:           ld      a,data_55
299
                ld      b,a
300
                cp      b
301
                jr      z,ld_8
302
                fail_msg 7
303
ld_8:           ld      c,b
304
                cp      c
305
                jr      z,ld_9
306
                fail_msg 8
307
ld_9:           ld      d,c
308
                cp      d
309
                jr      z,ld_10
310
                fail_msg 9
311
ld_10:          ld      e,d
312
                cp      e
313
                jr      z,ld_11
314
                fail_msg 10
315
ld_11:          ld      h,e
316
                cp      h
317
                jr      z,ld_12
318
                fail_msg 11
319
ld_12:          ld      l,h
320
                cp      l
321
                jr      z,ld_13
322
                fail_msg 12
323
ld_13:          ld      l,data_80
324
                ld      a,l
325
                cp      l
326
                jr      z,ld_14
327
                fail_msg 13
328
ld_14:          ld      h,l
329
                cp      h
330
                jr      z,ld_15
331
                fail_msg 14
332
ld_15:          ld      e,h
333
                cp      e
334
                jr      z,ld_16
335
                fail_msg 15
336
ld_16:          ld      d,e
337
                cp      d
338
                jr      z,ld_17
339
                fail_msg 16
340
ld_17:          ld      c,d
341
                cp      c
342
                jr      z,ld_18
343
                fail_msg 17
344
ld_18:          ld      b,c
345
                cp      b
346
                jr      z,ld_19
347
                fail_msg 18
348
ld_19:          ld      hl,var1
349
                ld      a,(hl)
350
                cp      data_ff
351
                jr      z,ld_20
352
                fail_msg 19
353
ld_20:          ld      hl,var2
354
                ld      a,data_55
355
                ld      b,(hl)
356
                cp      b
357
                jr      z,ld_21
358
                fail_msg 20
359
ld_21:          ld      hl,var1
360
                ld      c,(hl)
361
                ld      a,(hl)
362
                cp      c
363
                jr      z,ld_22
364
                fail_msg 21
365
ld_22:          ld      hl,var2
366
                ld      d,(hl)
367
                ld      a,(hl)
368
                cp      d
369
                jr      z,ld_23
370
                fail_msg 22
371
ld_23:          ld      hl,var1
372
                ld      e,(hl)
373
                ld      a,(hl)
374
                cp      e
375
                jr      z,ld_24
376
                fail_msg 23
377
ld_24:          ld      hl,var2
378
                ld      a,(hl)
379
                ld      h,(hl)
380
                cp      h
381
                jr      z,ld_25
382
                fail_msg 24
383
ld_25:          ld      hl,var1
384
                ld      a,(hl)
385
                ld      l,(hl)
386
                cp      l
387
                jr      z,ld_26
388
                fail_msg 25
389
ld_26:          ld      ix,var3
390
                ld      a,(ix-2)
391
                cp      data_ff
392
                jr      z,ld_27
393
                fail_msg 26
394
ld_27:          ld      a,(ix+2)
395
                cp      data_7f
396
                jr      z,ld_28
397
                fail_msg 27
398
ld_28:          ld      a,(ix-1)
399
                ld      b,(ix-1)
400
                cp      b
401
                jr      z,ld_29
402
                fail_msg 28
403
ld_29:          cp      data_55
404
                jr      z,ld_30
405
                fail_msg 29
406
ld_30:          ld      a,(ix+1)
407
                ld      c,(ix+1)
408
                cp      c
409
                jr      z,ld_31
410
                fail_msg 30
411
ld_31:          cp      data_aa
412
                jr      z,ld_32
413
                fail_msg 31
414
ld_32:          ld      d,(ix-2)
415
                ld      a,(ix-2)
416
                cp      d
417
                jr      z,ld_33
418
                fail_msg 32
419
ld_33:          cp      data_ff
420
                jr      z,ld_34
421
                fail_msg 33
422
ld_34:          ld      e,(ix+2)
423
                ld      a,(ix+2)
424
                cp      e
425
                jr      z,ld_35
426
                fail_msg 34
427
ld_35:          cp      data_7f
428
                jr      z,ld_36
429
                fail_msg 35
430
ld_36:          ld      h,(ix+0)
431
                ld      a,(ix+0)
432
                cp      h
433
                jr      z,ld_37
434
                fail_msg 36
435
ld_37:          cp      data_80
436
                jr      z,ld_38
437
                fail_msg 37
438
ld_38:          ld      l,(ix-1)
439
                ld      a,(ix-1)
440
                cp      l
441
                jr      z,ld_39
442
                fail_msg 38
443
ld_39:          cp      data_55
444
                jr      z,ld_40
445
                fail_msg 39
446
ld_40:          ld      iy,var3
447
                ld      a,(iy-2)
448
                cp      data_ff
449
                jr      z,ld_41
450
                fail_msg 40
451
ld_41:          ld      a,(iy+2)
452
                cp      data_7f
453
                jr      z,ld_42
454
                fail_msg 41
455
ld_42:          ld      b,(iy-1)
456
                ld      a,(iy-1)
457
                cp      b
458
                jr      z,ld_43
459
                fail_msg 42
460
ld_43:          cp      data_55
461
                jr      z,ld_44
462
                fail_msg 43
463
ld_44:          ld      c,(iy+1)
464
                ld      a,(iy+1)
465
                cp      c
466
                jr      z,ld_45
467
                fail_msg 44
468
ld_45:          cp      data_aa
469
                jr      z,ld_46
470
                fail_msg 45
471
ld_46:          ld      d,(iy-2)
472
                ld      a,(iy-2)
473
                cp      d
474
                jr      z,ld_47
475
                fail_msg 46
476
ld_47:          cp      data_ff
477
                jr      z,ld_48
478
                fail_msg 47
479
ld_48:          ld      e,(iy+2)
480
                ld      a,(iy+2)
481
                cp      e
482
                jr      z,ld_49
483
                fail_msg 48
484
ld_49:          cp      data_7f
485
                jr      z,ld_50
486
                fail_msg 49
487
ld_50:          ld      h,(iy+0)
488
                ld      a,(iy+0)
489
                cp      h
490
                print   "ld_50"
491
                jr      z,ld_51
492
                fail_msg 50
493
ld_51:          cp      data_80
494
                jr      z,ld_52
495
                fail_msg 51
496
ld_52:          ld      l,(iy-2)
497
                ld      a,(iy-2)
498
                cp      l
499
                jr      z,ld_53
500
                fail_msg 52
501
ld_53:          cp      data_ff
502
                jr      z,ld_54
503
                fail_msg 53
504
ld_54:          ld      hl,t_var1
505
                ld      a,data_aa+1
506
                ld      (hl),a
507
                ld      b,(hl)
508
                cp      b
509
                jr      z,ld_55
510
                fail_msg 54
511
ld_55:          cp      data_aa+1
512
                jr      z,ld_56
513
                fail_msg 55
514
ld_56:          ld      b,data_80+1
515
                ld      (hl),b
516
                ld      a,(hl)
517
                cp      b
518
                jr      z,ld_57
519
                fail_msg 56
520
ld_57:          cp      data_80+1
521
                jr      z,ld_58
522
                fail_msg 57
523
ld_58:          ld      c,data_55-1
524
                ld      (hl),c
525
                ld      a,(hl)
526
                cp      c
527
                jr      z,ld_59
528
                fail_msg 58
529
ld_59:          cp      data_55-1
530
                jr      z,ld_60
531
                fail_msg 59
532
ld_60:          ld      d,data_ff-1
533
                ld      (hl),d
534
                ld      a,(hl)
535
                cp      d
536
                jr      z,ld_61
537
                fail_msg 60
538
ld_61:          cp      data_ff-1
539
                jr      z,ld_62
540
                fail_msg 61
541
ld_62:          ld      e,data_55+1
542
                ld      (hl),e
543
                ld      a,(hl)
544
                cp      e
545
                jr      z,ld_63
546
                fail_msg 62
547
ld_63:          cp      data_55+1
548
                jr      z,ld_64
549
                fail_msg 63
550
ld_64:          ld      (hl),h
551
                ld      a,(hl)
552
                cp      h
553
                jr      z,ld_65
554
                fail_msg 64
555
ld_65:          cp      #80             ;bjp  guess  >t_var1
556
                jr      z,ld_66
557
                fail_msg 65
558
ld_66:          ld      (hl),l
559
                ld      a,(hl)
560
                cp      l
561
                jr      z,ld_67
562
                fail_msg 66
563
ld_67:          cp      a, #00          ;bjp  guess 
564
                jr      z,ld_68
565
                fail_msg 67
566
ld_68:          ld      ix,t_var3
567
                ld      a,data_55
568
                ld      (ix-2),a
569
                ld      a,0
570
                ld      a,(ix-2)
571
                cp      data_55
572
                jr      z,ld_69
573
                fail_msg 68
574
ld_69:          ld      a,data_80
575
                ld      (ix+2),a
576
                ld      a,0
577
                ld      a,(ix+2)
578
                cp      data_80
579
                jr      z,ld_70
580
                fail_msg 69
581
ld_70:          ld      b,data_7f
582
                ld      (ix-1),b
583
                ld      a,(ix-1)
584
                cp      b
585
                jr      z,ld_71
586
                fail_msg 70
587
ld_71:          cp      data_7f
588
                jr      z,ld_72
589
                fail_msg 71
590
ld_72:          ld      c,data_aa
591
                ld      (ix+1),c
592
                ld      a,(ix+1)
593
                cp      c
594
                jr      z,ld_73
595
                fail_msg 72
596
ld_73:          cp      data_aa
597
                jr      z,ld_74
598
                fail_msg 73
599
ld_74:          ld      d,data_80
600
                ld      (ix+0),d
601
                ld      a,(ix+0)
602
                cp      d
603
                jr      z,ld_75
604
                fail_msg 74
605
ld_75:          cp      data_80
606
                jr      z,ld_76
607
                fail_msg 75
608
ld_76:          ld      e,data_55+2
609
                ld      (ix-2),e
610
                ld      a,(ix-2)
611
                cp      e
612
                jr      z,ld_77
613
                fail_msg 76
614
ld_77:          cp      data_55+2
615
                jr      z,ld_78
616
                fail_msg 77
617
ld_78:          ld      h,data_aa-2
618
                ld      (ix+2),h
619
                ld      a,(ix+2)
620
                cp      h
621
                jr      z,ld_79
622
                fail_msg 78
623
ld_79:          cp      data_aa-2
624
                jr      z,ld_80
625
                fail_msg 79
626
ld_80:          ld      l,data_aa+2
627
                ld      (ix-1),l
628
                ld      a,(ix-1)
629
                cp      l
630
                jr      z,ld_81
631
                fail_msg 80
632
ld_81:          cp      data_aa+2
633
                jr      z,ld_82
634
                fail_msg 81
635
ld_82:          ld      iy,t_var3
636
                ld      a,data_ff
637
                ld      (iy-2),a
638
                ld      a,0
639
                ld      a,(iy-2)
640
                cp      data_ff
641
                jr      z,ld_83
642
                fail_msg 82
643
ld_83:          ld      a,data_7f
644
                ld      (iy+2),a
645
                ld      a,0
646
                ld      a,(iy+2)
647
                cp      data_7f
648
                jr      z,ld_84
649
                fail_msg 83
650
ld_84:          ld      b,data_55
651
                ld      (iy-1),b
652
                ld      a,(iy-1)
653
                cp      b
654
                jr      z,ld_85
655
                fail_msg 84
656
ld_85:          cp      data_55
657
                jr      z,ld_86
658
                fail_msg 85
659
ld_86:          ld      c,data_aa
660
                ld      (iy+1),c
661
                ld      a,(iy+1)
662
                cp      c
663
                jr      z,ld_87
664
                fail_msg 86
665
ld_87:          cp      data_aa
666
                jr      z,ld_88
667
                fail_msg 87
668
ld_88:          ld      d,data_80
669
                ld      (iy+0),d
670
                ld      a,(iy+0)
671
                cp      d
672
                jr      z,ld_89
673
                fail_msg 88
674
ld_89:          cp      data_80
675
                jr      z,ld_90
676
                fail_msg 89
677
ld_90:          ld      e,data_ff-2
678
                ld      (iy-2),e
679
                ld      a,(iy-2)
680
                cp      e
681
                jr      z,ld_91
682
                fail_msg 90
683
ld_91:          cp      data_ff-2
684
                jr      z,ld_92
685
                fail_msg 91
686
ld_92:          ld      h,data_7f-3
687
                ld      (iy+2),h
688
                ld      a,(iy+2)
689
                cp      h
690
                jr      z,ld_93
691
                fail_msg 92
692
ld_93:          cp      data_7f-3
693
                jr      z,ld_94
694
                fail_msg 93
695
ld_94:          ld      l,data_55-5
696
                ld      (iy-1),l
697
                ld      a,(iy-1)
698
                cp      l
699
                jr      z,ld_95
700
                fail_msg 94
701
ld_95:          cp      data_55-5
702
                jr      z,ld_96
703
                fail_msg 95
704
ld_96:          ld      hl,t_var1
705
                ld      (hl),data_80+10
706
                ld      a,(hl)
707
                cp      data_80+10
708
                jr      z,ld_97
709
                fail_msg 96
710
ld_97:          ld      ix,t_var3
711
                ld      (ix-2),data_55-10
712
                ld      a,(ix-2)
713
                cp      data_55-10
714
                jr      z,ld_98
715
                fail_msg 97
716
ld_98:          ld      (ix+2),data_55+10
717
                ld      a,(ix+2)
718
                cp      data_55+10
719
                jr      z,ld_99
720
                fail_msg 98
721
ld_99:          ld      iy,t_var2
722
                ld      (iy-1),data_80+17
723
                ld      a,(iy-1)
724
                cp      data_80+17
725
                jr      z,ld_100
726
                fail_msg 99
727
ld_100:         ld      (iy+1),data_80-17
728
                ld      a,(iy+1)
729
                cp      data_80-17
730
                print   "ld_100"
731
                jr      z,ld_101
732
                fail_msg 100
733
ld_101:         ld      hl,t_var5
734
                ld      bc,t_var5
735
                ld      (hl),data_aa-10
736
                ld      a,(bc)
737
                cp      data_aa-10
738
                jr      z,ld_102
739
                fail_msg 101
740
ld_102:         ld      hl,t_var3
741
                ld      de,t_var3
742
                ld      (hl),data_aa+10
743
                ld      a,(de)
744
                cp      data_aa+10
745
                jr      z,ld_103
746
                fail_msg 102
747
ld_103:         ld      hl,t_var2
748
                ld      (hl),data_7f-25
749
                ld      a,(t_var2)
750
                cp      data_7f-25
751
                jr      z,ld_104
752
                fail_msg 103
753
ld_104:         ld      hl,t_var4
754
                ld      bc,t_var4
755
                ld      a,data_55-20
756
                ld      (bc),a
757
                ld      b,(hl)
758
                cp      b
759
                jr      z,ld_105
760
                fail_msg 104
761
ld_105:         ld      a,b
762
                cp      data_55-20
763
                jr      z,ld_106
764
                fail_msg 105
765
ld_106:         ld      hl,t_var5
766
                ld      de,t_var5
767
                ld      a,data_55+20
768
                ld      (de),a
769
                ld      c,(hl)
770
                cp      c
771
                jr      z,ld_107
772
                fail_msg 106
773
ld_107:         ld      a,c
774
                cp      data_55+20
775
                jr      z,ld_108
776
                fail_msg 107
777
ld_108:         ld      hl,t_var4
778
                ld      a,data_ff-24
779
                ld      (t_var4),a
780
                ld      e,(hl)
781
                cp      e
782
                jr      z,ld_109
783
                fail_msg 108
784
ld_109:         ld      a,e
785
                cp      data_ff-24
786
                jr      z,ld_110
787
                fail_msg 109
788
ld_110:         ld      a,data_55
789
                ld      i,a
790
                ld      a,0
791
                ld      a,i
792
                jr      nz,ld_111
793
                fail_msg 110
794
ld_111:         jp      p,ld_112
795
                fail_msg 111
796
ld_112:         cp      data_55
797
                jr      z,ld_113
798
                fail_msg 112
799
ld_113:         ld      a,data_80
800
                ld      i,a
801
                ld      a,0
802
                ld      a,i
803
                jr      nz,ld_114
804
                fail_msg 113
805
ld_114:         jp      m,ld_115
806
                fail_msg 114
807
ld_115:         cp      data_80
808
                jr      z,ld_116
809
                fail_msg 115
810
ld_116:         ld      a,0
811
                ld      i,a
812
                ld      a,data_55
813
                ld      a,i
814
                jr      z,ld_125
815
                fail_msg 116
816
;   refresh register not implemented
817
;   test for ie ?
818
;ld_117:                ld      a,data_55
819
;               ld      r,a
820
;               ld      a,0
821
;               ld      a,r
822
;               jp      p,ld_118
823
;               inc_error_cnt
824
;ld_118:                jr      nz,ld_119
825
;               inc_error_cnt
826
;ld_119:                ld      a,data_ff
827
;               ld      r,a
828
;               ld      a,0
829
;               ld      a,r
830
;               jp      m,ld_120
831
;               inc_error_cnt
832
;ld_120:                ld      a,4                     ;totally sequence dependent
833
;               ld      r,a
834
;               ld      a,data_55
835
;               ld      a,r
836
;               jr      z,ld_121
837
;               inc_error_cnt
838
;ld_121:                ei                              ;set iff2
839
;               ld      a,i
840
;               jp      pe,ld_122               ;iff2 was set
841
;               inc_error_cnt
842
;ld_122:                di                              ;clear iff2
843
;               ld      a,i
844
;               jp      po,ld_123               ;iff2 was cleared
845
;               inc_error_cnt
846
;ld_123:                ei                              ;set iff2
847
;               ld      a,r
848
;               jp      pe,ld_124               ;iff2 was set
849
;               inc_error_cnt
850
;ld_124:                di                              ;clear iff2
851
;               ld      a,r
852
;               jp      po,ld_125               ;iff2 was cleared
853
;               inc_error_cnt
854
;
855
ld_125:         ld      bc,data_1234
856
                ld      a, #12                  ;bjp  guess >data_1234
857
                cp      b
858
                jr      z,ld_126
859
                fail_msg 125
860
ld_126:         ld      a, #34                  ;bjp  guess  
861
                cp      c
862
                jr      z,ld_127
863
                fail_msg 126
864
ld_127:         ld      de,data_55aa
865
                ld      a,data_55
866
                cp      d
867
                jr      z,ld_128
868
                fail_msg 127
869
ld_128:         ld      a,data_aa
870
                cp      e
871
                jr      z,ld_129
872
                fail_msg 128
873
ld_129:         ld      hl,data_7fff
874
                ld      a,data_7f
875
                cp      h
876
                jr      z,ld_130
877
                fail_msg 129
878
ld_130:         ld      a,data_ff
879
                cp      l
880
                jr      z,ld_131
881
                fail_msg 130
882
ld_131:         ld      sp,data_aa55
883
                ld      hl,0
884
                add     hl,sp
885
                ld      a,data_aa
886
                cp      h
887
                jr      z,ld_132
888
                fail_msg 131
889
ld_132:         ld      a,data_55
890
                cp      l
891
                jr      z,ld_133
892
                fail_msg 132
893
ld_133:         ld      ix,data_ffff
894
                ld      hl,0
895
                ld      sp,ix
896
                add     hl,sp
897
                ld      a,data_ff
898
                cp      h
899
                jr      z,ld_134
900
                fail_msg 133
901
ld_134:         cp      l
902
                jr      z,ld_135
903
                fail_msg 134
904
ld_135:         ld      iy,data_1234
905
                ld      hl,0
906
                ld      sp,iy
907
                add     hl,sp
908
                ld      a,#12      ;bjp was >data_1234
909
                cp      h
910
                jr      z,ld_136
911
                fail_msg 135
912
ld_136:         ld      a,#34      ;bjp was >data_1234
913
                cp      l
914
                jr      z,ld_137
915
                fail_msg 136
916
ld_137:         ld      hl,(w_var2)
917
                ld      a,data_55
918
                cp      h
919
                jr      z,ld_138
920
                fail_msg 137
921
ld_138:         ld      a,data_aa
922
                cp      l
923
                jr      z,ld_139
924
                fail_msg 138
925
ld_139:         ld      bc,(w_var1)
926
                ld      a,#12      ;bjp was >data_1234
927
                cp      b
928
                jr      z,ld_140
929
                fail_msg 139
930
ld_140:         ld      a,#34      ;bjp was >data_1234
931
                cp      c
932
                jr      z,ld_141
933
                fail_msg 140
934
ld_141:         ld      de,(w_var3)
935
                ld      a,data_7f
936
                cp      d
937
                jr      z,ld_142
938
                fail_msg 141
939
ld_142:         ld      a,data_ff
940
                cp      e
941
                jr      z,ld_143
942
                fail_msg 142
943
ld_143:         ld      hl,(w_var4)
944
                ld      a,data_80
945
                cp      h
946
                jr      z,ld_144
947
                fail_msg 143
948
ld_144:         ld      a,0
949
                cp      l
950
                jr      z,ld_145
951
                fail_msg 144
952
ld_145:         ld      sp,(w_var5)
953
                ld      hl,0
954
                add     hl,sp
955
                ld      a,data_aa
956
                cp      h
957
                jr      z,ld_146
958
                fail_msg 145
959
ld_146:         ld      a,data_55
960
                cp      l
961
                jr      z,ld_147
962
                fail_msg 146
963
ld_147:         ld      ix,(w_var6)
964
                ld      hl,0
965
                ld      sp,ix
966
                add     hl,sp
967
                ld      a,data_ff
968
                cp      h
969
                jr      z,ld_148
970
                fail_msg 147
971
ld_148:         cp      l
972
                jr      z,ld_149
973
                fail_msg 148
974
ld_149:         ld      iy,(w_var1)
975
                ld      hl,0
976
                ld      sp,iy
977
                add     hl,sp
978
                ld      a,#12      ;bjp was >data_1234
979
                cp      h
980
                jr      z,ld_150
981
                fail_msg 149
982
ld_150:         ld      a,#34      ;bjp was >data_1234
983
                cp      l
984
                print   "ld_150"
985
                jr      z,ld_151
986
                fail_msg 150
987
ld_151:         ld      hl,data_1234
988
                ld      (tw_var1),hl
989
                ld      bc,(tw_var1)
990
                ld      a,#12      ;bjp was >data_1234
991
                cp      b
992
                jr      z,ld_152
993
                fail_msg 151
994
ld_152:         ld      a,#34      ;bjp was >data_1234
995
                cp      c
996
                jr      z,ld_153
997
                fail_msg 152
998
ld_153:         ld      bc,data_55aa
999
                ld      (tw_var2),bc
1000
                ld      hl,(tw_var2)
1001
                ld      a,data_55
1002
                cp      h
1003
                jr      z,ld_154
1004
                fail_msg 153
1005
ld_154:         ld      a,data_aa
1006
                cp      l
1007
                jr      z,ld_155
1008
                fail_msg 154
1009
ld_155:         ld      de,data_7fff
1010
                ld      (tw_var3),de
1011
                ld      hl,(tw_var3)
1012
                ld      a,data_7f
1013
                cp      h
1014
                jr      z,ld_156
1015
                fail_msg 155
1016
ld_156:         ld      a,data_ff
1017
                cp      l
1018
                jr      z,ld_157
1019
                fail_msg 156
1020
ld_157:         ld      hl,data_8000
1021
                ld      (tw_var4),hl
1022
                ld      bc,(tw_var4)
1023
                ld      a,data_80
1024
                cp      b
1025
                jr      z,ld_158
1026
                fail_msg 157
1027
ld_158:         ld      a,0
1028
                cp      c
1029
                jr      z,ld_159
1030
                fail_msg 158
1031
ld_159:         ld      sp,data_aa55
1032
                ld      (tw_var5),sp
1033
                ld      hl,(tw_var5)
1034
                ld      a,data_aa
1035
                cp      h
1036
                jr      z,ld_160
1037
                fail_msg 159
1038
ld_160:         ld      a,data_55
1039
                cp      l
1040
                jr      z,ld_161
1041
                fail_msg 160
1042
ld_161:         ld      ix,data_ffff
1043
                ld      (tw_var6),ix
1044
                ld      hl,(tw_var6)
1045
                ld      a,data_ff
1046
                cp      h
1047
                jr      z,ld_162
1048
                fail_msg 161
1049
ld_162:         cp      l
1050
                jr      z,ld_163
1051
                fail_msg 162
1052
ld_163:         ld      iy,data_1234
1053
                ld      (tw_var7),iy
1054
                ld      hl,(tw_var7)
1055
                ld      a,#12      ;bjp was >data_1234
1056
                cp      h
1057
                jr      z,ld_164
1058
                fail_msg 163
1059
ld_164:         ld      a,#34      ;bjp was >data_1234
1060
                cp      l
1061
                jr      z,ld_165
1062
                fail_msg 164
1063
ld_165:         ld      hl,data_55aa
1064
                ld      sp,hl
1065
                ld      hl,0
1066
                add     hl,sp
1067
                ld      a,data_55
1068
                cp      h
1069
                jr      z,ld_166
1070
                fail_msg 165
1071
ld_166:         ld      a,data_aa
1072
                cp      l
1073
                jr      z,push_0
1074
                fail_msg 166
1075
push_0:         ld      sp,stack_end
1076
                ld      bc,data_1234
1077
                push    bc
1078
                ld      bc,0
1079
                pop     bc
1080
                ld      a,#12      ;bjp was >data_1234
1081
                cp      b
1082
                print   "push_0"
1083
                jr      z,push_1
1084
                inc_error_cnt
1085
push_1:         ld      a,#34      ;bjp was >data_1234
1086
                cp      c
1087
                jr      z,push_2
1088
                inc_error_cnt
1089
push_2:         ld      de,data_55aa
1090
                push    de
1091
                ld      de,0
1092
                pop     de
1093
                ld      a,data_55
1094
                cp      d
1095
                jr      z,push_3
1096
                inc_error_cnt
1097
push_3:         ld      a,data_aa
1098
                cp      e
1099
                jr      z,push_4
1100
                inc_error_cnt
1101
push_4:         ld      hl,data_7fff
1102
                push    hl
1103
                ld      hl,0
1104
                pop     hl
1105
                ld      a,data_7f
1106
                cp      h
1107
                jr      z,push_5
1108
                inc_error_cnt
1109
push_5:         ld      a,data_ff
1110
                cp      l
1111
                jr      z,push_6
1112
                inc_error_cnt
1113
push_6:         ld      a,data_80
1114
                push    af                      ;f depends on previous compare
1115
                ld      hl,0
1116
                pop     hl
1117
                cp      h
1118
                jr      z,push_7
1119
                inc_error_cnt
1120
push_7:         ld      a,l
1121
                cp      #42
1122
                jr      z,push_8
1123
push_8:         ld      h,data_55
1124
                ld      l,data_80+#41
1125
                ld      a,0
1126
                push    hl
1127
                pop     af
1128
                jp      m,push_9
1129
                inc_error_cnt
1130
push_9:         jr      z,push_10
1131
                inc_error_cnt
1132
push_10:        jr      c,push_11
1133
                inc_error_cnt
1134
push_11:        cp      data_55
1135
                jr      z,push_12
1136
                inc_error_cnt
1137
push_12:        ld      ix,data_aa55
1138
                ld      bc,0
1139
                push    ix
1140
                pop     bc
1141
                ld      a,data_aa
1142
                cp      b
1143
                jr      z,push_13
1144
                inc_error_cnt
1145
push_13:        ld      a,data_55
1146
                cp      c
1147
                jr      z,push_14
1148
                inc_error_cnt
1149
push_14:        ld      iy,data_7fff
1150
                ld      de,0
1151
                push    iy
1152
                pop     de
1153
                ld      a,data_7f
1154
                cp      d
1155
                jr      z,push_15
1156
                inc_error_cnt
1157
push_15:        ld      a,data_ff
1158
                cp      e
1159
                jr      z,push_16
1160
                inc_error_cnt
1161
push_16:        ld      de,data_1234
1162
                ld      ix,0
1163
                ld      hl,0
1164
                push    de
1165
                pop     ix
1166
                ld      sp,ix
1167
                add     hl,sp
1168
                ld      a,#12      ;bjp was >data_1234
1169
                cp      h
1170
                jr      z,push_17
1171
                inc_error_cnt
1172
push_17:        ld      a,#34      ;bjp was >data_1234
1173
                cp      l
1174
                jr      z,push_18
1175
                inc_error_cnt
1176
push_18:        ld      sp,stack_end
1177
                ld      bc,data_55aa
1178
                ld      iy,0
1179
                ld      hl,0
1180
                push    bc
1181
                pop     iy
1182
                ld      sp,iy
1183
                add     hl,sp
1184
                ld      a,data_55
1185
                cp      h
1186
                jr      z,push_19
1187
                inc_error_cnt
1188
push_19:        ld      a,data_aa
1189
                cp      l
1190
                jr      z,push_20
1191
                inc_error_cnt
1192
push_20:        ld      sp,stack_end
1193
ex_0:           ld      de,data_1234
1194
                ld      hl,data_ffff
1195
                ex      de,hl
1196
                ld      a,data_ff
1197
                cp      d
1198
                jr      z,ex_1
1199
                inc_error_cnt
1200
ex_1:           cp      e
1201
                jr      z,ex_2
1202
                inc_error_cnt
1203
ex_2:           ld      a,#12      ;bjp was >data_1234
1204
                cp      h
1205
                jr      z,ex_3
1206
                inc_error_cnt
1207
ex_3:           ld      a,#34      ;bjp was >data_1234
1208
                cp      l
1209
                jr      z,ex_4
1210
                inc_error_cnt
1211
ex_4:           ld      h,0
1212
                ld      l,0
1213
                push    hl
1214
                pop     af
1215
                ex      af,af'
1216
                ld      h,data_7f
1217
                ld      l,data_80+#41
1218
                push    hl
1219
                pop     af
1220
                ex      af,af'
1221
                cp      0
1222
                jr      z,ex_5
1223
                inc_error_cnt
1224
ex_5:           ex      af,af'
1225
                jp      m,ex_6
1226
                inc_error_cnt
1227
ex_6:           jr      z,ex_7
1228
                inc_error_cnt
1229
ex_7:           cp      data_7f
1230
                jr      z,ex_8
1231
                inc_error_cnt
1232
ex_8:           ld      hl,0
1233
                ld      bc,0
1234
                ld      de,0
1235
                exx
1236
                ld      hl,data_1234
1237
                ld      bc,data_7fff
1238
                ld      de,data_aa55
1239
                exx
1240
                ld      a,0
1241
                cp      h
1242
                jr      z,ex_9
1243
                inc_error_cnt
1244
ex_9:           cp      l
1245
                jr      z,ex_10
1246
                inc_error_cnt
1247
ex_10:          cp      d
1248
                jr      z,ex_11
1249
                inc_error_cnt
1250
ex_11:          cp      e
1251
                jr      z,ex_12
1252
                inc_error_cnt
1253
ex_12:          cp      b
1254
                jr      z,ex_13
1255
                inc_error_cnt
1256
ex_13:          cp      c
1257
                jr      z,ex_14
1258
                inc_error_cnt
1259
ex_14:          exx
1260
                ld      a,#12      ;bjp was >data_1234
1261
                cp      h
1262
                jr      z,ex_15
1263
                inc_error_cnt
1264
ex_15:          ld      a,#34      ;bjp was >data_1234
1265
                cp      l
1266
                jr      z,ex_16
1267
                inc_error_cnt
1268
ex_16:          ld      a,data_aa
1269
                cp      d
1270
                jr      z,ex_17
1271
                inc_error_cnt
1272
ex_17:          ld      a,data_55
1273
                cp      e
1274
                jr      z,ex_18
1275
                inc_error_cnt
1276
ex_18:          ld      a,data_7f
1277
                cp      b
1278
                jr      z,ex_19
1279
                inc_error_cnt
1280
ex_19:          ld      a,data_ff
1281
                cp      c
1282
                jr      z,ex_20
1283
                inc_error_cnt
1284
ex_20:          ld      bc,data_55aa
1285
                ld      hl,data_7fff
1286
                push    bc
1287
                ex      (sp),hl
1288
                pop     bc
1289
                ld      a,data_7f
1290
                cp      b
1291
                jr      z,ex_21
1292
                inc_error_cnt
1293
ex_21:          ld      a,data_ff
1294
                cp      c
1295
                jr      z,ex_22
1296
                inc_error_cnt
1297
ex_22:          ld      a,data_55
1298
                cp      h
1299
                jr      z,ex_23
1300
                inc_error_cnt
1301
ex_23:          ld      a,data_aa
1302
                cp      l
1303
                jr      z,ex_24
1304
                inc_error_cnt
1305
ex_24:          ld      bc,data_ffff
1306
                ld      ix,data_8000
1307
                ld      hl,0
1308
                push    bc
1309
                ex      (sp),ix
1310
                pop     bc
1311
                ld      sp,ix
1312
                add     hl,sp
1313
                ld      a,data_80
1314
                cp      b
1315
                jr      z,ex_25
1316
                inc_error_cnt
1317
ex_25:          ld      a,0
1318
                cp      c
1319
                jr      z,ex_26
1320
                inc_error_cnt
1321
ex_26:          ld      a,data_ff
1322
                cp      h
1323
                jr      z,ex_27
1324
                inc_error_cnt
1325
ex_27:          cp      l
1326
                jr      z,ex_28
1327
                inc_error_cnt
1328
ex_28:          ld      sp,stack_end
1329
                ld      bc,data_1234
1330
                ld      iy,data_7fff
1331
                ld      hl,0
1332
                push    bc
1333
                ex      (sp),iy
1334
                pop     bc
1335
                ld      sp,iy
1336
                add     hl,sp
1337
                ld      a,data_7f
1338
                cp      b
1339
                jr      z,ex_29
1340
                inc_error_cnt
1341
ex_29:          ld      a,data_ff
1342
                cp      c
1343
                jr      z,ex_30
1344
                inc_error_cnt
1345
ex_30:          ld      a,#12      ;bjp was >data_1234
1346
                cp      h
1347
                jr      z,ex_31
1348
                inc_error_cnt
1349
ex_31:          ld      a,#34      ;bjp was >data_1234
1350
                cp      l
1351
                jr      z,add_0
1352
                inc_error_cnt
1353
add_0:          ld      a,0
1354
                ld      b,data_7f
1355
                add     a,b
1356
                cp      data_7f
1357
                jr      z,add_1
1358
                inc_error_cnt
1359
add_1:          ld      a,0
1360
                ld      b,0
1361
                add     a,b
1362
                jr      z,add_2
1363
                inc_error_cnt
1364
add_2:          ld      b,data_55
1365
                add     a,b
1366
                jr      nz,add_3
1367
                inc_error_cnt
1368
add_3:          cp      data_55
1369
                jr      z,add_4
1370
                inc_error_cnt
1371
add_4:          ld      a,data_ff
1372
                ld      b,1
1373
                add     a,b
1374
                jr      c,add_5
1375
                inc_error_cnt
1376
add_5:          add     a,b
1377
                jr      nc,add_6
1378
                inc_error_cnt
1379
add_6:          ld      a,data_ff
1380
                ld      b,0
1381
                add     a,b
1382
                jp      m,add_7
1383
                inc_error_cnt
1384
add_7:          ld      b,1
1385
                add     a,b
1386
                jp      p,add_8
1387
                inc_error_cnt
1388
add_8:          ld      a,data_7f
1389
                ld      b,1
1390
                add     a,b
1391
                jp      pe,add_9
1392
                inc_error_cnt
1393
add_9:          add     a,b
1394
                jp      po,add_10
1395
                inc_error_cnt
1396
add_10:         ld      a,data_55
1397
                ld      c,2
1398
                add     a,c
1399
                cp      data_55+2
1400
                jr      z,add_11
1401
                inc_error_cnt
1402
add_11:         ld      a,data_80
1403
                add     a,c
1404
                cp      data_80+2
1405
                jr      z,add_12
1406
                inc_error_cnt
1407
add_12:         ld      a,data_aa
1408
                ld      d,data_55
1409
                add     a,d
1410
                cp      data_aa+data_55
1411
                jr      z,add_13
1412
                inc_error_cnt
1413
add_13:         ld      a,data_aa
1414
                ld      e,2
1415
                add     a,e
1416
                cp      data_aa+2
1417
                jr      z,add_14
1418
                inc_error_cnt
1419
add_14:         ld      a,data_55
1420
                ld      h,24
1421
                add     a,h
1422
                cp      data_55+24
1423
                jr      z,add_15
1424
                inc_error_cnt
1425
add_15:         ld      a,data_7f-10
1426
                ld      l,10
1427
                add     a,l
1428
                cp      data_7f
1429
                jr      z,add_16
1430
                inc_error_cnt
1431
add_16:         ld      a,1
1432
                add     a,data_7f
1433
                jp      pe,add_17
1434
                inc_error_cnt
1435
add_17:         jp      m,add_18
1436
                inc_error_cnt
1437
add_18:         jr      nz,add_19
1438
                inc_error_cnt
1439
add_19:         cp      data_80
1440
                jr      z,add_20
1441
                inc_error_cnt
1442
add_20:         ld      a,data_55
1443
                add     a,1
1444
                jp      po,add_21
1445
                inc_error_cnt
1446
add_21:         jp      p,add_22
1447
                inc_error_cnt
1448
add_22:         jr      nc,add_23
1449
                inc_error_cnt
1450
add_23:         cp      data_55+1
1451
                jr      z,add_24
1452
                inc_error_cnt
1453
add_24:         ld      a,data_ff
1454
                add     a,1
1455
                jr      c,add_25
1456
                inc_error_cnt
1457
add_25:         jr      z,add_26
1458
                inc_error_cnt
1459
add_26:         add     a,1
1460
                jr      nc,add_27
1461
                inc_error_cnt
1462
add_27:         jr      nz,add_28
1463
                inc_error_cnt
1464
add_28:         cp      1
1465
                jr      z,add_29
1466
                inc_error_cnt
1467
add_29:         ld      hl,var2
1468
                ld      a,2
1469
                add     a,(hl)
1470
                jp      po,add_30
1471
                inc_error_cnt
1472
add_30:         jp      p,add_31
1473
                inc_error_cnt
1474
add_31:         jr      nz,add_32
1475
                inc_error_cnt
1476
add_32:         jr      nc,add_33
1477
                inc_error_cnt
1478
add_33:         cp      data_55+2
1479
                jr      z,add_34
1480
                inc_error_cnt
1481
add_34:         ld      hl,var1
1482
                ld      a,1
1483
                add     a,(hl)
1484
                jr      c,add_35
1485
                inc_error_cnt
1486
add_35:         jr      z,add_36
1487
                inc_error_cnt
1488
add_36:         ld      hl,var5
1489
                ld      a,1
1490
                add     a,(hl)
1491
                jp      m,add_37
1492
                inc_error_cnt
1493
add_37:         jp      pe,add_38
1494
                inc_error_cnt
1495
add_38:         cp      data_80
1496
                jr      z,add_39
1497
                inc_error_cnt
1498
add_39:         ld      ix,var3
1499
                ld      a,1
1500
                add     a,(ix-1)
1501
                jp      po,add_40
1502
                inc_error_cnt
1503
add_40:         jp      p,add_41
1504
                inc_error_cnt
1505
add_41:         jr      nz,add_42
1506
                inc_error_cnt
1507
add_42:         jr      nc,add_43
1508
                inc_error_cnt
1509
add_43:         cp      data_55+1
1510
                jr      z,add_44
1511
                inc_error_cnt
1512
add_44:         ld      a,1
1513
                add     a,(ix+2)
1514
                jp      pe,add_45
1515
                inc_error_cnt
1516
add_45:         jp      m,add_46
1517
                inc_error_cnt
1518
add_46:         cp      data_80
1519
                jr      z,add_47
1520
                inc_error_cnt
1521
add_47:         ld      a,1
1522
                add     a,(ix-2)
1523
                jr      c,add_48
1524
                inc_error_cnt
1525
add_48:         jr      z,add_49
1526
                inc_error_cnt
1527
add_49:         add     a,1
1528
                jr      nc,add_50
1529
                inc_error_cnt
1530
add_50:         jr      nz,add_51
1531
                inc_error_cnt
1532
add_51:         cp      1
1533
                jr      z,add_52
1534
                inc_error_cnt
1535
add_52:         ld      iy,var3
1536
                ld      a,10
1537
                add     a,(iy-1)
1538
                jp      po,add_53
1539
                inc_error_cnt
1540
add_53:         jp      p,add_54
1541
                inc_error_cnt
1542
add_54:         jr      nz,add_55
1543
                inc_error_cnt
1544
add_55:         jr      nc,add_56
1545
                inc_error_cnt
1546
add_56:         cp      data_55+10
1547
                jr      z,add_57
1548
                inc_error_cnt
1549
add_57:         ld      a,1
1550
                add     a,(iy+2)
1551
                jp      pe,add_58
1552
                inc_error_cnt
1553
add_58:         jp      m,add_59
1554
                inc_error_cnt
1555
add_59:         add     a,1
1556
                jp      po,add_60
1557
                inc_error_cnt
1558
add_60:         cp      data_80+1
1559
                jr      z,add_61
1560
                inc_error_cnt
1561
add_61:         ld      a,1
1562
                add     a,(iy-2)
1563
                jr      z,add_62
1564
                inc_error_cnt
1565
add_62:         jr      c,add_63
1566
                inc_error_cnt
1567
add_63:         add     a,1
1568
                jr      nc,add_64
1569
                inc_error_cnt
1570
add_64:         jr      nz,add_65
1571
                inc_error_cnt
1572
add_65:         cp      1
1573
                jr      z,add_66
1574
                inc_error_cnt
1575
add_66:         ld      a,data_ff
1576
                add     a,data_80
1577
                jp      p,add_67
1578
                inc_error_cnt
1579
add_67:         jp      pe,add_68
1580
                inc_error_cnt
1581
add_68:         jr      c,add_69
1582
                inc_error_cnt
1583
add_69:         add     a,1
1584
                jp      pe,add_70
1585
                inc_error_cnt
1586
add_70:         jp      m,add_71
1587
                inc_error_cnt
1588
add_71:         jr      nc,add_72
1589
                inc_error_cnt
1590
add_72:         add     a,1
1591
                jp      po,add_73
1592
                inc_error_cnt
1593
add_73:         cp      data_80+1
1594
                jr      z,adc_0
1595
                inc_error_cnt
1596
adc_0:          ld      a,0                 ;clear cry
1597
                add     a,0
1598
                ld      b,data_7f
1599
                adc     a,b                  ;a=7f cry=0
1600
                jp      p,adc_1
1601
                inc_error_cnt
1602
adc_1:          jp      po,adc_2
1603
                inc_error_cnt
1604
adc_2:          jr      nc,adc_3
1605
                inc_error_cnt
1606
adc_3:          jr      nz,adc_4
1607
                inc_error_cnt
1608
adc_4:          ld      b,1
1609
                adc     a,b                     ;a=80 cry=0
1610
                jp      pe,adc_5                ;jp  ofl
1611
                inc_error_cnt
1612
adc_5:          jp      m,adc_6
1613
                inc_error_cnt
1614
adc_6:          cp      data_80
1615
                jr      z,adc_7                 ;z=0  ofl=0 cry=0 (borrow)
1616
                inc_error_cnt
1617
adc_7:          ld      a,data_ff
1618
                ld      b,1
1619
                adc     a,b                      ;ff+1+0
1620
                jr      c,adc_8
1621
                inc_error_cnt
1622
adc_8:          jr      z,adc_9
1623
                inc_error_cnt
1624
adc_9:          adc     a,b
1625
                jr      nc,adc_10
1626
                inc_error_cnt
1627
adc_10:         jr      nz,adc_11
1628
                inc_error_cnt
1629
adc_11:         cp      2
1630
                jr      z,adc_12
1631
                inc_error_cnt
1632
adc_12:         ld      a,data_ff
1633
                ld      c,0
1634
                adc     a,c
1635
                jp      m,adc_13
1636
                inc_error_cnt
1637
adc_13:         jr      nc,adc_14
1638
                inc_error_cnt
1639
adc_14:         ld      c,2
1640
                adc     a,c
1641
                jp      p,adc_15
1642
                inc_error_cnt
1643
adc_15:         jr      c,adc_16
1644
                inc_error_cnt
1645
adc_16:         ld      c,0
1646
                adc     a,c
1647
                cp      2
1648
                jr      z,adc_17
1649
                inc_error_cnt
1650
adc_17:         ld      a,data_ff
1651
                ld      d,1
1652
                adc     a,d
1653
                jr      c,adc_18
1654
                inc_error_cnt
1655
adc_18:         ld      d,0
1656
                adc     a,d
1657
                jr      nc,adc_19
1658
                inc_error_cnt
1659
adc_19:         cp      1
1660
                jr      z,adc_20
1661
                inc_error_cnt
1662
adc_20:         ld      a,data_aa
1663
                ld      e,data_7f
1664
                adc     a,e
1665
                jr      c,adc_21
1666
                inc_error_cnt
1667
adc_21:         ld      e,#2b
1668
                adc     a,e
1669
                cp      data_55
1670
                jr      z,adc_22
1671
                inc_error_cnt
1672
adc_22:         ld      a,data_ff
1673
                ld      h,1
1674
                adc     a,h
1675
                jr      c,adc_23
1676
                inc_error_cnt
1677
adc_23:         adc     a,h
1678
                cp      2
1679
                jr      z,adc_24
1680
                inc_error_cnt
1681
adc_24:         ld      a,data_ff
1682
                ld      l,1
1683
                adc     a,l
1684
                jr      c,adc_25
1685
                inc_error_cnt
1686
adc_25:         adc     a,l
1687
                cp      2
1688
                jr      z,adc_26
1689
                inc_error_cnt
1690
adc_26:         ld      a,0
1691
                adc     a,data_7f
1692
                jp      po,adc_27
1693
                inc_error_cnt
1694
adc_27:         jp      p,adc_28
1695
                inc_error_cnt
1696
adc_28:         jr      nc,adc_29
1697
                inc_error_cnt
1698
adc_29:         jr      nz,adc_30
1699
                inc_error_cnt
1700
adc_30:         adc     a,1
1701
                jp      pe,adc_31
1702
                inc_error_cnt
1703
adc_31:         jp      m,adc_32
1704
                inc_error_cnt
1705
adc_32:         cp      data_80
1706
                jr      z,adc_33
1707
                inc_error_cnt
1708
adc_33:         ld      a,data_ff
1709
                adc     a,1
1710
                jr      c,adc_34
1711
                inc_error_cnt
1712
adc_34:         jr      z,adc_35
1713
                inc_error_cnt
1714
adc_35:         adc     a,1
1715
                jr      nc,adc_36
1716
                inc_error_cnt
1717
adc_36:         jr      nz,adc_37
1718
                inc_error_cnt
1719
adc_37:         cp      2
1720
                jr      z,adc_38
1721
                inc_error_cnt
1722
adc_38:         ld      hl,var5
1723
                ld      a,0
1724
                adc     a,(hl)
1725
                jp      p,adc_39
1726
                inc_error_cnt
1727
adc_39:         jp      po,adc_40
1728
                inc_error_cnt
1729
adc_40:         jr      nz,adc_41
1730
                inc_error_cnt
1731
adc_41:         jr      nc,adc_42
1732
                inc_error_cnt
1733
adc_42:         ld      a,1
1734
                adc     a,(hl)
1735
                jp      m,adc_43
1736
                inc_error_cnt
1737
adc_43:         jp      pe,adc_44
1738
                inc_error_cnt
1739
adc_44:         cp      data_80
1740
                jr      z,adc_45
1741
                inc_error_cnt
1742
adc_45:         ld      hl,var1
1743
                ld      a,1
1744
                adc     a,(hl)
1745
                jr      z,adc_46
1746
                inc_error_cnt
1747
adc_46:         jr      c,adc_47
1748
                inc_error_cnt
1749
adc_47:         ld      hl,var2
1750
                adc     a,(hl)
1751
                jr      nc,adc_48
1752
                inc_error_cnt
1753
adc_48:         jr      nz,adc_49
1754
                inc_error_cnt
1755
adc_49:         cp      data_55+1
1756
                jr      z,adc_50
1757
                inc_error_cnt
1758
adc_50:         ld      ix,var3
1759
                ld      a,0
1760
                adc     a,(ix+2)
1761
                jp      p,adc_51
1762
                inc_error_cnt
1763
adc_51:         jp      po,adc_52
1764
                inc_error_cnt
1765
adc_52:         jr      nc,adc_53
1766
                inc_error_cnt
1767
adc_53:         jr      nz,adc_54
1768
                inc_error_cnt
1769
adc_54:         ld      a,1
1770
                adc     a,(ix+2)
1771
                jp      m,adc_55
1772
                inc_error_cnt
1773
adc_55:         jp      pe,adc_56
1774
                inc_error_cnt
1775
adc_56:         cp      data_80
1776
                jr      z,adc_57
1777
                inc_error_cnt
1778
adc_57:         ld      a,1
1779
                adc     a,(ix-2)
1780
                jr      c,adc_58
1781
                inc_error_cnt
1782
adc_58:         jr      z,adc_59
1783
                inc_error_cnt
1784
adc_59:         adc     a,(ix-1)
1785
                jr      nc,adc_60
1786
                inc_error_cnt
1787
adc_60:         jr      nz,adc_61
1788
                inc_error_cnt
1789
adc_61:         cp      data_55+1
1790
                jr      z,adc_62
1791
                inc_error_cnt
1792
adc_62:         ld      iy,var3
1793
                ld      a,0
1794
                adc     a,(ix+2)
1795
                jp      p,adc_63
1796
                inc_error_cnt
1797
adc_63:         jp      po,adc_64
1798
                inc_error_cnt
1799
adc_64:         jr      nc,adc_65
1800
                inc_error_cnt
1801
adc_65:         jr      nz,adc_66
1802
                inc_error_cnt
1803
adc_66:         ld      a,1
1804
                adc     a,(iy+2)
1805
                jp      m,adc_67
1806
                inc_error_cnt
1807
adc_67:         jp      pe,adc_68
1808
                inc_error_cnt
1809
adc_68:         cp      data_80
1810
                jr      z,adc_69
1811
                inc_error_cnt
1812
adc_69:         ld      a,1
1813
                adc     a,(iy-2)
1814
                jr      c,adc_70
1815
                inc_error_cnt
1816
adc_70:         jr      z,adc_71
1817
                inc_error_cnt
1818
adc_71:         adc     a,(iy-1)
1819
                jr      nc,adc_72
1820
                inc_error_cnt
1821
adc_72:         jr      nz,adc_73
1822
                inc_error_cnt
1823
adc_73:         cp      data_55+1
1824
                jr      z,adc_74
1825
                inc_error_cnt
1826
adc_74:         ld      a,data_ff
1827
                add     a,0
1828
                adc     a,data_80
1829
                jp      p,adc_75
1830
                inc_error_cnt
1831
adc_75:         jp      pe,adc_76
1832
                inc_error_cnt
1833
adc_76:         jr      nz,adc_77
1834
                inc_error_cnt
1835
adc_77:         adc     a,0
1836
                jp      m,adc_78
1837
                inc_error_cnt
1838
adc_78:         jp      pe,adc_79
1839
                inc_error_cnt
1840
adc_79:         adc     a,1
1841
                jp      po,adc_80
1842
                inc_error_cnt
1843
adc_80:         cp      data_80+1
1844
                jr      z,sub_0
1845
                inc_error_cnt
1846
sub_0:          ld      a,0
1847
                ld      b,1
1848
                sub     a,b
1849
                jp      m,sub_1
1850
                inc_error_cnt
1851
sub_1:          jp      po,sub_2
1852
                inc_error_cnt
1853
sub_2:          jr      c,sub_3
1854
                inc_error_cnt
1855
sub_3:          jr      nz,sub_4
1856
                inc_error_cnt
1857
sub_4:          sub     a,b
1858
                jr      nc,sub_5
1859
                inc_error_cnt
1860
sub_5:          cp      data_ff-1
1861
                jr      z,sub_6
1862
                inc_error_cnt
1863
sub_6:          ld      a,1
1864
                ld      b,0
1865
                sub     a,b
1866
                jr      nz,sub_7
1867
                inc_error_cnt
1868
sub_7:          jp      p,sub_8
1869
                inc_error_cnt
1870
sub_8:          ld      b,1
1871
                sub     a,b
1872
                jr      z,sub_9
1873
                inc_error_cnt
1874
sub_9:          sub     a,b
1875
                jp      m,sub_10
1876
                inc_error_cnt
1877
sub_10:         cp      data_ff
1878
                jr      z,sub_11
1879
                inc_error_cnt
1880
sub_11:         ld      a,data_80
1881
                ld      b,data_7f
1882
                sub     a,b
1883
                jp      pe,sub_12
1884
                inc_error_cnt
1885
sub_12:         sub     a,b
1886
                jp      po,sub_13
1887
                inc_error_cnt
1888
sub_13:         cp      data_80+2
1889
                jr      z,sub_14
1890
                inc_error_cnt
1891
sub_14:         ld      a,data_55
1892
                ld      c,data_55
1893
                sub     a,c
1894
                jr      z,sub_15
1895
                inc_error_cnt
1896
sub_15:         ld      c,1
1897
                sub     a,c
1898
                jp      m,sub_16
1899
                inc_error_cnt
1900
sub_16:         jr      c,sub_17
1901
                inc_error_cnt
1902
sub_17:         cp      data_ff
1903
                jr      z,sub_18
1904
                inc_error_cnt
1905
sub_18:         ld      a,data_55
1906
                ld      d,data_7f
1907
                sub     a,d
1908
                jr      c,sub_19
1909
                inc_error_cnt
1910
sub_19:         cp      data_55-data_7f
1911
                jr      z,sub_20
1912
                inc_error_cnt
1913
sub_20:         ld      a,0
1914
                ld      e,data_ff
1915
                sub     a,e
1916
                jr      c,sub_21
1917
                inc_error_cnt
1918
sub_21:         cp      1
1919
                jr      z,sub_22
1920
                inc_error_cnt
1921
sub_22:         ld      a,data_ff
1922
                ld      h,data_80
1923
                sub     a,h
1924
                jp      p,sub_23
1925
                inc_error_cnt
1926
sub_23:         cp      data_7f
1927
                jr      z,sub_24
1928
                inc_error_cnt
1929
sub_24:         ld      a,data_aa
1930
                ld      l,data_ff
1931
                sub     a,l
1932
                jr      c,sub_25
1933
                inc_error_cnt
1934
sub_25:         cp      data_aa+1
1935
                jr      z,sub_26
1936
                inc_error_cnt
1937
sub_26:         ld      a,data_7f
1938
                sub     a,data_ff
1939
                jp      pe,sub_27
1940
                inc_error_cnt
1941
sub_27:         jp      m,sub_28
1942
                inc_error_cnt
1943
sub_28:         sub     a,1
1944
                jp      p,sub_29
1945
                inc_error_cnt
1946
sub_29:         sub     a,1
1947
                jp      po,sub_30
1948
                inc_error_cnt
1949
sub_30:         jr      nz,sub_31
1950
                inc_error_cnt
1951
sub_31:         sub     a,data_7f-1
1952
                jr      z,sub_32
1953
                inc_error_cnt
1954
sub_32:         ld      a,0
1955
                sub     a,data_ff
1956
                jr      c,sub_33
1957
                inc_error_cnt
1958
sub_33:         sub     a,1
1959
                jr      z,sub_34
1960
                inc_error_cnt
1961
sub_34:         jr      nc,sub_35
1962
                inc_error_cnt
1963
sub_35:         ld      hl,var1
1964
                ld      a,data_7f
1965
                sub     a,(hl)
1966
                jp      m,sub_36
1967
                inc_error_cnt
1968
sub_36:         jp      pe,sub_37
1969
                inc_error_cnt
1970
sub_37:         jr      c,sub_38
1971
                inc_error_cnt
1972
sub_38:         ld      hl,var3
1973
                sub     a,(hl)
1974
                jp      p,sub_39
1975
                inc_error_cnt
1976
sub_39:         jp      po,sub_40
1977
                inc_error_cnt
1978
sub_40:         jr      nc,sub_41
1979
                inc_error_cnt
1980
sub_41          jr      z,sub_42
1981
                inc_error_cnt
1982
sub_42:         ld      hl,var2
1983
                sub     a,(hl)
1984
                jr      nz,sub_43
1985
                inc_error_cnt
1986
sub_43:         cp      data_aa+1
1987
                jr      z,sub_44
1988
                inc_error_cnt
1989
sub_44:         ld      ix,var3
1990
                ld      a,data_7f
1991
                sub     a,(ix-2)
1992
                jp      m,sub_45
1993
                inc_error_cnt
1994
sub_45:         jp      pe,sub_46
1995
                inc_error_cnt
1996
sub_46:         jr      c,sub_47
1997
                inc_error_cnt
1998
sub_47:         sub     a,(ix+0)
1999
                jp      p,sub_48
2000
                inc_error_cnt
2001
sub_48:         jp      po,sub_49
2002
                inc_error_cnt
2003
sub_49:         jr      nc,sub_50
2004
                inc_error_cnt
2005
sub_50:         jr      z,sub_51
2006
                inc_error_cnt
2007
sub_51:         sub     a,(ix+2)
2008
                jr      nz,sub_52
2009
                inc_error_cnt
2010
sub_52:         cp      data_80+1
2011
                jr      z,sub_53
2012
                inc_error_cnt
2013
sub_53:         ld      iy,var3
2014
                ld      a,data_7f
2015
                sub     a,(iy-2)
2016
                jp      m,sub_54
2017
                inc_error_cnt
2018
sub_54:         jp      pe,sub_55
2019
                inc_error_cnt
2020
sub_55:         jr      c,sub_56
2021
                inc_error_cnt
2022
sub_56:         jr      nz,sub_57
2023
                inc_error_cnt
2024
sub_57:         sub     a,(iy+0)
2025
                jp      p,sub_58
2026
                inc_error_cnt
2027
sub_58:         jp      po,sub_59
2028
                inc_error_cnt
2029
sub_59:         jr      nc,sub_60
2030
                inc_error_cnt
2031
sub_60:         jr      z,sub_61
2032
                inc_error_cnt
2033
sub_61:         sub     a,(iy+2)
2034
                jr      nz,sub_62
2035
                inc_error_cnt
2036
sub_62:         cp      data_80+1
2037
                jr      z,sbc_0
2038
                inc_error_cnt
2039
sbc_0:          ld      a,data_7f
2040
                ld      b,0
2041
                sub     a,b                     ;clear carry flag
2042
                ld      b,data_ff
2043
                sbc     a,b
2044
                jp      m,sbc_1
2045
                inc_error_cnt
2046
sbc_1:          jp      pe,sbc_2
2047
                inc_error_cnt
2048
sbc_2:          jr      c,sbc_3
2049
                inc_error_cnt
2050
sbc_3:          jr      nz,sbc_4
2051
                inc_error_cnt
2052
sbc_4:          ld      b,data_7f
2053
                sbc     a,b
2054
                jp      p,sbc_5
2055
                inc_error_cnt
2056
sbc_5:          jp      pe,sbc_6
2057
                inc_error_cnt
2058
sbc_6:          jr      nc,sbc_7
2059
                inc_error_cnt
2060
sbc_7:          jr      z,sbc_8
2061
                inc_error_cnt
2062
sbc_8:          ld      b,data_ff
2063
                sbc     a,b
2064
                jp      po,sbc_9
2065
                inc_error_cnt
2066
sbc_9:          jr      nz,sbc_10
2067
                inc_error_cnt
2068
sbc_10:         ld      b,0
2069
                sbc     a,b
2070
                jr      z,sbc_11
2071
                inc_error_cnt
2072
sbc_11:         ld      a,data_aa
2073
                ld      c,data_ff
2074
                sbc     a,c
2075
                jr      c,sbc_12
2076
                inc_error_cnt
2077
sbc_12:         ld      c,0
2078
                sbc     a,c
2079
                jr      nc,sbc_13
2080
                inc_error_cnt
2081
sbc_13:         cp      data_aa
2082
                jr      z,sbc_14
2083
                inc_error_cnt
2084
sbc_14:         ld      a,data_55
2085
                ld      d,data_ff
2086
                sbc     a,d
2087
                jr      c,sbc_15
2088
                inc_error_cnt
2089
sbc_15:         ld      d,0
2090
                sbc     a,d
2091
                jr      nc,sbc_16
2092
                inc_error_cnt
2093
sbc_16:         cp      data_55
2094
                jr      z,sbc_17
2095
                inc_error_cnt
2096
sbc_17:         ld      a,data_aa
2097
                ld      e,data_ff
2098
                sbc     a,e
2099
                jr      c,sbc_18
2100
                inc_error_cnt
2101
sbc_18:         ld      e,0
2102
                sbc     a,e
2103
                jr      nc,sbc_19
2104
                inc_error_cnt
2105
sbc_19:         cp      data_aa
2106
                jr      z,sbc_20
2107
                inc_error_cnt
2108
sbc_20:         ld      a,data_55
2109
                ld      h,data_ff
2110
                sbc     a,h
2111
                jr      c,sbc_21
2112
                inc_error_cnt
2113
sbc_21:         ld      h,0
2114
                sbc     a,h
2115
                jr      nc,sbc_22
2116
                inc_error_cnt
2117
sbc_22:         cp      data_55
2118
                jr      z,sbc_23
2119
                inc_error_cnt
2120
sbc_23:         ld      a,data_aa
2121
                ld      l,data_ff
2122
                sbc     a,l
2123
                jr      c,sbc_24
2124
                inc_error_cnt
2125
sbc_24:         ld      l,0
2126
                sbc     a,l
2127
                jr      nc,sbc_25
2128
                inc_error_cnt
2129
sbc_25:         cp      data_aa
2130
                jr      z,sbc_26
2131
                inc_error_cnt
2132
sbc_26:         ld      a,data_7f
2133
                sbc     a,data_ff
2134
                jp      m,sbc_27
2135
                inc_error_cnt
2136
sbc_27:         jp      pe,sbc_28
2137
                inc_error_cnt
2138
sbc_28:         jr      c,sbc_29
2139
                inc_error_cnt
2140
sbc_29:         jr      nz,sbc_30
2141
                inc_error_cnt
2142
sbc_30:         sbc     a,data_7f
2143
                jp      p,sbc_31
2144
                inc_error_cnt
2145
sbc_31:         jp      pe,sbc_32
2146
                inc_error_cnt
2147
sbc_32:         jr      nc,sbc_33
2148
                inc_error_cnt
2149
sbc_33:         jr      z,sbc_34
2150
                inc_error_cnt
2151
sbc_34:         sbc     a,data_ff
2152
                jr      nz,sbc_35
2153
                inc_error_cnt
2154
sbc_35:         cp      1
2155
                jr      z,sbc_36
2156
                inc_error_cnt
2157
sbc_36:         ld      hl,var1
2158
                ld      a,data_7f
2159
                sbc     a,(hl)
2160
                jp      m,sbc_37
2161
                inc_error_cnt
2162
sbc_37:         jp      pe,sbc_38
2163
                inc_error_cnt
2164
sbc_38:         jr      c,sbc_39
2165
                inc_error_cnt
2166
sbc_39:         jr      nz,sbc_40
2167
                inc_error_cnt
2168
sbc_40:         ld      hl,var5
2169
                sbc     a,(hl)
2170
                jp      p,sbc_41
2171
                inc_error_cnt
2172
sbc_41:         jp      pe,sbc_42
2173
                inc_error_cnt
2174
sbc_42:         jr      nc,sbc_43
2175
                inc_error_cnt
2176
sbc_43:         jr      z,sbc_44
2177
                inc_error_cnt
2178
sbc_44:         ld      hl,var2
2179
                sbc     a,(hl)
2180
                jr      nz,sbc_45
2181
                inc_error_cnt
2182
sbc_45:         cp      data_aa+1
2183
                jr      z,sbc_46
2184
                inc_error_cnt
2185
sbc_46:         ld      ix,var3
2186
                ld      a,data_7f
2187
                sbc     a,(ix-2)
2188
                jp      m,sbc_47
2189
                inc_error_cnt
2190
sbc_47:         jp      pe,sbc_48
2191
                inc_error_cnt
2192
sbc_48:         jr      c,sbc_49
2193
                inc_error_cnt
2194
sbc_49:         jr      nz,sbc_50
2195
                inc_error_cnt
2196
sbc_50:         sbc     a,(ix+2)
2197
                jp      p,sbc_51
2198
                inc_error_cnt
2199
sbc_51:         jp      pe,sbc_52
2200
                inc_error_cnt
2201
sbc_52:         jr      nc,sbc_53
2202
                inc_error_cnt
2203
sbc_53:         jr      z,sbc_54
2204
                inc_error_cnt
2205
sbc_54:         sbc     a,(ix-1)
2206
                jr      nz,sbc_55
2207
                inc_error_cnt
2208
sbc_55:         cp      data_aa+1
2209
                jr      z,sbc_56
2210
                inc_error_cnt
2211
sbc_56:         ld      iy,var3
2212
                ld      a,data_7f
2213
                sbc     a,(ix-2)
2214
                jp      m,sbc_57
2215
                inc_error_cnt
2216
sbc_57:         jp      pe,sbc_58
2217
                inc_error_cnt
2218
sbc_58:         jr      c,sbc_59
2219
                inc_error_cnt
2220
sbc_59:         jr      nz,sbc_60
2221
                inc_error_cnt
2222
sbc_60:         sbc     a,(ix+2)
2223
                jp      p,sbc_61
2224
                inc_error_cnt
2225
sbc_61:         jp      pe,sbc_62
2226
                inc_error_cnt
2227
sbc_62:         jr      nc,sbc_63
2228
                inc_error_cnt
2229
sbc_63:         jr      z,sbc_64
2230
                inc_error_cnt
2231
sbc_64:         sbc     a,(ix+1)
2232
                jr      nz,sbc_65
2233
                inc_error_cnt
2234
sbc_65:         cp      data_55+1
2235
                jr      z,and_0
2236
                inc_error_cnt
2237
and_0:          ld      a,data_ff
2238
                add     a,1                     ;set carry
2239
                ld      a,data_ff
2240
                ld      b,data_aa
2241
                and     a,b
2242
                jr      nc,and_1
2243
                inc_error_cnt
2244
and_1:          jp      m,and_2
2245
                inc_error_cnt
2246
and_2:          jp      pe,and_3
2247
                inc_error_cnt
2248
and_3:          jr      nz,and_4
2249
                inc_error_cnt
2250
and_4:          ld      b,data_55
2251
                and     a,b
2252
                jp      p,and_5
2253
                inc_error_cnt
2254
and_5:          jr      z,and_6
2255
                inc_error_cnt
2256
and_6:          ld      a,data_ff
2257
                ld      b,data_7f
2258
                and     a,b
2259
                jp      po,and_7
2260
                inc_error_cnt
2261
and_7:          ld      b,data_55
2262
                and     a,b
2263
                jp      pe,and_8
2264
                inc_error_cnt
2265
and_8:          ld      a,data_ff
2266
                ld      c,data_80
2267
                and     a,c
2268
                jp      m,and_9
2269
                inc_error_cnt
2270
and_9:          cp      data_80
2271
                jr      z,and_10
2272
                inc_error_cnt
2273
and_10:         ld      a,data_ff
2274
                ld      d,data_7f
2275
                and     a,d
2276
                jp      p,and_11
2277
                inc_error_cnt
2278
and_11:         cp      data_7f
2279
                jr      z,and_12
2280
                inc_error_cnt
2281
and_12:         ld      a,data_ff
2282
                ld      e,data_aa
2283
                and     a,e
2284
                jp      m,and_13
2285
                inc_error_cnt
2286
and_13:         cp      data_aa
2287
                jr      z,and_14
2288
                inc_error_cnt
2289
and_14:         ld      a,data_ff
2290
                ld      h,data_55
2291
                and     a,h
2292
                jp      p,and_15
2293
                inc_error_cnt
2294
and_15:         cp      data_55
2295
                jr      z,and_16
2296
                inc_error_cnt
2297
and_16:         ld      a,data_ff
2298
                ld      l,data_aa
2299
                and     a,l
2300
                jp      m,and_17
2301
                inc_error_cnt
2302
and_17:         cp      data_aa
2303
                jr      z,and_18
2304
                inc_error_cnt
2305
and_18:         ld      a,data_ff
2306
                and     a,data_aa
2307
                jp      m,and_19
2308
                inc_error_cnt
2309
and_19:         jr      nz,and_20
2310
                inc_error_cnt
2311
and_20:         and     a,data_55
2312
                jp      p,and_21
2313
                inc_error_cnt
2314
and_21:         jr      z,and_22
2315
                inc_error_cnt
2316
and_22:         ld      a,data_ff
2317
                and     a,data_7f
2318
                jp      po,and_23
2319
                inc_error_cnt
2320
and_23:         and     a,data_55
2321
                jp      pe,and_24
2322
                inc_error_cnt
2323
and_24:         jr      nz,and_25
2324
                inc_error_cnt
2325
and_25:         and     a,data_aa
2326
                jr      z,and_26
2327
                inc_error_cnt
2328
and_26:         ld      a,data_ff
2329
                and     a,data_aa
2330
                cp      data_aa
2331
                jr      z,and_27
2332
                inc_error_cnt
2333
and_27:         ld      hl,var4
2334
                ld      a,data_ff
2335
                and     a,(hl)
2336
                jp      m,and_28
2337
                inc_error_cnt
2338
and_28:         jr      nz,and_29
2339
                inc_error_cnt
2340
and_29:         ld      hl,var2
2341
                and     a,(hl)
2342
                jp      p,and_30
2343
                inc_error_cnt
2344
and_30:         jr      z,and_31
2345
                inc_error_cnt
2346
and_31:         ld      a,data_ff
2347
                ld      hl,var5
2348
                and     a,(hl)
2349
                jp      po,and_32
2350
                inc_error_cnt
2351
and_32:         ld      hl,var2
2352
                and     a,(hl)
2353
                jp      pe,and_33
2354
                inc_error_cnt
2355
and_33:         cp      data_55
2356
                jr      z,and_34
2357
                inc_error_cnt
2358
and_34:         ld      ix,var3
2359
                ld      a,data_ff
2360
                and     a,(ix+1)
2361
                jp      m,and_35
2362
                inc_error_cnt
2363
and_35:         jr      nz,and_36
2364
                inc_error_cnt
2365
and_36:         and     a,(ix-1)
2366
                jp      p,and_37
2367
                inc_error_cnt
2368
and_37:         jr      z,and_38
2369
                inc_error_cnt
2370
and_38:         ld      a,data_ff
2371
                and     a,(ix+2)
2372
                jp      po,and_39
2373
                inc_error_cnt
2374
and_39:         and     a,(ix-1)
2375
                jp      pe,and_40
2376
                inc_error_cnt
2377
and_40:         cp      data_55
2378
                jr      z,and_41
2379
                inc_error_cnt
2380
and_41:         ld      iy,var3
2381
                ld      a,data_ff
2382
                and     a,(iy+1)
2383
                jp      m,and_42
2384
                inc_error_cnt
2385
and_42:         jr      nz,and_43
2386
                inc_error_cnt
2387
and_43:         and     a,(iy-1)
2388
                jp      p,and_44
2389
                inc_error_cnt
2390
and_44:         jr      z,and_45
2391
                inc_error_cnt
2392
and_45:         ld      a,data_ff
2393
                and     a,(iy+2)
2394
                jp      po,and_46
2395
                inc_error_cnt
2396
and_46:         and     a,(iy-1)
2397
                jp      pe,and_47
2398
                inc_error_cnt
2399
and_47:         cp      data_55
2400
                jr      z,or_0
2401
                inc_error_cnt
2402
or_0:           ld      a,0
2403
                ld      b,data_7f
2404
                or      a,b
2405
                jp      p,or_1
2406
                inc_error_cnt
2407
or_1:           jp      po,or_2
2408
                inc_error_cnt
2409
or_2:           ld      b,data_80
2410
                or      a,b
2411
                jp      m,or_3
2412
                inc_error_cnt
2413
or_3:           jp      pe,or_4
2414
                inc_error_cnt
2415
or_4:           cp      data_ff
2416
                jr      z,or_5
2417
                inc_error_cnt
2418
or_5:           ld      a,0
2419
                ld      b,0
2420
                or      a,b
2421
                jr      z,or_6
2422
                inc_error_cnt
2423
or_6:           ld      b,data_55
2424
                or      a,b
2425
                jr      nz,or_7
2426
                inc_error_cnt
2427
or_7:           cp      data_55
2428
                jr      z,or_8
2429
                inc_error_cnt
2430
or_8:           ld      a,data_ff
2431
                add     a,1
2432
                jr      c,or_9
2433
                inc_error_cnt
2434
or_9:           ld      b,data_7f
2435
                or      a,b
2436
                jr      nc,or_10
2437
                inc_error_cnt
2438
or_10:          cp      data_7f
2439
                jr      z,or_11
2440
                inc_error_cnt
2441
or_11:          ld      a,0
2442
                ld      c,data_55
2443
                or      a,c
2444
                cp      data_55
2445
                jr      z,or_12
2446
                inc_error_cnt
2447
or_12:          ld      c,data_aa
2448
                or      a,c
2449
                cp      data_ff
2450
                jr      z,or_13
2451
                inc_error_cnt
2452
or_13:          ld      a,0
2453
                ld      d,data_aa
2454
                or      a,d
2455
                cp      data_aa
2456
                jr      z,or_14
2457
                inc_error_cnt
2458
or_14:          ld      e,data_55
2459
                or      a,e
2460
                cp      data_ff
2461
                jr      z,or_15
2462
                inc_error_cnt
2463
or_15:          ld      a,0
2464
                ld      h,data_80
2465
                or      a,h
2466
                cp      data_80
2467
                jr      z,or_16
2468
                inc_error_cnt
2469
or_16:          ld      l,data_7f
2470
                or      a,l
2471
                cp      data_ff
2472
                jr      z,or_17
2473
                inc_error_cnt
2474
or_17:          ld      a,0
2475
                or      a,data_7f
2476
                jp      p,or_18
2477
                inc_error_cnt
2478
or_18:          jp      po,or_19
2479
                inc_error_cnt
2480
or_19:          or      a,data_80
2481
                jp      m,or_20
2482
                inc_error_cnt
2483
or_20:          jp      pe,or_21
2484
                inc_error_cnt
2485
or_21:          cp      data_ff
2486
                jr      z,or_22
2487
                inc_error_cnt
2488
or_22:          ld      a,0
2489
                or      a,0
2490
                jr      z,or_23
2491
                inc_error_cnt
2492
or_23:          or      a,data_7f
2493
                jr      nz,or_24
2494
                inc_error_cnt
2495
or_24:          ld      a,data_ff
2496
                add     a,1
2497
                jr      c,or_25
2498
                inc_error_cnt
2499
or_25:          or      a,data_55
2500
                jr      nc,or_26
2501
                inc_error_cnt
2502
or_26:          cp      data_55
2503
                jr      z,or_27
2504
                inc_error_cnt
2505
or_27:          ld      hl,var5
2506
                ld      a,0
2507
                or      a,(hl)
2508
                jp      p,or_28
2509
                inc_error_cnt
2510
or_28:          jp      po,or_29
2511
                inc_error_cnt
2512
or_29:          ld      hl,var3
2513
                or      a,(hl)
2514
                jp      m,or_30
2515
                inc_error_cnt
2516
or_30:          jp      pe,or_31
2517
                inc_error_cnt
2518
or_31:          cp      data_ff
2519
                jr      z,or_32
2520
                inc_error_cnt
2521
or_32:          ld      hl,t_var1
2522
                ld      a,0
2523
                ld      (hl),a
2524
                or      a,(hl)
2525
                jr      z,or_33
2526
                inc_error_cnt
2527
or_33:          ld      hl,var2
2528
                or      a,(hl)
2529
                jr      nz,or_34
2530
                inc_error_cnt
2531
or_34:          cp      data_55
2532
                jr      z,or_35
2533
                inc_error_cnt
2534
or_35:          ld      ix,var3
2535
                ld      a,0
2536
                or      a,(ix+2)
2537
                jp      p,or_36
2538
                inc_error_cnt
2539
or_36:          jp      po,or_37
2540
                inc_error_cnt
2541
or_37:          or      a,(ix+0)
2542
                jp      m,or_38
2543
                inc_error_cnt
2544
or_38:          jp      pe,or_39
2545
                inc_error_cnt
2546
or_39:          cp      data_ff
2547
                jr      z,or_40
2548
                inc_error_cnt
2549
or_40:          ld      ix,t_var3
2550
                ld      a,0
2551
                ld      (ix-2),a
2552
                or      a,(ix-2)
2553
                jr      z,or_41
2554
                inc_error_cnt
2555
or_41:          ld      (ix+2),data_aa
2556
                or      a,(ix+2)
2557
                jr      nz,or_42
2558
                inc_error_cnt
2559
or_42:          cp      data_aa
2560
                jr      z,or_43
2561
                inc_error_cnt
2562
or_43:          ld      iy,var3
2563
                ld      a,0
2564
                or      a,(iy+2)
2565
                jp      p,or_44
2566
                inc_error_cnt
2567
or_44:          jp      po,or_45
2568
                inc_error_cnt
2569
or_45:          or      a,(iy+0)
2570
                jp      m,or_46
2571
                inc_error_cnt
2572
or_46:          jp      pe,or_47
2573
                inc_error_cnt
2574
or_47:          cp      data_ff
2575
                jr      z,or_48
2576
                inc_error_cnt
2577
or_48:          ld      iy,t_var3
2578
                ld      a,0
2579
                ld      (iy-2),a
2580
                or      a,(iy-2)
2581
                jr      z,or_49
2582
                inc_error_cnt
2583
or_49:          ld      (iy+2),data_55
2584
                or      a,(iy+2)
2585
                jr      nz,or_50
2586
                inc_error_cnt
2587
or_50:          cp      data_55
2588
                jr      z,xor_0
2589
                inc_error_cnt
2590
xor_0:          ld      a,data_ff
2591
                ld      b,data_55
2592
                xor     a,b
2593
                jp      m,xor_1
2594
                inc_error_cnt
2595
xor_1:          jp      pe,xor_2
2596
                inc_error_cnt
2597
xor_2:          ld      b,data_80
2598
                xor     a,b
2599
                jp      p,xor_3
2600
                inc_error_cnt
2601
xor_3:          jp      po,xor_4
2602
                inc_error_cnt
2603
xor_4:          cp      #2a
2604
                jr      z,xor_5
2605
                inc_error_cnt
2606
xor_5:          ld      a,data_ff
2607
                ld      b,data_ff
2608
                xor     a,b
2609
                jr      z,xor_6
2610
                inc_error_cnt
2611
xor_6:          ld      b,data_55
2612
                xor     a,b
2613
                jr      nz,xor_7
2614
                inc_error_cnt
2615
xor_7:          cp      data_55
2616
                jr      z,xor_8
2617
                inc_error_cnt
2618
xor_8:          ld      a,data_ff
2619
                add     a,1
2620
                jr      c,xor_9
2621
                inc_error_cnt
2622
xor_9:          ld      b,data_aa
2623
                xor     a,b
2624
                jr      nc,xor_10
2625
                inc_error_cnt
2626
xor_10:         cp      data_aa
2627
                jr      z,xor_11
2628
                inc_error_cnt
2629
xor_11:         ld      a,data_ff
2630
                ld      c,data_7f
2631
                xor     a,c
2632
                jp      m,xor_12
2633
                inc_error_cnt
2634
xor_12:         cp      data_80
2635
                jr      z,xor_13
2636
                inc_error_cnt
2637
xor_13:         ld      a,data_ff
2638
                ld      d,data_55
2639
                xor     a,d
2640
                jp      m,xor_14
2641
                inc_error_cnt
2642
xor_14:         cp      data_aa
2643
                jr      z,xor_15
2644
                inc_error_cnt
2645
xor_15:         ld      e,data_55
2646
                xor     a,e
2647
                jp      m,xor_16
2648
                inc_error_cnt
2649
xor_16:         cp      data_ff
2650
                jr      z,xor_17
2651
                inc_error_cnt
2652
xor_17:         ld      a,data_ff
2653
                ld      h,data_7f
2654
                xor     a,h
2655
                jp      po,xor_18
2656
                inc_error_cnt
2657
xor_18:         ld      l,data_7f
2658
                xor     a,l
2659
                jp      pe,xor_19
2660
                inc_error_cnt
2661
xor_19:         cp      data_ff
2662
                jr      z,xor_20
2663
                inc_error_cnt
2664
xor_20:         ld      a,data_ff
2665
                add     a,1
2666
                jr      c,xor_21
2667
                inc_error_cnt
2668
xor_21:         ld      b,data_7f
2669
                xor     a,b
2670
                jr      nc,xor_22
2671
                inc_error_cnt
2672
xor_22:         cp      data_7f
2673
                jr      z,xor_23
2674
                inc_error_cnt
2675
xor_23:         ld      a,data_ff
2676
                xor     a,data_7f
2677
                jp      po,xor_24
2678
                inc_error_cnt
2679
xor_24:         jp      m,xor_25
2680
                inc_error_cnt
2681
xor_25:         xor     a,data_7f
2682
                jp      pe,xor_26
2683
                inc_error_cnt
2684
xor_26:         jp      m,xor_27
2685
                inc_error_cnt
2686
xor_27:         xor     a,data_aa
2687
                jp      p,xor_28
2688
                inc_error_cnt
2689
xor_28:         cp      data_55
2690
                jr      z,xor_29
2691
                inc_error_cnt
2692
xor_29:         ld      a,data_ff
2693
                xor     a,data_ff
2694
                jr      z,xor_30
2695
                inc_error_cnt
2696
xor_30:         xor     a,data_80
2697
                jr      nz,xor_31
2698
                inc_error_cnt
2699
xor_31:         cp      data_80
2700
                jr      z,xor_32
2701
                inc_error_cnt
2702
xor_32:         ld      hl,var5
2703
                ld      a,data_ff
2704
                xor     a,(hl)
2705
                jp      m,xor_33
2706
                inc_error_cnt
2707
xor_33:         jp      po,xor_34
2708
                inc_error_cnt
2709
xor_34:         xor     a,(hl)
2710
                jp      m,xor_35
2711
                inc_error_cnt
2712
xor_35:         jp      pe,xor_36
2713
                inc_error_cnt
2714
xor_36:         ld      hl,var3
2715
                xor     a,(hl)
2716
                jp      p,xor_37
2717
                inc_error_cnt
2718
xor_37:         cp      data_7f
2719
                jr      z,xor_38
2720
                inc_error_cnt
2721
xor_38:         ld      hl,var1
2722
                ld      a,data_ff
2723
                xor     a,(hl)
2724
                jr      z,xor_39
2725
                inc_error_cnt
2726
xor_39:         ld      hl,var2
2727
                xor     a,(hl)
2728
                jr      nz,xor_40
2729
                inc_error_cnt
2730
xor_40:         cp      data_55
2731
                jr      z,xor_41
2732
                inc_error_cnt
2733
xor_41:         ld      ix,var3
2734
                ld      a,data_ff
2735
                xor     a,(ix+2)
2736
                jp      m,xor_42
2737
                inc_error_cnt
2738
xor_42:         jp      po,xor_43
2739
                inc_error_cnt
2740
xor_43:         xor     a,(ix+2)
2741
                jp      m,xor_44
2742
                inc_error_cnt
2743
xor_44:         jp      pe,xor_45
2744
                inc_error_cnt
2745
xor_45:         xor     a,(ix+1)
2746
                jp      p,xor_46
2747
                inc_error_cnt
2748
xor_46:         cp      data_55
2749
                jr      z,xor_47
2750
                inc_error_cnt
2751
xor_47:         ld      a,data_ff
2752
                xor     a,(ix-2)
2753
                jr      z,xor_48
2754
                inc_error_cnt
2755
xor_48:         xor     a,(ix+1)
2756
                jr      nz,xor_49
2757
                inc_error_cnt
2758
xor_49:         cp      data_aa
2759
                jr      z,xor_50
2760
                inc_error_cnt
2761
xor_50:         ld      iy,var3
2762
                ld      a,data_ff
2763
                xor     a,(iy+2)
2764
                jp      m,xor_51
2765
                inc_error_cnt
2766
xor_51:         jp      po,xor_52
2767
                inc_error_cnt
2768
xor_52:         xor     a,(iy+2)
2769
                jp      m,xor_53
2770
                inc_error_cnt
2771
xor_53:         jp      pe,xor_54
2772
                inc_error_cnt
2773
xor_54:         xor     a,(iy+1)
2774
                jp      p,xor_55
2775
                inc_error_cnt
2776
xor_55:         cp      data_55
2777
                jr      z,xor_56
2778
                inc_error_cnt
2779
xor_56:         ld      a,data_ff
2780
                xor     a,(iy-2)
2781
                jr      z,xor_57
2782
                inc_error_cnt
2783
xor_57:         xor     a,(iy-1)
2784
                jr      nz,xor_58
2785
                inc_error_cnt
2786
xor_58:         cp      data_55
2787
                jr      z,cp_0
2788
                inc_error_cnt
2789
cp_0:           ld      a,0
2790
                ld      b,0
2791
                cp      a,b
2792
                jr      z,cp_1
2793
                inc_error_cnt
2794
cp_1:           jp      p,cp_2
2795
                inc_error_cnt
2796
cp_2:           jr      nc,cp_3
2797
                inc_error_cnt
2798
cp_3:           ld      b,data_55
2799
                cp      a,b
2800
                jr      nz,cp_4
2801
                inc_error_cnt
2802
cp_4:           jp      m,cp_5
2803
                inc_error_cnt
2804
cp_5:           jr      c,cp_6
2805
                inc_error_cnt
2806
cp_6:           ld      a,data_80
2807
                ld      b,data_7f
2808
                cp      a,b
2809
                jp      pe,cp_7
2810
                inc_error_cnt
2811
cp_7:           jr      nc,cp_8
2812
                inc_error_cnt
2813
cp_8:           ld      a,data_7f
2814
                ld      b,data_80
2815
                cp      a,b
2816
                jp      pe,cp_9
2817
                inc_error_cnt
2818
cp_9:           jr      c,cp_10
2819
                inc_error_cnt
2820
cp_10:          ld      b,0
2821
                cp      a,b
2822
                jp      po,cp_11
2823
                inc_error_cnt
2824
cp_11:          jr      nc,cp_12
2825
                inc_error_cnt
2826
cp_12:          ld      a,data_80
2827
                ld      c,0
2828
                cp      a,c
2829
                jp      m,cp_13
2830
                inc_error_cnt
2831
cp_13:          ld      c,data_80
2832
                cp      a,c
2833
                jr      z,cp_14
2834
                inc_error_cnt
2835
cp_14:          ld      a,data_7f
2836
                ld      d,data_55
2837
                cp      a,d
2838
                jp      p,cp_15
2839
                inc_error_cnt
2840
cp_15:          jr      nz,cp_16
2841
                inc_error_cnt
2842
cp_16:          ld      e,data_7f
2843
                cp      a,e
2844
                jr      z,cp_17
2845
                inc_error_cnt
2846
cp_17:          ld      a,data_80
2847
                ld      h,data_ff
2848
                cp      a,h
2849
                jp      m,cp_18
2850
                inc_error_cnt
2851
cp_18:          jr      c,cp_19
2852
                inc_error_cnt
2853
cp_19:          ld      l,data_80
2854
                cp      a,l
2855
                jr      z,cp_20
2856
                inc_error_cnt
2857
cp_20:          ld      a,data_80
2858
                cp      a,data_7f
2859
                jp      p,cp_21
2860
                inc_error_cnt
2861
cp_21:          jp      pe,cp_22
2862
                inc_error_cnt
2863
cp_22:          jr      nz,cp_23
2864
                inc_error_cnt
2865
cp_23:          cp      a,data_80
2866
                jp      p,cp_24
2867
                inc_error_cnt
2868
cp_24:          jp      po,cp_25
2869
                inc_error_cnt
2870
cp_25:          jr      z,cp_26
2871
                inc_error_cnt
2872
cp_26:          ld      a,data_55
2873
                cp      a,data_7f
2874
                jr      c,cp_27
2875
                inc_error_cnt
2876
cp_27:          jp      m,cp_28
2877
                inc_error_cnt
2878
cp_28:          cp      a,data_55
2879
                jr      nc,cp_29
2880
                inc_error_cnt
2881
cp_29:          jr      z,cp_30
2882
                inc_error_cnt
2883
cp_30:          ld      a,data_80
2884
                ld      hl,var5
2885
                cp      a,(hl)
2886
                jp      p,cp_31
2887
                inc_error_cnt
2888
cp_31:          jp      pe,cp_32
2889
                inc_error_cnt
2890
cp_32:          jr      nz,cp_33
2891
                inc_error_cnt
2892
cp_33:          ld      hl,var3
2893
                cp      a,(hl)
2894
                jp      p,cp_34
2895
                inc_error_cnt
2896
cp_34:          jp      po,cp_35
2897
                inc_error_cnt
2898
cp_35:          jr      z,cp_36
2899
                inc_error_cnt
2900
cp_36:          ld      a,data_55
2901
                ld      hl,var5
2902
                cp      a,(hl)
2903
                jr      c,cp_37
2904
                inc_error_cnt
2905
cp_37:          jp      m,cp_38
2906
                inc_error_cnt
2907
cp_38:          ld      hl,var2
2908
                cp      a,(hl)
2909
                jr      nc,cp_39
2910
                inc_error_cnt
2911
cp_39:          jp      p,cp_40
2912
                inc_error_cnt
2913
cp_40:          jr      z,cp_41
2914
                inc_error_cnt
2915
cp_41:          ld      a,data_80
2916
                ld      ix,var3
2917
                cp      a,(ix+2)
2918
                jp      p,cp_42
2919
                inc_error_cnt
2920
cp_42:          jp      pe,cp_43
2921
                inc_error_cnt
2922
cp_43:          jr      nz,cp_44
2923
                inc_error_cnt
2924
cp_44:          cp      a,(ix+0)
2925
                jp      p,cp_45
2926
                inc_error_cnt
2927
cp_45:          jp      po,cp_46
2928
                inc_error_cnt
2929
cp_46:          jr      z,cp_47
2930
                inc_error_cnt
2931
cp_47:          ld      a,data_55
2932
                cp      a,(ix-2)
2933
                jr      nz,cp_48
2934
                inc_error_cnt
2935
cp_48:          jr      c,cp_49
2936
                inc_error_cnt
2937
cp_49:          cp      a,(ix-1)
2938
                jr      z,cp_50
2939
                inc_error_cnt
2940
cp_50:          jr      nc,cp_51
2941
                inc_error_cnt
2942
cp_51:          ld      iy,var3
2943
                ld      a,data_80
2944
                cp      a,(iy+2)
2945
                jp      p,cp_52
2946
                inc_error_cnt
2947
cp_52:          jp      pe,cp_53
2948
                inc_error_cnt
2949
cp_53:          jr      nz,cp_54
2950
                inc_error_cnt
2951
cp_54:          cp      a,(iy+0)
2952
                jp      p,cp_55
2953
                inc_error_cnt
2954
cp_55:          jp      po,cp_56
2955
                inc_error_cnt
2956
cp_56:          jr      z,cp_57
2957
                inc_error_cnt
2958
cp_57:          ld      a,data_55
2959
                cp      a,(iy-2)
2960
                jr      nz,cp_58
2961
                inc_error_cnt
2962
cp_58:          jr      c,cp_59
2963
                inc_error_cnt
2964
cp_59:          cp      a,(iy-1)
2965
                jr      z,cp_60
2966
                inc_error_cnt
2967
cp_60:          jr      nc,inc_0
2968
                inc_error_cnt
2969
inc_0:          ld      a,data_7f
2970
                cp      a,data_7f
2971
                jr      z,inc_1
2972
                inc_error_cnt
2973
inc_1:          inc     a
2974
                jp      pe,inc_2
2975
                inc_error_cnt
2976
inc_2:          jp      m,inc_3
2977
                inc_error_cnt
2978
inc_3:          jr      nz,inc_4
2979
                inc_error_cnt
2980
inc_4:          ld      a,data_55
2981
                inc     a
2982
                jp      po,inc_5
2983
                inc_error_cnt
2984
inc_5:          jp      p,inc_6
2985
                inc_error_cnt
2986
inc_6:          cp      a,data_55+1
2987
                jr      z,inc_7
2988
                inc_error_cnt
2989
inc_7:          ld      a,data_ff-1
2990
                inc     a
2991
                jr      nz,inc_8
2992
                inc_error_cnt
2993
inc_8:          jp      m,inc_9
2994
                inc_error_cnt
2995
inc_9:          inc     a
2996
                jr      z,inc_10
2997
                inc_error_cnt
2998
inc_10:         ld      b,data_aa
2999
                inc     b
3000
                jp      m,inc_11
3001
                inc_error_cnt
3002
inc_11:         ld      a,b
3003
                cp      a,data_aa+1
3004
                jr      z,inc_12
3005
                inc_error_cnt
3006
inc_12:         ld      c,data_80
3007
                inc     c
3008
                jp      m,inc_13
3009
                inc_error_cnt
3010
inc_13:         ld      a,c
3011
                cp      a,data_80+1
3012
                jr      z,inc_14
3013
                inc_error_cnt
3014
inc_14:         ld      d,data_ff
3015
                inc     d
3016
                jr      z,inc_15
3017
                inc_error_cnt
3018
inc_15:         ld      e,data_55
3019
                inc     e
3020
                jp      p,inc_16
3021
                inc_error_cnt
3022
inc_16:         ld      a,e
3023
                cp      a,data_55+1
3024
                jr      z,inc_17
3025
                inc_error_cnt
3026
inc_17:         ld      h,data_7f
3027
                inc     h
3028
                jp      pe,inc_18
3029
                inc_error_cnt
3030
inc_18:         ld      a,h
3031
                cp      a,data_80
3032
                jr      z,inc_19
3033
                inc_error_cnt
3034
inc_19:         ld      l,data_aa
3035
                inc     l
3036
                jp      m,inc_20
3037
                inc_error_cnt
3038
inc_20:         ld      a,l
3039
                cp      a,data_aa+1
3040
                jr      z,inc_21
3041
                inc_error_cnt
3042
inc_21:         ld      hl,t_var1
3043
                ld      a,data_7f
3044
                ld      (hl),a
3045
                cp      a,(hl)
3046
                jr      z,inc_22
3047
                inc_error_cnt
3048
inc_22:         inc     (hl)
3049
                jp      m,inc_23
3050
                inc_error_cnt
3051
inc_23:         jp      pe,inc_24
3052
                inc_error_cnt
3053
inc_24:         ld      a,data_55
3054
                ld      (hl),a
3055
                inc     (hl)
3056
                jp      p,inc_25
3057
                inc_error_cnt
3058
inc_25:         jp      po,inc_26
3059
                inc_error_cnt
3060
inc_26:         ld      a,(hl)
3061
                cp      a,data_55+1
3062
                jr      z,inc_27
3063
                inc_error_cnt
3064
inc_27:         ld      a,data_ff
3065
                ld      (hl),a
3066
                inc     (hl)
3067
                jr      z,inc_28
3068
                inc_error_cnt
3069
inc_28:         inc     (hl)
3070
                jr      nz,inc_29
3071
                inc_error_cnt
3072
inc_29:         ld      a,(hl)
3073
                cp      a,1
3074
                jr      z,inc_30
3075
                inc_error_cnt
3076
inc_30:         ld      a,data_aa
3077
                ld      (hl),a
3078
                inc     (hl)
3079
                jp      m,inc_31
3080
                inc_error_cnt
3081
inc_31:         ld      a,(hl)
3082
                cp      a,data_aa+1
3083
                jr      z,inc_32
3084
                inc_error_cnt
3085
inc_32:         ld      ix,t_var3
3086
                ld      a,data_7f
3087
                ld      (ix-2),a
3088
                cp      a,data_7f
3089
                jr      z,inc_33
3090
                inc_error_cnt
3091
inc_33:         inc     (ix-2)
3092
                jp      m,inc_34
3093
                inc_error_cnt
3094
inc_34:         jp      pe,inc_35
3095
                inc_error_cnt
3096
inc_35:         ld      a,data_55
3097
                ld      (ix+2),a
3098
                inc     (ix+2)
3099
                jp      p,inc_36
3100
                inc_error_cnt
3101
inc_36:         jp      po,inc_37
3102
                inc_error_cnt
3103
inc_37:         ld      a,(ix+2)
3104
                cp      a,data_55+1
3105
                jr      z,inc_38
3106
                inc_error_cnt
3107
inc_38:         ld      a,data_ff
3108
                ld      (ix-1),a
3109
                inc     (ix-1)
3110
                jr      z,inc_39
3111
                inc_error_cnt
3112
inc_39:         inc     (ix-1)
3113
                jr      nz,inc_40
3114
                inc_error_cnt
3115
inc_40:         ld      a,(ix-1)
3116
                cp      a,1
3117
                jr      z,inc_41
3118
                inc_error_cnt
3119
inc_41:         ld      a,data_aa
3120
                ld      (ix+1),a
3121
                inc     (ix+1)
3122
                jp      m,inc_42
3123
                inc_error_cnt
3124
inc_42:         ld      a,(ix+1)
3125
                cp      a,data_aa+1
3126
                jr      z,inc_43
3127
                inc_error_cnt
3128
inc_43:         ld      iy,t_var3
3129
                ld      a,data_7f
3130
                ld      (iy+2),a
3131
                cp      a,data_7f
3132
                jr      z,inc_44
3133
                inc_error_cnt
3134
inc_44:         inc     (iy+2)
3135
                jp      m,inc_45
3136
                inc_error_cnt
3137
inc_45:         jp      pe,inc_46
3138
                inc_error_cnt
3139
inc_46:         ld      a,data_55
3140
                ld      (iy-2),a
3141
                inc     (iy-2)
3142
                jp      p,inc_47
3143
                inc_error_cnt
3144
inc_47:         jp      po,inc_48
3145
                inc_error_cnt
3146
inc_48:         ld      a,(iy-2)
3147
                cp      a,data_55+1
3148
                jr      z,inc_49
3149
                inc_error_cnt
3150
inc_49:         ld      a,data_ff
3151
                ld      (iy+1),a
3152
                inc     (iy+1)
3153
                jr      z,inc_50
3154
                inc_error_cnt
3155
inc_50:         inc     (iy+1)
3156
                jr      nz,inc_51
3157
                inc_error_cnt
3158
inc_51:         ld      a,(iy+1)
3159
                cp      a,1
3160
                jr      z,inc_52
3161
                inc_error_cnt
3162
inc_52:         ld      a,data_80
3163
                ld      (iy-1),a
3164
                inc     (iy-1)
3165
                jp      m,inc_53
3166
                inc_error_cnt
3167
inc_53:         ld      a,(iy-1)
3168
                cp      a,data_80+1
3169
                jr      z,dec_0
3170
                inc_error_cnt
3171
dec_0:          ld      a,data_80
3172
                cp      a,data_80
3173
                jr      z,dec_1
3174
                inc_error_cnt
3175
dec_1:          dec     a
3176
                jp      p,dec_2
3177
                inc_error_cnt
3178
dec_2:          jp      pe,dec_3
3179
                inc_error_cnt
3180
dec_3:          ld      a,0
3181
                dec     a
3182
                jp      m,dec_4
3183
                inc_error_cnt
3184
dec_4:          jp      po,dec_5
3185
                inc_error_cnt
3186
dec_5:          cp      a,data_ff
3187
                jr      z,dec_6
3188
                inc_error_cnt
3189
dec_6:          ld      a,1
3190
                dec     a
3191
                jr      z,dec_7
3192
                inc_error_cnt
3193
dec_7:          dec     a
3194
                jr      nz,dec_8
3195
                inc_error_cnt
3196
dec_8:          cp      a,data_ff
3197
                jr      z,dec_9
3198
                inc_error_cnt
3199
dec_9:          ld      a,data_aa
3200
                dec     a
3201
                cp      a,data_aa-1
3202
                jr      z,dec_10
3203
                inc_error_cnt
3204
dec_10:         ld      b,data_7f
3205
                dec     b
3206
                ld      a,b
3207
                cp      a,data_7f-1
3208
                jr      z,dec_11
3209
                inc_error_cnt
3210
dec_11:         ld      c,data_55
3211
                dec     c
3212
                ld      a,c
3213
                cp      a,data_55-1
3214
                jr      z,dec_12
3215
                inc_error_cnt
3216
dec_12:         ld      d,data_aa
3217
                dec     d
3218
                ld      a,d
3219
                cp      a,data_aa-1
3220
                jr      z,dec_13
3221
                inc_error_cnt
3222
dec_13:         ld      e,data_80
3223
                dec     e
3224
                ld      a,e
3225
                cp      a,data_80-1
3226
                jr      z,dec_14
3227
                inc_error_cnt
3228
dec_14:         ld      h,data_ff
3229
                dec     h
3230
                ld      a,h
3231
                cp      a,data_ff-1
3232
                jr      z,dec_15
3233
                inc_error_cnt
3234
dec_15:         ld      l,data_55
3235
                dec     l
3236
                ld      a,l
3237
                cp      a,data_55-1
3238
                jr      z,dec_16
3239
                inc_error_cnt
3240
dec_16:         ld      hl,t_var5
3241
                ld      a,data_80
3242
                ld      (hl),a
3243
                cp      a,(hl)
3244
                jr      z,dec_17
3245
                inc_error_cnt
3246
dec_17:         dec     (hl)
3247
                jp      p,dec_18
3248
                inc_error_cnt
3249
dec_18:         jp      pe,dec_19
3250
                inc_error_cnt
3251
dec_19:         ld      a,0
3252
                ld      (hl),a
3253
                dec     (hl)
3254
                jp      m,dec_20
3255
                inc_error_cnt
3256
dec_20:         jp      po,dec_21
3257
                inc_error_cnt
3258
dec_21:         ld      a,(hl)
3259
                cp      a,data_ff
3260
                jr      z,dec_22
3261
                inc_error_cnt
3262
dec_22:         ld      a,1
3263
                ld      (hl),a
3264
                dec     (hl)
3265
                jr      z,dec_23
3266
                inc_error_cnt
3267
dec_23:         dec     (hl)
3268
                jr      nz,dec_24
3269
                inc_error_cnt
3270
dec_24:         ld      a,(hl)
3271
                cp      a,data_ff
3272
                jr      z,dec_25
3273
                inc_error_cnt
3274
dec_25:         ld      a,data_aa
3275
                ld      (hl),a
3276
                dec     (hl)
3277
                ld      a,(hl)
3278
                cp      a,data_aa-1
3279
                jr      z,dec_26
3280
                inc_error_cnt
3281
dec_26:         ld      ix,t_var3
3282
                ld      a,data_80
3283
                ld      (ix-2),a
3284
                cp      a,(ix-2)
3285
                jr      z,dec_27
3286
                inc_error_cnt
3287
dec_27:         dec     (ix-2)
3288
                jp      p,dec_28
3289
                inc_error_cnt
3290
dec_28:         jp      pe,dec_29
3291
                inc_error_cnt
3292
dec_29:         ld      a,0
3293
                ld      (ix+2),a
3294
                dec     (ix+2)
3295
                jp      m,dec_30
3296
                inc_error_cnt
3297
dec_30:         jp      po,dec_31
3298
                inc_error_cnt
3299
dec_31:         ld      a,(ix+2)
3300
                cp      a,data_ff
3301
                jr      z,dec_32
3302
                inc_error_cnt
3303
dec_32:         ld      a,1
3304
                ld      (ix-1),a
3305
                dec     (ix-1)
3306
                jr      z,dec_33
3307
                inc_error_cnt
3308
dec_33:         dec     (ix-1)
3309
                jr      nz,dec_34
3310
                inc_error_cnt
3311
dec_34:         ld      a,(ix-1)
3312
                cp      a,data_ff
3313
                jr      z,dec_35
3314
                inc_error_cnt
3315
dec_35:         ld      a,data_7f
3316
                ld      (ix+1),a
3317
                dec     (ix+1)
3318
                ld      a,(ix+1)
3319
                cp      a,data_7f-1
3320
                jr      z,dec_36
3321
                inc_error_cnt
3322
dec_36:         ld      iy,t_var3
3323
                ld      a,data_80
3324
                ld      (iy-2),a
3325
                cp      a,(iy-2)
3326
                jr      z,dec_37
3327
                inc_error_cnt
3328
dec_37:         dec     (iy-2)
3329
                jp      p,dec_38
3330
                inc_error_cnt
3331
dec_38:         jp      pe,dec_39
3332
                inc_error_cnt
3333
dec_39:         ld      a,0
3334
                ld      (iy+2),a
3335
                dec     (iy+2)
3336
                jp      m,dec_40
3337
                inc_error_cnt
3338
dec_40:         jp      po,dec_41
3339
                inc_error_cnt
3340
dec_41:         ld      a,(iy+2)
3341
                cp      a,data_ff
3342
                jr      z,dec_42
3343
                inc_error_cnt
3344
dec_42:         ld      a,1
3345
                ld      (iy+1),a
3346
                dec     (iy+1)
3347
                jr      z,dec_43
3348
                inc_error_cnt
3349
dec_43:         dec     (iy+1)
3350
                jr      nz,dec_44
3351
                inc_error_cnt
3352
dec_44:         ld      a,(iy+1)
3353
                cp      a,data_ff
3354
                jr      z,dec_45
3355
                inc_error_cnt
3356
dec_45:         ld      a,data_aa
3357
                ld      (iy-1),a
3358
                dec     (iy-1)
3359
                ld      a,(iy-1)
3360
                cp      a,data_aa-1
3361
                jr      z,cpl_0
3362
                inc_error_cnt
3363
cpl_0:          ld      a,data_ff
3364
                cpl
3365
                cp      a,0
3366
                jr      z,cpl_1
3367
                inc_error_cnt
3368
cpl_1:          ld      a,data_aa
3369
                cpl
3370
                cp      a,data_55
3371
                jr      z,cpl_2
3372
                inc_error_cnt
3373
cpl_2:          cpl
3374
                cp      a,data_aa
3375
                jr      z,neg_0
3376
                inc_error_cnt
3377
neg_0:          ld      a,data_80
3378
                cp      a,data_80
3379
                jp      po,neg_1
3380
                inc_error_cnt
3381
neg_1:          neg
3382
                jp      pe,neg_2
3383
                inc_error_cnt
3384
neg_2:          jr      nz,neg_3
3385
                inc_error_cnt
3386
neg_3:          jr      c,neg_4
3387
                inc_error_cnt
3388
neg_4:          ld      a,0
3389
                neg
3390
                jp      po,neg_5
3391
                inc_error_cnt
3392
neg_5:          jr      z,neg_6
3393
                inc_error_cnt
3394
neg_6:          jr      nc,neg_7
3395
                inc_error_cnt
3396
neg_7:          ld      a,data_55
3397
                cp      a,data_55
3398
                jp      p,neg_8
3399
                inc_error_cnt
3400
neg_8:          neg
3401
                jp      m,neg_9
3402
                inc_error_cnt
3403
neg_9:          neg
3404
                jp      p,neg_10
3405
                inc_error_cnt
3406
neg_10:         cp      a,data_55
3407
                jr      z,ccf_0
3408
                inc_error_cnt
3409
ccf_0:          scf
3410
                jr      c,ccf_1
3411
                inc_error_cnt
3412
ccf_1:          ccf
3413
                jr      nc,ccf_2
3414
                inc_error_cnt
3415
ccf_2:          ccf
3416
                jr      c,im_0
3417
                inc_error_cnt
3418
im_0:           im      0
3419
                im      1
3420
                im      2
3421
daa_0:          ld      a,#99
3422
                ld      b,#1
3423
                add     a,b
3424
                daa
3425
                jr      c,daa_1
3426
                inc_error_cnt
3427
daa_1:          jr      z,daa_2
3428
                inc_error_cnt
3429
daa_2:          add     a,b
3430
                jr      nc,daa_3
3431
                inc_error_cnt
3432
daa_3:          jr      nz,daa_4
3433
                inc_error_cnt
3434
daa_4:          cp      a,1
3435
                jr      z,daa_5
3436
                inc_error_cnt
3437
daa_5:          ld      a,#98
3438
                ld      b,1
3439
                add     a,b
3440
                daa
3441
                jp      m,daa_6
3442
                inc_error_cnt
3443
daa_6:          add     a,b
3444
                daa
3445
                jp      p,daa_7
3446
                inc_error_cnt
3447
daa_7:          ld      a,1
3448
                ld      b,1
3449
                add     a,b
3450
                daa
3451
                jp      po,daa_8
3452
                inc_error_cnt
3453
daa_8:          add     a,b
3454
                daa
3455
                jp      pe,daa_9
3456
                inc_error_cnt
3457
daa_9:          cp      a,3
3458
                jr      z,add_74
3459
                inc_error_cnt
3460
add_74:         ld      hl,data_1234
3461
                add     hl,hl
3462
                jr      nc,add_75
3463
                inc_error_cnt
3464
add_75:         ld      a,h
3465
                cp      a,#24
3466
                jr      z,add_76
3467
                inc_error_cnt
3468
add_76:         ld      a,l
3469
                cp      a,#68
3470
                jr      z,add_77
3471
                inc_error_cnt
3472
add_77:         ld      hl,data_7fff
3473
                ld      bc,data_8000
3474
                add     hl,bc
3475
                jr      nc,add_78
3476
                inc_error_cnt
3477
add_78:         ld      bc,1
3478
                add     hl,bc
3479
                jr      c,add_79
3480
                inc_error_cnt
3481
add_79:         ld      a,h
3482
                cp      a,0
3483
                jr      z,add_80
3484
                inc_error_cnt
3485
add_80:         ld      a,l
3486
                cp      a,0
3487
                jr      z,add_81
3488
                inc_error_cnt
3489
add_81:         ld      hl,data_aa55
3490
                ld      de,data_ffff
3491
                add     hl,de
3492
                jr      c,add_82
3493
                inc_error_cnt
3494
add_82:         ld      a,h
3495
                cp      a,data_aa
3496
                jr      z,add_83
3497
                inc_error_cnt
3498
add_83:         ld      a,l
3499
                cp      a,data_55-1
3500
                jr      z,add_84
3501
                inc_error_cnt
3502
add_84:         ld      hl,data_aa55
3503
                ld      sp,data_8000
3504
                add     hl,sp
3505
                jr      c,add_85
3506
                inc_error_cnt
3507
add_85:         ld      a,h
3508
                cp      a,#2a
3509
                jr      z,add_86
3510
                inc_error_cnt
3511
add_86:         ld      a,l
3512
                cp      a,data_55
3513
                jr      z,add_87
3514
                inc_error_cnt
3515
add_87:         ld      sp,stack_end
3516
                ld      hl,data_1234
3517
                scf
3518
                ccf
3519
                adc     hl,hl
3520
                jr      nz,add_88
3521
                inc_error_cnt
3522
add_88:         jr      nc,add_89
3523
                inc_error_cnt
3524
add_89:         jp      p,add_90
3525
                inc_error_cnt
3526
add_90:         jp      po,add_91
3527
                inc_error_cnt
3528
add_91:         ld      bc,data_8000
3529
                adc     hl,bc
3530
                jp      m,add_92
3531
                inc_error_cnt
3532
add_92:         jr      nc,add_93
3533
                inc_error_cnt
3534
add_93:         jp      po,add_94
3535
                inc_error_cnt
3536
add_94:         jp      nz,add_95
3537
                inc_error_cnt
3538
add_95:         adc     hl,bc
3539
                jp      p,add_96
3540
                inc_error_cnt
3541
add_96:         jp      pe,add_97
3542
                inc_error_cnt
3543
add_97:         jr      c,add_98
3544
                inc_error_cnt
3545
add_98:         jr      nz,add_99
3546
                inc_error_cnt
3547
add_99:         ld      de,#db97
3548
                adc     hl,de
3549
                jr      z,add_100
3550
                inc_error_cnt
3551
add_100:        jr      c,add_101
3552
                inc_error_cnt
3553
add_101:        jp      po,add_102
3554
                inc_error_cnt
3555
add_102:        ld      de,0
3556
                adc     hl,de
3557
                jr      nc,add_103
3558
                inc_error_cnt
3559
add_103:        jr      nz,add_104
3560
                inc_error_cnt
3561
add_104:        ld      a,h
3562
                cp      a,0
3563
                jr      z,add_105
3564
                inc_error_cnt
3565
add_105:        ld      a,l
3566
                cp      a,1
3567
                jr      z,add_106
3568
                inc_error_cnt
3569
add_106:        ld      hl,data_1234
3570
                ld      sp,data_ffff
3571
                adc     hl,sp
3572
                jr      c,add_107
3573
                inc_error_cnt
3574
add_107:        ld      a,h
3575
                cp      a,#12
3576
                jr      z,add_108
3577
                inc_error_cnt
3578
add_108:        ld      a,l
3579
                cp      a,#33
3580
                jr      z,sbc_66
3581
                inc_error_cnt
3582
sbc_66:         ld      sp,stack_end
3583
                scf
3584
                ccf
3585
                ld      hl,data_1234
3586
                sbc     hl,hl
3587
                jr      z,sbc_67
3588
                inc_error_cnt
3589
sbc_67:         jp      p,sbc_68
3590
                inc_error_cnt
3591
sbc_68:         jp      po,sbc_69
3592
                inc_error_cnt
3593
sbc_69:         jr      nc,sbc_70
3594
                inc_error_cnt
3595
sbc_70:         ld      bc,data_1234
3596
                sbc     hl,bc
3597
                jr      nz,sbc_71
3598
                inc_error_cnt
3599
sbc_71:         jr      c,sbc_72
3600
                inc_error_cnt
3601
sbc_72:         jp      m,sbc_73
3602
                inc_error_cnt
3603
sbc_73:         jp      po,sbc_74
3604
                inc_error_cnt
3605
sbc_74:         ld      de,data_7fff
3606
                sbc     hl,de
3607
                jr      nz,sbc_75
3608
                inc_error_cnt
3609
sbc_75:         jr      nc,sbc_76
3610
                inc_error_cnt
3611
sbc_76:         jp      p,sbc_77
3612
                inc_error_cnt
3613
sbc_77:         jp      pe,sbc_78
3614
                inc_error_cnt
3615
sbc_78:         ld      sp,data_1234
3616
                sbc     hl,sp
3617
                jr      nz,sbc_79
3618
                inc_error_cnt
3619
sbc_79:         ld      a,h
3620
                cp      a,#5b
3621
                jr      z,sbc_80
3622
                inc_error_cnt
3623
sbc_80:         ld      a,l
3624
                cp      a,#98
3625
                jr      z,add_109
3626
                inc_error_cnt
3627
add_109:        ld      sp,stack_end
3628
                ld      ix,0
3629
                add     ix,sp
3630
                jr      nc,add_110
3631
                inc_error_cnt
3632
add_110:        push    ix
3633
                pop     hl
3634
                ld      a,h
3635
                cp      a,stack_end_hi          ; >stack_end
3636
                jr      z,add_111
3637
                inc_error_cnt
3638
add_111:        ld      a,l
3639
                cp      a,stack_end_lo          ; 
3640
                jr      z,add_112
3641
                inc_error_cnt
3642
add_112:        ld      ix,data_7fff
3643
                ld      bc,data_aa55
3644
                add     ix,bc
3645
                jr      c,add_113
3646
                inc_error_cnt
3647
add_113:        add     ix,bc
3648
                jr      nc,add_114
3649
                inc_error_cnt
3650
add_114:        push    ix
3651
                pop     hl
3652
                ld      a,h
3653
                cp      a,#d4
3654
                jr      z,add_115
3655
                inc_error_cnt
3656
add_115:        ld      a,l
3657
                cp      a,#a9
3658
                jr      z,add_116
3659
                inc_error_cnt
3660
add_116:        ld      ix,data_1234
3661
                ld      de,data_1234
3662
                add     ix,de
3663
                push    ix
3664
                pop     hl
3665
                ld      a,h
3666
                cp      a,#24           ;>(data_1234+data_1234)
3667
                jr      z,add_117
3668
                inc_error_cnt
3669
add_117:        ld      a,l
3670
                cp      a,#68           ;<(data_1234+data_1234)
3671
                jr      z,add_118
3672
                inc_error_cnt
3673
add_118:        ld      ix,data_1234
3674
                add     ix,ix
3675
                push    ix
3676
                pop     bc
3677
                ld      a,b
3678
                cp      a,#24           ;>(data_1234+data_1234)
3679
                jr      z,add_119
3680
                inc_error_cnt
3681
add_119:        ld      a,c
3682
                cp      a,#68           ;<(data_1234+data_1234)
3683
                jr      z,add_120
3684
                inc_error_cnt
3685
add_120:        ld      sp,stack_end
3686
                ld      iy,0
3687
                add     iy,sp
3688
                jr      nc,add_121
3689
                inc_error_cnt
3690
add_121:        push    iy
3691
                pop     hl
3692
                ld      a,h
3693
                cp      a,stack_end_hi          ;>stack_end
3694
                jr      z,add_122
3695
                inc_error_cnt
3696
add_122:        ld      a,l
3697
                cp      a,stack_end_lo          ;
3698
                jr      z,add_123
3699
                inc_error_cnt
3700
add_123:        ld      iy,data_7fff
3701
                ld      bc,data_aa55
3702
                add     iy,bc
3703
                jr      c,add_124
3704
                inc_error_cnt
3705
add_124:        add     iy,bc
3706
                jr      nc,add_125
3707
                inc_error_cnt
3708
add_125:        push    iy
3709
                pop     hl
3710
                ld      a,h
3711
                cp      a,#d4
3712
                jr      z,add_126
3713
                inc_error_cnt
3714
add_126:        ld      a,l
3715
                cp      a,#a9
3716
                jr      z,add_127
3717
                inc_error_cnt
3718
add_127:        ld      iy,data_1234
3719
                ld      de,data_1234
3720
                add     iy,de
3721
                push    iy
3722
                pop     hl
3723
                ld      a,h
3724
                cp      a,#24           ;>(data_1234+data_1234)
3725
                jr      z,add_128
3726
                inc_error_cnt
3727
add_128:        ld      a,l
3728
                cp      a,#68           ;<(data_1234+data_1234)
3729
                jr      z,add_129
3730
                inc_error_cnt
3731
add_129:        ld      iy,data_1234
3732
                add     iy,iy
3733
                push    iy
3734
                pop     bc
3735
                ld      a,b
3736
                cp      a,#24           ;>(data_1234+data_1234)
3737
                jr      z,add_130
3738
                inc_error_cnt
3739
add_130:        ld      a,c
3740
                cp      a,#68           ;<(data_1234+data_1234)
3741
                jr      z,inc_54
3742
                inc_error_cnt
3743
inc_54:         ld      bc,data_1234
3744
                inc     bc
3745
                ld      a,b
3746
                cp      a,#12      ;bjp was >data_1234
3747
                jr      z,inc_55
3748
                inc_error_cnt
3749
inc_55:         ld      a,c
3750
                cp      a,#34+1      ;bjp was >data_1234+1
3751
                jr      z,inc_56
3752
                inc_error_cnt
3753
inc_56:         ld      de,data_55aa
3754
                inc     de
3755
                ld      a,d
3756
                cp      a,#55           ;>data_55aa
3757
                jr      z,inc_57
3758
                inc_error_cnt
3759
inc_57:         ld      a,e
3760
                cp      a,#ab           ;
3761
                jr      z,inc_58
3762
                inc_error_cnt
3763
inc_58:         ld      hl,data_7fff
3764
                inc     hl
3765
                ld      a,h
3766
                cp      a,#80           ;>data_7fff+1
3767
                jr      z,inc_59
3768
                inc_error_cnt
3769
inc_59:         ld      a,l
3770
                cp      a,#00           ;
3771
                jr      z,inc_60
3772
                inc_error_cnt
3773
inc_60:         ld      hl,0
3774
                inc     sp
3775
                add     hl,sp
3776
                ld      sp,stack_end
3777
                ld      a,h
3778
                cp      a,stack_end_hi+1                ;>stack_end+1
3779
                jr      z,inc_61
3780
                inc_error_cnt
3781
inc_61:         ld      a,l
3782
                cp      a,stack_end_lo+1                ;
3783
                jr      z,inc_62
3784
                inc_error_cnt
3785
inc_62:         ld      ix,data_8000
3786
                inc     ix
3787
                push    ix
3788
                pop     de
3789
                ld      a,d
3790
                cp      a,#80           ;>data_8000
3791
                jr      z,inc_63
3792
                inc_error_cnt
3793
inc_63:         ld      a,e
3794
                cp      a,#01           ;
3795
                jr      z,inc_64
3796
                inc_error_cnt
3797
inc_64:         ld      iy,data_7fff
3798
                inc     iy
3799
                push    iy
3800
                pop     bc
3801
                ld      a,b
3802
                cp      a,#80           ;>data_7fff+1
3803
                jr      z,inc_65
3804
                inc_error_cnt
3805
inc_65:         ld      a,c
3806
                cp      a,#00           ;
3807
                jr      z,dec_46
3808
                inc_error_cnt
3809
dec_46:         ld      bc,data_1234
3810
                dec     bc
3811
                ld      a,b
3812
                cp      a,#12      ;bjp was >data_1234
3813
                jr      z,dec_47
3814
                inc_error_cnt
3815
dec_47:         ld      a,c
3816
                cp      a,#34-1      ;bjp was >data_1234-1
3817
                jr      z,dec_48
3818
                inc_error_cnt
3819
dec_48:         ld      de,data_8000
3820
                dec     de
3821
                ld      a,d
3822
                cp      a,#7f           ;>data_7fff
3823
                jr      z,dec_49
3824
                inc_error_cnt
3825
dec_49:         ld      a,e
3826
                cp      a,#ff           ;
3827
                jr      z,dec_50
3828
                inc_error_cnt
3829
dec_50:         ld      hl,data_aa55
3830
                dec     hl
3831
                ld      a,h
3832
                cp      a,#aa           ;>data_aa55
3833
                jr      z,dec_51
3834
                inc_error_cnt
3835
dec_51:         ld      a,l
3836
                cp      a,#54           ;
3837
                jr      z,dec_52
3838
                inc_error_cnt
3839
dec_52:         ld      hl,0
3840
                dec     sp
3841
                add     hl,sp
3842
                ld      a,h
3843
                cp      a,stack_end_hi-1                ;>stack_end-1
3844
                jr      z,dec_53
3845
                inc_error_cnt
3846
dec_53:         ld      a,l
3847
                cp      a,stack_end_lo-1                ;
3848
                jr      z,dec_54
3849
                inc_error_cnt
3850
dec_54:         ld      sp,stack_end
3851
                ld      ix,data_ffff
3852
                dec     ix
3853
                push    ix
3854
                pop     bc
3855
                ld      a,b
3856
                cp      a,#ff           ;>data_ffff
3857
                jr      z,dec_55
3858
                inc_error_cnt
3859
dec_55:         ld      a,c
3860
                cp      a,#fe           ;
3861
                jr      z,dec_56
3862
                inc_error_cnt
3863
dec_56:         ld      iy,data_aa55
3864
                dec     iy
3865
                push    iy
3866
                pop     de
3867
                ld      a,d
3868
                cp      a,#aa           ;>data_aa55
3869
                jr      z,dec_57
3870
                inc_error_cnt
3871
dec_57:         ld      a,e
3872
                cp      a,#54           ;
3873
                jr      z,rlca_0
3874
                inc_error_cnt
3875
rlca_0:         ld      a,data_80
3876
                rlca
3877
                jr      c,rlca_1
3878
                inc_error_cnt
3879
rlca_1:         rlca
3880
                jr      nc,rlca_2
3881
                inc_error_cnt
3882
rlca_2:         cp      a,2
3883
                jr      z,rlca_3
3884
                inc_error_cnt
3885
rlca_3:         ld      a,data_55
3886
                rlca
3887
                cp      a,data_aa
3888
                jr      z,rla_0
3889
                inc_error_cnt
3890
rla_0:          scf
3891
                ccf
3892
                ld      a,data_80
3893
                rla
3894
                jr      c,rla_1
3895
                inc_error_cnt
3896
rla_1:          rla
3897
                jr      nc,rla_2
3898
                inc_error_cnt
3899
rla_2:          cp      a,1
3900
                jr      z,rla_3
3901
                inc_error_cnt
3902
rla_3:          ld      a,data_7f
3903
                rla
3904
                cp      a,data_ff-1
3905
                jr      z,rrca_0
3906
                inc_error_cnt
3907
rrca_0:         scf
3908
                ccf
3909
                ld      a,1
3910
                rrca
3911
                jr      c,rrca_1
3912
                inc_error_cnt
3913
rrca_1:         rrca
3914
                jr      nc,rrca_2
3915
                inc_error_cnt
3916
rrca_2:         cp      a,data_7f-#3f
3917
                jr      z,rrca_3
3918
                inc_error_cnt
3919
rrca_3:         ld      a,data_aa
3920
                rrca
3921
                cp      a,data_55
3922
                jr      z,rra_0
3923
                inc_error_cnt
3924
rra_0:          scf
3925
                ccf
3926
                ld      a,1
3927
                rra
3928
                jr      c,rra_1
3929
                inc_error_cnt
3930
rra_1:          rra
3931
                jr      nc,rra_2
3932
                inc_error_cnt
3933
rra_2:          cp      a,data_80
3934
                jr      z,rra_3
3935
                inc_error_cnt
3936
rra_3:          ld      a,data_aa
3937
                rra
3938
                cp      a,data_55
3939
                jr      z,rlc_0
3940
                inc_error_cnt
3941
rlc_0:          ld      a,data_80
3942
                rlc     a
3943
                jr      c,rlc_1
3944
                inc_error_cnt
3945
rlc_1:          jp      p,rlc_2
3946
                inc_error_cnt
3947
rlc_2:          jr      nz,rlc_3
3948
                inc_error_cnt
3949
rlc_3:          jp      po,rlc_4
3950
                inc_error_cnt
3951
rlc_4:          rlc     a
3952
                jr      nc,rlc_5
3953
                inc_error_cnt
3954
rlc_5:          rlc     a
3955
                rlc     a
3956
                rlc     a
3957
                rlc     a
3958
                rlc     a
3959
                rlc     a
3960
                jp      m,rlc_6
3961
                inc_error_cnt
3962
rlc_6:          ld      a,data_55
3963
                rlc     a
3964
                jp      m,rlc_7
3965
                inc_error_cnt
3966
rlc_7:          jp      pe,rlc_8
3967
                inc_error_cnt
3968
rlc_8:          cp      a,data_aa
3969
                jr      z,rlc_9
3970
                inc_error_cnt
3971
rlc_9:          ld      a,0
3972
                rlc     a
3973
                jr      z,rlc_10
3974
                inc_error_cnt
3975
rlc_10:         ld      b,data_7f
3976
                rlc     b
3977
                ld      a,b
3978
                cp      a,data_ff-1
3979
                jr      z,rlc_11
3980
                inc_error_cnt
3981
rlc_11:         ld      c,data_aa
3982
                rlc     c
3983
                jr      c,rlc_12
3984
                inc_error_cnt
3985
rlc_12:         ld      a,c
3986
                cp      a,data_55
3987
                jr      z,rlc_13
3988
                inc_error_cnt
3989
rlc_13:         ld      d,data_80
3990
                rlc     d
3991
                jr      c,rlc_14
3992
                inc_error_cnt
3993
rlc_14:         ld      a,d
3994
                cp      a,1
3995
                jr      z,rlc_15
3996
                inc_error_cnt
3997
rlc_15:         ld      e,data_ff
3998
                rlc     e
3999
                jr      c,rlc_16
4000
                inc_error_cnt
4001
rlc_16:         ld      a,e
4002
                cp      a,data_ff
4003
                jr      z,rlc_17
4004
                inc_error_cnt
4005
rlc_17:         ld      h,data_55
4006
                rlc     h
4007
                jp      m,rlc_18
4008
                inc_error_cnt
4009
rlc_18:         ld      a,h
4010
                cp      a,data_aa
4011
                jr      z,rlc_19
4012
                inc_error_cnt
4013
rlc_19:         ld      l,data_80
4014
                rlc     l
4015
                jp      p,rlc_20
4016
                inc_error_cnt
4017
rlc_20:         ld      a,l
4018
                cp      a,1
4019
                jr      z,rlc_21
4020
                inc_error_cnt
4021
rlc_21:         ld      hl,t_var1
4022
                ld      a,data_55
4023
                ld      (hl),a
4024
                rlc     (hl)
4025
                jp      m,rlc_22
4026
                inc_error_cnt
4027
rlc_22:         jp      pe,rlc_23
4028
                inc_error_cnt
4029
rlc_23:         jr      nc,rlc_24
4030
                inc_error_cnt
4031
rlc_24:         jr      nz,rlc_25
4032
                inc_error_cnt
4033
rlc_25:         rlc     (hl)
4034
                jp      p,rlc_26
4035
                inc_error_cnt
4036
rlc_26:         jr      c,rlc_27
4037
                inc_error_cnt
4038
rlc_27:         ld      a,(hl)
4039
                cp      a,data_55
4040
                jr      z,rlc_28
4041
                inc_error_cnt
4042
rlc_28:         ld      a,data_7f
4043
                ld      (hl),a
4044
                rlc     (hl)
4045
                jp      po,rlc_29
4046
                inc_error_cnt
4047
rlc_29:         ld      a,(hl)
4048
                cp      a,data_ff-1
4049
                jr      z,rlc_30
4050
                inc_error_cnt
4051
rlc_30:         ld      a,0
4052
                ld      (hl),a
4053
                rlc     (hl)
4054
                jr      z,rlc_31
4055
                inc_error_cnt
4056
rlc_31:         ld      ix,t_var3
4057
                ld      a,data_55
4058
                ld      (ix-2),a
4059
                rlc     (ix-2)
4060
                jp      m,rlc_32
4061
                inc_error_cnt
4062
rlc_32:         jp      pe,rlc_33
4063
                inc_error_cnt
4064
rlc_33:         jr      nz,rlc_34
4065
                inc_error_cnt
4066
rlc_34:         jr      nc,rlc_35
4067
                inc_error_cnt
4068
rlc_35:         rlc     (ix-2)
4069
                jp      p,rlc_36
4070
                inc_error_cnt
4071
rlc_36:         jr      c,rlc_37
4072
                inc_error_cnt
4073
rlc_37:         ld      a,(ix-2)
4074
                cp      a,data_55
4075
                jr      z,rlc_38
4076
                inc_error_cnt
4077
rlc_38:         ld      a,data_7f
4078
                ld      (ix+2),a
4079
                rlc     (ix+2)
4080
                jp      po,rlc_39
4081
                inc_error_cnt
4082
rlc_39:         ld      a,(ix+2)
4083
                cp      a,data_ff-1
4084
                jr      z,rlc_40
4085
                inc_error_cnt
4086
rlc_40:         ld      a,0
4087
                ld      (ix-1),a
4088
                rlc     (ix-1)
4089
                jr      z,rlc_41
4090
                inc_error_cnt
4091
rlc_41:         ld      iy,t_var3
4092
                ld      a,data_55
4093
                ld      (iy+2),a
4094
                rlc     (iy+2)
4095
                jp      m,rlc_42
4096
                inc_error_cnt
4097
rlc_42:         jp      pe,rlc_43
4098
                inc_error_cnt
4099
rlc_43:         jr      nc,rlc_44
4100
                inc_error_cnt
4101
rlc_44:         jr      nz,rlc_45
4102
                inc_error_cnt
4103
rlc_45:         rlc     (iy+2)
4104
                jp      p,rlc_46
4105
                inc_error_cnt
4106
rlc_46:         jr      c,rlc_47
4107
                inc_error_cnt
4108
rlc_47:         ld      a,(iy+2)
4109
                cp      a,data_55
4110
                jr      z,rlc_48
4111
                inc_error_cnt
4112
rlc_48:         ld      a,data_7f
4113
                ld      (iy-2),a
4114
                rlc     (iy-2)
4115
                jp      po,rlc_49
4116
                inc_error_cnt
4117
rlc_49:         ld      a,(iy-2)
4118
                cp      a,data_ff-1
4119
                jr      z,rlc_50
4120
                inc_error_cnt
4121
rlc_50:         ld      a,0
4122
                ld      (iy+1),a
4123
                rlc     (iy+1)
4124
                jr      z,rl_0
4125
                inc_error_cnt
4126
rl_0:           scf
4127
                ccf
4128
                ld      a,data_55
4129
                rl      a
4130
                jp      m,rl_1
4131
                inc_error_cnt
4132
rl_1:           jp      pe,rl_2
4133
                inc_error_cnt
4134
rl_2:           jr      nc,rl_3
4135
                inc_error_cnt
4136
rl_3:           jr      nz,rl_4
4137
                inc_error_cnt
4138
rl_4:           rl      a
4139
                jp      p,rl_5
4140
                inc_error_cnt
4141
rl_5:           jp      po,rl_6
4142
                inc_error_cnt
4143
rl_6:           jr      c,rl_7
4144
                inc_error_cnt
4145
rl_7:           rl      a
4146
                cp      a,data_aa-1
4147
                jr      z,rl_8
4148
                inc_error_cnt
4149
rl_8:           ld      a,0
4150
                rl      a
4151
                jr      z,rl_9
4152
                inc_error_cnt
4153
rl_9:           ld      b,data_aa
4154
                ld      c,data_7f
4155
                rl      b
4156
                jr      c,rl_10
4157
                inc_error_cnt
4158
rl_10:          rl      c
4159
                jr      nc,rl_11
4160
                inc_error_cnt
4161
rl_11:          ld      a,b
4162
                cp      a,data_55-1
4163
                jr      z,rl_12
4164
                inc_error_cnt
4165
rl_12:          ld      a,c
4166
                cp      a,data_ff
4167
                jr      z,rl_13
4168
                inc_error_cnt
4169
rl_13:          ld      d,data_ff
4170
                ld      e,data_80
4171
                rl      e
4172
                jr      c,rl_14
4173
                inc_error_cnt
4174
rl_14:          rl      d
4175
                jr      c,rl_15
4176
                inc_error_cnt
4177
rl_15:          ld      a,d
4178
                cp      a,data_ff
4179
                jr      z,rl_16
4180
                inc_error_cnt
4181
rl_16:          ld      a,e
4182
                cp      a,0
4183
                jr      z,rl_17
4184
                inc_error_cnt
4185
rl_17:          ld      h,data_7f
4186
                ld      l,data_55
4187
                rl      h
4188
                jp      m,rl_18
4189
                inc_error_cnt
4190
rl_18:          rl      l
4191
                jp      m,rl_19
4192
                inc_error_cnt
4193
rl_19:          ld      a,h
4194
                cp      a,data_ff-1
4195
                jr      z,rl_20
4196
                inc_error_cnt
4197
rl_20:          ld      a,l
4198
                cp      a,data_aa
4199
                jr      z,rl_21
4200
                inc_error_cnt
4201
rl_21:          ld      hl,t_var5
4202
                ld      a,data_55
4203
                ld      (hl),a
4204
                rl      (hl)
4205
                jp      m,rl_22
4206
                inc_error_cnt
4207
rl_22:          jp      pe,rl_23
4208
                inc_error_cnt
4209
rl_23:          jr      nc,rl_24
4210
                inc_error_cnt
4211
rl_24:          jr      nz,rl_25
4212
                inc_error_cnt
4213
rl_25:          rl      (hl)
4214
                jp      p,rl_26
4215
                inc_error_cnt
4216
rl_26:          jp      po,rl_27
4217
                inc_error_cnt
4218
rl_27:          jr      c,rl_28
4219
                inc_error_cnt
4220
rl_28:          ld      a,(hl)
4221
                cp      a,data_55-1
4222
                jr      z,rl_29
4223
                inc_error_cnt
4224
rl_29:          ld      a,0
4225
                ld      (hl),a
4226
                rl      (hl)
4227
                jr      z,rl_30
4228
                inc_error_cnt
4229
rl_30:          ld      ix,t_var3
4230
                ld      a,data_55
4231
                ld      (ix-2),a
4232
                rl      (ix-2)
4233
                jp      m,rl_31
4234
                inc_error_cnt
4235
rl_31:          jp      pe,rl_32
4236
                inc_error_cnt
4237
rl_32:          jr      nc,rl_33
4238
                inc_error_cnt
4239
rl_33:          jr      nz,rl_34
4240
                inc_error_cnt
4241
rl_34:          rl      (ix-2)
4242
                jp      p,rl_35
4243
                inc_error_cnt
4244
rl_35:          jp      po,rl_36
4245
                inc_error_cnt
4246
rl_36:          jr      c,rl_37
4247
                inc_error_cnt
4248
rl_37:          ld      a,(ix-2)
4249
                cp      a,data_55-1
4250
                jr      z,rl_38
4251
                inc_error_cnt
4252
rl_38:          ld      a,0
4253
                ld      (ix+2),a
4254
                rl      (ix+2)
4255
                jr      z,rl_39
4256
rl_39:          ld      iy,t_var3
4257
                ld      a,data_55
4258
                ld      (iy-1),a
4259
                rl      (iy-1)
4260
                jp      m,rl_40
4261
                inc_error_cnt
4262
rl_40:          jp      pe,rl_41
4263
                inc_error_cnt
4264
rl_41:          jr      nc,rl_42
4265
                inc_error_cnt
4266
rl_42:          jr      nz,rl_43
4267
                inc_error_cnt
4268
rl_43:          rl      (iy-1)
4269
                jp      p,rl_44
4270
                inc_error_cnt
4271
rl_44:          jp      po,rl_45
4272
                inc_error_cnt
4273
rl_45:          jr      c,rl_46
4274
                inc_error_cnt
4275
rl_46:          ld      a,(iy-1)
4276
                cp      a,data_55-1
4277
                jr      z,rl_47
4278
                inc_error_cnt
4279
rl_47:          ld      a,0
4280
                ld      (iy+1),a
4281
                rl      (iy+1)
4282
                jr      z,rrc_0
4283
                inc_error_cnt
4284
rrc_0:          ld      a,data_aa
4285
                rrc     a
4286
                jp      p,rrc_1
4287
                inc_error_cnt
4288
rrc_1:          jp      pe,rrc_2
4289
                inc_error_cnt
4290
rrc_2:          jr      nz,rrc_3
4291
                inc_error_cnt
4292
rrc_3:          jr      nc,rrc_4
4293
                inc_error_cnt
4294
rrc_4:          rrc     a
4295
                jp      m,rrc_5
4296
                inc_error_cnt
4297
rrc_5:          jr      c,rrc_6
4298
                inc_error_cnt
4299
rrc_6:          cp      a,data_aa
4300
                jr      z,rrc_7
4301
                inc_error_cnt
4302
rrc_7:          ld      a,1
4303
                rrc     a
4304
                jr      c,rrc_8
4305
                inc_error_cnt
4306
rrc_8:          cp      a,data_80
4307
                jr      z,rrc_9
4308
                inc_error_cnt
4309
rrc_9:          ld      a,data_7f
4310
                rrc     a
4311
                jp      po,rrc_10
4312
                inc_error_cnt
4313
rrc_10:         cp      a,#bf
4314
                jr      z,rrc_11
4315
                inc_error_cnt
4316
rrc_11:         ld      b,data_80
4317
                ld      c,data_55
4318
                rrc     b
4319
                jr      nc,rrc_12
4320
                inc_error_cnt
4321
rrc_12:         rrc     c
4322
                jr      c,rrc_13
4323
                inc_error_cnt
4324
rrc_13:         ld      a,b
4325
                cp      a,#40
4326
                jr      z,rrc_14
4327
                inc_error_cnt
4328
rrc_14:         ld      a,c
4329
                cp      a,data_aa
4330
                jr      z,rrc_15
4331
                inc_error_cnt
4332
rrc_15:         ld      d,data_aa
4333
                ld      e,1
4334
                rrc     d
4335
                jp      p,rrc_16
4336
                inc_error_cnt
4337
rrc_16:         rrc     e
4338
                jp      m,rrc_17
4339
                inc_error_cnt
4340
rrc_17:         ld      a,d
4341
                cp      a,data_55
4342
                jr      z,rrc_18
4343
                inc_error_cnt
4344
rrc_18:         ld      a,e
4345
                cp      a,data_80
4346
                jr      z,rrc_19
4347
                inc_error_cnt
4348
rrc_19:         ld      h,data_55
4349
                ld      l,data_ff
4350
                rrc     h
4351
                jr      c,rrc_20
4352
                inc_error_cnt
4353
rrc_20:         rrc     l
4354
                jr      c,rrc_21
4355
                inc_error_cnt
4356
rrc_21:         ld      a,h
4357
                cp      a,data_aa
4358
                jr      z,rrc_22
4359
                inc_error_cnt
4360
rrc_22:         ld      a,l
4361
                cp      a,data_ff
4362
                jr      z,rrc_23
4363
                inc_error_cnt
4364
rrc_23:         ld      hl,t_var4
4365
                ld      (hl),data_aa
4366
                rrc      (hl)
4367
                jp      p,rrc_24
4368
                inc_error_cnt
4369
rrc_24:         jp      pe,rrc_25
4370
                inc_error_cnt
4371
rrc_25:         jr      nz,rrc_26
4372
                inc_error_cnt
4373
rrc_26:         jr      nc,rrc_27
4374
                inc_error_cnt
4375
rrc_27:         rrc     (hl)
4376
                jp      m,rrc_28
4377
                inc_error_cnt
4378
rrc_28:         jr      c,rrc_29
4379
                inc_error_cnt
4380
rrc_29:         ld      a,(hl)
4381
                cp      a,data_aa
4382
                jr      z,rrc_30
4383
                inc_error_cnt
4384
rrc_30:         ld      (hl),data_7f
4385
                rrc     (hl)
4386
                jp      po,rrc_31
4387
                inc_error_cnt
4388
rrc_31:         ld      a,(hl)
4389
                cp      a,#bf
4390
                jr      z,rrc_32
4391
                inc_error_cnt
4392
rrc_32:         ld      (hl),0
4393
                rrc     (hl)
4394
                jr      z,rrc_33
4395
                inc_error_cnt
4396
rrc_33:         ld      ix,t_var3
4397
                ld      a,data_aa
4398
                ld      (ix+2),a
4399
                rrc     (ix+2)
4400
                jp      p,rrc_34
4401
                inc_error_cnt
4402
rrc_34:         jp      pe,rrc_35
4403
                inc_error_cnt
4404
rrc_35:         jr      nc,rrc_36
4405
                inc_error_cnt
4406
rrc_36:         jr      nz,rrc_37
4407
                inc_error_cnt
4408
rrc_37:         rrc     (ix+2)
4409
                jp      m,rrc_38
4410
                inc_error_cnt
4411
rrc_38:         jr      c,rrc_39
4412
                inc_error_cnt
4413
rrc_39:         ld      a,(ix+2)
4414
                cp      a,data_aa
4415
                jr      z,rrc_40
4416
                inc_error_cnt
4417
rrc_40:         ld      a,1
4418
                ld      (ix-2),a
4419
                rrc     (ix-2)
4420
                jp      po,rrc_41
4421
                inc_error_cnt
4422
rrc_41:         ld      a,(ix-2)
4423
                cp      a,data_80
4424
                jr      z,rrc_42
4425
                inc_error_cnt
4426
rrc_42:         ld      a,0
4427
                ld      (ix+1),a
4428
                rrc     (ix+1)
4429
                jr      z,rrc_43
4430
                inc_error_cnt
4431
rrc_43:         ld      iy,t_var3
4432
                ld      a,data_aa
4433
                ld      (iy+2),a
4434
                rrc     (iy+2)
4435
                jp      p,rrc_44
4436
                inc_error_cnt
4437
rrc_44:         jp      pe,rrc_45
4438
                inc_error_cnt
4439
rrc_45:         jr      nc,rrc_46
4440
                inc_error_cnt
4441
rrc_46:         jr      nz,rrc_47
4442
                inc_error_cnt
4443
rrc_47:         rrc     (iy+2)
4444
                jp      m,rrc_48
4445
                inc_error_cnt
4446
rrc_48:         jr      c,rrc_49
4447
                inc_error_cnt
4448
rrc_49:         ld      a,(iy+2)
4449
                cp      a,data_aa
4450
                jr      z,rrc_50
4451
                inc_error_cnt
4452
rrc_50:         ld      a,1
4453
                ld      (iy-2),a
4454
                rrc     (iy-2)
4455
                jp      po,rrc_51
4456
                inc_error_cnt
4457
rrc_51:         ld      a,(iy-2)
4458
                cp      a,data_80
4459
                jr      z,rrc_52
4460
                inc_error_cnt
4461
rrc_52:         ld      a,0
4462
                ld      (iy+1),a
4463
                rrc     (iy+1)
4464
                jr      z,rr_0
4465
                inc_error_cnt
4466
rr_0:           scf
4467
                ccf
4468
                ld      a,data_aa
4469
                rr      a
4470
                jp      p,rr_1
4471
                inc_error_cnt
4472
rr_1:           jp      pe,rr_2
4473
                inc_error_cnt
4474
rr_2:           jr      nc,rr_3
4475
                inc_error_cnt
4476
rr_3:           jr      nz,rr_4
4477
                inc_error_cnt
4478
rr_4:           rr      a
4479
                jr      c,rr_5
4480
                inc_error_cnt
4481
rr_5:           jp      po,rr_6
4482
                inc_error_cnt
4483
rr_6:           cp      a,#2a
4484
                jr      z,rr_7
4485
                inc_error_cnt
4486
rr_7:           scf
4487
                ld      a,0
4488
                rr      a
4489
                jp      m,rr_8
4490
                inc_error_cnt
4491
rr_8:           cp      a,data_80
4492
                jr      z,rr_9
4493
                inc_error_cnt
4494
rr_9:           ld      a,0
4495
                rr      a
4496
                jr      z,rr_10
4497
                inc_error_cnt
4498
rr_10:          ld      b,data_55
4499
                ld      c,data_aa
4500
                rr      b
4501
                jr      c,rr_11
4502
                inc_error_cnt
4503
rr_11:          rr      c
4504
                jr      nc,rr_12
4505
                inc_error_cnt
4506
rr_12:          ld      a,b
4507
                cp      a,#2a
4508
                jr      z,rr_13
4509
                inc_error_cnt
4510
rr_13:          ld      a,c
4511
                cp      a,#d5
4512
                jr      z,rr_14
4513
                inc_error_cnt
4514
rr_14:          ld      d,data_7f
4515
                ld      e,data_80
4516
                rr      d
4517
                jr      c,rr_15
4518
                inc_error_cnt
4519
rr_15:          rr      e
4520
                jr      nc,rr_16
4521
                inc_error_cnt
4522
rr_16:          ld      a,d
4523
                cp      a,#3f
4524
                jr      z,rr_17
4525
                inc_error_cnt
4526
rr_17:          ld      a,e
4527
                cp      a,#c0
4528
                jr      z,rr_18
4529
                inc_error_cnt
4530
rr_18:          ld      hl,t_var2
4531
                ld      (hl),data_55
4532
                rr      (hl)
4533
                jp      p,rr_19
4534
                inc_error_cnt
4535
rr_19:          jp      po,rr_20
4536
                inc_error_cnt
4537
rr_20:          jr      c,rr_21
4538
                inc_error_cnt
4539
rr_21:          jr      nz,rr_22
4540
                inc_error_cnt
4541
rr_22:          rr      (hl)
4542
                jp      m,rr_23
4543
                inc_error_cnt
4544
rr_23:          jp      pe,rr_24
4545
                inc_error_cnt
4546
rr_24:          jr      nc,rr_25
4547
                inc_error_cnt
4548
rr_25:          ld      a,(hl)
4549
                cp      a,#95
4550
                jr      z,rr_26
4551
                inc_error_cnt
4552
rr_26:          ld      (hl),0
4553
                rr      (hl)
4554
                jr      z,rr_27
4555
                inc_error_cnt
4556
rr_27:          ld      ix,t_var3
4557
                ld      a,data_55
4558
                ld      (ix-2),a
4559
                rr      (ix-2)
4560
                jp      p,rr_28
4561
                inc_error_cnt
4562
rr_28:          jp      po,rr_29
4563
                inc_error_cnt
4564
rr_29:          jr      c,rr_30
4565
                inc_error_cnt
4566
rr_30:          jr      nz,rr_31
4567
                inc_error_cnt
4568
rr_31:          rr      (ix-2)
4569
                jp      m,rr_32
4570
                inc_error_cnt
4571
rr_32:          jp      pe,rr_33
4572
                inc_error_cnt
4573
rr_33:          jr      nc,rr_34
4574
                inc_error_cnt
4575
rr_34:          ld      a,(ix-2)
4576
                cp      a,#95
4577
                jr      z,rr_35
4578
                inc_error_cnt
4579
rr_35:          ld      a,0
4580
                ld      (ix+2),a
4581
                rr      (ix+2)
4582
                jr      z,rr_36
4583
                inc_error_cnt
4584
rr_36:          ld      iy,t_var3
4585
                ld      a,data_55
4586
                ld      (iy+2),a
4587
                rr      (iy+2)
4588
                jp      p,rr_37
4589
                inc_error_cnt
4590
rr_37:          jp      po,rr_38
4591
                inc_error_cnt
4592
rr_38:          jr      c,rr_39
4593
                inc_error_cnt
4594
rr_39:          jr      nz,rr_40
4595
                inc_error_cnt
4596
rr_40:          rr      (iy+2)
4597
                jp      m,rr_41
4598
                inc_error_cnt
4599
rr_41:          jp      pe,rr_42
4600
                inc_error_cnt
4601
rr_42:          jr      nc,rr_43
4602
                inc_error_cnt
4603
rr_43:          ld      a,(iy+2)
4604
                cp      a,#95
4605
                jr      z,rr_44
4606
                inc_error_cnt
4607
rr_44:          ld      a,0
4608
                ld      (iy-1),a
4609
                rr      (iy-1)
4610
                jr      z,sla_0
4611
                inc_error_cnt
4612
sla_0:          ld      a,data_55
4613
                sla     a
4614
                jp      m,sla_1
4615
                inc_error_cnt
4616
sla_1:          jp      pe,sla_2
4617
                inc_error_cnt
4618
sla_2:          jr      nc,sla_3
4619
                inc_error_cnt
4620
sla_3:          jr      nz,sla_4
4621
                inc_error_cnt
4622
sla_4:          sla     a
4623
                jp      p,sla_5
4624
                inc_error_cnt
4625
sla_5:          jp      po,sla_6
4626
                inc_error_cnt
4627
sla_6:          jr      c,sla_7
4628
                inc_error_cnt
4629
sla_7:          cp      a,data_55-1
4630
                jr      z,sla_8
4631
                inc_error_cnt
4632
sla_8:          ld      a,0
4633
                sla     a
4634
                jr      z,sla_9
4635
                inc_error_cnt
4636
sla_9:          ld      b,data_80
4637
                ld      c,data_7f
4638
                sla     b
4639
                jr      c,sla_10
4640
                inc_error_cnt
4641
sla_10:         ld      a,b
4642
                cp      a,0
4643
                jr      z,sla_11
4644
                inc_error_cnt
4645
sla_11:         sla     c
4646
                jp      m,sla_12
4647
                inc_error_cnt
4648
sla_12:         ld      a,c
4649
                cp      a,data_ff-1
4650
                jr      z,sla_13
4651
                inc_error_cnt
4652
sla_13:         ld      d,data_aa
4653
                ld      e,data_55
4654
                sla     d
4655
                jr      c,sla_14
4656
                inc_error_cnt
4657
sla_14:         ld      a,d
4658
                cp      a,data_55-1
4659
                jr      z,sla_15
4660
                inc_error_cnt
4661
sla_15:         sla     e
4662
                jp      m,sla_16
4663
                inc_error_cnt
4664
sla_16:         ld      a,e
4665
                cp      a,data_aa
4666
                jr      z,sla_17
4667
                inc_error_cnt
4668
sla_17:         ld      h,#12      ;bjp was >data_1234
4669
                ld      l,#34      ;bjp was >data_1234
4670
                sla     h
4671
                jp      p,sla_18
4672
                inc_error_cnt
4673
sla_18:         ld      a,h
4674
                cp      a,#24
4675
                jr      z,sla_19
4676
                inc_error_cnt
4677
sla_19:         sla     l
4678
                jp      p,sla_20
4679
                inc_error_cnt
4680
sla_20:         ld      a,l
4681
                cp      a,#68
4682
                jr      z,sla_21
4683
                inc_error_cnt
4684
sla_21:         ld      hl,t_var3
4685
                ld      (hl),data_55
4686
                sla     (hl)
4687
                jp      m,sla_22
4688
                inc_error_cnt
4689
sla_22:         jp      pe,sla_23
4690
                inc_error_cnt
4691
sla_23:         jr      nc,sla_24
4692
                inc_error_cnt
4693
sla_24:         jr      nz,sla_25
4694
                inc_error_cnt
4695
sla_25:         sla     (hl)
4696
                jp      p,sla_26
4697
                inc_error_cnt
4698
sla_26:         jp      po,sla_27
4699
                inc_error_cnt
4700
sla_27:         jr      c,sla_28
4701
                inc_error_cnt
4702
sla_28:         ld      a,(hl)
4703
                cp      a,data_55-1
4704
                jr      z,sla_29
4705
                inc_error_cnt
4706
sla_29:         ld      (hl),0
4707
                sla     (hl)
4708
                jr      z,sla_30
4709
                inc_error_cnt
4710
sla_30:         ld      ix,t_var3
4711
                ld      a,data_55
4712
                ld      (ix-2),a
4713
                sla     (ix-2)
4714
                jp      m,sla_31
4715
                inc_error_cnt
4716
sla_31:         jp      pe,sla_32
4717
                inc_error_cnt
4718
sla_32:         jr      nc,sla_33
4719
                inc_error_cnt
4720
sla_33:         jr      nz,sla_34
4721
                inc_error_cnt
4722
sla_34:         sla     (ix-2)
4723
                jp      p,sla_35
4724
                inc_error_cnt
4725
sla_35:         jp      po,sla_36
4726
                inc_error_cnt
4727
sla_36:         jr      c,sla_37
4728
                inc_error_cnt
4729
sla_37:         ld      a,(ix-2)
4730
                cp      a,data_55-1
4731
                jr      z,sla_38
4732
                inc_error_cnt
4733
sla_38:         ld      a,data_80
4734
                ld      (ix+2),a
4735
                sla     (ix+2)
4736
                jr      z,sla_39
4737
                inc_error_cnt
4738
sla_39:         jr      c,sla_40
4739
                inc_error_cnt
4740
sla_40:         ld      iy,t_var3
4741
                ld      a,data_55
4742
                ld      (iy+2),a
4743
                sla     (iy+2)
4744
                jp      m,sla_41
4745
                inc_error_cnt
4746
sla_41:         jp      pe,sla_42
4747
                inc_error_cnt
4748
sla_42:         jr      nc,sla_43
4749
                inc_error_cnt
4750
sla_43:         jr      nz,sla_44
4751
                inc_error_cnt
4752
sla_44:         sla     (iy+2)
4753
                jp      p,sla_45
4754
                inc_error_cnt
4755
sla_45:         jp      po,sla_46
4756
                inc_error_cnt
4757
sla_46:         jr      c,sla_47
4758
                inc_error_cnt
4759
sla_47:         ld      a,(iy+2)
4760
                cp      a,data_55-1
4761
                jr      z,sla_48
4762
                inc_error_cnt
4763
sla_48:         ld      a,data_80
4764
                ld      (iy-2),a
4765
                sla     (iy-2)
4766
                jr      z,sla_49
4767
                inc_error_cnt
4768
sla_49:         jr      c,sra_0
4769
                inc_error_cnt
4770
sra_0:          ld      a,data_55
4771
                sra     a
4772
                jp      p,sra_1
4773
                inc_error_cnt
4774
sra_1:          jp      po,sra_2
4775
                inc_error_cnt
4776
sra_2:          jr      c,sra_3
4777
                inc_error_cnt
4778
sra_3:          jr      nz,sra_4
4779
                inc_error_cnt
4780
sra_4:          sra     a
4781
                jp      po,sra_5
4782
                inc_error_cnt
4783
sra_5:          jr      nc,sra_6
4784
                inc_error_cnt
4785
sra_6:          sra     a
4786
                jp      pe,sra_7
4787
                inc_error_cnt
4788
sra_7:          cp      a,#0a                   ;data_aa.and.#0f
4789
                jr      z,sra_8
4790
                inc_error_cnt
4791
sra_8:          ld      a,1
4792
                sra     a
4793
                jr      c,sra_9
4794
                inc_error_cnt
4795
sra_9:          jr      z,sra_10
4796
                inc_error_cnt
4797
sra_10:         ld      a,data_80
4798
                sra     a
4799
                jp      m,sra_11
4800
                inc_error_cnt
4801
sra_11:         cp      a,#c0
4802
                jr      z,sra_12
4803
                inc_error_cnt
4804
sra_12:         ld      b,data_7f
4805
                ld      c,data_aa
4806
                sra     b
4807
                jr      c,sra_13
4808
                inc_error_cnt
4809
sra_13:         ld      a,b
4810
                cp      a,#3f
4811
                jr      z,sra_14
4812
                inc_error_cnt
4813
sra_14:         sra     c
4814
                jr      nc,sra_15
4815
                inc_error_cnt
4816
sra_15:         ld      a,c
4817
                cp      a,#d5
4818
                jr      z,sra_16
4819
                inc_error_cnt
4820
sra_16:         ld      d,data_55
4821
                ld      e,data_ff
4822
                sra     d
4823
                jr      c,sra_17
4824
                inc_error_cnt
4825
sra_17:         ld      a,d
4826
                cp      a,#2a
4827
                jr      z,sra_18
4828
                inc_error_cnt
4829
sra_18:         sra     e
4830
                jp      m,sra_19
4831
                inc_error_cnt
4832
sra_19:         ld      a,e
4833
                cp      a,data_ff
4834
                jr      z,sra_20
4835
                inc_error_cnt
4836
sra_20:         ld      h,data_aa
4837
                ld      l,data_7f
4838
                sra     h
4839
                jp      m,sra_21
4840
                inc_error_cnt
4841
sra_21:         ld      a,h
4842
                cp      a,#d5
4843
                jr      z,sra_22
4844
                inc_error_cnt
4845
sra_22:         sra     l
4846
                jr      c,sra_23
4847
                inc_error_cnt
4848
sra_23:         ld      a,l
4849
                cp      a,#3f
4850
                jr      z,sra_24
4851
                inc_error_cnt
4852
sra_24:         ld      hl,t_var1
4853
                ld      (hl),data_55
4854
                sra     (hl)
4855
                jp      p,sra_25
4856
                inc_error_cnt
4857
sra_25:         jp      po,sra_26
4858
                inc_error_cnt
4859
sra_26:         jr      c,sra_27
4860
                inc_error_cnt
4861
sra_27:         jr      nz,sra_28
4862
                inc_error_cnt
4863
sra_28:         sra     (hl)
4864
                jr      nc,sra_29
4865
                inc_error_cnt
4866
sra_29:         sra     (hl)
4867
                jp      pe,sra_30
4868
                inc_error_cnt
4869
sra_30:         ld      a,(hl)
4870
                cp      a,#0a                   ;data_aa.and.#0f
4871
                jr      z,sra_31
4872
                inc_error_cnt
4873
sra_31:         ld      (hl),data_80
4874
                sra     (hl)
4875
                jp      m,sra_32
4876
                inc_error_cnt
4877
sra_32:         ld      a,(hl)
4878
                cp      a,#c0
4879
                jr      z,sra_33
4880
                inc_error_cnt
4881
sra_33:         ld      (hl),1
4882
                sra     (hl)
4883
                jr      c,sra_34
4884
                inc_error_cnt
4885
sra_34:         jr      z,sra_35
4886
                inc_error_cnt
4887
sra_35:         ld      ix,t_var3
4888
                ld      a,data_55
4889
                ld      (ix-2),a
4890
                sra     (ix-2)
4891
                jp      p,sra_36
4892
                inc_error_cnt
4893
sra_36:         jp      po,sra_37
4894
                inc_error_cnt
4895
sra_37:         jr      c,sra_38
4896
                inc_error_cnt
4897
sra_38:         jr      nz,sra_39
4898
                inc_error_cnt
4899
sra_39:         sra     (ix-2)
4900
                jr      nc,sra_40
4901
                inc_error_cnt
4902
sra_40:         sra     (ix-2)
4903
                jp      pe,sra_41
4904
                inc_error_cnt
4905
sra_41:         ld      a,(ix-2)
4906
                cp      a,#0a           ;data_aa.and.#0f
4907
                jr      z,sra_42
4908
                inc_error_cnt
4909
sra_42:         ld      a,data_80
4910
                ld      (ix+2),a
4911
                sra     (ix+2)
4912
                jp      m,sra_43
4913
                inc_error_cnt
4914
sra_43:         ld      a,(ix+2)
4915
                cp      a,#c0
4916
                jr      z,sra_44
4917
                inc_error_cnt
4918
sra_44:         ld      a,1
4919
                ld      (ix-1),a
4920
                sra     (ix-1)
4921
                jr      c,sra_45
4922
                inc_error_cnt
4923
sra_45:         jr      z,sra_46
4924
                inc_error_cnt
4925
sra_46:         ld      iy,t_var3
4926
                ld      a,data_55
4927
                ld      (iy-2),a
4928
                sra     (iy-2)
4929
                jp      p,sra_47
4930
                inc_error_cnt
4931
sra_47:         jp      po,sra_48
4932
                inc_error_cnt
4933
sra_48:         jr      c,sra_49
4934
                inc_error_cnt
4935
sra_49:         jr      nz,sra_50
4936
                inc_error_cnt
4937
sra_50:         sra     (iy-2)
4938
                jr      nc,sra_51
4939
                inc_error_cnt
4940
sra_51:         sra     (iy-2)
4941
                jp      pe,sra_52
4942
                inc_error_cnt
4943
sra_52:         ld      a,(iy-2)
4944
                cp      a,#0a           ;data_aa.and.#0f
4945
                jr      z,sra_53
4946
                inc_error_cnt
4947
sra_53:         ld      a,data_80
4948
                ld      (iy+2),a
4949
                sra     (iy+2)
4950
                jp      m,sra_54
4951
                inc_error_cnt
4952
sra_54:         ld      a,(iy+2)
4953
                cp      a,#c0
4954
                jr      z,sra_55
4955
                inc_error_cnt
4956
sra_55:         ld      a,1
4957
                ld      (iy-1),a
4958
                sra     (iy-1)
4959
                jr      c,sra_56
4960
                inc_error_cnt
4961
sra_56:         jr      z,srl_0
4962
                inc_error_cnt
4963
srl_0:          ld      a,data_55
4964
                srl     a
4965
                jr      c,srl_1
4966
                inc_error_cnt
4967
srl_1:          jp      po,srl_2
4968
                inc_error_cnt
4969
srl_2:          srl     a
4970
                jr      nc,srl_3
4971
                inc_error_cnt
4972
srl_3:          srl     a
4973
                jp      pe,srl_4
4974
                inc_error_cnt
4975
srl_4:          cp      a,#0a                   ;data_aa.and.#0f
4976
                jr      z,srl_5
4977
                inc_error_cnt
4978
srl_5:          ld      a,data_80
4979
                and     a
4980
                jp      m,srl_6
4981
                inc_error_cnt
4982
srl_6:          srl     a
4983
                jp      p,srl_7
4984
                inc_error_cnt
4985
srl_7:          ld      a,2
4986
                srl     a
4987
                jr      nz,srl_8
4988
                inc_error_cnt
4989
srl_8:          srl     a
4990
                jr      z,srl_9
4991
                inc_error_cnt
4992
srl_9:          jr      c,srl_10
4993
                inc_error_cnt
4994
srl_10:         ld      b,data_aa
4995
                srl     b
4996
                jp      p,srl_11
4997
                inc_error_cnt
4998
srl_11:         ld      a,b
4999
                cp      a,data_55
5000
                jr      z,srl_12
5001
                inc_error_cnt
5002
srl_12:         ld      c,data_7f
5003
                srl     c
5004
                jr      c,srl_13
5005
                inc_error_cnt
5006
srl_13:         ld      a,c
5007
                cp      a,#3f
5008
                jr      z,srl_14
5009
                inc_error_cnt
5010
srl_14:         ld      d,data_55
5011
                srl     d
5012
                jr      c,srl_15
5013
                inc_error_cnt
5014
srl_15:         ld      a,d
5015
                cp      a,#2a
5016
                jr      z,srl_16
5017
                inc_error_cnt
5018
srl_16:         ld      e,data_ff
5019
                srl     e
5020
                jr      c,srl_17
5021
                inc_error_cnt
5022
srl_17:         ld      a,e
5023
                cp      a,data_7f
5024
                jr      z,srl_18
5025
                inc_error_cnt
5026
srl_18:         ld      h,#12      ;bjp was >data_1234
5027
                srl     h
5028
                jr      nc,srl_19
5029
                inc_error_cnt
5030
srl_19:         ld      a,h
5031
                cp      a,9
5032
                jr      z,srl_20
5033
                inc_error_cnt
5034
srl_20:         ld      l,#34      ;bjp was >data_1234
5035
                srl     l
5036
                jr      nc,srl_21
5037
                inc_error_cnt
5038
srl_21:         ld      a,l
5039
                cp      a,#1a
5040
                jr      z,srl_22
5041
                inc_error_cnt
5042
srl_22:         ld      hl,t_var1
5043
                ld      (hl),data_55
5044
                srl     (hl)
5045
                jr      c,srl_23
5046
                inc_error_cnt
5047
srl_23:         jp      po,srl_24
5048
                inc_error_cnt
5049
srl_24:         srl     (hl)
5050
                jr      nc,srl_25
5051
                inc_error_cnt
5052
srl_25:         srl     (hl)
5053
                jp      pe,srl_26
5054
                inc_error_cnt
5055
srl_26:         ld      a,(hl)
5056
                cp      a,#0a                   ;data_aa.and.#0f
5057
                jr      z,srl_27
5058
                inc_error_cnt
5059
srl_27:         ld      (hl),data_80
5060
                and     (hl)
5061
                jp      z,srl_28
5062
                inc_error_cnt
5063
srl_28:         srl     (hl)
5064
                jp      p,srl_29
5065
                inc_error_cnt
5066
srl_29:         ld      a,(hl)
5067
                cp      a,#40
5068
                jr      z,srl_30
5069
                inc_error_cnt
5070
srl_30:         ld      (hl),2
5071
                srl     (hl)
5072
                jr      nz,srl_31
5073
                inc_error_cnt
5074
srl_31:         srl     (hl)
5075
                jr      z,srl_32
5076
                inc_error_cnt
5077
srl_32:         jr      c,srl_33
5078
                inc_error_cnt
5079
srl_33:         ld      ix,t_var3
5080
                ld      a,data_55
5081
                ld      (ix+2),a
5082
                srl     (ix+2)
5083
                jr      c,srl_34
5084
                inc_error_cnt
5085
srl_34:         jp      po,srl_35
5086
                inc_error_cnt
5087
srl_35:         srl     (ix+2)
5088
                jr      nc,srl_36
5089
                inc_error_cnt
5090
srl_36:         srl     (ix+2)
5091
                jp      pe,srl_37
5092
                inc_error_cnt
5093
srl_37:         ld      a,(ix+2)
5094
                cp      a,#0a                   ;data_aa.and.#0f
5095
                jr      z,srl_38
5096
                inc_error_cnt
5097
srl_38:         ld      a,data_80
5098
                ld      (ix-2),a
5099
                and     (ix-2)
5100
                jp      m,srl_39
5101
                inc_error_cnt
5102
srl_39:         srl     (ix-2)
5103
                jp      p,srl_40
5104
                inc_error_cnt
5105
srl_40:         ld      a,(ix-2)
5106
                cp      a,#40
5107
                jr      z,srl_41
5108
                inc_error_cnt
5109
srl_41:         ld      a,2
5110
                ld      (ix+1),a
5111
                srl     (ix+1)
5112
                jr      nz,srl_42
5113
                inc_error_cnt
5114
srl_42:         srl     (ix+1)
5115
                jr      z,srl_43
5116
                inc_error_cnt
5117
srl_43:         jr      c,srl_44
5118
                inc_error_cnt
5119
srl_44:         ld      iy,t_var3
5120
                ld      a,data_55
5121
                ld      (iy+2),a
5122
                srl     (iy+2)
5123
                jr      c,srl_45
5124
                inc_error_cnt
5125
srl_45:         jp      po,srl_46
5126
                inc_error_cnt
5127
srl_46:         srl     (iy+2)
5128
                jr      nc,srl_47
5129
                inc_error_cnt
5130
srl_47:         srl     (iy+2)
5131
                jp      pe,srl_48
5132
                inc_error_cnt
5133
srl_48:         ld      a,(iy+2)
5134
                cp      a,#0a                   ;data_aa.and.#0f
5135
                jr      z,srl_49
5136
                inc_error_cnt
5137
srl_49:         ld      a,data_80
5138
                ld      (iy-2),a
5139
                and     (iy-2)
5140
                jp      m,srl_50
5141
                inc_error_cnt
5142
srl_50:         srl     (iy-2)
5143
                jp      p,srl_51
5144
                inc_error_cnt
5145
srl_51:         ld      a,(iy-2)
5146
                cp      a,#40
5147
                jr      z,srl_52
5148
                inc_error_cnt
5149
srl_52:         ld      a,2
5150
                ld      (iy+1),a
5151
                srl     (iy+1)
5152
                jr      nz,srl_53
5153
                inc_error_cnt
5154
srl_53:         srl     (iy+1)
5155
                jr      z,srl_54
5156
                inc_error_cnt
5157
srl_54:         jr      c,rld_0
5158
                inc_error_cnt
5159
rld_0:          ld      hl,t_var5
5160
                ld      a,data_55
5161
                ld      (hl),data_aa
5162
                rld
5163
                jp      p,rld_1
5164
                inc_error_cnt
5165
rld_1:          cp      a,data_55+5
5166
                jr      z,rld_2
5167
                inc_error_cnt
5168
rld_2:          ld      a,(hl)
5169
                cp      a,data_aa-5
5170
                jr      z,rld_3
5171
                inc_error_cnt
5172
rld_3:          ld      (hl),data_7f
5173
                ld      a,data_80
5174
                rld
5175
                jp      m,rld_4
5176
                inc_error_cnt
5177
rld_4:          jp      pe,rld_5
5178
                inc_error_cnt
5179
rld_5:          rld
5180
                jp      po,rld_6
5181
                inc_error_cnt
5182
rld_6:          cp      a,data_80+15
5183
                jr      z,rld_7
5184
                inc_error_cnt
5185
rld_7:          ld      a,(hl)
5186
                cp      a,7
5187
                jr      z,rld_8
5188
                inc_error_cnt
5189
rld_8:          ld      a,#05                   ;data_55.and.#0f
5190
                ld      (hl),#0a                        ;data_aa.and.#0f
5191
                rld
5192
                jr      z,rld_9
5193
                inc_error_cnt
5194
rld_9:          ld      a,(hl)
5195
                cp      a,#a5
5196
                jr      z,rrd_0
5197
                inc_error_cnt
5198
rrd_0:          ld      hl,t_var3
5199
                ld      a,data_55
5200
                ld      (hl),data_aa
5201
                rrd
5202
                jp      p,rrd_1
5203
                inc_error_cnt
5204
rrd_1:          jp      pe,rrd_2
5205
                inc_error_cnt
5206
rrd_2:          jr      nz,rrd_3
5207
                inc_error_cnt
5208
rrd_3:          cp      a,data_55+5
5209
                jr      z,rrd_4
5210
                inc_error_cnt
5211
rrd_4:          ld      a,(hl)
5212
                cp      a,data_55+5
5213
                jr      z,rrd_5
5214
                inc_error_cnt
5215
rrd_5:          ld      (hl),data_7f
5216
                ld      a,data_80
5217
                rrd
5218
                jp      m,rrd_6
5219
                inc_error_cnt
5220
rrd_6:          jp      po,rrd_7
5221
                inc_error_cnt
5222
rrd_7:          cp      a,data_80+15
5223
                jr      z,rrd_8
5224
                inc_error_cnt
5225
rrd_8:          ld      a,(hl)
5226
                cp      a,7
5227
                jr      z,rrd_9
5228
                inc_error_cnt
5229
rrd_9:          ld      a,8
5230
                ld      (hl),0
5231
                rrd
5232
                jr      z,rrd_10
5233
                inc_error_cnt
5234
rrd_10:         ld      a,(hl)
5235
                cp      a,data_80
5236
                jr      z,bit_0
5237
                inc_error_cnt
5238
bit_0:          ld      a,data_ff
5239
                bit     0,a
5240
                jr      nz,bit_1
5241
                inc_error_cnt
5242
bit_1:          bit     1,a
5243
                jr      nz,bit_2
5244
                inc_error_cnt
5245
bit_2:          bit     2,a
5246
                jr      nz,bit_3
5247
                inc_error_cnt
5248
bit_3:          bit     3,a
5249
                jr      nz,bit_4
5250
                inc_error_cnt
5251
bit_4:          bit     4,a
5252
                jr      nz,bit_5
5253
                inc_error_cnt
5254
bit_5:          bit     5,a
5255
                jr      nz,bit_6
5256
                inc_error_cnt
5257
bit_6:          bit     6,a
5258
                jr      nz,bit_7
5259
                inc_error_cnt
5260
bit_7:          bit     7,a
5261
                jr      nz,bit_8
5262
                inc_error_cnt
5263
bit_8:          ld      a,0
5264
                bit     0,a
5265
                jr      z,bit_9
5266
                inc_error_cnt
5267
bit_9:          bit     1,a
5268
                jr      z,bit_10
5269
                inc_error_cnt
5270
bit_10:         bit     2,a
5271
                jr      z,bit_11
5272
                inc_error_cnt
5273
bit_11:         bit     3,a
5274
                jr      z,bit_12
5275
                inc_error_cnt
5276
bit_12:         bit     4,a
5277
                jr      z,bit_13
5278
                inc_error_cnt
5279
bit_13:         bit     5,a
5280
                jr      z,bit_14
5281
                inc_error_cnt
5282
bit_14:         bit     6,a
5283
                jr      z,bit_15
5284
                inc_error_cnt
5285
bit_15:         bit     7,a
5286
                jr      z,bit_16
5287
                inc_error_cnt
5288
bit_16:         ld      b,data_80
5289
                bit     2,b
5290
                jr      z,bit_17
5291
                inc_error_cnt
5292
bit_17:         bit     7,b
5293
                jr      nz,bit_18
5294
                inc_error_cnt
5295
bit_18:         ld      c,data_55
5296
                bit     7,c
5297
                jr      z,bit_19
5298
                inc_error_cnt
5299
bit_19:         bit     0,c
5300
                jr      nz,bit_20
5301
                inc_error_cnt
5302
bit_20:         ld      d,data_aa
5303
                bit     7,d
5304
                jr      nz,bit_21
5305
                inc_error_cnt
5306
bit_21:         bit     4,d
5307
                jr      z,bit_22
5308
                inc_error_cnt
5309
bit_22:         ld      e,data_7f
5310
                bit     7,e
5311
                jr      z,bit_23
5312
                inc_error_cnt
5313
bit_23:         bit     3,e
5314
                jr      nz,bit_24
5315
                inc_error_cnt
5316
bit_24:         ld      h,#12      ;bjp was >data_1234
5317
                bit     4,h
5318
                jr      nz,bit_25
5319
                inc_error_cnt
5320
bit_25:         bit     2,h
5321
                jr      z,bit_26
5322
                inc_error_cnt
5323
bit_26:         ld      l,#34      ;bjp was >data_1234
5324
                bit     3,l
5325
                jr      z,bit_27
5326
                inc_error_cnt
5327
bit_27:         bit     2,l
5328
                jr      nz,bit_28
5329
                inc_error_cnt
5330
bit_28:         ld      hl,t_var4
5331
                ld      (hl),data_55
5332
                bit     0,(hl)
5333
                jr      nz,bit_29
5334
                inc_error_cnt
5335
bit_29:         bit     1,(hl)
5336
                jr      z,bit_30
5337
                inc_error_cnt
5338
bit_30:         bit     2,(hl)
5339
                jr      nz,bit_31
5340
                inc_error_cnt
5341
bit_31:         bit     3,(hl)
5342
                jr      z,bit_32
5343
                inc_error_cnt
5344
bit_32:         bit     4,(hl)
5345
                jr      nz,bit_33
5346
                inc_error_cnt
5347
bit_33:         bit     5,(hl)
5348
                jr      z,bit_34
5349
                inc_error_cnt
5350
bit_34:         bit     6,(hl)
5351
                jr      nz,bit_35
5352
                inc_error_cnt
5353
bit_35:         bit     7,(hl)
5354
                jr      z,bit_36
5355
                inc_error_cnt
5356
bit_36:         ld      ix,t_var3
5357
                ld      a,data_aa
5358
                ld      (ix-2),a
5359
                bit     0,(ix-2)
5360
                jr      z,bit_37
5361
                inc_error_cnt
5362
bit_37:         bit     1,(ix-2)
5363
                jr      nz,bit_38
5364
                inc_error_cnt
5365
bit_38:         bit     2,(ix-2)
5366
                jr      z,bit_39
5367
                inc_error_cnt
5368
bit_39:         bit     3,(ix-2)
5369
                jr      nz,bit_40
5370
                inc_error_cnt
5371
bit_40:         bit     4,(ix-2)
5372
                jr      z,bit_41
5373
                inc_error_cnt
5374
bit_41:         bit     5,(ix-2)
5375
                jr      nz,bit_42
5376
                inc_error_cnt
5377
bit_42:         bit     6,(ix-2)
5378
                jr      z,bit_43
5379
                inc_error_cnt
5380
bit_43:         bit     7,(ix-2)
5381
                jr      nz,bit_44
5382
                inc_error_cnt
5383
bit_44:         ld      iy,t_var3
5384
                ld      a,data_55
5385
                ld      (iy+2),a
5386
                bit     0,(iy+2)
5387
                jr      nz,bit_45
5388
                inc_error_cnt
5389
bit_45:         bit     1,(iy+2)
5390
                jr      z,bit_46
5391
                inc_error_cnt
5392
bit_46:         bit     2,(iy+2)
5393
                jr      nz,bit_47
5394
                inc_error_cnt
5395
bit_47:         bit     3,(iy+2)
5396
                jr      z,bit_48
5397
                inc_error_cnt
5398
bit_48:         bit     4,(iy+2)
5399
                jr      nz,bit_49
5400
                inc_error_cnt
5401
bit_49:         bit     5,(iy+2)
5402
                jr      z,bit_50
5403
                inc_error_cnt
5404
bit_50:         bit     6,(iy+2)
5405
                jr      nz,bit_51
5406
                inc_error_cnt
5407
bit_51:         bit     7,(iy+2)
5408
                jr      z,set_0
5409
                inc_error_cnt
5410
set_0:          ld      a,0
5411
                set     0,a
5412
                set     2,a
5413
                set     4,a
5414
                set     6,a
5415
                cp      a,data_55
5416
                jr      z,set_1
5417
                inc_error_cnt
5418
set_1:          set     1,a
5419
                set     3,a
5420
                set     5,a
5421
                set     7,a
5422
                cp      a,data_ff
5423
                jr      z,set_2
5424
                inc_error_cnt
5425
set_2:          ld      b,0
5426
                set     1,b
5427
                set     3,b
5428
                ld      a,b
5429
                cp      a,#0a                   ;data_aa.and.#0f
5430
                jr      z,set_3
5431
                inc_error_cnt
5432
set_3:          ld      c,0
5433
                set     1,c
5434
                set     4,c
5435
                ld      a,c
5436
                cp      a,#12      ;bjp was >data_1234
5437
                jr      z,set_4
5438
                inc_error_cnt
5439
set_4:          ld      d,0
5440
                set     2,d
5441
                set     4,d
5442
                set     5,d
5443
                ld      a,d
5444
                cp      a,#34      ;bjp was >data_1234
5445
                jr      z,set_5
5446
                inc_error_cnt
5447
set_5:          ld      e,0
5448
                set     7,e
5449
                ld      a,e
5450
                cp      a,data_80
5451
                jr      z,set_6
5452
                inc_error_cnt
5453
set_6:          ld      h,0
5454
                set     0,h
5455
                set     2,h
5456
                set     4,h
5457
                set     6,h
5458
                ld      a,h
5459
                cp      a,data_55
5460
                jr      z,set_7
5461
                inc_error_cnt
5462
set_7:          ld      l,0
5463
                set     1,l
5464
                set     3,l
5465
                set     5,l
5466
                set     7,l
5467
                ld      a,l
5468
                cp      a,data_aa
5469
                jr      z,set_8
5470
                inc_error_cnt
5471
set_8:          ld      hl,t_var5
5472
                ld      (hl),0
5473
                set     0,(hl)
5474
                set     2,(hl)
5475
                set     4,(hl)
5476
                set     6,(hl)
5477
                ld      a,(hl)
5478
                cp      a,data_55
5479
                jr      z,set_9
5480
                inc_error_cnt
5481
set_9:          ld      (hl),0
5482
                set     1,(hl)
5483
                set     3,(hl)
5484
                set     5,(hl)
5485
                set     7,(hl)
5486
                ld      a,(hl)
5487
                cp      a,data_aa
5488
                jr      z,set_10
5489
                inc_error_cnt
5490
set_10:         ld      ix,t_var3
5491
                ld      a,0
5492
                ld      (ix-2),a
5493
                ld      (ix+2),a
5494
                set     0,(ix-2)
5495
                set     2,(ix-2)
5496
                set     4,(ix-2)
5497
                set     6,(ix-2)
5498
                ld      a,(ix-2)
5499
                cp      a,data_55
5500
                jr      z,set_11
5501
                inc_error_cnt
5502
set_11:         set     1,(ix+2)
5503
                set     3,(ix+2)
5504
                set     5,(ix+2)
5505
                set     7,(ix+2)
5506
                ld      a,(ix+2)
5507
                cp      a,data_aa
5508
                jr      z,set_12
5509
                inc_error_cnt
5510
set_12:         ld      iy,t_var3
5511
                ld      a,0
5512
                ld      (iy-1),a
5513
                ld      (iy+1),a
5514
                set     0,(iy-1)
5515
                set     2,(iy-1)
5516
                set     4,(iy-1)
5517
                set     6,(iy-1)
5518
                ld      a,(iy-1)
5519
                cp      a,data_55
5520
                jr      z,set_13
5521
                inc_error_cnt
5522
set_13:         set     1,(iy+1)
5523
                set     3,(iy+1)
5524
                set     5,(iy+1)
5525
                set     7,(iy+1)
5526
                ld      a,(iy+1)
5527
                cp      a,data_aa
5528
                jr      z,res_0
5529
                inc_error_cnt
5530
res_0:          ld      a,data_ff
5531
                res     7,a
5532
                cp      a,data_7f
5533
                jr      z,res_1
5534
                inc_error_cnt
5535
res_1:          res     5,a
5536
                res     3,a
5537
                res     1,a
5538
                cp      a,data_55
5539
                jr      z,res_2
5540
                inc_error_cnt
5541
res_2:          ld      a,data_ff
5542
                res     0,a
5543
                res     2,a
5544
                res     4,a
5545
                res     6,a
5546
                cp      a,data_aa
5547
                jr      z,res_3
5548
                inc_error_cnt
5549
res_3:          ld      b,data_ff
5550
                res     7,b
5551
                ld      a,b
5552
                cp      a,data_7f
5553
                jr      z,res_4
5554
                inc_error_cnt
5555
res_4:          ld      c,data_ff
5556
                res     0,c
5557
                res     1,c
5558
                res     2,c
5559
                res     3,c
5560
                res     4,c
5561
                res     5,c
5562
                res     6,c
5563
                ld      a,c
5564
                cp      a,data_80
5565
                jr      z,res_5
5566
                inc_error_cnt
5567
res_5:          ld      d,data_ff
5568
                res     0,d
5569
                res     2,d
5570
                res     4,d
5571
                res     6,d
5572
                ld      a,d
5573
                cp      a,data_aa
5574
                jr      z,res_6
5575
                inc_error_cnt
5576
res_6:          ld      e,data_ff
5577
                res     1,e
5578
                res     3,e
5579
                res     5,e
5580
                res     7,e
5581
                ld      a,e
5582
                cp      a,data_55
5583
                jr      z,res_7
5584
                inc_error_cnt
5585
res_7:          ld      h,data_ff
5586
                res     0,h
5587
                res     2,h
5588
                res     3,h
5589
                res     5,h
5590
                res     6,h
5591
                res     7,h
5592
                ld      a,h
5593
                cp      a,#12      ;bjp was >data_1234
5594
                jr      z,res_8
5595
                inc_error_cnt
5596
res_8:          ld      l,data_ff
5597
                res     0,l
5598
                res     1,l
5599
                res     3,l
5600
                res     6,l
5601
                res     7,l
5602
                ld      a,l
5603
                cp      a,#34      ;bjp was >data_1234
5604
                jr      z,res_9
5605
                inc_error_cnt
5606
res_9:          ld      hl,t_var3
5607
                ld      (hl),data_ff
5608
                res     0,(hl)
5609
                res     2,(hl)
5610
                res     4,(hl)
5611
                res     6,(hl)
5612
                ld      a,(hl)
5613
                cp      a,data_aa
5614
                jr      z,res_10
5615
                inc_error_cnt
5616
res_10:         res     1,(hl)
5617
                res     3,(hl)
5618
                res     5,(hl)
5619
                res     7,(hl)
5620
                ld      a,(hl)
5621
                cp      a,0
5622
                jr      z,res_11
5623
                inc_error_cnt
5624
res_11:         ld      ix,t_var3
5625
                ld      a,data_ff
5626
                ld      (ix-2),a
5627
                ld      (ix+2),a
5628
                res     1,(ix-2)
5629
                res     3,(ix-2)
5630
                res     5,(ix-2)
5631
                res     7,(ix-2)
5632
                ld      a,(ix-2)
5633
                cp      a,data_55
5634
                jr      z,res_12
5635
                inc_error_cnt
5636
res_12:         res     0,(ix+2)
5637
                res     2,(ix+2)
5638
                res     4,(ix+2)
5639
                res     6,(ix+2)
5640
                ld      a,(ix+2)
5641
                cp      a,data_aa
5642
                jr      z,res_13
5643
                inc_error_cnt
5644
res_13:         ld      iy,t_var3
5645
                ld      a,data_ff
5646
                ld      (iy-1),a
5647
                ld      (iy+1),a
5648
                res     1,(iy-1)
5649
                res     3,(iy-1)
5650
                res     5,(iy-1)
5651
                res     7,(iy-1)
5652
                ld      a,(iy-1)
5653
                cp      a,data_55
5654
                jr      z,res_14
5655
                inc_error_cnt
5656
res_14:         res     0,(iy+1)
5657
                res     2,(iy+1)
5658
                res     4,(iy+1)
5659
                res     6,(iy+1)
5660
                ld      a,(iy+1)
5661
                cp      a,data_aa
5662
                jr      z,jp_0
5663
                inc_error_cnt
5664
jp_0:           jp      jp_1
5665
                nop
5666
                nop
5667
                inc_error_cnt
5668
jp_1:           ld      a,0
5669
                and     a
5670
                jp      z,jp_2
5671
                inc_error_cnt
5672
jp_2:           jp      nc,jp_3
5673
                inc_error_cnt
5674
jp_3:           ld      b,1
5675
                sub     a,b
5676
                jp      nz,jp_4
5677
                inc_error_cnt
5678
jp_4:           jp      c,jp_5
5679
                inc_error_cnt
5680
jp_5:           jp      jp_7
5681
                inc_error_cnt
5682
jp_6:           jp      jr_0
5683
                inc_error_cnt
5684
jp_7:           jp      jp_6
5685
                inc_error_cnt
5686
jr_0:           jr      jr_2
5687
                inc_error_cnt
5688
jr_1:           jr      jr_3
5689
                inc_error_cnt
5690
jr_2:           jr      jr_1
5691
                inc_error_cnt
5692
jr_3:           ld      hl,jp_9
5693
                jp      (hl)
5694
                inc_error_cnt
5695
jp_8:           ld      ix,jp_10
5696
                jp      (ix)
5697
                inc_error_cnt
5698
jp_9:           jp      jp_8
5699
                inc_error_cnt
5700
jp_10:          ld      iy,djnz_0
5701
                jp      (iy)
5702
                inc_error_cnt
5703
djnz_0:         ld      b,5
5704
                ld      a,0
5705
djnz_1:         inc     a
5706
                djnz    djnz_1
5707
                cp      a,5
5708
                jr      z,call_0
5709
                inc_error_cnt
5710
call_0:         ld      a,0
5711
                call    sub1
5712
                cp      a,data_7f
5713
                jr      z,call_1
5714
                inc_error_cnt
5715
call_1:         ld      a,0
5716
                and     a
5717
                call    z,sub2
5718
                cp      a,data_55
5719
                jr      z,call_2
5720
                inc_error_cnt
5721
call_2:         ld      a,data_aa
5722
                and     a
5723
                call    nz,sub3
5724
                cp      a,data_aa+1
5725
                jr      z,call_3
5726
                inc_error_cnt
5727
call_3:         ld      a,0
5728
                cp      a,0
5729
                call    nc,sub4
5730
                cp      a,data_ff
5731
                jr      z,call_4
5732
                inc_error_cnt
5733
call_4:         ld      a,0
5734
                sub     a,1
5735
                call    c,sub5
5736
                cp      a,data_ff-1
5737
                jr      z,call_5
5738
                inc_error_cnt
5739
call_5:         ld      a,data_7f
5740
                sla     a
5741
                call    po,sub6
5742
                cp      a,data_7f
5743
                jr      z,call_6
5744
                inc_error_cnt
5745
call_6:         ld      a,data_aa
5746
                srl     a
5747
                call    pe,sub7
5748
                cp      a,data_aa
5749
                jr      z,call_7
5750
                inc_error_cnt
5751
call_7:         ld      a,data_80
5752
                sra     a
5753
                call    m,sub8
5754
                cp      a,data_80
5755
                jr      z,call_8
5756
                inc_error_cnt
5757
call_8:         ld      a,data_7f
5758
                sra     a
5759
                call    p,sub9
5760
                cp      a,data_7f
5761
                jr      z,rst_0
5762
                inc_error_cnt
5763
rst_0:          rst     #00
5764
                cp      a,1
5765
                jr      z,rst_1
5766
                inc_error_cnt
5767
rst_1:          rst     #08
5768
                cp      a,2
5769
                jr      z,rst_2
5770
                inc_error_cnt
5771
rst_2:          rst     #10
5772
                cp      a,3
5773
                jr      z,rst_3
5774
                inc_error_cnt
5775
rst_3:          rst     #18
5776
                cp      a,4
5777
                jr      z,rst_4
5778
                inc_error_cnt
5779
rst_4:          rst     #20
5780
                cp      a,5
5781
                jr      z,rst_5
5782
                inc_error_cnt
5783
rst_5:          rst     #28
5784
                cp      a,6
5785
                jr      z,rst_6
5786
                inc_error_cnt
5787
rst_6:          rst     #30
5788
                cp      a,7
5789
                jr      z,rst_7
5790
                inc_error_cnt
5791
rst_7:          rst     #38
5792
                cp      a,8
5793
                jr      z,in_0
5794
                inc_error_cnt
5795
in_0:           in      a,(in_port)
5796
                cp      a,data_7f
5797
                jr      z,in_1
5798
                inc_error_cnt
5799
in_1:           ld      c,in_port
5800
                in      a,(c)
5801
                jr      nz,in_2
5802
                inc_error_cnt
5803
in_2:           jp      p,in_3
5804
                inc_error_cnt
5805
in_3:           jp      pe,in_4
5806
                inc_error_cnt
5807
in_4:           cp      a,data_55
5808
                jr      z,in_5
5809
                inc_error_cnt
5810
in_5:           in      a,(c)
5811
                jp      m,in_6
5812
                inc_error_cnt
5813
in_6:           jp      po,in_7
5814
                inc_error_cnt
5815
in_7:           jr      nz,in_8
5816
                inc_error_cnt
5817
in_8:           cp      a,data_80
5818
                jr      z,in_9
5819
                inc_error_cnt
5820
in_9:           in      a,(c)
5821
                jr      z,in_10
5822
                inc_error_cnt
5823
in_10:          in      b,(c)
5824
                jp      m,in_11
5825
                inc_error_cnt
5826
in_11:          ld      a,b
5827
                cp      a,data_ff
5828
                jr      z,in_12
5829
                inc_error_cnt
5830
in_12:          in      d,(c)
5831
                jp      pe,in_13
5832
                inc_error_cnt
5833
in_13:          ld      a,d
5834
                cp      a,data_aa
5835
                jr      z,in_14
5836
                inc_error_cnt
5837
in_14:          in      e,(c)
5838
                jp      p,in_15
5839
                inc_error_cnt
5840
in_15:          ld      a,e
5841
                cp      a,data_7f
5842
                jr      z,in_16
5843
                inc_error_cnt
5844
in_16:          in      h,(c)
5845
                jp      pe,in_17
5846
                inc_error_cnt
5847
in_17:          ld      a,h
5848
                cp      a,data_55
5849
                jr      z,in_18
5850
                inc_error_cnt
5851
in_18:          in      l,(c)
5852
                jp      m,in_19
5853
                inc_error_cnt
5854
in_19:          ld      a,l
5855
                cp      a,data_80
5856
                jr      z,in_20
5857
                inc_error_cnt
5858
in_20:          in      c,(c)
5859
                jr      z,in_21
5860
                inc_error_cnt
5861
in_21:          ld      c,in_port
5862
                ld      b,2
5863
                ld      hl,t_var1
5864
                ini
5865
                jr      nz,in_22
5866
                inc_error_cnt
5867
in_22:          ini
5868
                jr      z,in_23
5869
                inc_error_cnt
5870
in_23:          ld      hl,t_var1
5871
                ld      a,(hl)
5872
                cp      a,data_ff
5873
                jr      z,in_24
5874
                inc_error_cnt
5875
in_24:          inc     hl
5876
                ld      a,(hl)
5877
                cp      a,data_aa
5878
                jr      z,in_25
5879
                inc_error_cnt
5880
in_25:          ld      b,5
5881
                ld      c,in_port
5882
                ld      hl,t_var1
5883
                inir
5884
                jr      z,in_26
5885
                inc_error_cnt
5886
in_26:          ld      hl,t_var1
5887
                ld      a,(hl)
5888
                cp      a,data_7f
5889
                jr      z,in_27
5890
                inc_error_cnt
5891
in_27:          inc     hl
5892
                ld      a,(hl)
5893
                cp      a,data_55
5894
                jr      z,in_28
5895
                inc_error_cnt
5896
in_28:          inc     hl
5897
                ld      a,(hl)
5898
                cp      a,data_80
5899
                jr      z,in_29
5900
                inc_error_cnt
5901
in_29:          inc     hl
5902
                ld      a,(hl)
5903
                cp      a,0
5904
                jr      z,in_30
5905
                inc_error_cnt
5906
in_30:          inc     hl
5907
                ld      a,(hl)
5908
                cp      a,data_ff
5909
                jr      z,in_31
5910
                inc_error_cnt
5911
in_31:          ld      b,2
5912
                ld      c,in_port
5913
                ld      hl,t_var5
5914
                ind
5915
                jr      nz,in_32
5916
                inc_error_cnt
5917
in_32:          ind
5918
                jr      z,in_33
5919
                inc_error_cnt
5920
in_33:          ld      hl,t_var5
5921
                ld      a,(hl)
5922
                cp      a,data_aa
5923
                jr      z,in_34
5924
                inc_error_cnt
5925
in_34:          dec     hl
5926
                ld      a,(hl)
5927
                cp      a,data_7f
5928
                jr      z,in_35
5929
                inc_error_cnt
5930
in_35:          ld      b,5
5931
                ld      c,in_port
5932
                ld      hl,t_var5
5933
                indr
5934
                jr      z,in_36
5935
                inc_error_cnt
5936
in_36:          ld      hl,t_var5
5937
                ld      a,(hl)
5938
                cp      a,data_55
5939
                jr      z,in_37
5940
                inc_error_cnt
5941
in_37:          dec     hl
5942
                ld      a,(hl)
5943
                cp      a,data_80
5944
                jr      z,in_38
5945
                inc_error_cnt
5946
in_38:          dec     hl
5947
                ld      a,(hl)
5948
                cp      a,0
5949
                jr      z,in_39
5950
                inc_error_cnt
5951
in_39:          dec     hl
5952
                ld      a,(hl)
5953
                cp      a,data_ff
5954
                jr      z,in_40
5955
                inc_error_cnt
5956
in_40:          dec     hl
5957
                ld      a,(hl)
5958
                cp      a,data_aa
5959
                jr      z,ldi_0
5960
                inc_error_cnt
5961
ldi_0:          ld      hl,t_var1
5962
                ld      a,#12      ;bjp was >data_1234
5963
                ld      (hl),a
5964
                inc     hl
5965
                ld      a,#34      ;bjp was >data_1234
5966
                ld      (hl),a
5967
                dec     hl
5968
                ld      de,t_var3
5969
                ld      bc,2
5970
                ldi
5971
                jp      pe,ldi_1
5972
                inc_error_cnt
5973
ldi_1:          ldi
5974
                jp      po,ldi_2
5975
                inc_error_cnt
5976
ldi_2:          ld      hl,t_var3
5977
                ld      a,(hl)
5978
                cp      a,#12      ;bjp was >data_1234
5979
                jr      z,ldi_3
5980
                inc_error_cnt
5981
ldi_3:          inc     hl
5982
                ld      a,(hl)
5983
                cp      a,#34      ;bjp was >data_1234
5984
                jr      z,ldir_0
5985
                inc_error_cnt
5986
ldir_0:         ld      hl,var1
5987
                ld      de,t_var1
5988
                ld      bc,5
5989
                ldir
5990
                jp      po,ldir_1
5991
                inc_error_cnt
5992
ldir_1:         ld      hl,t_var1
5993
                ld      a,(hl)
5994
                cp      a,data_ff
5995
                jr      z,ldir_2
5996
                inc_error_cnt
5997
ldir_2:         inc     hl
5998
                ld      a,(hl)
5999
                cp      a,data_55
6000
                jr      z,ldir_3
6001
                inc_error_cnt
6002
ldir_3:         inc     hl
6003
                ld      a,(hl)
6004
                cp      a,data_80
6005
                jr      z,ldir_4
6006
                inc_error_cnt
6007
ldir_4:         inc     hl
6008
                ld      a,(hl)
6009
                cp      a,data_aa
6010
                jr      z,ldir_5
6011
                inc_error_cnt
6012
ldir_5:         inc     hl
6013
                ld      a,(hl)
6014
                cp      a,data_7f
6015
                jr      z,ldd_0
6016
                inc_error_cnt
6017
ldd_0:          ld      hl,t_var5
6018
                ld      a,#12      ;bjp was >data_1234
6019
                ld      (hl),a
6020
                dec     hl
6021
                ld      a,#34      ;bjp was >data_1234
6022
                ld      (hl),a
6023
                inc     hl
6024
                ld      bc,2
6025
                ld      de,t_var3
6026
                ldd
6027
                jp      pe,ldd_1
6028
                inc_error_cnt
6029
ldd_1:          ldd
6030
                jp      po,ldd_2
6031
                inc_error_cnt
6032
ldd_2:          ld      hl,t_var3
6033
                ld      a,(hl)
6034
                cp      a,#12      ;bjp was >data_1234
6035
                jr      z,ldd_3
6036
                inc_error_cnt
6037
ldd_3:          dec     hl
6038
                ld      a,(hl)
6039
                cp      a,#34      ;bjp was >data_1234
6040
                jr      z,lddr_0
6041
                inc_error_cnt
6042
lddr_0:         ld      bc,5
6043
                ld      hl,var5
6044
                ld      de,t_var5
6045
                lddr
6046
                jp      po,lddr_1
6047
                inc_error_cnt
6048
lddr_1:         ld      hl,t_var1
6049
                ld      a,(hl)
6050
                cp      a,data_ff
6051
                jr      z,lddr_2
6052
                inc_error_cnt
6053
lddr_2:         inc     hl
6054
                ld      a,(hl)
6055
                cp      a,data_55
6056
                jr      z,lddr_3
6057
                inc_error_cnt
6058
lddr_3:         inc     hl
6059
                ld      a,(hl)
6060
                cp      a,data_80
6061
                jr      z,lddr_4
6062
                inc_error_cnt
6063
lddr_4:         inc     hl
6064
                ld      a,(hl)
6065
                cp      a,data_aa
6066
                jr      z,lddr_5
6067
                inc_error_cnt
6068
lddr_5:         inc     hl
6069
                ld      a,(hl)
6070
                cp      a,data_7f
6071
                jr      z,cpi_0
6072
                inc_error_cnt
6073
cpi_0:          ld      hl,t_var1
6074
                ld      bc,5
6075
                ld      a,data_7f
6076
                cpi
6077
                jp      pe,cpi_1
6078
                inc_error_cnt
6079
cpi_1:          jp      m,cpi_2
6080
                inc_error_cnt
6081
cpi_2:          jr      nz,cpi_3
6082
                inc_error_cnt
6083
cpi_3:          cpi
6084
                jp      pe,cpi_4
6085
                inc_error_cnt
6086
cpi_4:          jp      p,cpi_5
6087
                inc_error_cnt
6088
cpi_5:          jr      nz,cpi_6
6089
                inc_error_cnt
6090
cpi_6:          cpi
6091
                jp      pe,cpi_7
6092
                inc_error_cnt
6093
cpi_7:          jp      m,cpi_8
6094
                inc_error_cnt
6095
cpi_8:          jr      nz,cpi_9
6096
                inc_error_cnt
6097
cpi_9:          cpi
6098
                jp      pe,cpi_10
6099
                inc_error_cnt
6100
cpi_10:         jp      m,cpi_11
6101
                inc_error_cnt
6102
cpi_11:         jr      nz,cpi_12
6103
                inc_error_cnt
6104
cpi_12:         cpi
6105
                jp      po,cpi_13
6106
                inc_error_cnt
6107
cpi_13:         jp      p,cpi_14
6108
                inc_error_cnt
6109
cpi_14:         jr      z,cpir_0
6110
                inc_error_cnt
6111
cpir_0:         ld      a,data_aa
6112
                ld      hl,var1
6113
                ld      bc,5
6114
                cpir
6115
                jr      z,cpir_1
6116
                inc_error_cnt
6117
cpir_1:         jp      pe,cpir_2
6118
                inc_error_cnt
6119
cpir_2:         ld      a,b
6120
                cp      a,0
6121
                jr      z,cpir_3
6122
                inc_error_cnt
6123
cpir_3:         ld      a,c
6124
                cp      a,1
6125
                jr      z,cpir_4
6126
                inc_error_cnt
6127
cpir_4:         ld      a,data_7f
6128
                ld      hl,var1
6129
                ld      bc,5
6130
                cpir
6131
                jp      po,cpir_5
6132
                inc_error_cnt
6133
cpir_5:         jr      z,cpir_6
6134
                inc_error_cnt
6135
cpir_6:         ld      a,#34      ;bjp was >data_1234
6136
                ld      hl,var1
6137
                ld      bc,5
6138
                cpir
6139
                jp      po,cpir_7
6140
                inc_error_cnt
6141
cpir_7:         jr      nz,cpir_8
6142
                inc_error_cnt
6143
cpir_8:         jp      m,cpir_9
6144
                inc_error_cnt
6145
cpir_9:         ld      a,data_aa
6146
                ld      hl,var1
6147
                ld      bc,3
6148
                cpir
6149
                jp      po,cpir_10
6150
                inc_error_cnt
6151
cpir_10:        jp      p,cpir_11
6152
                inc_error_cnt
6153
cpir_11:        jr      nz,cpd_0
6154
                inc_error_cnt
6155
cpd_0:          ld      a,data_ff
6156
                ld      hl,var5
6157
                ld      bc,5
6158
                cpd
6159
                jp      m,cpd_1
6160
                inc_error_cnt
6161
cpd_1:          jp      pe,cpd_2
6162
                inc_error_cnt
6163
cpd_2:          jr      nz,cpd_3
6164
                inc_error_cnt
6165
cpd_3:          cpd
6166
                jp      p,cpd_4
6167
                inc_error_cnt
6168
cpd_4:          jp      pe,cpd_5
6169
                inc_error_cnt
6170
cpd_5:          jr      nz,cpd_6
6171
                inc_error_cnt
6172
cpd_6:          cpd
6173
                jp      p,cpd_7
6174
                inc_error_cnt
6175
cpd_7:          jp      pe,cpd_8
6176
                inc_error_cnt
6177
cpd_8:          jr      nz,cpd_9
6178
                inc_error_cnt
6179
cpd_9:          cpd
6180
                jp      m,cpd_10
6181
                inc_error_cnt
6182
cpd_10:         jp      pe,cpd_11
6183
                inc_error_cnt
6184
cpd_11:         jr      nz,cpd_12
6185
                inc_error_cnt
6186
cpd_12:         cpd
6187
                jp      p,cpd_13
6188
                inc_error_cnt
6189
cpd_13:         jp      po,cpd_14
6190
                inc_error_cnt
6191
cpd_14:         jr      z,cpdr_0
6192
                inc_error_cnt
6193
cpdr_0:         ld      a,data_80
6194
                ld      hl,var5
6195
                ld      bc,5
6196
                cpdr
6197
                jp      pe,cpdr_1
6198
                inc_error_cnt
6199
cpdr_1:         jp      p,cpdr_2
6200
                inc_error_cnt
6201
cpdr_2:         jr      z,cpdr_3
6202
                inc_error_cnt
6203
cpdr_3:         ld      a,b
6204
                cp      a,0
6205
                jr      z,cpdr_4
6206
                inc_error_cnt
6207
cpdr_4:         ld      a,c
6208
                cp      a,2
6209
                jr      z,cpdr_5
6210
                inc_error_cnt
6211
cpdr_5:         ld      a,#34      ;bjp was >data_1234
6212
                ld      hl,var5
6213
                ld      bc,5
6214
                cpdr
6215
                jp      po,cpdr_6
6216
                inc_error_cnt
6217
cpdr_6:         jr      nz,cpdr_7
6218
                inc_error_cnt
6219
cpdr_7:         jp      p,cpdr_8
6220
                inc_error_cnt
6221
cpdr_8:         ld      a,#34      ;bjp was >data_1234
6222
                ld      hl,var5
6223
                ld      bc,3
6224
                cpdr
6225
                jp      po,cpdr_9
6226
                inc_error_cnt
6227
cpdr_9:         jr      nz,cpdr_10
6228
                inc_error_cnt
6229
cpdr_10:        jp      m,out_0
6230
                inc_error_cnt
6231
;
6232
;the file portfe.xxx must be examined to see if the proper output is generated
6233
;
6234
out_0:          ld      a,#30
6235
                out     (out_port),a
6236
                ld      c,out_port
6237
                ld      a,#31
6238
                out     (c),a
6239
                ld      b,#32
6240
                out     (c),b
6241
                ld      d,#33
6242
                out     (c),d
6243
                ld      e,#34
6244
                out     (c),e
6245
                ld      h,#35
6246
                out     (c),h
6247
                ld      l,#36
6248
                out     (c),l
6249
                out     (c),c                   ;output value divider
6250
outi_0:         ld      a,#31                   ;set up output values
6251
                ld      b,5
6252
                ld      hl,t_var1
6253
outi_1:         ld      (hl),a
6254
                inc     a
6255
                inc     hl
6256
                djnz    outi_1
6257
outi_2:         ld      c,out_port
6258
                ld      b,5
6259
                ld      hl,t_var1
6260
outi_3:         outi
6261
                jr      nz,outi_3
6262
otir_0:         out     (c),c                   ;output value divider
6263
                ld      hl,t_var1
6264
                ld      b,5
6265
                otir
6266
                jr      z,outd_0
6267
                inc_error_cnt
6268
outd_0:         out     (c),c
6269
                ld      hl,t_var5
6270
                ld      b,5
6271
outd_1:         outd
6272
                jr      nz,outd_1
6273
otdr_0:         out     (c),c
6274
                ld      b,5
6275
                ld      hl,t_var5
6276
                otdr
6277
                jr      z,otdr_1
6278
                inc_error_cnt
6279
otdr_1:         out     (c),c
6280
                ld      a,#0d
6281
                out     (c),a
6282
                ld      a,#0a
6283
                out     (c),a
6284
inc_pass:       ld      a,(pass_count)
6285
                inc     a
6286
                ld      (pass_count),a
6287
                ld      hl,error_cnt
6288
                ld      a,(hl)
6289
                cp      a,0
6290
                jr      z,worked
6291
                failed
6292
                cp      a,0
6293
                jr      nz,stop
6294
;worked:                passed           ;???? bjp
6295
worked:         push    bc
6296
                ld      bc,(pass)
6297
                ld      (message_addr),bc
6298
                ld      bc,(pass+2)
6299
                ld      (message_addr+2),bc
6300
                ld      bc,(pass+4)
6301
                ld      (message_addr+4),bc
6302
                pop     bc
6303
 
6304
 
6305
stop:           halt
6306
                nop
6307
                nop
6308
                nop
6309
;
6310
;subroutine 1, must load a with #7f
6311
;
6312
sub1:           ld      a,data_7f
6313
                ret
6314
;
6315
;
6316
;subroutine 2, must load a with #55
6317
;
6318
sub2:           ld      a,data_55
6319
                cp      a,data_55
6320
                ret     z
6321
;
6322
;subroutine 3, increments a
6323
;
6324
sub3:           inc     a
6325
                and     a
6326
                ret     nz
6327
;
6328
;subroutine 4, subtracts 1 from a
6329
;
6330
sub4:           sub     a,1
6331
                ret     c
6332
;
6333
;subroutine 5, subtracts 1 from a
6334
;
6335
sub5:           sub     a,1
6336
                ret     nc
6337
;
6338
;subroutine 6, shifts a right logically
6339
;
6340
sub6:           srl     a
6341
                ret     po
6342
;
6343
;subroutine 7, shifts a left arithmetically
6344
;
6345
sub7:           sla     a
6346
                ret     pe
6347
;
6348
;subroutine 8, shifts a left arithmetically
6349
;
6350
sub8:           sla     a
6351
                ret     m
6352
;
6353
;subroutine 9, rotates a left
6354
;
6355
sub9:           rl      a
6356
                ret     p
6357
;
6358
;restart 0 routine
6359
;
6360
rst_0000_1:
6361
                ld      a, 3
6362
                out     (ctl_port), a   ; enable dumping
6363
                ld      a, 0
6364
                out     (#82), a        ; disable timeout count
6365
 
6366
                ld      a,(pass_count)
6367
                or      a
6368
                jp      nz,start
6369
                ld      a,1
6370
                ret
6371
;
6372
;               data
6373
;
6374
var1:           db      data_ff
6375
var2:           db      data_55
6376
var3:           db      data_80
6377
var4:           db      data_aa
6378
var5:           db      data_7f
6379
;
6380
 
6381
                org     #8000
6382
t_var1:         db      0
6383
t_var2:         db      0
6384
t_var3:         db      0
6385
t_var4:         db      0
6386
t_var5:         db      0
6387
;
6388
w_var1:         dw      data_1234
6389
w_var2:         dw      data_55aa
6390
w_var3:         dw      data_7fff
6391
w_var4:         dw      data_8000
6392
w_var5:         dw      data_aa55
6393
w_var6:         dw      data_ffff
6394
;
6395
tw_var1:        dw      0
6396
tw_var2:        dw      0
6397
tw_var3:        dw      0
6398
tw_var4:        dw      0
6399
tw_var5:        dw      0
6400
tw_var6:        dw      0
6401
tw_var7:        dw      0
6402
;
6403
error_cnt:      db      0
6404
pass_count:     db      1
6405
fail_num        db      0
6406
;
6407
                org     #8100
6408
stack:          ds      128
6409
stack_end:      equ     $
6410
;
6411
                end start

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.