Subversion Repositories Kolibri OS

Rev

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

Rev 6333 Rev 6585
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. 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: 6333 $
8
$Revision: 6585 $
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_initramdisk  cp866 'Инициализация рамдиска',0
72
  boot_initramdisk  cp866 'Инициализация рамдиска',0
73
  boot_irqs         cp866 'Переопределение IRQ',0
73
  boot_irqs         cp866 'Переопределение IRQ',0
74
  boot_setmouse     cp866 'Установка мыши',0
74
  boot_setmouse     cp866 'Установка мыши',0
75
  boot_windefs      cp866 'Установка настроек окон по умолчанию',0
75
  boot_windefs      cp866 'Установка настроек окон по умолчанию',0
76
  boot_bgr          cp866 'Установка фона',0
76
  boot_bgr          cp866 'Установка фона',0
77
  boot_resirqports  cp866 'Резервирование IRQ и портов',0
77
  boot_resirqports  cp866 'Резервирование IRQ и портов',0
78
  boot_setrports    cp866 'Установка адресов IRQ',0
78
  boot_setrports    cp866 'Установка адресов IRQ',0
79
  boot_setostask    cp866 'Создание процесса ядра',0
79
  boot_setostask    cp866 'Создание процесса ядра',0
80
  boot_allirqs      cp866 'Открытие всех IRQ',0
80
  boot_allirqs      cp866 'Открытие всех IRQ',0
81
  boot_tsc          cp866 'Чтение TSC',0
81
  boot_tsc          cp866 'Чтение TSC',0
82
  boot_cpufreq      cp866 'Частота процессора ','    ',' МГц',0
82
  boot_cpufreq      cp866 'Частота процессора ','    ',' МГц',0
83
  boot_pal_ega      cp866 'Установка EGA/CGA 320x200 палитры',0
83
  boot_pal_ega      cp866 'Установка EGA/CGA 320x200 палитры',0
84
  boot_pal_vga      cp866 'Установка VGA 640x480 палитры',0
84
  boot_pal_vga      cp866 'Установка VGA 640x480 палитры',0
85
  boot_failed       cp866 'Загрузка первого приложения не удалась',0
85
  boot_failed       cp866 'Загрузка первого приложения не удалась',0
86
  boot_mtrr         cp866 'Установка MTRR',0
86
  boot_mtrr         cp866 'Установка MTRR',0
87
 
87
 
88
  boot_APIC_found   cp866 'APIC включен', 0
88
  boot_APIC_found   cp866 'APIC включен', 0
89
  boot_APIC_nfound  cp866 'APIC не найден', 0
89
  boot_APIC_nfound  cp866 'APIC не найден', 0
90
if preboot_blogesc
90
if preboot_blogesc
91
  boot_tasking      cp866 'Все готово для запуска, нажмитре ESC для старта',0
91
  boot_tasking      cp866 'Все готово для запуска, нажмитре ESC для старта',0
92
end if
92
end if
93
else if lang eq sp
93
else if lang eq sp
94
  include 'data32sp.inc'
94
  include 'data32sp.inc'
95
else if lang eq et
95
else if lang eq et
96
  include 'data32et.inc'
96
  include 'data32et.inc'
97
else
97
else
98
  boot_initirq      db   'Initialize IRQ',0
98
  boot_initirq      db   'Initialize IRQ',0
99
  boot_picinit      db   'Initialize PIC',0
99
  boot_picinit      db   'Initialize PIC',0
100
  boot_v86machine   db   'Initialize system V86 machine',0
100
  boot_v86machine   db   'Initialize system V86 machine',0
101
  boot_inittimer    db   'Initialize system timer (IRQ0)',0
101
  boot_inittimer    db   'Initialize system timer (IRQ0)',0
102
  boot_initramdisk  db   'Initialize ramdisk',0
102
  boot_initramdisk  db   'Initialize ramdisk',0
103
  boot_initapic     db   'Try to initialize APIC',0
103
  boot_initapic     db   'Try to initialize APIC',0
104
  boot_enableirq    db   'Enable interrupts 2, 13',0
104
  boot_enableirq    db   'Enable interrupts 2, 13',0
105
  boot_disabling_ide db   'Disable interrupts in IDE controller',0
105
  boot_disabling_ide db   'Disable interrupts in IDE controller',0
