Mercurial > hg > Members > kono > os9 > sbc09
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 |