Commit Graph

520 Commits

Author SHA1 Message Date
Evgeny Grechnikov (Diamond)
44a74d9138 * Fixed bugs in user_alloc and user_free.
* 'stdcall' procedures now do not generate stupid 'ret 0'
  (useful when compiling with FASM before 1.66)

git-svn-id: svn://kolibrios.org@213 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-11-17 12:34:35 +00:00
Sergey Semyonov (Serge)
f96c2c867c 16Mb version
git-svn-id: svn://kolibrios.org@212 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-11-16 10:59:49 +00:00
Sergey Semyonov (Serge)
763bc3ad70 1)fixed bug in kernel_alloc_space
2)support for loading compressed files

git-svn-id: svn://kolibrios.org@211 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-11-16 05:47:31 +00:00
Sergey Semyonov (Serge)
4584e8c2df fixed: reserved bit field in page directory entries (map_LFB)
git-svn-id: svn://kolibrios.org@207 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-11-03 16:26:10 +00:00
Sergey Semyonov (Serge)
7c1c3a07a8 fixed wrong COFF size calculations in load_driver and load_library
git-svn-id: svn://kolibrios.org@206 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-11-03 15:19:15 +00:00
Sergey Semyonov (Serge)
c6d6567ec3 fixed: 1)uncleared fpu exceptions in fpu_save
2)fpu context lose in terminate

git-svn-id: svn://kolibrios.org@203 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-31 20:19:05 +00:00
Evgeny Grechnikov (Diamond)
4b73c68fff Kernel updated to 0.6.3.0
git-svn-id: svn://kolibrios.org@202 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-31 16:11:04 +00:00
Sergey Semyonov (Serge)
c9a1b11964 fixed performance down in video modes 0 and 9.
git-svn-id: svn://kolibrios.org@201 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-30 15:09:35 +00:00
Sergey Semyonov (Serge)
40b1c24dc3 1)unisound.asm - added all known NV controllers
2)DLL loader

git-svn-id: svn://kolibrios.org@198 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-27 15:08:19 +00:00
Sergey Semyonov (Serge)
be5ccc0bc1 fixed error in kernel_alloc_space
git-svn-id: svn://kolibrios.org@192 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-23 20:38:29 +00:00
Sergey Semyonov (Serge)
ad55c9aee2 1.new drivers loader
2.changes in 68.11 init_heap

git-svn-id: svn://kolibrios.org@188 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-20 14:02:26 +00:00
Evgeny Grechnikov (Diamond)
7d1826758e Corrections in DMA code from Mario79
git-svn-id: svn://kolibrios.org@187 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-20 08:35:15 +00:00
Evgeny Grechnikov (Diamond)
fc4d6ab4af Kernel: support for kernel packer
kfar: updated to 0.14 (warning when deleting)

git-svn-id: svn://kolibrios.org@183 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-16 12:17:49 +00:00
Sergey Semyonov (Serge)
174a707452 1)fixed applications iopl level 2)fixed #PF exceptions handler
3)changed sysfuncr.txt fn. 18.20, 64.1, 68.11, 68.16


git-svn-id: svn://kolibrios.org@172 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-10 05:11:30 +00:00
Sergey Semyonov (Serge)
9395f92693 1)fixed memory size in fn 18.16 & 18.17
2)added fn 18.20 - get extended memory info

git-svn-id: svn://kolibrios.org@170 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-08 07:48:38 +00:00
Sergey Semyonov (Serge)
233c3e6435 complete SSE support. user-level SSE & FPU exceptions handling
git-svn-id: svn://kolibrios.org@168 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-07 09:47:03 +00:00
Sergey Semyonov (Serge)
ec7c8397d5 fixed bug with FASM 1.67.11
git-svn-id: svn://kolibrios.org@166 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-06 08:39:23 +00:00
Sergey Semyonov (Serge)
b6950333ac new kernel
git-svn-id: svn://kolibrios.org@164 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-10-06 06:09:41 +00:00
Evgeny Grechnikov (Diamond)
393a43c2ba DMA access to HD
git-svn-id: svn://kolibrios.org@160 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-09-27 14:58:51 +00:00
Evgeny Grechnikov (Diamond)
7f1f402a78 File subsystem: fixed function 70.0 for CD
Window subsystem: now minimized windows are not activated when program terminates
@RB: now it ignores minimized windows
CMD: version from K0600 distro (modified to use fn 70.7 instead of 19) +
     redraw does not change window border


