Mercurial > hg > Members > kono > os9 > sbc09
comparison game09/game09.asm @ 73:ae26a881ac7a
GAME program stored
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 06 Aug 2018 17:07:06 +0900 |
parents | 3a2fb51afc4d |
children | c29030b5e4b4 |
comparison
equal
deleted
inserted
replaced
72:3a2fb51afc4d | 73:ae26a881ac7a |
---|---|
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 DP42 equ $42 | 23 DP42 equ $42 program copy pointer |
24 DP46 equ $46 | 24 DP46 equ $46 |
25 DP4A equ $4A | 25 DP4A equ $4A input lineno |
26 DP4B equ $4B | 26 DP4B equ $4B |
27 DP4E equ $4E | 27 DP4E equ $4E |
28 DP4F equ $4F | 28 DP4F equ $4F |
29 DP50 equ $50 | 29 DP50 equ $50 program top |
30 DP52 equ $52 | 30 DP52 equ $52 |
31 DP58 equ $58 | 31 DP58 equ $58 program max |
32 DP7E equ $7E | 32 DP7E equ $7E program current end |
33 DP82 equ $82 | 33 DP82 equ $82 |
34 DP83 equ $83 | 34 DP83 equ $83 |
35 DP84 equ $84 | 35 DP84 equ $84 |
36 DP86 equ $86 | 36 DP86 equ $86 input line (except lineno) |
37 DP88 equ $88 | 37 DP88 equ $88 |
38 DP8A equ $8A | 38 DP8A equ $8A |
39 DP8C equ $8C | 39 DP8C equ $8C |
40 DP8D equ $8D | 40 DP8D equ $8D |
41 DP8E equ $8E | 41 DP8E equ $8E |
42 DP94 equ $94 | 42 DP94 equ $94 |
43 DPWORK rmb 2 | 43 DPWORK rmb 2 $96 |
44 DPSTK rmb 2 | 44 DPSTK rmb 2 $98 |
45 | 45 |
46 linebuf rmb 256 | 46 lineb0 rmb 2 $9A |
47 program rmb 10000 | 47 linetop rmb 2 $9C |
48 lineb9a rmb 2 $9E | |
49 lineb9b rmb 2 $A0 | |
50 lineend rmb 2 $A2 | |
51 linebuf rmb 252 | |
52 program rmb $2000 | |
48 size equ . | 53 size equ . |
49 | 54 |
50 name fcs "Game09" | 55 name fcs "Game09" |
51 fcb edition | 56 fcb edition |
52 start * clrb | 57 start * clrb |
62 STX <$7E | 67 STX <$7E |
63 STX <$50 | 68 STX <$50 |
64 LDA #$FF | 69 LDA #$FF |
65 STA ,X | 70 STA ,X |
66 LC014 LDU <DPWORK | 71 LC014 LDU <DPWORK |
72 LEAX linebuf-1,U | |
73 STX <lineb0 | |
74 LEAX 1,X | |
75 STX <linetop | |
76 LEAX 5,X | |
77 STX <lineb9a | |
78 LEAX 1,X | |
79 STX <lineb9b | |
80 LEAX 255-6,X | |
81 STX <lineend | |
67 LEAX size,U | 82 LEAX size,U |
68 STX <$58 | 83 STX <$58 |
69 LC020 LDA #$FF | 84 LC020 LDA #$FF |
70 STA <$8C | 85 STA <$8C |
71 LC024 LDS <DPSTK | 86 LC024 LDS <DPSTK |
103 LC06D STX <$86 | 118 LC06D STX <$86 |
104 STD <$4A | 119 STD <$4A |
105 LDB ,X | 120 LDB ,X |
106 CMPB #$2F | 121 CMPB #$2F |
107 BNE LC0B1 | 122 BNE LC0B1 |
108 LC077 BSR LC09C | 123 LC077 BSR LC09C listing |
109 LC079 LBSR LC397 | 124 LC079 LBSR LC397 |
110 TST ,X | 125 TST ,X |
111 BMI LC024 | 126 BMI LC024 |
112 BSR LC087 | 127 BSR LC087 |
113 LBSR LC173 | 128 LBSR LC173 |
153 BEQ LC0DB | 168 BEQ LC0DB |
154 LEAX +$01,X | 169 LEAX +$01,X |
155 LEAY +$01,Y | 170 LEAY +$01,Y |
156 BRA LC0CD | 171 BRA LC0CD |
157 LC0DB STY <$50 | 172 LC0DB STY <$50 |
158 LC0DE LDX <$86 | 173 LC0DE LDX <$86 get program line length |
159 LDB #$03 | 174 LDB #$03 |
160 TST ,X+ | 175 TST ,X+ |
161 BEQ LC114 | 176 BEQ LC114 |
162 LC0E6 INCB | 177 LC0E6 INCB |
163 TST ,X+ | 178 TST ,X+ |
169 BCC LC117 | 184 BCC LC117 |
170 LDX <$50 | 185 LDX <$50 |
171 STY <$50 | 186 STY <$50 |
172 LEAX +$01,X | 187 LEAX +$01,X |
173 LEAY +$01,Y | 188 LEAY +$01,Y |
174 LC0FD LDB ,-X | 189 LC0FD LDB ,-X make insert space |
175 STB ,-Y | 190 STB ,-Y |
176 CMPX <$42 | 191 CMPX <$42 |
177 BNE LC0FD | 192 BNE LC0FD |
178 LDY <$4A | 193 LDY <$4A |
179 STY ,X++ | 194 STY ,X++ |
185 LC117 LBRA LC024 | 200 LC117 LBRA LC024 |
186 LC11A LDX <DPWORK | 201 LC11A LDX <DPWORK |
187 LEAX $8F,X | 202 LEAX $8F,X |
188 TST <$8C | 203 TST <$8C |
189 BNE LC124 | 204 BNE LC124 |
190 LEAX $95,X | 205 LDX <linetop |
191 LC124 LEAY <LC159,PCR | 206 LC124 LEAY <LC159,PCR |
192 LC127 PSHS X | 207 LC127 PSHS X |
193 LDX ,Y++ | 208 LDX ,Y++ |
194 PSHU X | 209 PSHU X |
195 LBSR LC335 | 210 LBSR LC335 |
813 LC5D2 ANDCC #$FE | 828 LC5D2 ANDCC #$FE |
814 RTS | 829 RTS |
815 LC5D5 LBSR LC397 | 830 LC5D5 LBSR LC397 |
816 LC5D8 LDB #$3A | 831 LC5D8 LDB #$3A |
817 LBSR LC64A | 832 LBSR LC64A |
818 LDX <DPWORK | 833 LDX <linetop |
819 LEAX $95,X | |
820 TST <$8C | 834 TST <$8C |
821 BNE LC5F2 | 835 BNE LC5F2 |
822 LDD <$88 | 836 LDD <$88 |
823 LBMI LC020 | 837 LBMI LC020 |
824 LBSR LC443 | 838 LBSR LC443 |
832 BCS LC5F2 | 846 BCS LC5F2 |
833 BEQ LC611 | 847 BEQ LC611 |
834 CMPB #$18 | 848 CMPB #$18 |
835 BEQ LC5D5 | 849 BEQ LC5D5 |
836 STB ,X+ | 850 STB ,X+ |
837 PSHS Y,D | 851 CMPX <lineend |
838 LDD <DPWORK | |
839 ADDD #$DF | |
840 LEAY $DF,Y | |
841 STY ,Y | |
842 CMPX ,S | |
843 PULS Y,D | |
844 BNE LC5F2 | 852 BNE LC5F2 |
845 LEAX -$01,X | 853 LEAX -$01,X |
846 LDB #$08 | 854 LDB #$08 |
847 BSR LC64A | 855 BSR LC64A |
848 BRA LC5F2 | 856 BRA LC5F2 |
849 LC611 TST <$8C | 857 LC611 TST <$8C |
850 BNE LC626 | 858 BNE LC626 |
851 LDY <DPWORK | 859 CMPX <lineb9b |
852 LEAY $9B,Y | |
853 PSHS Y | |
854 CMPX ,S++ | |
855 BEQ LC61F | 860 BEQ LC61F |
856 LEAY -1,Y | 861 CMPX <lineb9a |
857 PSHS Y | |
858 CMPX ,S++ | |
859 BCC LC626 | 862 BCC LC626 |
860 LC61F COM <$8C | 863 LC61F COM <$8C |
861 LBSR LC39B | 864 LBSR LC39B |
862 BRA LC5D8 | 865 BRA LC5D8 |
863 LC626 LDD <$88 | 866 LC626 LDD <$88 |
864 ADDD <$8A | 867 ADDD <$8A |
865 STD <$88 | 868 STD <$88 |
866 CLR ,X | 869 CLR ,X |
867 LDX <DPWORK | 870 LDX <linetop |
868 LEAX $95,X | |
869 LBRA LC39B | 871 LBRA LC39B |
870 LC634 LEAX -$01,X | 872 LC634 LEAX -$01,X |
871 LDY <DPWORK | 873 CMPX <lineb0 |
872 LEAY $94,Y | |
873 PSHS Y | |
874 CMPX ,S++ | |
875 BNE LC5F2 | 874 BNE LC5F2 |
876 STB <$8C | 875 STB <$8C |
877 LBRA LC5D8 | 876 LBRA LC5D8 |
878 LC63F | 877 LC63F |
879 FCB $D,$A | 878 FCB $D,$A |
986 PULS B,X,Y,PC | 985 PULS B,X,Y,PC |
987 SENSE PSHS X,Y | 986 SENSE PSHS X,Y |
988 LDA #0 | 987 LDA #0 |
989 LDB #SS.Ready | 988 LDB #SS.Ready |
990 OS9 i$GetStt | 989 OS9 i$GetStt |
990 CMPB #$F6 Not Ready | |
991 BNE RSENSE | |
992 CLRB | |
993 BRA RNSENSE | |
994 RSENSE | |
995 ORCC #1 set carry to indicate ready | |
996 RNSENSE | |
991 PULS X,Y,PC | 997 PULS X,Y,PC |
992 | 998 |
993 | 999 |
994 | 1000 |
995 * COMMAND TABLE CONSIST.... | 1001 * COMMAND TABLE CONSIST.... |