Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 5594 → Rev 5596

/kernel/branches/Kolibri-acpi/drivers/vidintel.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/vt823x.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/sceletone.asm
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/mix_sse2.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/mixer.asm
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/imports.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/com_mouse.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/sound.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/infinity.asm
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/fm801.asm
File deleted
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/sb16/sb16.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/sb16/README.TXT
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-acpi/drivers/sb16/CONFIG.INC
File deleted
/kernel/branches/Kolibri-acpi/drivers/sb16/SB16.INC
File deleted
/kernel/branches/Kolibri-acpi/drivers/sis.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/tmpdisk_fat.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/usbhid/report.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/usbhid/keyboard.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/usbhid/unclaimed.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/usbhid/usbhid.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/usbhid/sort.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/usbhid/mouse.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/usbhid
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/intelac97.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/proc32.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/usbstor.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/fdo.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/codec.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/tmpdisk_work.inc
File deleted
/kernel/branches/Kolibri-acpi/drivers/mix_mmx.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/agp.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/emu10k1x.asm
File deleted
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/tmpdisk.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/vidrdc.asm
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-acpi/drivers/uart.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers/ensoniq.asm
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/main.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/drivers/apm.asm
File deleted
/kernel/branches/Kolibri-acpi/drivers
Property changes:
Deleted: svn:ignore
-*.mnt
-lang.inc
-*.bat
-out.txt
-scin*
-*.obj
/kernel/branches/Kolibri-acpi/blkdev/cdrom.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-acpi/blkdev/cd_drv.inc
1132,22 → 1132,21
mov [ignore_CD_eject_wait], 0
ret
;-----------------------------------------------------------------------------
uglobal
align 4
timer_ATAPI_check dd ?
ATAPI_IDE0_lock db ?
ATAPI_IDE1_lock db ?
ATAPI_IDE2_lock db ?
ATAPI_IDE3_lock db ?
ATAPI_IDE4_lock db ?
ATAPI_IDE5_lock db ?
ATAPI_IDE6_lock db ?
ATAPI_IDE7_lock db ?
ATAPI_IDE8_lock db ?
ATAPI_IDE9_lock db ?
ATAPI_IDE10_lock db ?
ATAPI_IDE11_lock db ?
ignore_CD_eject_wait db ?
iglobal
timer_ATAPI_check dd 0
ATAPI_IDE0_lock db 0
ATAPI_IDE1_lock db 0
ATAPI_IDE2_lock db 0
ATAPI_IDE3_lock db 0
ATAPI_IDE4_lock db 0
ATAPI_IDE5_lock db 0
ATAPI_IDE6_lock db 0
ATAPI_IDE7_lock db 0
ATAPI_IDE8_lock db 0
ATAPI_IDE9_lock db 0
ATAPI_IDE10_lock db 0
ATAPI_IDE11_lock db 0
ignore_CD_eject_wait db 0
endg
;-----------------------------------------------------------------------------
;*************************************************
/kernel/branches/Kolibri-acpi/boot/ETFONT.FNT
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/kernel/branches/Kolibri-acpi/bus/pci/pci32.inc
166,8 → 166,6
call pci_make_config_cmd
mov ebx, eax
mov dx, 0xcf8
in eax, dx
push eax
; set up addressing to config data
mov eax, ebx
and al, 0xfc; make address dword-aligned
193,14 → 191,7
jmp pci_fin_read1
pci_read_dword1:
in eax, dx
jmp pci_fin_read1
pci_fin_read1:
; restore configuration control
xchg eax, [esp]
mov dx, 0xcf8
out dx, eax
 
pop eax
pop esi ebx
ret
pci_read_reg_2:
211,15 → 202,8
mov esi, eax ; save register size into ESI
and esi, 3
 
push eax
;store current state of config space
mov dx, 0xcf8
in al, dx
mov ah, al
mov dl, 0xfa
in al, dx
mov dx, 0xcfa
 
xchg eax, [esp]
; out 0xcfa,bus
mov al, ah
out dx, al
248,18 → 232,8
jmp pci_fin_read2
pci_read_dword2:
in eax, dx
; jmp pci_fin_read2
pci_fin_read2:
 
; restore configuration space
xchg eax, [esp]
mov dx, 0xcfa
out dx, al
mov dl, 0xf8
mov al, ah
out dx, al
 
