Subversion Repositories Kolibri OS

Rev

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
;---------------------------------------------------------