From 311de65cb61d7cfe530fbd7e804a39d268192c58 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 20 May 2025 19:24:29 +0100 Subject: [PATCH] system/MyKey: Post-SVN clean up - Fix ASM include paths. - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden. --- programs/system/MyKey/ASPAPI.INC | 328 ++++++++++++++++--------------- 1 file changed, 165 insertions(+), 163 deletions(-) diff --git a/programs/system/MyKey/ASPAPI.INC b/programs/system/MyKey/ASPAPI.INC index 625dee015..c2dc0352b 100644 --- a/programs/system/MyKey/ASPAPI.INC +++ b/programs/system/MyKey/ASPAPI.INC @@ -1,163 +1,165 @@ -include '../../../proc32.inc' - -macro start_draw_window x,y,xsize,ysize,areacolor,caption,capsize -{ - ;pusha - mov eax, 12 ; function 12:tell os about windowdraw - mov ebx, 1 ; 1, start of draw - int 0x40 - ; DRAW WINDOW - mov eax, 0 ; function 0 : define and draw window - mov ebx, x*65536+xsize ; [x start] *65536 + [x size] - mov ecx, y*65536+ysize ; [y start] *65536 + [y size] - mov edx, areacolor ; color of work area RRGGBB - mov esi, 0x00334455 ; color of grab bar RRGGBB - mov edi, 0x00ddeeff ; color of frames RRGGBB - int 0x40 - ; WINDOW LABEL - mov eax, 4 ; function 4 : write text to window - mov ebx, 8*65536+8 ; [x start] *65536 + [y start] - mov ecx, 0x0;0ffffff ; color of text RRGGBB - mov edx, caption ; pointer to text beginning - mov esi, capsize ; text length - int 0x40 - ;popa -} - -macro end_draw_window -{ - mov eax, 12 ; end of redraw - mov ebx, 2 - int 0x40 -} - -macro change_window_place_size x,y,xsize,ysize -{ - mov eax, 67 ; function 67 : replace and/or resize window - mov ebx, x - mov ecx, y - mov edx, xsize - mov esi, ysize - int 0x40 -} - -proc draw_button stdcall, x:dword, y:dword, xsize:dword, ysize:dword, \ - id:dword, butcolor:dword, text:dword, textlen:byte, textcolor:dword - - pusha - mov ebx, dword [x] - shl ebx, 16 - add ebx, dword [xsize] ; [x start] *65536 + [x size] - - mov ecx, dword [y] - shl ecx, 16 - add ecx, dword [ysize] ; [y start] *65536 + [y size] - - mov edx, dword [id] ; button id - mov esi, dword [butcolor] ; button color RRGGBB - mov eax, 8 ; function 8 : define and draw button - int 0x40 - - mov ebx, dword [x] - add ebx, 5 - shl ebx, 16 - mov eax, dword [ysize] - sub eax, 5 - shr eax, 1 - add ebx, eax - add ebx, dword [y] ;mov ebx, (x+5)*65536+y+(ysize-5)/2 ; Draw button text - - mov ecx, dword [textcolor] - mov edx, dword [text] - xor eax, eax - mov al, byte [textlen] - mov esi, eax - mov eax, 4 - int 0x40 - popa -ret -endp - -;macro outtextxy x,y,prompt,prompt_len,color -;{ -proc outtextxy stdcall, x:dword, y:dword, prompt:dword, prompt_len:dword, color:dword - pusha - mov eax, 4 - mov ebx, dword [x] ; draw info text with function 4 - shl ebx, 16 - or ebx, dword [y] - mov ecx, dword [color] - mov edx, dword [prompt] - mov esi, dword [prompt_len] - test esi, esi - jnz @f - or ecx, 0x80000000 - @@: - int 0x40 - popa -ret -endp -;} - -;proc bar x:dword, y:dword, xsize:dword, ysize:dword, color:dword -macro bar x, y, xsize, ysize, color -{ - pusha - mov eax, 13 - ;mov ebx, [x] - ;shl ebx, 16 - ;add ebx, [xsize] - ;mov ecx, [y] - ;shl ecx, 16 - ;add ecx, [ysize] - ;mov edx, [color] - mov ebx, x*65536+xsize - mov ecx, y*65536+ysize - mov edx, color - - int 0x40 - popa -;ret -;endp -} - -macro line x1,y1,x2,y2,color -{ - pusha - mov eax, 38 - mov ebx, x1*65536+x2 - mov ecx, y1*65536+y2 - mov edx, color - int 0x40 - popa -} - -macro rectangle x,y,xsize,ysize,color -{ - x2=x+xsize - y2=y+ysize - line x,y,x2,y,color - line x,y,x,y2,color - line x,y2,x2,y2,color - line x2,y,x2,y2,color -} - -macro rectangle2 x,y,xsize,ysize,color1,color2 -{ - x2=x+xsize - y2=y+ysize - line x,y,x2,y,color1 - line x,y,x,y2,color1 - line x,y2,x2,y2,color2 - line x2,y,x2,y2,color2 -} - -macro putpixel x,y,color -{ - mov eax, 1 - mov ebx, x - mov ecx, y - mov edx, color - int 0x40 -} - +; SPDX-License-Identifier: NOASSERTION +; + +include '../../proc32.inc' + +macro start_draw_window x,y,xsize,ysize,areacolor,caption,capsize +{ + ;pusha + mov eax, 12 ; function 12:tell os about windowdraw + mov ebx, 1 ; 1, start of draw + int 0x40 + ; DRAW WINDOW + mov eax, 0 ; function 0 : define and draw window + mov ebx, x*65536+xsize ; [x start] *65536 + [x size] + mov ecx, y*65536+ysize ; [y start] *65536 + [y size] + mov edx, areacolor ; color of work area RRGGBB + mov esi, 0x00334455 ; color of grab bar RRGGBB + mov edi, 0x00ddeeff ; color of frames RRGGBB + int 0x40 + ; WINDOW LABEL + mov eax, 4 ; function 4 : write text to window + mov ebx, 8*65536+8 ; [x start] *65536 + [y start] + mov ecx, 0x0;0ffffff ; color of text RRGGBB + mov edx, caption ; pointer to text beginning + mov esi, capsize ; text length + int 0x40 + ;popa +} + +macro end_draw_window +{ + mov eax, 12 ; end of redraw + mov ebx, 2 + int 0x40 +} + +macro change_window_place_size x,y,xsize,ysize +{ + mov eax, 67 ; function 67 : replace and/or resize window + mov ebx, x + mov ecx, y + mov edx, xsize + mov esi, ysize + int 0x40 +} + +proc draw_button stdcall, x:dword, y:dword, xsize:dword, ysize:dword, \ + id:dword, butcolor:dword, text:dword, textlen:byte, textcolor:dword + + pusha + mov ebx, dword [x] + shl ebx, 16 + add ebx, dword [xsize] ; [x start] *65536 + [x size] + + mov ecx, dword [y] + shl ecx, 16 + add ecx, dword [ysize] ; [y start] *65536 + [y size] + + mov edx, dword [id] ; button id + mov esi, dword [butcolor] ; button color RRGGBB + mov eax, 8 ; function 8 : define and draw button + int 0x40 + + mov ebx, dword [x] + add ebx, 5 + shl ebx, 16 + mov eax, dword [ysize] + sub eax, 5 + shr eax, 1 + add ebx, eax + add ebx, dword [y] ;mov ebx, (x+5)*65536+y+(ysize-5)/2 ; Draw button text + + mov ecx, dword [textcolor] + mov edx, dword [text] + xor eax, eax + mov al, byte [textlen] + mov esi, eax + mov eax, 4 + int 0x40 + popa +ret +endp + +;macro outtextxy x,y,prompt,prompt_len,color +;{ +proc outtextxy stdcall, x:dword, y:dword, prompt:dword, prompt_len:dword, color:dword + pusha + mov eax, 4 + mov ebx, dword [x] ; draw info text with function 4 + shl ebx, 16 + or ebx, dword [y] + mov ecx, dword [color] + mov edx, dword [prompt] + mov esi, dword [prompt_len] + test esi, esi + jnz @f + or ecx, 0x80000000 + @@: + int 0x40 + popa +ret +endp +;} + +;proc bar x:dword, y:dword, xsize:dword, ysize:dword, color:dword +macro bar x, y, xsize, ysize, color +{ + pusha + mov eax, 13 + ;mov ebx, [x] + ;shl ebx, 16 + ;add ebx, [xsize] + ;mov ecx, [y] + ;shl ecx, 16 + ;add ecx, [ysize] + ;mov edx, [color] + mov ebx, x*65536+xsize + mov ecx, y*65536+ysize + mov edx, color + + int 0x40 + popa +;ret +;endp +} + +macro line x1,y1,x2,y2,color +{ + pusha + mov eax, 38 + mov ebx, x1*65536+x2 + mov ecx, y1*65536+y2 + mov edx, color + int 0x40 + popa +} + +macro rectangle x,y,xsize,ysize,color +{ + x2=x+xsize + y2=y+ysize + line x,y,x2,y,color + line x,y,x,y2,color + line x,y2,x2,y2,color + line x2,y,x2,y2,color +} + +macro rectangle2 x,y,xsize,ysize,color1,color2 +{ + x2=x+xsize + y2=y+ysize + line x,y,x2,y,color1 + line x,y,x,y2,color1 + line x,y2,x2,y2,color2 + line x2,y,x2,y2,color2 +} + +macro putpixel x,y,color +{ + mov eax, 1 + mov ebx, x + mov ecx, y + mov edx, color + int 0x40 +}