comparison game09/game09.asm @ 82:82d03e816deb

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 11 Aug 2018 14:04:54 +0900
parents 02120537b90d
children 348d062ee8de
comparison
equal deleted inserted replaced
81:92b729506212 82:82d03e816deb
18 18
19 org 0 19 org 0
20 dpage rmb $96 20 dpage rmb $96
21 21
22 DP00 equ $00 22 DP00 equ $00
23 DP04 equ $04 variabble base A-Z (until DP36) 23 VAROFS equ $04 variabble base 'A'-'Z' until $36
24 DP38 equ $38 variable end
24 DP42 equ $42 program copy pointer 25 DP42 equ $42 program copy pointer
25 DP46 equ $46 26 DP44 equ $44 variable 'a'-'z' until $76
26 DP4A equ $4A input lineno 27 DP48 equ $48 """
28 DP4A equ $4A "#" next line no
27 DP4B equ $4B 29 DP4B equ $4B
28 DP4E equ $4E 30 DP4E equ $4E "%"
29 DP4F equ $4F 31 DP4F equ $4F
30 DP50 equ $50 program top 32 DP50 equ $50 "&" program top
31 DP52 equ $52 33 DP52 equ $52
32 DP58 equ $58 program max 34 DP58 equ $58 program max
35 DP7C equ $7C "=" program current end
33 DP7E equ $7E program current end 36 DP7E equ $7E program current end
34 DP82 equ $82 37 DP82 equ $82 "@"
35 DP83 equ $83 38 DP83 equ $83
36 DP84 equ $84 39 DP84 equ $84
37 DP86 equ $86 input line (except lineno) 40 DP86 equ $86 input line (except lineno)
38 DP88 equ $88 41 DP88 equ $88
39 DP8A equ $8A 42 DP8A equ $8A
54 program rmb $2000 57 program rmb $2000
55 size equ . 58 size equ .
56 59
57 name fcs "Game09" 60 name fcs "Game09"
58 fcb edition 61 fcb edition
62 coldstart
59 start * clrb 63 start * clrb
60 * os9 F$Exit 64 * os9 F$Exit
61 LC000 BRA LC005 65 LC000 BRA LC005
62 LC002 NOP 66 LC002 NOP
63 LC003 BRA LC014 67 LC003 BRA warmst
64 LC005 TFR U,D 68 LC005 TFR U,D
65 TFR A,DP 69 TFR A,DP
66 STU <DPWORK 70 STU <DPWORK
67 STS <DPSTK 71 STS <DPSTK
68 LEAX program,U 72 LEAX program,U
69 STX <$7E 73 STX <$7E
70 STX <$50 74 STX <$50
71 LDA #$FF 75 LDA #$FF
72 STA ,X 76 STA ,X
73 LC014 LDU <DPWORK 77 warmst LDU <DPWORK
74 LEAX DP04,U 78 LEAX VAROFS,U
75 STX <DP04 79 STX <VAROFS
76 LEAX linebuf-1,U 80 LEAX linebuf-1,U
77 STX <lineb0 81 STX <lineb0
78 LEAX 1,X 82 LEAX 1,X
79 STX <linetop 83 STX <linetop
80 LEAX 5,X 84 LEAX 5,X
85 STX <lineend 89 STX <lineend
86 LEAX size,U 90 LEAX size,U
87 STX <$58 91 STX <$58
88 LC020 LDA #$FF 92 LC020 LDA #$FF
89 STA <$8C 93 STA <$8C
90 LC024 LDS <DPSTK 94 GAMETP LDS <DPSTK
91 LDU <DPWORK 95 LDU <DPWORK
92 LEAU linebuf,U user stack 96 LEAU linebuf,U user stack
93 LEAX >LC63F,PCR 97 LEAX >PRMPT,PCR
94 LBSR LC165 98 LBSR LPRNT
95 LC032 LBSR LC370 99 LC032 LBSR GETCLN
96 BCS LC06D 100 BCS LC06D
97 STX <$42 101 STX <$42
98 LBSR LC1D3 102 LBSR LC1D3
99 BEQ LC024 103 BEQ GAMETP
100 LC03E BSR LC09C 104 LC03E BSR LC09C
101 LC040 BMI LC024 105 LC040 BMI GAMETP
102 STX <$42 106 STX <$42
103 LC044 LEAX +$02,X 107 LC044 LEAX +$02,X
104 LDA ,X+ 108 LDA ,X+
105 CMPA #$20 109 CMPA #$20
106 BNE LC05B 110 BNE LC05B
113 LC05B BSR LC0A8 117 LC05B BSR LC0A8
114 BRA LC040 118 BRA LC040
115 LC05F LDX <$42 119 LC05F LDX <$42
116 STX <$84 120 STX <$84
117 BSR LC0A0 121 BSR LC0A0
118 BMI LC024 122 BMI GAMETP
119 CMPX <$84 123 CMPX <$84
120 BEQ LC03E 124 BEQ LC03E
121 BRA LC044 125 BRA LC044
122 LC06D STX <$86 126 LC06D STX <$86
123 STD <$4A 127 STD <$4A
125 CMPB #$2F 129 CMPB #$2F
126 BNE LC0B1 130 BNE LC0B1
127 LC077 BSR LC09C listing 131 LC077 BSR LC09C listing
128 LC079 LBSR LC397 132 LC079 LBSR LC397
129 TST ,X 133 TST ,X
130 BMI LC024 134 BMI GAMETP
131 BSR LC087 135 BSR LC087
132 LBSR LC173 136 LBSR LC173
133 BRA LC079 137 BRA LC079
134 LC087 LDD ,X++ 138 LC087 LDD ,X++
135 PSHS X 139 PSHS X
136 LBSR LC443 140 LBSR LC443
137 PULS X 141 PULS X
138 LBRA LC165 142 LBRA LPRNT
139 LC093 LDX <$42 143 LC093 LDX <$42
140 LEAX +$02,X 144 LEAX +$02,X
141 LC097 TST ,X+ 145 LC097 TST ,X+
142 BNE LC097 146 BNE LC097
143 RTS 147 RTS
199 LDY <$86 203 LDY <$86
200 LC10E LDB ,Y+ 204 LC10E LDB ,Y+
201 STB ,X+ 205 STB ,X+
202 BNE LC10E 206 BNE LC10E
203 LC114 LBRA LC032 207 LC114 LBRA LC032
204 LC117 LBRA LC024 208 LC117 LBRA GAMETP
205 LC11A LDX <DPWORK 209 LC11A LDX <DPWORK
206 LEAX $8F,X 210 LEAX $8F,X
207 TST <$8C 211 TST <$8C
208 BNE LC124 212 BNE LC124
209 LDX <linetop 213 LDX <linetop
238 FDB 1000 242 FDB 1000
239 FDB 100 243 FDB 100
240 FDB 10 244 FDB 10
241 FDB 1 245 FDB 1
242 FDB 0 246 FDB 0
243 LC165 CLRA 247 LPRNT CLRA
244 LC166 STA <$94 248 LC166 STA <$94
245 LC168 LDB ,X+ 249 LC168 LDB ,X+
246 CMPB <$94 250 CMPB <$94
247 BEQ LC158 251 BEQ LC158
248 LBSR LC412 252 LBSR LC412
249 BRA LC168 253 BRA LC168
250 LC173 LBSR LC650 254 LC173 LBSR LC650
251 LBCS LC024 255 LBCS GAMETP
252 RTS 256 RTS
253 LC17B CMPA #$20 257 LC17B CMPA #$20
254 BEQ LC1D1 258 BEQ LC1D1
255 CLR <$4A 259 CLR <$4A
256 CLR <$4B 260 CLR <$4B
308 LC1EC LDA ,X+ 312 LC1EC LDA ,X+
309 BITA #$DF 313 BITA #$DF
310 BEQ LC1E7 314 BEQ LC1E7
311 CMPA #$3D 315 CMPA #$3D
312 BNE LC1EC 316 BNE LC1EC
313 LC1F6 LBSR LC521 317 LC1F6 LBSR EXPR
314 LC1F9 PSHS B 318 LC1F9 PSHS B
315 LDB ,X 319 LDB ,X
316 BITB #$DF 320 BITB #$DF
317 BEQ LC210 321 BEQ LC210
318 CMPB #$29 322 CMPB #$29
328 PULS PC,B 332 PULS PC,B
329 LC218 CMPB #$3F 333 LC218 CMPB #$3F
330 BNE LC22E 334 BNE LC22E
331 PSHS X 335 PSHS X
332 STB <$8C 336 STB <$8C
333 LBSR LC5D8 337 LBSR GETLIN
334 BSR LC1F6 338 BSR LC1F6
335 PULS X 339 PULS X
336 LEAX +$01,X 340 LEAX +$01,X
337 RTS 341 RTS
338 LC22A LEAX +$01,X 342 LC22A LEAX +$01,X
371 fdb LC529-LC251 02d8 - 375 fdb LC529-LC251 02d8 -
372 376
373 LC269 BSR LC279 377 LC269 BSR LC279
374 LEAY D,Y 378 LEAY D,Y
375 RTS 379 RTS
376 LC26E CMPA #$28 380 LC26E CMPA #$28 A(I) pointer of word array
377 BNE LC292 381 BNE LC292
378 BSR LC279 382 BSR LC279
379 LSLB 383 LSLB
380 ROLA 384 ROLA
381 LEAY D,Y 385 LEAY D,Y
394 RTS 398 RTS
395 399
396 LC292 ANDB #$3F 400 LC292 ANDB #$3F
397 CLRA 401 CLRA
398 LSLB 402 LSLB
399 ADDD <DP04 403 ADDD <VAROFS
400 TFR D,Y 404 TFR D,Y
401 RTS 405 RTS
402 LC29C PSHU B,A 406 LC29C PSHU B,A
403 LDD ,X+ 407 LDD ,X+
404 PSHS B,A 408 PSHS B,A
405 SUBB #$3D 409 SUBB #$3D
406 BEQ LC2A9 410 BEQ LC2A9
407 DECB 411 DECB
408 BNE LC2AB 412 BNE LC2AB
409 LC2A9 LEAX +$01,X 413 LC2A9 LEAX +$01,X
410 LC2AB LBSR LC521 414 LC2AB LBSR EXPR
411 PULU Y 415 PULU Y
412 EXG D,Y 416 EXG D,Y
413 PSHU Y,B,A 417 PSHU Y,B,A
414 PULS B,A 418 PULS B,A
415 CMPA #$3D 419 CMPA #$3D
514 BCS LC36D 518 BCS LC36D
515 CMPB #$3A 519 CMPB #$3A
516 RTS 520 RTS
517 LC36D ANDCC #$FE 521 LC36D ANDCC #$FE
518 RTS 522 RTS
519 LC370 LBSR LC5D8 523 GETCLN LBSR GETLIN
520 LC373 BSR LC364 524 LC373 BSR LC364
521 BCC LC396 525 BCC LC396
522 CLRA 526 CLRA
523 CLRB 527 CLRB
524 LC379 ADDB ,X+ 528 LC379 ADDB ,X+
600 PSHU Y,X 604 PSHU Y,X
601 LC40B RTS 605 LC40B RTS
602 LC40C CMPB #$24 606 LC40C CMPB #$24
603 BNE LC415 607 BNE LC415
604 PULS B,A 608 PULS B,A
605 LC412 LBRA LC64A 609 LC412 LBRA OUTC1
606 LC415 CMPB #$3F 610 LC415 CMPB #$3F
607 BNE LC449 611 BNE LC449
608 LDB +$01,X 612 LDB +$01,X
609 CMPB #$28 613 CMPB #$28
610 LBNE LC56E 614 LBNE LC56E
613 PULS B,A 617 PULS B,A
614 BSR LC433 618 BSR LC433
615 ADDA <$8E 619 ADDA <$8E
616 BMI LC430 620 BMI LC430
617 BSR LC3B1 621 BSR LC3B1
618 LC430 LBRA LC165 622 LC430 LBRA LPRNT
619 LC433 TSTA 623 LC433 TSTA
620 LBPL LC11A 624 LBPL LC11A
621 LBSR LC4F3 625 LBSR LC4F3
622 LBSR LC11A 626 LBSR LC11A
623 LDB #$2D 627 LDB #$2D
632 STD <$7E 636 STD <$7E
633 LDX #$FFFF 637 LDX #$FFFF
634 STX <$4A 638 STX <$4A
635 LBSR LC09C 639 LBSR LC09C
636 STX <$50 640 STX <$50
637 LBRA LC024 641 LBRA GAMETP
638 LC45E PULS PC,B,A 642 LC45E PULS PC,B,A
639 LC460 CMPB #$3E 643 LC460 CMPB #$3E
640 BNE LC46C 644 BNE LC46C
641 LDD ,S 645 LDD ,S
642 BEQ LC45E 646 BEQ LC45E
722 LBSR LC412 726 LBSR LC412
723 LDX <$42 727 LDX <$42
724 STY ,S 728 STY ,S
725 CMPX <linetop 729 CMPX <linetop
726 BNE LC519 730 BNE LC519
727 LBSR LC165 731 LBSR LPRNT
728 BRA LC51C 732 BRA LC51C
729 LC519 LBSR LC087 733 LC519 LBSR LC087
730 LC51C LBRA LC024 734 LC51C LBRA GAMETP
731 LC51F LEAX +$01,X 735 LC51F LEAX +$01,X
732 LC521 LBSR LC373 736 EXPR LBSR LC373
733 BCS LC532 737 BCS LC532
734 LBRA LC23F 738 LBRA LC23F
735 LC529 BSR LC51F - 739 LC529 BSR LC51F -
736 BRA LC4F3 740 BRA LC4F3
737 LC52D BSR LC51F + 741 LC52D BSR LC51F +
772 BEQ LC57E 776 BEQ LC57E
773 CMPB #$24 777 CMPB #$24
774 BEQ LC582 778 BEQ LC582
775 PULS B,A 779 PULS B,A
776 LBSR LC433 780 LBSR LC433
777 LBRA LC165 781 LBRA LPRNT
778 LC57E LDB ,S 782 LC57E LDB ,S
779 BSR LC584 783 BSR LC584
780 LC582 PULS B,A 784 LC582 PULS B,A
781 LC584 TFR B,A 785 LC584 TFR B,A
782 BSR LC58E 786 BSR LC58E
792 ADDB #$07 796 ADDB #$07
793 LC598 ADDB #$30 797 LC598 ADDB #$30
794 LBRA LC412 798 LBRA LC412
795 LC5A1 CLRA 799 LC5A1 CLRA
796 BSR LC5BD 800 BSR LC5BD
797 LBCC LC64D 801 LBCC GETC1
798 LC5A4 PSHS B 802 LC5A4 PSHS B
799 BSR LC5BD 803 BSR LC5BD
800 PSHU B 804 PSHU B
801 PULS B 805 PULS B
802 BCC LC5BA 806 BCC LC5BA
824 CMPB #$10 828 CMPB #$10
825 LC5D1 RTS 829 LC5D1 RTS
826 LC5D2 ANDCC #$FE 830 LC5D2 ANDCC #$FE
827 RTS 831 RTS
828 LC5D5 LBSR LC397 832 LC5D5 LBSR LC397
829 LC5D8 LDB #$3A 833 GETLIN LDB #$3A
830 LBSR LC64A 834 LBSR OUTC1
831 LDX <linetop 835 LDX <linetop
832 TST <$8C 836 TST <$8C
833 BNE LC5F2 837 BNE LC5F2
834 LDD <$88 838 LDD <$88
835 LBMI LC020 839 LBMI LC020
836 LBSR LC443 840 LBSR LC443
837 LDB #$20 841 LDB #$20
838 STB -$01,X 842 STB -$01,X
839 BSR LC64A 843 BSR OUTC1
840 LC5F2 BSR LC64D 844 LC5F2 BSR GETC1
841 CMPB #$08 845 CMPB #$08
842 BEQ LC634 846 BEQ LC634
843 CMPB #$0D 847 CMPB #$0D
844 BCS LC5F2 848 BCS LC5F2
845 BEQ LC611 849 BEQ LC611
848 STB ,X+ 852 STB ,X+
849 CMPX <lineend 853 CMPX <lineend
850 BNE LC5F2 854 BNE LC5F2
851 LEAX -$01,X 855 LEAX -$01,X
852 LDB #$08 856 LDB #$08
853 BSR LC64A 857 BSR OUTC1
854 BRA LC5F2 858 BRA LC5F2
855 LC611 TST <$8C 859 LC611 TST <$8C
856 BNE LC626 860 BNE LC626
857 CMPX <lineb9b 861 CMPX <lineb9b
858 BEQ LC61F 862 BEQ LC61F
859 CMPX <lineb9a 863 CMPX <lineb9a
860 BCC LC626 864 BCC LC626
861 LC61F COM <$8C 865 LC61F COM <$8C
862 LBSR LC39B 866 LBSR LC39B
863 BRA LC5D8 867 BRA GETLIN
864 LC626 LDD <$88 868 LC626 LDD <$88
865 ADDD <$8A 869 ADDD <$8A
866 STD <$88 870 STD <$88
867 CLR ,X 871 CLR ,X
868 LDX <linetop 872 LDX <linetop
869 LBRA LC39B 873 LBRA LC39B
870 LC634 LEAX -$01,X 874 LC634 LEAX -$01,X
871 CMPX <lineb0 875 CMPX <lineb0
872 BNE LC5F2 876 BNE LC5F2
873 STB <$8C 877 STB <$8C
874 LBRA LC5D8 878 LBRA GETLIN
875 LC63F 879 PRMPT
876 FCB $D,$A 880 FCB $D,$A
877 FCC "*READY" 881 FCC "*READY"
878 FCB $D,$A,0 882 FCB $D,$A,0
879 883
880 LC64A LBRA OUTCH 884 OUTC1 LBRA OUTCH
881 LC64D LBRA GETCH 885 GETC1 LBRA GETCH
882 LC650 LBRA SENSE 886 LC650 LBRA SENSE
883 887
884 LC653 CMPA #$2E EXBOP 888 LC653 CMPA #$2E EXBOP
885 BNE LC65E 889 BNE LC65E
886 PULU B,A 890 PULU B,A
937 TFR D,X 941 TFR D,X
938 PULS Y,A 942 PULS Y,A
939 LC6C3 LDD ,Y 943 LC6C3 LDD ,Y
940 JSR D,Y 944 JSR D,Y
941 PULS PC,U,X 945 PULS PC,U,X
942 LC6C9 LBSR LC521 946 LC6C9 LBSR EXPR
943 LC6CC PSHS B 947 LC6CC PSHS B
944 LDB ,X 948 LDB ,X
945 BITB #$DF 949 BITB #$DF
946 BEQ LC6E5 950 BEQ LC6E5
947 CMPB #$2C 951 CMPB #$2C