git-svn-id: svn://kolibrios.org@154 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-09-19 13:16:31 +00:00
Evgeny Grechnikov (Diamond)
990e3f745c Kernel: updated to Kolibri 0.6.0.0 distr
Programs from K0600 distr: CDP, KEYASCII

git-svn-id: svn://kolibrios.org@147 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-09-08 13:29:22 +00:00
Evgeny Grechnikov (Diamond)
7e19914ef4 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
2006-08-29 12:52:52 +00:00
Evgeny Grechnikov (Diamond)
d3ae4b4e07 Kernel: rewritten function 4
@rcher, ac97wav, midamp, rtfread: modified to use function 70

git-svn-id: svn://kolibrios.org@139 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-28 13:34:54 +00:00
Evgeny Grechnikov (Diamond)
ec76c66cd2 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
2006-08-21 13:06:02 +00:00
Andrey Halyavin (halyavin)
b573c43d09 *Fixed bug in procedure starting applications
from /rd and /fd when some memory after end of 
 image hasn't been initialized by zero.
*Kernel now takes into account size of image
 when starting from /rd and /fd. (previously it
 assumes that size of file is equal to size of
 image)

git-svn-id: svn://kolibrios.org@130 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-15 16:59:11 +00:00
Evgeny Grechnikov (Diamond)
d99e3ea921 keyboard.inc: deleted obsolete code for Alt+arrows
sys32.inc: small bugfix (IRQ reservation free)
@numcalc: sources added

git-svn-id: svn://kolibrios.org@118 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-11 13:30:23 +00:00
Ivan Poddubny
3e2bc5b35f Introduced APPDATA, TASKDATA, WNDDATA, RECT, BOX structures.
git-svn-id: svn://kolibrios.org@115 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-06 10:29:45 +00:00
Mihail Semenyako (mike.dld)
9a27b206b3 Added two flags to 0th function (edx = 0xXYRRGGBB, X = DCBAb)
A - window has a caption; if Y=3, then caption scting address could be passed in
      edi, otherwise use function 71/1
  B - treat all drawing performed to be relative to window client area
  D - use gradient fill for client area
Added function 71:
  subfunction 1 - set window caption string address (in ecx)
  subfunction 2 - get window caption into buffer (not implemented yet)
Updated sysfuncr.txt, added sysfuncs.txt

git-svn-id: svn://kolibrios.org@114 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-03 19:30:32 +00:00
Evgeny Grechnikov (Diamond)
7a1e29cbc9 Small bugfixes with DF in debug subsystem; small improvement in function 70.0 for floppies
git-svn-id: svn://kolibrios.org@113 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-02 14:34:15 +00:00
Ivan Poddubny
849b393cad 1. faster GUI: calculatescreen
2. fixed sysfunc 1 - put pixel which was completely broken

git-svn-id: svn://kolibrios.org@112 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-08-01 14:09:42 +00:00
Ivan Poddubny
82859246df Direct window activation without osloop/checkwindows, straightforward window minimizing
git-svn-id: svn://kolibrios.org@105 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-07-25 10:48:35 +00:00
Andrey Halyavin (halyavin)
16e3ab15b2 Now 8Mb of address space reserved for LFB. New linear address of LFB is 0x80000000.
git-svn-id: svn://kolibrios.org@103 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-07-25 06:37:38 +00:00
Ivan Poddubny
c5b30426a8 1. a little fix for scheduler + correct comments
2. refactored window activation/ process termination/ getting active process
3. deleted dead code in checkwindows
4. eliminated almost all accesses to 0x3020+...+0xe, changed to direct process number
5. cli/sti in vesa12 and vga drivers and in calculatescreen
6. skipping dead windows in some funcs in window.inc