106
  boot_enabling_ide db   'Enable interrupts in IDE controller',0
106
  boot_enabling_ide db   'Enable interrupts in IDE controller',0
107
  boot_set_int_IDE  db   'Set handler of interrupts for IDE',0
107
  boot_set_int_IDE  db   'Set handler of interrupts for IDE',0
108
  boot_detectfloppy db   'Search floppy drives',0
108
  boot_detectfloppy db   'Search floppy drives',0
109
  boot_detecthdcd   db   'Search hard drives and ATAPI drives',0
109
  boot_detecthdcd   db   'Search hard drives and ATAPI drives',0
110
  boot_getcache     db   'Get memory for cache',0
110
  boot_getcache     db   'Get memory for cache',0
111
  boot_detectpart   db   'Search partitions on disk devices',0
111
  boot_detectpart   db   'Search partitions on disk devices',0
112
  boot_init_sys     db   'Initialize system directory /sys',0
112
  boot_init_sys     db   'Initialize system directory /sys',0
113
  boot_loadlibs     db   'Loading librares (.obj)',0
113
  boot_loadlibs     db   'Loading librares (.obj)',0
114
  boot_memdetect    db   'Determining amount of memory',0
114
  boot_memdetect    db   'Determining amount of memory',0
115
  boot_tss          db   'Setting TSSs',0
115
  boot_tss          db   'Setting TSSs',0
116
  boot_cpuid        db   'Reading CPUIDs',0
116
  boot_cpuid        db   'Reading CPUIDs',0
117
;  boot_devices      db   'Detecting devices',0
117
;  boot_devices      db   'Detecting devices',0
118
  boot_setmouse     db   'Setting mouse',0
118
  boot_setmouse     db   'Setting mouse',0
119
  boot_windefs      db   'Setting window defaults',0
119
  boot_windefs      db   'Setting window defaults',0
120
  boot_bgr          db   'Calculating background',0
120
  boot_bgr          db   'Calculating background',0
121
  boot_resirqports  db   'Reserving IRQs & ports',0
121
  boot_resirqports  db   'Reserving IRQs & ports',0
122
  boot_setostask    db   'Setting OS task',0
122
  boot_setostask    db   'Setting OS task',0
123
  boot_allirqs      db   'Unmasking IRQs',0
123
  boot_allirqs      db   'Unmasking IRQs',0
124
  boot_tsc          db   'Reading TSC',0
124
  boot_tsc          db   'Reading TSC',0
125
  boot_cpufreq      db   'CPU frequency is ','    ',' MHz',0
125
  boot_cpufreq      db   'CPU frequency is ','    ',' MHz',0
126
  boot_pal_ega      db   'Setting EGA/CGA 320x200 palette',0
126
  boot_pal_ega      db   'Setting EGA/CGA 320x200 palette',0
127
  boot_pal_vga      db   'Setting VGA 640x480 palette',0
127
  boot_pal_vga      db   'Setting VGA 640x480 palette',0
128
  boot_failed       db   'Failed to start first app',0
128
  boot_failed       db   'Failed to start first app',0
129
  boot_mtrr         db   'Setting MTRR',0
129
  boot_mtrr         db   'Setting MTRR',0
130
 
130
 
131
  boot_APIC_found   db   'APIC enabled', 0
131
  boot_APIC_found   db   'APIC enabled', 0
132
  boot_APIC_nfound  db   'APIC not found', 0
132
  boot_APIC_nfound  db   'APIC not found', 0
133
if preboot_blogesc
133
if preboot_blogesc
134
  boot_tasking      db   'All set - press ESC to start',0
134
  boot_tasking      db   'All set - press ESC to start',0
135
end if
135
end if
136
end if
136
end if
137
 
137
 
138
;new_process_loading db 'K : New Process - loading',13,10,0
138
;new_process_loading db 'K : New Process - loading',13,10,0
139
;new_process_running db 'K : New Process - done',13,10,0
139
;new_process_running db 'K : New Process - done',13,10,0
140
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
140
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
141
 
141
 
