Subversion Repositories Kolibri OS

Rev

Rev 864 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
851 serge 1
 
2
3
 
4
 
5
6
 
864 serge 7
851 serge 8
 
9
10
 
11
include "../kglobals.inc"
12
include "../lang.inc"
13
14
 
854 serge 15
CR0_WP         equ    0x00010000   ;write protect
16
CR0_PG         equ    0x80000000   ;paging
17
18
 
855 serge 19
public _16bit_end
20
854 serge 21
 
851 serge 22
public _poweroff
863 serge 23
851 serge 24
 
25
26
 
928 serge 27
851 serge 28
 
29
30
 
855 serge 31
851 serge 32
 
33
34
 
35
855 serge 36
 
37
38
 
851 serge 39
           and eax, not 0x80000001
40
           mov cr0, eax
41
           jmp far 0x1000:start_of_code
42
43
 
44
45
 
46
include "preboot.inc"
47
48
 
49
include "booteng.inc"     ; english system boot messages
50
else if lang eq ru
51
include "bootru.inc"      ; russian system boot messages
52
include "ru.inc"          ; Russian font
53
else if lang eq et
54
include "bootet.inc"      ; estonian system boot messages
55
include "et.inc"          ; Estonian font
56
else
57
include "bootge.inc"      ; german system boot messages
58
end if
59
60
 
61
62
 
63
include "../bus/pci/pci16.inc"
64
include "../detect/biosdisk.inc"
65
66
 
67
68
 
69
           or eax, CR0_PG+CR0_WP+CR0_PE
854 serge 70
           mov cr0, eax
851 serge 71
72
 
928 serge 73
851 serge 74
 
75
rmode_idt:
863 serge 76
           dw 0x400
77
           dd 0
78
           dw 0
79
80
 
81
_poweroff:
82
           mov eax, cr0
855 serge 83
           and eax, not 0x80000001
84
           mov cr0, eax
85
           jmp far 0x1000:@F
86
@@:
87
           mov eax, 0x3000
88
           mov ss, ax
89
           mov esp, 0xEC00
90
91
 
92
           mov ds, bx
93
           mov es, bx
94
95
 
863 serge 96
97
 
98
           mov     ax, 5304h
99
           xor     bx, bx
100
           int     15h
101
;!!!!!!!!!!!!!!!!!!!!!!!!
102
           mov ax,0x5300
103
           xor bx,bx
104
           int 0x15
105
           push ax
106
107
 
108
           xor bx,bx
109
           int 0x15
110
111
 
112
           mov bx,1
113
           mov cx,bx
114
           int 0x15
115
116
 
117
           xor bx,bx
118
           pop cx
119
           int 0x15
120
121
 
122
           mov bx,1
123
           mov cx,bx
124
           int 0x15
125
126
 
127
           mov bx,1
128
           mov cx,bx
129
           int 0x15
130
131
 
132
           mov bx,1
133
           mov cx,3
134
           int 0x15
135
;!!!!!!!!!!!!!!!!!!!!!!!!
136
137
 
138
139
 
140
 
855 serge 141
_16bit_end:
142