Subversion Repositories Kolibri OS

Rev

Rev 3927 | Rev 4135 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3927 Rev 3929
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7
 
7
 
8
$Revision: 3927 $
8
$Revision: 3929 $
9
 
9
 
10
 
10
 
11
keymap:
11
keymap:
12
 
12
 
13
     db   '6',27
13
     db   '6',27
14
     db   '1234567890-=',8,9
14
     db   '1234567890-=',8,9
15
     db   'qwertyuiop[]',13
15
     db   'qwertyuiop[]',13
16
     db   '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 '
16
     db   '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 '
17
     db   '@234567890123',180,178,184,'6',176,'7'
17
     db   '@234567890123',180,178,184,'6',176,'7'
18
     db   179,'8',181,177,183,185,182
18
     db   179,'8',181,177,183,185,182
19
     db   'AB
19
     db   'AB
20
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
20
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
21
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
21
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
22
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
22
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
23
 
23
 
24
keymap_shift:
24
keymap_shift:
25
     db   '6',27
25
     db   '6',27
26
     db   '!@#$%^&*()_+',8,9
26
     db   '!@#$%^&*()_+',8,9
27
     db   'QWERTYUIOP{}',13
27
     db   'QWERTYUIOP{}',13
28
     db   '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 '
28
     db   '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 '
29
     db   '@234567890123',180,178,184,'6',176,'7'
29
     db   '@234567890123',180,178,184,'6',176,'7'
30
     db   179,'8',181,177,183,185,182
30
     db   179,'8',181,177,183,185,182
31
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
31
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
32
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
32
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
33
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
33
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
34
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
34
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
35
 
35
 
36
 
36
 
37
keymap_alt:
37
keymap_alt:
38
     db   ' ',27
38
     db   ' ',27
39
     db   ' @ $  {[]}\ ',8,9
39
     db   ' @ $  {[]}\ ',8,9
40
     db   '            ',13
40
     db   '            ',13
41
     db   '             ',0,'           ',0,'4',0,' '
41
     db   '             ',0,'           ',0,'4',0,' '
42
     db   '             ',180,178,184,'6',176,'7'
42
     db   '             ',180,178,184,'6',176,'7'
43
     db   179,'8',181,177,183,185,182
43
     db   179,'8',181,177,183,185,182
44
     db   'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ'
44
     db   'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ'
45
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
45
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
46
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
46
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
47
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
47
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
48
 
48
 
49
 
49
 
50
 
50
 
51
if lang eq ru
51
if lang eq ru
52
  boot_initirq:     cp866 'Инициализация IRQ',0
52
  boot_initirq:     cp866 'Инициализация IRQ',0
53
  boot_picinit:     cp866 'Инициализация PIC',0
53
  boot_picinit:     cp866 'Инициализация PIC',0
54
  boot_v86machine:  cp866 'Инициализация системы V86 машины',0
54
  boot_v86machine:  cp866 'Инициализация системы V86 машины',0
55
  boot_inittimer:   cp866 'Инициализация системного таймера (IRQ0)',0
55
  boot_inittimer:   cp866 'Инициализация системного таймера (IRQ0)',0
56
  boot_initapic:    cp866 'Попытка инициализации APIC',0
56
  boot_initapic:    cp866 'Попытка инициализации APIC',0
57
  boot_enableirq:   cp866 'Включить прерывания 2, 13',0
57
  boot_enableirq:   cp866 'Включить прерывания 2, 13',0
58
  boot_disabling_ide:cp866 'Запрещение прерываний в контроллере IDE',0
58
  boot_disabling_ide:cp866 'Запрещение прерываний в контроллере IDE',0
59
  boot_enabling_ide:cp866 'Разрешение прерываний в контроллере IDE',0
59
  boot_enabling_ide:cp866 'Разрешение прерываний в контроллере IDE',0
60
  boot_set_int_IDE: cp866 'Установка обработчиков прерываний IDE',0
60
  boot_set_int_IDE: cp866 'Установка обработчиков прерываний IDE',0
61
  boot_detectfloppy:cp866 'Поиск floppy дисководов',0
61
  boot_detectfloppy:cp866 'Поиск floppy дисководов',0
62
  boot_detecthdcd:  cp866 'Поиск жестких дисков и ATAPI приводов',0
62
  boot_detecthdcd:  cp866 'Поиск жестких дисков и ATAPI приводов',0
63
  boot_getcache:    cp866 'Получение памяти для кэша',0
63
  boot_getcache:    cp866 'Получение памяти для кэша',0
64
  boot_detectpart:  cp866 'Поиск разделов на дисковых устройствах',0
64
  boot_detectpart:  cp866 'Поиск разделов на дисковых устройствах',0
65
  boot_init_sys:    cp866 'Инициализация системного каталога /sys',0
65
  boot_init_sys:    cp866 'Инициализация системного каталога /sys',0
66
  boot_loadlibs:    cp866 'Загрузка библиотек (.obj)',0
66
  boot_loadlibs:    cp866 'Загрузка библиотек (.obj)',0
67
  boot_memdetect:   cp866 'Количество оперативной памяти','     ',' Мб',0
67
  boot_memdetect:   cp866 'Количество оперативной памяти','     ',' Мб',0
68
  boot_tss:         cp866 'Установка TSSs',0
68
  boot_tss:         cp866 'Установка TSSs',0