142
msg_unresolved db 'unresolved ',0
142
msg_unresolved db 'unresolved ',0
143
;msg_module     db 'in module ',0
143
;msg_module     db 'in module ',0
144
;if ~ lang eq sp
144
;if ~ lang eq sp
145
;msg_version    db 'incompatible driver version',13,10,0
145
;msg_version    db 'incompatible driver version',13,10,0
146
;msg_www        db 'please visit www.kolibrios.org',13,10,0
146
;msg_www        db 'please visit www.kolibrios.org',13,10,0
147
;end if
147
;end if
148
msg_CR         db  13,10,0
148
msg_CR         db  13,10,0
149
 
149
 
150
szPS2MDriver    db '/rd/1/drivers/PS2MOUSE.SYS',0
150
szPS2MDriver    db '/rd/1/drivers/PS2MOUSE.SYS',0
151
;szCOM_MDriver   db 'COM_MOUSE',0
151
;szCOM_MDriver   db 'COM_MOUSE',0
152
szVidintel      db '/rd/1/drivers/vidintel.sys',0
152
szVidintel      db '/rd/1/drivers/vidintel.sys',0
153
szUSB           db 'USB',0
153
szUSB           db 'USB',0
154
 
154
 
155
szEXPORTS      db 'EXPORTS',0
155
szEXPORTS      db 'EXPORTS',0
156
sz_EXPORTS     db '_EXPORTS',0
156
sz_EXPORTS     db '_EXPORTS',0
157
 
157
 
158
szIMPORTS      db 'IMPORTS',0
158
szIMPORTS      db 'IMPORTS',0
159
 
159
 
160
read_firstapp  db '/sys/'
160
read_firstapp  db '/sys/'
161
firstapp       db '/RD/1/LAUNCHER',0
161
firstapp       db '/RD/1/LAUNCHER',0
162
notifyapp      db '/RD/1/@notify',0
162
notifyapp      db '/RD/1/@notify',0
163
if lang eq ru
163
if lang eq ru
164
ud_user_message  cp866 'Ошибка: неподдерживаемая инструкция процессора',0
164
ud_user_message  cp866 'Ошибка: неподдерживаемая инструкция процессора',0
165
mtrr_user_message cp866 '"Обнаружена проблема с конфигурацией MTRR.\nПроизводительность может быть пониженной" -dW',0
165
mtrr_user_message cp866 '"Обнаружена проблема с конфигурацией MTRR.\nПроизводительность может быть пониженной" -dW',0
166
else if ~ lang eq sp
166
else if ~ lang eq sp
167
ud_user_message db 'Error: unsupported processor instruction',0
167
ud_user_message db 'Error: unsupported processor instruction',0
168
mtrr_user_message db '"There is a problem with MTRR configuration.\nPerformance can be low" -dW',0
168
mtrr_user_message db '"There is a problem with MTRR configuration.\nPerformance can be low" -dW',0
169
end if
169
end if
170
 
170
 
171
vmode          db  '/sys/drivers/VMODE.MDR',0
171
vmode          db  '/sys/drivers/VMODE.MDR',0
172
;vrr_m          db  'VRR_M',0
172
;vrr_m          db  'VRR_M',0
173
kernel_file_load:
173
kernel_file_load:
174
; load kernel.mnt to _CLEAN_ZONE
174
; load kernel.mnt to _CLEAN_ZONE
175
        dd      0       ; subfunction
175
        dd      0       ; subfunction
176
        dq      0       ; offset in file
176
        dq      0       ; offset in file
177
        dd      0x31000 ; number of bytes to read
177
        dd      0x31000 ; number of bytes to read
178
        dd      _CLEAN_ZONE ; buffer for data
178
        dd      _CLEAN_ZONE ; buffer for data
179
        db      '/RD/1/KERNEL.MNT',0
179
        db      '/RD/1/KERNEL.MNT',0
180
 
180
 
181
dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
181
dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
182
 
182
 
183
align 4
183
align 4
184
 
184
 
185
shmem_list:
185
shmem_list:
186
 .bk           dd shmem_list
186
 .bk           dd shmem_list
187
 .fd           dd shmem_list
187
 .fd           dd shmem_list
188
 
188
 
189
dll_list:
189
dll_list:
190
 .bk           dd dll_list
190
 .bk           dd dll_list
191
 .fd           dd dll_list
191
 .fd           dd dll_list
192
 
192
 
193
pcidev_list:
193
pcidev_list:
194
 .bk           dd pcidev_list
194
 .bk           dd pcidev_list
