Rev 1632 | Rev 6342 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1632 | Rev 1643 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;---------------------------------------------------------- |
1 | ;---------------------------------------------------------- |
2 | ;--------change size of memory which use program----------- |
2 | ;--------change size of memory which use program----------- |
3 | ;---------------------------------------------------------- |
3 | ;---------------------------------------------------------- |
4 | ;GetMemory: |
- | |
5 | ; pushad |
- | |
6 | ; mov eax,64 |
- | |
7 | ; mov ebx,1 |
- | |
8 | ; mov ecx,[Picture_SizeX] |
- | |
9 | ; mov edx,[Picture_SizeY] |
- | |
10 | ; imul ecx,edx |
- | |
11 | ; lea ecx,[ecx+ecx*2] |
- | |
12 | ; lea ecx,[ecx+ecx*4] ;(Picture_SizeX*Picture_SizeY*3)*5 |
- | |
13 | ; add ecx,[ScreenPointer] |
- | |
14 | ; add ecx,(1200*1000)*3+50*(20*20*3)+500000+16000+0x4000 ; 4192384 |
- | |
15 | ; add ecx,[extended_memory] |
- | |
16 | ; mcall |
- | |
17 | ; test eax,eax |
- | |
18 | ; jz have_new_memory |
- | |
19 | ; mov esi,sound_havent_memory |
- | |
20 | ; call sound |
- | |
21 | ; jmp still |
- | |
22 | ;have_new_memory: |
- | |
23 | ; popad |
- | |
24 | ; ret |
- | |
25 | - | ||
26 | GetMemory: |
4 | GetMemory: |
27 | pushad |
5 | pusha |
28 | mov ecx,[Picture_SizeX] |
6 | mov ecx,[Picture_SizeX] |
29 | mov edx,[Picture_SizeY] |
7 | mov edx,[Picture_SizeY] |
30 | imul ecx,edx |
8 | imul ecx,edx |
31 | lea ecx,[ecx+ecx*2] |
9 | lea ecx,[ecx+ecx*2] |
32 | lea ecx,[ecx+ecx*4] ;(Picture_SizeX*Picture_SizeY*3)*5 |
10 | lea ecx,[ecx+ecx*4] ;(Picture_SizeX*Picture_SizeY*3)*5 |
Line 34... | Line 12... | ||
34 | mcall 68,20,,[ScreenPointer] |
12 | mcall 68,20,,[ScreenPointer] |
35 | test eax,eax |
13 | test eax,eax |
36 | jnz have_new_memory |
14 | jnz have_new_memory |
37 | mov esi,sound_havent_memory |
15 | mov esi,sound_havent_memory |
38 | call sound |
16 | call sound |
39 | pushad |
17 | popa |
- | 18 | add esp,4 |
|
40 | jmp still |
19 | jmp still |
Line 41... | Line 20... | ||
41 | 20 | ||
42 | have_new_memory: |
21 | have_new_memory: |
43 | mov [ScreenPointer],eax |
22 | mov [ScreenPointer],eax |
44 | call prepare_data_pointers |
23 | call prepare_data_pointers |
45 | popad |
24 | popa |
46 | ret |
25 | ret |
47 | ;--------------------------------------------------------- |
26 | ;--------------------------------------------------------- |
48 | prepare_data_pointers: |
27 | prepare_data_pointers: |
49 | mov eax,[Picture_SizeX] |
28 | mov eax,[Picture_SizeX] |
Line 70... | Line 49... | ||
70 | 49 | ||
71 | add [PointerToSpriteBufer],eax |
50 | add [PointerToSpriteBufer],eax |
72 | add [PointerToSpriteBufer],eax |
51 | add [PointerToSpriteBufer],eax |
73 | add [PointerToSpriteBufer],eax |
52 | add [PointerToSpriteBufer],eax |
- | 53 | add [PointerToSpriteBufer],eax |
|
- | 54 | ||
- | 55 | mov eax,[ScreenPointer] |
|
- | 56 | add eax,(1200*100*3)+50*(20*20*3)+1 |
|
- | 57 | mov [PointerToPalette],eax |
|
- | 58 | ||
- | 59 | mov eax,[ScreenPointer] |
|
- | 60 | add eax,(1200*1000)*3+50*(20*20*3)+8 |
|
74 | add [PointerToSpriteBufer],eax |
61 | mov [ReserveArray],eax |
75 | ret |
62 | ret |
76 | ;--------------------------------------------------------- |
63 | ;--------------------------------------------------------- |