git-svn-id: svn://kolibrios.org@102 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-07-23 14:47:32 +00:00
Ivan Poddubny
ad532cdbaa Updated scheduler - now change_task and irq0 handler don't intersect so ugly. The code became more straightforward. By the way, it is also faster.
git-svn-id: svn://kolibrios.org@101 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-07-20 17:55:40 +00:00
Andrey Halyavin (halyavin)
d925b54ad5 Fixed bug with sending EOI in change_task procedure (it shouldn't send it).
git-svn-id: svn://kolibrios.org@100 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-07-14 10:42:05 +00:00
Evgeny Grechnikov (Diamond)
56d23ae060 Hotkeys are now supported
git-svn-id: svn://kolibrios.org@92 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-06-30 12:23:15 +00:00
Evgeny Grechnikov (Diamond)
c1783c769f 1. Execution of files with long names (function 70.7).
2. Function 70 now supports folders on ramdisk.


git-svn-id: svn://kolibrios.org@91 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-06-26 12:13:58 +00:00
Marat Zakiyanov (Mario79)
c9d4558817 Mihaylov Iliya Andreevich aka Ghost
Advanced Power Management
SYSTEM CALL
eax = 49
dx = number of the function APM BIOS (Is similar AX in real mode)
Others registers (bx, cx) on the specification (see. docs/apm.zip>apm.txt)
Result: on the specification (including CF), the high part 32 bit registers is not defined


git-svn-id: svn://kolibrios.org@76 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-05-06 14:34:30 +00:00
Evgeny Grechnikov (Diamond)
17da7e7f7a File system: read folders with long names and in new standard
System functions: many small corrections

git-svn-id: svn://kolibrios.org@75 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-05-05 12:40:02 +00:00
Evgeny Grechnikov (Diamond)
0d97209173 File system: LFN read 58.0x100 moved to 70.0
git-svn-id: svn://kolibrios.org@72 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-04-27 06:12:46 +00:00
Marat Zakiyanov (Mario79)
12ecff7fb2 Reserved of the function 70 for the new procedure of access to file systems
Request - Please not use this number for other purposes.

git-svn-id: svn://kolibrios.org@70 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-04-22 13:54:35 +00:00
Ivan Poddubny
7e96e14297 memmap.inc: marked areas reserved by physical memory manager.
physmem.inc: fixed a little bug with cld/std with allocating and copying a physical memory block.

git-svn-id: svn://kolibrios.org@69 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-04-18 17:56:52 +00:00
Evgeny Grechnikov (Diamond)
aa7be4e6f1 Debug subsystem: added DRx registers support
git-svn-id: svn://kolibrios.org@66 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-04-10 15:20:34 +00:00
Andrey Halyavin (halyavin)
5db3c3adc1 Kernel now waits only 5 seconds in order to deliver message to debugger. Fixed hd reservation and release. Changes from diamond.
git-svn-id: svn://kolibrios.org@63 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-03-21 11:46:13 +00:00
Andrey Halyavin (halyavin)
03b4d7367e Return value of 58 function is corrected. Shutdown.inc optimized. Changes from diamond.
git-svn-id: svn://kolibrios.org@61 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-03-20 09:57:24 +00:00
Marat Zakiyanov (Mario79)
0e57fd1908 Fixed bug - COM modem completely does not work.
git-svn-id: svn://kolibrios.org@58 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-03-11 18:10:47 +00:00
Andrey Halyavin (halyavin)
c1dd532cde fixing bugs in debug.inc from diamond
git-svn-id: svn://kolibrios.org@44 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-02-03 17:00:44 +00:00
Mihail Semenyako (mike.dld)
4442932712 changes/improvements in maximize/minimize/rollup windows functionality
added functions:
  48/5 - get screen workarea
  48/6 - set screen workarea

git-svn-id: svn://kolibrios.org@41 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-02-01 06:07:36 +00:00
Andrey Halyavin (halyavin)
f4fbaa166e *Reduced size of boot code. (diamond)
*Debug API added. (diamond)

git-svn-id: svn://kolibrios.org@40 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-01-25 13:19:21 +00:00
Andrey Halyavin (halyavin)
4c548cc4f0 *size of memory manager code reduced
*18/17 function returns physical memory size now 
 (it returned size of allocatable memory previously).

git-svn-id: svn://kolibrios.org@39 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-01-23 14:30:15 +00:00
Marat Zakiyanov (Mario79)
333b0bbae6 1) Parallel processing of mouses: PS2, COM1, COM2
2) Detection PS2 mouse.
3) Switching FPU in PM with reset.
4) Click on the application button - works only if during release of a up-button mouse the cursor is on the button application. Realization Victor Alberto Gil Hanla (vhanla). Version 1.1
5) Return of focus (activated window) on previous application at completion of the active application
6) Change skin of header of windows type 4, at loss and return of focus (activated window).

git-svn-id: svn://kolibrios.org@33 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-01-06 11:46:26 +00:00
Andrey Halyavin (halyavin)
435676e6a4 added function 18/16 - get size of free memory (in Kb) and function 18/17 - get size of all memory (in Kb).
git-svn-id: svn://kolibrios.org@32 a494cfbc-eb01-0410-851d-a64ba20cac60
2006-01-03 11:15:05 +00:00
Andrey Halyavin (halyavin)
e9f77ab2f3 Fixed bug in shed.inc: kernel crash at shutdown.
git-svn-id: svn://kolibrios.org@26 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-11-25 07:33:08 +00:00
Andrey Halyavin (halyavin)
81314d998d Fixed bug in dispose_app_cr3_table: we count yourself as thread now
so code must be slightly changed.