195
 .fd           dd pcidev_list
195
 .fd           dd pcidev_list
196
 
196
 
197
MAX_DEFAULT_DLL_ADDR = 0x80000000
197
MAX_DEFAULT_DLL_ADDR = 0x80000000
198
MIN_DEFAULT_DLL_ADDR = 0x70000000
198
MIN_DEFAULT_DLL_ADDR = 0x70000000
199
dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
199
dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
200
 
200
 
201
; supported videomodes
201
; supported videomodes
202
 
202
 
203
 
203
 
204
; mike.dld {
204
; mike.dld {
205
;db 0
205
;db 0
206
;dd servetable-0x10000
206
;dd servetable-0x10000
207
;align 4
207
;align 4
208
;draw_line       dd __sys_draw_line
208
;draw_line       dd __sys_draw_line
209
;draw_pointer    dd __sys_draw_pointer
209
;draw_pointer    dd __sys_draw_pointer
210
;//mike.dld, 2006-08-02 [
210
;//mike.dld, 2006-08-02 [
211
;;drawbar         dd __sys_drawbar
211
;;drawbar         dd __sys_drawbar
212
;;drawbar         dd __sys_drawbar.forced
212
;;drawbar         dd __sys_drawbar.forced
213
;drawbar         dd vesa20_drawbar
213
;drawbar         dd vesa20_drawbar
214
;//mike.dld, 2006-08-02 ]
214
;//mike.dld, 2006-08-02 ]
215
;putpixel        dd __sys_putpixel
215
;putpixel        dd __sys_putpixel
216
; } mike.dld
216
; } mike.dld
217
 
217
 
218
 
218
 
219
align 4
219
align 4
220
keyboard   dd 1
220
keyboard   dd 1
221
syslang    dd 1
221
syslang    dd 1
222
 
222
 
223
boot_y     dd 10
223
boot_y     dd 10
224
 
224
 
225
pci_bios_entry  dd 0
225
pci_bios_entry  dd 0
226
                dw pci_code_sel
226
                dw pci_code_sel
227
 
227
 
228
if __DEBUG__ eq 1
228
if __DEBUG__ eq 1
229
  include_debug_strings
229
  include_debug_strings
230
end if
230
end if
231
 
231
 
232
IncludeIGlobals
232
IncludeIGlobals
233
 
233
 
234
align 16
234
align 16
235
gdts:
235
gdts:
236
 
236
 
237
        dw     gdte-$-1
237
        dw     gdte-$-1
238
        dd     gdts
238
        dd     gdts
239
        dw     0
239
        dw     0
240
 
240
 
241
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
241
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
242
; must be : os_code, os_data, app_code, app_data, ....
242
; must be : os_code, os_data, app_code, app_data, ....
243
 
243
 
244
int_code_l:
244
int_code_l:
245
os_code_l:
245
os_code_l:
246
        dw     0xffff
246
        dw     0xffff
247
        dw     0x0000
247
        dw     0x0000
248
        db     0x00
248
        db     0x00
249
        dw     11011111b *256 +10011010b
249
        dw     11011111b *256 +10011010b
250
        db     0x00
250
        db     0x00
251
 
251
 
252
int_data_l:
252
int_data_l:
253
os_data_l:
253
os_data_l:
254
        dw     0xffff
254
        dw     0xffff
255
        dw     0x0000
255
        dw     0x0000
256
        db     0x00
256
        db     0x00
257
        dw     11011111b *256 +10010010b
257
        dw     11011111b *256 +10010010b
258
        db     0x00
258
        db     0x00
259
 
259
 
260
app_code_l:
260
app_code_l:
261
        dw 0xFFFF
261
        dw 0xFFFF
262
        dw 0
262
        dw 0
263
        db 0
263
        db 0
264
        db cpl3
264
        db cpl3
265
        dw G32+D32+0xF;
265
        dw G32+D32+0xF;
266
 
266
 
267
app_data_l:
267
app_data_l:
268
        dw 0xFFFF
268
        dw 0xFFFF
269
        dw 0
269
        dw 0
270
        db 0
270
        db 0
271
        db drw3
271
        db drw3
272
        dw G32+D32+0xF;
272
        dw G32+D32+0xF;
273
 
273
 
