Subversion Repositories Kolibri OS

Rev

Rev 6342 | Rev 6357 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6342 IgorA 1
 
2
mem_panel_b equ 50*(20*20*3) ;размер памяти для панели инструментов
3
mem_flood_f equ 500000 ;размер буфера для заливки, а также для палитры
4
5
 
255 heavyiron 6
;--------change size of memory which use program-----------
7
;----------------------------------------------------------
8
GetMemory:
9
	pusha
1643 mario79 10
	mov	ecx,[Picture_SizeX]
1632 mario79 11
	mov	edx,[Picture_SizeY]
12
	imul	ecx,edx
13
	lea	ecx,[ecx+ecx*2]
14
	lea	ecx,[ecx+ecx*4] ;(Picture_SizeX*Picture_SizeY*3)*5
6342 IgorA 15
	add	ecx,mem_screen+mem_panel_b+mem_flood_f
16
	mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
17
	test eax,eax
18
	jnz	have_new_memory
1632 mario79 19
	mov	esi,sound_havent_memory
20
	call	sound
21
	popa
1643 mario79 22
	add	esp,4
23
	jmp	still
1632 mario79 24
255 heavyiron 25
 
1632 mario79 26
	mov	[ScreenPointer],eax
27
	call	prepare_data_pointers
28
	popa
1643 mario79 29
	ret
1632 mario79 30
;---------------------------------------------------------
31
prepare_data_pointers:
32
	mov	eax,[Picture_SizeX]
33
	mov	ebx,[Picture_SizeY]
34
	imul	eax,ebx
35
	lea	eax,[eax+eax*2]
36
	mov	ebx,[ScreenPointer]
37
	add	ebx,mem_screen+mem_panel_b+mem_flood_f
6342 IgorA 38
255 heavyiron 39
 
1632 mario79 40
	mov	[PointerToCopyPicture],ebx
41
	mov	[PointerToCopyPicture2],ebx
42
	mov	[PointerToEditBufer],ebx
43
	mov	[PointerToSpriteBufer],ebx
44
255 heavyiron 45
 
1632 mario79 46
255 heavyiron 47
 
1632 mario79 48
	add	[PointerToCopyPicture2],eax
49
50
 
51
	add	[PointerToEditBufer],eax
52
	add	[PointerToEditBufer],eax
53
54
 
6327 IgorA 55
	add	[PointerToSpriteBufer],eax
1632 mario79 56
1643 mario79 57
 
58
	add	eax,mem_screen+mem_panel_b
6342 IgorA 59
	mov	[PointerToPalette],eax
1643 mario79 60
	mov	[ReserveArray],eax
61
6352 IgorA 62
 
63
	and [PosX],0
64
	and [PosY],0
65
	mov [Scroll1CoordinatX],9 ;8+1
66
	mov [Scroll2CoordinatY],89 ;20+15+1+50+3
67
	ret
1632 mario79 68
;---------------------------------------------------------
69