69
  boot_cpuid:       cp866 'Чтение CPUIDs',0
69
  boot_cpuid:       cp866 'Чтение CPUIDs',0
70
;  boot_devices:     cp866 'Поиск устройств',0
70
;  boot_devices:     cp866 'Поиск устройств',0
71
  boot_timer:       cp866 'Установка таймера',0
71
  boot_timer:       cp866 'Установка таймера',0
72
  boot_irqs:        cp866 'Переопределение IRQ',0
72
  boot_irqs:        cp866 'Переопределение IRQ',0
73
  boot_setmouse:    cp866 'Установка мыши',0
73
  boot_setmouse:    cp866 'Установка мыши',0
74
  boot_windefs:     cp866 'Установка настроек окон по умолчанию',0
74
  boot_windefs:     cp866 'Установка настроек окон по умолчанию',0
75
  boot_bgr:         cp866 'Установка фона',0
75
  boot_bgr:         cp866 'Установка фона',0
76
  boot_resirqports: cp866 'Резервирование IRQ и портов',0
76
  boot_resirqports: cp866 'Резервирование IRQ и портов',0
77
  boot_setrports:   cp866 'Установка адресов IRQ',0
77
  boot_setrports:   cp866 'Установка адресов IRQ',0
78
  boot_setostask:   cp866 'Создание процесса ядра',0
78
  boot_setostask:   cp866 'Создание процесса ядра',0
79
  boot_allirqs:     cp866 'Открытие всех IRQ',0
79
  boot_allirqs:     cp866 'Открытие всех IRQ',0
80
  boot_tsc:         cp866 'Чтение TSC',0
80
  boot_tsc:         cp866 'Чтение TSC',0
81
  boot_cpufreq:     cp866 'Частота процессора ','    ',' МГц',0
81
  boot_cpufreq:     cp866 'Частота процессора ','    ',' МГц',0
82
  boot_pal_ega:     cp866 'Установка EGA/CGA 320x200 палитры',0
82
  boot_pal_ega:     cp866 'Установка EGA/CGA 320x200 палитры',0
83
  boot_pal_vga:     cp866 'Установка VGA 640x480 палитры',0
83
  boot_pal_vga:     cp866 'Установка VGA 640x480 палитры',0
84
  boot_failed:      cp866 'Загрузка первого приложения не удалась',0
84
  boot_failed:      cp866 'Загрузка первого приложения не удалась',0
85
  boot_mtrr:        cp866 'Установка MTRR',0
85
  boot_mtrr:        cp866 'Установка MTRR',0
86
 
86
 
87
  boot_APIC_found:  cp866 'APIC включен', 0
87
  boot_APIC_found:  cp866 'APIC включен', 0
88
  boot_APIC_nfound: cp866 'APIC не найден', 0
88
  boot_APIC_nfound: cp866 'APIC не найден', 0
89
if preboot_blogesc
89
if preboot_blogesc
90
  boot_tasking:     cp866 'Все готово для запуска, нажмитре ESC для старта',0
90
  boot_tasking:     cp866 'Все готово для запуска, нажмитре ESC для старта',0
91
end if
91
end if
92
else if lang eq sp
92
else if lang eq sp
93
  include 'data32sp.inc'
93
  include 'data32sp.inc'
94
else if lang eq et
94
else if lang eq et
95
  include 'data32et.inc'
95
  include 'data32et.inc'
96
else
96
else
97
  boot_initirq      db   'Initialize IRQ',0
97
  boot_initirq      db   'Initialize IRQ',0
98
  boot_picinit      db   'Initialize PIC',0
98
  boot_picinit      db   'Initialize PIC',0
99
  boot_v86machine   db   'Initialize system V86 machine',0
99
  boot_v86machine   db   'Initialize system V86 machine',0
100
  boot_inittimer    db   'Initialize system timer (IRQ0)',0
100
  boot_inittimer    db   'Initialize system timer (IRQ0)',0
101
  boot_initapic     db   'Try to initialize APIC',0
101
  boot_initapic     db   'Try to initialize APIC',0
102
  boot_enableirq    db   'Enable interrupts 2, 13',0
102
  boot_enableirq    db   'Enable interrupts 2, 13',0
103
  boot_disabling_ide db   'Disable interrupts in IDE controller',0
103
  boot_disabling_ide db   'Disable interrupts in IDE controller',0
104
  boot_enabling_ide db   'Enable interrupts in IDE controller',0
104
  boot_enabling_ide db   'Enable interrupts in IDE controller',0
105
  boot_set_int_IDE  db   'Set handler of interrupts for IDE',0
105
  boot_set_int_IDE  db   'Set handler of interrupts for IDE',0
106
  boot_detectfloppy db   'Search floppy drives',0
106
  boot_detectfloppy db   'Search floppy drives',0
107
  boot_detecthdcd   db   'Search hard drives and ATAPI drives',0
107
  boot_detecthdcd   db   'Search hard drives and ATAPI drives',0
108
  boot_getcache     db   'Get memory for cache',0
108
  boot_getcache     db   'Get memory for cache',0
109
  boot_detectpart   db   'Search partitions on disk devices',0
109
  boot_detectpart   db   'Search partitions on disk devices',0
110
  boot_init_sys     db   'Initialize system directory /sys',0
110
  boot_init_sys     db   'Initialize system directory /sys',0
