diff --git a/Zenith-latest-2020-02-23-15_24_39.iso b/Zenith-latest-2020-02-24-00_08_43.iso similarity index 99% rename from Zenith-latest-2020-02-23-15_24_39.iso rename to Zenith-latest-2020-02-24-00_08_43.iso index 6877dbbb..520a5b36 100755 Binary files a/Zenith-latest-2020-02-23-15_24_39.iso and b/Zenith-latest-2020-02-24-00_08_43.iso differ diff --git a/src/Doc/ChangeLog.DD b/src/Doc/ChangeLog.DD index 866a3893..0daf5303 100755 --- a/src/Doc/ChangeLog.DD +++ b/src/Doc/ChangeLog.DD @@ -1,4 +1,7 @@ $WW,1$$FG,5$$TX+CX,"ChangeLog"$$FG$ +$IV,1$----02/23/20 23:59:37----$IV,0$ +* Added new $LK,"bitmap mouse",A="MN:DrawStdMouse"$. + $IV,1$----02/23/20 02:36:28----$IV,0$ * Renamed err -> error. diff --git a/src/Home/SSE.CC b/src/Home/SSE.CC new file mode 100755 index 00000000..9873560b --- /dev/null +++ b/src/Home/SSE.CC @@ -0,0 +1,37 @@ +U0 MovQ() +{ + MOV RBX, 30 + DU8 0x66, 0x48, 0x0F, 0x6E, 0xC3; //MOVQ XMM0, RBX + DU8 0x66, 0x48, 0x0F, 0x7E, 0xC0; //MOVQ RAX, XMM0 + + "%d\n", GetRAX; +} + +MovQ; + +asm { + +// ALIGN 16 +DATA1: DU64 0xFFFFFFFF00000000, 0x00000000FFFFFFFF; +DATA2: DU64 0x00000000FFFFFFFF, 0xFFFFFFFF00000000; + +_POR_TEST:: + DU8 0xF3, 0x0F, 0x6F, 0x04, 0x25; //MOVDQU XMM0, [DATA1] + DU32 DATA1; + DU8 0xF3, 0x0F, 0x6F, 0x0C, 0x25; //MOVDQU XMM1, [DATA2] + DU32 DATA2; + DU8 0x66, 0x0F, 0xEB, 0xC1; //POR XMM0, XMM1 + DU8 0x66, 0x48, 0x0F, 0x7E, 0xC0; //MOVQ RAX, XMM0 + DU8 0x66, 0x48, 0x0F, 0x3A, 0x16, 0xC3, 0x01; //PEXTRQ RBX, XMM0, 1 + + CALL PUT_HEX_U64 + MOV RAX, ' '; + CALL PUT_CHARS + MOV RAX, RBX + CALL PUT_HEX_U64 + MOV RAX, '\n' + CALL PUT_CHARS + RET +} + +Call(_POR_TEST); \ No newline at end of file diff --git a/src/Kernel/KernelA.HH b/src/Kernel/KernelA.HH index 18d93429..ea910b48 100755 --- a/src/Kernel/KernelA.HH +++ b/src/Kernel/KernelA.HH @@ -1598,8 +1598,8 @@ class CWinMgrTimingGlobals I64 calc_idle_count; }; -#define WINMGR_FPS (30000.0/1001) -#define WINMGR_PERIOD (1001/30000.0) +#define WINMGR_FPS (60000.0/1001) +#define WINMGR_PERIOD (1001/60000.0) public class CWinMgrGlobals { diff --git a/src/Zenith/Gr/GrComposites.CC b/src/Zenith/Gr/GrComposites.CC index 471ac3a3..24e1de7a 100755 --- a/src/Zenith/Gr/GrComposites.CC +++ b/src/Zenith/Gr/GrComposites.CC @@ -294,18 +294,6 @@ mesh_done: return res; } -#help_index "Graphics/Misc;Mouse/Ptr" -public U0 DrawStdMouse(CDC *dc,I64 x,I64 y) -{//This is a callback. See $LK,"::/Demo/Graphics/Grid.CC"$. -//Called by $LK,"DrawMouse",A="MN:DrawMouse"$() which is - //called by $LK,"WinFinalUpdate",A="MN:WinFinalUpdate"$(). - dc->flags&=~(DCF_TRANSFORMATION|DCF_SYMMETRY); - dc->thick=1; - GrArrow3(dc,x+8,y+8,0,x,y,0); -} - -gr.fp_draw_mouse=&DrawStdMouse; - public U0 DrawWaitMouse(CDC *dc,I64 x,I64 y) {//This is a callback. See $LK,"::/Demo/Graphics/Grid.CC"$. I64 old_pen_width=dc->thick; diff --git a/src/Zenith/Gr/GrInitB.CC b/src/Zenith/Gr/GrInitB.CC index 3e55f053..9588e8b8 100755 --- a/src/Zenith/Gr/GrInitB.CC +++ b/src/Zenith/Gr/GrInitB.CC @@ -168,7 +168,7 @@ U0 GrInit2() HashDefineListAdd("ST_SPRITE_ELEM_CODES",SPHT_ELEM_CODE,gr.sprite_hash); gr.screen_zoom=1; - PaletteSetPastel; + PaletteSetDark; gr.to_8_bits =MAlloc(256*sizeof(I64)); gr.to_8_colors=MAlloc(256*sizeof(I64)); diff --git a/src/Zenith/Win.CC b/src/Zenith/Win.CC index a41fac37..ccd8a1f7 100755 --- a/src/Zenith/Win.CC +++ b/src/Zenith/Win.CC @@ -181,13 +181,8 @@ U0 DrawMouse(CDC *dc) POPFD if (mouse.show && mouse_hard.installed) { - if (gr.fp_draw_mouse) { - if (mouse.lb) - dc->color=LTGREEN; - else if (mouse.rb) - dc->color=LTRED; - else - dc->color=BLACK; + if (gr.fp_draw_mouse) + { if (winmgr.grab_scroll && gr.fp_draw_grab_mouse) (*gr.fp_draw_grab_mouse)(dc,x,y,winmgr.grab_scroll_closed); else diff --git a/src/Zenith/ZMouse.CC b/src/Zenith/ZMouse.CC index f2127e0a..d9f5c697 100755 Binary files a/src/Zenith/ZMouse.CC and b/src/Zenith/ZMouse.CC differ