Rev 551 | Rev 5091 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 551 | Rev 1802 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; PONG for MENUET v1.0 |
2 | ; PONG for MENUET v1.1 |
3 | ; 2001 by Mario Birkner, Germany |
3 | ; 2001 by Mario Birkner, Germany |
4 | ; cyflexx@digitalrice.com |
4 | ; cyflexx@digitalrice.com |
5 | ; |
5 | ; |
6 | ; PONG for MENUET is |
6 | ; PONG for MENUET is |
7 | ; a small PONG-clone for MenuetOS |
7 | ; a small PONG-clone for MenuetOS/KolibriOS |
8 | ; |
8 | ; |
- | 9 | ; |
|
9 | ; HINT: If the Paddle moves too slow,increase the |
10 | ; improved by Oleksandr Bogomaz aka Albom |
10 | ; typematic Rate in your BIOS |
11 | ; albom85@yandex.ru |
- | 12 | ; 11.07.2008 |
|
11 | ; |
13 | ; |
12 | 14 | ||
13 | include '..\..\..\macros.inc' |
15 | include '../../../macros.inc' |
14 | 16 | ||
15 | CK_UP1 equ 113 |
17 | CK_UP1 equ 16 |
16 | CK_DOWN1 equ 97 |
18 | CK_DOWN1 equ 30 |
17 | CK_UP2 equ 130+48 |
19 | CK_UP2 equ 72 |
18 | CK_DOWN2 equ 129+48 |
20 | CK_DOWN2 equ 80 |
19 | 21 | ||
20 | use32 |
22 | use32 |
21 | 23 | ||
22 | org 0x0 |
24 | org 0x0 |
23 | 25 | ||
24 | db 'MENUET00' ; 8 byte id |
26 | db 'MENUET00' ; 8 byte id |
25 | dd 38 ; required os |
27 | dd 38 ; required os |
26 | dd START ; program start |
28 | dd START ; program start |
27 | dd I_END ; program image size |
29 | dd I_END ; program image size |
28 | dd 0x2000 ; required amount of memory |
30 | dd 0x2000 ; required amount of memory |
29 | dd 0x2000 ; esp = 0x7FFF0 |
31 | dd 0x2000 ; esp = 0x7FFF0 |
30 | dd 0x00000000 ; reserved=no extended header |
32 | dd 0x00000000 ; reserved=no extended header |
31 | 33 | ||
32 | 34 | ||
33 | 35 | ||
34 | START: |
36 | START: |
- | 37 | ||
- | 38 | mov eax, 66 |
|
- | 39 | mov ebx, 1 |
|
- | 40 | mov ecx, 1 |
|
- | 41 | mcall ; óñòàíîâèòü ðåæèì ñêàíêîäîâ |
|
35 | 42 | ||
36 | call draw_window |
43 | call draw_window |
37 | 44 | ||
38 | 45 | ||
39 | still: |
46 | still: |
40 | 47 | ||
41 | mov eax,10 |
48 | mov eax,10 |
42 | add eax,[control] |
49 | add eax,[control] |
43 | mcall |
50 | mcall |
44 | cmp eax,1 |
51 | cmp eax,1 |
45 | je red |
52 | je red |
46 | cmp eax,2 |
53 | cmp eax,2 |
47 | je key |
54 | je key |
48 | cmp eax,3 |
55 | cmp eax,3 |
49 | je button |
56 | je button |
50 | cmp [control],1 |
57 | cmp [control],1 |
51 | jne still |
58 | jne still |
52 | 59 | ||
53 | mov eax,5 |
60 | mov eax,5 |
54 | mov ebx,[delay] |
61 | mov ebx,[delay] |
55 | mcall |
62 | mcall |
- | 63 | ||
- | 64 | ; â ñîîòâåòñòâèè ñ íàæàòûìè êëàâèøàìè ïåðåìåùàåì ïëîæàäêè |
|
- | 65 | cmp [is_up1], 1 |
|
- | 66 | jne _next_key1 |
|
- | 67 | cmp [posya],52*65536+64 |
|
- | 68 | je _next_key2 |
|
- | 69 | sub [posya],4*65536 |
|
- | 70 | _next_key1: |
|
- | 71 | cmp [is_dn1], 1 |
|
- | 72 | jne _next_key2 |
|
- | 73 | cmp [posya],140*65536+64 |
|
- | 74 | je _next_key2 |
|
- | 75 | add [posya],4*65536 |
|
- | 76 | _next_key2: |
|
- | 77 | cmp [is_up2], 1 |
|
- | 78 | jne _next_key3 |
|
- | 79 | cmp [posyb],52*65536+64 |
|
- | 80 | je keys_ok |
|
- | 81 | sub [posyb],4*65536 |
|
- | 82 | _next_key3: |
|
- | 83 | cmp [is_dn2], 1 |
|
- | 84 | jne _next_key4 |
|
- | 85 | cmp [posyb],140*65536+64 |
|
- | 86 | je keys_ok |
|
- | 87 | add [posyb],4*65536 |
|
- | 88 | _next_key4: |
|
- | 89 | ||
- | 90 | ||
- | 91 | keys_ok: |
|
- | 92 | ||
- | 93 | ; ñòèðàåì ïëîùàäêè |
|
- | 94 | call cl1 |
|
- | 95 | call cl0 |
|
- | 96 | ; ðèñóåì ïëîùàäêè |
|
- | 97 | call drawpad |
|
56 | 98 | ||
57 | jmp move |
99 | jmp move |
58 | 100 | ||
59 | red: |
101 | red: |
60 | call draw_window |
102 | call draw_window |
61 | cmp [control],1 |
103 | cmp [control],1 |
62 | jne still |
104 | jne still |
63 | call clall |
105 | call clall |
64 | call drawpad |
106 | call drawpad |
65 | jmp still |
107 | jmp still |
66 | key: |
108 | key: |
67 | mov eax,2 |
109 | mov eax,2 |
68 | mcall |
110 | mcall |
69 | cmp [control],1 |
111 | cmp [control],1 |
70 | jne still |
112 | jne still |
71 | 113 | ||
72 | up1: |
114 | up1: |
73 | cmp ah,CK_UP1 |
115 | cmp ah,CK_UP1 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
74 | jne dn1 |
116 | jne dn1 |
75 | cmp [posya],52*65536+64 |
- | |
76 | je still |
117 | mov [is_up1], 1 |
77 | sub [posya],4*65536 |
118 | mov [is_dn1], 0 |
78 | call cl0 |
- | |
79 | call drawpad |
- | |
80 | jmp still |
119 | jmp still |
81 | dn1: |
120 | dn1: |
- | 121 | cmp ah,CK_DOWN1 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
|
- | 122 | jne up1u |
|
- | 123 | mov [is_up1], 0 |
|
82 | cmp ah,CK_DOWN1 |
124 | mov [is_dn1], 1 |
- | 125 | jmp still |
|
- | 126 | up1u: |
|
- | 127 | cmp ah,CK_UP1+128 ; îáðàáîòêà îòïóñêàíèÿ êëàâèøè |
|
- | 128 | jne dn1u |
|
- | 129 | mov [is_up1], 0 |
|
- | 130 | mov [is_dn1], 0 |
|
- | 131 | jmp still |
|
- | 132 | dn1u: |
|
- | 133 | cmp ah,CK_DOWN1+128 ; îáðàáîòêà îòïóñêàíèÿ êëàâèøè |
|
83 | jne up2 |
134 | jne up2 |
84 | cmp [posya],140*65536+64 |
- | |
85 | je still |
135 | mov [is_up1], 0 |
86 | add [posya],4*65536 |
136 | mov [is_dn1], 0 |
87 | call cl0 |
- | |
88 | call drawpad |
- | |
89 | jmp still |
137 | jmp still |
- | 138 | ||
90 | up2: |
139 | up2: |
91 | cmp ah,CK_UP2 |
140 | cmp ah,CK_UP2 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
92 | jne dn2 |
141 | jne dn2 |
93 | cmp [posyb],52*65536+64 |
- | |
94 | je still |
142 | mov [is_up2], 1 |
95 | sub [posyb],4*65536 |
143 | mov [is_dn2], 0 |
96 | call cl1 |
- | |
97 | call drawpad |
- | |
98 | jmp still |
144 | jmp still |
99 | dn2: |
145 | dn2: |
- | 146 | cmp ah,CK_DOWN2 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
|
- | 147 | jne up2u |
|
- | 148 | mov [is_up2], 0 |
|
- | 149 | mov [is_dn2], 1 |
|
100 | cmp ah,CK_DOWN2 |
150 | jmp still |
- | 151 | up2u: |
|
- | 152 | cmp ah,CK_UP2+128 ; îáðàáîòêà îòïóñêàíèÿ êëàâèøè |
|
- | 153 | jne dn2u |
|
- | 154 | mov [is_up2], 0 |
|
- | 155 | mov [is_dn2], 0 |
|
- | 156 | jmp still |
|
- | 157 | dn2u: |
|
- | 158 | cmp ah,CK_DOWN2+128 ; îáðàáîòêà îòïóñêàíèÿ êëàâèøè |
|
101 | jne still |
159 | jne still |
102 | cmp [posyb],140*65536+64 |
- | |
103 | je still |
160 | mov [is_up2], 0 |
104 | add [posyb],4*65536 |
161 | mov [is_dn2], 0 |
105 | call cl1 |
- | |
106 | call drawpad |
- | |
107 | jmp still |
162 | jmp still |
108 | 163 | ||
109 | button: |
164 | button: |
110 | mov eax,17 |
165 | mov eax,17 |
111 | mcall |
166 | mcall |
112 | 167 | ||
113 | cmp ah,1 |
168 | cmp ah,1 |
114 | jne button2 |
169 | jne button2 |
115 | mov eax,-1 |
170 | mov eax,-1 |
116 | mcall |
171 | mcall |
117 | 172 | ||
118 | jmp still |
173 | jmp still |
119 | 174 | ||
120 | button2: |
175 | button2: |
121 | cmp ah,2 |
176 | cmp ah,2 |
122 | jne still |
177 | jne still |
123 | mov [control],1 |
178 | mov [control],1 |
124 | mov [scp1],0 |
179 | mov [scp1],0 |
125 | mov [scp2],0 |
180 | mov [scp2],0 |
126 | jmp res |
181 | jmp res |
127 | move: |
182 | move: |
128 | mov eax,[mposx] |
183 | mov eax,[mposx] |
129 | mov ebx,[mposy] |
184 | mov ebx,[mposy] |
130 | add [bposx],eax |
185 | add [bposx],eax |
131 | add [bposy],ebx |
186 | add [bposy],ebx |
132 | cmp [bposx],16*65536+16 |
187 | cmp [bposx],16*65536+16 |
133 | je pf1 |
188 | je pf1 |
134 | cmp [bposx],272*65536+16 |
189 | cmp [bposx],272*65536+16 |
135 | je pf2 |
190 | je pf2 |
136 | cmp [bposy],191*65536+16 |
191 | cmp [bposy],191*65536+16 |
137 | je bot |
192 | je bot |
138 | cmp [bposy],48*65536+16 |
193 | cmp [bposy],48*65536+16 |
139 | je top |
194 | je top |
140 | cmp [bposx],247*65536+16 |
195 | cmp [bposx],247*65536+16 |
141 | je rig |
196 | je rig |
142 | jg padr |
197 | jg padr |
143 | cmp [bposx],55*65536+16 |
198 | cmp [bposx],55*65536+16 |
144 | je lef |
199 | je lef |
145 | jl padl |
200 | jl padl |
146 | jmp draw |
201 | jmp draw |
147 | 202 | ||
148 | padr: |
203 | padr: |
149 | mov ecx,[posyb] |
204 | mov ecx,[posyb] |
150 | jmp pad |
205 | jmp pad |
151 | padl: |
206 | padl: |
152 | mov ecx,[posya] |
207 | mov ecx,[posya] |
153 | pad: |
208 | pad: |
154 | mov eax,[bposy] |
209 | mov eax,[bposy] |
155 | sub eax,16 |
210 | sub eax,16 |
156 | mov ebx,eax |
211 | mov ebx,eax |
157 | add ebx,17*65536 |
212 | add ebx,17*65536 |
158 | sub ecx,64 |
213 | sub ecx,64 |
159 | mov edx,ecx |
214 | mov edx,ecx |
160 | add edx,65*65536 |
215 | add edx,65*65536 |
161 | cmp eax,edx |
216 | cmp eax,edx |
162 | je top |
217 | je top |
163 | cmp ebx,ecx |
218 | cmp ebx,ecx |
164 | je bot |
219 | je bot |
165 | jmp draw |
220 | jmp draw |
166 | 221 | ||
167 | bot: |
222 | bot: |
168 | mov [mposy],-65536 |
223 | mov [mposy],-65536 |
169 | jmp draw |
224 | jmp draw |
170 | top: |
225 | top: |
171 | mov [mposy],65536 |
226 | mov [mposy],65536 |
172 | jmp draw |
227 | jmp draw |
173 | rig: |
228 | rig: |
174 | mov eax,[posyb] |
229 | mov eax,[posyb] |
175 | sub eax,1*65536-64 ;verhindert das der ball ins paddle eindringt |
230 | sub eax,1*65536-64 ;verhindert das der ball ins paddle eindringt |
176 | mov ebx,[posyb] |
231 | mov ebx,[posyb] |
177 | add ebx,64*65536-64 |
232 | add ebx,64*65536-64 |
178 | mov ecx,[bposy] |
233 | mov ecx,[bposy] |
179 | add ecx,16*65536-16 |
234 | add ecx,16*65536-16 |
180 | mov edx,[bposy] |
235 | mov edx,[bposy] |
181 | sub edx,16 |
236 | sub edx,16 |
182 | cmp ecx,eax |
237 | cmp ecx,eax |
183 | je blr |
238 | je blr |
184 | jl draw |
239 | jl draw |
185 | cmp edx,ebx |
240 | cmp edx,ebx |
186 | je blr |
241 | je blr |
187 | jl blr |
242 | jl blr |
188 | jg draw |
243 | jg draw |
189 | blr: |
244 | blr: |
190 | mov [mposx],-65536 |
245 | mov [mposx],-65536 |
191 | jmp draw |
246 | jmp draw |
192 | 247 | ||
193 | lef: |
248 | lef: |
194 | mov eax,[posya] |
249 | mov eax,[posya] |
195 | sub eax,1*65536+64 |
250 | sub eax,1*65536+64 |
196 | mov ebx,[posya] |
251 | mov ebx,[posya] |
197 | add ebx,64*65536-64 |
252 | add ebx,64*65536-64 |
198 | mov ecx,[bposy] |
253 | mov ecx,[bposy] |
199 | add ecx,16*65536-16 |
254 | add ecx,16*65536-16 |
200 | mov edx,[bposy] |
255 | mov edx,[bposy] |
201 | add edx,16 |
256 | add edx,16 |
202 | cmp ecx,eax |
257 | cmp ecx,eax |
203 | je bll |
258 | je bll |
204 | jl draw |
259 | jl draw |
205 | cmp edx,ebx |
260 | cmp edx,ebx |
206 | je bll |
261 | je bll |
207 | jl bll |
262 | jl bll |
208 | jg draw |
263 | jg draw |
209 | bll: |
264 | bll: |
210 | mov [mposx],65536 |
265 | mov [mposx],65536 |
211 | jmp draw |
266 | jmp draw |
212 | 267 | ||
213 | drawpad: |
268 | drawpad: |
214 | ; draw paddle |
269 | ; draw paddle |
215 | mov edx,[posya] |
270 | mov edx,[posya] |
216 | shr edx,16 |
271 | shr edx,16 |
217 | add edx,32*65536 |
272 | add edx,32*65536 |
218 | mov ecx,24*65536+64 |
273 | mov ecx,24*65536+64 |
219 | mov ebx,paddle |
274 | mov ebx,paddle |
220 | mov eax,7 |
275 | mov eax,7 |
221 | mcall |
276 | mcall |
222 | mov edx,[posyb] |
277 | mov edx,[posyb] |
223 | shr edx,16 |
278 | shr edx,16 |
224 | add edx,264*65536 |
279 | add edx,264*65536 |
225 | mov eax,7 |
280 | mov eax,7 |
226 | mov ebx,paddle |
281 | mov ebx,paddle |
227 | mov ecx,24*65536+64 |
282 | mov ecx,24*65536+64 |
228 | mcall |
283 | mcall |
229 | ret |
284 | ret |
230 | 285 | ||
231 | draw: |
286 | draw: |
232 | ; draw ball |
287 | ; draw ball |
233 | mov eax,13 |
288 | mov eax,13 |
234 | mov ebx,-65536+2 |
289 | mov ebx,-65536+2 |
235 | mov ecx,-65536+2 |
290 | mov ecx,-65536+2 |
236 | add ebx,[bposx] |
291 | add ebx,[bposx] |
237 | add ecx,[bposy] |
292 | add ecx,[bposy] |
238 | xor edx,edx |
293 | xor edx,edx |
239 | mcall |
294 | mcall |
240 | add ebx,65536-2 |
295 | add ebx,65536-2 |
241 | add ecx,65536-2 |
296 | add ecx,65536-2 |
242 | mov edx,ebx |
297 | mov edx,ebx |
243 | and edx,0xffff0000 |
298 | and edx,0xffff0000 |
244 | mov esi,ecx |
299 | mov esi,ecx |
245 | shr esi,16 |
300 | shr esi,16 |
246 | add edx,esi |
301 | add edx,esi |
247 | mov esi,ebx |
302 | mov esi,ebx |
248 | shl esi,16 |
303 | shl esi,16 |
249 | mov edi,ecx |
304 | mov edi,ecx |
250 | and edi,0x0000ffff |
305 | and edi,0x0000ffff |
251 | add esi,edi |
306 | add esi,edi |
252 | mov ecx,esi |
307 | mov ecx,esi |
253 | mov ebx,ball |
308 | mov ebx,ball |
254 | mov eax,7 |
309 | mov eax,7 |
255 | mcall |
310 | mcall |
256 | jmp still |
311 | jmp still |
257 | cls: |
312 | cls: |
258 | mov eax,13 |
313 | mov eax,13 |
259 | mov edx,0x00000000 |
314 | mov edx,0x00000000 |
260 | mcall |
315 | mcall |
261 | ret |
316 | ret |
262 | cl0: |
317 | cl0: |
263 | mov ebx,32*65536+24 |
318 | mov ebx,32*65536+24 |
264 | mov ecx,[posya] |
319 | mov ecx,[posya] |
265 | sub ecx,4*65536+60 |
320 | sub ecx,4*65536+60 |
266 | call cls |
321 | call cls |
267 | mov ecx,[posya] |
322 | mov ecx,[posya] |
268 | add ecx,64*65536-60 |
323 | add ecx,64*65536-60 |
269 | call cls |
324 | call cls |
270 | ret |
325 | ret |
271 | cl1: |
326 | cl1: |
272 | mov ebx,264*65536+24 |
327 | mov ebx,264*65536+24 |
273 | mov ecx,[posyb] |
328 | mov ecx,[posyb] |
274 | sub ecx,4*65536+60 |
329 | sub ecx,4*65536+60 |
275 | call cls |
330 | call cls |
276 | mov ecx,[posyb] |
331 | mov ecx,[posyb] |
277 | add ecx,64*65536-60 |
332 | add ecx,64*65536-60 |
278 | call cls |
333 | call cls |
279 | ret |
334 | ret |
280 | clall: |
335 | clall: |
281 | mov ebx,16*65536+288 |
336 | mov ebx,16*65536+288 |
282 | mov ecx,47*65536+161 |
337 | mov ecx,47*65536+161 |
283 | call cls |
338 | call cls |
284 | ret |
339 | ret |
285 | pf1: |
340 | pf1: |
286 | inc [scp2] |
341 | inc [scp2] |
287 | jmp res |
342 | jmp res |
288 | pf2: |
343 | pf2: |
289 | inc [scp1] |
344 | inc [scp1] |
290 | res: |
345 | res: |
291 | cmp [scp2],20 |
346 | cmp [scp2],20 |
292 | je over |
347 | je over |
293 | cmp [scp1],20 |
348 | cmp [scp1],20 |
294 | je over |
349 | je over |
295 | mov [bposx],152*65536+16 ;default position ball |
350 | mov [bposx],152*65536+16 ;default position ball |
296 | mov [bposy],119*65536+16 |
351 | mov [bposy],119*65536+16 |
297 | call draw_window |
352 | call draw_window |
298 | call clall |
353 | call clall |
299 | call drawpad |
354 | call drawpad |
300 | jmp draw |
355 | jmp draw |
301 | over: |
356 | over: |
302 | mov [control],0 |
357 | mov [control],0 |
303 | call draw_window |
358 | call draw_window |
304 | mov eax,4 |
359 | mov eax,4 |
305 | mov ebx,120*65536+100 |
360 | mov ebx,120*65536+100 |
306 | mov ecx,0x00ffdd00 |
361 | mov ecx,0x00ffdd00 |
307 | mov esi,14 |
362 | mov esi,14 |
308 | cmp [scp1],20 |
363 | cmp [scp1],20 |
309 | jne win |
364 | jne win |
310 | mov edx,w1 |
365 | mov edx,w1 |
311 | mcall |
366 | mcall |
312 | jmp still |
367 | jmp still |
313 | win: |
368 | win: |
314 | mov edx,w2 |
369 | mov edx,w2 |
315 | mcall |
370 | mcall |
316 | jmp still |
371 | jmp still |
317 | 372 | ||
318 | ; ********************************************* |
373 | ; ********************************************* |
319 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
374 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
320 | ; ********************************************* |
375 | ; ********************************************* |
321 | 376 | ||
322 | 377 | ||
323 | draw_window: |
378 | draw_window: |
324 | 379 | ||
325 | mov eax,12 |
380 | mov eax,12 |
326 | mov ebx,1 |
381 | mov ebx,1 |
327 | mcall |
382 | mcall |
328 | 383 | ||
329 | 384 | ||
330 | mov eax,0 |
385 | mov eax,0 |
331 | mov ebx,100*65536+320 |
386 | mov ebx,100*65536+320 |
332 | mov ecx,100*65536+250 |
387 | mov ecx,100*65536+250 |
333 | mov edx,0x144873a0 ;70d0 |
388 | mov edx,0x144873a0 ;70d0 |
334 | mov edi,labelt |
389 | mov edi,labelt |
335 | mcall |
390 | mcall |
336 | 391 | ||
337 | mov eax,8 |
392 | mov eax,8 |
338 | mov ebx,20*65536+80 |
393 | mov ebx,20*65536+80 |
339 | mov ecx,220*65536+20 |
394 | mov ecx,220*65536+20 |
340 | mov edx,2 |
395 | mov edx,2 |
341 | mov esi,0x900000 |
396 | mov esi,0x900000 |
342 | mcall |
397 | mcall |
343 | 398 | ||
344 | mov eax,4 |
399 | mov eax,4 |
345 | mov ebx,38*65536+227 |
400 | mov ebx,38*65536+227 |
346 | mov ecx,0x00FFFFFF |
401 | mov ecx,0x00FFFFFF |
347 | mov edx,b0lab |
402 | mov edx,b0lab |
348 | mov esi,8 |
403 | mov esi,8 |
349 | mcall |
404 | mcall |
350 | 405 | ||
351 | mov eax,4 |
406 | mov eax,4 |
352 | mov ebx,25*65536+30 |
407 | mov ebx,25*65536+30 |
353 | mov ecx,0x00ffdd00 |
408 | mov ecx,0x00ffdd00 |
354 | mov edx,welcome |
409 | mov edx,welcome |
355 | mov esi,40 |
410 | mov esi,40 |
356 | mcall |
411 | mcall |
357 | 412 | ||
358 | mov eax,4 |
413 | mov eax,4 |
359 | mov ebx,220*65536+228 |
414 | mov ebx,220*65536+228 |
360 | mov ecx,0x00ffdd00 |
415 | mov ecx,0x00ffdd00 |
361 | mov edx,scotext |
416 | mov edx,scotext |
362 | mov esi,11 |
417 | mov esi,11 |
363 | mcall |
418 | mcall |
364 | 419 | ||
365 | mov eax,47 |
420 | mov eax,47 |
366 | mov ebx,0x00020000 |
421 | mov ebx,0x00020000 |
367 | mov ecx,[scp1] |
422 | mov ecx,[scp1] |
368 | mov edx,268 shl 16+228 |
423 | mov edx,268 shl 16+228 |
369 | mov esi,0x0000ddff |
424 | mov esi,0x0000ddff |
370 | mcall |
425 | mcall |
371 | 426 | ||
372 | mov eax,47 |
427 | mov eax,47 |
373 | mov ebx,0x00020000 |
428 | mov ebx,0x00020000 |
374 | mov ecx,[scp2] |
429 | mov ecx,[scp2] |
375 | mov edx,285 shl 16+228 |
430 | mov edx,285 shl 16+228 |
376 | mov esi,0x0000ddff |
431 | mov esi,0x0000ddff |
377 | mcall |
432 | mcall |
378 | 433 | ||
379 | mov eax,12 |
434 | mov eax,12 |
380 | mov ebx,2 |
435 | mov ebx,2 |
381 | mcall |
436 | mcall |
382 | 437 | ||
383 | ret |
438 | ret |
384 | 439 | ||
385 | 440 | ||
386 | ; DATA AREA |
441 | ; DATA AREA |
387 | posya dd 96*65536+64 ;default position paddle |
442 | posya dd 96*65536+64 ;default position paddle |
388 | posyb dd 96*65536+64 |
443 | posyb dd 96*65536+64 |
389 | bposx dd 152*65536+16 ;default position ball |
444 | bposx dd 152*65536+16 ;default position ball |
390 | bposy dd 119*65536+16 |
445 | bposy dd 119*65536+16 |
391 | mposx dd 65536 ;richtung ball |
446 | mposx dd 65536 ;richtung ball |
392 | mposy dd 65536 |
447 | mposy dd 65536 |
393 | control dd 0x0 |
448 | control dd 0x0 |
394 | delay dd 0x1 ;delay betw. frames |
449 | delay dd 0x1 ;delay betw. frames |
395 | scp1 dd 0x0 |
450 | scp1 dd 0x0 |
396 | scp2 dd 0x0 |
451 | scp2 dd 0x0 |
- | 452 | ||
- | 453 | is_up1 dd 0x0 ; \ |
|
- | 454 | is_dn1 dd 0x0 ; | êàêèå êëàâèøè íàæàòû |
|
- | 455 | is_up2 dd 0x0 ; | |
|
397 | - | ||
398 | - | ||
399 | scotext: |
- | |
400 | db 'SCORE: :' |
- | |
401 | welcome: |
- | |
402 | db 'PLAYER1: Q , A PLAYER2: , ' |
- | |
403 | b0lab: |
- | |
404 | db 'NEW GAME' |
- | |
405 | labelt: |
- | |
406 | db 'PONG FOR MENUET v1.0',0 |
- | |
407 | w1: |
- | |
408 | db 'Player 1 wins!' |
456 | is_dn2 dd 0x0 ; / |
409 | w2: |
- | |
410 | db 'Player 2 wins!' |
- | |
411 | clsign: |
457 | |
412 | db 'x' |
458 | include "lang.inc" |
413 | 459 | ||
414 | ball: |
460 | ball: |
415 | file "ball.raw" |
461 | file "ball.raw" |
416 | 462 | ||
417 | paddle: |
463 | paddle: |
418 | file "paddle.raw" |
464 | file "paddle.raw" |
419 | 465 | ||
420 | I_END: |
466 | I_END: |