111
  boot_loadlibs     db   'Loading librares (.obj)',0
111
  boot_loadlibs     db   'Loading librares (.obj)',0
112
  boot_memdetect    db   'Determining amount of memory',0
112
  boot_memdetect    db   'Determining amount of memory',0
113
  boot_tss          db   'Setting TSSs',0
113
  boot_tss          db   'Setting TSSs',0
114
  boot_cpuid        db   'Reading CPUIDs',0
114
  boot_cpuid        db   'Reading CPUIDs',0
115
;  boot_devices      db   'Detecting devices',0
115
;  boot_devices      db   'Detecting devices',0
116
  boot_setmouse     db   'Setting mouse',0
116
  boot_setmouse     db   'Setting mouse',0
117
  boot_windefs      db   'Setting window defaults',0
117
  boot_windefs      db   'Setting window defaults',0
118
  boot_bgr          db   'Calculating background',0
118
  boot_bgr          db   'Calculating background',0
119
  boot_resirqports  db   'Reserving IRQs & ports',0
119
  boot_resirqports  db   'Reserving IRQs & ports',0
120
  boot_setostask    db   'Setting OS task',0
120
  boot_setostask    db   'Setting OS task',0
121
  boot_allirqs      db   'Unmasking IRQs',0
121
  boot_allirqs      db   'Unmasking IRQs',0
122
  boot_tsc          db   'Reading TSC',0
122
  boot_tsc          db   'Reading TSC',0
123
  boot_cpufreq      db   'CPU frequency is ','    ',' MHz',0
123
  boot_cpufreq      db   'CPU frequency is ','    ',' MHz',0
124
  boot_pal_ega      db   'Setting EGA/CGA 320x200 palette',0
124
  boot_pal_ega      db   'Setting EGA/CGA 320x200 palette',0
125
  boot_pal_vga      db   'Setting VGA 640x480 palette',0
125
  boot_pal_vga      db   'Setting VGA 640x480 palette',0
126
  boot_failed       db   'Failed to start first app',0
126
  boot_failed       db   'Failed to start first app',0
127
  boot_mtrr         db   'Setting MTRR',0
127
  boot_mtrr         db   'Setting MTRR',0
128
 
128
 
129
  boot_APIC_found   db   'APIC enabled', 0
129
  boot_APIC_found   db   'APIC enabled', 0
130
  boot_APIC_nfound  db   'APIC not found', 0
130
  boot_APIC_nfound  db   'APIC not found', 0
131
if preboot_blogesc
131
if preboot_blogesc
132
  boot_tasking      db   'All set - press ESC to start',0
132
  boot_tasking      db   'All set - press ESC to start',0
133
end if
133
end if
134
end if
134
end if
135
 
135
 
136
;new_process_loading db 'K : New Process - loading',13,10,0
136
;new_process_loading db 'K : New Process - loading',13,10,0
137
;new_process_running db 'K : New Process - done',13,10,0
137
;new_process_running db 'K : New Process - done',13,10,0
138
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
138
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
139
 
139
 
140
msg_unresolved db 'unresolved ',0
140
msg_unresolved db 'unresolved ',0
141
msg_module     db 'in module ',0
141
msg_module     db 'in module ',0
142
if ~ lang eq sp et
142
if ~ lang eq sp
143
msg_version    db 'incompatible driver version',13,10,0
143
msg_version    db 'incompatible driver version',13,10,0
144
msg_www        db 'please visit www.kolibrios.org',13,10,0
144
msg_www        db 'please visit www.kolibrios.org',13,10,0
145
end if
145
end if
146
msg_CR         db  13,10,0
146
msg_CR         db  13,10,0
147
 
147
 
148
intel_str      db "GenuineIntel",0
148
intel_str      db "GenuineIntel",0
149
AMD_str        db "AuthenticAMD",0
149
AMD_str        db "AuthenticAMD",0
150
 
150
 
151
szHwMouse       db 'ATI2D',0
151
szHwMouse       db 'ATI2D',0
152
szPS2MDriver    db 'PS2MOUSE',0
152
szPS2MDriver    db 'PS2MOUSE',0
153
;szCOM_MDriver   db 'COM_MOUSE',0
153
;szCOM_MDriver   db 'COM_MOUSE',0
154
szVidintel      db 'vidintel',0
154
szVidintel      db 'vidintel',0
155
szUSB           db 'USB',0
155
szUSB           db 'USB',0
156
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
156
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
157
 
157
 
158
szSTART        db 'START',0
158
szSTART        db 'START',0
159
szEXPORTS      db 'EXPORTS',0
159
szEXPORTS      db 'EXPORTS',0
160
sz_EXPORTS     db '_EXPORTS',0
160
sz_EXPORTS     db '_EXPORTS',0
161
 
161
 
162
szIMPORTS      db 'IMPORTS',0
162
szIMPORTS      db 'IMPORTS',0
163
 
163
 
164
read_firstapp  db '/sys/'
164
read_firstapp  db '/sys/'
165
firstapp       db  'LAUNCHER',0
165
firstapp       db  'LAUNCHER',0
166
notifyapp      db '@notify',0
166
notifyapp      db '@notify',0
167
if lang eq ru
167
if lang eq ru
168
ud_user_message: cp866 'Ошибка: неподдерживаемая инструкция процессора',0
168
ud_user_message: cp866 'Ошибка: неподдерживаемая инструкция процессора',0
169
else if ~ lang eq sp et
169
else if ~ lang eq sp
170
ud_user_message db 'Error: unsupported processor instruction',0
170
ud_user_message db 'Error: unsupported processor instruction',0
171
end if
171
end if
172
 
