Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 462 → Rev 461

/kernel/branches/flat_kernel/core/dll.inc
6,8 → 6,8
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
DRV_COMPAT equ 5 ;minimal required drivers version
DRV_CURRENT equ 5 ;current drivers model version
DRV_COMPAT equ 4 ;minimal required drivers version
DRV_CURRENT equ 4 ;current drivers model version
 
DRV_VERSION equ (DRV_COMPAT shl 16) or DRV_CURRENT
 
/kernel/branches/flat_kernel/drivers/uart.asm
10,9 → 10,6
include 'proc32.inc'
include 'imports.inc'
 
API_VERSION equ 0
UART_VERSION equ API_VERSION
 
PG_SW equ 0x003
page_tabs equ 0xFDC00000 ;hack
 
193,6 → 190,8
 
CONNECTION_SIZE equ 7*4
 
UART_VERSION equ 0x12345678 ;debug
 
public START
public service_proc
public version
318,8 → 317,6
jne @F
 
mov eax, [ebx+output]
cmp [ebx+out_size], 4
jne .fail
mov [eax], dword UART_VERSION
xor eax, eax
ret
327,9 → 324,6
cmp eax, PORT_OPEN
jne @F
 
cmp [ebx+out_size], 4
jne .fail
 
mov ebx, [ebx+input]
mov eax, [ebx]
call uart_open
961,7 → 955,7
dd isr_recieve
dd isr_line
 
version dd (5 shl 16) or (UART_VERSION and 0xFFFF)
version dd 0x00040000
 
sz_uart_srv db 'UART',0
 
/kernel/branches/flat_kernel/drivers/ati2d.asm
10,8 → 10,6
include 'proc32.inc'
include 'imports.inc'
 
API_VERSION equ 0x01000100
 
DEBUG equ 1
 
VID_ATI equ 0x1002
21,7 → 19,7
LOAD_INDIRECT equ 2
LOAD_SYSTEM equ 3
 
SRV_GETVERSION equ 0
VIDEO_FREE equ 2
 
