Commit Graph

199 Commits

Author SHA1 Message Date
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