File system: new function 70.4 to set file size

Graphics: fixed error when putimage and drawrect do not draw pixels
          on right and bottom window sides
Processes: fixed kernel fault when program to load is too big
Programs: EYES: now it works with new kernel (rev. 130). Size optimization.
                Blinking deleted.

git-svn-id: svn://kolibrios.org@133 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Evgeny Grechnikov (Diamond)
2006-08-21 13:06:02 +00:00
parent 8df5cba38d
commit ec76c66cd2
19 changed files with 1571 additions and 1239 deletions

View File

@@ -985,6 +985,7 @@ db 'Kolibri',0
<20><><EFBFBD><EFBFBD><E7A5AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> 1 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>
<20><><EFBFBD><EBA3A0> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AAAE><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1).
<20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SETUP.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 <20><> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>. <20><><20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><><E3A7AD><EFBFBD><>饥 ࠧ<><E0A0A7><EFBFBD><E8A5AD> <20><><EFBFBD> (<28><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 14)
<20> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E5AEA4> <20><> <20><EFBFBD><E0A5A4><EFBFBD>
@@ -1850,6 +1851,8 @@ db 'Kolibri',0
* ecx = [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD> y]*65536 +
[<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
* edx = 0x00RRGGBB - 梥<>
edx = 0x01xxxxxx - <20><><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A7>
(<28><><EFBFBD><EFBFBD>訥 24 <20><><EFBFBD><EFBFBD> <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>:
@@ -2901,7 +2904,6 @@ dword-
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 0 - <20><EFBFBD><E2A5AD><><E4A0A9>/<2F><><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1 - <20><><EFBFBD><E0A5A7><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 2 - 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>/<2F><><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 䠩<>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><E0A5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><E9A5AD><><E4A0A9>/<2F><><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 8 - LBA-<2D><EFBFBD><E2A5AD> <20> <20><><EFBFBD><EFBFBD>
@@ -3016,39 +3018,6 @@ dword-
(<28>.<2E>. ४<><E0A5AA><EFBFBD><E1A8A2> <20><> <20><EFBFBD><><E4A0A9><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD>.
======================================================================
==== <20><EFBFBD><E3ADAA><EFBFBD> 58, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 䠩<>. ===
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 58 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
* ebx = 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* +0: dword: 3 = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
* +4: dword: <20><>砫쭠<E7A0AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E4A0A9>; -1 = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
* +8: dword: <20><><20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* +12 = +0xC: dword: 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* +16 = +0x10: dword: 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD>
(4096 <20><><EFBFBD><EFBFBD>)
* +20 = +0x14: ASCIIZ-<2D><><EFBFBD><><E4A0A9>, <20><EFBFBD><E0A0A2><EFBFBD> <20><>ନ஢<E0ACA8><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E3AAA0><EFBFBD><EFBFBD> <20>
<20><><20><><EFBFBD><EFBFBD><E1A0AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = 0 - <20>ᯥ譮, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E8A8A1><><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
* ebx ࠧ<><E0A0A7><EFBFBD><E8A0A5><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 <20>㭪樨 70.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E1AAA5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD>, <20><><EFBFBD> ⮫쪮 <20><><EFBFBD>
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>.
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2AE><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD> 5, not found).
<20><><EFBFBD><><E1AEA7><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1.
* <20><20><>砫쭠<E7A0AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><><E4A0A9>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD>
eax=6(EOF). <20><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><><E4A0A9>,
<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <20><><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E2AAAE> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><EFBFBD><E3ABA5><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD> +8 <20><><EFBFBD><><E3AAA0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD><><E4A0A9> <20><><><E0A0A7><EFBFBD><EFBFBD>,
<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> +4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⪨ 58-<2D> <20>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
(<28> eax=0) <20> <20><><EFBFBD><20><EFBFBD><E3ABA5><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD>.
======================================================================
============== <20><EFBFBD><E3ADAA><EFBFBD> 58, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. =============
======================================================================
@@ -4139,6 +4108,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1 - <20><EFBFBD><E2A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 2 - ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><E0A5A7><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 䠩<>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><><E4A0A9>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD>⮢ 䠩<><E4A0A9>/<2F><><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 6 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⮢ 䠩<><E4A0A9>/<2F><><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 7 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
@@ -4329,6 +4299,38 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
* <20><20><>砫쭠<E7A0AB> <20>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E5AEA4> <20><> <20><EFBFBD><E0A5A4><EFBFBD><><E4A0A9>
(<28><> <20><EFBFBD><EFBFBD><E7A5AD><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>), 䠩<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
<20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD> <20><EFBFBD>묨 ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <20><EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> CD (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E8A8A1> 2).
======================================================================
========= <20><EFBFBD><E3ADAA><EFBFBD> 70, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><><E4A0A9>. ========
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 70 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
* ebx = 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* +0: dword: 4 = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
* +4: dword: <20><><EFBFBD><EFBFBD>訩 dword <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><><E4A0A9>
* +8: dword: <20><><EFBFBD><EFBFBD>訩 dword <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><><E4A0A9>
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 0 <20><><EFBFBD> FAT)
* +12 = +0xC: dword: 0 (<28><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD>)
* +16 = +0x10: dword: 0 (<28><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD>)
* +20 = +0x14: ASCIIZ-<2D><><EFBFBD><><E4A0A9>, <20><EFBFBD><E0A0A2><EFBFBD> <20><>ନ஢<E0ACA8><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E3AAA0><EFBFBD><EFBFBD> <20>
<20><><20><><EFBFBD><EFBFBD><E1A0AD>
<20><><EFBFBD>
* +20 = +0x14: db 0
* +21 = +0x15: dd 㪠<><E3AAA0><EFBFBD> <20><> ASCIIZ-<2D><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = 0 - <20>ᯥ譮, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E8A8A1><><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
* ebx ࠧ<><E0A0A7><EFBFBD><E8A0A5><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 䠩<> <20><EFBFBD><E1A5AA><EFBFBD><EFBFBD><EFBFBD>. <20>
<20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 䠩<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>묨 ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<20><20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><><E0A0A2> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2A5><EFBFBD><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><20><EFBFBD><EBA7AE>
<><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>/<2F><EFBFBD><E0A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20> <20><><EFBFBD><EFBFBD><20><>騥.
* <20>᫨ ᢮<><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5AD><><E4A0A9>,
<20><> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>᫥ 祣<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD> <20><EFBFBD><E8A8A1> 8.
* <20><EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> CD (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E8A8A1> 2).
======================================================================
=== <20><EFBFBD><E3ADAA><EFBFBD> 70, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><20><><E4A0A9>/<2F><><EFBFBD><EFBFBD><EFBFBD>. ===

View File

@@ -10,8 +10,8 @@ All registers except explicitly declared in the returned value,
============== Function 0 - define and draw the window. ==============
======================================================================
Defines an application window. Draws a frame of the window, header and
working area. For skinned windows defines standard buttons for close
and minimize.
working area. For skinned windows defines standard close and minimize
buttons.
Parameters:
* eax = 0 - function number
* ebx = [coordinate on axis x]*65536 + [size on axis x]
@@ -111,7 +111,7 @@ Remarks:
rectangle with the left upper corner (5,_skinh) and right lower
(xsize-5,ysize-5) with color indicated in edx
(taking a gradient into account)
* define two standard buttons: for close and minimize
* define two standard buttons: close and minimize
(see function 8)
* if A=1 and edi contains (nonzero) pointer to caption string,
it is drawn in place in header defined in the skin
@@ -982,6 +982,7 @@ Remarks:
movement of the mouse on 1 pixel is impossible and the cursor will
jump on the value of installed speed (subsubfunction 1). The
installed value is not inspected by the kernel code.
Mouse delay can be regulated through the application SETUP.
* The subsubfunction 4 does not check the passed value. Before
its call find out current screen resolution (with function 14)
and check that the value of position is inside the limits of the
@@ -1824,6 +1825,8 @@ Parameters:
* ecx = [start coordinate on axis y]*65536 +
[end coordinate on axis y]
* edx = 0x00RRGGBB - color
edx = 0x01xxxxxx - draw inversed line
(low 24 bits are ignored)
Returned value:
* function does not return value
Remarks:
@@ -2873,7 +2876,6 @@ Existing subfunctions:
* subfunction 0 - read file/folder
* subfunction 1 - rewrite file
* subfunction 2 - delete file/folder
* subfunction 3 - write to existing file
* subfunction 4 - make folder
* subfunction 5 - rename/move file/folder
* subfunction 8 - LBA-read from device
@@ -2989,39 +2991,6 @@ Remarks:
correctly (i.e. recursively with all files and nested folders).
Function 58 does not support folders on ramdisk.
======================================================================
==== Function 58, subfunction 3 - write data to the existing file. ===
======================================================================
Parameters:
* eax = 58 - function number
* ebx = pointer to the information structure
Format of the information structure:
* +0: dword: 3 = subfunction number
* +4: dword: starting position in the file; -1 = append to the end
* +8: dword: number of bytes to write
* +12 = +0xC: dword: pointer to data to write
* +16 = +0x10: dword: pointer to buffer for system operations
(4096 bytes)
* +20 = +0x14: ASCIIZ-name of file, the rules of names forming are
given in the general description
Returned value:
* eax = 0 - success, otherwise file system error code
* ebx destroyed
Remarks:
* This function is obsolete, use subfunction 3 of function 70.
* Ramdisk and floppies do not support this function, it is only
for hard disks.
* File must already exist (otherwise function returns 5, not found).
To create files use subfunction 1.
* If the starting position is greater than file size, the function
returns eax=6(EOF). If the end position is greater than file size,
file is extended.
* The code of write processing for hard disk interpretes zero
value of the field +8 as the instruction to truncate the file to
the size, given in the field +4. However the code of processing
58th function blocks this possibility for applications by
immediate return (with eax=0) in the case of zero size.
======================================================================
============== Function 58, subfunction 4 - make folder. =============
======================================================================
@@ -4100,6 +4069,7 @@ Available subfunctions:
* subfunction 1 - read folder
* subfunction 2 - create/rewrite file
* subfunction 3 - write to existing file
* subfunction 4 - set file size
* subfunction 5 - get attributes of file/folder
* subfunction 6 - set attributes of file/folder
* subfunction 7 - start application
@@ -4287,6 +4257,38 @@ Remarks:
* If beginning and/or ending position is greater than file size
(except for the previous case), the file is expanded to needed
size with zero characters.
* The function is not supported for CD (returns error code 2).
======================================================================
============ Function 70, subfunction 4 - set end of file. ===========
======================================================================
Parameters:
* eax = 70 - function number
* ebx = pointer to the information structure
Format of the information structure:
* +0: dword: 4 = subfunction number
* +4: dword: low dword of new file size
* +8: dword: high dword of new file size (must be 0 for FAT)
* +12 = +0xC: dword: 0 (reserved)
* +16 = +0x10: dword: 0 (reserved)
* +20 = +0x14: ASCIIZ-name of file, the rules of names forming are
given in the general description
or
* +20 = +0x14: db 0
* +21 = +0x15: dd pointer to ASCIIZ-string with file name
Returned value:
* eax = 0 - success, otherwise file system error code
* ebx destroyed
Remarks:
* If the new file size is less than old one, file is truncated.
If the new size is greater than old one, file is expanded with
characters with code 0. If the new size is equal to old one,
the only result of call is set date/time of modification and
access to the current date/time.
* If there is not enough free space on disk for expansion, the
function will expand to maximum possible size and then return
error code 8.
* The function is not supported for CD (returns error code 2).
======================================================================
==== Function 70, subfunction 5 - get information on file/folder. ====