pop eax
pop esi ebx
ret
 
295,10 → 269,7
 
call pci_make_config_cmd
mov ebx, eax
; get current state into ecx
mov dx, 0xcf8
in eax, dx
push eax
; set up addressing to config data
mov eax, ebx
and al, 0xfc; make address dword-aligned
325,14 → 296,8
jmp pci_fin_write1
pci_write_dword1:
out dx, eax
jmp pci_fin_write1
pci_fin_write1:
 
; restore configuration control
pop eax
mov dl, 0xf8
out dx, eax
 
xor eax, eax
pop ebx esi
 
346,14 → 311,7
mov esi, eax ; save register size into ESI
and esi, 3
 
push eax
;store current state of config space
mov dx, 0xcf8
in al, dx
mov ah, al
mov dl, 0xfa
in al, dx
xchg eax, [esp]
mov dx, 0xcfa
; out 0xcfa,bus
mov al, ah
out dx, al
384,15 → 342,7
jmp pci_fin_write2
pci_write_dword2:
out dx, eax
jmp pci_fin_write2
pci_fin_write2:
; restore configuration space
pop eax
mov dx, 0xcfa
out dx, al
mov dl, 0xf8
mov al, ah
out dx, al
 
xor eax, eax
pop ebx esi
658,12 → 608,6
mov dword[esp + 32], eax
ret
 
PCI_VENDOR_ID equ 0x00
PCI_CLASS_REVISION equ 0x08
PCI_HEADER_TYPE equ 0x0E
PCI_SUBSYSTEM_VENDOR_ID equ 0x2c
PCI_IRQ_LINE equ 0x3C
 
proc pci_enum
push ebp
mov ebp, esp
676,7 → 620,7
mov ah, [.bus]
mov al, 2
mov bh, [.devfn]
mov bl, PCI_VENDOR_ID
mov bl, 0
call pci_read_reg
cmp eax, 0xFFFFFFFF
jnz .has_device
692,37 → 636,27
jz .nomemory
mov edi, eax
mov [edi+PCIDEV.vendor_device_id], ecx
mov edx, pcidev_list
list_add_tail edi, edx
mov eax, pcidev_list
mov ecx, [eax+PCIDEV.bk]
mov [edi+PCIDEV.bk], ecx
mov [edi+PCIDEV.fd], eax
mov [ecx+PCIDEV.fd], edi
mov [eax+PCIDEV.bk], edi
mov eax, dword [.devfn]
mov word [edi+PCIDEV.devfn], ax
mov dword [edi+PCIDEV.devfn], eax
mov dword [edi+PCIDEV.owner], 0
mov bh, al
mov al, 2
mov bl, PCI_CLASS_REVISION
mov bl, 8
call pci_read_reg
shr eax, 8 ;FIXME use byte mask
shr eax, 8
mov [edi+PCIDEV.class], eax
 
; mov ah, [.bus]
; mov bh, byte [.devfn]
; mov al, 2
; mov bl, PCI_SUBSYSTEM_VENDOR_ID
; call pci_read_reg
; mov [edi+PCIDEV.svid_sdid], eax
 
; mov ah, [.bus]
; mov al, 0
; mov bh, [.devfn]
; mov bl, PCI_IRQ_LINE
; call pci_read_reg
; mov [edi+PCIDEV.irq_line], al
 
test byte [.devfn], 7
jnz .next_func
mov ah, [.bus]
mov al, 0
mov bh, [.devfn]
mov bl, PCI_HEADER_TYPE
mov bl, 0Eh
call pci_read_reg
test al, al
js .next_func
743,334 → 677,3
mov eax, pcidev_list
ret
endp
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
;internal functions
;ecx (bus << 8)|devfn
;edx register
 
align 4
pci_bus:
.conf1_index:
; dword CF8 = (0x80000000 | ((reg & 0xF00) << 16) | (bus << 16) | (devfn << 8) | (reg & 0xFC))
push edx
mov eax, edx ; eax = reg
shl eax, 16 ; eax = reg << 16
shl ecx, 8 ; ecx = (bus << 16)|(devfn<<8)
mov al, dl ; eax = (reg << 16)|reg
and eax, 0x0F0000FC ; eax = ((reg & 0xF00) << 16)|(reg & 0xFC)
lea eax, [0x80000000+eax+ecx]
mov dx, 0xCF8
out dx, eax
pop edx
xor eax, eax
ret
 