172
 
173
vmode          db  '/sys/drivers/VMODE.MDR',0
173
vmode          db  '/sys/drivers/VMODE.MDR',0
174
;vrr_m          db  'VRR_M',0
174
;vrr_m          db  'VRR_M',0
175
kernel_file    db  'KERNEL  MNT'
175
kernel_file    db  'KERNEL  MNT'
176
 
176
 
177
dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
177
dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
178
 
178
 
179
align 4
179
align 4
180
 
180
 
181
shmem_list:
181
shmem_list:
182
 .bk           dd shmem_list
182
 .bk           dd shmem_list
183
 .fd           dd shmem_list
183
 .fd           dd shmem_list
184
 
184
 
185
dll_list:
185
dll_list:
186
 .bk           dd dll_list
186
 .bk           dd dll_list
187
 .fd           dd dll_list
187
 .fd           dd dll_list
188
 
188
 
189
pcidev_list:
189
pcidev_list:
190
 .bk           dd pcidev_list
190
 .bk           dd pcidev_list
191
 .fd           dd pcidev_list
191
 .fd           dd pcidev_list
192
 
192
 
193
MAX_DEFAULT_DLL_ADDR = 0x80000000
193
MAX_DEFAULT_DLL_ADDR = 0x80000000
194
MIN_DEFAULT_DLL_ADDR = 0x70000000
194
MIN_DEFAULT_DLL_ADDR = 0x70000000
195
dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
195
dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
196
 
196
 
197
; supported videomodes
197
; supported videomodes
198
 
198
 
199
 
199
 
200
; mike.dld {
200
; mike.dld {
201
;db 0
201
;db 0
202
;dd servetable-0x10000
202
;dd servetable-0x10000
203
;align 4
203
;align 4
204
;draw_line       dd __sys_draw_line
204
;draw_line       dd __sys_draw_line
205
;draw_pointer    dd __sys_draw_pointer
205
;draw_pointer    dd __sys_draw_pointer
206
;//mike.dld, 2006-08-02 [
206
;//mike.dld, 2006-08-02 [
207
;;drawbar         dd __sys_drawbar
207
;;drawbar         dd __sys_drawbar
208
;;drawbar         dd __sys_drawbar.forced
208
;;drawbar         dd __sys_drawbar.forced
209
;drawbar         dd vesa20_drawbar
209
;drawbar         dd vesa20_drawbar
210
;//mike.dld, 2006-08-02 ]
210
;//mike.dld, 2006-08-02 ]
211
;putpixel        dd __sys_putpixel
211
;putpixel        dd __sys_putpixel
212
; } mike.dld
212
; } mike.dld
213
 
213
 
214
 
214
 
215
align 4
215
align 4
216
keyboard   dd 1
216
keyboard   dd 1
217
syslang    dd 1
217
syslang    dd 1
218
 
218
 
219
boot_y     dd 10
219
boot_y     dd 10
220
 
220
 
221
pci_bios_entry  dd 0
221
pci_bios_entry  dd 0
222
                dw pci_code_sel
222
                dw pci_code_sel
223
 
223
 
224
if __DEBUG__ eq 1
224
if __DEBUG__ eq 1
225
  include_debug_strings
225
  include_debug_strings
226
end if
226
end if
227
 
227
 
228
IncludeIGlobals
228
IncludeIGlobals
229
 
229
 
230
align 16
230
align 16
231
gdts:
231
gdts:
232
 
232
 
233
        dw     gdte-$-1
233
        dw     gdte-$-1
234
        dd     gdts
234
        dd     gdts
235
        dw     0
235
        dw     0
236
 
236
 
237
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
237
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
238
; must be : os_code, os_data, app_code, app_data, ....
238
; must be : os_code, os_data, app_code, app_data, ....
239
 
239
 
240
int_code_l:
240
int_code_l:
241
os_code_l:
241
os_code_l:
242
        dw     0xffff
242
        dw     0xffff
243
        dw     0x0000
243
        dw     0x0000
244
        db     0x00
244
        db     0x00
245
        dw     11011111b *256 +10011010b
245
        dw     11011111b *256 +10011010b
246
        db     0x00
246
        db     0x00
247
 
247
 
248
int_data_l:
248
int_data_l:
249
os_data_l:
249
os_data_l:
250
        dw     0xffff
250
        dw     0xffff
251
        dw     0x0000
251
        dw     0x0000
252
        db     0x00
252
        db     0x00
253
        dw     11011111b *256 +10010010b
253
        dw     11011111b *256 +10010010b
254
        db     0x00
254
        db     0x00
255
 
255
 
256
app_code_l:
256
app_code_l:
257
        dw 0xFFFF
257
        dw 0xFFFF
258
        dw 0
258
        dw 0
259
        db 0
259
        db 0
260
        db cpl3
260
        db cpl3
261
        dw G32+D32+0xF;
261
        dw G32+D32+0xF;
262
 
262
 
263
app_data_l:
263
app_data_l:
264
        dw 0xFFFF
264
        dw 0xFFFF
265
        dw 0
265
        dw 0
266
        db 0
266
        db 0