274
; ------------- PCI BIOS ------------------
274
; ------------- PCI BIOS ------------------
275
 
275
 
276
pci_code_32:
276
pci_code_32:
277
        dw 0         ;lim  0-15
277
        dw 0         ;lim  0-15
278
        dw 0         ;base 0-15
278
        dw 0         ;base 0-15
279
        db 0         ;base 16-23
279
        db 0         ;base 16-23
280
        db cpl0      ;type
280
        db cpl0      ;type
281
        db D32       ;lim 16-19+props
281
        db D32       ;lim 16-19+props
282
        db 0         ;base 24-31
282
        db 0         ;base 24-31
283
 
283
 
284
pci_data_32:
284
pci_data_32:
285
        dw 0         ;lim  0-15
285
        dw 0         ;lim  0-15
286
        dw 0         ;base 0-15
286
        dw 0         ;base 0-15
287
        db 0         ;base 16-23
287
        db 0         ;base 16-23
288
        db dpl0      ;type
288
        db dpl0      ;type
289
        db D32       ;lim 16-19+props
289
        db D32       ;lim 16-19+props
290
        db 0         ;base 24-31
290
        db 0         ;base 24-31
291
 
291
 
292
; --------------- APM ---------------------
292
; --------------- APM ---------------------
293
apm_code_32:
293
apm_code_32:
294
        dw     0x0f        ; limit 64kb
294
        dw     0x0f        ; limit 64kb
295
        db     0, 0, 0
295
        db     0, 0, 0
296
        dw     11010000b *256 +10011010b
296
        dw     11010000b *256 +10011010b
297
        db     0x00
297
        db     0x00
298
apm_code_16:
298
apm_code_16:
299
        dw     0x0f
299
        dw     0x0f
300
        db     0, 0, 0
300
        db     0, 0, 0
301
        dw     10010000b *256 +10011010b
301
        dw     10010000b *256 +10011010b
302
        db     0x00
302
        db     0x00
303
apm_data_16:
303
apm_data_16:
304
        dw     0x0f
304
        dw     0x0f
305
        db     0, 0, 0
305
        db     0, 0, 0
306
        dw     10010000b *256 +10010010b
306
        dw     10010000b *256 +10010010b
307
        db     0x00
307
        db     0x00
308
; -----------------------------------------
308
; -----------------------------------------
309
 
309
 
310
graph_data_l:
310
graph_data_l:
311
 
311
 
312
        dw     0x7ff
312
        dw     0x7ff
313
        dw     0x0000
313
        dw     0x0000
314
        db     0x00
314
        db     0x00
315
        dw     11010000b *256 +11110010b
315
        dw     11010000b *256 +11110010b
316
        db     0x00
316
        db     0x00
317
tss0_l:
317
tss0_l:
318
        dw     sizeof.TSS-1
318
        dw     sizeof.TSS-1
319
        dw     tss and 0xFFFF
319
        dw     tss and 0xFFFF
320
        db     (tss shr 16) and 0xFF
320
        db     (tss shr 16) and 0xFF
321
        db     10001001b
321
        db     10001001b
322
        dw     (tss shr 16) and 0xFF00
322
        dw     (tss shr 16) and 0xFF00
323
 
323
 
324
tls_data_l:
324
tls_data_l:
325
        dw 0x0FFF
325
        dw 0x0FFF
326
        dw 0
326
        dw 0
327
        db 0
327
        db 0
328
        db drw3
328
        db drw3
329
        dw D32
329
        dw D32
330
 
330
 
331
endofcode:
331
endofcode:
332
gdte:
332
gdte:
333
 
333
 
334
diff16 "end of .data segment",0,$
334
diff16 "end of .data segment",0,$
335
 
335
 
336
align 16
336
align 16
337
cur_saved_data:
337
cur_saved_data:
338
                    rb 4096
338
        rb  4096
339
fpu_data:
339
fpu_data:
340
                    rb 512
340
        rb  512
-
 
341
draw_data:
-
 
342
        rb  32*256
-
 
343
BPSLine_calc_area   rd  1440
-
 
344
d_width_calc_area   rd  1140
-
 
345
mouseunder          rd  16*24
341
 
346
 
342
mem_block_list      rd 64*2
347
mem_block_list      rd  64*2
343
mem_used_list       rd 64*2
348
mem_used_list       rd  64*2
344
mem_hash_cnt        rd 64
349
mem_hash_cnt        rd  64
345
 
