forked from KolibriOS/kolibrios
-A: minor updates
git-svn-id: svn://kolibrios.org@3168 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
94bd7630d1
commit
634c0e9aa4
@ -1,17 +0,0 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;======================================================================
|
||||
;
|
||||
; BOOT DATA
|
||||
;
|
||||
;======================================================================
|
||||
|
||||
$Revision$
|
||||
|
||||
|
||||
boot_dev db 0 ; 0=floppy, 1=hd
|
@ -20,7 +20,7 @@ irq0:
|
||||
mov es, ax
|
||||
inc [timer_ticks]
|
||||
mov eax, [timer_ticks]
|
||||
call playNote ; <<<--- Speaker driver
|
||||
; call playNote ; <<<--- Speaker driver
|
||||
sub eax,[next_usage_update]
|
||||
cmp eax,100
|
||||
jb .nocounter
|
||||
@ -43,21 +43,6 @@ change_task:
|
||||
pushfd
|
||||
cli
|
||||
pushad
|
||||
if 0
|
||||
; \begin{Mario79} ; <- must be refractoried, if used...
|
||||
cmp [dma_task_switched], 1
|
||||
jne .find_next_task
|
||||
mov [dma_task_switched], 0
|
||||
mov ebx, [dma_process]
|
||||
cmp [CURRENT_TASK], ebx
|
||||
je .return
|
||||
mov edi, [dma_slot_ptr]
|
||||
mov [CURRENT_TASK], ebx
|
||||
mov [TASK_BASE], edi
|
||||
jmp @f
|
||||
.find_next_task:
|
||||
; \end{Mario79}
|
||||
end if
|
||||
call find_next_task
|
||||
jz .return ; the same task -> skip switch
|
||||
@@: mov byte[DONT_SWITCH], 1
|
||||
|
@ -106,9 +106,9 @@ diff16 "sdsh_data.table0: ",0,$
|
||||
dw (.ch0_88 -.chars)*16 + 2 ; #88 X
|
||||
dw (.ch0_89 -.chars)*16 + 2 ; #88 Y
|
||||
dw (.ch0_90 -.chars)*16 + 3 ; #90 Z
|
||||
dw (.ch0_91 -.chars)*16 + 3 ; #91 [
|
||||
dw (.ch0_91 -.chars)*16 + 1 ; #91 [
|
||||
dw (.ch0_92 -.chars)*16 + 1 ; #92 \
|
||||
dw (.ch0_93 -.chars)*16 + 3 ; #93 ]
|
||||
dw (.ch0_93 -.chars)*16 + 1 ; #93 ]
|
||||
dw (.ch0_94 -.chars)*16 + 1 ; #94 ^
|
||||
dw (.ch0_95 -.chars)*16 + 1 ; #95 _
|
||||
dw (.ch0_96 -.chars)*16 + 1 ; #96 `
|
||||
@ -442,11 +442,9 @@ diff16 "sdsh_data.chars: ",0,$
|
||||
.ch0_92: ; \
|
||||
gptick 4, 6, 84
|
||||
.ch0_91: ; [
|
||||
lntick 1, 3, 2, 5
|
||||
gptick 19, 4, 99
|
||||
.ch0_93: ; ]
|
||||
lntick 1, 2, 0, 3
|
||||
lntick 1, 8, 0, 3
|
||||
lntick 3, 3, 2, 5
|
||||
gptick 9, 0, 99
|
||||
.ch0_65: ; A
|
||||
.ch0_128: ;
|
||||
lntick 0, 2, 2, 4
|
||||
|
@ -18,9 +18,9 @@ align 4
|
||||
db 0x1A ; 6
|
||||
db 0x77 ; 7
|
||||
db 0x49 ; 8
|
||||
db 0x00 ; 9
|
||||
db 0x00 ; 10
|
||||
db 0x00 ; 11
|
||||
db 0x62 ; 9
|
||||
db 0x2E ; 10
|
||||
db 0x1D ; 11
|
||||
db 0x00 ; 12
|
||||
db 0x00 ; 13
|
||||
db 0x00 ; 14
|
||||
@ -48,36 +48,36 @@ align 4
|
||||
diff16 "font02.table: ",0,$
|
||||
|
||||
times 33 dw 0
|
||||
char_entry .ch_33, 4, 4 ; #33 !
|
||||
char_entry .ch_34, 4, 2 ; #34 "
|
||||
char_entry .ch_33, 2, 4 ; #33 !
|
||||
char_entry .ch_34, 2, 2 ; #34 "
|
||||
char_entry .ch_35, 0, 4 ; #35 #
|
||||
char_entry .ch_36, 0, 4 ; #36 $
|
||||
char_entry .ch_37, 0, 3 ; #37 %
|
||||
|
||||
dw (.ch_38 -.chars)*16 + 4 ; #38 &
|
||||
char_entry .ch_39, 5, 1 ; #39 '
|
||||
dw (.ch_40 -.chars)*16 + 1 ; #40 (
|
||||
dw (.ch_41 -.chars)*16 + 1 ; #41 )
|
||||
char_entry .ch_39, 2, 1 ; #39 '
|
||||
char_entry .ch_40, 2, 1 ; #40 (
|
||||
char_entry .ch_41, 2, 1 ; #41 )
|
||||
char_entry .ch_42, 1, 3 ; #42 *
|
||||
dw (.ch_43 -.chars)*16 + 2 ; #43 +
|
||||
dw (.ch_44 -.chars)*16 + 2 ; #44 ,
|
||||
dw (.ch_45 -.chars)*16 + 1 ; #45 -
|
||||
dw (.ch_46 -.chars)*16 + 1 ; #46 .
|
||||
char_entry .ch_47, 2, 1 ; #47 /
|
||||
dw (.ch_48 -.chars)*16 + 2 ; #48 0
|
||||
dw (.ch_49 -.chars)*16 + 2 ; #49 1
|
||||
dw (.ch_50 -.chars)*16 + 3 ; #50 2
|
||||
dw (.ch_51 -.chars)*16 + 3 ; #51 3
|
||||
char_entry .ch_43, 1, 2 ; #43 +
|
||||
char_entry .ch_44, 2, 2 ; #44 ,
|
||||
char_entry .ch_45, 1, 1 ; #45 -
|
||||
char_entry .ch_46, 2, 2 ; #46 .
|
||||
char_entry .ch_47, 1, 1 ; #47 /
|
||||
char_entry .ch_48, 1, 2 ; #48 0
|
||||
char_entry .ch_49, 2, 3 ; #49 1
|
||||
char_entry .ch_50, 1, 3 ; #50 2
|
||||
char_entry .ch_51, 1, 2 ; #51 3
|
||||
dw (.ch_52 -.chars)*16 + 3 ; #52 4
|
||||
dw (.ch_53 -.chars)*16 + 2 ; #53 5
|
||||
dw (.ch_54 -.chars)*16 + 2 ; #54 6
|
||||
dw (.ch_55 -.chars)*16 + 2 ; #55 7
|
||||
dw (.ch_56 -.chars)*16 + 2 ; #56 8
|
||||
dw (.ch_57 -.chars)*16 + 2 ; #57 9
|
||||
dw (.ch_58 -.chars)*16 + 2 ; #58 :
|
||||
dw (.ch_59 -.chars)*16 + 3 ; #59 ;
|
||||
char_entry .ch_58, 4, 2 ; #58 :
|
||||
char_entry .ch_59, 4, 4 ; #59 ;
|
||||
dw (.ch_60 -.chars)*16 + 1 ; #60 <
|
||||
dw (.ch_61 -.chars)*16 + 2 ; #61 =
|
||||
char_entry .ch_61, 0, 2 ; #61 =
|
||||
dw (.ch_62 -.chars)*16 + 1 ; #62 >
|
||||
dw (.ch_63 -.chars)*16 + 3 ; #63 ?
|
||||
dw (.ch_64 -.chars)*16 + 2 ; #64 @
|
||||
@ -89,6 +89,7 @@ diff16 "font02.table: ",0,$
|
||||
dw (.ch_70 -.chars)*16 + 3 ; #70 F
|
||||
dw (.ch_71 -.chars)*16 + 2 ; #71 G
|
||||
dw (.ch_72 -.chars)*16 + 3 ; #72 H
|
||||
char_entry .ch_73, 4, 3 ; #73 I
|
||||
dw (.ch_73 -.chars)*16 + 3 ; #73 I
|
||||
dw (.ch_74 -.chars)*16 + 2 ; #74 J
|
||||
dw (.ch_75 -.chars)*16 + 3 ; #75 K
|
||||
@ -100,7 +101,6 @@ diff16 "font02.table: ",0,$
|
||||
dw (.ch_81 -.chars)*16 + 3 ; #81 Q
|
||||
dw (.ch_82 -.chars)*16 + 3 ; #82 R
|
||||
char_entry .ch_83, 0, 2 ; #83 S
|
||||
dw (.ch_83 -.chars)*16 + 3 ; #83 S
|
||||
dw (.ch_84 -.chars)*16 + 2 ; #84 T
|
||||
dw (.ch_85 -.chars)*16 + 3 ; #85 U
|
||||
dw (.ch_86 -.chars)*16 + 3 ; #86 V
|
||||
@ -152,8 +152,8 @@ diff16 "font02.table: ",0,$
|
||||
dw (.ch_131-.chars)*16 + 2 ; #131
|
||||
dw (.ch_132-.chars)*16 + 6 ; #132
|
||||
dw (.ch_133-.chars)*16 + 4 ; #133 E
|
||||
dw (.ch_134-.chars)*16 + 3 ; #134
|
||||
dw (.ch_135-.chars)*16 + 3 ; #135
|
||||
dw (.ch_134-.chars)*16 + 3 ; #134 Zhe
|
||||
char_entry .ch_135, 0, 4 ; #135 'Ze'
|
||||
dw (.ch_136-.chars)*16 + 3 ; #136
|
||||
dw (.ch_137-.chars)*16 + 4 ; #137
|
||||
dw (.ch_138-.chars)*16 + 3 ; #138 K
|
||||
@ -267,6 +267,7 @@ diff16 "font02.chars: ",0,$
|
||||
.chars:
|
||||
dw 0
|
||||
.ch_33: ; !
|
||||
.ch_46: ; .
|
||||
lntick 3, 3, 0, 3
|
||||
lntick 4, 2, 2, 3
|
||||
lntick 4, 7, 2, 6
|
||||
@ -281,13 +282,17 @@ diff16 "font02.chars: ",0,$
|
||||
lntick 0, 7, 0, 8
|
||||
lntick 1,11, 0, 8
|
||||
|
||||
.ch_135: ; 'Ze'
|
||||
lntick 0,12, 0, 2
|
||||
.ch_51: ; 3
|
||||
gptick 11, 3, 106
|
||||
.ch_36: ; $
|
||||
lntick 3, 2, 2, 14
|
||||
lntick 5, 2, 2, 14
|
||||
.ch_83: ; S
|
||||
.ch_83: ; S
|
||||
gptick 8, 0, 125
|
||||
gptick 1, 4, 118
|
||||
lntick 0, 3, 3
|
||||
lntick 3, 2, 2, 14
|
||||
lntick 5, 2, 2, 14
|
||||
|
||||
.ch_37: ; %
|
||||
.ch_47: ; /
|
||||
@ -300,52 +305,63 @@ diff16 "font02.chars: ",0,$
|
||||
gptick 19, 4, 44
|
||||
gptick 4, 0, 44
|
||||
ritick 3, 3, 0
|
||||
|
||||
.ch_40: ; (
|
||||
gptick 5, 3, 80
|
||||
gptick 9, 3, 121
|
||||
.ch_41: ; )
|
||||
gptick 9, 7, 80
|
||||
gptick 10, 7, 121
|
||||
|
||||
.ch_42: ; *
|
||||
gptick 7, 4, 71
|
||||
gptick 6, 0, 71
|
||||
lntick 4, 5, 2, 8
|
||||
.ch_43: ; +
|
||||
lntick 2, 2, 2, 5
|
||||
lntick 4, 5, 2, 7
|
||||
.ch_45: ; -
|
||||
lntick 1, 8, 0, 7
|
||||
.ch_61: ; =
|
||||
lntick 0, 4, 0, 5
|
||||
lntick 0, 6, 0, 5
|
||||
.ch_58: ; :
|
||||
lntick 1, 9, 0, 7
|
||||
lntick 1, 6, 0, 7
|
||||
|
||||
.ch_59: ; ;
|
||||
cstick 1, 7, 0, 0
|
||||
.ch_46: ; .
|
||||
lntick 5, 9, 2, 2
|
||||
.ch_58: ; :
|
||||
cstick 3,10, 0, 0
|
||||
.ch_44: ; ,
|
||||
cstick 1, 3, 0, 0
|
||||
ritick 1, 1, 0
|
||||
cstick 3, 4, 0, 0
|
||||
gptick 3, 6, 48
|
||||
|
||||
.ch_48: ; 0
|
||||
gptick 7, 6, 122
|
||||
gptick 6, 2, 122
|
||||
|
||||
.ch_55: ; 7
|
||||
gptick 1, 2, 81
|
||||
lntick 0, 8, 0, 4
|
||||
.ch_64: ; @
|
||||
cstick 2, 6, 0, 1
|
||||
.ch_48: ; 0
|
||||
|
||||
.ch_79: ; O
|
||||
.ch_142: ;
|
||||
.ch_81: ; Q
|
||||
gptick 5, 4, 116
|
||||
lntick 4, 3, 2, 5
|
||||
lntick 3, 1, 0, 2
|
||||
|
||||
.ch_49: ; 1
|
||||
lntick 2,10, 1, 2
|
||||
.ch_73: ; I
|
||||
lntick 4, 4, 2, 11
|
||||
lntick 2, 3, 0, 5
|
||||
lntick 2,14, 0, 5
|
||||
|
||||
.ch_124: ; |
|
||||
lntick 2, 2, 2, 7
|
||||
ritick 1, 6, 0
|
||||
|
||||
.ch_50: ; 2
|
||||
lntick 0, 2, 0, 5
|
||||
lntick 1, 3, 1, 3
|
||||
.ch_51: ; 3
|
||||
gptick 8, 1, 64
|
||||
gptick 10, 6, 65
|
||||
.ch_83: ; S
|
||||
lntick 1, 5, 0, 3
|
||||
gptick 3, 2, 55
|
||||
gptick 11, 1, 106
|
||||
lntick 1, 5, 1, 5
|
||||
gptick 12, 6, 99
|
||||
|
||||
|
||||
.ch_53: ; 5
|
||||
gptick 10, 6, 65
|
||||
gptick 13, 4, 104
|
||||
@ -407,10 +423,6 @@ diff16 "font02.chars: ",0,$
|
||||
lntick 1, 5, 0, 3
|
||||
lntick 0, 2, 2, 7
|
||||
lntick 4, 2, 2, 7
|
||||
.ch_73: ; I
|
||||
lntick 1, 8, 0, 3
|
||||
lntick 2, 3, 2, 5
|
||||
lntick 1, 2, 0, 3
|
||||
.ch_74: ; J
|
||||
gptick 31, 6, 88
|
||||
lntick 2, 8, 0, 3
|
||||
@ -610,8 +622,6 @@ diff16 "font02.chars: ",0,$
|
||||
gptick 14, 0, 89
|
||||
lntick 1, 3, 2, 6
|
||||
ritick 0, 8, 0
|
||||
.ch_135: ; ZE
|
||||
ritick 3, 5, 0
|
||||
.ch_157: ; AE
|
||||
gptick 8, 1, 64
|
||||
gptick 10, 6, 65
|
||||
|
@ -121,7 +121,7 @@ init_mem:
|
||||
dec ecx
|
||||
jnz .map_kernel_tabs
|
||||
|
||||
; map pagetables to linear space
|
||||
; map pagetables to linear space!
|
||||
mov dword [sys_pgdir-OS_BASE+(page_tabs shr 20)], sys_pgdir+PG_SW-OS_BASE
|
||||
|
||||
mov edi, (sys_pgdir-OS_BASE)
|
||||
@ -149,7 +149,7 @@ init_page_map:
|
||||
|
||||
mov edi, sys_pgmap-OS_BASE
|
||||
mov ebx, ecx
|
||||
shr ecx, 5
|
||||
shr ecx, 5 ; 32 pagebits per dw
|
||||
xor eax, eax
|
||||
rep stosd
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;
|
||||
;; Copyright (C) KolibriOS team 2004-2010. All rights reserved.
|
||||
;; Copyright (C) KolibriOS team 2004-2013. All rights reserved.
|
||||
;; PROGRAMMING:
|
||||
;; Ivan Poddubny
|
||||
;; Marat Zakiyanov (Mario79)
|
||||
@ -87,7 +87,6 @@ pci_data_sel equ (pci_data_32-gdts)
|
||||
;; Included files:
|
||||
;;
|
||||
;; Kernel16.inc
|
||||
;; - Booteng.inc English text for bootup
|
||||
;; - Bootcode.inc Hardware setup
|
||||
;; - Pci16.inc PCI functions
|
||||
;;
|
||||
@ -116,14 +115,12 @@ use16
|
||||
org 0x0
|
||||
jmp start_of_code
|
||||
|
||||
version db 'Kolibri OS version 0.7.7.0+ ',13,10,13,10,0
|
||||
version db 'Kolibri-A version 0.1.0.0 ',13,10,13,10,0
|
||||
|
||||
;include "boot/bootstr.inc" ; language-independent boot messages
|
||||
diff16 "preboot start: ",0,$
|
||||
include "boot/preboot.inc"
|
||||
|
||||
include "boot/booteng.inc" ; english system boot messages
|
||||
diff16 "bootcode start: ",0,$
|
||||
|
||||
include "boot/bootcode.inc" ; 16 bit system boot code
|
||||
|
||||
diff16 "pci16 start: ",0,$
|
||||
@ -252,6 +249,8 @@ end if
|
||||
lgdt [gdts]
|
||||
jmp pword os_code:high_code
|
||||
|
||||
diff16 "32-bit init size ",B32,$
|
||||
|
||||
align 4
|
||||
bios32_entry dd ?
|
||||
tmp_page_tabs dd ?
|
||||
@ -478,7 +477,7 @@ high_code:
|
||||
stdcall kernel_alloc, (unpack.LZMA_BASE_SIZE+(unpack.LZMA_LIT_SIZE shl \
|
||||
(unpack.lc+unpack.lp)))*4
|
||||
|
||||
mov [unpack.p], eax
|
||||
mov [unpack.p], eax ; unpacker.inc
|
||||
|
||||
call init_events
|
||||
mov eax, srv.fd-SRV_FD_OFFSET
|
||||
|
@ -219,7 +219,7 @@ include "fs/ext2.inc" ; read / write for ext2 filesystem
|
||||
|
||||
; sound
|
||||
|
||||
include "sound/playnote.inc" ; player Note for Speaker PC
|
||||
;include "sound/playnote.inc" ; player Note for Speaker PC
|
||||
;include "sound/FHT.inc" ; fast Fourier transform routines
|
||||
|
||||
; display
|
||||
|
@ -267,9 +267,7 @@
|
||||
; 0x805FF000 -> 5FFF80 TSS
|
||||
; 0x80600000 -> 601FFF i/o maps
|
||||
|
||||
; 0x80800000 -> kernel heap
|
||||
; 0x80FFFFFF heap min limit
|
||||
; 0xEFFFFFFF heap max limit
|
||||
; 0x80800000 ->827FFFFF kernel heap
|
||||
|
||||
; 0xF0000000 -> 0xF1FFFFFF PCI-express extended config space
|
||||
; 0xFD000000 -> 0xFD3FFFFF static system buffer 4Mb
|
||||
|
@ -445,7 +445,7 @@ align 4
|
||||
.invert_force:
|
||||
mov ecx, [ebx+eax*4]
|
||||
xor ecx, 0x00FFFFFF
|
||||
or ecx, 0x01000000 ; keep bit[24] high !
|
||||
bts ecx, 24 ; keep bit[24] high !
|
||||
align 4
|
||||
.putpixel:
|
||||
mov [ebx+eax*4], ecx
|
||||
@ -956,6 +956,7 @@ bgr_cur_line rd 1920 ; maximum width of screen
|
||||
bgr_next_line rd 1920
|
||||
endg
|
||||
|
||||
|
||||
smooth_line:
|
||||
mov al, [esi+2]
|
||||
shl eax, 16
|
||||
@ -1019,6 +1020,28 @@ align 4
|
||||
overlapping_of_points_ptr dd overlapping_of_points
|
||||
endg
|
||||
|
||||
align 16
|
||||
overlapping_of_points_mmx:
|
||||
movd mm0, eax
|
||||
movd mm4, eax
|
||||
movd mm1, ebx
|
||||
pxor mm2, mm2
|
||||
punpcklbw mm0, mm2
|
||||
punpcklbw mm1, mm2
|
||||
psubw mm1, mm0
|
||||
movd mm3, ecx
|
||||
psrld mm3, 24
|
||||
packuswb mm3, mm3
|
||||
packuswb mm3, mm3
|
||||
pmullw mm1, mm3
|
||||
psrlw mm1, 8
|
||||
packuswb mm1, mm2
|
||||
paddb mm4, mm1
|
||||
movd eax, mm4
|
||||
ret
|
||||
|
||||
|
||||
|
||||
init_background:
|
||||
mov edi, BgrAuxTable
|
||||
xor edx, edx
|
||||
@ -1040,25 +1063,7 @@ init_background:
|
||||
@@:
|
||||
ret
|
||||
|
||||
align 16
|
||||
overlapping_of_points_mmx:
|
||||
movd mm0, eax
|
||||
movd mm4, eax
|
||||
movd mm1, ebx
|
||||
pxor mm2, mm2
|
||||
punpcklbw mm0, mm2
|
||||
punpcklbw mm1, mm2
|
||||
psubw mm1, mm0
|
||||
movd mm3, ecx
|
||||
psrld mm3, 24
|
||||
packuswb mm3, mm3
|
||||
packuswb mm3, mm3
|
||||
pmullw mm1, mm3
|
||||
psrlw mm1, 8
|
||||
packuswb mm1, mm2
|
||||
paddb mm4, mm1
|
||||
movd eax, mm4
|
||||
ret
|
||||
|
||||
;diff16 "VESA2 code end ",0,$
|
||||
diff10 "VESA2 code size",get_pixel,$
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user