-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest2.s
1650 lines (1559 loc) · 29.2 KB
/
test2.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
; da65 V2.18 - Ubuntu 2.18-1
; Created: 2024-02-12 18:56:05
; Input file: test
; Page: 1
.setcpu "6502"
L0000 := $0000
L0840 := $0840
L0850 := $0850
L085A := $085A
L086A := $086A
L086E := $086E
L0875 := $0875
L0878 := $0878
L088B := $088B
L0897 := $0897
L08A2 := $08A2
L08B4 := $08B4
L08C0 := $08C0
L08FE := $08FE
L0908 := $0908
L0916 := $0916
L0920 := $0920
L092B := $092B
L0943 := $0943
L0950 := $0950
L095D := $095D
L0990 := $0990
L0A15 := $0A15
L0A5E := $0A5E
L0A85 := $0A85
L0A8B := $0A8B
L0BAF := $0BAF
L0C0F := $0C0F
L0C19 := $0C19
L0C26 := $0C26
L0C2C := $0C2C
L0C33 := $0C33
L0C4A := $0C4A
L0C56 := $0C56
L0C63 := $0C63
L0C7E := $0C7E
L0CF9 := $0CF9
L0D01 := $0D01
L0D0F := $0D0F
L0D16 := $0D16
L0D1D := $0D1D
L0D44 := $0D44
L0D5C := $0D5C
L0D74 := $0D74
L0DB5 := $0DB5
L0DB8 := $0DB8
L0DEC := $0DEC
L0DF1 := $0DF1
L0E38 := $0E38
L0E42 := $0E42
L0E70 := $0E70
L0E86 := $0E86
L0E94 := $0E94
L0EC7 := $0EC7
L0ECE := $0ECE
L0ED0 := $0ED0
L0EE8 := $0EE8
L0F02 := $0F02
L0F1E := $0F1E
L0F34 := $0F34
L0F5E := $0F5E
L0F6D := $0F6D
L0FE3 := $0FE3
L100C := $100C
L1060 := $1060
L1219 := $1219
L1220 := $1220
L1279 := $1279
L1285 := $1285
L12A6 := $12A6
L9E03 := $9E03
ora ($08,x)
.byte $0B
php
jsr L9E03
.byte $32
bmi LF58D
and (L0000),y
brk
brk
lda $01
sta $125D
and #$F8
ora #$06
sta $01
tsx
stx $125E
jsr L1285
jsr L1060
jsr L0C33
pha
jsr L0C4A
ldx #$19
LF579: lda $125F,x
sta $02,x
dex
bpl LF579
pla
sta $90
ldx $125E
txs
ldx $125D
stx $01
LF58D: rts
lda #$83
ldx #$10
jsr L0ED0
ldy #$02
jsr L0E94
ldx #$00
txa
rts
jsr L0C0F
sta L1279
lda #$FF
tax
rts
sta L1279
tax
beq LF5B7
jsr L0E70
jsr L0C0F
lda #$FF
tax
LF5B7: rts
ldy #$00
lda ($18),y
inc $18
bne LF5C2
inc $19
LF5C2: rts
lda L1285
sta $1280
jsr L0916
lda #$80
ldx #$12
jsr L0ED0
jsr L0EC7
jmp L1219
lda $16
sec
sbc #$02
sta $16
bcs LF5E4
dec $17
LF5E4: rts
lda $128A
bne LF5FB
jsr L08B4
jmp L0C2C
lda $128A
bne LF5FB
jsr L08B4
jmp L0C26
LF5FB: jsr L08B4
sta $04
stx $05
jsr L088B
ldy #$01
lda ($16),y
tax
dey
lda ($16),y
rts
ldy #$00
sty $0A
sty $0B
LF614: lda ($18),y
sec
sbc #$30
bcc LF647
cmp #$0A
bcs LF647
jsr L086E
pha
lda $0A
ldx $0B
asl $0A
rol $0B
asl $0A
rol $0B
adc $0A
sta $0A
txa
adc $0B
sta $0B
asl $0A
rol $0B
pla
adc $0A
sta $0A
bcc LF614
inc $0B
bcs LF614
LF647: lda $0A
ldx $0B
rts
ldy $128C
inc $128C
sta $128D,y
rts
lda #$8D
ldx #$12
clc
adc $128C
bcc LF661
inx
LF661: jmp L0ED0
lda $1A
ldx $1B
jmp L0ED0
LF66B: jsr L0875
inc $1286
bne LF66B
inc $1287
bne LF66B
rts
jsr L0916
lda $12A1
ldx $12A2
jsr L0ED0
lda $12A3
ldx $12A4
jsr L0ED0
jmp L1219
sty $0A
jsr L0D44
jsr L0908
lda $0A
jmp L0D74
sty $0A
jsr L0D44
jsr L0908
lda $0A
jmp L0DB5
pha
ldy #$05
LF6AE: lda $16,y
sta $127A,y
dey
bpl LF6AE
pla
sta $16
stx $17
jsr L0CF9
sta $18
stx $19
jsr L0CF9
sta $1A
stx $1B
lda #$00
tay
sta ($1A),y
iny
sta ($1A),y
iny
lda ($1A),y
sta $121A
iny
lda ($1A),y
sta $121B
lda $18
sta $0A
lda $19
sta $0B
ldy #$00
LF6E8: lda ($18),y
beq LF6F7
cmp #$25
beq LF6F7
iny
bne LF6E8
inc $19
bne LF6E8
LF6F7: tya
clc
adc $18
sta $18
bcc LF701
inc $19
LF701: sec
sbc $0A
sta $0C
lda $19
sbc $0B
sta $0D
ora $0C
beq LF735
jsr L0C63
ldy #$05
lda $1B
sta ($02),y
dey
lda $1A
sta ($02),y
dey
lda $0B
sta ($02),y
dey
lda $0A
sta ($02),y
dey
lda $0D
sta ($02),y
dey
lda $0C
sta ($02),y
jsr L1219
LF735: jsr L086A
tax
bne LF746
ldx #$05
LF73D: lda $127A,x
sta $16,x
dex
bpl LF73D
rts
LF746: cmp #$25
bne LF753
lda ($18),y
cmp #$25
bne LF759
jsr L086E
LF753: jsr L0878
jmp L0990
LF759: lda #$00
ldx #$0B
LF75D: sta $1281,x
dex
bpl LF75D
lda ($18),y
cmp #$2D
bne LF76E
stx $1281
beq LF787
LF76E: cmp #$2B
bne LF777
stx $1282
beq LF787
LF777: cmp #$20
bne LF780
stx $1283
beq LF787
LF780: cmp #$23
bne LF78D
stx $1284
LF787: jsr L086E
jmp L0A15
LF78D: ldx #$20
cmp #$30
bne LF799
tax
jsr L086E
lda ($18),y
LF799: stx L1285
cmp #$2A
bne LF7A9
jsr L086E
jsr L08B4
jmp L0A5E
LF7A9: jsr L08C0
sta $1286
stx $1287
sty $1288
sty $1289
lda ($18),y
cmp #$2E
bne LF7D9
jsr L086E
lda ($18),y
cmp #$2A
bne LF7D0
jsr L086E
jsr L08B4
jmp L0A85
LF7D0: jsr L08C0
sta $1288
stx $1289
LF7D9: lda ($18),y
cmp #$5A
beq LF7F8
cmp #$48
beq LF7F8
cmp #$54
beq LF7F8
cmp #$4A
beq LF7F3
cmp #$CC
beq LF7F3
cmp #$4C
bne LF7FE
LF7F3: lda #$FF
sta $128A
LF7F8: jsr L086E
jmp L0A8B
LF7FE: sty $128C
ldx #$8D
stx $12A1
ldx #$12
stx $12A2
jsr L086E
cmp #$43
bne LF820
jsr L08B4
sta $128D
lda #$00
sta $128E
jmp L0BAF
LF820: cmp #$44
beq LF828
cmp #$49
bne LF855
LF828: ldx #$00
lda $1283
beq LF831
ldx #$20
LF831: lda $1282
beq LF838
ldx #$2B
LF838: stx $128B
jsr L08A2
ldy $05
bmi LF84D
ldy $128B
beq LF84D
sty $128D
inc $128C
LF84D: ldy #$0A
jsr L0943
jmp L0BAF
LF855: cmp #$4E
bne LF86E
jsr L08B4
sta $0A
stx $0B
ldy #$00
lda ($1A),y
sta ($0A),y
iny
lda ($1A),y
sta ($0A),y
jmp L0990
LF86E: cmp #$4F
bne LF899
jsr L08A2
ldy $1284
beq LF891
pha
stx $12
ora $12
ora $04
ora $05
ora $1288
ora $1289
beq LF891
lda #$30
jsr L08FE
pla
LF891: ldy #$08
jsr L0943
jmp L0BAF
LF899: cmp #$50
bne LF8AA
ldx #$00
stx $128A
inx
stx $1284
lda #$58
bne LF8D1
LF8AA: cmp #$53
bne LF8BA
jsr L08B4
sta $12A1
stx $12A2
jmp L0BAF
LF8BA: cmp #$55
bne LF8C9
jsr L0897
ldy #$0A
jsr L0950
jmp L0BAF
LF8C9: cmp #$58
beq LF8D1
cmp #$D8
bne LF8FA
LF8D1: pha
lda $1284
beq LF8E1
lda #$30
jsr L08FE
lda #$D8
jsr L08FE
LF8E1: jsr L0897
ldy #$10
jsr L0950
pla
cmp #$58
bne LF8F7
lda $12A1
ldx $12A2
jsr L0F34
LF8F7: jmp L0BAF
LF8FA: jmp L0990
lda $12A1
ldx $12A2
jsr L0F1E
sta $12A3
stx $12A4
lda $1288
ora $1289
beq LF929
ldx $1288
cpx $12A3
lda $1289
tay
sbc $12A4
bcs LF929
stx $12A3
sty $12A4
LF929: sec
lda $1286
sbc $12A3
tax
lda $1287
sbc $12A4
bcs LF93C
lda #$00
tax
LF93C: eor #$FF
sta $1287
txa
eor #$FF
sta $1286
lda $1281
bne LF94F
jsr L0920
LF94F: jsr L092B
lda $1281
beq LF95A
jsr L0920
LF95A: jmp L0990
sta $12A5
lda #$00
sta L12A6
rts
iny
pha
clc
tya
adc $02
sta $02
bcc LF972
inc $03
LF972: pla
rts
ldy #$FF
cpx #$80
bcs LF97C
ldy #$00
LF97C: sty $04
sty $05
rts
lda $121C
ldx $121D
jsr L0ED0
lda $121E
ldx $121F
jsr L0ED0
ldy #$04
jmp L0840
ldy #$00
beq LF9A3
lda #$FB
ldx #$11
jmp L1220
LF9A3: rts
lda $02
sec
sbc #$04
sta $02
bcc LF9AE
rts
LF9AE: dec $03
rts
lda $02
sec
sbc #$06
sta $02
bcc LF9BB
rts
LF9BB: dec $03
rts
ldx #$00
clc
LF9C1: lda $1245,x
beq LF9CB
inx
cpx #$08
bcc LF9C1
LF9CB: rts
sta $12A7
sta $0A
stx $12A8
stx $0B
ldy #$01
lda ($0A),y
and #$01
bne LF9E7
LF9DE: lda #$10
jsr L0C0F
tax
jmp L0D0F
LF9E7: lda ($0A),y
and #$04
bne LF9DE
ldy #$00
lda ($0A),y
ldx #$00
jsr L0ED0
ldy #$09
jsr L0EE8
ldy #$07
jsr L0EE8
ldy #$09
jsr L0D16
jsr L0DF1
cpx #$00
bne LFA1A
cmp #$00
bne LFA1A
ldy #$05
jsr L0D16
ldy #$0A
jmp L0C19
LFA1A: jsr L100C
cpx #$FF
bne LFA39
cmp #$FF
bne LFA39
lda $12A7
sta $0A
lda $12A8
sta $0B
ldy #$01
lda ($0A),y
ora #$04
sta ($0A),y
bne LF9DE
LFA39: jsr L0ED0
ldy #$05
jsr L0D16
jsr L0F5E
jmp L0D0F
ldy #$01
lda ($02),y
tax
dey
lda ($02),y
inc $02
beq LFA58
inc $02
beq LFA5A
rts
LFA58: inc $02
LFA5A: inc $03
rts
ldy #$06
jmp L0C19
ldy #$01
lda ($02),y
tax
dey
lda ($02),y
rts
clc
eor #$FF
adc #$01
pha
txa
eor #$FF
adc #$00
tax
lda $04
eor #$FF
adc #$00
sta $04
lda $05
eor #$FF
adc #$00
sta $05
pla
rts
lda #$00
tax
ldy #$00
sty $04
sty $05
pha
jsr L0C56
ldy #$03
lda $05
sta ($02),y
dey
lda $04
sta ($02),y
dey
txa
sta ($02),y
pla
dey
sta ($02),y
rts
sta $12
jsr L0CF9
sta $0C
stx $0D
sta $0E
stx $0F
jsr L0E86
jsr L0CF9
sta $04
stx $05
rts
jsr L0D5C
ldx $05
ldy $12
cpy #$0A
bne LFB06
lda $04
ora $0B
ora $0A
bne LFAE6
cpx #$80
bne LFAE6
ldy #$0B
LFADB: lda $1095,y
sta ($0C),y
dey
bpl LFADB
jmp L0DEC
LFAE6: txa
bpl LFB06
lda #$2D
ldy #$00
sta ($0C),y
inc $0C
bne LFAF5
inc $0D
LFAF5: lda $0A
ldx $0B
jsr L0D1D
sta $0A
stx $0B
jmp L0DB8
jsr L0D5C
LFB06: lda #$00
pha
LFB09: ldy #$20
lda #$00
LFB0D: asl $0A
rol $0B
rol $04
rol $05
rol a
cmp $12
bcc LFB1E
sbc $12
inc $0A
LFB1E: dey
bne LFB0D
tay
lda $1085,y
pha
lda $0A
ora $0B
ora $04
ora $05
bne LFB09
ldy #$00
LFB32: pla
sta ($0C),y
beq LFB3A
iny
bne LFB32
LFB3A: lda $0E
ldx $0F
rts
sta $10
txa
beq LFB72
stx $11
jsr L0E86
tya
ldy $0B
beq LFB75
sta $12
ldy #$10
lsr $11
ror $10
LFB56: bcc LFB63
clc
adc $0A
tax
lda $0B
adc $12
sta $12
txa
LFB63: ror $12
ror a
ror $11
ror $10
dey
bne LFB56
lda $10
ldx $11
rts
LFB72: jmp L0E38
LFB75: stx $0B
ldy $0A
ldx $10
stx $0A
sty $10
ldy #$08
jmp L0E42
sta $10
jsr L0E86
tya
ldy #$08
ldx $0B
beq LFBAD
sta $11
lsr $10
LFB94: bcc LFBA1
clc
adc $0A
tax
lda $0B
adc $11
sta $11
txa
LFBA1: ror $11
ror a
ror $10
dey
bne LFB94
tax
lda $10
rts
LFBAD: lsr $10
LFBAF: bcc LFBB4
clc
adc $0A
LFBB4: ror a
ror $10
dey
bne LFBAF
tax
lda $10
rts
ldx #$5A
LFBC0: cmp $119F,x
beq LFBCE
dex
dex
bne LFBC0
lda #$12
ldx #$00
rts
LFBCE: lda $11A0,x
ldx #$00
rts
ldy #$01
lda ($02),y
sta $0B
dey
lda ($02),y
sta $0A
jmp L0D01
sty $12A9
lda $1215
ldx $1216
jsr L0ED0
lda $02
ldx $03
clc
adc $12A9
bcc LFBF9
inx
LFBF9: sta $0A
stx $0B
ldy #$01
lda ($0A),y
tax
dey
lda ($0A),y
jsr L0ED0
lda $0A
ldx $0B
jsr L0FE3
ldy $12A9
jmp L0C19
lda #$01
jmp L0ECE
lda #$00
ldx #$00
pha
lda $02
sec
sbc #$02
sta $02
bcs LFC2A
dec $03
LFC2A: ldy #$01
txa
sta ($02),y
pla
dey
sta ($02),y
rts
ldy #$03
lda $02
sec
sbc #$02
sta $02