350
 
346
thr_slot_map        rd 8
351
thr_slot_map        rd  8
347
 
352
 
348
cpu_freq            rq 1
-
 
349
 
-
 
350
heap_mutex          MUTEX
-
 
351
heap_size           rd 1
353
_display            display_t
352
heap_free           rd 1
-
 
353
heap_blocks         rd 1
-
 
354
free_blocks         rd 1
-
 
355
 
-
 
356
mem_block_mask      rd 2
-
 
357
next_memblock       rd 1
354
bios_fb             FRB
358
 
355
 
359
mst                 MEM_STATE
356
mst                 MEM_STATE
360
 
-
 
361
pte_valid_mask      rd 1
-
 
362
page_start          rd 1
357
 
363
page_end            rd 1
-
 
364
sys_page_map        rd 1
-
 
365
os_stack_seg        rd 1
-
 
-
 
358
cpu_freq            dq  ?
366
 
359
 
367
 
360
heap_mutex          MUTEX
-
 
361
heap_size           dd  ?
-
 
362
heap_free           dd  ?
-
 
363
heap_blocks         dd  ?
-
 
364
free_blocks         dd  ?
368
srv.fd              rd 1
365
mem_block_mask      rd  2
-
 
366
next_memblock       dd  ?
-
 
367
 
-
 
368
pte_valid_mask      dd  ?
-
 
369
page_start          dd  ?
369
srv.bk              rd 1
370
page_end            dd  ?
370
 
371
sys_page_map        dd  ?
371
align 16
372
os_stack_seg        dd  ?
372
 
373
 
373
_display            display_t
374
srv.fd              dd  ?
374
bios_fb             FRB
375
srv.bk              dd  ?
375
 
376
 
376
LFBAddress          dd ?
377
LFBAddress          dd  ?
377
 
-
 
378
SCR_MODE            rw 2
-
 
379
 
378
 
380
PUTPIXEL            dd ?
379
PUTPIXEL            dd  ?
381
GETPIXEL            dd ?
380
GETPIXEL            dd  ?
382
 
381
 
383
if VESA_1_2_VIDEO
382
if VESA_1_2_VIDEO
384
BANK_SWITCH         rd 1  reserved for vesa 1.2
383
BANK_SWITCH         dd  ?   ; reserved for vesa 1.2
385
BANK_RW             rd 1
384
BANK_RW             dd  ?
386
end if
385
end if
387
 
-
 
388
REDRAW_BACKGROUND   rb 4
-
 
389
 
-
 
390
align 4
-
 
391
draw_data:          rb 32*256
-
 
392
BPSLine_calc_area   rd 1440
-
 
393
d_width_calc_area   rd 1140
-
 
394
 
-
 
395
mouseunder          rd 16*24
-
 
396
 
386
 
397
MOUSE_PICTURE       dd ?
-
 
398
 
-
 
399
MOUSE_SCROLL_H      rw 1
-
 
400
MOUSE_X:            rw 1
-
 
401
MOUSE_Y:            rw 1
-
 
402
MOUSE_SCROLL_V      rw 1
-
 
403
 
-
 
404
X_UNDER             rw 1
-
 
405
Y_UNDER             rw 1
-
 
406
COLOR_TEMP          rd 1
-
 
407
MOUSE_COLOR_MEM     rd 1
-
 
408
 
-
 
409
BTN_DOWN:           rb 4
-
 
410
 
387
MOUSE_PICTURE       dd  ?
411
align 4
388
 
412
def_cursor          rd 1
389
def_cursor          dd  ?
413
def_cursor_clock    rd 1
390
def_cursor_clock    dd  ?
414
current_cursor      rd 1
391
current_cursor      dd  ?
415
hw_cursor           rd 1
392
hw_cursor           dd  ?
416
cur_saved_base      rd 1
393
cur_saved_base      dd  ?
417
 
394
 
418
cur.lock            rd 1   ;1 - lock update, 2- hide
395
cur.lock            dd  ?   ; 1 - lock update, 2- hide
419
cur.left            rd 1   ;cursor clip box
396
cur.left            dd  ?   ; cursor clip box
420
cur.top             rd 1
397
cur.top             dd  ?
421
cur.w               rd 1
398
cur.w               dd  ?
422
cur.h               rd 1
399
cur.h               dd  ?
423
 