267
        db drw3
267
        db drw3
268
        dw G32+D32+0xF;
268
        dw G32+D32+0xF;
269
 
269
 
270
; ------------- PCI BIOS ------------------
270
; ------------- PCI BIOS ------------------
271
 
271
 
272
pci_code_32:
272
pci_code_32:
273
        dw 0         ;lim  0-15
273
        dw 0         ;lim  0-15
274
        dw 0         ;base 0-15
274
        dw 0         ;base 0-15
275
        db 0         ;base 16-23
275
        db 0         ;base 16-23
276
        db cpl0      ;type
276
        db cpl0      ;type
277
        db D32       ;lim 16-19+props
277
        db D32       ;lim 16-19+props
278
        db 0         ;base 24-31
278
        db 0         ;base 24-31
279
 
279
 
280
pci_data_32:
280
pci_data_32:
281
        dw 0         ;lim  0-15
281
        dw 0         ;lim  0-15
282
        dw 0         ;base 0-15
282
        dw 0         ;base 0-15
283
        db 0         ;base 16-23
283
        db 0         ;base 16-23
284
        db dpl0      ;type
284
        db dpl0      ;type
285
        db D32       ;lim 16-19+props
285
        db D32       ;lim 16-19+props
286
        db 0         ;base 24-31
286
        db 0         ;base 24-31
287
 
287
 
288
; --------------- APM ---------------------
288
; --------------- APM ---------------------
289
apm_code_32:
289
apm_code_32:
290
        dw     0x0f        ; limit 64kb
290
        dw     0x0f        ; limit 64kb
291
        db     0, 0, 0
291
        db     0, 0, 0
292
        dw     11010000b *256 +10011010b
292
        dw     11010000b *256 +10011010b
293
        db     0x00
293
        db     0x00
294
apm_code_16:
294
apm_code_16:
295
        dw     0x0f
295
        dw     0x0f
296
        db     0, 0, 0
296
        db     0, 0, 0
297
        dw     10010000b *256 +10011010b
297
        dw     10010000b *256 +10011010b
298
        db     0x00
298
        db     0x00
299
apm_data_16:
299
apm_data_16:
300
        dw     0x0f
300
        dw     0x0f
301
        db     0, 0, 0
301
        db     0, 0, 0
302
        dw     10010000b *256 +10010010b
302
        dw     10010000b *256 +10010010b
303
        db     0x00
303
        db     0x00
304
; -----------------------------------------
304
; -----------------------------------------
305
 
305
 
306
graph_data_l:
306
graph_data_l:
307
 
307
 
308
        dw     0x7ff
308
        dw     0x7ff
309
        dw     0x0000
309
        dw     0x0000
310
        db     0x00
310
        db     0x00
311
        dw     11010000b *256 +11110010b
311
        dw     11010000b *256 +11110010b
312
        db     0x00
312
        db     0x00
313
tss0_l:
313
tss0_l:
314
        dw     sizeof.TSS-1
314
        dw     sizeof.TSS-1
315
        dw     tss and 0xFFFF
315
        dw     tss and 0xFFFF
316
        db     (tss shr 16) and 0xFF
316
        db     (tss shr 16) and 0xFF
317
        db     10001001b
317
        db     10001001b
318
        dw     (tss shr 16) and 0xFF00
318
        dw     (tss shr 16) and 0xFF00
319
 
319
 
320
tls_data_l:
320
tls_data_l:
321
        dw 0x0FFF
321
        dw 0x0FFF
322
        dw 0
322
        dw 0
323
        db 0
323
        db 0
324
        db drw3
324
        db drw3
325
        dw D32
325
        dw D32
326
 
326
 
327
endofcode:
327
endofcode:
328
gdte:
328
gdte:
329
 
329
 
330
diff16 "end of .data segment",0,$
330
diff16 "end of .data segment",0,$
331
 
331
 
332
align 16
332
align 16
333
cur_saved_data:
333
cur_saved_data:
334
                    rb 4096
334
                    rb 4096
335
fpu_data:
335
fpu_data:
336
                    rb 512
336
                    rb 512
337
 
337
 
338
mem_block_list      rd 64*2
338
mem_block_list      rd 64*2
339
mem_used_list       rd 64*2
339
mem_used_list       rd 64*2
340
mem_hash_cnt        rd 64
340
mem_hash_cnt        rd 64
341
 
341
 
342
cpu_freq            rq 1
342
cpu_freq            rq 1
343
 
343
 
344
heap_mutex          MUTEX
344
heap_mutex          MUTEX
345
heap_size           rd 1
345
heap_size           rd 1
346
heap_free           rd 1
346
heap_free           rd 1
347
heap_blocks         rd 1
347
heap_blocks         rd 1
348
free_blocks         rd 1
348
free_blocks         rd 1
349
 
349
 
350
mem_block_mask      rd 2
350
mem_block_mask      rd 2
351
next_memblock       rd 1
351
next_memblock       rd 1
352
 
352
 
353
 
353
 
354
mst                 MEM_STATE
354
mst                 MEM_STATE
355
 
355
 
356
page_start          rd 1
356
page_start          rd 1
357
page_end            rd 1
357
page_end            rd 1
358
sys_page_map        rd 1
358
sys_page_map        rd 1
359
os_stack_seg        rd 1
359
os_stack_seg        rd 1
360
 
360
 