align 4
.conf2_index:
; byte CF8 = 0xF0 | (fn << 1)
; byte CFA = bus
push edx
mov eax, ecx ; (bus << 8)|devfn
and al, 7 ; fn
lea eax, [0xF0+eax+eax]
mov dx, 0xCF8
out dx, al
mov al, ch ; bus
mov dx, 0xCFA
out dx, al
pop edx
xor eax, eax
ret
 
align 4
.conf1_read8:
call .conf1_index
and dx, 3
add dx, 0xCFC
in al, dx
ret
 
align 4
.conf1_read16:
call .conf1_index
and dx, 2
add dx, 0xCFC
in ax, dx
ret
 
align 4
.conf1_read32:
call .conf1_index
mov dx, 0xCFC
in eax, dx
ret
 
align 4
.conf1_write8:
call .conf1_index
mov eax, [esp+4]
and dx, 3
add dx, 0xCFC
out dx, al
ret 4
 
align 4
.conf1_write16:
call .conf1_index
mov eax, [esp+4]
and dx, 2
add dx, 0xCFC
out dx, ax
ret 4
 
align 4
.conf1_write32:
call .conf1_index
mov eax, [esp+4]
mov dx, 0xCFC
out dx, eax
ret 4
 
align 4
.conf2_read8:
; in (0xC000 | (dev << 8) | reg)
call .conf2_index
and ecx, 0xF1 ;ecx = dev << 3
shl ecx, 5 ;ecx = dev << 8
lea edx, [0xC000+edx+ecx]
in al, dx
ret
 
align 4
.conf2_read16:
call .conf2_index
and ecx, 0xF1
shl ecx, 5
lea edx, [0xC000+edx+ecx]
in ax, dx
ret
 
align 4
.conf2_read32:
call .conf2_index
and ecx, 0xF1
shl ecx, 5
lea edx, [0xC000+edx+ecx]
in eax, dx
ret
 
 
PCI_R8 equ 0
PCI_R16 equ 4
PCI_R32 equ 8
 
PCI_W8 equ 12
PCI_W16 equ 16
PCI_W32 equ 20
 
 
align 4
pci_conf1_rw:
;internal function
;eax accessor
;ecx (bus << 8)|devfn
 
.val equ esp+4
 
; dword CF8 = (0x80000000 | ((reg & 0xF00) << 16) | (bus << 16) | (devfn << 8) | (reg & 0xFC))
 
pushfd
cli
 
push edx
push eax
mov eax, edx ; eax = reg
shl eax, 16 ; eax = reg << 16
shl ecx, 8 ; ecx = (bus << 16)|(devfn<<8)
mov al, dl ; eax = (reg << 16)|reg
and eax, 0x0F0000FC ; eax = ((reg & 0xF00) << 16)|(reg & 0xFC)
lea eax, [0x80000000+eax+ecx]
mov dx, 0xCF8
out dx, eax
pop eax
pop edx
jmp dword [.fntab+eax]
.r32:
mov dx, 0xCFC
in eax, dx
.rdone:
popfd
ret
.r16:
and dx, 2
add dx, 0xCFC
in al, dx
jmp .rdone
.r8:
and dx, 3
add dx, 0xCFC
in al, dx
jmp .rdone
.w32:
mov eax, [esp+8]
mov dx, 0xCFC
out dx, eax
.wdone:
popfd
ret 4
.w16:
mov eax, [esp+8]
and dx, 2
add dx, 0xCFC
out dx, ax
jmp .wdone
.w8:
mov eax, [esp+8]
and dx, 3
add dx, 0xCFC
out dx, al
jmp .wdone
 
align 4
.fntab:
dd .r8
dd .r16
dd .r32
dd .w8
dd .w16
dd .w32
 
align 4
pci_fn_rw dd pci_conf1_rw
 
;proc pci_bus_read8 fastcall, busaddr:dword, reg:dword
;proc pci_bus_read16 fastcall, busaddr:dword, reg:dword
;proc pci_bus_read32 fastcall, busaddr:dword, reg:dword
 