400
 
424
ipc_tmp             rd 1
401
ipc_tmp             dd  ?
425
ipc_pdir            rd 1
402
ipc_pdir            dd  ?
426
ipc_ptab            rd 1
403
ipc_ptab            dd  ?
427
 
404
 
428
proc_mem_map        rd 1
405
proc_mem_map        dd  ?
429
proc_mem_pdir       rd 1
-
 
430
proc_mem_tab        rd 1
-
 
431
 
-
 
432
tmp_task_ptab       rd 1
-
 
433
 
406
proc_mem_pdir       dd  ?
434
default_io_map      rd 1
407
proc_mem_tab        dd  ?
435
 
-
 
-
 
408
 
436
LFBSize             rd 1
-
 
437
 
409
tmp_task_ptab       dd  ?
438
current_process     rd 1
410
 
439
current_slot        rd 1    ; i.e. cureent thread
-
 
440
 
411
default_io_map      dd  ?
441
 
412
 
442
; status
413
LFBSize             dd  ?
443
hd1_status                      rd 1  ; 0 - free : other - pid
414
 
444
application_table_owner         rd 1  ; 0 - free : other - pid
415
current_process     dd  ?
445
application_table_mutex         MUTEX
416
current_slot        dd  ?   ; i.e. cureent thread
446
 
417
 
447
; device addresses
418
; device addresses
448
mididp                          rd 1
419
mididp  dd  ?
449
midisp                          rd 1
420
midisp  dd  ?
450
 
421
 
451
cdbase                          rd 1
422
cdbase  dd  ?
452
cdid                            rd 1
423
cdid    dd  ?
453
 
424
 
454
hdbase                          rd 1    ; for boot 0x1f0
425
hdbase  dd  ?   ; for boot 0x1f0
455
hdid                            rd 1
426
hdid    dd  ?
456
hdpos                           rd 1    ; for boot 0x1
427
hdpos   dd  ?   ; for boot 0x1
457
cdpos                           rd 1
428
cdpos   dd  ?
458
 
429
 
459
;CPUID information
430
;CPUID information
460
cpu_vendor                      rd 3
431
cpu_vendor  rd  3
461
cpu_sign                        rd 1
432
cpu_sign    dd  ?
462
cpu_info                        rd 1
433
cpu_info    dd  ?
463
cpu_caps                        rd 4
434
cpu_caps    rd  4
464
 
-
 
465
 
435
 
466
pg_data                         PG_DATA
436
pg_data     PG_DATA
-
 
437
heap_test   dd  ?
-
 
438
 
-
 
439
skin_data   dd  ?
-
 
440
 
-
 
441
mouse_active    dd  ?
467
heap_test                       rd 1
442
mouse_pause     dd  ?
468
 
443
 
-
 
444
BgrDrawMode     dd  ?
-
 
445
BgrDataWidth    dd  ?
-
 
446
BgrDataHeight   dd  ?
-
 
447
 
-
 
448
buttontype          dd  ?
-
 
449
windowtypechanged   dd  ?
469
buttontype                      rd 1
450
 
-
 
451
debug_step_pointer  dd  ?
-
 
452
 
-
 
453
lba_read_enabled    dd  ?   ; 0 = disabled , 1 = enabled
-
 
454
pci_access_enabled  dd  ?   ; 0 = disabled , 1 = enabled
-
 
455
 
-
 
456
NumBiosDisks        dd  ?
470
windowtypechanged               rd 1
457
BiosDisksData       rb  200h
471
 
458
BiosDiskCaches      rb  80h*(cache_ide1-cache_ide0)
-
 
459
BiosDiskPartitions  rd  80h
-
 
460
 
472
hd_entries                      rd 1     ;unused ? 0xfe10
461
img_background          dd  ?
-
 
462
mem_BACKGROUND          dd  ?
473
 
-
 
474
mouse_active                    rd 1
-
 
475
mouse_pause                     rd 1
463
static_background_data  dd  ?
476
 
464
 
477
redrawmouse_unconditional       rd 1
465
hd1_status              dd  ?   ; 0 - free : other - pid
478
 
466
application_table_owner dd  ?   ; 0 - free : other - pid
-
 
