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....