struc BITMAPINFOHEADER {
.biSize dd ? ; DWORD
231,16 → 229,13
align 4
proc service_proc stdcall, ioctl:dword
 
mov ebx, [ioctl]
cmp [ebx+io_code], SRV_GETVERSION
mov edi, [ioctl]
mov ebx, [edi+io_code]
cmp ebx, VIDEO_FREE
jne .fail
 
mov eax, [ebx+output]
cmp [ebx+out_size], 4
jne .fail
mov [eax], dword API_VERSION
xor eax, eax
ret
mov eax, [edi+input]
call video_free
.fail:
or eax, -1
ret
991,7 → 986,7
dd (R9800XT shl 16)+VID_ATI
dd 0 ;terminator
 
version dd (5 shl 16) or (API_VERSION and 0xFFFF)
version dd 0x00040004
 
sz_ati_srv db 'HWCURSOR',0
 
/kernel/branches/flat_kernel/drivers/infinity.asm
10,10 → 10,6
 
format MS COFF
 
API_VERSION equ 0x01000100
SOUND_VERSION equ API_VERSION
 
 
include 'proc32.inc'
include 'main.inc'
include 'imports.inc'
164,8 → 160,6
cmp eax, SRV_GETVERSION
jne @F
mov eax, [edi+output]
cmp [edi+out_size], 4
jne .fail
mov eax, [eax]
mov [eax], dword SOUND_VERSION
xor eax, eax
1251,7 → 1245,7
pan_max dd 0x00002710,0x00002710
 
;stream_map dd 0xFFFF ; 16
version dd (5 shl 16) or (SOUND_VERSION and 0xFFFF)
version dd (4 shl 16) or (SOUND_VERSION and 0xFFFF)
 
szInfinity db 'INFINITY',0
szSound db 'SOUND',0
1283,8 → 1277,3
mix_3_core rd 1
mix_4_core rd 1
 
 
 
 
 
 
/kernel/branches/flat_kernel/drivers/main.inc
8,9 → 8,11
; (C) copyright Serge 2006-2007
; email: infinity_sound@mail.ru
 
SOUND_VERSION equ 0x01000100
 
PLAY_SYNC equ 0x80000000
 
 
PCM_ALL equ 0
 
PCM_OUT equ 0x08000000
/kernel/branches/flat_kernel/drivers/sceletone.asm
9,8 → 9,6
 
format MS COFF
 
API_VERSION equ 0 ;debug
 
include 'proc32.inc'
include 'imports.inc'
 
41,8 → 39,6
DRV_EXIT equ -1
STRIDE equ 4 ;size of row in devices table
 
SRV_GETVERSION equ 0
 
section '.flat' code readable align 16
 
proc START stdcall, state:dword
74,21 → 70,11
align 4
proc service_proc stdcall, ioctl:dword
 
mov ebx, [ioctl]
mov eax, [ebx+io_code]
cmp eax, SRV_GETVERSION
jne @F
; mov edi, [ioctl]
; mov eax, [edi+io_code]
 
mov eax, [ebx+output]
cmp [ebx+out_size], 4
jne .fail
mov [eax], dword API_VERSION
xor eax, eax
ret
@@:
.fail:
or eax, -1
ret
endp
 
restore handle
130,11 → 116,10
 
cmp eax, ebx
je .found
 
add edi, STRIDE
jmp @B
.next:
inc [devfn]
 
.next: inc [devfn]
cmp [devfn], 256
jb .next_dev
mov eax, [bus]
153,10 → 138,11
ret
endp
 
DEVICE_ID equ 1234; pci device id
VENDOR_ID equ 5678; device vendor id
 
;DEVICE_ID equ ; pci device id
;VENDOR_ID equ ; device vendor id
 
 
;all initialized data place here
 
align 4
163,7 → 149,7
devices dd (DEVICE_ID shl 16)+VENDOR_ID
dd 0 ;terminator
 
version dd (5 shl 16) or (API_VERSION and 0xFFFF)
version dd 0x00030003
 
my_service db 'MY_SERVICE',0 ;max 16 chars include zero
 
/kernel/branches/flat_kernel/drivers/sis.asm
10,8 → 10,6
include 'proc32.inc'
include 'imports.inc'
 
API_VERSION equ 0x01000100
 
DEBUG equ 1
 
CPU_FREQ equ 2000d ;cpu freq in MHz
92,7 → 90,6
CODEC_REG_POWERDOWN equ 0x26
CODEC_REG_ST equ 0x26
 
SRV_GETVERSION equ 0
DEV_PLAY equ 1
DEV_STOP equ 2
DEV_CALLBACK equ 3
342,18 → 339,6
 
mov edi, [ioctl]
mov eax, [edi+io_code]
 
cmp eax, SRV_GETVERSION
jne @F
 
mov eax, [edi+output]
cmp [edi+out_size], 4
jne .fail
 
mov [eax], dword API_VERSION
xor eax, eax
ret
@@:
cmp eax, DEV_PLAY
jne @F
if DEBUG
1150,7 → 1135,7
devices dd (CTRL_SIS shl 16)+VID_SIS,msg_AC, set_SIS
dd 0
 
version dd (5 shl 16) or (API_VERSION and 0xFFFF)
version dd 0x00040004
 
msg_AC db '7012 AC97 controller',13,10, 0
msg_SIS db 'Silicon Integrated Systems',13,10, 0
/kernel/branches/flat_kernel/drivers/sound.asm
11,8 → 11,6
include 'proc32.inc'
include 'imports.inc'
 
API_VERSION equ 0x01000100
 
DEBUG equ 1
 
REMAP_IRQ equ 0
59,9 → 57,6
BIT30 EQU 0x40000000
BIT31 EQU 0x80000000
 
PCM_4 equ BIT20
PCM_6 equ BIT21
 
VID_INTEL equ 0x8086
VID_NVIDIA equ 0x10DE
 
97,12 → 92,12
 
CODEC_MASTER_VOL_REG equ 0x02
CODEC_AUX_VOL equ 0x04 ;
CODEC_PCM_OUT_REG equ 0x18 ; PCM output volume
CODEC_EXT_AUDIO_REG equ 0x28 ; extended audio
CODEC_EXT_AUDIO_CTRL_REG equ 0x2a ; extended audio control
CODEC_PCM_FRONT_DACRATE_REG equ 0x2c ; PCM out sample rate
CODEC_PCM_SURND_DACRATE_REG equ 0x2e ; surround sound sample rate
CODEC_PCM_LFE_DACRATE_REG equ 0x30 ; LFE sample rate
CODEC_PCM_OUT_REG equ 18h ; PCM output volume
CODEC_EXT_AUDIO_REG equ 28h ; extended audio
CODEC_EXT_AUDIO_CTRL_REG equ 2ah ; extended audio control
CODEC_PCM_FRONT_DACRATE_REG equ 2ch ; PCM out sample rate
CODEC_PCM_SURND_DACRATE_REG equ 2eh ; surround sound sample rate
CODEC_PCM_LFE_DACRATE_REG equ 30h ; LFE sample rate
 
GLOB_CTRL equ 0x2C ; Global Control
CTRL_STAT equ 0x30 ; Global Status
123,7 → 118,6
CODEC_REG_POWERDOWN equ 0x26
CODEC_REG_ST equ 0x26
 
SRV_GETVERSION equ 0
DEV_PLAY equ 1
DEV_STOP equ 2
DEV_CALLBACK equ 3
391,18 → 385,6
 
mov edi, [ioctl]
mov eax, [edi+io_code]
 
cmp eax, SRV_GETVERSION
jne @F
 
mov eax, [edi+output]
cmp [edi+out_size], 4
jne .fail
 
mov [eax], dword API_VERSION
xor eax, eax
ret
@@:
cmp eax, DEV_PLAY
jne @F
if DEBUG
889,12 → 871,6
xor eax, eax ; timeout error
ret
.ready:
mov eax, 2 ;force set 16-bit 2-channel PCM
mov edx, GLOB_CTRL
call [ctrl.ctrl_write32]
mov eax, 5000 ; wait 5 ms
call StallExec
 
call detect_codec
 
xor eax, eax
1380,9 → 1356,8
 
dd 0 ;terminator
 
version dd 0x00040004
 
version dd (5 shl 16) or (API_VERSION and 0xFFFF)
 
msg_ICH db 'Intel ICH', 13,10, 0
msg_ICH0 db 'Intel ICH0', 13,10, 0
msg_ICH2 db 'Intel ICH2', 13,10, 0
/kernel/branches/flat_kernel/video/cursors.inc
10,6 → 10,7
LOAD_FROM_MEM equ 1
LOAD_INDIRECT equ 2
LOAD_SYSTEM equ 3
VIDEO_FREE equ 2
 
struc BITMAPINFOHEADER {
.biSize dd ? ; DWORD