361
 
361
 
362
srv.fd              rd 1
362
srv.fd              rd 1
363
srv.bk              rd 1
363
srv.bk              rd 1
364
 
364
 
365
 
365
 
366
align 16
366
align 16
367
 
367
 
368
_display            display_t
368
_display            display_t
369
 
369
 
370
_WinMapAddress      rd 1
370
_WinMapAddress      rd 1
371
_WinMapSize         rd 1
371
_WinMapSize         rd 1
372
 
372
 
373
LFBAddress          rd 1
373
LFBAddress          rd 1
374
Screen_Max_X        rd 1
374
Screen_Max_X        rd 1
375
Screen_Max_Y        rd 1
375
Screen_Max_Y        rd 1
376
 
376
 
377
SCR_MODE            rw 2
377
SCR_MODE            rw 2
378
 
378
 
379
PUTPIXEL            rd 1
379
PUTPIXEL            rd 1
380
GETPIXEL            rd 1
380
GETPIXEL            rd 1
381
 
381
 
382
if VESA_1_2_VIDEO
382
if VESA_1_2_VIDEO
383
BANK_SWITCH         rd 1  reserved for vesa 1.2
383
BANK_SWITCH         rd 1  reserved for vesa 1.2
384
BANK_RW             rd 1
384
BANK_RW             rd 1
385
end if
385
end if
386
 
386
 
387
REDRAW_BACKGROUND   rb 4
387
REDRAW_BACKGROUND   rb 4
388
 
388
 
389
align 4
389
align 4
390
draw_data:          rb 32*256
390
draw_data:          rb 32*256
391
BPSLine_calc_area   rd 1440
391
BPSLine_calc_area   rd 1440
392
d_width_calc_area   rd 1140
392
d_width_calc_area   rd 1140
393
 
393
 
394
mouseunder          rd 16*24
394
mouseunder          rd 16*24
395
 
395
 
396
MOUSE_PICTURE       rd 1
396
MOUSE_PICTURE       rd 1
397
 
397
 
398
MOUSE_SCROLL_H      rw 1
398
MOUSE_SCROLL_H      rw 1
399
MOUSE_X:            rw 1
399
MOUSE_X:            rw 1
400
MOUSE_Y:            rw 1
400
MOUSE_Y:            rw 1
401
MOUSE_SCROLL_V      rw 1
401
MOUSE_SCROLL_V      rw 1
402
 
402
 
403
X_UNDER             rw 1
403
X_UNDER             rw 1
404
Y_UNDER             rw 1
404
Y_UNDER             rw 1
405
COLOR_TEMP          rd 1
405
COLOR_TEMP          rd 1
406
MOUSE_COLOR_MEM     rd 1
406
MOUSE_COLOR_MEM     rd 1
407
 
407
 
408
BTN_DOWN:           rb 4
408
BTN_DOWN:           rb 4
409
 
409
 
410
align 4
410
align 4
411
def_cursor          rd 1
411
def_cursor          rd 1
412
def_cursor_clock    rd 1
412
def_cursor_clock    rd 1
413
current_cursor      rd 1
413
current_cursor      rd 1
414
hw_cursor           rd 1
414
hw_cursor           rd 1
415
cur_saved_base      rd 1
415
cur_saved_base      rd 1
416
 
416
 
417
cur.lock            rd 1   ;1 - lock update, 2- hide
417
cur.lock            rd 1   ;1 - lock update, 2- hide
418
cur.left            rd 1   ;cursor clip box
418
cur.left            rd 1   ;cursor clip box
419
cur.top             rd 1
419
cur.top             rd 1
420
cur.right           rd 1
420
cur.right           rd 1
421
cur.bottom          rd 1
421
cur.bottom          rd 1
422
cur.w               rd 1
422
cur.w               rd 1
423
cur.h               rd 1
423
cur.h               rd 1
424
 
424
 
425
ipc_tmp             rd 1
425
ipc_tmp             rd 1
426
ipc_pdir            rd 1
426
ipc_pdir            rd 1
427
ipc_ptab            rd 1
427
ipc_ptab            rd 1
428
 
428
 
429
proc_mem_map        rd 1
429
proc_mem_map        rd 1
430
proc_mem_pdir       rd 1
430
proc_mem_pdir       rd 1
431
proc_mem_tab        rd 1
431
proc_mem_tab        rd 1
432
 
432
 
433
tmp_task_pdir       rd 1
433
tmp_task_pdir       rd 1
434
tmp_task_ptab       rd 1
434
tmp_task_ptab       rd 1
435
 
435
 
436
default_io_map      rd 1
436
default_io_map      rd 1
437
 
437
 
438
LFBSize             rd 1
438
LFBSize             rd 1
439
 
439
 
440
current_slot        rd 1
440
current_slot        rd 1
441
 
441
 
442
; status
442
; status
443
hd1_status                      rd 1  ; 0 - free : other - pid
443
hd1_status                      rd 1  ; 0 - free : other - pid
444
application_table_owner         rd 1  ; 0 - free : other - pid
444
application_table_owner         rd 1  ; 0 - free : other - pid
445
application_table_mutex         MUTEX
445
application_table_mutex         MUTEX
446
 
446
 
447
; device addresses
447
; device addresses
448
mididp                          rd 1
448
mididp                          rd 1
449
midisp                          rd 1
449
midisp                          rd 1
450
 