align 4
pci_bus_read8:
xor eax, eax
jmp dword [pci_fn_rw]
 
align 4
pci_bus_read16:
mov eax, PCI_R16
jmp dword [pci_fn_rw]
 
align 4
pci_bus_read32:
mov eax, PCI_R32
jmp dword [pci_fn_rw]
 
;proc pci_bus_write8 fastcall, busaddr:dword, reg:dword, val: dword
;proc pci_bus_write16 fastcall, busaddr:dword, reg:dword, val: dword
;proc pci_bus_write32 fastcall, busaddr:dword, reg:dword, val: dword
 
align 4
pci_bus_write8:
mov eax, PCI_W8
jmp dword [pci_fn_rw]
 
align 4
pci_bus_write16:
mov eax, PCI_W16
jmp dword [pci_fn_rw]
 
align 4
pci_bus_write32:
mov eax, PCI_W32
jmp dword [pci_fn_rw]
 
;deprecated proc pci_read8 stdcall, bus:dword, devfn:dword, reg:dword
;deprecated proc pci_read16 stdcall, bus:dword, devfn:dword, reg:dword
;deprecated proc pci_read32 stdcall, bus:dword, devfn:dword, reg:dword
 
align 4
pci_read8:
.bus equ esp+4
.devfn equ esp+8
.pci_reg equ esp+12
.val equ esp+16
 
movzx ecx, byte [.devfn]
mov ch, [.bus]
movzx edx, word [.pci_reg]
call pci_bus_read8
ret 12
 
align 4
pci_read16:
.bus equ esp+4
.devfn equ esp+8
.pci_reg equ esp+12
.val equ esp+16
 
movzx ecx, byte [.devfn]
mov ch, [.bus]
movzx edx, word [.pci_reg]
call pci_bus_read16
ret 12
 
align 4
pci_read32:
.bus equ esp+4
.devfn equ esp+8
.pci_reg equ esp+12
.val equ esp+16
 
movzx ecx, byte [.devfn]
mov ch, [.bus]
movzx edx, word [.pci_reg]
call pci_bus_read32
ret 12
 
;deprecated proc pci_write8 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
;deprecated proc pci_write16 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
;deprecated proc pci_write32 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
 
align 4
pci_write8:
.bus equ esp+4
.devfn equ esp+8
.pci_reg equ esp+12
.val equ esp+16
 
movzx ecx, byte [.devfn]
mov ch, [.bus]
movzx edx, word [.pci_reg]
push dword [esp+16]
call pci_bus_write8
ret 16
 
align 4
pci_write16:
.bus equ esp+4
.devfn equ esp+8
.pci_reg equ esp+12
.val equ esp+16
 
movzx ecx, byte [.devfn]
mov ch, [.bus]
movzx edx, word [.pci_reg]
push dword [esp+16]
call pci_bus_write16
ret 16
 
align 4
pci_write32:
.bus equ esp+4
.devfn equ esp+8
.pci_reg equ esp+12
.val equ esp+16
 
movzx ecx, byte [.devfn]
mov ch, [.bus]
movzx edx, word [.pci_reg]
push dword [esp+16]
call pci_bus_write32
ret 16
 
 
 
/kernel/branches/Kolibri-acpi/core/dll.inc
34,7 → 34,93
jmp .wait
endp
 
align 4
proc pci_read32 stdcall, bus:dword, devfn:dword, reg:dword
push ebx
xor eax, eax
xor ebx, ebx
mov ah, byte [bus]
mov al, 6
mov bh, byte [devfn]
mov bl, byte [reg]
call pci_read_reg
pop ebx
ret
endp
 
align 4
proc pci_read16 stdcall, bus:dword, devfn:dword, reg:dword
push ebx
xor eax, eax
xor ebx, ebx
mov ah, byte [bus]
mov al, 5
mov bh, byte [devfn]
mov bl, byte [reg]
call pci_read_reg
pop ebx
ret
endp
 
align 4
proc pci_read8 stdcall, bus:dword, devfn:dword, reg:dword
push ebx
xor eax, eax
xor ebx, ebx
mov ah, byte [bus]
mov al, 4
mov bh, byte [devfn]
mov bl, byte [reg]
call pci_read_reg
pop ebx
ret
endp
 
