-
Notifications
You must be signed in to change notification settings - Fork 0
/
bank_FF.asm
7851 lines (6771 loc) · 376 KB
/
bank_FF.asm
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
.segment "BANK_FF"
.include "copy_bank_ram.inc"
.include "copy_bank_val.inc"
; 0x03C010-0x04000F
.org $C000
.export _off009_0x03CF50_2D
.export _off009_0x03CF6B_01
.export _off009_0x03CF6F_02
.export _off009_0x03CF78_03
.export _off009_0x03CF82_23
.export _off009_0x03CFF5_28
.export _off009_0x03CFF5_29
.export sub_0x03D042_поинтеры_после_JSR
.export sub_0x03D083_очистить_spd_Z
.export loc_0x03D083_очистить_spd_Z
.export sub_0x03D08C_обработка_анимации_объекта
.export loc_0x03D08C_обработка_анимации_объекта
.export sub_0x03D17A
.export loc_0x03D17A
.export sub_0x03D18D
.export loc_0x03D1E6
.export sub_0x03D20C_EOR
.export sub_0x03D212_ASLx4
.export sub_0x03D217_LSRx4
.export sub_0x03D21C_получить_разницу_pos_X_двух_объектов
.export sub_0x03D228_вычислить_поворот_игрока_относительно_другого
.export loc_0x03D228_вычислить_поворот_игрока_относительно_другого
.export loc_0x03D266_записать_A_и_FF_в_буфер
.export sub_0x03D269_записать_FF_в_буфер_без_чтения_индекса
.export sub_0x03D26B_записать_FF_в_буфер_с_чтением_индекса
.export loc_0x03D26B_записать_FF_в_буфер_с_чтением_индекса
.export sub_0x03D26D_записать_A_в_буфер_с_чтением_индекса
.export loc_0x03D26D_записать_A_в_буфер_с_чтением_индекса
.export sub_0x03D26F_записать_A_в_буфер_с_сохранением_индекса
.export sub_0x03D276_записать_A_в_буфер_без_сохранения_индекса
.export sub_0x03D27B_записать_адрес_2006_Y_и_A_в_буфер
.export sub_0x03D356_записать_3_цвета_в_буфер
.export loc_0x03D356_записать_3_цвета_в_буфер
.export sub_0x03D3A4_записать_палитру_для_фона_и_спрайтов
.export sub_0x03D3C0_записать_палитру_для_фона
.export sub_0x03D47D_запись_черной_палитры_в_буфер
.export loc_0x03D47D_запись_черной_палитры_в_буфер
.export sub_0x03DACE_удалить_все_объекты
.export sub_0x03DAD7_удалить_объект_сохранив_XY
.export sub_0x03DAE3_удалить_объект
.export loc_0x03DAE3_удалить_объект
.export sub_0x03DB48_очистить_spd_X_и_spd_Z
.export loc_0x03DB48_очистить_spd_X_и_spd_Z
.export loc_0x03DB4C_очистить_spd_X
.export sub_0x03DB4C_очистить_spd_X
.export sub_0x03DB59_добавить_spd_X_к_pos_X___spd_Z_к_pos_Y
.export sub_0x03DB5C_добавить_spd_Z_к_pos_Y
.export loc_0x03DB5C_добавить_spd_Z_к_pos_Y
.export sub_0x03DB75_добавить_spd_X_к_pos_X
.export sub_0x03DBC5_скопировать_данные_объекта_X_в_Y
.export sub_0x03DC14_запись_1й_пары_chr_spr
.export sub_0x03DC1F_запись_2й_пары_chr_spr
.export sub_0x03DC2A_запись_пары_chr_bg
.export sub_0x03DC35_запись_пары_chr_bg_06
.export sub_0x03DC64_добавить_A_FF_к_spd_Z
.export loc_0x03DC64_добавить_A_FF_к_spd_Z
.export sub_0x03DC68_добавить_A_00_к_spd_Z
.export loc_0x03DC68_добавить_A_00_к_spd_Z
.export sub_0x03DC79
.export sub_0x03DCA2_добавить_к_spd_Z_в_зависимости_от_опции_скорости
.export sub_0x03DCC1_добавить_A_Y_к_spdX
.export sub_0x03DCE6_запись_spd_Z
.export sub_0x03DCFD_ограничить_pos_Y_во_время_падения
.export sub_0x03DD0A
.export sub_0x03DD75_повернуть_объект_в_противоположную_сторону_по_горизонтали
.export loc_0x03DD75_повернуть_объект_в_противоположную_сторону_по_горизонтали
.export tbl_0x03E750
.export sub_0x03DD7E_очистить_скролл
.export sub_0x03DD96
.export sub_0x03DDF9_запись_сидячего_состояния_персу
.export loc_0x03DDF9_запись_сидячего_состояния_персу
.export sub_0x03DE0C_выбор_палитры_перса_с_сохранением_X
.export sub_0x03DE19_очистить_очки_обоих_игроков
.export loc_0x03DE19_очистить_очки_обоих_игроков
.export sub_0x03DE30_удалить_объекты_перса
.export loc_0x03DE30_удалить_объекты_перса
.export sub_0x03DE4C_корректировка_урона_с_учетом_прочности_перса
.export sub_0x03DE87
.export loc_0x03DE8E
.export sub_0x03DEB2
.export sub_0x03DECA
.export sub_0x03DEE4
.export sub_0x03DF0B
.export sub_0x03DF1D
.export tbl_0x03DF2C_рейндж_броска
.export sub_0x03DF33
.export sub_0x03DF48
.export loc_0x03DF48
.export sub_0x03DF5F
.export loc_0x03DF5F
.export sub_0x03DFB3
.export sub_0x03E11E_корректировка_значения_A_для_turbo
.export loc_0x03E13E_подготовить_затемнение_из_цветного_в_черный
.export sub_0x03E14E_подготовить_затемнение_из_белого_в_цветной
.export loc_0x03E14E_подготовить_затемнение_из_белого_в_цветной
.export sub_0x03E151_подготовить_осветление_из_черного_в_цветной
.export loc_0x03E151_подготовить_осветление_из_черного_в_цветной
.export sub_0x03E15C
.export tbl_0x03E16E_звук_выбора_перса
.export loc_0x03E229_отрисовать_турнирную_сетку
.export loc_0x03E256
.export tbl_0x03E479_default_pos_X_перса
.export loc_0x03E61C
.export loc_0x03E62D
.export loc_0x03E67C
.export loc_0x03E69A
.export loc_0x03E8D6_отрисовать_портрет_шрушера_в_opening
.export loc_0x03E91E_отрисовать_инфу_в_статусбаре
.export tbl_0x03E995_индекс_3х_цветов_для_перса
.export tbl_0x03E99C_индекс_3х_цветов_для_перса
.export sub_0x03EA45
.export loc_0x03EA45
.export sub_0x03EA4B
.export sub_0x03EAA6_обновить_и_отрисовать_время_боя
.export sub_0x03EB17_отрисовать_время_боя
.export loc_0x03EB4F
.export tbl_0x03EFA1
.export tbl_0x03EFA5
.export sub_0x03EFB0
.export sub_0x03EFD1
.export sub_0x03EFFC
.export loc_0x03EFFC
.export sub_0x03F04C_выключить_irq___удалить_все_объекты___отрисовать_пустой_экран
.export sub_0x03F04F_удалить_все_объекты___отрисовать_пустой_экран
.export loc_0x03F052_отрисовать_пустой_экран
.export sub_0x03F054_отрисовать_экран
.export sub_0x03F214_генератор_рандома
.export sub_0x03F5BE_подготовить_новый_скрипт
.export loc_0x03F5BE_подготовить_новый_скрипт
.export loc_0x03F5F7_swap_prg_16
.export loc_0x03F627_restore_prg
.export sub_0x03F69B_выключить_звуки_и_записать_новый
.export loc_0x03F69B_выключить_звуки_и_записать_новый
.export sub_0x03F6A0_записать_звук_сохранив_X_Y
.export loc_0x03F6A0_записать_звук_сохранив_X_Y
.export sub_0x03F6A4_записать_звук
.export loc_0x03F6A4_записать_звук
.export sub_0x03F6D2_выключить_музыку_и_звуки
.export sub_0x03F6F5_написать_текст_на_экране
.export loc_0x03F6F5_написать_текст_на_экране
.export sub_0x03F724_смена_тайловых_наборов_для_анимаций
.export loc_0x03F724_смена_тайловых_наборов_для_анимаций
.export sub_0x03F76A
.export sub_0x03F785_вычислить_расстояние_между_персами
.export sub_0x03F7E3_отрисовать_портреты
.export loc_0x03F7E3_отрисовать_портреты
.export sub_0x03F824_подготовить_irq_handler
.export loc_0x03F824_подготовить_irq_handler
.export ofs_0x03F8E0
.export sub_0x03FB98_disable_irq
.export sub_0x03FC9C_set_mirroring_V
.export sub_0x03FCA0_set_mirroring_H
.export loc_0x03FE68_отрисовка_экрана_главное_меню
.export sub_0x03FE76
.export loc_0x03FEAF
.export loc_0x03FEEF
.export sub_0x03FF1D
.export sub_0x03FF4B_вычисление_приоритета_игрока_в_бою
.export sub_0x03F723_отрисовка_финальной_стойки
.export loc_0x03F6EC_броски
.export sub_0x02519C
.export tbl_0x03E32D_индекс_анимации_портрета
.export _общий_RTS
.incbin "DPCM.bin"
_off009_0x03CF50_2D:
- D 2 - - A 0x03CF50 0F:CF40: 85 .byte $85 ;
- D 2 - I - 0x03CF51 0F:CF41: B8 .byte $B8 ;
- D 2 - I - 0x03CF52 0F:CF42: E0 .byte $E0 ;
- D 2 - I - 0x03CF53 0F:CF43: D5 .byte $D5 ;
- D 2 - I - 0x03CF54 0F:CF44: E0 .byte $E0 ;
- D 2 - I - 0x03CF55 0F:CF45: 8E .byte $8E ;
- D 2 - I - 0x03CF56 0F:CF46: E0 .byte $E0 ;
- D 2 - I - 0x03CF57 0F:CF47: A9 .byte $A9 ;
- D 2 - I - 0x03CF58 0F:CF48: 02 .byte $02 ;
- D 2 - I - 0x03CF59 0F:CF49: B8 .byte $B8 ;
- D 2 - I - 0x03CF5A 0F:CF4A: E0 .byte $E0 ;
- D 2 - I - 0x03CF5B 0F:CF4B: 6A .byte $6A ;
- D 2 - I - 0x03CF5C 0F:CF4C: D0 .byte $D0 ;
- D 2 - I - 0x03CF5D 0F:CF4D: 6A .byte $6A ;
- D 2 - I - 0x03CF5E 0F:CF4E: C0 .byte $C0 ;
- D 2 - I - 0x03CF5F 0F:CF4F: 6A .byte $6A ;
- D 2 - I - 0x03CF60 0F:CF50: B0 .byte $B0 ;
- D 2 - I - 0x03CF61 0F:CF51: 6A .byte $6A ;
- D 2 - I - 0x03CF62 0F:CF52: A0 .byte $A0 ;
- D 2 - I - 0x03CF63 0F:CF53: 6A .byte $6A ;
- D 2 - I - 0x03CF64 0F:CF54: 90 .byte $90 ;
- D 2 - I - 0x03CF65 0F:CF55: 6A .byte $6A ;
- D 2 - I - 0x03CF66 0F:CF56: 80 .byte $80 ;
- D 2 - I - 0x03CF67 0F:CF57: 6A .byte $6A ;
- D 2 - I - 0x03CF68 0F:CF58: 70 .byte $70 ;
- D 2 - I - 0x03CF69 0F:CF59: 6A .byte $6A ;
- D 2 - I - 0x03CF6A 0F:CF5A: FF .byte $FF ;
_off009_0x03CF6B_01:
- D 2 - I - 0x03CF6B 0F:CF5B: 11 .byte $11 ;
- D 2 - I - 0x03CF6C 0F:CF5C: 82 .byte $82 ;
- D 2 - I - 0x03CF6D 0F:CF5D: 11 .byte $11 ;
- D 2 - I - 0x03CF6E 0F:CF5E: FF .byte $FF ;
_off009_0x03CF6F_02:
- D 2 - I - 0x03CF6F 0F:CF5F: 11 .byte $11 ;
- D 2 - I - 0x03CF70 0F:CF60: 82 .byte $82 ;
- D 2 - I - 0x03CF71 0F:CF61: 05 .byte $05 ;
- D 2 - I - 0x03CF72 0F:CF62: 61 .byte $61 ;
- D 2 - I - 0x03CF73 0F:CF63: 51 .byte $51 ;
- D 2 - I - 0x03CF74 0F:CF64: 41 .byte $41 ;
- D 2 - I - 0x03CF75 0F:CF65: 31 .byte $31 ;
- D 2 - I - 0x03CF76 0F:CF66: 21 .byte $21 ;
- D 2 - I - 0x03CF77 0F:CF67: FF .byte $FF ;
_off009_0x03CF78_03:
- D 2 - I - 0x03CF78 0F:CF68: 11 .byte $11 ;
- D 2 - I - 0x03CF79 0F:CF69: CE .byte $CE ;
- D 2 - I - 0x03CF7A 0F:CF6A: 76 .byte $76 ;
- D 2 - I - 0x03CF7B 0F:CF6B: 34 .byte $34 ;
- D 2 - I - 0x03CF7C 0F:CF6C: 43 .byte $43 ;
- D 2 - I - 0x03CF7D 0F:CF6D: 24 .byte $24 ;
- D 2 - I - 0x03CF7E 0F:CF6E: 13 .byte $13 ;
- D 2 - I - 0x03CF7F 0F:CF6F: 12 .byte $12 ;
- D 2 - I - 0x03CF80 0F:CF70: 12 .byte $12 ;
- D 2 - I - 0x03CF81 0F:CF71: FF .byte $FF ;
_off009_0x03CF82_23:
- D 2 - I - 0x03CF82 0F:CF72: D5 .byte $D5 ;
- D 2 - I - 0x03CF83 0F:CF73: B3 .byte $B3 ;
- D 2 - I - 0x03CF84 0F:CF74: A3 .byte $A3 ;
- D 2 - I - 0x03CF85 0F:CF75: 00 .byte $00 ;
- D 2 - I - 0x03CF86 0F:CF76: 0F .byte $0F ;
- D 2 - I - 0x03CF87 0F:CF77: 72 .byte $72 ;
- D 2 - I - 0x03CF88 0F:CF78: FA .byte $FA ;
- D 2 - I - 0x03CF89 0F:CF79: 04 .byte $04 ;
- D 2 - I - 0x03CF8A 0F:CF7A: B0 .byte $B0 ;
- D 2 - I - 0x03CF8B 0F:CF7B: 1B .byte $1B ;
- D 2 - I - 0x03CF8C 0F:CF7C: 80 .byte $80 ;
- D 2 - I - 0x03CF8D 0F:CF7D: 10 .byte $10 ;
- D 2 - I - 0x03CF8E 0F:CF7E: FA .byte $FA ;
- D 2 - I - 0x03CF8F 0F:CF7F: FF .byte $FF ;
- D 2 - I - 0x03CF90 0F:CF80: 03 .byte $03 ;
- D 2 - I - 0x03CF91 0F:CF81: B3 .byte $B3 ;
- D 2 - I - 0x03CF92 0F:CF82: 00 .byte $00 ;
- D 2 - I - 0x03CF93 0F:CF83: E8 .byte $E8 ;
- D 2 - I - 0x03CF94 0F:CF84: 05 .byte $05 ;
- D 2 - I - 0x03CF95 0F:CF85: E3 .byte $E3 ;
- D 2 - I - 0x03CF96 0F:CF86: 00 .byte $00 ;
- D 2 - I - 0x03CF97 0F:CF87: 01 .byte $01 ;
- D 2 - I - 0x03CF98 0F:CF88: 73 .byte $73 ;
- D 2 - I - 0x03CF99 0F:CF89: 00 .byte $00 ;
- D 2 - I - 0x03CF9A 0F:CF8A: E8 .byte $E8 ;
- D 2 - I - 0x03CF9B 0F:CF8B: 0F .byte $0F ;
- D 2 - I - 0x03CF9C 0F:CF8C: FA .byte $FA ;
- D 2 - I - 0x03CF9D 0F:CF8D: 04 .byte $04 ;
- D 2 - I - 0x03CF9E 0F:CF8E: B0 .byte $B0 ;
- D 2 - I - 0x03CF9F 0F:CF8F: 1B .byte $1B ;
- D 2 - I - 0x03CFA0 0F:CF90: 80 .byte $80 ;
- D 2 - I - 0x03CFA1 0F:CF91: 80 .byte $80 ;
- D 2 - I - 0x03CFA2 0F:CF92: FA .byte $FA ;
- D 2 - I - 0x03CFA3 0F:CF93: FF .byte $FF ;
- D 2 - I - 0x03CFA4 0F:CF94: 01 .byte $01 ;
- D 2 - I - 0x03CFA5 0F:CF95: AF .byte $AF ;
- D 2 - I - 0x03CFA6 0F:CF96: AE .byte $AE ;
- D 2 - I - 0x03CFA7 0F:CF97: AD .byte $AD ;
- D 2 - I - 0x03CFA8 0F:CF98: AC .byte $AC ;
- D 2 - I - 0x03CFA9 0F:CF99: AB .byte $AB ;
- D 2 - I - 0x03CFAA 0F:CF9A: 81 .byte $81 ;
- D 2 - I - 0x03CFAB 0F:CF9B: 82 .byte $82 ;
- D 2 - I - 0x03CFAC 0F:CF9C: 83 .byte $83 ;
- D 2 - I - 0x03CFAD 0F:CF9D: 84 .byte $84 ;
- D 2 - I - 0x03CFAE 0F:CF9E: 85 .byte $85 ;
- D 2 - I - 0x03CFAF 0F:CF9F: 86 .byte $86 ;
- D 2 - I - 0x03CFB0 0F:CFA0: 87 .byte $87 ;
- D 2 - I - 0x03CFB1 0F:CFA1: 88 .byte $88 ;
- D 2 - I - 0x03CFB2 0F:CFA2: 89 .byte $89 ;
- D 2 - I - 0x03CFB3 0F:CFA3: 8A .byte $8A ;
- D 2 - I - 0x03CFB4 0F:CFA4: 8B .byte $8B ;
- D 2 - I - 0x03CFB5 0F:CFA5: 8C .byte $8C ;
- D 2 - I - 0x03CFB6 0F:CFA6: 8D .byte $8D ;
- D 2 - I - 0x03CFB7 0F:CFA7: 8E .byte $8E ;
- D 2 - I - 0x03CFB8 0F:CFA8: 8F .byte $8F ;
- D 2 - I - 0x03CFB9 0F:CFA9: 61 .byte $61 ;
- D 2 - I - 0x03CFBA 0F:CFAA: 62 .byte $62 ;
- D 2 - I - 0x03CFBB 0F:CFAB: 63 .byte $63 ;
- D 2 - I - 0x03CFBC 0F:CFAC: 64 .byte $64 ;
- D 2 - I - 0x03CFBD 0F:CFAD: 65 .byte $65 ;
- D 2 - I - 0x03CFBE 0F:CFAE: 66 .byte $66 ;
- D 2 - I - 0x03CFBF 0F:CFAF: 67 .byte $67 ;
- D 2 - I - 0x03CFC0 0F:CFB0: 68 .byte $68 ;
- D 2 - I - 0x03CFC1 0F:CFB1: 69 .byte $69 ;
- D 2 - I - 0x03CFC2 0F:CFB2: 6A .byte $6A ;
- D 2 - I - 0x03CFC3 0F:CFB3: 6B .byte $6B ;
- D 2 - I - 0x03CFC4 0F:CFB4: 6C .byte $6C ;
- D 2 - I - 0x03CFC5 0F:CFB5: 6D .byte $6D ;
- D 2 - I - 0x03CFC6 0F:CFB6: 6E .byte $6E ;
- D 2 - I - 0x03CFC7 0F:CFB7: 6F .byte $6F ;
- D 2 - I - 0x03CFC8 0F:CFB8: 41 .byte $41 ;
- D 2 - I - 0x03CFC9 0F:CFB9: 42 .byte $42 ;
- D 2 - I - 0x03CFCA 0F:CFBA: 43 .byte $43 ;
- D 2 - I - 0x03CFCB 0F:CFBB: 44 .byte $44 ;
- D 2 - I - 0x03CFCC 0F:CFBC: 45 .byte $45 ;
- D 2 - I - 0x03CFCD 0F:CFBD: 46 .byte $46 ;
- D 2 - I - 0x03CFCE 0F:CFBE: 47 .byte $47 ;
- D 2 - I - 0x03CFCF 0F:CFBF: 48 .byte $48 ;
- D 2 - I - 0x03CFD0 0F:CFC0: 49 .byte $49 ;
- D 2 - I - 0x03CFD1 0F:CFC1: 4A .byte $4A ;
- D 2 - I - 0x03CFD2 0F:CFC2: 4B .byte $4B ;
- D 2 - I - 0x03CFD3 0F:CFC3: 4C .byte $4C ;
- D 2 - I - 0x03CFD4 0F:CFC4: 4D .byte $4D ;
- D 2 - I - 0x03CFD5 0F:CFC5: 4E .byte $4E ;
- D 2 - I - 0x03CFD6 0F:CFC6: 4F .byte $4F ;
- D 2 - I - 0x03CFD7 0F:CFC7: 21 .byte $21 ;
- D 2 - I - 0x03CFD8 0F:CFC8: 22 .byte $22 ;
- D 2 - I - 0x03CFD9 0F:CFC9: 23 .byte $23 ;
- D 2 - I - 0x03CFDA 0F:CFCA: 24 .byte $24 ;
- D 2 - I - 0x03CFDB 0F:CFCB: 25 .byte $25 ;
- D 2 - I - 0x03CFDC 0F:CFCC: 26 .byte $26 ;
- D 2 - I - 0x03CFDD 0F:CFCD: 27 .byte $27 ;
- D 2 - I - 0x03CFDE 0F:CFCE: 28 .byte $28 ;
- D 2 - I - 0x03CFDF 0F:CFCF: 29 .byte $29 ;
- D 2 - I - 0x03CFE0 0F:CFD0: 2A .byte $2A ;
- D 2 - I - 0x03CFE1 0F:CFD1: 2B .byte $2B ;
- D 2 - I - 0x03CFE2 0F:CFD2: 2C .byte $2C ;
- D 2 - I - 0x03CFE3 0F:CFD3: 2D .byte $2D ;
- D 2 - I - 0x03CFE4 0F:CFD4: 2E .byte $2E ;
- D 2 - I - 0x03CFE5 0F:CFD5: 2F .byte $2F ;
- D 2 - I - 0x03CFE6 0F:CFD6: 11 .byte $11 ;
- D 2 - I - 0x03CFE7 0F:CFD7: 12 .byte $12 ;
- D 2 - I - 0x03CFE8 0F:CFD8: 13 .byte $13 ;
- D 2 - I - 0x03CFE9 0F:CFD9: 14 .byte $14 ;
- D 2 - I - 0x03CFEA 0F:CFDA: 15 .byte $15 ;
- D 2 - I - 0x03CFEB 0F:CFDB: 16 .byte $16 ;
- D 2 - I - 0x03CFEC 0F:CFDC: 17 .byte $17 ;
- D 2 - I - 0x03CFED 0F:CFDD: 18 .byte $18 ;
- D 2 - I - 0x03CFEE 0F:CFDE: 19 .byte $19 ;
- D 2 - I - 0x03CFEF 0F:CFDF: 1A .byte $1A ;
- D 2 - I - 0x03CFF0 0F:CFE0: 1B .byte $1B ;
- D 2 - I - 0x03CFF1 0F:CFE1: 1C .byte $1C ;
- D 2 - I - 0x03CFF2 0F:CFE2: 1D .byte $1D ;
- D 2 - I - 0x03CFF3 0F:CFE3: 1E .byte $1E ;
- D 2 - I - 0x03CFF4 0F:CFE4: FF .byte $FF ;
_off009_0x03CFF5_28:
_off009_0x03CFF5_29:
- D 2 - I - 0x03CFF5 0F:CFE5: 84 .byte $84 ;
- D 2 - I - 0x03CFF6 0F:CFE6: 78 .byte $78 ;
- D 2 - I - 0x03CFF7 0F:CFE7: 80 .byte $80 ;
- D 2 - I - 0x03CFF8 0F:CFE8: 7F .byte $7F ;
- D 2 - I - 0x03CFF9 0F:CFE9: 80 .byte $80 ;
- D 2 - I - 0x03CFFA 0F:CFEA: 5F .byte $5F ;
- D 2 - I - 0x03CFFB 0F:CFEB: 80 .byte $80 ;
- D 2 - I - 0x03CFFC 0F:CFEC: 47 .byte $47 ;
- D 2 - I - 0x03CFFD 0F:CFED: 80 .byte $80 ;
- D 2 - I - 0x03CFFE 0F:CFEE: 35 .byte $35 ;
- D 2 - I - 0x03CFFF 0F:CFEF: 30 .byte $30 ;
- D 2 - I - 0x03D000 0F:CFF0: 7F .byte $7F ;
- D 2 - I - 0x03D001 0F:CFF1: 30 .byte $30 ;
- D 2 - I - 0x03D002 0F:CFF2: 5F .byte $5F ;
- D 2 - I - 0x03D003 0F:CFF3: 30 .byte $30 ;
- D 2 - I - 0x03D004 0F:CFF4: 47 .byte $47 ;
- D 2 - I - 0x03D005 0F:CFF5: 30 .byte $30 ;
- D 2 - I - 0x03D006 0F:CFF6: 35 .byte $35 ;
- D 2 - I - 0x03D007 0F:CFF7: 10 .byte $10 ;
- D 2 - I - 0x03D008 0F:CFF8: 7F .byte $7F ;
- D 2 - I - 0x03D009 0F:CFF9: 10 .byte $10 ;
- D 2 - I - 0x03D00A 0F:CFFA: 5F .byte $5F ;
- D 2 - I - 0x03D00B 0F:CFFB: 10 .byte $10 ;
- D 2 - I - 0x03D00C 0F:CFFC: 47 .byte $47 ;
- D 2 - I - 0x03D00D 0F:CFFD: 10 .byte $10 ;
- D 2 - I - 0x03D00E 0F:CFFE: 35 .byte $35 ;
- D 2 - I - 0x03D00F 0F:CFFF: FF .byte $FF ;
sub_D009_очистить_оперативку_1:
; 008E-00DF
C - - - - - 0x03D019 0F:D009: A2 8E LDX #$8E
C - - - - - 0x03D01B 0F:D00B: D0 02 BNE bra_D00F ; jmp
sub_D00D_очистить_оперативку_2:
; 00A4-00DF
C - - - - - 0x03D01D 0F:D00D: A2 A4 LDX #$A4
bra_D00F:
C - - - - - 0x03D01F 0F:D00F: A9 00 LDA #$00
bra_D011_loop:
C - - - - - 0x03D021 0F:D011: 95 00 STA ram_0000,X
C - - - - - 0x03D023 0F:D013: E8 INX
C - - - - - 0x03D024 0F:D014: E0 E0 CPX #$E0
C - - - - - 0x03D026 0F:D016: D0 F9 BNE bra_D011_loop
C - - - - - 0x03D028 0F:D018: A2 00 LDX #$00
bra_D01A_loop:
C - - - - - 0x03D02A 0F:D01A: 9D 00 04 STA $0400,X
C - - - - - 0x03D02D 0F:D01D: 9D 00 05 STA $0500,X
C - - - - - 0x03D030 0F:D020: 9D 00 06 STA $0600,X
C - - - - - 0x03D036 0F:D026: E8 INX
C - - - - - 0x03D037 0F:D027: D0 F1 BNE bra_D01A_loop
; очистка адресов звукового движка, кроме адресов для очереди звуков
LDX #$FA
bra_D023_loop:
; 0700-07F9
STA $0700 - $01,X
DEX
BNE bra_D023_loop
; bzk optimize, для безопасности лучше X = C1 чтоб охватить весь буфер
C - - - - - 0x03D039 0F:D029: A2 C0 LDX #$C0
bra_D02B_loop:
C - - - - - 0x03D03B 0F:D02B: 9D 00 03 STA $0300,X
C - - - - - 0x03D03E 0F:D02E: E8 INX
C - - - - - 0x03D03F 0F:D02F: D0 FA BNE bra_D02B_loop
C - - - - - 0x03D041 0F:D031: 60 RTS
sub_D032_поинтеры_после_JSR:
sub_0x03D042_поинтеры_после_JSR:
C - - - - - 0x03D042 0F:D032: 84 04 STY ram_0004
C - - - - - 0x03D044 0F:D034: 85 05 STA ram_0005
C - - - - - 0x03D046 0F:D036: 0A ASL
C - - - - - 0x03D047 0F:D037: 84 03 STY ram_0003
C - - - - - 0x03D049 0F:D039: A8 TAY
C - - - - - 0x03D04A 0F:D03A: C8 INY
C - - - - - 0x03D04B 0F:D03B: 68 PLA
C - - - - - 0x03D04C 0F:D03C: 85 00 STA ram_0000
C - - - - - 0x03D04E 0F:D03E: 68 PLA
C - - - - - 0x03D04F 0F:D03F: 85 01 STA ram_0001
C - - - - - 0x03D051 0F:D041: B1 00 LDA (ram_0000),Y
C - - - - - 0x03D053 0F:D043: 85 02 STA ram_0002
C - - - - - 0x03D055 0F:D045: C8 INY
C - - - - - 0x03D056 0F:D046: B1 00 LDA (ram_0000),Y
C - - - - - 0x03D058 0F:D048: A4 03 LDY ram_0003
C - - - - - 0x03D05A 0F:D04A: 85 03 STA ram_0003
C - - - - - 0x03D05C 0F:D04C: A5 04 LDA ram_0004
C - - - - - 0x03D05E 0F:D04E: 6C 02 00 JMP (ram_0002)
sub_0x03D08C_обработка_анимации_объекта:
loc_0x03D08C_обработка_анимации_объекта:
; X = индекс объекта, менять нельзя
; Y = тип анимации, смотреть con_D0B3
LDA tbl_D0B3_индекс,Y
STA ram_0000
TAY
C D 2 - - - 0x03D08C 0F:D07C: B9 E7 D0 LDA tbl_D101_колво_картинок_в_анимации,Y
C - - - - - 0x03D08F 0F:D07F: DD D0 05 CMP ram_obj_anim_cnt,X ; 05D0 05D1 05D4 05D5 05D6
C - - - - - 0x03D092 0F:D082: B0 03 BCS bra_D087
C - - - - - 0x03D094 0F:D084: 9D D0 05 STA ram_obj_anim_cnt,X ; 05D0 05D1
bra_D087:
C - - - - - 0x03D09C 0F:D08C: DE C0 05 DEC ram_obj_anim_timer,X ; 05C0 05C1 05C4 05C5 05C6
C - - - - - 0x03D09F 0F:D08F: 10 14 BPL bra_D0A5
C - - - - - 0x03D0A1 0F:D091: DE D0 05 DEC ram_obj_anim_cnt,X ; 05D0 05D1 05D4 05D5 05D6
C - - - - - 0x03D0A4 0F:D094: 10 06 BPL bra_D09C
C - - - - - 0x03D0A6 0F:D096: B9 E7 D0 LDA tbl_D101_колво_картинок_в_анимации,Y
C - - - - - 0x03D0A9 0F:D099: 9D D0 05 STA ram_obj_anim_cnt,X ; 05D0 05D1 05D4 05D5 05D6
bra_D09C:
C - - - - - 0x03D0AC 0F:D09C: B9 CD D0 LDA tbl_D101_продолжительность_кадра_анимации + $01,Y
C - - - - - 0x03D0AF 0F:D09F: 20 0E E1 JSR sub_E10E_корректировка_значения_A_для_turbo
C - - - - - 0x03D0B2 0F:D0A2: 9D C0 05 STA ram_obj_anim_timer,X ; 05C0 05C1 05C4 05C5 05C6
bra_D0A5:
C - - - - - 0x03D0B5 0F:D0A5: 18 CLC
C - - - - - 0x03D0B6 0F:D0A6: A5 00 LDA ram_0000
C - - - - - 0x03D0B8 0F:D0A8: 7D D0 05 ADC ram_obj_anim_cnt,X ; 05D0 05D1 05D4 05D5 05D6
C - - - - - 0x03D0BB 0F:D0AB: A8 TAY
C - - - - - 0x03D0BC 0F:D0AC: B9 01 D1 LDA tbl_D101_индекс_картинки_анимации + $02,Y
C - - - - - 0x03D0BF 0F:D0AF: 9D 00 04 STA ram_obj_anim_id,X ; 0400 0401 0404 0405 0406
C - - - - - 0x03D0C2 0F:D0B2: 60 RTS
tbl_D0B3_индекс:
- D 2 - - - 0x03D0C3 0F:D0B3: 00 .byte off_D101_00_черепахи_ходьба_вперед - tbl_D102
- - - - - - 0x03D0C4 0F:D0B4: 03 .byte off_D104_01 - tbl_D102
- D 2 - - - 0x03D0C5 0F:D0B5: 0E .byte off_D10F_02_черепахи_ходьба_назад - tbl_D102
- D 2 - - - 0x03D0C6 0F:D0B6: 12 .byte off_D113_03_сверло_рафа - tbl_D102
- D 2 - - - 0x03D0C7 0F:D0B7: 15 .byte off_D116_04_черепахи_бег_вперед - tbl_D102
- D 2 - - - 0x03D0C8 0F:D0B8: 1B .byte off_D11C_05_casey_бег_вперед - tbl_D102
- D 2 - - - 0x03D0C9 0F:D0B9: 21 .byte off_D122_06_casey_ходьба_вперед - tbl_D102
- D 2 - - - 0x03D0CA 0F:D0BA: 25 .byte off_D126_07_casey_ходьба_назад - tbl_D102
- D 2 - - - 0x03D0CB 0F:D0BB: 25 .byte off_D126_08_casey_бег_назад - tbl_D102
- D 2 - - - 0x03D0CC 0F:D0BC: 0E .byte off_D10F_09_черепахи_бег_назад - tbl_D102
- D 2 - - - 0x03D0CD 0F:D0BD: 29 .byte off_D12A_0A_hot_бег_вперед - tbl_D102
- D 2 - - - 0x03D0CE 0F:D0BE: 33 .byte off_D134_0B_hot_бег_назад - tbl_D102
- D 2 - - - 0x03D0CF 0F:D0BF: 2F .byte off_D130_0C_hot_ходьба_вперед - tbl_D102
- D 2 - - - 0x03D0D0 0F:D0C0: 33 .byte off_D134_0D_hot_ходьба_назад - tbl_D102
- D 2 - - - 0x03D0D1 0F:D0C1: 37 .byte off_D138_0E_shred_бег_вперед - tbl_D102
- D 2 - - - 0x03D0D2 0F:D0C2: 3D .byte off_D13E_0F_shred_бег_назад - tbl_D102
- D 2 - - - 0x03D0D3 0F:D0C3: 41 .byte off_D142_10_shred_ходьба_вперед - tbl_D102
- D 2 - - - 0x03D0D4 0F:D0C4: 45 .byte off_D146_11_shred_ходьба_назад - tbl_D102
- D 2 - - - 0x03D0D5 0F:D0C5: 49 .byte off_D14A_12_волна_шрушера - tbl_D102
- D 2 - - - 0x03D0D6 0F:D0C6: 4C .byte off_D14D_13_черепахи_сальто_вперед - tbl_D102
- D 2 - - - 0x03D0D7 0F:D0C7: 50 .byte off_D151_14_черепахи_сальто_назад - tbl_D102
- D 2 - - - 0x03D0D8 0F:D0C8: 54 .byte off_D155_15_casey_сальто_вперед - tbl_D102
- D 2 - - - 0x03D0D9 0F:D0C9: 59 .byte off_D15A_16_casey_сальто_назад - tbl_D102
- D 2 - - - 0x03D0DA 0F:D0CA: 5E .byte off_D15F_17_мяч_хота - tbl_D102
- D 2 - - - 0x03D0DB 0F:D0CB: 61 .byte off_D162_18_песок_казея - tbl_D102
tbl_D102:
tbl_D101_колво_картинок_в_анимации:
tbl_D101_продолжительность_кадра_анимации:
tbl_D101_индекс_картинки_анимации:
off_D101_00_черепахи_ходьба_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $0A ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D111 0F:D101: 8A .byte $8A ; 00
- D 2 - - - 0x03D112 0F:D102: 89 .byte $89 ; 01
- D 2 - - - 0x03D113 0F:D103: 88 .byte $88 ; 02
@end:
off_D104_01:
.byte @end - * - $03 ; колво картинок в анимации
.byte $02 ; продолжительность кадра анимации
; индексы картинки анимации
- - - - - - 0x03D114 0F:D104: AF .byte $AF ; 00
- - - - - - 0x03D115 0F:D105: AF .byte $AF ; 01
- - - - - - 0x03D116 0F:D106: AE .byte $AE ; 02
- - - - - - 0x03D117 0F:D107: AF .byte $AF ; 03
- - - - - - 0x03D118 0F:D108: B0 .byte $B0 ; 04
- - - - - - 0x03D119 0F:D109: AF .byte $AF ; 05
- - - - - - 0x03D11A 0F:D10A: AE .byte $AE ; 06
- - - - - - 0x03D11B 0F:D10B: AF .byte $AF ; 07
- - - - - - 0x03D11C 0F:D10C: B0 .byte $B0 ; 08
- - - - - - 0x03D11D 0F:D10D: AF .byte $AF ; 09
- - - - - - 0x03D11E 0F:D10E: AE .byte $AE ; 0A
@end:
off_D10F_02_черепахи_ходьба_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $08 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D11F 0F:D10F: 8E .byte $8E ; 00
- D 2 - - - 0x03D120 0F:D110: 8D .byte $8D ; 01
- D 2 - - - 0x03D121 0F:D111: 8C .byte $8C ; 02
- D 2 - - - 0x03D122 0F:D112: 8B .byte $8B ; 03
@end:
off_D113_03_сверло_рафа:
.byte @end - * - $03 ; колво картинок в анимации
.byte $03 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D123 0F:D113: AD .byte $AD ; 00
- D 2 - - - 0x03D124 0F:D114: AC .byte $AC ; 01
- D 2 - - - 0x03D125 0F:D115: AB .byte $AB ; 02
@end:
off_D116_04_черепахи_бег_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $05 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D126 0F:D116: 87 .byte $87 ; 00
- D 2 - - - 0x03D127 0F:D117: 86 .byte $86 ; 01
- D 2 - - - 0x03D128 0F:D118: 83 .byte $83 ; 02
- D 2 - - - 0x03D129 0F:D119: 85 .byte $85 ; 03
- D 2 - - - 0x03D12A 0F:D11A: 84 .byte $84 ; 04
- D 2 - - - 0x03D12B 0F:D11B: 83 .byte $83 ; 05
@end:
off_D11C_05_casey_бег_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $05 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D12C 0F:D11C: 86 .byte $86 ; 00
- D 2 - - - 0x03D12D 0F:D11D: 85 .byte $85 ; 01
- D 2 - - - 0x03D12E 0F:D11E: 82 .byte $82 ; 02
- D 2 - - - 0x03D12F 0F:D11F: 84 .byte $84 ; 03
- D 2 - - - 0x03D130 0F:D120: 83 .byte $83 ; 04
- D 2 - - - 0x03D131 0F:D121: 82 .byte $82 ; 05
@end:
off_D122_06_casey_ходьба_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $07 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D132 0F:D122: 8A .byte $8A ; 00
- D 2 - - - 0x03D133 0F:D123: 89 .byte $89 ; 01
- D 2 - - - 0x03D134 0F:D124: 88 .byte $88 ; 02
- D 2 - - - 0x03D135 0F:D125: 87 .byte $87 ; 03
@end:
off_D126_07_casey_ходьба_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $07 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D136 0F:D126: 8D .byte $8D ; 00
- D 2 - - - 0x03D137 0F:D127: 8C .byte $8C ; 01
- D 2 - - - 0x03D138 0F:D128: 8B .byte $8B ; 02
- D 2 - - - 0x03D139 0F:D129: 80 .byte $80 ; 03
@end:
off_D126_08_casey_бег_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
.byte $8D ; 00
.byte $8C ; 01
.byte $8B ; 02
.byte $80 ; 03
@end:
off_D10F_09_черепахи_бег_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
.byte $8E ; 00
.byte $8D ; 01
.byte $8C ; 02
.byte $8B ; 03
@end:
off_D12A_0A_hot_бег_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D13A 0F:D12A: 85 .byte $85 ; 00
- D 2 - - - 0x03D13B 0F:D12B: 87 .byte $87 ; 01
- D 2 - - - 0x03D13C 0F:D12C: 86 .byte $86 ; 02
- D 2 - - - 0x03D13D 0F:D12D: 85 .byte $85 ; 03
- D 2 - - - 0x03D13E 0F:D12E: 84 .byte $84 ; 04
- D 2 - - - 0x03D13F 0F:D12F: 83 .byte $83 ; 05
@end:
off_D134_0B_hot_бег_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $08 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D144 0F:D134: 82 .byte $82 ; 00
- D 2 - - - 0x03D145 0F:D135: 8D .byte $8D ; 01
- D 2 - - - 0x03D146 0F:D136: 8C .byte $8C ; 02
- D 2 - - - 0x03D147 0F:D137: 8B .byte $8B ; 03
@end:
off_D130_0C_hot_ходьба_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $0A ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D140 0F:D130: 89 .byte $89 ; 00
- D 2 - - - 0x03D141 0F:D131: 8A .byte $8A ; 01
- D 2 - - - 0x03D142 0F:D132: 89 .byte $89 ; 02
- D 2 - - - 0x03D143 0F:D133: 88 .byte $88 ; 03
@end:
off_D134_0D_hot_ходьба_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $0A ; продолжительность кадра анимации
; индексы картинки анимации
.byte $82 ; 00
.byte $8D ; 01
.byte $8C ; 02
.byte $8B ; 03
@end:
off_D138_0E_shred_бег_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $08 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D148 0F:D138: 87 .byte $87 ; 00
- D 2 - - - 0x03D149 0F:D139: 86 .byte $86 ; 01
- D 2 - - - 0x03D14A 0F:D13A: 83 .byte $83 ; 02
- D 2 - - - 0x03D14B 0F:D13B: 85 .byte $85 ; 03
- D 2 - - - 0x03D14C 0F:D13C: 84 .byte $84 ; 04
- D 2 - - - 0x03D14D 0F:D13D: 83 .byte $83 ; 05
@end:
off_D13E_0F_shred_бег_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D14E 0F:D13E: 88 .byte $88 ; 00
- D 2 - - - 0x03D14F 0F:D13F: 89 .byte $89 ; 01
- D 2 - - - 0x03D150 0F:D140: 8A .byte $8A ; 02
- D 2 - - - 0x03D151 0F:D141: 8B .byte $8B ; 03
@end:
off_D142_10_shred_ходьба_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $08 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D152 0F:D142: 8B .byte $8B ; 00
- D 2 - - - 0x03D153 0F:D143: 8A .byte $8A ; 01
- D 2 - - - 0x03D154 0F:D144: 89 .byte $89 ; 02
- D 2 - - - 0x03D155 0F:D145: 88 .byte $88 ; 03
@end:
off_D146_11_shred_ходьба_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $08 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D156 0F:D146: 88 .byte $88 ; 00
- D 2 - - - 0x03D157 0F:D147: 89 .byte $89 ; 01
- D 2 - - - 0x03D158 0F:D148: 8A .byte $8A ; 02
- D 2 - - - 0x03D159 0F:D149: 8B .byte $8B ; 03
@end:
off_D14A_12_волна_шрушера:
.byte @end - * - $03 ; колво картинок в анимации
.byte $03 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D15A 0F:D14A: AD .byte $AD ; 00
- D 2 - - - 0x03D15B 0F:D14B: AC .byte $AC ; 01
- D 2 - - - 0x03D15C 0F:D14C: AB .byte $AB ; 02
@end:
off_D14D_13_черепахи_сальто_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D15D 0F:D14D: A0 .byte $A0 ; 00
- D 2 - - - 0x03D15E 0F:D14E: 9F .byte $9F ; 01
- D 2 - - - 0x03D15F 0F:D14F: 9E .byte $9E ; 02
- D 2 - - - 0x03D160 0F:D150: 9D .byte $9D ; 03
@end:
off_D151_14_черепахи_сальто_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D161 0F:D151: 9D .byte $9D ; 00
- D 2 - - - 0x03D162 0F:D152: 9E .byte $9E ; 01
- D 2 - - - 0x03D163 0F:D153: 9F .byte $9F ; 02
- D 2 - - - 0x03D164 0F:D154: A0 .byte $A0 ; 03
@end:
off_D155_15_casey_сальто_вперед:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
- - - - - - 0x03D165 0F:D155: AA .byte $AA ; 00
- - - - - - 0x03D166 0F:D156: D8 .byte $D8 ; 01
- D 2 - - - 0x03D167 0F:D157: C4 .byte $C4 ; 02
- D 2 - - - 0x03D168 0F:D158: D7 .byte $D7 ; 03
- D 2 - - - 0x03D169 0F:D159: D6 .byte $D6 ; 04
@end:
off_D15A_16_casey_сальто_назад:
.byte @end - * - $03 ; колво картинок в анимации
.byte $06 ; продолжительность кадра анимации
; индексы картинки анимации
- - - - - - 0x03D16A 0F:D15A: D6 .byte $D6 ; 00
- - - - - - 0x03D16B 0F:D15B: D7 .byte $D7 ; 01
- D 2 - - - 0x03D16C 0F:D15C: C4 .byte $C4 ; 02
- D 2 - - - 0x03D16D 0F:D15D: B5 .byte $B5 ; 03
- D 2 - - - 0x03D16E 0F:D15E: AA .byte $AA ; 04
@end:
off_D15F_17_мяч_хота:
.byte @end - * - $03 ; колво картинок в анимации
.byte $04 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D16F 0F:D15F: C2 .byte $C2 ; 00
- D 2 - - - 0x03D170 0F:D160: C1 .byte $C1 ; 01
- D 2 - - - 0x03D171 0F:D161: C0 .byte $C0 ; 02
@end:
off_D162_18_песок_казея:
.byte @end - * - $03 ; колво картинок в анимации
.byte $03 ; продолжительность кадра анимации
; индексы картинки анимации
- D 2 - - - 0x03D172 0F:D162: CB .byte $CB ; 00
- D 2 - - - 0x03D173 0F:D163: CA .byte $CA ; 01
- D 2 - - - 0x03D174 0F:D164: C9 .byte $C9 ; 02
- D 2 - - - 0x03D175 0F:D165: C8 .byte $C8 ; 03
@end:
sub_0x03D17A:
loc_0x03D17A:
C D 2 - - - 0x03D17A 0F:D16A: 85 01 STA ram_0001
C - - - - - 0x03D17C 0F:D16C: BD 10 05 LDA ram_obj_flip,X ; 0510 0511
C - - - - - 0x03D17F 0F:D16F: 48 PHA
C - - - - - 0x03D180 0F:D170: 20 65 DD JSR sub_DD65_повернуть_объект_в_противоположную_сторону_по_горизонтали
C - - - - - 0x03D183 0F:D173: A5 01 LDA ram_0001
C - - - - - 0x03D185 0F:D175: 20 7D D1 JSR sub_D17D
C - - - - - 0x03D188 0F:D178: 68 PLA
C - - - - - 0x03D189 0F:D179: 9D 10 05 STA ram_obj_flip,X ; 0510 0511
C - - - - - 0x03D18C 0F:D17C: 60 RTS
sub_D17D:
loc_D17D:
sub_0x03D18D:
C D 2 - - - 0x03D18D 0F:D17D: 85 01 STA ram_0001
C - - - - - 0x03D18F 0F:D17F: 29 0F AND #$0F
C - - - - - 0x03D191 0F:D181: 85 00 STA ram_0000
C - - - - - 0x03D193 0F:D183: A5 01 LDA ram_0001
C - - - - - 0x03D195 0F:D185: 29 F0 AND #$F0
C - - - - - 0x03D197 0F:D187: 85 01 STA ram_0001
C - - - - - 0x03D199 0F:D189: BD 10 05 LDA ram_obj_flip,X ; 0510 0511 0514 0515 0516 0517
C - - - - - 0x03D19C 0F:D18C: 0A ASL
loc_D18D:
C D 2 - - - 0x03D19D 0F:D18D: 10 11 BPL bra_D1A0
C - - - - - 0x03D19F 0F:D18F: A5 00 LDA ram_0000
C - - - - - 0x03D1A1 0F:D191: 49 FF EOR #$FF
C - - - - - 0x03D1A3 0F:D193: 85 00 STA ram_0000
C - - - - - 0x03D1A5 0F:D195: A5 01 LDA ram_0001
C - - - - - 0x03D1A7 0F:D197: 20 FC D1 JSR sub_D1FC_EOR
C - - - - - 0x03D1AA 0F:D19A: 85 01 STA ram_0001
C - - - - - 0x03D1AC 0F:D19C: D0 02 BNE bra_D1A0
C - - - - - 0x03D1AE 0F:D19E: E6 00 INC ram_0000
bra_D1A0:
C - - - - - 0x03D1B0 0F:D1A0: A5 01 LDA ram_0001
C - - - - - 0x03D1B2 0F:D1A2: 9D 90 04 STA ram_obj_spd_X_lo,X ; 0490 0491 0494 0495 0496 0497
C - - - - - 0x03D1B5 0F:D1A5: A5 00 LDA ram_0000
C - - - - - 0x03D1B7 0F:D1A7: 9D 80 04 STA ram_obj_spd_X_hi,X ; 0480 0481 0484 0485 0486 0487
C - - - - - 0x03D1BA 0F:D1AA: AD 26 01 LDA ram_option_speed
C - - - - - 0x03D1BD 0F:D1AD: F0 26 BEQ bra_D1D5_RTS
C - - - - - 0x03D1BF 0F:D1AF: A5 95 LDA ram_0095_стадия_игры
C - - - - - 0x03D1C1 0F:D1B1: C9 07 CMP #$07
BEQ bra_D1C3
CMP #$19
C - - - - - 0x03D1C3 0F:D1B3: D0 20 BNE bra_D1D5_RTS
bra_D1C3:
C - - - - - 0x03D1C5 0F:D1B5: 46 00 LSR ram_0000
C - - - - - 0x03D1C7 0F:D1B7: 66 01 ROR ram_0001
C - - - - - 0x03D1C9 0F:D1B9: BD 80 04 LDA ram_obj_spd_X_hi,X ; 0480 0481 0484 0485 0486 0487
C - - - - - 0x03D1CC 0F:D1BC: 10 06 BPL bra_D1C4
C - - - - - 0x03D1CE 0F:D1BE: A5 00 LDA ram_0000
C - - - - - 0x03D1D0 0F:D1C0: 09 C0 ORA #$C0
C - - - - - 0x03D1D2 0F:D1C2: 85 00 STA ram_0000
bra_D1C4:
C - - - - - 0x03D1D4 0F:D1C4: 18 CLC
C - - - - - 0x03D1D5 0F:D1C5: A5 01 LDA ram_0001
C - - - - - 0x03D1D7 0F:D1C7: 7D 90 04 ADC ram_obj_spd_X_lo,X ; 0490 0491 0494 0495 0496 0497
C - - - - - 0x03D1DA 0F:D1CA: 9D 90 04 STA ram_obj_spd_X_lo,X ; 0490 0491 0494 0495 0496 0497
C - - - - - 0x03D1DD 0F:D1CD: A5 00 LDA ram_0000
C - - - - - 0x03D1DF 0F:D1CF: 7D 80 04 ADC ram_obj_spd_X_hi,X ; 0480 0481 0484 0485 0486 0487
C - - - - - 0x03D1E2 0F:D1D2: 9D 80 04 STA ram_obj_spd_X_hi,X ; 0480 0481 0484 0485 0486 0487
bra_D1D5_RTS:
C - - - - - 0x03D1E5 0F:D1D5: 60 RTS
loc_0x03D1E6:
C D 2 - - - 0x03D1E6 0F:D1D6: 85 01 STA ram_0001
C - - - - - 0x03D1E8 0F:D1D8: 29 0F AND #$0F
C - - - - - 0x03D1EA 0F:D1DA: 85 00 STA ram_0000
C - - - - - 0x03D1EC 0F:D1DC: A5 01 LDA ram_0001
C - - - - - 0x03D1EE 0F:D1DE: 29 F0 AND #$F0
C - - - - - 0x03D1F0 0F:D1E0: 85 01 STA ram_0001
C - - - - - 0x03D1F2 0F:D1E2: BC 20 05 LDY ram_obj_state_hi,X ; 0520 0521
C - - - - - 0x03D1F5 0F:D1E5: C0 01 CPY #$01
C - - - - - 0x03D1F7 0F:D1E7: D0 0B BNE bra_D1F4
C - - - - - 0x03D1F9 0F:D1E9: 18 CLC
C - - - - - 0x03D1FA 0F:D1EA: 69 40 ADC #< $0040
C - - - - - 0x03D1FC 0F:D1EC: 85 01 STA ram_0001
C - - - - - 0x03D1FE 0F:D1EE: A5 00 LDA ram_0000
C - - - - - 0x03D200 0F:D1F0: 69 00 ADC #> $0040
C - - - - - 0x03D202 0F:D1F2: 85 00 STA ram_0000
bra_D1F4:
C - - - - - 0x03D204 0F:D1F4: B5 91 LDA ram_btn_hold,X
; con_btn_Left
; N = 1 только если кнопка была удержана. можно было бы
; сделать обычный AND, но на выходе проверяется N, а не Z
C - - - - - 0x03D206 0F:D1F6: 4A LSR
C - - - - - 0x03D207 0F:D1F7: 4A LSR
C - - - - - 0x03D208 0F:D1F8: 6A ROR
C - - - - - 0x03D209 0F:D1F9: 4C 8D D1 JMP loc_D18D
sub_D1FC_EOR:
loc_D1FC_EOR:
sub_0x03D20C_EOR:
C D 2 - - - 0x03D20C 0F:D1FC: 49 FF EOR #$FF
C - - - - - 0x03D20E 0F:D1FE: 18 CLC
C - - - - - 0x03D20F 0F:D1FF: 69 01 ADC #$01
C - - - - - 0x03D211 0F:D201: 60 RTS
sub_D202_ASLx4:
sub_0x03D212_ASLx4:
C - - - - - 0x03D212 0F:D202: 0A ASL
C - - - - - 0x03D213 0F:D203: 0A ASL
C - - - - - 0x03D214 0F:D204: 0A ASL
C - - - - - 0x03D215 0F:D205: 0A ASL
C - - - - - 0x03D216 0F:D206: 60 RTS
sub_D207_LSRx4:
loc_D207_LSRx4:
sub_0x03D217_LSRx4:
C D 2 - - - 0x03D217 0F:D207: 4A LSR
C - - - - - 0x03D218 0F:D208: 4A LSR
C - - - - - 0x03D219 0F:D209: 4A LSR
C - - - - - 0x03D21A 0F:D20A: 4A LSR
C - - - - - 0x03D21B 0F:D20B: 60 RTS
sub_D20C_получить_разницу_pos_X_двух_объектов:
sub_0x03D21C_получить_разницу_pos_X_двух_объектов:
C - - - - - 0x03D21C 0F:D20C: BD 40 04 LDA ram_obj_pos_X_lo,X ; 0440 0441 0445 0446
C - - - - - 0x03D21F 0F:D20F: 38 SEC
C - - - - - 0x03D220 0F:D210: F9 40 04 SBC ram_obj_pos_X_lo,Y ; 0440 0441 0442 0444 0446
C - - - - - 0x03D223 0F:D213: B0 23 BCS bra_D216_RTS
C - - - - - 0x03D225 0F:D215: 4C FC D1 JMP loc_D1FC_EOR
bra_D216_RTS:
RTS
sub_0x03D228_вычислить_поворот_игрока_относительно_другого:
loc_0x03D228_вычислить_поворот_игрока_относительно_другого:
C - - - - - 0x03D236 0F:D226: 8A TXA
C - - - - - 0x03D237 0F:D227: 49 01 EOR #$01
C - - - - - 0x03D239 0F:D229: 29 01 AND #$01
C - - - - - 0x03D23B 0F:D22B: A8 TAY
C - - - - - 0x03D23C 0F:D22C: BD 40 04 LDA ram_obj_pos_X_lo,X ; 0440 0441 0444 0445
C - - - - - 0x03D23F 0F:D22F: D9 40 04 CMP ram_obj_pos_X_lo,Y ; 0440 0441
C - - - - - 0x03D242 0F:D232: A9 00 LDA #$00
C - - - - - 0x03D244 0F:D234: 6A ROR
C - - - - - 0x03D245 0F:D235: 6A ROR
C - - - - - 0x03D246 0F:D236: 85 00 STA ram_0000
C - - - - - 0x03D22B 0F:D21B: BD 10 05 LDA ram_obj_flip,X ; 0510 0511 0514 0515
C - - - - - 0x03D22E 0F:D21E: 29 BF AND #$40 ^ $FF
C - - - - - 0x03D230 0F:D220: 05 00 ORA ram_0000
C - - - - - 0x03D232 0F:D222: 9D 10 05 STA ram_obj_flip,X ; 0510 0511 0514 0515
C - - - - - 0x03D235 0F:D225: 60 RTS
loc_0x03D266_записать_A_и_FF_в_буфер:
C D 2 - - - 0x03D266 0F:D256: 20 5D D2 LDX ram_index_ppu_buffer
STA ram_ppu_buffer,X