Rev 551 | Rev 5462 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 551 | Rev 1802 | ||
---|---|---|---|
Line 1... | Line 1... | ||
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 | ; |
Line 12... | Line 14... | ||
12 | 14 | ||
Line 13... | Line 15... | ||
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 |
Line 17... | Line 19... | ||
17 | CK_UP2 equ 130+48 |
19 | CK_UP2 equ 72 |
Line 18... | Line 20... | ||
18 | CK_DOWN2 equ 129+48 |
20 | CK_DOWN2 equ 80 |
Line 31... | Line 33... | ||
31 | 33 | ||
Line -... | Line 34... | ||
- | 34 | ||
- | 35 | ||
- | 36 | START: |
|
- | 37 | ||
- | 38 | mov eax, 66 |
|
32 | 39 | mov ebx, 1 |
|
Line 33... | Line 40... | ||
33 | 40 | mov ecx, 1 |
|
Line 52... | Line 59... | ||
52 | 59 | ||
53 | mov eax,5 |
60 | mov eax,5 |
54 | mov ebx,[delay] |
61 | mov ebx,[delay] |
Line -... | Line 62... | ||
- | 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 | ; ðèñóåì ïëîùàäêè |
|
55 | mcall |
97 | call drawpad |
Line 56... | Line 98... | ||
56 | 98 | ||
57 | jmp move |
99 | jmp move |
58 | 100 | ||
Line 68... | Line 110... | ||
68 | mcall |
110 | mcall |
69 | cmp [control],1 |
111 | cmp [control],1 |
70 | jne still |
112 | jne still |
Line 71... | Line 113... | ||
71 | 113 | ||
72 | up1: |
114 | up1: |
73 | cmp ah,CK_UP1 |
115 | cmp ah,CK_UP1 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
74 | jne dn1 |
- | |
75 | cmp [posya],52*65536+64 |
116 | jne dn1 |
76 | je still |
117 | mov [is_up1], 1 |
77 | sub [posya],4*65536 |
- | |
78 | call cl0 |
- | |
79 | call drawpad |
118 | mov [is_dn1], 0 |
80 | jmp still |
119 | jmp still |
- | 120 | dn1: |
|
- | 121 | cmp ah,CK_DOWN1 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
|
- | 122 | jne up1u |
|
81 | dn1: |
123 | mov [is_up1], 0 |
- | 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: |
|
82 | cmp ah,CK_DOWN1 |
133 | cmp ah,CK_DOWN1+128 ; îáðàáîòêà îòïóñêàíèÿ êëàâèøè |
83 | jne up2 |
- | |
84 | cmp [posya],140*65536+64 |
134 | jne up2 |
85 | je still |
135 | mov [is_up1], 0 |
86 | add [posya],4*65536 |
- | |
87 | call cl0 |
- | |
88 | call drawpad |
136 | mov [is_dn1], 0 |
- | 137 | jmp still |
|
89 | jmp still |
138 | |
90 | up2: |
139 | up2: |
91 | cmp ah,CK_UP2 |
140 | cmp ah,CK_UP2 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
92 | jne dn2 |
- | |
93 | cmp [posyb],52*65536+64 |
141 | jne dn2 |
94 | je still |
142 | mov [is_up2], 1 |
95 | sub [posyb],4*65536 |
- | |
96 | call cl1 |
- | |
97 | call drawpad |
143 | mov [is_dn2], 0 |
98 | jmp still |
144 | jmp still |
- | 145 | dn2: |
|
- | 146 | cmp ah,CK_DOWN2 ; îáðàáîòêà íàæàòèÿ êëàâèøè |
|
- | 147 | jne up2u |
|
- | 148 | mov [is_up2], 0 |
|
99 | dn2: |
149 | mov [is_dn2], 1 |
- | 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: |
|
100 | cmp ah,CK_DOWN2 |
158 | cmp ah,CK_DOWN2+128 ; îáðàáîòêà îòïóñêàíèÿ êëàâèøè |
101 | jne still |
- | |
102 | cmp [posyb],140*65536+64 |
159 | jne still |
103 | je still |
160 | mov [is_up2], 0 |
104 | add [posyb],4*65536 |
- | |
105 | call cl1 |
- | |
106 | call drawpad |
161 | mov [is_dn2], 0 |
Line 107... | Line 162... | ||
107 | jmp still |
162 | jmp still |
108 | 163 | ||
109 | button: |
164 | button: |
Line 393... | Line 448... | ||
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 |
Line -... | Line 452... | ||
- | 452 | ||
- | 453 | is_up1 dd 0x0 ; \ |
|
- | 454 | is_dn1 dd 0x0 ; | êàêèå êëàâèøè íàæàòû |
|
- | 455 | is_up2 dd 0x0 ; | |
|
Line 397... | Line -... | ||
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!' |
- | |
Line 411... | Line 457... | ||
411 | clsign: |
457 | |
412 | db 'x' |
458 | include "lang.inc" |
Line 413... | Line 459... | ||
413 | 459 |