align 4
proc pci_write8 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
push ebx
xor eax, eax
xor ebx, ebx
mov ah, byte [bus]
mov al, 8
mov bh, byte [devfn]
mov bl, byte [reg]
mov ecx, [val]
call pci_write_reg
pop ebx
ret
endp
 
align 4
proc pci_write16 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
push ebx
xor eax, eax
xor ebx, ebx
mov ah, byte [bus]
mov al, 9
mov bh, byte [devfn]
mov bl, byte [reg]
mov ecx, [val]
call pci_write_reg
pop ebx
ret
endp
 
align 4
proc pci_write32 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
push ebx
xor eax, eax
xor ebx, ebx
mov ah, byte [bus]
mov al, 10
mov bh, byte [devfn]
mov bl, byte [reg]
mov ecx, [val]
call pci_write_reg
pop ebx
ret
endp
 
handle equ IOCTL.handle
io_code equ IOCTL.io_code
input equ IOCTL.input
1341,10 → 1427,8
call free ;release object memory
ret
 
 
 
; param
; eñõ= size
; ecx= size
 
align 4
create_object:
1391,5 → 1475,3
xor eax, eax
ret
 
 
 
/kernel/branches/Kolibri-acpi/core/memory.inc
1313,9 → 1313,10
mov [esp+32], eax
ret
 
iglobal
 
align 4
f68call:
f68call: ; keep this table closer to main code
 
dd f68.11 ; init_heap
dd f68.12 ; user_alloc
dd f68.13 ; user_free
1333,8 → 1334,8
dd f68.25 ; unmask exception
dd f68.26 ; user_unmap
dd f68.27 ; load_file_umode
endg
 
 
align 4
proc load_pe_driver stdcall, file:dword, cmdline:dword
push esi
/kernel/branches/Kolibri-acpi/core/sync.inc
5,9 → 5,6
;; ;;
;; Synhronization for MenuetOS. ;;
;; Author: Halyavin Andrey, halyavin@land.ru ;;
;; ;;
;; ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision$
389,7 → 386,6
ret
 
 
purge MUTEX_WAITER
purge RWSEM_WAITING_FOR_WRITE
purge RWSEM_WAITING_FOR_READ
 
/kernel/branches/Kolibri-acpi/docs/usbapi_ru.txt
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-acpi/fs/ext2/blocks.inc
7,7 → 7,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 4891 $
$Revision: 5363 $
 
 
;---------------------------------------------------------------------
/kernel/branches/Kolibri-acpi/fs/ext2/ext2.asm
7,7 → 7,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 5089 $
$Revision: 5363 $
 
 
include 'ext2.inc'
/kernel/branches/Kolibri-acpi/fs/ext2/ext2.inc
7,7 → 7,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 4891 $
$Revision: 5363 $
 
 
; Future jobs for driver, in order of preference:
/kernel/branches/Kolibri-acpi/fs/ext2/inode.inc
7,7 → 7,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 4891 $
$Revision: 5363 $
 
 
;---------------------------------------------------------------------
/kernel/branches/Kolibri-acpi/fs/ext2/resource.inc
7,7 → 7,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 4891 $
$Revision: 5363 $
 
 
;---------------------------------------------------------------------
/kernel/branches/Kolibri-acpi/fs/fat.inc
1,4 → 1,4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
43,6 → 43,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 5578 $
 
cache_max equ 1919 ; max. is 1919*512+0x610000=0x6ffe00
 
/kernel/branches/Kolibri-acpi/fs/xfs.asm
5,7 → 5,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 5089 $
$Revision: 5363 $
 
 
include 'xfs.inc'
/kernel/branches/Kolibri-acpi/fs/xfs.inc
5,7 → 5,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 4850 $
$Revision: 5363 $
 
 
; from stat.h
/kernel/branches/Kolibri-acpi/gui/char.mt
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/kernel/branches/Kolibri-acpi/kernel.asm
1688,8 → 1688,8
mov edi, [esp+64+4]
jmp dtext
;-----------------------------------------------------------------------------
uglobal
midi_base dw ?
iglobal
midi_base dw 0
endg
;-----------------------------------------------------------------------------
align 4
/kernel/branches/Kolibri-acpi/kernelsp.inc
5,7 → 5,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 4850 $
$Revision: 5363 $
 
 
; Éste archivo debe ser editado con codificación CP866
/kernel/branches/Kolibri-acpi/network/ARP.inc
16,7 → 16,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 3386 $
$Revision: 5522 $
 
