Subversion Repositories Kolibri OS

Rev

Rev 2130 | Rev 2142 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2130 Rev 2141
Line 66... Line 66...
66
;;
66
;;
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 68... Line 68...
68
 
68
 
Line 69... Line 69...
69
include 'macros.inc'
69
include 'macros.inc'
Line 70... Line 70...
70
 
70
 
Line 71... Line 71...
71
$Revision: 2130 $
71
$Revision: 2141 $
Line 614... Line 614...
614
; Try to Initialize APIC
614
; Try to Initialize APIC
615
	call	APIC_init
615
	call	APIC_init
Line 616... Line 616...
616
 
616
 
Line 617... Line -...
617
        call pci_irq_fixup
-
 
618
 
-
 
619
        call    unmask_timer
-
 
620
 
-
 
621
; SET KEYBOARD PARAMETERS
-
 
622
        mov   al, 0xf6         ; reset keyboard, scan enabled
-
 
623
        call  kb_write
-
 
624
 
-
 
625
        ; wait until 8042 is ready
-
 
626
        xor ecx,ecx
-
 
627
      @@:
-
 
628
        in     al,64h
-
 
629
        and    al,00000010b
-
 
630
        loopnz @b
-
 
631
 
-
 
632
       ; mov   al, 0xED       ; Keyboard LEDs - only for testing!
-
 
633
       ; call  kb_write
-
 
634
       ; call  kb_read
-
 
635
       ; mov   al, 111b
-
 
636
       ; call  kb_write
-
 
637
       ; call  kb_read
-
 
638
 
-
 
639
        mov   al, 0xF3       ; set repeat rate & delay
-
 
640
        call  kb_write
-
 
641
;        call  kb_read
-
 
642
        mov   al, 0 ; 30 250 ;00100010b ; 24 500  ;00100100b  ; 20 500
-
 
643
        call  kb_write
-
 
644
;        call  kb_read
-
 
645
     ;// mike.dld [
-
 
646
        call  set_lights
-
 
647
        stdcall attach_int_handler, 1, irq1, 0
-
 
648
 
-
 
649
     ;// mike.dld ]
-
 
650
 
617
        call pci_irq_fixup
651
 
618
 
652
; Enable timer IRQ (IRQ0) and hard drives IRQs (IRQ14, IRQ15)
-
 
-
 
619
; Enable timer IRQ (IRQ0) and hard drives IRQs (IRQ14, IRQ15)
-
 
620
; they are used: when partitions are scanned, hd_read relies on timer
653
; they are used: when partitions are scanned, hd_read relies on timer
621
        call unmask_timer
-
 
622
        stdcall enable_irq, 2               ; @#$%! PIC
654
 
623
        stdcall enable_irq, 6               ; FDD
655
       stdcall enable_irq, 6                   ; FDD
624
        stdcall enable_irq, 13              ; co-processor
Line 656... Line 625...
656
       stdcall enable_irq, 14
625
        stdcall enable_irq, 14
657
       stdcall enable_irq, 15
626
        stdcall enable_irq, 15
Line 855... Line 824...
855
 
824
 
Line 856... Line 825...
856
; SET VARIABLES
825
; SET VARIABLES
Line 857... Line -...
857
 
-
 
858
        call  set_variables
-
 
859
 
-
 
860
; SET MOUSE
-
 
861
 
-
 
862
        stdcall load_driver, szPS2MDriver
-
 
863
;        stdcall load_driver, szCOM_MDriver
-
 
864
 
-
 
865
        mov   esi,boot_setmouse
-
 
866
        call  boot_log
-
 
867
        call  setmouse
826
 
Line 868... Line 827...
868
 
827
        call  set_variables
869
 
828
 
Line 944... Line 903...
944
 
903
 
945
        ;mov   [TASK_COUNT],dword 2
904
        ;mov   [TASK_COUNT],dword 2
946
	push  1
905
	push  1
Line -... Line 906...
-
 
906
        pop   dword [CURRENT_TASK]      ; set OS task fisrt
-
 
907
 
-
 
908
;       stdcall enable_irq, 1
-
 
909
 
-
 
910
; SET KEYBOARD PARAMETERS
-
 
911
        mov   al, 0xf6         ; reset keyboard, scan enabled
-
 
912
        call  kb_write
-
 
913
 
-
 
914
        ; wait until 8042 is ready
-
 
915
        xor ecx,ecx
-
 
916
      @@:
-
 
917
        in     al,64h
-
 
918
        and    al,00000010b
-
 
919
        loopnz @b
-
 
920
 
-
 
921
       ; mov   al, 0xED       ; Keyboard LEDs - only for testing!
-
 
922
       ; call  kb_write
-
 
923
       ; call  kb_read
-
 
924
       ; mov   al, 111b
-
 
925
       ; call  kb_write
-
 
926
       ; call  kb_read
-
 
927
 
-
 
928
        mov   al, 0xF3       ; set repeat rate & delay
-
 
929
        call  kb_write
-
 
930
;        call  kb_read
-
 
931
        mov   al, 0 ; 30 250 ;00100010b ; 24 500  ;00100100b  ; 20 500
-
 
932
        call  kb_write
-
 
933
;        call  kb_read
-
 
934
     ;// mike.dld [
-
 
935
        call  set_lights
-
 
936
     ;// mike.dld ]
-
 
937
        stdcall attach_int_handler, 1, irq1, 0
-
 
938
 
-
 
939
; SET MOUSE
-
 
940
 
-
 
941
        stdcall load_driver, szPS2MDriver
-
 
942
;        stdcall load_driver, szCOM_MDriver
-
 
943
 
-
 
944
        mov   esi,boot_setmouse
Line 947... Line 945...
947
        pop   dword [CURRENT_TASK]      ; set OS task fisrt
945
        call  boot_log
Line 948... Line 946...
948
 
946
        call  setmouse
Line 997... Line 995...
997
.bll1:  in      al, 0x60        ; wait for ESC key press
995
.bll1:  in      al, 0x60        ; wait for ESC key press
998
        cmp     al, 129
996
        cmp     al, 129
999
        jne     .bll1
997
        jne     .bll1
1000
end if
998
end if
Line 1001... Line -...
1001
 
-
 
1002
        cli                                     ;guarantee forbidance of interrupts.
-
 
1003
        stdcall enable_irq, 2                   ; @#$%! PIC
-
 
1004
        stdcall enable_irq, 13                  ; co-processor
999
 
1005
        cmp     [IDEContrRegsBaseAddr], 0
1000
        cmp     [IDEContrRegsBaseAddr], 0
1006
        setnz   [dma_hdd]
1001
        setnz   [dma_hdd]
Line 1007... Line 1002...
1007
        mov [timer_ticks_enable],1              ; for cd driver
1002
        mov [timer_ticks_enable],1              ; for cd driver
Line 1140... Line 1135...
1140
  process_number dd 0x1
1135
  process_number dd 0x1
1141
endg
1136
endg
Line 1142... Line 1137...
1142
 
1137
 
Line 1143... Line 1138...
1143
set_variables:
1138
set_variables:
-
 
1139
 
1144
 
1140
        mov   ecx,0x16                       ; flush port 0x60
1145
        mov   ecx,0x100                       ; flush port 0x60
1141
.fl60:
1146
.fl60:  in    al,0x60
1142
        in    al,0x60
Line 1147... Line 1143...
1147
        loop  .fl60
1143
        loop  .fl60
1148
        push  eax
1144
        push  eax