forked from KolibriOS/kolibrios
Kernel: fixed work with zero-size windows
launcher, @rb: modified to use function 70 git-svn-id: svn://kolibrios.org@142 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -816,12 +816,11 @@ terminate: ; terminate application
|
||||
add eax,[esi+WDATA.box.height]
|
||||
mov [dlye],eax
|
||||
|
||||
mov [esi+WDATA.box.left], 0
|
||||
mov [esi+WDATA.box.width], 5
|
||||
mov eax,[0xFE04]
|
||||
mov [esi+WDATA.box.top],eax
|
||||
mov [esi+WDATA.box.height], 5
|
||||
xor eax, eax
|
||||
mov [esi+WDATA.box.left],eax
|
||||
mov [esi+WDATA.box.width],eax
|
||||
mov [esi+WDATA.box.top],eax
|
||||
mov [esi+WDATA.box.height],eax
|
||||
mov [esi+WDATA.cl_workarea],eax
|
||||
mov [esi+WDATA.cl_titlebar],eax
|
||||
mov [esi+WDATA.cl_frames],eax
|
||||
|
@@ -191,16 +191,17 @@
|
||||
* ebx = [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
|
||||
* ecx = 0xX0RRGGBB, <20><><EFBFBD>
|
||||
* RR, GG, BB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<> ⥪<><E2A5AA><EFBFBD>
|
||||
* X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD>: 0=<3D><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ਭ<EFBFBD><E0A8AD><EFBFBD>,
|
||||
* X=ABnn (<28><><EFBFBD><EFBFBD>):
|
||||
* nn <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD>: 0=<3D><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ਭ<EFBFBD><E0A8AD><EFBFBD>,
|
||||
1=<3D><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><>ਭ<EFBFBD>
|
||||
* A=0 - <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD> esi ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>, A=1 - <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD> ASCIIZ-<2D><>ப<EFBFBD>
|
||||
* B=1 - <20><><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD> 䮭 梥⮬ edi
|
||||
* edx = 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> <20><>ப<EFBFBD>
|
||||
* esi = <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 255
|
||||
* esi = <20><><EFBFBD> A=0 <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 255;
|
||||
<20><><EFBFBD> A=1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (esi and 0xFF) ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>,
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20><> (<28><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饣<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
(<28><><EFBFBD> ASCIIZ-<2D><>ப) <20> <20><><EFBFBD><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD> <20><> ⮣<>, <20><><EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠭<><E0A0AD><EFBFBD>.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㧪<EFBFBD> <20><> 䠩<><E4A0A9> char.mt,
|
||||
<20><><EFBFBD>ன - <20><> char2.mt.
|
||||
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 9 <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB>, <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -325,7 +326,7 @@
|
||||
* +8: word: <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>
|
||||
* +10 = +0xA: 11 <20><><EFBFBD><EFBFBD>: <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<28><><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饣<EFBFBD> <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20> <20><>ଠ<EFBFBD><E0ACA0> 8+3)
|
||||
* +21 = +0x15: byte: <20><>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* +21 = +0x15: byte: <20><>१<EFBFBD>ࢨ<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* +22 = +0x16: dword: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* +26 = +0x1A: dword: ࠧ<><E0A0A7><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 1
|
||||
* +30 = +0x1E: dword: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> (PID/TID)
|
||||
@@ -344,6 +345,17 @@
|
||||
* 5 = <20><>⮪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
||||
* 9 = <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD><EFBFBD> <> <><E1A2AE><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><>⠫쭠<E2A0AB> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20>
|
||||
<><E1ABAE> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
* +52 = +0x34: word: <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>, <20><><EFBFBD> <><E1ABAE> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* +54 = +0x36: dword: <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><> <20><><EFBFBD> x
|
||||
* +58 = +0x3A: dword: <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><> <20><><EFBFBD> y
|
||||
* +62 = +0x3E: dword: <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* +66 = +0x42: dword: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* +70 = +0x46: byte: <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><><EFBFBD><EFBFBD> - <20><>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD> 0 (<28><>᪠ 1): <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD><E0AEA2><EFBFBD>
|
||||
* <20><><EFBFBD> 1 (<28><>᪠ 2): <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD> 2 (<28><>᪠ 4): <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD> <20>㬥<EFBFBD><E3ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 1.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><> <20><><EFBFBD><EFBFBD> <20><>饥 <20><> <20><>⮪<EFBFBD><E2AEAA>, <20><><EFBFBD><E1AAAE><EFBFBD><EFBFBD>
|
||||
@@ -366,7 +378,8 @@
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠢ<><E0A0A2> 0, ࠧ<><E0A0A7><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
16 Mb (0x1000000)
|
||||
* PID=1
|
||||
* <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠢ<>묨 0
|
||||
* <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, ࠢ<><E0A0A2> <EFBFBD><EFBFBD><EFBFBD> <20> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||
<20><EFBFBD><E1ABAE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠢ<>묨 0
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <><E1ABAE> - <20>ᥣ<EFBFBD><E1A5A3> 0 (<28>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
* <20>६<EFBFBD> <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪫<><E1AAAB>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD>, <20>室<EFBFBD>饣<EFBFBD> <20><>
|
||||
ᮡ<>⢥<EFBFBD><E2A2A5><EFBFBD> ࠡ<><E0A0A1><EFBFBD>, <20> <20>६<EFBFBD><E0A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD>
|
||||
@@ -385,8 +398,9 @@
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>⮪<EFBFBD><E2AEAA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮭<EFBFBD><E2AEAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
* <20> <20><>⮪ <20><><EFBFBD> <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> <> <20><><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20>㭪樨 0, <20><>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ﬨ.
|
||||
* <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD>.
|
||||
* <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7>
|
||||
52 = 0x34 <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ४<><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
71 = 0x47 <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ४<><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
ࠧ<><E0A0A7> 1 <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>饩 ᮢ<><E1AEA2><EFBFBD>⨬<EFBFBD><E2A8AC><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD>饬 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
|
||||
@@ -2083,7 +2097,12 @@ db 'Kolibri',0
|
||||
* <20><><EFBFBD><EFBFBD> 22-31 <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 0
|
||||
* ecx = <20><> (<28><><EFBFBD> bl=0) <20><><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> (<28><><EFBFBD> bl=1)
|
||||
* edx = [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
|
||||
* esi = 0xN0RRGGBB, RRGGBB=梥<>, N=<3D><><EFBFBD><EFBFBD><EFBFBD> (0/1)
|
||||
* esi = 0xX0RRGGBB:
|
||||
* RR, GG, BB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<>
|
||||
* X = ABnn (<28><><EFBFBD><EFBFBD>)
|
||||
* nn = <20><><EFBFBD><EFBFBD><EFBFBD> (0/1)
|
||||
* A <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* B=1 - <20><><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD> 䮭 梥⮬ edi
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
|
@@ -321,7 +321,7 @@ Returned value:
|
||||
* +8: word: reserved
|
||||
* +10 = +0xA: 11 bytes: name of the process
|
||||
(name of corresponding executable file in the format 8+3)
|
||||
* +21 = +0x15: byte: alignment, this byte preserves
|
||||
* +21 = +0x15: byte: reserved, this byte is not changed
|
||||
* +22 = +0x16: dword: address of the process in memory
|
||||
* +26 = +0x1A: dword: size of used memory - 1
|
||||
* +30 = +0x1E: dword: identifier (PID/TID)
|
||||
@@ -340,6 +340,15 @@ Returned value:
|
||||
* 5 = thread waits for event
|
||||
* 9 = requested slot is free, all other information on the slot
|
||||
is not meaningful
|
||||
* +52 = +0x34: word: reserved, this word is not changed
|
||||
* +54 = +0x36: dword: coordinate of the client area on axis x
|
||||
* +58 = +0x3A: dword: coordinate of the client area on axis y
|
||||
* +62 = +0x3E: dword: width of the client area
|
||||
* +66 = +0x42: dword: height of the client area
|
||||
* +70 = +0x46: byte: state of the window - bitfield
|
||||
* bit 0 (mask 1): window is maximized
|
||||
* bit 1 (mask 2): window is minimized to panel
|
||||
* bit 2 (mask 4): window is rolled up
|
||||
Remarks:
|
||||
* Slots are numbered starting from 1.
|
||||
* Returned value is not a total number of threads, because there
|
||||
@@ -362,7 +371,8 @@ Remarks:
|
||||
* address of the process in memory is 0, size of used memory is
|
||||
16 Mb (0x1000000)
|
||||
* PID=1
|
||||
* coordinates and sizes of the window are by convention set to 0
|
||||
* coordinates and sizes of the window and the client area are by
|
||||
convention set to 0
|
||||
* status of the slot is always 0 (running)
|
||||
* the execution time adds of time leaving on operations itself
|
||||
and idle time in waiting for interrupt (which can be got by call
|
||||
@@ -381,8 +391,9 @@ Remarks:
|
||||
* If the thread has not yet defined the window by call to
|
||||
function 0, the position and the sizes
|
||||
of its window are considered to be zero.
|
||||
* Coordinates of the client area are relative to the window.
|
||||
* At the moment only the part of the buffer by a size
|
||||
52 = 0x34 bytes is used. Nevertheless it is recommended to use
|
||||
71 = 0x37 bytes is used. Nevertheless it is recommended to use
|
||||
1-Kb buffer for the future compatibility, in the future
|
||||
some fields can be added.
|
||||
|
||||
|
@@ -145,6 +145,17 @@ setscreen:
|
||||
; edx y end
|
||||
; esi process number
|
||||
pushad
|
||||
; \begin{diamond}[29.08.2006]
|
||||
cmp esi, 1
|
||||
jz @f
|
||||
mov edi, esi
|
||||
shl edi, 5
|
||||
cmp [edi+window_data+WDATA.box.width], 0
|
||||
jnz @f
|
||||
cmp [edi+window_data+WDATA.box.height], 0
|
||||
jz .ret
|
||||
@@:
|
||||
; \end{diamond}[29.08.2006]
|
||||
mov edi, esi ;;;word [esi*2+0xc400]
|
||||
shl edi, 8
|
||||
add edi, 0x80000 ; address of random shaped window area
|
||||
@@ -183,6 +194,7 @@ pushad
|
||||
sub edi, ecx
|
||||
dec edx
|
||||
jnz .new_y
|
||||
.ret:
|
||||
popad
|
||||
ret
|
||||
.read_byte:
|
||||
|
@@ -28,7 +28,7 @@ START: ; start of execution
|
||||
|
||||
mcall 18,15
|
||||
|
||||
mov eax, 58 ; load AUTORUN.DAT
|
||||
mov eax, 70 ; load AUTORUN.DAT
|
||||
mov ebx, autorun_dat_info
|
||||
int 0x40
|
||||
|
||||
@@ -59,7 +59,7 @@ START: ; start of execution
|
||||
|
||||
run_program: ; time to delay in eax
|
||||
push eax
|
||||
mcall 58, start_info
|
||||
mcall 70, start_info
|
||||
pop ebx
|
||||
|
||||
mov eax, 5
|
||||
@@ -77,7 +77,6 @@ START: ; start of execution
|
||||
|
||||
mov ecx, 60
|
||||
mov edi, parameters
|
||||
xor al, al
|
||||
rep stosb
|
||||
|
||||
popad
|
||||
@@ -112,13 +111,11 @@ START: ; start of execution
|
||||
xor ebx, ebx
|
||||
.start:
|
||||
lodsb
|
||||
cmp al, '0'
|
||||
jb .finish
|
||||
cmp al, '9'
|
||||
ja .finish
|
||||
sub al, '0'
|
||||
imul ebx, 10
|
||||
add ebx, eax
|
||||
cmp al, 9
|
||||
ja .finish
|
||||
lea ebx,[ebx*4+ebx]
|
||||
lea ebx,[ebx*2+eax]
|
||||
inc [position]
|
||||
jmp .start
|
||||
.finish:
|
||||
@@ -180,17 +177,17 @@ START: ; start of execution
|
||||
autorun_dat_info: ; AUTORUN.DAT
|
||||
.mode dd 0 ; read file
|
||||
.start_block dd 0 ; block to read
|
||||
.blocks dd 0x10 ; 16*512 bytes max
|
||||
dd 0
|
||||
.blocks dd 16*512 ; 16*512 bytes max
|
||||
.address dd file_data
|
||||
.workarea dd work_area
|
||||
db "/RD/1/AUTORUN.DAT",0
|
||||
|
||||
start_info:
|
||||
.mode dd 16
|
||||
.mode dd 7
|
||||
dd 0
|
||||
.params dd parameters
|
||||
dd 0
|
||||
.workarea dd work_area
|
||||
dd 0
|
||||
.path: ;
|
||||
|
||||
I_END:
|
||||
@@ -200,5 +197,4 @@ I_END:
|
||||
|
||||
number_of_files dd ?
|
||||
|
||||
work_area rb 0x4000
|
||||
file_data rb 16*512
|
||||
|
@@ -13,10 +13,6 @@ include 'macros.inc'
|
||||
meos_app_start
|
||||
code
|
||||
|
||||
mov [start_info.mode], 16
|
||||
mov [start_info.params], 0
|
||||
mov [start_info.workarea], work_area
|
||||
|
||||
mov eax,40 ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ᮡ<>⨩
|
||||
mov ebx,100000b ; <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD>
|
||||
int 0x40
|
||||
@@ -26,9 +22,6 @@ still: ;
|
||||
mov eax,10 ; <20><><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
||||
int 0x40
|
||||
|
||||
cmp eax,6 ; <20><><EFBFBD><EFBFBD>?
|
||||
jne still
|
||||
|
||||
mov eax,37 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
mov ebx,2
|
||||
int 0x40
|
||||
@@ -141,12 +134,13 @@ exit: ;
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
start_wnd:
|
||||
mov [menu_opened],1
|
||||
call draw_window
|
||||
|
||||
mov eax,40 ; <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮡ<>⨩ <20><><EFBFBD> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,100101b ; <20><><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>
|
||||
int 0x40
|
||||
|
||||
red:
|
||||
call draw_window
|
||||
|
||||
still2: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 横<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
mov eax,10 ; <20><><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>
|
||||
@@ -172,32 +166,24 @@ mouse: ;
|
||||
jmp exit_menu ; <20> <20> <20><><EFBFBD>-⠪<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
red:
|
||||
call draw_window
|
||||
jmp still2
|
||||
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
button:
|
||||
mov eax,17 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
int 0x40
|
||||
|
||||
cmp ah,10 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 10
|
||||
sub ah,10 ; <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 10
|
||||
jl nofuncbtns ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
add ah,-10 ; <20><><EFBFBD>⥬ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10
|
||||
movzx ebx,ah ; <20><><EFBFBD><EFBFBD>稫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20> ᯨ᪥ <20> ebx
|
||||
lea esi, [startapps + ebx*4]
|
||||
lea edi, [start_info.path]
|
||||
mov esi, [esi]
|
||||
mov esi, [startapps + ebx*4]
|
||||
mov edi, start_info.path
|
||||
cld
|
||||
@@:
|
||||
lodsb
|
||||
stosb
|
||||
test al, al
|
||||
jnz @b
|
||||
mcall 58, start_info
|
||||
mcall 70, start_info
|
||||
|
||||
; mov eax,5 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; mov ebx,1 ; <20> <20><> <20><> <20><><EFBFBD><EFBFBD> <20><> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> (<28><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>???)
|
||||
@@ -279,12 +265,23 @@ draw_window:
|
||||
mov eax, 4 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx, header_pos ; [x] shl 16 + [y]
|
||||
mov ecx, [sc.grab_text]; <20><><EFBFBD><EFBFBD><EFBFBD> <20> 梥<> (<28><><EFBFBD><EFBFBD><EFBFBD>)
|
||||
add ecx, -0x333333
|
||||
or ecx, 0x10000000
|
||||
; add ecx, -0x333333
|
||||
push ecx
|
||||
push ecx
|
||||
xor edx,edx
|
||||
.dec_color:
|
||||
sub byte [esp+edx], 0x33
|
||||
jae @f
|
||||
mov byte [esp+edx], 0
|
||||
@@:
|
||||
inc edx
|
||||
jnp .dec_color
|
||||
pop ecx
|
||||
mov edx, header ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, header.size ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ("M E N U")
|
||||
int 0x40
|
||||
add ecx, 0x333333 ; 梥<> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
pop ecx
|
||||
add ebx, 1 shl 16 ; ᤢ<><E1A4A2><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD> <20><> 1
|
||||
int 0x40
|
||||
|
||||
@@ -348,7 +345,7 @@ DATA
|
||||
<"/RD/1/JPEGVIEW",0> ,\
|
||||
<"/RD/1/CPU",0> ,\
|
||||
<"/RD/1/SPANEL",0> ,\
|
||||
<"/RD/1/ICONMNGR",0> ,\
|
||||
<"/RD/1/ICON2",0> ,\
|
||||
<"/RD/1/VRR",0>
|
||||
|
||||
; header: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -363,7 +360,7 @@ DATA
|
||||
; db 'Panel setup '
|
||||
; db 'Icon manager'
|
||||
|
||||
sz header, "MenuetOS"
|
||||
sz header, "KolibriOS"
|
||||
|
||||
lsz text,\
|
||||
en, 'Background ',\
|
||||
@@ -384,7 +381,14 @@ DATA
|
||||
ru, '<27><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ',\
|
||||
ru, '<27><><EFBFBD><EFBFBD>ன<EFBFBD><E0AEA9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '
|
||||
|
||||
|
||||
start_info:
|
||||
.mode dd 7
|
||||
dd 0
|
||||
.params dd 0
|
||||
dd 0
|
||||
dd 0
|
||||
db 0
|
||||
dd start_info.path
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UDATA
|
||||
@@ -396,23 +400,12 @@ UDATA
|
||||
|
||||
menu_opened db ? ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>? (1-<2D><>, 0-<2D><><EFBFBD>)
|
||||
|
||||
align 32
|
||||
start_info:
|
||||
.mode dd ?
|
||||
dd ?
|
||||
.params dd ?
|
||||
dd ?
|
||||
.workarea dd ?
|
||||
.path:
|
||||
rb 256
|
||||
|
||||
align 4
|
||||
start_info.path rb 256
|
||||
|
||||
sc system_colors ; <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> 梥<><E6A2A5>
|
||||
procinfo process_information ; <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
work_area:
|
||||
rb 0x1000
|
||||
|
||||
rb 1024 ; <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> - 墠<><E5A2A0><EFBFBD> <20> 1 <20><>
|
||||
align 32
|
||||
stack_wnd:
|
||||
|
Reference in New Issue
Block a user