mirror of
https://github.com/Pecusx/dino-game.git
synced 2026-05-20 22:33:23 +02:00
Inputs test
This commit is contained in:
@@ -92,6 +92,7 @@ FirstSTART
|
||||
EndLoop
|
||||
jsr WorldShift
|
||||
jsr WorldToScreen
|
||||
jsr CheckJoy
|
||||
ldx #5 ; position
|
||||
lda DinoState
|
||||
ora DinoWalkPhase ; shape
|
||||
@@ -319,6 +320,26 @@ DinoLoop
|
||||
rts
|
||||
.endp
|
||||
;-----------------------------------------------
|
||||
.proc CheckJoy
|
||||
lda STICK0
|
||||
and #%00000010 ; down
|
||||
beq Down
|
||||
lda STICK0
|
||||
and #%00000001 ; up
|
||||
beq Up
|
||||
; no change state (temporary set to 0)
|
||||
lda #0
|
||||
sta DinoState
|
||||
rts
|
||||
Up lda #4
|
||||
sta DinoState
|
||||
rts
|
||||
Down
|
||||
lda #2
|
||||
sta DinoState
|
||||
rts
|
||||
.endp
|
||||
;-----------------------------------------------
|
||||
.proc SetStart
|
||||
jsr ClearWorld
|
||||
lda #0
|
||||
|
||||
@@ -597,53 +597,56 @@ FFFD 0000 @KBCODE
|
||||
00 3825 WORLDTABLE
|
||||
00 3865 FIRSTSTART
|
||||
00 38AA ENDLOOP
|
||||
00 3924 GENERATECHARSETS
|
||||
00 3926 GENERATECHARSETS.COPYLOOP
|
||||
00 394E CLEARWORLD
|
||||
00 3952 CLEARWORLD.0@
|
||||
00 3959 CLEARSCREEN
|
||||
00 395D CLEARSCREEN.CLEARLOOP
|
||||
00 3970 WORLDTOSCREEN
|
||||
00 3977 WORLDTOSCREEN.TOSCREENLOOP
|
||||
00 3980 WORLDTOSCREEN.NOTHINGTODRAW
|
||||
00 3989 WORLDSHIFT
|
||||
00 398B WORLDSHIFT.SHIFT
|
||||
00 39A5 WORLDSHIFT.1@
|
||||
00 39AF WORLDSHIFT.INSERTOBJECT
|
||||
00 39C3 WORLDSHIFT.NOINSERT
|
||||
00 39C4 ANIMATEBIRDS
|
||||
00 39C6 ANIMATEBIRDS.2@
|
||||
00 39D8 ANIMATEBIRDS.NOBIRD
|
||||
00 39E2 SHOWOBJECT
|
||||
00 39EE SHOWOBJECT.OBJECTLOOP
|
||||
00 39F5 SHOWOBJECT.3@
|
||||
00 3A07 SHOWOBJECT.4@
|
||||
00 3A19 SHOWOBJECT.5@
|
||||
00 3A2B SHOWOBJECT.6@
|
||||
00 3A3D SHOWDINO
|
||||
00 3A49 SHOWDINO.DINOLOOP
|
||||
00 3A50 SHOWDINO.7@
|
||||
00 3A62 SHOWDINO.8@
|
||||
00 3A74 SHOWDINO.9@
|
||||
00 3A86 SHOWDINO.10@
|
||||
00 3A98 SETSTART
|
||||
00 3AA4 SETGAMESCREEN
|
||||
00 3AB9 DINO_RUN_0
|
||||
00 3ACD DINO_RUN_1
|
||||
00 3AE1 DINO_RUN_2
|
||||
00 3AF5 DINO_CROUCH_1
|
||||
00 3B09 DINO_CROUCH_2
|
||||
00 3B1D DINOSHAPESTABLEL
|
||||
00 3B22 DINOSHAPESTABLEH
|
||||
00 3B27 GROUND_0
|
||||
00 3B2F BIRD_0
|
||||
00 3B37 BIRD_1
|
||||
00 3B3F BIRD_2
|
||||
00 3B47 BIRD_0A
|
||||
00 3B4F BIRD_1A
|
||||
00 3B57 BIRD_2A
|
||||
00 3B5F CACTUS_0
|
||||
00 3B67 SHAPESTABLEL
|
||||
00 3B70 SHAPESTABLEH
|
||||
00 3B79 DIFF_OBJECT_GAP
|
||||
00 3B89 DIFF_LEVEL
|
||||
00 3927 GENERATECHARSETS
|
||||
00 3929 GENERATECHARSETS.COPYLOOP
|
||||
00 3951 CLEARWORLD
|
||||
00 3955 CLEARWORLD.0@
|
||||
00 395C CLEARSCREEN
|
||||
00 3960 CLEARSCREEN.CLEARLOOP
|
||||
00 3973 WORLDTOSCREEN
|
||||
00 397A WORLDTOSCREEN.TOSCREENLOOP
|
||||
00 3983 WORLDTOSCREEN.NOTHINGTODRAW
|
||||
00 398C WORLDSHIFT
|
||||
00 398E WORLDSHIFT.SHIFT
|
||||
00 39A8 WORLDSHIFT.1@
|
||||
00 39B2 WORLDSHIFT.INSERTOBJECT
|
||||
00 39C6 WORLDSHIFT.NOINSERT
|
||||
00 39C7 ANIMATEBIRDS
|
||||
00 39C9 ANIMATEBIRDS.2@
|
||||
00 39DB ANIMATEBIRDS.NOBIRD
|
||||
00 39E5 SHOWOBJECT
|
||||
00 39F1 SHOWOBJECT.OBJECTLOOP
|
||||
00 39F8 SHOWOBJECT.3@
|
||||
00 3A0A SHOWOBJECT.4@
|
||||
00 3A1C SHOWOBJECT.5@
|
||||
00 3A2E SHOWOBJECT.6@
|
||||
00 3A40 SHOWDINO
|
||||
00 3A4C SHOWDINO.DINOLOOP
|
||||
00 3A53 SHOWDINO.7@
|
||||
00 3A65 SHOWDINO.8@
|
||||
00 3A77 SHOWDINO.9@
|
||||
00 3A89 SHOWDINO.10@
|
||||
00 3A9B CHECKJOY
|
||||
00 3AAE CHECKJOY.UP
|
||||
00 3AB3 CHECKJOY.DOWN
|
||||
00 3AB8 SETSTART
|
||||
00 3AC4 SETGAMESCREEN
|
||||
00 3AD9 DINO_RUN_0
|
||||
00 3AED DINO_RUN_1
|
||||
00 3B01 DINO_RUN_2
|
||||
00 3B15 DINO_CROUCH_1
|
||||
00 3B29 DINO_CROUCH_2
|
||||
00 3B3D DINOSHAPESTABLEL
|
||||
00 3B42 DINOSHAPESTABLEH
|
||||
00 3B47 GROUND_0
|
||||
00 3B4F BIRD_0
|
||||
00 3B57 BIRD_1
|
||||
00 3B5F BIRD_2
|
||||
00 3B67 BIRD_0A
|
||||
00 3B6F BIRD_1A
|
||||
00 3B77 BIRD_2A
|
||||
00 3B7F CACTUS_0
|
||||
00 3B87 SHAPESTABLEL
|
||||
00 3B90 SHAPESTABLEH
|
||||
00 3B99 DIFF_OBJECT_GAP
|
||||
00 3BA9 DIFF_LEVEL
|
||||
|
||||
@@ -970,7 +970,7 @@ Source: dino.asm
|
||||
45 = 3000 .ds $100*SCR_HEIGHT
|
||||
46 ; display list
|
||||
47 3800 GameDL
|
||||
48 3800-3B88> 70 70 70 70 + :10 .byte SKIP8 ; empty lines
|
||||
48 3800-3BA8> 70 70 70 70 + :10 .byte SKIP8 ; empty lines
|
||||
49
|
||||
50 .rept SCR_HEIGHT, #
|
||||
51 .BYTE MODE2+LMS+SCH
|
||||
@@ -1011,10 +1011,10 @@ Source: dino.asm
|
||||
60 3825 00 00 00 00 00 00 + :WORLD_LENGTH .byte 0 ; ground
|
||||
61 ;---------------------------------------------------
|
||||
62 3865 FirstSTART
|
||||
63 3865 20 24 39 jsr GenerateCharsets
|
||||
64 3868 20 98 3A jsr SetStart
|
||||
65 386B 20 A4 3A jsr SetGameScreen
|
||||
66 386E A9 00 8D 89 3B mva #0 diff_level
|
||||
63 3865 20 27 39 jsr GenerateCharsets
|
||||
64 3868 20 B8 3A jsr SetStart
|
||||
65 386B 20 C4 3A jsr SetGameScreen
|
||||
66 386E A9 00 8D A9 3B mva #0 diff_level
|
||||
67
|
||||
68 ; test only (some object in the world)
|
||||
69 3873 A9 01 lda #1 ;bird0
|
||||
@@ -1026,427 +1026,448 @@ Source: dino.asm
|
||||
75 ;
|
||||
76 3882 A2 05 ldx #5 ; position
|
||||
77 3884 A0 00 ldy #0 ; shape
|
||||
78 3886 20 3D 3A jsr ShowDino
|
||||
78 3886 20 40 3A jsr ShowDino
|
||||
79 3889 A2 0A ldx #10 ; position
|
||||
80 388B A0 01 ldy #1 ; shape
|
||||
81 388D 20 3D 3A jsr ShowDino
|
||||
81 388D 20 40 3A jsr ShowDino
|
||||
82 3890 A2 0F ldx #15 ; position
|
||||
83 3892 A0 02 ldy #2 ; shape
|
||||
84 3894 20 3D 3A jsr ShowDino
|
||||
84 3894 20 40 3A jsr ShowDino
|
||||
85 3897 A2 14 ldx #20 ; position
|
||||
86 3899 A0 03 ldy #3 ; shape
|
||||
87 389B 20 3D 3A jsr ShowDino
|
||||
87 389B 20 40 3A jsr ShowDino
|
||||
88 389E A2 19 ldx #25 ; position
|
||||
89 38A0 A0 04 ldy #4 ; shape
|
||||
90 38A2 20 3D 3A jsr ShowDino
|
||||
90 38A2 20 40 3A jsr ShowDino
|
||||
91 38A5 A9 50 8D 20 37 mva #$50 screen+$700+32
|
||||
92 38AA EndLoop
|
||||
93 38AA 20 89 39 jsr WorldShift
|
||||
94 38AD 20 70 39 jsr WorldToScreen
|
||||
95 38B0 A2 05 ldx #5 ; position
|
||||
96 38B2 A5 84 lda DinoState
|
||||
97 38B4 05 83 ora DinoWalkPhase ; shape
|
||||
98 38B6 A8 tay
|
||||
99 38B7 20 3D 3A jsr ShowDino
|
||||
100 38BA waitRTC ; or waitRTC ?
|
||||
93 38AA 20 8C 39 jsr WorldShift
|
||||
94 38AD 20 73 39 jsr WorldToScreen
|
||||
95 38B0 20 9B 3A jsr CheckJoy
|
||||
96 38B3 A2 05 ldx #5 ; position
|
||||
97 38B5 A5 84 lda DinoState
|
||||
98 38B7 05 83 ora DinoWalkPhase ; shape
|
||||
99 38B9 A8 tay
|
||||
100 38BA 20 40 3A jsr ShowDino
|
||||
101 38BD waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 38BA A5 14 lda RTCLOK+2
|
||||
2 38BC C5 14 ?wa cmp RTCLOK+2
|
||||
3 38BE F0 FC beq ?wa
|
||||
1 38BD A5 14 lda RTCLOK+2
|
||||
2 38BF C5 14 ?wa cmp RTCLOK+2
|
||||
3 38C1 F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
101 ;key
|
||||
102 38C0 A9 24 8D F4 02 mva #>font2 chbas
|
||||
103 38C5 waitRTC ; or waitRTC ?
|
||||
102 ;key
|
||||
103 38C3 A9 24 8D F4 02 mva #>font2 chbas
|
||||
104 38C8 waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 38C5 A5 14 lda RTCLOK+2
|
||||
2 38C7 C5 14 ?wa cmp RTCLOK+2
|
||||
3 38C9 F0 FC beq ?wa
|
||||
1 38C8 A5 14 lda RTCLOK+2
|
||||
2 38CA C5 14 ?wa cmp RTCLOK+2
|
||||
3 38CC F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
104 38CB A9 03 8D 04 D4 mva #3 hscrol
|
||||
105 38D0 waitRTC ; or waitRTC ?
|
||||
105 38CE A9 03 8D 04 D4 mva #3 hscrol
|
||||
106 38D3 waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 38D0 A5 14 lda RTCLOK+2
|
||||
2 38D2 C5 14 ?wa cmp RTCLOK+2
|
||||
3 38D4 F0 FC beq ?wa
|
||||
1 38D3 A5 14 lda RTCLOK+2
|
||||
2 38D5 C5 14 ?wa cmp RTCLOK+2
|
||||
3 38D7 F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
106 ;key
|
||||
107 38D6 A9 28 8D F4 02 mva #>font3 chbas
|
||||
108 38DB waitRTC ; or waitRTC ?
|
||||
107 ;key
|
||||
108 38D9 A9 28 8D F4 02 mva #>font3 chbas
|
||||
109 38DE waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 38DB A5 14 lda RTCLOK+2
|
||||
2 38DD C5 14 ?wa cmp RTCLOK+2
|
||||
3 38DF F0 FC beq ?wa
|
||||
1 38DE A5 14 lda RTCLOK+2
|
||||
2 38E0 C5 14 ?wa cmp RTCLOK+2
|
||||
3 38E2 F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
109 38E1 A9 02 8D 04 D4 mva #2 hscrol
|
||||
110 38E6 waitRTC ; or waitRTC ?
|
||||
110 38E4 A9 02 8D 04 D4 mva #2 hscrol
|
||||
111 38E9 waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 38E6 A5 14 lda RTCLOK+2
|
||||
2 38E8 C5 14 ?wa cmp RTCLOK+2
|
||||
3 38EA F0 FC beq ?wa
|
||||
1 38E9 A5 14 lda RTCLOK+2
|
||||
2 38EB C5 14 ?wa cmp RTCLOK+2
|
||||
3 38ED F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
111 ;key
|
||||
112 38EC A9 2C 8D F4 02 mva #>font4 chbas
|
||||
113 38F1 waitRTC ; or waitRTC ?
|
||||
112 ;key
|
||||
113 38EF A9 2C 8D F4 02 mva #>font4 chbas
|
||||
114 38F4 waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 38F1 A5 14 lda RTCLOK+2
|
||||
2 38F3 C5 14 ?wa cmp RTCLOK+2
|
||||
3 38F5 F0 FC beq ?wa
|
||||
1 38F4 A5 14 lda RTCLOK+2
|
||||
2 38F6 C5 14 ?wa cmp RTCLOK+2
|
||||
3 38F8 F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
114 38F7 A9 01 8D 04 D4 mva #1 hscrol
|
||||
115 38FC waitRTC ; or waitRTC ?
|
||||
115 38FA A9 01 8D 04 D4 mva #1 hscrol
|
||||
116 38FF waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 38FC A5 14 lda RTCLOK+2
|
||||
2 38FE C5 14 ?wa cmp RTCLOK+2
|
||||
3 3900 F0 FC beq ?wa
|
||||
1 38FF A5 14 lda RTCLOK+2
|
||||
2 3901 C5 14 ?wa cmp RTCLOK+2
|
||||
3 3903 F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
116 ;key
|
||||
117 3902 20 C4 39 jsr AnimateBirds
|
||||
118 3905 A9 20 8D F4 02 mva #>font1 chbas
|
||||
119 390A waitRTC ; or waitRTC ?
|
||||
117 ;key
|
||||
118 3905 20 C7 39 jsr AnimateBirds
|
||||
119 3908 A9 20 8D F4 02 mva #>font1 chbas
|
||||
120 390D waitRTC ; or waitRTC ?
|
||||
Macro: WAITRTC [Source: MACRO.ASM]
|
||||
1 390A A5 14 lda RTCLOK+2
|
||||
2 390C C5 14 ?wa cmp RTCLOK+2
|
||||
3 390E F0 FC beq ?wa
|
||||
1 390D A5 14 lda RTCLOK+2
|
||||
2 390F C5 14 ?wa cmp RTCLOK+2
|
||||
3 3911 F0 FC beq ?wa
|
||||
Source: dino.asm
|
||||
120 3910 A9 04 8D 04 D4 mva #4 hscrol
|
||||
121 3915 4C AA 38 jmp EndLoop
|
||||
122 3918 halt
|
||||
121 3913 A9 04 8D 04 D4 mva #4 hscrol
|
||||
122 3918 4C AA 38 jmp EndLoop
|
||||
123 391B halt
|
||||
Macro: HALT [Source: MACRO.ASM]
|
||||
1 3918 ?stop
|
||||
2 3918 AD 0A D2 lda RANDOM
|
||||
3 391B 29 05 and #$05
|
||||
4 391D 8D 1A D0 sta COLBAK
|
||||
5 3920 4C 18 39 jmp ?stop
|
||||
1 391B ?stop
|
||||
2 391B AD 0A D2 lda RANDOM
|
||||
3 391E 29 05 and #$05
|
||||
4 3920 8D 1A D0 sta COLBAK
|
||||
5 3923 4C 1B 39 jmp ?stop
|
||||
Source: dino.asm
|
||||
123 3923 60 rts
|
||||
124
|
||||
125 ;-----------------------------------------------
|
||||
126 ; Generation of character sets 2,3 and 4 of 1
|
||||
127 ; By copying and horizontal shift dino
|
||||
128 ;-----------------------------------------------
|
||||
129 3924 .proc GenerateCharsets
|
||||
130 ; copy charset 1 to 2,3 and 4 (but not dino chars)
|
||||
131 3924 A0 00 ldy #0
|
||||
132 3926 CopyLoop
|
||||
133 3926 B9 00 20 lda font1,y
|
||||
134 3929 99 00 24 sta font2,y
|
||||
135 392C 99 00 28 sta font3,y
|
||||
136 392F 99 00 2C sta font4,y
|
||||
137 3932 B9 00 22 lda font1+$200,y
|
||||
138 3935 99 00 26 sta font2+$200,y
|
||||
139 3938 99 00 2A sta font3+$200,y
|
||||
140 393B 99 00 2E sta font4+$200,y
|
||||
141 393E B9 00 23 lda font1+$300,y
|
||||
142 3941 99 00 27 sta font2+$300,y
|
||||
143 3944 99 00 2B sta font3+$300,y
|
||||
144 3947 99 00 2F sta font4+$300,y
|
||||
145 394A C8 iny
|
||||
146 394B D0 D9 bne CopyLoop
|
||||
147
|
||||
148 394D 60 rts
|
||||
149 .endp
|
||||
150 ;-----------------------------------------------
|
||||
151 394E .proc ClearWorld
|
||||
152 394E A0 3F ldy #WORLD_LENGTH-1 ; world size
|
||||
153 3950 A9 00 lda #0 ; ground
|
||||
154 3952 99 25 38 @ sta WorldTable,y
|
||||
155 3955 88 dey
|
||||
156 3956 10 FA bpl @-
|
||||
157 3958 60 rts
|
||||
158 .endp
|
||||
159 3959 .proc ClearScreen
|
||||
160 3959 A0 40 ldy #WORLD_LENGTH ; TODO: shouldn't be -1?
|
||||
161 395B A9 00 lda #0
|
||||
162 395D ClearLoop
|
||||
163 395D 99 00 37 sta screen+$700,y
|
||||
164 3960 99 00 36 sta screen+$600,y
|
||||
165 3963 99 00 35 sta screen+$500,y
|
||||
166 3966 99 00 34 sta screen+$400,y
|
||||
167 3969 99 00 33 sta screen+$300,y
|
||||
168 396C 88 dey
|
||||
169 396D 10 EE bpl ClearLoop
|
||||
170 396F 60 rts
|
||||
171 .endp
|
||||
172 ;-----------------------------------------------
|
||||
173 3970 .proc WorldToScreen
|
||||
174 3970 20 59 39 jsr ClearScreen
|
||||
175 3973 A2 00 ldx #0 ; start position
|
||||
176 3975 86 82 stx temp_b
|
||||
177 3977 ToScreenLoop
|
||||
178 3977 BD 25 38 lda WorldTable,x
|
||||
179 397A 30 04 bmi NothingToDraw
|
||||
180 397C A8 tay
|
||||
181 397D 20 E2 39 jsr ShowObject
|
||||
182 3980 NothingToDraw
|
||||
183 3980 E6 82 inc temp_b
|
||||
184 3982 A6 82 ldx temp_b
|
||||
185 3984 E0 40 cpx #WORLD_LENGTH
|
||||
186 3986 D0 EF bne ToScreenLoop
|
||||
187 3988 60 rts
|
||||
188 .endp
|
||||
189 ;-----------------------------------------------
|
||||
190 3989 .proc WorldShift
|
||||
191 3989 A0 00 ldy #0
|
||||
192 398B Shift
|
||||
193 398B B9 26 38 lda WorldTable+1,y
|
||||
194 398E 99 25 38 sta WorldTable,y
|
||||
195 3991 C8 iny
|
||||
196 3992 C0 3F cpy #WORLD_LENGTH-1
|
||||
197 3994 D0 F5 bne Shift
|
||||
198 3996 A9 00 lda #0 ;ground
|
||||
199 3998 99 25 38 sta WorldTable,y
|
||||
200 ; now we can insert random object to world end
|
||||
201
|
||||
202 ; check if there is enough of the gap between obstacles
|
||||
203
|
||||
204 ; get the gap for the given difficulty level
|
||||
205 399B AE 89 3B ldx diff_level
|
||||
206 399E A9 40 lda #WORLD_LENGTH
|
||||
207 39A0 38 sec
|
||||
208 39A1 FD 79 3B sbc diff_object_gap,x
|
||||
209 39A4 AA tax
|
||||
210
|
||||
211 ; is there a gap?
|
||||
212 @
|
||||
213 39A5 BD 25 38 lda WorldTable,x
|
||||
214 39A8 D0 19 bne noInsert
|
||||
215 39AA E8 inx
|
||||
216 39AB E0 40 cpx #WORLD_LENGTH
|
||||
217 39AD D0 F6 bne @-
|
||||
218 ;all zeroes
|
||||
219 39AF insertObject
|
||||
220 39AF AD 0A D2 lda RANDOM
|
||||
221 39B2 29 01 and #%00000001 ; insert 50/50
|
||||
222 39B4 F0 0D beq noInsert
|
||||
223 39B6 A9 06 8D 63 38 mva #6 WorldTable+WORLD_LENGTH-2
|
||||
224 39BB A9 86 8D 64 38 mva #6+$80 WorldTable+WORLD_LENGTH-1
|
||||
225 39C0 EE 89 3B inc diff_level
|
||||
226
|
||||
124 3926 60 rts
|
||||
125
|
||||
126 ;-----------------------------------------------
|
||||
127 ; Generation of character sets 2,3 and 4 of 1
|
||||
128 ; By copying and horizontal shift dino
|
||||
129 ;-----------------------------------------------
|
||||
130 3927 .proc GenerateCharsets
|
||||
131 ; copy charset 1 to 2,3 and 4 (but not dino chars)
|
||||
132 3927 A0 00 ldy #0
|
||||
133 3929 CopyLoop
|
||||
134 3929 B9 00 20 lda font1,y
|
||||
135 392C 99 00 24 sta font2,y
|
||||
136 392F 99 00 28 sta font3,y
|
||||
137 3932 99 00 2C sta font4,y
|
||||
138 3935 B9 00 22 lda font1+$200,y
|
||||
139 3938 99 00 26 sta font2+$200,y
|
||||
140 393B 99 00 2A sta font3+$200,y
|
||||
141 393E 99 00 2E sta font4+$200,y
|
||||
142 3941 B9 00 23 lda font1+$300,y
|
||||
143 3944 99 00 27 sta font2+$300,y
|
||||
144 3947 99 00 2B sta font3+$300,y
|
||||
145 394A 99 00 2F sta font4+$300,y
|
||||
146 394D C8 iny
|
||||
147 394E D0 D9 bne CopyLoop
|
||||
148
|
||||
149 3950 60 rts
|
||||
150 .endp
|
||||
151 ;-----------------------------------------------
|
||||
152 3951 .proc ClearWorld
|
||||
153 3951 A0 3F ldy #WORLD_LENGTH-1 ; world size
|
||||
154 3953 A9 00 lda #0 ; ground
|
||||
155 3955 99 25 38 @ sta WorldTable,y
|
||||
156 3958 88 dey
|
||||
157 3959 10 FA bpl @-
|
||||
158 395B 60 rts
|
||||
159 .endp
|
||||
160 395C .proc ClearScreen
|
||||
161 395C A0 40 ldy #WORLD_LENGTH ; TODO: shouldn't be -1?
|
||||
162 395E A9 00 lda #0
|
||||
163 3960 ClearLoop
|
||||
164 3960 99 00 37 sta screen+$700,y
|
||||
165 3963 99 00 36 sta screen+$600,y
|
||||
166 3966 99 00 35 sta screen+$500,y
|
||||
167 3969 99 00 34 sta screen+$400,y
|
||||
168 396C 99 00 33 sta screen+$300,y
|
||||
169 396F 88 dey
|
||||
170 3970 10 EE bpl ClearLoop
|
||||
171 3972 60 rts
|
||||
172 .endp
|
||||
173 ;-----------------------------------------------
|
||||
174 3973 .proc WorldToScreen
|
||||
175 3973 20 5C 39 jsr ClearScreen
|
||||
176 3976 A2 00 ldx #0 ; start position
|
||||
177 3978 86 82 stx temp_b
|
||||
178 397A ToScreenLoop
|
||||
179 397A BD 25 38 lda WorldTable,x
|
||||
180 397D 30 04 bmi NothingToDraw
|
||||
181 397F A8 tay
|
||||
182 3980 20 E5 39 jsr ShowObject
|
||||
183 3983 NothingToDraw
|
||||
184 3983 E6 82 inc temp_b
|
||||
185 3985 A6 82 ldx temp_b
|
||||
186 3987 E0 40 cpx #WORLD_LENGTH
|
||||
187 3989 D0 EF bne ToScreenLoop
|
||||
188 398B 60 rts
|
||||
189 .endp
|
||||
190 ;-----------------------------------------------
|
||||
191 398C .proc WorldShift
|
||||
192 398C A0 00 ldy #0
|
||||
193 398E Shift
|
||||
194 398E B9 26 38 lda WorldTable+1,y
|
||||
195 3991 99 25 38 sta WorldTable,y
|
||||
196 3994 C8 iny
|
||||
197 3995 C0 3F cpy #WORLD_LENGTH-1
|
||||
198 3997 D0 F5 bne Shift
|
||||
199 3999 A9 00 lda #0 ;ground
|
||||
200 399B 99 25 38 sta WorldTable,y
|
||||
201 ; now we can insert random object to world end
|
||||
202
|
||||
203 ; check if there is enough of the gap between obstacles
|
||||
204
|
||||
205 ; get the gap for the given difficulty level
|
||||
206 399E AE A9 3B ldx diff_level
|
||||
207 39A1 A9 40 lda #WORLD_LENGTH
|
||||
208 39A3 38 sec
|
||||
209 39A4 FD 99 3B sbc diff_object_gap,x
|
||||
210 39A7 AA tax
|
||||
211
|
||||
212 ; is there a gap?
|
||||
213 @
|
||||
214 39A8 BD 25 38 lda WorldTable,x
|
||||
215 39AB D0 19 bne noInsert
|
||||
216 39AD E8 inx
|
||||
217 39AE E0 40 cpx #WORLD_LENGTH
|
||||
218 39B0 D0 F6 bne @-
|
||||
219 ;all zeroes
|
||||
220 39B2 insertObject
|
||||
221 39B2 AD 0A D2 lda RANDOM
|
||||
222 39B5 29 01 and #%00000001 ; insert 50/50
|
||||
223 39B7 F0 0D beq noInsert
|
||||
224 39B9 A9 06 8D 63 38 mva #6 WorldTable+WORLD_LENGTH-2
|
||||
225 39BE A9 86 8D 64 38 mva #6+$80 WorldTable+WORLD_LENGTH-1
|
||||
226 39C3 EE A9 3B inc diff_level
|
||||
227
|
||||
228
|
||||
229 39C3 noInsert
|
||||
230 39C3 60 rts
|
||||
231 .endp
|
||||
232 ;-----------------------------------------------
|
||||
233 39C4 .proc AnimateBirds
|
||||
234 39C4 A0 40 ldy #WORLD_LENGTH
|
||||
235 39C6 B9 25 38 @ lda WorldTable,y
|
||||
236 39C9 AA tax
|
||||
237 39CA 29 7F and #%01111111
|
||||
238 39CC F0 0A beq NoBird
|
||||
239 39CE C9 08 cmp #8 ; first cactus
|
||||
240 39D0 B0 06 bcs NoBird
|
||||
241 ; then animate bird
|
||||
242 39D2 8A txa
|
||||
243 39D3 49 01 eor #%0000001
|
||||
244 39D5 99 25 38 sta WorldTable,y
|
||||
245 39D8 NoBird
|
||||
246 39D8 88 dey
|
||||
247 39D9 10 EB bpl @-
|
||||
248 39DB A5 83 lda DinoWalkPhase
|
||||
249 39DD 49 01 eor #%00000001
|
||||
250 39DF 85 83 sta DinoWalkPhase
|
||||
251 39E1 60 rts
|
||||
252 .endp
|
||||
253 ;-----------------------------------------------
|
||||
254 ; Show Object on screen
|
||||
255 ; X - y position
|
||||
256 ; Y - shape nr
|
||||
257 ;-----------------------------------------------
|
||||
258 39E2 .proc ShowObject
|
||||
259 39E2 B9 67 3B lda ShapesTableL,y
|
||||
260 39E5 85 80 sta temp_w
|
||||
261 39E7 B9 70 3B lda ShapesTableH,y
|
||||
262 39EA 85 81 sta temp_w+1
|
||||
263 39EC A0 00 ldy #0
|
||||
264 39EE ObjectLoop
|
||||
265 39EE B1 80 lda (temp_w),y
|
||||
266 39F0 30 03 bmi @+
|
||||
267 39F2 9D 00 34 sta screen+$400,x
|
||||
268 39F5 18 A5 80 69 02 85 + @ adw temp_w #2
|
||||
269 3A00 B1 80 lda (temp_w),y
|
||||
270 3A02 30 03 bmi @+
|
||||
271 3A04 9D 00 35 sta screen+$500,x
|
||||
272 3A07 18 A5 80 69 02 85 + @ adw temp_w #2
|
||||
273 3A12 B1 80 lda (temp_w),y
|
||||
274 3A14 30 03 bmi @+
|
||||
275 3A16 9D 00 36 sta screen+$600,x
|
||||
276 3A19 18 A5 80 69 02 85 + @ adw temp_w #2
|
||||
277 3A24 B1 80 lda (temp_w),y
|
||||
278 3A26 30 03 bmi @+
|
||||
279 3A28 9D 00 37 sta screen+$700,x
|
||||
280 3A2B 38 A5 80 E9 06 85 + @ sbw temp_w #6
|
||||
281 3A36 E8 inx
|
||||
282 3A37 C8 iny
|
||||
283 3A38 C0 02 cpy #2 ; object width
|
||||
284 3A3A D0 B2 bne ObjectLoop
|
||||
285 3A3C 60 rts
|
||||
286 .endp
|
||||
287 ;-----------------------------------------------
|
||||
288 ; Show Dino on screen (test)
|
||||
289 ; X - y position
|
||||
290 ; Y - shape nr
|
||||
291 ;-----------------------------------------------
|
||||
292 3A3D .proc ShowDino
|
||||
293 3A3D B9 1D 3B lda DinoShapesTableL,y
|
||||
294 3A40 85 80 sta temp_w
|
||||
295 3A42 B9 22 3B lda DinoShapesTableH,y
|
||||
296 3A45 85 81 sta temp_w+1
|
||||
297 3A47 A0 00 ldy #0
|
||||
298 3A49 DinoLoop
|
||||
299 3A49 B1 80 lda (temp_w),y
|
||||
300 3A4B 30 03 bmi @+
|
||||
301 3A4D 9D 00 34 sta screen+$400,x
|
||||
302 3A50 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||
303 3A5B B1 80 lda (temp_w),y
|
||||
304 3A5D 30 03 bmi @+
|
||||
305 3A5F 9D 00 35 sta screen+$500,x
|
||||
306 3A62 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||
307 3A6D B1 80 lda (temp_w),y
|
||||
308 3A6F 30 03 bmi @+
|
||||
309 3A71 9D 00 36 sta screen+$600,x
|
||||
310 3A74 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||
311 3A7F B1 80 lda (temp_w),y
|
||||
312 3A81 30 03 bmi @+
|
||||
313 3A83 9D 00 37 sta screen+$700,x
|
||||
314 3A86 38 A5 80 E9 0F 85 + @ sbw temp_w #15
|
||||
315 3A91 E8 inx
|
||||
316 3A92 C8 iny
|
||||
317 3A93 C0 05 cpy #5 ; dino width
|
||||
318 3A95 D0 B2 bne DinoLoop
|
||||
319 3A97 60 rts
|
||||
320 .endp
|
||||
321 ;-----------------------------------------------
|
||||
322 3A98 .proc SetStart
|
||||
323 3A98 20 4E 39 jsr ClearWorld
|
||||
324 3A9B A9 00 lda #0
|
||||
325 3A9D 85 83 sta DinoWalkPhase
|
||||
326 3A9F A9 00 lda #0
|
||||
327 3AA1 85 84 sta DinoState
|
||||
328 3AA3 60 rts
|
||||
329 .endp
|
||||
330 ;-----------------------------------------------
|
||||
331 3AA4 .proc SetGameScreen
|
||||
332 3AA4 A9 00 8D 30 02 A9 + mwa #GameDL dlptrs
|
||||
333 3AAE A9 3E lda #%00111110 ; normal screen width, DL on, P/M on
|
||||
334 3AB0 8D 2F 02 sta dmactls
|
||||
335 3AB3 A9 20 8D F4 02 mva #>font1 chbas
|
||||
336 3AB8 60 rts
|
||||
337 .endp
|
||||
338 ;--------------------------------------------------
|
||||
339 3AB9 icl 'artwork/shapes.asm'
|
||||
229
|
||||
230 39C6 noInsert
|
||||
231 39C6 60 rts
|
||||
232 .endp
|
||||
233 ;-----------------------------------------------
|
||||
234 39C7 .proc AnimateBirds
|
||||
235 39C7 A0 40 ldy #WORLD_LENGTH
|
||||
236 39C9 B9 25 38 @ lda WorldTable,y
|
||||
237 39CC AA tax
|
||||
238 39CD 29 7F and #%01111111
|
||||
239 39CF F0 0A beq NoBird
|
||||
240 39D1 C9 08 cmp #8 ; first cactus
|
||||
241 39D3 B0 06 bcs NoBird
|
||||
242 ; then animate bird
|
||||
243 39D5 8A txa
|
||||
244 39D6 49 01 eor #%0000001
|
||||
245 39D8 99 25 38 sta WorldTable,y
|
||||
246 39DB NoBird
|
||||
247 39DB 88 dey
|
||||
248 39DC 10 EB bpl @-
|
||||
249 39DE A5 83 lda DinoWalkPhase
|
||||
250 39E0 49 01 eor #%00000001
|
||||
251 39E2 85 83 sta DinoWalkPhase
|
||||
252 39E4 60 rts
|
||||
253 .endp
|
||||
254 ;-----------------------------------------------
|
||||
255 ; Show Object on screen
|
||||
256 ; X - y position
|
||||
257 ; Y - shape nr
|
||||
258 ;-----------------------------------------------
|
||||
259 39E5 .proc ShowObject
|
||||
260 39E5 B9 87 3B lda ShapesTableL,y
|
||||
261 39E8 85 80 sta temp_w
|
||||
262 39EA B9 90 3B lda ShapesTableH,y
|
||||
263 39ED 85 81 sta temp_w+1
|
||||
264 39EF A0 00 ldy #0
|
||||
265 39F1 ObjectLoop
|
||||
266 39F1 B1 80 lda (temp_w),y
|
||||
267 39F3 30 03 bmi @+
|
||||
268 39F5 9D 00 34 sta screen+$400,x
|
||||
269 39F8 18 A5 80 69 02 85 + @ adw temp_w #2
|
||||
270 3A03 B1 80 lda (temp_w),y
|
||||
271 3A05 30 03 bmi @+
|
||||
272 3A07 9D 00 35 sta screen+$500,x
|
||||
273 3A0A 18 A5 80 69 02 85 + @ adw temp_w #2
|
||||
274 3A15 B1 80 lda (temp_w),y
|
||||
275 3A17 30 03 bmi @+
|
||||
276 3A19 9D 00 36 sta screen+$600,x
|
||||
277 3A1C 18 A5 80 69 02 85 + @ adw temp_w #2
|
||||
278 3A27 B1 80 lda (temp_w),y
|
||||
279 3A29 30 03 bmi @+
|
||||
280 3A2B 9D 00 37 sta screen+$700,x
|
||||
281 3A2E 38 A5 80 E9 06 85 + @ sbw temp_w #6
|
||||
282 3A39 E8 inx
|
||||
283 3A3A C8 iny
|
||||
284 3A3B C0 02 cpy #2 ; object width
|
||||
285 3A3D D0 B2 bne ObjectLoop
|
||||
286 3A3F 60 rts
|
||||
287 .endp
|
||||
288 ;-----------------------------------------------
|
||||
289 ; Show Dino on screen (test)
|
||||
290 ; X - y position
|
||||
291 ; Y - shape nr
|
||||
292 ;-----------------------------------------------
|
||||
293 3A40 .proc ShowDino
|
||||
294 3A40 B9 3D 3B lda DinoShapesTableL,y
|
||||
295 3A43 85 80 sta temp_w
|
||||
296 3A45 B9 42 3B lda DinoShapesTableH,y
|
||||
297 3A48 85 81 sta temp_w+1
|
||||
298 3A4A A0 00 ldy #0
|
||||
299 3A4C DinoLoop
|
||||
300 3A4C B1 80 lda (temp_w),y
|
||||
301 3A4E 30 03 bmi @+
|
||||
302 3A50 9D 00 34 sta screen+$400,x
|
||||
303 3A53 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||
304 3A5E B1 80 lda (temp_w),y
|
||||
305 3A60 30 03 bmi @+
|
||||
306 3A62 9D 00 35 sta screen+$500,x
|
||||
307 3A65 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||
308 3A70 B1 80 lda (temp_w),y
|
||||
309 3A72 30 03 bmi @+
|
||||
310 3A74 9D 00 36 sta screen+$600,x
|
||||
311 3A77 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||
312 3A82 B1 80 lda (temp_w),y
|
||||
313 3A84 30 03 bmi @+
|
||||
314 3A86 9D 00 37 sta screen+$700,x
|
||||
315 3A89 38 A5 80 E9 0F 85 + @ sbw temp_w #15
|
||||
316 3A94 E8 inx
|
||||
317 3A95 C8 iny
|
||||
318 3A96 C0 05 cpy #5 ; dino width
|
||||
319 3A98 D0 B2 bne DinoLoop
|
||||
320 3A9A 60 rts
|
||||
321 .endp
|
||||
322 ;-----------------------------------------------
|
||||
323 3A9B .proc CheckJoy
|
||||
324 3A9B AD 78 02 lda STICK0
|
||||
325 3A9E 29 02 and #%00000010 ; down
|
||||
326 3AA0 F0 11 beq Down
|
||||
327 3AA2 AD 78 02 lda STICK0
|
||||
328 3AA5 29 01 and #%00000001 ; up
|
||||
329 3AA7 F0 05 beq Up
|
||||
330 ; no change state (temporary set to 0)
|
||||
331 3AA9 A9 00 lda #0
|
||||
332 3AAB 85 84 sta DinoState
|
||||
333 3AAD 60 rts
|
||||
334 3AAE A9 04 Up lda #4
|
||||
335 3AB0 85 84 sta DinoState
|
||||
336 3AB2 60 rts
|
||||
337 3AB3 Down
|
||||
338 3AB3 A9 02 lda #2
|
||||
339 3AB5 85 84 sta DinoState
|
||||
340 3AB7 60 rts
|
||||
341 .endp
|
||||
342 ;-----------------------------------------------
|
||||
343 3AB8 .proc SetStart
|
||||
344 3AB8 20 51 39 jsr ClearWorld
|
||||
345 3ABB A9 00 lda #0
|
||||
346 3ABD 85 83 sta DinoWalkPhase
|
||||
347 3ABF A9 00 lda #0
|
||||
348 3AC1 85 84 sta DinoState
|
||||
349 3AC3 60 rts
|
||||
350 .endp
|
||||
351 ;-----------------------------------------------
|
||||
352 3AC4 .proc SetGameScreen
|
||||
353 3AC4 A9 00 8D 30 02 A9 + mwa #GameDL dlptrs
|
||||
354 3ACE A9 3E lda #%00111110 ; normal screen width, DL on, P/M on
|
||||
355 3AD0 8D 2F 02 sta dmactls
|
||||
356 3AD3 A9 20 8D F4 02 mva #>font1 chbas
|
||||
357 3AD8 60 rts
|
||||
358 .endp
|
||||
359 ;--------------------------------------------------
|
||||
360 3AD9 icl 'artwork/shapes.asm'
|
||||
Source: shapes.asm
|
||||
1 ; @com.wudsn.ide.asm.mainsourcefile=dino.asm
|
||||
2
|
||||
3 .IF *>0 ;this is a trick that prevents compiling this file alone
|
||||
4
|
||||
5 ; dno run
|
||||
6 3AB9 dino_run_0 ; anly '0' jumps
|
||||
7 3AB9 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. .'
|
||||
8 3ABE 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## .'
|
||||
9 3AC3 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## ..'
|
||||
10 3AC8 22 26 2A FF FF .by $22, $26, $2a, $ff, $ff ; '## ..'
|
||||
11 3ACD dino_run_1
|
||||
12 3ACD FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. .'
|
||||
13 3AD2 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## .'
|
||||
14 3AD7 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## ..'
|
||||
15 3ADC 2D 2E 2F FF FF .by $2d, $2e, $2f, $ff, $ff ; '## ..'
|
||||
16 3AE1 dino_run_2
|
||||
17 3AE1 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. .'
|
||||
18 3AE6 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## .'
|
||||
19 3AEB 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## ..'
|
||||
20 3AF0 30 31 32 FF FF .by $30, $31, $32, $ff, $ff ; '## ..'
|
||||
21 3AF5 dino_crouch_1
|
||||
22 3AF5 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
23 3AFA FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
24 3AFF 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
||||
25 3B04 38 39 3A 3B 3C .by $38, $39, $3a, $3b, $3c ; '#### '
|
||||
26 3B09 dino_crouch_2
|
||||
27 3B09 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
28 3B0E FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
29 3B13 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
||||
30 3B18 3D 3E 3F 3B 3C .by $3d, $3e, $3f, $3b, $3c ; '#### '
|
||||
31 3B1D DinoShapesTableL
|
||||
32 3B1D CD .by <dino_run_1
|
||||
33 3B1E E1 .by <dino_run_2
|
||||
34 3B1F F5 .by <dino_crouch_1
|
||||
35 3B20 09 .by <dino_crouch_2
|
||||
36 3B21 B9 .by <dino_run_0 ; jump
|
||||
37 3B22 DinoShapesTableH
|
||||
38 3B22 3A .by >dino_run_1
|
||||
39 3B23 3A .by >dino_run_2
|
||||
40 3B24 3A .by >dino_crouch_1
|
||||
41 3B25 3B .by >dino_crouch_2
|
||||
42 3B26 3A .by >dino_run_0 ; jump
|
||||
6 3AD9 dino_run_0 ; anly '0' jumps
|
||||
7 3AD9 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. .'
|
||||
8 3ADE 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## .'
|
||||
9 3AE3 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## ..'
|
||||
10 3AE8 22 26 2A FF FF .by $22, $26, $2a, $ff, $ff ; '## ..'
|
||||
11 3AED dino_run_1
|
||||
12 3AED FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. .'
|
||||
13 3AF2 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## .'
|
||||
14 3AF7 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## ..'
|
||||
15 3AFC 2D 2E 2F FF FF .by $2d, $2e, $2f, $ff, $ff ; '## ..'
|
||||
16 3B01 dino_run_2
|
||||
17 3B01 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. .'
|
||||
18 3B06 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## .'
|
||||
19 3B0B 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## ..'
|
||||
20 3B10 30 31 32 FF FF .by $30, $31, $32, $ff, $ff ; '## ..'
|
||||
21 3B15 dino_crouch_1
|
||||
22 3B15 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
23 3B1A FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
24 3B1F 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
||||
25 3B24 38 39 3A 3B 3C .by $38, $39, $3a, $3b, $3c ; '#### '
|
||||
26 3B29 dino_crouch_2
|
||||
27 3B29 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
28 3B2E FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff ; '.....'
|
||||
29 3B33 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
||||
30 3B38 3D 3E 3F 3B 3C .by $3d, $3e, $3f, $3b, $3c ; '#### '
|
||||
31 3B3D DinoShapesTableL
|
||||
32 3B3D ED .by <dino_run_1
|
||||
33 3B3E 01 .by <dino_run_2
|
||||
34 3B3F 15 .by <dino_crouch_1
|
||||
35 3B40 29 .by <dino_crouch_2
|
||||
36 3B41 D9 .by <dino_run_0 ; jump
|
||||
37 3B42 DinoShapesTableH
|
||||
38 3B42 3A .by >dino_run_1
|
||||
39 3B43 3B .by >dino_run_2
|
||||
40 3B44 3B .by >dino_crouch_1
|
||||
41 3B45 3B .by >dino_crouch_2
|
||||
42 3B46 3A .by >dino_run_0 ; jump
|
||||
43 ; other objects
|
||||
44 3B27 ground_0
|
||||
45 3B27 FF FF .by $ff, $ff ; '..'
|
||||
46 3B29 FF FF .by $ff, $ff ; '..'
|
||||
47 3B2B FF FF .by $ff, $ff ; '..'
|
||||
48 3B2D 52 52 .by $52, $52 ; '##'
|
||||
49 3B2F bird_0
|
||||
50 3B2F FF FF .by $ff, $ff ; '..'
|
||||
51 3B31 FF FF .by $ff, $ff ; '..'
|
||||
52 3B33 40 41 .by $40, $41 ; '##'
|
||||
53 3B35 52 52 .by $52, $52 ; '##'
|
||||
54 3B37 bird_1
|
||||
55 3B37 FF FF .by $ff, $ff ; '..'
|
||||
56 3B39 40 41 .by $40, $41 ; '##'
|
||||
57 3B3B FF FF .by $ff, $ff ; '..'
|
||||
58 3B3D 52 52 .by $52, $52 ; '##'
|
||||
59 3B3F bird_2
|
||||
60 3B3F 40 41 .by $40, $41 ; '##'
|
||||
61 3B41 FF FF .by $ff, $ff ; '..'
|
||||
62 3B43 FF FF .by $ff, $ff ; ''.'
|
||||
63 3B45 52 52 .by $52, $52 ; '##'
|
||||
64 3B47 bird_0a
|
||||
65 3B47 FF FF .by $ff, $ff ; '..'
|
||||
66 3B49 FF FF .by $ff, $ff ; '..'
|
||||
67 3B4B 42 43 .by $42, $43 ; '##'
|
||||
68 3B4D 52 52 .by $52, $52 ; '##'
|
||||
69 3B4F bird_1a
|
||||
70 3B4F FF FF .by $ff, $ff ; '..'
|
||||
71 3B51 42 43 .by $42, $43 ; '##'
|
||||
72 3B53 FF FF .by $ff, $ff ; '..'
|
||||
73 3B55 52 52 .by $52, $52 ; '##'
|
||||
74 3B57 bird_2a
|
||||
75 3B57 42 43 .by $42, $43 ; '##'
|
||||
76 3B59 FF FF .by $ff, $ff ; '..'
|
||||
77 3B5B FF FF .by $ff, $ff ; ''.'
|
||||
78 3B5D 52 52 .by $52, $52 ; '##'
|
||||
79 3B5F cactus_0
|
||||
80 3B5F FF FF .by $ff, $ff ; '..'
|
||||
81 3B61 54 54 .by $54, $54 ; '##'
|
||||
82 3B63 54 54 .by $54, $54 ; '##'
|
||||
83 3B65 52 52 .by $52, $52 ; '##'
|
||||
44 3B47 ground_0
|
||||
45 3B47 FF FF .by $ff, $ff ; '..'
|
||||
46 3B49 FF FF .by $ff, $ff ; '..'
|
||||
47 3B4B FF FF .by $ff, $ff ; '..'
|
||||
48 3B4D 52 52 .by $52, $52 ; '##'
|
||||
49 3B4F bird_0
|
||||
50 3B4F FF FF .by $ff, $ff ; '..'
|
||||
51 3B51 FF FF .by $ff, $ff ; '..'
|
||||
52 3B53 40 41 .by $40, $41 ; '##'
|
||||
53 3B55 52 52 .by $52, $52 ; '##'
|
||||
54 3B57 bird_1
|
||||
55 3B57 FF FF .by $ff, $ff ; '..'
|
||||
56 3B59 40 41 .by $40, $41 ; '##'
|
||||
57 3B5B FF FF .by $ff, $ff ; '..'
|
||||
58 3B5D 52 52 .by $52, $52 ; '##'
|
||||
59 3B5F bird_2
|
||||
60 3B5F 40 41 .by $40, $41 ; '##'
|
||||
61 3B61 FF FF .by $ff, $ff ; '..'
|
||||
62 3B63 FF FF .by $ff, $ff ; ''.'
|
||||
63 3B65 52 52 .by $52, $52 ; '##'
|
||||
64 3B67 bird_0a
|
||||
65 3B67 FF FF .by $ff, $ff ; '..'
|
||||
66 3B69 FF FF .by $ff, $ff ; '..'
|
||||
67 3B6B 42 43 .by $42, $43 ; '##'
|
||||
68 3B6D 52 52 .by $52, $52 ; '##'
|
||||
69 3B6F bird_1a
|
||||
70 3B6F FF FF .by $ff, $ff ; '..'
|
||||
71 3B71 42 43 .by $42, $43 ; '##'
|
||||
72 3B73 FF FF .by $ff, $ff ; '..'
|
||||
73 3B75 52 52 .by $52, $52 ; '##'
|
||||
74 3B77 bird_2a
|
||||
75 3B77 42 43 .by $42, $43 ; '##'
|
||||
76 3B79 FF FF .by $ff, $ff ; '..'
|
||||
77 3B7B FF FF .by $ff, $ff ; ''.'
|
||||
78 3B7D 52 52 .by $52, $52 ; '##'
|
||||
79 3B7F cactus_0
|
||||
80 3B7F FF FF .by $ff, $ff ; '..'
|
||||
81 3B81 54 54 .by $54, $54 ; '##'
|
||||
82 3B83 54 54 .by $54, $54 ; '##'
|
||||
83 3B85 52 52 .by $52, $52 ; '##'
|
||||
84
|
||||
85 3B67 ShapesTableL
|
||||
86 3B67 27 .by <ground_0
|
||||
87 3B68 27 .by <ground_0
|
||||
88 3B69 2F .by <bird_0
|
||||
89 3B6A 47 .by <bird_0a
|
||||
90 3B6B 37 .by <bird_1
|
||||
91 3B6C 4F .by <bird_1a
|
||||
92 3B6D 3F .by <bird_2
|
||||
93 3B6E 57 .by <bird_2a
|
||||
94 3B6F 5F .by <cactus_0
|
||||
95 3B70 ShapesTableH
|
||||
96 3B70 3B .by >ground_0
|
||||
97 3B71 3B .by >ground_0
|
||||
98 3B72 3B .by >bird_0
|
||||
99 3B73 3B .by >bird_0a
|
||||
100 3B74 3B .by >bird_1
|
||||
101 3B75 3B .by >bird_1a
|
||||
102 3B76 3B .by >bird_2
|
||||
103 3B77 3B .by >bird_2a
|
||||
104 3B78 3B .by >cactus_0
|
||||
105 3B79 diff_object_gap ; min distance between obstacles by difficulty level
|
||||
106 3B79 14 13 12 11 10 0F + :DIFF_LEVELS .by 20-#
|
||||
85 3B87 ShapesTableL
|
||||
86 3B87 47 .by <ground_0
|
||||
87 3B88 47 .by <ground_0
|
||||
88 3B89 4F .by <bird_0
|
||||
89 3B8A 67 .by <bird_0a
|
||||
90 3B8B 57 .by <bird_1
|
||||
91 3B8C 6F .by <bird_1a
|
||||
92 3B8D 5F .by <bird_2
|
||||
93 3B8E 77 .by <bird_2a
|
||||
94 3B8F 7F .by <cactus_0
|
||||
95 3B90 ShapesTableH
|
||||
96 3B90 3B .by >ground_0
|
||||
97 3B91 3B .by >ground_0
|
||||
98 3B92 3B .by >bird_0
|
||||
99 3B93 3B .by >bird_0a
|
||||
100 3B94 3B .by >bird_1
|
||||
101 3B95 3B .by >bird_1a
|
||||
102 3B96 3B .by >bird_2
|
||||
103 3B97 3B .by >bird_2a
|
||||
104 3B98 3B .by >cactus_0
|
||||
105 3B99 diff_object_gap ; min distance between obstacles by difficulty level
|
||||
106 3B99 14 13 12 11 10 0F + :DIFF_LEVELS .by 20-#
|
||||
107 ;----------vars----------
|
||||
108 = 3B89 diff_level .ds 1
|
||||
108 = 3BA9 diff_level .ds 1
|
||||
109
|
||||
110
|
||||
111 .endif ; .IF *>0
|
||||
340 ;--------------------------------------------------
|
||||
341
|
||||
342 02E0-02E1> 65 38 run FirstSTART
|
||||
361 ;--------------------------------------------------
|
||||
362
|
||||
363 02E0-02E1> 65 38 run FirstSTART
|
||||
|
||||
Reference in New Issue
Block a user