From 6a4e004d0f646c8fd4950919075a4ee4a8a131b9 Mon Sep 17 00:00:00 2001 From: "Marat Zakiyanov (Mario79)" Date: Mon, 3 Nov 2014 14:44:07 +0000 Subject: [PATCH] MGB - fix "benchmark GS selector" for 16bpp (support SVN r.5154) git-svn-id: svn://kolibrios.org@5160 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/system/mgb/trunk/mgb.asm | 60 +++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/programs/system/mgb/trunk/mgb.asm b/programs/system/mgb/trunk/mgb.asm index 62a39d4bfb..d66bb4a265 100644 --- a/programs/system/mgb/trunk/mgb.asm +++ b/programs/system/mgb/trunk/mgb.asm @@ -1,10 +1,15 @@ ;============================================================================= -; Kolibri Graphics Benchmark 0.81 +; Kolibri Graphics Benchmark 0.82 ;-------------------------------------- ; MGB - Menuet Graphics Benchmark 0.3 ; Compile with FASM ; ;============================================================================= +; version: 0.82 +; last update: 03/11/2014 +; written by: Marat Zakiyanov aka Mario79, aka Mario +; changes: fix "benchmark GS selector" for 16bpp (support SVN r.5154) +;--------------------------------------------------------------------- ; version: 0.81 ; last update: 01/05/2014 ; written by: Marat Zakiyanov aka Mario79, aka Mario @@ -374,6 +379,9 @@ testGetScreen_GS: mcall 61,2 cmp eax,24 je get_area_with_GS_24 + + cmp eax,16 + je get_area_with_GS_16 ;----------------------------------------------------------------------------- align 4 get_area_with_GS_32: @@ -458,6 +466,54 @@ align 4 ret ;----------------------------------------------------------------------------- align 4 +get_area_with_GS_16: + mcall 61,3 + mov ebx,eax + + mov esi,GS_start_y + imul esi,eax + + mov eax,GS_start_x + shl eax,1 + add esi,eax + + mov ebp,GS_size_x + mov eax,ebp + shl eax,1 + sub ebx,eax + + mov edx,GS_size_y + sub esi,ebx +;-------------------------------------- +align 4 +.start_y: + add esi,ebx + mov ecx,ebp +;-------------------------------------- +align 4 +.start_x: + xor eax,eax + mov ax,[gs:esi] + shl eax, 3 + ror eax, 8 + shl ax, 2 + ror eax, 8 + shl al, 3 + rol eax, 16 + mov [edi],eax + add esi,2 + add edi,3 + + dec ecx + jnz .start_x + + dec edx + jnz .start_y + + pop edi + ret +;----------------------------------------------------------------------------- +align 4 testDrawVertLine: mcall 38,<300,300>,<30,380>,1090207Fh ret @@ -760,7 +816,7 @@ if lang eq it aTestText db 'This is a 34-charachters test text' aButtonsText db 'Test Commenti Pattern+ Apri Salva',0 - aCaption db 'Kolibri Graphical Benchmark 0.81',0 + aCaption db 'Kolibri Graphical Benchmark 0.82',0 aLeft db 'Sinistra:',0 aRight db 'Destra :',0