Subversion Repositories Kolibri OS

Rev

Rev 2465 | Rev 3232 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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