ARP_NO_ENTRY = 0
ARP_VALID_MAPPING = 1
/kernel/branches/Kolibri-acpi/network/IPv4.inc
16,7 → 16,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 5522 $
$Revision: 5584 $
 
IPv4_MAX_FRAGMENTS = 64
IPv4_MAX_ROUTES = 64
/kernel/branches/Kolibri-acpi/network/ethernet.inc
14,7 → 14,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 3346 $
$Revision: 5522 $
 
ETH_FRAME_MINIMUM = 60
ETH_QUEUE_SIZE = 255
/kernel/branches/Kolibri-acpi/network/tcp_output.inc
14,7 → 14,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 5522 $
$Revision: 5584 $
 
;-----------------------------------------------------------------
;
/kernel/branches/Kolibri-acpi/network/tcp_subr.inc
14,7 → 14,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 5522 $
$Revision: 5584 $
 
align 4
iglobal
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/bootru.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/preboot.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/shutdown.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/bootet.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/bootstr.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/booteng.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/ETFONT.FNT
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/kolibri_ldm.asm
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/bootge.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/build_ru.bat
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/bootvesa.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/macros.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/rdload.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/ru.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm/et.inc
File deleted
/kernel/branches/Kolibri-acpi/sec_loader/trunk/kolibri_ldm
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-acpi/video/blitter.inc
5,7 → 5,7
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision: 5164 $
$Revision: 5363 $
 
 
struct BLITTER_BLOCK
37,7 → 37,7
;esi= clip RECT ptr
;edi= RECT ptr
;return code:
;eax= 0 - draw, 1 - don't draw
;CF= 0 - draw, 1 - don't draw
 
push ebx
 
53,18 → 53,15
jl .fail
 
cmp eax, ecx ;left >= clip.left
jae @F
jge @F
 
mov eax, ecx
mov [edi+RECT.left], ecx
@@:
mov [edi+RECT.left], eax
 
cmp ebx, edx ;right <= clip.right
jle @f
mov ebx, edx
 
mov [edi+RECT.right], edx
@@:
mov [edi+RECT.right], ebx
 
mov eax, [edi+RECT.top]
mov ebx, [edi+RECT.bottom]
mov ecx, [esi+RECT.top] ;clip.top
77,23 → 74,21
jl .fail
 
cmp eax, ecx ;top >= clip.top
jae @F
jge @F
 
mov eax, ecx
mov [edi+RECT.top], ecx
@@:
mov [edi+RECT.top], eax
 
cmp ebx, edx ;bottom <= clip.bottom
jle @f
mov ebx, edx
 
mov [edi+RECT.bottom], edx
@@:
mov [edi+RECT.bottom], ebx
pop ebx
xor eax, eax
clc
ret
.fail:
pop ebx
mov eax, 1
stc
ret
 
 
100,6 → 95,9
align 4
blit_clip:
 
;return code:
;CF= 0 - draw, 1 - don't draw
 
.sx0 equ 8
.sy0 equ 12
.sx1 equ 16
130,9 → 128,7
lea esi, [ebx+BLITTER.sc]
 
call block_clip
test eax, eax
mov esi, 1
jnz .done
jc .done
 
mov edi, [esp+.sx0]
mov edx, [ebx+BLITTER.dst_x]
157,9 → 153,7
lea edi, [esp+.dx0]
lea esi, [ebx+BLITTER.dc]
call block_clip
test eax, eax
mov esi, 1
jnz .done
jc .done
 
mov edx, [esp+.dx0]
mov eax, [esp+.dx1]
182,9 → 176,8
mov [ebx+BLITTER.src_y], ecx
mov [ebx+BLITTER.dst_x], edx
mov [ebx+BLITTER.dst_y], eax
xor esi, esi
clc
.done:
mov eax, esi
add esp, 40
pop ebx
pop esi
205,16 → 198,17
 
align 4
blit_32:
 
.x_y equ 72
.tmp_x_y equ 76
 
 
push ebp
push edi
push esi
push ebx
sub esp, 80
virtual at sizeof.BLITTER
.position dd ? ; (x shl 16) + y
; ???
.extra_var1 dd ?
.local_vars_size = $
end virtual
sub esp, .local_vars_size
 