git-svn-id: svn://kolibrios.org@25 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-11-16 15:39:04 +00:00
Marat Zakiyanov (Mario79)
e66db56977 Fixed irq6 handler in sys32.inc
git-svn-id: svn://kolibrios.org@23 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-11-12 08:49:39 +00:00
Ivan Poddubny
182a9c6899 fixed a bug in sched.inc (speaker)
fixed exception handlers - shows correct EIP of a terminated process

some corrections to memmap.inc

git-svn-id: svn://kolibrios.org@22 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-11-10 17:59:41 +00:00
Ivan Poddubny
128676fe2c * boot cleanups (kernel.asm)
* faster & cleaner checkpixel (kernel.asm)
* a little bugfix in newproce.inc (".failed" -> ".cleanfailed")
* Halyavin's bugfix in mem.inc
* sheduler doesn't active proesses waiting for an event (func 10) (event.inc, sched.inc)
* faster event check (event.inc)

git-svn-id: svn://kolibrios.org@21 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-11-07 15:50:30 +00:00
Marat Zakiyanov (Mario79)
5c9d9d79c0 corrected handler irq6 in sys32.inc
git-svn-id: svn://kolibrios.org@20 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-11-07 10:46:04 +00:00
Ivan Poddubny
38d714f47e * fixed show_error_parameters in sys32.inc
uses the stack instead of TSS

git-svn-id: svn://kolibrios.org@16 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-28 16:37:38 +00:00
Ivan Poddubny
d927fb6877 * A bug with floppy IRQ has been finally fixed (EOI added)
* optimised i40 handler

git-svn-id: svn://kolibrios.org@15 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-28 16:16:47 +00:00
Ivan Poddubny
905bbcc1fa * A bug with esp0 of processes has been fixed.
* Some minor corrections for memmap.inc and others

git-svn-id: svn://kolibrios.org@14 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-27 12:40:46 +00:00
Ivan Poddubny
2a96dafd9f Bugfixes
1) Bug in task switching (0xffff = 1 without task switch)
2) Bug with IRQ6 (floppy) - "call fdc_irq" was deleted earlier

git-svn-id: svn://kolibrios.org@11 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-24 17:14:59 +00:00
Ivan Poddubny
cda72a8906 Small fixes for sched.inc & sys32.inc
Less code, same work.

Updated memmap.inc

git-svn-id: svn://kolibrios.org@10 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-17 15:53:11 +00:00
Andrey Halyavin (halyavin)
c57ff1bc79 Small optimizations in shed.
Fixed memory leak when not enough memory for starting application.
Deleted old code writing to TSS of system call handler.

git-svn-id: svn://kolibrios.org@9 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-17 15:38:11 +00:00
Ivan Poddubny
bd15d25cab No task gates in the IDT.
No TSSs for interrupt handlers.
More free memory.
Faster task switch and interrupt handling.
Smaller sys32.inc.

git-svn-id: svn://kolibrios.org@8 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-16 13:30:23 +00:00
Ivan Poddubny
2e93336e82 All exceptions use Interrupt Gate
Better FPU exception handler
Code cleanups
Correct save_registers for i40 handler (syscall trace)
Updated memmap.inc

git-svn-id: svn://kolibrios.org@6 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-13 17:50:36 +00:00
Andrey Halyavin (halyavin)
bc47ee30d7 Mario79 fixes:
Application can determine own path now.
Some boot messages changed (it is version Kolibri 5.1.0 now).
Some rd functions updated (thanks to michael).
Switch to another bank-switching procedure.

git-svn-id: svn://kolibrios.org@5 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-13 05:34:10 +00:00
Ivan Poddubny
b420f2df50 Code cleanups.
Two GDT descriptors for all applications.
Unnecessary interrupt masking from commouse.inc has beed deleted.

git-svn-id: svn://kolibrios.org@4 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-12 11:35:35 +00:00
Andrey Halyavin (halyavin)
b37db20eb6 More correct build_ru.bat and build_en.bat
Now kernel uses interrupt gates for i40 handler instead of task gates. 
So i40 handler TSS can be removed.

git-svn-id: svn://kolibrios.org@3 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-10 16:57:18 +00:00
msu-se
d5c0fed779 moving to kernel directory
git-svn-id: svn://kolibrios.org@2 a494cfbc-eb01-0410-851d-a64ba20cac60
2005-10-07 04:39:30 +00:00