450
 
451
cdbase                          rd 1
451
cdbase                          rd 1
452
cdid                            rd 1
452
cdid                            rd 1
453
 
453
 
454
hdbase                          rd 1    ; for boot 0x1f0
454
hdbase                          rd 1    ; for boot 0x1f0
455
hdid                            rd 1
455
hdid                            rd 1
456
hdpos                           rd 1    ; for boot 0x1
456
hdpos                           rd 1    ; for boot 0x1
457
label   known_part dword
457
label   known_part dword
458
fat32part                       rd 1    ; for boot 0x1
458
fat32part                       rd 1    ; for boot 0x1
459
cdpos                           rd 1
459
cdpos                           rd 1
460
 
460
 
461
;CPUID information
461
;CPUID information
462
cpu_vendor                      rd 3
462
cpu_vendor                      rd 3
463
cpu_sign                        rd 1
463
cpu_sign                        rd 1
464
cpu_info                        rd 1
464
cpu_info                        rd 1
465
cpu_caps                        rd 4
465
cpu_caps                        rd 4
466
 
466
 
467
 
467
 
468
pg_data                         PG_DATA
468
pg_data                         PG_DATA
469
heap_test                       rd 1
469
heap_test                       rd 1
470
 
470
 
471
buttontype                      rd 1
471
buttontype                      rd 1
472
windowtypechanged               rd 1
472
windowtypechanged               rd 1
473
 
473
 
474
hd_entries                      rd 1     ;unused ? 0xfe10
474
hd_entries                      rd 1     ;unused ? 0xfe10
475
 
475
 
476
mouse_active                    rd 1
476
mouse_active                    rd 1
477
mouse_pause                     rd 1
477
mouse_pause                     rd 1
478
 
478
 
479
redrawmouse_unconditional       rd 1
479
redrawmouse_unconditional       rd 1
480
 
480
 
481
img_background                  rd 1
481
img_background                  rd 1
482
mem_BACKGROUND                  rd 1
482
mem_BACKGROUND                  rd 1
483
static_background_data          rd 1
483
static_background_data          rd 1
484
 
484
 
485
BgrDrawMode                     rd 1
485
BgrDrawMode                     rd 1
486
BgrDataWidth                    rd 1
486
BgrDataWidth                    rd 1
487
BgrDataHeight                   rd 1
487
BgrDataHeight                   rd 1
488
 
488
 
489
skin_data                       rd 1
489
skin_data                       rd 1
490
 
490
 
491
cache_ide0:
491
cache_ide0:
492
cache_ide0_pointer              rd 1
492
cache_ide0_pointer              rd 1
493
cache_ide0_size                 rd 1   ; not use
493
cache_ide0_size                 rd 1   ; not use
494
cache_ide0_data_pointer         rd 1
494
cache_ide0_data_pointer         rd 1
495
cache_ide0_system_data_size     rd 1   ; not use
495
cache_ide0_system_data_size     rd 1   ; not use
496
cache_ide0_appl_data_size       rd 1   ; not use
496
cache_ide0_appl_data_size       rd 1   ; not use
497
cache_ide0_system_data          rd 1
497
cache_ide0_system_data          rd 1
498
cache_ide0_appl_data            rd 1
498
cache_ide0_appl_data            rd 1
499
cache_ide0_system_sad_size      rd 1
499
cache_ide0_system_sad_size      rd 1
500
cache_ide0_appl_sad_size        rd 1
500
cache_ide0_appl_sad_size        rd 1
501
cache_ide0_search_start         rd 1
501
cache_ide0_search_start         rd 1
502
cache_ide0_appl_search_start    rd 1
502
cache_ide0_appl_search_start    rd 1
503
 
503
 
504
cache_ide1:
504
cache_ide1:
505
cache_ide1_pointer              rd 1
505
cache_ide1_pointer              rd 1
506
cache_ide1_size                 rd 1   ; not use
506
cache_ide1_size                 rd 1   ; not use
507
cache_ide1_data_pointer         rd 1
507
cache_ide1_data_pointer         rd 1
508
cache_ide1_system_data_size     rd 1   ; not use
508
cache_ide1_system_data_size     rd 1   ; not use
509
cache_ide1_appl_data_size       rd 1   ; not use
509
cache_ide1_appl_data_size       rd 1   ; not use
510
cache_ide1_system_data          rd 1
510
cache_ide1_system_data          rd 1
511
cache_ide1_appl_data            rd 1
511
cache_ide1_appl_data            rd 1
512
cache_ide1_system_sad_size      rd 1
512
cache_ide1_system_sad_size      rd 1
513
cache_ide1_appl_sad_size        rd 1
513
cache_ide1_appl_sad_size        rd 1
514
cache_ide1_search_start         rd 1
514
cache_ide1_search_start         rd 1
515
cache_ide1_appl_search_start    rd 1
515
cache_ide1_appl_search_start    rd 1
516
 
516
 
