Rev 2752 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2752 | Rev 9971 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | 6 | ||
Line 7... | Line 7... | ||
7 | use32 |
7 | use32 |
Line 8... | Line 8... | ||
8 | 8 | ||
9 | org 0x0 |
9 | org 0x0 |
10 | 10 | ||
11 | db 'MENUET00' ; 8 byte id |
11 | db 'MENUET01' ; header |
12 | dd 38 ; required os |
12 | dd 1 ; version |
13 | dd START ; program start |
13 | dd START ; program start |
- | 14 | dd I_END ; image size |
|
- | 15 | dd MEM ; size memory program |
|
14 | dd I_END ; image size |
16 | dd STACKTOP ; pointer to begin stack pos |
- | 17 | dd 0 |
|
- | 18 | dd 0 |
|
- | 19 | ||
- | 20 | res_base = loadp + 0x36 ; offset on array pixel in BMP file |
|
- | 21 | res_width_px = 150 |
|
15 | dd 0x100000 ; reguired amount of memory |
22 | res_height_px = 35 |
- | 23 | res_line_size = (res_width_px*3 + 11b) and not 11b ; 150*3 + 2 |
|
16 | dd 0x00000000 ; reserved=no extended header |
24 | |
17 | 25 | ||
18 | 26 | block_width = 40 |
|
- | 27 | block_height = 40 |
|
19 | empty equ 0x80000 + 0*3*40*40 |
28 | block_line_size = block_width * 3 |
20 | build_1 equ 0x80000 + 1*3*40*40 |
29 | block_img_size = block_width * block_height * 3 |
21 | build_2 equ 0x80000 + 2*3*40*40 |
30 | block_draw_size = (block_width shl 16) + block_height ; for sysfn 7 |
22 | build_3 equ 0x80000 + 3*3*40*40 |
31 | block_count_pixel = block_width * block_height |
23 | 32 | ||
24 | mario_1 equ 0x90000 + 0*3*70*51 |
33 | mario_width = 50 |
25 | mario_2 equ 0x90000 + 1*3*70*51 |
34 | mario_height = 70 |
26 | mario_3 equ 0x90000 + 2*3*70*51 |
35 | mario_line_size = mario_width * 3 |
- | 36 | mario_img_size = mario_width * mario_height * 3 |
|
- | 37 | mario_draw_size = (mario_width shl 16) + mario_height |
|
- | 38 | mario_count_pixel = mario_width * mario_height |
|
- | 39 | ||
- | 40 | ||
- | 41 | wnd_pos_x = 80 |
|
27 | mario_4 equ 0x90000 + 3*3*70*51 |
42 | wnd_pos_y = 20 |
28 | mario_5 equ 0x90000 + 4*3*70*51 |
43 | |
Line 29... | Line 44... | ||
29 | mario_6 equ 0x90000 + 5*3*70*51 |
44 | wnd_header_size = 0x16 |
Line 44... | Line 59... | ||
44 | 59 | ||
Line 45... | Line 60... | ||
45 | 60 | ||
46 | sta: |
- | |
47 | 61 | sta: |
|
Line 48... | Line 62... | ||
48 | mov eax,field |
62 | |
Line 49... | Line 63... | ||
49 | mov edx,1*65526+30 |
63 | mov eax,field |
50 | mov [xxyy],dword 1*65536+22 |
64 | mov dword[xxyy], 1*65536 + wnd_header_size |
51 | 65 | ||
52 | stl: |
66 | stl: |
Line 53... | Line 67... | ||
53 | 67 | ||
54 | cmp [eax],byte ' ' |
68 | cmp byte[eax], ' ' |
55 | jnz noempty |
69 | jnz @f |
56 | mov ebx,empty |
70 | mov ebx,empty |
Line 57... | Line 71... | ||
57 | noempty: |
71 | @@: |
58 | 72 | ||
59 | cmp [eax],byte '1' |
73 | cmp byte[eax], '1' |
60 | jnz no1 |
74 | jnz @f |
Line 61... | Line 75... | ||
61 | mov ebx,build_1 |
75 | mov ebx,build_1 |
62 | no1: |
76 | @@: |
63 | 77 | ||
64 | cmp [eax],byte '2' |
78 | cmp byte[eax], '2' |
Line 65... | Line 79... | ||
65 | jnz no2 |
79 | jnz @f |
Line 66... | Line 80... | ||
66 | mov ebx,build_2 |
80 | mov ebx,build_2 |
Line 67... | Line 81... | ||
67 | no2: |
81 | @@: |
68 | 82 | ||
69 | cmp [eax],byte '3' |
83 | cmp byte[eax], '3' |
Line 70... | Line 84... | ||
70 | jnz no3 |
84 | jnz @f |
Line 71... | Line 85... | ||
71 | mov ebx,build_3 |
85 | mov ebx,build_3 |
72 | no3: |
86 | @@: |
73 | 87 | ||
74 | pusha |
- | |
75 | - | ||
76 | mov edx,[xxyy] |
- | |
77 | - | ||
78 | mov eax,7 ; display image |
- | |
79 | mov ecx,40*65536+40 |
- | |
80 | int 0x40 |
- | |
81 | - | ||
Line -... | Line 88... | ||
- | 88 | pusha |
|
- | 89 | ||
82 | popa |
90 | mov edx,[xxyy] |
Line -... | Line 91... | ||
- | 91 | ||
- | 92 | mov eax,7 ; display image |
|
- | 93 | mov ecx, block_draw_size |
|
Line 83... | Line 94... | ||
83 | 94 | int 0x40 |
|
Line 84... | Line 95... | ||
84 | add word [xxyy+2],word 40 |
95 | |
Line 85... | Line 96... | ||
85 | cmp word [xxyy+2],word 40*12+1 |
96 | popa |
Line 86... | Line 97... | ||
86 | jnz nonewline |
97 | |
87 | mov word [xxyy+2],word 1 |
98 | add word [xxyy+2], block_width |
- | 99 | cmp word [xxyy+2], block_width*12+1 |
|
88 | add word [xxyy+0],word 40 |
100 | jnz .nonewline |
89 | nonewline: |
101 | |
90 | 102 | mov word [xxyy+2], 1 |
|
91 | add eax,1 |
103 | add word [xxyy+0], block_height |
92 | cmp eax,field+12*9 |
104 | .nonewline: |
93 | jz nodraw |
105 | |
Line -... | Line 106... | ||
- | 106 | add eax,1 |
|
94 | jmp stl |
107 | cmp eax, field.end |
Line 95... | Line 108... | ||
95 | 108 | jnz stl |
|
Line 96... | Line 109... | ||
96 | nodraw: |
109 | |
Line 126... | Line 139... | ||
126 | mov [mariomem],dword 0x0 |
139 | mov [mariomem],dword 0x0 |
Line 127... | Line 140... | ||
127 | 140 | ||
128 | mov eax,2 ; ah <- key |
141 | mov eax,2 ; ah <- key |
Line 129... | Line 142... | ||
129 | int 0x40 |
142 | int 0x40 |
130 | 143 | ||
131 | cmp ah,176 |
144 | cmp ah,176 ; 'left' |
132 | jnz key1 |
145 | jnz key1 |
Line 133... | Line 146... | ||
133 | mov byte [leftright],byte 1 |
146 | mov byte [leftright],byte 1 |
134 | key1: |
147 | key1: |
135 | 148 | ||
136 | cmp ah,179 |
149 | cmp ah,179 ; 'right' |
Line 137... | Line 150... | ||
137 | jnz key2 |
150 | jnz key2 |
138 | mov byte [leftright],byte 4 |
151 | mov byte [leftright],byte 4 |
139 | key2: |
152 | key2: |
140 | 153 | ||
141 | cmp ah,177 |
154 | cmp ah,177 ; 'down' |
142 | jnz key3 |
155 | jnz key3 |
Line 151... | Line 164... | ||
151 | mov bl,3 |
164 | mov bl,3 |
152 | key32: |
165 | key32: |
153 | mov byte [leftright],bl |
166 | mov byte [leftright],bl |
154 | key3: |
167 | key3: |
Line 155... | Line 168... | ||
155 | 168 | ||
156 | cmp ah,178 |
169 | cmp ah,178 ; 'up' |
157 | jnz key4 |
170 | jnz key4 |
158 | cmp [velocity],dword 0xff |
171 | cmp [velocity],dword 0xff |
159 | jnz key4 |
172 | jnz key4 |
160 | mov [velocity],dword 0x110 |
173 | mov [velocity],dword 0x110 |
Line -... | Line 174... | ||
- | 174 | key4: |
|
161 | key4: |
175 | |
162 | 176 | ; this code using for fix defects drawing(draw in caption area) |
|
163 | mov eax,71 ;draw caption |
177 | mov eax,71 ;draw caption |
164 | mov ebx,1 |
178 | mov ebx,1 |
Line 165... | Line 179... | ||
165 | mov ecx,title |
179 | mov ecx,title |
Line 166... | Line 180... | ||
166 | int 0x40 |
180 | int 0x40 |
Line 167... | Line -... | ||
167 | - | ||
168 | jmp sta ;draw field |
- | |
169 | - | ||
170 | ;jmp wait_for_event |
- | |
171 | - | ||
172 | button: |
- | |
173 | 181 | ||
Line 174... | Line 182... | ||
174 | mov eax,0xffffffff ; close this program |
182 | jmp sta ;draw field |
Line 175... | Line -... | ||
175 | int 0x40 |
- | |
176 | - | ||
177 | - | ||
178 | load_graph: |
- | |
179 | - | ||
180 | pusha |
183 | |
181 | - | ||
182 | mov eax,6 ; 6 = open file |
- | |
183 | mov ebx,filename |
- | |
184 | mov ecx,0 |
- | |
185 | mov edx,0xFFFFFF |
184 | ;jmp wait_for_event |
186 | mov esi,loadp |
185 | |
187 | mov edi,0 ; floppy |
186 | load_graph: |
188 | int 0x40 |
187 | |
189 | 188 | pusha |
|
190 | ; empty |
189 | |
191 | 190 | ; empty block init - set in 0x00500f color |
|
192 | mov edi,empty |
191 | mov edi,empty |
Line 193... | Line 192... | ||
193 | mov ecx,40*40 |
192 | mov ecx, block_count_pixel |
194 | mov eax,0x00500f |
193 | mov eax,0x00500f |
195 | cld |
194 | cld |
196 | emptyl: |
- | |
197 | mov [edi],eax |
195 | @@: |
198 | add edi,3 |
196 | mov [edi],eax |
Line 199... | Line 197... | ||
199 | loop emptyl |
197 | add edi, 3 |
200 | 198 | loop @b |
|
201 | mov [width],40*3 |
199 | |
Line 214... | Line 212... | ||
214 | call convert |
212 | call convert |
Line 215... | Line 213... | ||
215 | 213 | ||
216 | - | ||
217 | 214 | ||
218 | ; build_3 |
215 | |
219 | 216 | ; build_3 |
|
220 | mov edi,build_3 |
217 | mov edi,build_3 |
221 | mov esi,loadp+18*3+230*3+3*300*69 |
218 | mov esi, res_base + 230*3+3*300*69 |
222 | mov ecx,40 |
219 | mov ecx, block_height |
223 | build_3l: |
220 | build_3l: |
224 | pusha |
221 | pusha |
225 | mov ecx,3*40 |
222 | mov ecx, block_line_size |
226 | cld |
223 | cld |
227 | rep movsb |
224 | rep movsb |
228 | popa |
225 | popa |
Line 229... | Line 226... | ||
229 | sub esi,300*3 |
226 | sub esi,300*3 |
230 | add edi,40*3 |
227 | add edi, block_line_size |
231 | loop build_3l |
228 | loop build_3l |
232 | - | ||
233 | mov [width],50*3 |
229 | |
234 | mov [width_move],25 |
230 | mov [width], mario_line_size |
Line 235... | Line 231... | ||
235 | mov [sub_esi],150*3+2 |
231 | mov [width_move], mario_width/2 |
236 | mov [add_edi],50*3*2 |
232 | mov [height_move], mario_height/2 |
237 | mov [imul_esi],25*3 |
233 | mov [imul_esi],25*3 |
Line 250... | Line 246... | ||
250 | call convert |
246 | call convert |
Line 251... | Line 247... | ||
251 | 247 | ||
Line -... | Line 248... | ||
- | 248 | jmp mario_mirror |
|
252 | jmp mario_mirror |
249 | |
Line 253... | Line 250... | ||
253 | 250 | ||
254 | 251 | ; copy in [edi], image x2 |
|
Line 255... | Line 252... | ||
255 | convert: |
252 | convert: |
- | 253 | ||
- | 254 | imul esi,[imul_esi] |
|
- | 255 | add esi,[base] ; loadp+18*3+3*150*34+68 |
|
256 | 256 | ||
257 | imul esi,[imul_esi] |
257 | mov eax, [width] |
258 | add esi,[base] ; loadp+18*3+3*150*34+68 |
258 | shl eax, 1 ; *2 |
259 | 259 | mov ecx, [height_move] ;? |
|
- | 260 | ||
260 | mov ecx,70 |
261 | .new_line: |
261 | mario_1l: |
262 | pusha |
262 | pusha |
263 | mov ecx,[width_move] |
263 | mov ecx,[width_move] |
264 | |
264 | putpix: |
265 | .putpix: ; set 4 pixel: edi, edi+3, edi+width, edi+width+3 |
Line 276... | Line 277... | ||
276 | mov [edi+05],al |
277 | mov [edi+05],al |
277 | add ebx,3 |
278 | add ebx,3 |
278 | mov [edi+ebx],al |
279 | mov [edi+ebx],al |
279 | add esi,3 |
280 | add esi,3 |
280 | add edi,6 |
281 | add edi,6 |
281 | loop putpix |
282 | loop .putpix |
282 | popa |
283 | popa |
- | 284 | ||
283 | sub esi,[sub_esi] |
285 | sub esi,res_line_size |
284 | add edi,[add_edi] |
286 | add edi, eax |
285 | loop mario_1l |
287 | loop .new_line |
Line 286... | Line 288... | ||
286 | 288 | ||
Line 287... | Line 289... | ||
287 | ret |
289 | ret |
288 | 290 | ||
289 | sub_esi dd 0x0 |
- | |
290 | add_edi dd 0x0 |
291 | imul_esi dd 0 |
291 | imul_esi dd 0x0 |
292 | base dd 0 |
292 | base dd 0x0 |
293 | width dd 0 |
Line 293... | Line 294... | ||
293 | width dd 0x0 |
294 | width_move dd 0 |
Line 294... | Line -... | ||
294 | width_move dd 0x0 |
- | |
295 | 295 | height_move dd 0 |
|
296 | - | ||
297 | 296 | ||
298 | mario_mirror: |
297 | |
299 | 298 | ||
300 | 299 | mario_mirror: |
|
301 | ; mario_green |
300 | |
302 | 301 | ; mario_green |
|
303 | mov edi,mario_green |
- | |
304 | mov ecx,70*50 |
- | |
Line 305... | Line 302... | ||
305 | mario_greenl: |
302 | mov edi,mario_green |
Line 306... | Line 303... | ||
306 | mov [edi],dword 0x00500f |
303 | mov ecx, mario_count_pixel |
307 | add edi,3 |
304 | @@: |
308 | loop mario_greenl |
305 | mov [edi],dword 0x00500f |
309 | 306 | add edi, 3 |
|
310 | 307 | loop @b |
|
311 | 308 | ||
312 | ; mario_4 |
309 | ; mario_4 - reverse mario_1 |
313 | 310 | ||
314 | mov edi,mario_4 |
311 | mov edi, mario_4 |
315 | mov esi,mario_1+49*3 |
312 | mov esi, mario_1 + (mario_width - 1)*3 |
316 | mov ecx,70 |
313 | mov ecx, mario_height |
317 | m4l1: |
314 | m4l1: |
318 | pusha |
315 | pusha |
319 | mov ecx,50 |
316 | mov ecx, mario_width |
320 | m4l2: |
317 | m4l2: |
- | 318 | mov eax,[esi] |
|
321 | mov eax,[esi] |
319 | mov [edi],ax |
322 | mov [edi],ax |
320 | shr eax,16 |
323 | shr eax,16 |
321 | mov [edi+2],al |
Line 324... | Line 322... | ||
324 | mov [edi+2],al |
322 | add edi,3 |
Line 325... | Line 323... | ||
325 | add edi,3 |
323 | sub esi,3 |
326 | sub esi,3 |
324 | loop m4l2 |
327 | loop m4l2 |
325 | popa |
328 | popa |
326 | |
329 | add esi,50*3 |
327 | add esi, mario_width*3 |
330 | add edi,50*3 |
328 | add edi, mario_width*3 |
331 | loop m4l1 |
329 | loop m4l1 |
332 | 330 | ||
333 | 331 | ||
334 | ; mario_5 |
332 | ; mario_5 - reverse mario_2 |
335 | 333 | ||
336 | mov edi,mario_5 |
334 | mov edi, mario_5 |
337 | mov esi,mario_2+49*3 |
335 | mov esi, mario_2 + (mario_width - 1)*3 |
338 | mov ecx,70 |
336 | mov ecx, mario_height |
339 | m5l1: |
337 | m5l1: |
- | 338 | pusha |
|
340 | pusha |
339 | mov ecx, mario_width |
341 | mov ecx,50 |
340 | m5l2: |
342 | m5l2: |
341 | mov eax,[esi] |
Line 343... | Line 342... | ||
343 | mov eax,[esi] |
342 | mov [edi],ax |
Line 344... | Line 343... | ||
344 | mov [edi],ax |
343 | shr eax,16 |
345 | shr eax,16 |
344 | mov [edi+2],al |
346 | mov [edi+2],al |
345 | add edi,3 |
347 | add edi,3 |
346 | sub esi,3 |
348 | sub esi,3 |
347 | loop m5l2 |
349 | loop m5l2 |
348 | popa |
350 | popa |
349 | |
351 | add esi,50*3 |
350 | add esi, mario_width*3 |
352 | add edi,50*3 |
351 | add edi, mario_width*3 |
353 | loop m5l1 |
352 | loop m5l1 |
354 | 353 | ||
355 | 354 | ||
356 | ; mario_6 |
355 | ; mario_6 - reverse mario_3 |
357 | 356 | ||
358 | mov edi,mario_6 |
357 | mov edi, mario_6 |
- | 358 | mov esi, mario_3 + (mario_width - 1)*3 |
|
359 | mov esi,mario_3+49*3 |
359 | mov ecx, mario_height |
360 | mov ecx,70 |
360 | m6l1: |
361 | m6l1: |
361 | pusha |
Line 362... | Line 362... | ||
362 | pusha |
362 | mov ecx, mario_width |
363 | mov ecx,50 |
- | |
364 | m6l2: |
363 | m6l2: |
Line 365... | Line 364... | ||
365 | mov eax,[esi] |
364 | mov eax,[esi] |
Line 545... | Line 544... | ||
545 | 544 | ||
Line 546... | Line 545... | ||
546 | pusha |
545 | pusha |
547 | 546 | ||
548 | mov eax,[mariomem] |
547 | mov eax,[mariomem] |
Line 549... | Line 548... | ||
549 | cmp eax,[marioxy] |
548 | cmp eax,[marioxy] |
Line 550... | Line 549... | ||
550 | jnz dm1 |
549 | jnz @f |
551 | - | ||
552 | call mario_delay |
550 | |
Line 553... | Line 551... | ||
553 | 551 | call mario_delay |
|
554 | popa |
- | |
555 | 552 | ||
556 | ret |
553 | popa |
Line 557... | Line 554... | ||
557 | 554 | ret |
|
558 | dm1: |
- | |
559 | 555 | ||
560 | mov eax,[marioxy] |
- | |
Line 561... | Line 556... | ||
561 | mov [mariomem],eax |
556 | @@: |
562 | - | ||
563 | 557 | mov eax,[marioxy] |
|
564 | cmp byte [leftright],byte 1 ; go left |
- | |
Line 565... | Line 558... | ||
565 | jnz no_m_left |
558 | mov [mariomem],eax |
566 | jmp m_left |
559 | |
- | 560 | ||
567 | no_m_left: |
561 | cmp byte [leftright], 1 ; go left |
568 | 562 | jz m_left |
|
569 | cmp byte [leftright],byte 4 ; go right |
563 | |
570 | jnz no_m_right |
564 | cmp byte [leftright], 4 ; go right |
571 | jmp m_right |
565 | jz m_right |
- | 566 | ||
572 | no_m_right: |
567 | cmp byte [leftright], 2 ; stand left |
573 | 568 | jnz no_r_still |
|
574 | cmp byte [leftright],byte 2 ; stand left |
569 | |
575 | jnz no_r_still |
570 | mov eax,7 |
576 | mov eax,7 |
571 | mov ebx,mario_green |
577 | mov ebx,mario_green |
572 | mov ecx, mario_draw_size |
- | 573 | mov edx,[marioxy] |
|
578 | mov ecx,50*65536+70 |
574 | int 0x40 |
- | 575 | ||
579 | mov edx,[marioxy] |
576 | call advance_mario |
580 | int 0x40 |
577 | mov eax,7 |
581 | call advance_mario |
- | |
Line -... | Line 578... | ||
- | 578 | mov ebx,mario_1 |
|
582 | mov eax,7 |
579 | mov ecx, mario_draw_size |
583 | mov ebx,mario_1 |
580 | mov edx,[marioxy] |
- | 581 | int 0x40 |
|
584 | mov ecx,50*65536+70 |
582 | |
585 | mov edx,[marioxy] |
583 | call mario_delay |
586 | int 0x40 |
584 | |
587 | call mario_delay |
585 | popa |
588 | popa |
586 | ret |
- | 587 | ||
589 | ret |
588 | no_r_still: |
590 | no_r_still: |
589 | cmp byte [leftright],byte 3 ; stand right |
591 | 590 | jnz no_l_still |
|
592 | cmp byte [leftright],byte 3 ; stand right |
591 | |
593 | jnz no_l_still |
592 | mov eax,7 |
594 | mov eax,7 |
593 | mov ebx,mario_green |
- | 594 | mov ecx, mario_draw_size |
|
595 | mov ebx,mario_green |
595 | mov edx,[marioxy] |
Line 596... | Line -... | ||
596 | mov ecx,50*65536+70 |
- | |
597 | mov edx,[marioxy] |
- | |
598 | int 0x40 |
596 | int 0x40 |
Line 599... | Line 597... | ||
599 | call advance_mario |
597 | |
600 | mov eax,7 |
598 | call advance_mario |
Line 601... | Line -... | ||
601 | mov ebx,mario_4 |
- | |
602 | mov ecx,50*65536+70 |
- | |
603 | mov edx,[marioxy] |
- | |
604 | int 0x40 |
599 | mov eax,7 |
Line 605... | Line 600... | ||
605 | call mario_delay |
600 | mov ebx,mario_4 |
606 | 601 | mov ecx, mario_draw_size |
|
607 | popa |
602 | mov edx,[marioxy] |
608 | ret |
603 | int 0x40 |
609 | no_l_still: |
604 | |
- | 605 | call mario_delay |
|
610 | 606 | ||
611 | popa |
607 | no_l_still: |
612 | ret |
608 | |
613 | 609 | popa |
|
614 | 610 | ret |
|
615 | 611 | ||
- | 612 | m_left: |
|
616 | 613 | ||
Line 617... | Line 614... | ||
617 | m_left: |
614 | mov eax,7 |
618 | 615 | mov ebx,mario_green |
|
619 | mov eax,7 |
616 | mov ecx, mario_draw_size |
620 | mov ebx,mario_green |
617 | mov edx,[marioxy] |
621 | mov ecx,50*65536+70 |
618 | int 0x40 |
- | 619 | ||
622 | mov edx,[marioxy] |
620 | call advance_mario |
623 | int 0x40 |
621 | mov eax,7 |
624 | call advance_mario |
622 | mov ebx,mario_1 |
625 | mov eax,7 |
623 | mov ecx, mario_draw_size |
626 | mov ebx,mario_1 |
624 | mov edx,[marioxy] |
627 | mov ecx,50*65536+70 |
625 | int 0x40 |
- | 626 | ||
628 | mov edx,[marioxy] |
627 | call mario_delay |
Line 629... | Line 628... | ||
629 | int 0x40 |
628 | |
630 | call mario_delay |
629 | mov eax,7 |
631 | 630 | mov ebx,mario_green |
|
632 | mov eax,7 |
631 | mov ecx, mario_draw_size |
633 | mov ebx,mario_green |
632 | mov edx,[marioxy] |
- | 633 | int 0x40 |
|
634 | mov ecx,50*65536+70 |
634 | |
635 | mov edx,[marioxy] |
635 | call advance_mario |
636 | int 0x40 |
636 | mov eax,7 |
637 | call advance_mario |
637 | mov ebx,mario_2 |
638 | mov eax,7 |
638 | mov ecx, mario_draw_size |
639 | mov ebx,mario_2 |
639 | mov edx,[marioxy] |
- | 640 | int 0x40 |
|
640 | mov ecx,50*65536+70 |
641 | |
Line 641... | Line 642... | ||
641 | mov edx,[marioxy] |
642 | call mario_delay |
642 | int 0x40 |
643 | |
643 | call mario_delay |
644 | mov eax,7 |
644 | 645 | mov ebx,mario_green |
|
645 | mov eax,7 |
646 | mov ecx, mario_draw_size |
- | 647 | mov edx,[marioxy] |
|
646 | mov ebx,mario_green |
648 | int 0x40 |
647 | mov ecx,50*65536+70 |
649 | |
648 | mov edx,[marioxy] |
650 | call advance_mario |
649 | int 0x40 |
651 | mov eax,7 |
650 | call advance_mario |
652 | mov ebx,mario_3 |
651 | mov eax,7 |
653 | mov ecx, mario_draw_size |
- | 654 | mov edx,[marioxy] |
|
652 | mov ebx,mario_3 |
655 | int 0x40 |
Line 653... | Line 656... | ||
653 | mov ecx,50*65536+70 |
656 | |
654 | mov edx,[marioxy] |
- | |
655 | int 0x40 |
657 | call mario_delay |
Line 656... | Line 658... | ||
656 | call mario_delay |
658 | |
Line 657... | Line 659... | ||
657 | 659 | mov eax,7 |
|
658 | mov eax,7 |
660 | mov ebx,mario_green |
659 | mov ebx,mario_green |
661 | mov ecx, mario_draw_size |
660 | mov ecx,50*65536+70 |
662 | mov edx,[marioxy] |
661 | mov edx,[marioxy] |
663 | int 0x40 |
- | 664 | ||
662 | int 0x40 |
665 | call advance_mario |
663 | call advance_mario |
666 | mov eax,7 |
664 | mov eax,7 |
667 | mov ebx,mario_2 |
665 | mov ebx,mario_2 |
668 | mov ecx, mario_draw_size |
666 | mov ecx,50*65536+70 |
669 | mov edx,[marioxy] |
667 | mov edx,[marioxy] |
670 | int 0x40 |
- | 671 | ||
668 | int 0x40 |
672 | call mario_delay |
Line 669... | Line 673... | ||
669 | call mario_delay |
673 | |
670 | 674 | popa |
|
671 | popa |
675 | ret |
672 | 676 | ||
673 | ret |
677 | m_right: |
- | 678 | ||
674 | 679 | ||
675 | m_right: |
680 | mov eax,7 |
676 | 681 | mov ebx,mario_green |
|
677 | 682 | mov ecx, mario_draw_size |
|
678 | mov eax,7 |
683 | mov edx,[marioxy] |
679 | mov ebx,mario_green |
684 | int 0x40 |
- | 685 | ||
680 | mov ecx,50*65536+70 |
686 | call advance_mario |
Line 681... | Line 687... | ||
681 | mov edx,[marioxy] |
687 | mov eax,7 |
682 | int 0x40 |
688 | mov ebx,mario_4 |
683 | call advance_mario |
689 | mov ecx, mario_draw_size |
684 | mov eax,7 |
690 | mov edx,[marioxy] |
685 | mov ebx,mario_4 |
691 | int 0x40 |
- | 692 | ||
686 | mov ecx,50*65536+70 |
693 | call mario_delay |
687 | mov edx,[marioxy] |
694 | |
688 | int 0x40 |
695 | mov eax,7 |
689 | call mario_delay |
696 | mov ebx,mario_green |
690 | 697 | mov ecx, mario_draw_size |
|
691 | mov eax,7 |
698 | mov edx,[marioxy] |
- | 699 | int 0x40 |
|
692 | mov ebx,mario_green |
700 | |
Line 693... | Line 701... | ||
693 | mov ecx,50*65536+70 |
701 | call advance_mario |
694 | mov edx,[marioxy] |
702 | mov eax,7 |
695 | int 0x40 |
703 | mov ebx,mario_5 |
696 | call advance_mario |
704 | mov ecx, mario_draw_size |
697 | mov eax,7 |
705 | mov edx,[marioxy] |
- | 706 | int 0x40 |
|
698 | mov ebx,mario_5 |
707 | |
699 | mov ecx,50*65536+70 |
708 | call mario_delay |
700 | mov edx,[marioxy] |
709 | |
701 | int 0x40 |
710 | mov eax,7 |
702 | call mario_delay |
711 | mov ebx,mario_green |
703 | 712 | mov ecx, mario_draw_size |
|
- | 713 | mov edx,[marioxy] |
|
704 | mov eax,7 |
714 | int 0x40 |
Line 705... | Line 715... | ||
705 | mov ebx,mario_green |
715 | |
706 | mov ecx,50*65536+70 |
- | |
707 | mov edx,[marioxy] |
716 | call advance_mario |
Line 708... | Line -... | ||
708 | int 0x40 |
- | |
709 | call advance_mario |
- | |
710 | mov eax,7 |
- | |
711 | mov ebx,mario_6 |
- | |
712 | mov ecx,50*65536+70 |
717 | mov eax,7 |
Line 713... | Line 718... | ||
713 | mov edx,[marioxy] |
718 | mov ebx,mario_6 |
Line 714... | Line 719... | ||
714 | int 0x40 |
719 | mov ecx, mario_draw_size |
715 | call mario_delay |
720 | mov edx,[marioxy] |
716 | 721 | int 0x40 |
|
Line 717... | Line 722... | ||
717 | mov eax,7 |
722 | |
718 | mov ebx,mario_green |
723 | call mario_delay |
719 | mov ecx,50*65536+70 |
724 | |
720 | mov edx,[marioxy] |
725 | mov eax,7 |
721 | int 0x40 |
726 | mov ebx,mario_green |
722 | call advance_mario |
727 | mov ecx, mario_draw_size |
Line 723... | Line 728... | ||
723 | mov eax,7 |
728 | mov edx,[marioxy] |
724 | mov ebx,mario_5 |
729 | int 0x40 |
Line 759... | Line 764... | ||
759 | ret |
764 | ret |
Line 760... | Line 765... | ||
760 | 765 | ||
Line 761... | Line -... | ||
761 | - | ||
762 | ; DATA SECTION |
- | |
763 | - | ||
764 | filename: |
766 | |
765 | db 'MARIOALLBMP' |
767 | ; DATA SECTION |
Line 766... | Line 768... | ||
766 | 768 | ||
Line 776... | Line 778... | ||
776 | db '1 1' |
778 | db '1 1' |
777 | db '1 111111 1' |
779 | db '1 111111 1' |
778 | db '1 1' |
780 | db '1 1' |
779 | db '1 1' |
781 | db '1 1' |
780 | db '222222222222' |
782 | db '222222222222' |
- | 783 | .end: |
|
Line 781... | Line 784... | ||
781 | 784 | ||
Line 782... | Line 785... | ||
782 | xxyy dd 0x0 |
785 | xxyy dd 0x0 |
Line 787... | Line 790... | ||
787 | 790 | ||
Line 788... | Line 791... | ||
788 | leftright dd 0x0 |
791 | leftright dd 0x0 |
Line -... | Line 792... | ||
- | 792 | ||
- | 793 | velocity dd 0x0 |
|
- | 794 | ||
Line 789... | Line 795... | ||
789 | 795 | align 16 |
|
Line -... | Line 796... | ||
- | 796 | loadp: |
|
- | 797 | file 'MARIOALL.BMP' |
|
- | 798 | ||
- | 799 | I_END: |
|
- | 800 | ||
- | 801 | align 0x1000 |
|
- | 802 | ||
- | 803 | empty: rb block_img_size |
|
- | 804 | build_1: rb block_img_size |
|
- | 805 | build_2: rb block_img_size |
|
- | 806 | build_3: rb block_img_size |
|
- | 807 | ||
- | 808 | align 0x1000 |
|
- | 809 | ||
- | 810 | mario_1: rb mario_img_size |
|
- | 811 | mario_2: rb mario_img_size |
|
- | 812 | mario_3: rb mario_img_size |
|
- | 813 | mario_4: rb mario_img_size |
|
- | 814 | mario_5: rb mario_img_size |
|
- | 815 | mario_6: rb mario_img_size |
|
- | 816 | mario_green: rb mario_img_size |