mov eax, [TASK_BASE]
mov ebx, [eax-twdw + WDATA.box.width]
254,14 → 248,13
 
 
mov eax, [ecx+32]
mov [esp+56], eax
mov [esp+BLITTER.bitmap], eax
mov eax, [ecx+36]
mov [esp+60], eax
mov [esp+BLITTER.stride], eax
 
mov ecx, esp
call blit_clip
test eax, eax
jne .done
jc .L57
 
mov eax, [TASK_BASE]
 
271,13 → 264,21
add ebp, [eax-twdw + WDATA.box.top]
 
mov ecx, ebx
add ecx, [esp+BLITTER.w]
shl ecx, 16
mov cx, bp
mov [esp+.x_y], ecx
add ecx, [esp+BLITTER.h]
 
mov eax, ebx
shl eax, 16
mov ax, bp
mov [esp+.position], eax
 
mov edi, ebp
 
; imul edi, [_display.pitch]
mov edi, [BPSLine_calc_area+edi*4]
; imul ebp, [_display.width]
mov ebp, [d_width_calc_area+ebp*4]
 
add ebp, ebx
289,34 → 290,103
lea esi, [eax+esi*4]
add esi, [esp+BLITTER.bitmap]
 
mov eax, ecx
mov ecx, [esp+BLITTER.h]
mov edx, [esp+BLITTER.w]
 
test ecx, ecx ;FIXME check clipping
jz .done
jz .L57
 
test edx, edx
jz .done
jz .L57
 
cmp [_display.bits_per_pixel], 32
jne .core_24
 
lea edi, [edi+ebx*4]
 
; xchg bx, bx
 
mov ebx, [CURRENT_TASK]
mov ecx, [esp+80]
shr ecx, 4
and ecx, 3
; check for hardware cursor
cmp [_display.select_cursor], select_cursor
je .core_32.software_cursor
cmp [_display.select_cursor], 0
jne .core_32.hardware_cursor
;--------------------------------------
.core_32.software_cursor:
align 4
.outer32:
 
jmp dword [.tbl_32+ecx*4]
align 4
.inner32:
cmp [ebp], bl
jne .skip
;--------------------------------------
mov eax, [esi]
 
mov ecx, [esp+.position]
 
; check mouse area for putpixel
call [_display.check_mouse]
;--------------------------------------
; store to real LFB
mov [LFB_BASE+edi], eax
;--------------------------------------
align 4
.tbl_32 dd blit_copy_32
dd blit_copy_32_bgr
dd blit_trans_32
dd blit_trans_32_bgr
.skip:
add esi, 4
add edi, 4
inc ebp
add [esp+.position], 1 shl 16
dec edx
jnz .inner32
 
add esi, [esp+BLITTER.stride]
add edi, [_display.lfb_pitch]
add ebp, [_display.width]
 
mov edx, [esp+BLITTER.w]
mov eax, edx
inc [esp+.position]
sub ebp, edx
shl eax, 2
sub esi, eax
sub edi, eax
shl eax, 16-2
sub [esp+.position], eax
dec [esp+BLITTER.h]
jnz .outer32
jmp .done
.core_32.hardware_cursor:
align 4
.hw.outer32:
xor ecx, ecx
 
align 4
.hw.inner32:
cmp [ebp+ecx], bl
jne .hw.skip
mov eax, [esi+ecx*4]
mov [LFB_BASE+edi+ecx*4], eax
 
align 4
.hw.skip:
inc ecx
dec edx
jnz .hw.inner32
 
add esi, [esp+BLITTER.stride]
add edi, [_display.lfb_pitch]
add ebp, [_display.width]
 
mov edx, [esp+BLITTER.w]
dec [esp+BLITTER.h]
jnz .hw.outer32
 
.done:
add esp, 80
; call [draw_pointer]
; call __sys_draw_pointer
.L57:
add esp, .local_vars_size
pop ebx
pop esi
pop edi
323,121 → 393,133
pop ebp
ret
 
align 4
blit_copy_32_bgr:
mov ebx, 1
.core_24:
cmp [_display.bits_per_pixel], 24
jne .core_16
 