467
application_table_mutex MUTEX
-
 
468
 
479
img_background                  rd 1
469
redrawmouse_unconditional   dd  ?
-
 
470
 
-
 
471
MOUSE_SCROLL_H  rw  1
480
mem_BACKGROUND                  rd 1
472
MOUSE_X:        rw  1
481
static_background_data          rd 1
-
 
482
 
473
MOUSE_Y:        rw  1
483
BgrDrawMode                     rd 1
474
MOUSE_SCROLL_V  rw  1
484
BgrDataWidth                    rd 1
475
 
485
BgrDataHeight                   rd 1
476
X_UNDER         rw  1
486
 
477
Y_UNDER         rw  1
487
skin_data                       rd 1
-
 
488
 
478
COLOR_TEMP      dd  ?
489
debug_step_pointer              rd 1
-
 
490
 
-
 
491
lba_read_enabled                rd 1  ; 0 = disabled , 1 = enabled
-
 
492
pci_access_enabled              rd 1  ; 0 = disabled , 1 = enabled
479
MOUSE_COLOR_MEM dd  ?
493
 
480
 
494
cpu_phys_addr_width             rb 1  ; also known as MAXPHYADDR in Intel manuals
481
SCR_MODE    rw  2
495
hdd_appl_data                   rb 1  ; 0 = system cache, 1 - application cache
482
 
496
cd_appl_data                    rb 1  ; 0 = system cache, 1 - application cache
483
BTN_DOWN:   rb  4
497
 
484
 
498
timer_ticks_enable              rb 1  ; for cd driver
485
cpu_phys_addr_width db  ?   ; also known as MAXPHYADDR in Intel manuals
499
 
486
hdd_appl_data       db  ?   ; 0 = system cache, 1 - application cache
500
align 4
487
cd_appl_data        db  ?   ; 0 = system cache, 1 - application cache
501
NumBiosDisks                    rd 1
488
 
502
BiosDisksData                   rb 200h
489
timer_ticks_enable  db  ?  ; for cd driver
503
BiosDiskCaches                  rb 80h*(cache_ide1-cache_ide0)
490
 
504
BiosDiskPartitions              rd 80h
491
REDRAW_BACKGROUND   db  ?
505
 
492
 
506
align 16
493
align 16
507
DRIVE_DATA:                     rb DRIVE_DATA_SIZE
494
DRIVE_DATA: rb  DRIVE_DATA_SIZE
508
 
495
 
509
IncludeUGlobals
496
IncludeUGlobals
510
 
497
 
511
uglobals_size = $ - endofcode
498
uglobals_size = $ - endofcode
512
 
499
 
513
if ~ lang eq sp
500
if ~ lang eq sp
514
diff16 "end of .bss",0,$
501
diff16 "end of .bss",0,$
515
end if
502
end if
516
 
503
 
517
org (OS_BASE+0x0100000)
504
org (OS_BASE+0x0100000)
518
 
505
 
519
; Currently size of memory allocated for the ramdisk is fixed.
506
; Currently size of memory allocated for the ramdisk is fixed.
520
; This should be revisited when/if memory map would become more dynamic.
507
; This should be revisited when/if memory map would become more dynamic.
521
RAMDISK_CAPACITY = 2880 ; in sectors
508
RAMDISK_CAPACITY = 2880 ; in sectors
-
 
509
 
522
 
510
RAMDISK:
523
RAMDISK:                        rb RAMDISK_CAPACITY*512
511
        rb  RAMDISK_CAPACITY*512
524
 
512
 
525
_CLEAN_ZONE:
513
_CLEAN_ZONE:
526
 
514
 
527
BgrAuxTable                     rb 32768
515
BgrAuxTable     rb  32768
528
align 65536
516
align 65536
529
SB16Buffer                      rb 65536
517
SB16Buffer      rb  65536
530
 
518
 
531
align 4096
519
align 4096
532
BUTTON_INFO                     rb 64*1024
520
BUTTON_INFO     rb  64*1024
-
 
521
RESERVED_PORTS:
533
RESERVED_PORTS:                 rb 64*1024
522
        rb  64*1024
534
 
523
sys_pgmap:
535
sys_pgmap:                      rb 1024*1024/8
524
        rb  1024*1024/8
536
>
525
>