It seems that my Full-HD screen is Bigger than 1024w*1024h*4colors:
align 4
FireThread proc uses esi edi ebx
LOCAL dScreenW:DWORD
LOCAL dScreenH:DWORD
LOCAL dScreenBits:DWORD
;
;
Invoke GetDC,hWinMain ;hwnd ;wnd ;hWinTarget
mov wnddc,eax
invoke GetProcessHeap
mov hHeap,eax
Invoke GetSystemMetrics,SM_CXSCREEN
mov dScreenW,eax
Invoke GetSystemMetrics,SM_CYSCREEN
mov dScreenH,eax
xor edx,edx
mov ecx,dScreenW
mul ecx
shl eax,4
mov dScreenBits,eax
invoke HeapAlloc,hHeap,HEAP_ZERO_MEMORY OR HEAP_GENERATE_EXCEPTIONS,dScreenBits ;2048*2048*8 ;1024*1024*4=4194304
;add eax,4096*4 ;4096 ; blur: -1'th line problem
mov ecx,dScreenW
shl ecx,4
add eax,ecx
mov bitmap1,eax
invoke HeapAlloc,hHeap,HEAP_ZERO_MEMORY OR HEAP_GENERATE_EXCEPTIONS,dScreenBits ;2048*2048*8 ;4194304
;add eax,4096*4;4096 ; blur: -1'th line problem
mov ecx,dScreenW
shl ecx,4
add eax,ecx
mov bitmap2,eax