517
cache_ide2:
517
cache_ide2:
518
cache_ide2_pointer              rd 1
518
cache_ide2_pointer              rd 1
519
cache_ide2_size                 rd 1   ; not use
519
cache_ide2_size                 rd 1   ; not use
520
cache_ide2_data_pointer         rd 1
520
cache_ide2_data_pointer         rd 1
521
cache_ide2_system_data_size     rd 1   ; not use
521
cache_ide2_system_data_size     rd 1   ; not use
522
cache_ide2_appl_data_size       rd 1   ; not use
522
cache_ide2_appl_data_size       rd 1   ; not use
523
cache_ide2_system_data          rd 1
523
cache_ide2_system_data          rd 1
524
cache_ide2_appl_data            rd 1
524
cache_ide2_appl_data            rd 1
525
cache_ide2_system_sad_size      rd 1
525
cache_ide2_system_sad_size      rd 1
526
cache_ide2_appl_sad_size        rd 1
526
cache_ide2_appl_sad_size        rd 1
527
cache_ide2_search_start         rd 1
527
cache_ide2_search_start         rd 1
528
cache_ide2_appl_search_start    rd 1
528
cache_ide2_appl_search_start    rd 1
529
 
529
 
530
cache_ide3:
530
cache_ide3:
531
cache_ide3_pointer              rd 1
531
cache_ide3_pointer              rd 1
532
cache_ide3_size                 rd 1   ; not use
532
cache_ide3_size                 rd 1   ; not use
533
cache_ide3_data_pointer         rd 1
533
cache_ide3_data_pointer         rd 1
534
cache_ide3_system_data_size     rd 1   ; not use
534
cache_ide3_system_data_size     rd 1   ; not use
535
cache_ide3_appl_data_size       rd 1   ; not use
535
cache_ide3_appl_data_size       rd 1   ; not use
536
cache_ide3_system_data          rd 1
536
cache_ide3_system_data          rd 1
537
cache_ide3_appl_data            rd 1
537
cache_ide3_appl_data            rd 1
538
cache_ide3_system_sad_size      rd 1
538
cache_ide3_system_sad_size      rd 1
539
cache_ide3_appl_sad_size        rd 1
539
cache_ide3_appl_sad_size        rd 1
540
cache_ide3_search_start         rd 1
540
cache_ide3_search_start         rd 1
541
cache_ide3_appl_search_start    rd 1
541
cache_ide3_appl_search_start    rd 1
542
 
542
 
543
debug_step_pointer              rd 1
543
debug_step_pointer              rd 1
544
 
544
 
545
lba_read_enabled                rd 1  ; 0 = disabled , 1 = enabled
545
lba_read_enabled                rd 1  ; 0 = disabled , 1 = enabled
546
pci_access_enabled              rd 1  ; 0 = disabled , 1 = enabled
546
pci_access_enabled              rd 1  ; 0 = disabled , 1 = enabled
547
 
547
 
548
hdd_appl_data                   rb 1  ; 0 = system cache, 1 - application cache
548
hdd_appl_data                   rb 1  ; 0 = system cache, 1 - application cache
549
cd_appl_data                    rb 1  ; 0 = system cache, 1 - application cache
549
cd_appl_data                    rb 1  ; 0 = system cache, 1 - application cache
550
 
550
 
551
timer_ticks_enable              rb 1  ; for cd driver
551
timer_ticks_enable              rb 1  ; for cd driver
552
 
552
 
553
align 4
553
align 4
554
NumBiosDisks                    rd 1
554
NumBiosDisks                    rd 1
555
BiosDisksData                   rb 200h
555
BiosDisksData                   rb 200h
556
BiosDiskCaches                  rb 80h*(cache_ide1-cache_ide0)
556
BiosDiskCaches                  rb 80h*(cache_ide1-cache_ide0)
557
BiosDiskPartitions              rd 80h
557
BiosDiskPartitions              rd 80h
558
 
558
 
559
align 16
559
align 16
560
DRIVE_DATA:                     rb DRIVE_DATA_SIZE
560
DRIVE_DATA:                     rb DRIVE_DATA_SIZE
561
 
561
 
562
IncludeUGlobals
562
IncludeUGlobals
563
 
563
 
564
uglobals_size = $ - endofcode
564
uglobals_size = $ - endofcode
565
 
565
 
566
if ~ lang eq sp
566
if ~ lang eq sp
567
diff16 "end of .bss",0,$
567
diff16 "end of .bss",0,$
568
end if
568
end if
569
 
569
 
570
org (OS_BASE+0x0100000)
570
org (OS_BASE+0x0100000)
571
 
571
 
572
RAMDISK:                        rb 2880*512
572
RAMDISK:                        rb 2880*512
573
RAMDISK_FAT:                    rb 2856*2
573
RAMDISK_FAT:                    rb 2856*2
574
FLOPPY_FAT:                     rb 2856*2
574
FLOPPY_FAT:                     rb 2856*2
575
 
575
 
576
_CLEAN_ZONE:
576
_CLEAN_ZONE:
577
 
577
 
578
align 4096
578
align 4096
579
_IDE_DMA                        rb 16*512
579
_IDE_DMA                        rb 16*512
580
BgrAuxTable                     rb 32768
580
BgrAuxTable                     rb 32768
581
BUTTON_INFO                     rb 64*1024
581
BUTTON_INFO                     rb 64*1024
582
RESERVED_PORTS:                 rb 64*1024
582
RESERVED_PORTS:                 rb 64*1024
583
FLOPPY_BUFF:                    rb 18*512           ;one track
583
FLOPPY_BUFF:                    rb 18*512           ;one track
584
 
584
 
585
sys_pgmap:                      rb 1024*1024/8
585
sys_pgmap:                      rb 1024*1024/8
586
>
586
>