lea ebx, [ebx+ebx*2]
lea edi, [LFB_BASE+edi+ebx]
mov ebx, [CURRENT_TASK]
 
align 4
blit_copy_32:
.outer24:
mov [esp+.extra_var1], edi
xor ecx, ecx
 
.outer32:
mov eax, [esp+.x_y]
mov [esp+.tmp_x_y], eax
xor ecx, ecx
align 4
.inner32:
cmp [ebp+ecx], bl
jne .skip
.inner24:
cmp [ebp+ecx], bl ; Does the process own this pixel?
jne .skip_1
;--------------------------------------
push eax
mov eax, [esi+ecx*4]
 
lea edi, [edi+ecx*2]
 
; check for hardware cursor
cmp [_display.select_cursor], select_cursor
je @f
cmp [_display.select_cursor], 0
jne .no_mouseunder
jne .no_mouseunder_1
;--------------------------------------
align 4
@@:
push ecx
mov ecx, [esp+4+.tmp_x_y]
 
mov ecx, [esp+4]
ror ecx, 16
sub ecx, edx
rol ecx, 16
sub ecx, [esp+BLITTER.h + 8]
 
; check mouse area for putpixel
call [_display.check_mouse]
pop ecx
 
;--------------------------------------
align 4
.no_mouseunder:
; store to real LFB
mov [LFB_BASE+edi+ecx*4], eax
.no_mouseunder_1:
mov [edi+ecx], ax
shr eax, 16
mov [edi+ecx+2], al
 
pop eax
;--------------------------------------
align 4
.skip:
add [esp+.tmp_x_y], dword 0x10000
.skip_1:
inc ecx
dec edx
jnz .inner32
jnz .inner24
 
add esi, [esp+BLITTER.stride]
mov edi, [esp+.extra_var1]
add edi, [_display.lfb_pitch]
add ebp, [_display.width]
inc dword [esp+.x_y]
 
mov edx, [esp+BLITTER.w]
dec [esp+BLITTER.h]
jnz .outer32
jnz .outer24
 
jmp blit_32.done
jmp .done
 
 
align 4
blit_trans_32_bgr:
mov ebx, 1
.core_16:
lea edi, [LFB_BASE+edi+ebx*2]
mov ebx, [CURRENT_TASK]
 
align 4
blit_trans_32:
 
.outer32:
mov eax, [esp+.x_y]
mov [esp+.tmp_x_y], eax
.outer16:
mov [esp+.extra_var1], edi
xor ecx, ecx
 
align 4
.inner32:
 
cmp [ebp+ecx], bl
jne .skip
.inner16:
cmp [ebp+ecx], bl ; Does the process own this pixel?
jne .skip_2
;--------------------------------------
push eax
mov eax, [esi+ecx*4]
test eax, 0xFF000000
jz .skip
 
; check for hardware cursor
cmp [_display.select_cursor], select_cursor
je @f
cmp [_display.select_cursor], 0
jne .no_mouseunder
jne .no_mouseunder_2
;--------------------------------------
align 4
@@:
push ecx
 
mov ecx, [esp+4+.tmp_x_y]
mov ecx, [esp+4]
ror ecx, 16
sub ecx, edx
rol ecx, 16
sub ecx, [esp+BLITTER.h + 8]
 
; check mouse area for putpixel
call [_display.check_mouse]
pop ecx
;--------------------------------------
align 4
.no_mouseunder:
; store to real LFB
mov [LFB_BASE+edi+ecx*4], eax
.no_mouseunder_2:
; convert to 16 bpp and store to LFB
and eax, 00000000111110001111110011111000b
shr ah, 2
shr ax, 3
ror eax, 8
add al, ah
rol eax, 8
mov [edi+ecx*2], ax
pop eax
;--------------------------------------
align 4
.skip:
add [esp+.tmp_x_y], dword 0x10000
.skip_2:
inc ecx
dec edx
jnz .inner32
jnz .inner16
 
add esi, [esp+BLITTER.stride]
mov edi, [esp+.extra_var1]
add edi, [_display.lfb_pitch]
add ebp, [_display.width]
inc dword [esp+.x_y]
 
mov edx, [esp+BLITTER.w]
dec [esp+BLITTER.h]
jnz .outer32
jnz .outer16
 
jmp blit_32.done
jmp .done