Subversion Repositories Kolibri OS

Rev

Rev 2987 | Rev 3500 | 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: 3232 $
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
137
 
138
intel_str      db "GenuineIntel",0
139
AMD_str        db "AuthenticAMD",0
140
 
141
szHwMouse       db 'ATI2D',0
142
szPS2MDriver    db 'PS2MOUSE',0
143
;szCOM_MDriver   db 'COM_MOUSE',0
144
szUSB           db 'USB',0
145
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
146
 
147
szSTART        db 'START',0
148
szEXPORTS      db 'EXPORTS',0
149
sz_EXPORTS     db '_EXPORTS',0
150
 
151
szIMPORTS      db 'IMPORTS',0
152
 
153
read_firstapp  db '/sys/'
154
firstapp       db  'LAUNCHER',0
155
notifyapp      db '@notify',0
156
if lang eq ru
157
ud_user_message db 'Ошибка: неподдерживаемая инструкция процессора',0
158
else
159
ud_user_message db 'Error: unsupported processor instruction',0
160
end if
161
 
162
bootpath       db  '/KOLIBRI    '
163
bootpath2      db  0
164
vmode          db  '/sys/drivers/VMODE.MDR',0
165
;vrr_m          db  'VRR_M',0
166
kernel_file    db  'KERNEL  MNT'
167
 
168
dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
169
 
170
align 4
171
 
172
shmem_list:
173
 .bk           dd shmem_list
174
 .fd           dd shmem_list
175
 
176
dll_list:
177
 .bk           dd dll_list
178
 .fd           dd dll_list
179
 
180
MAX_DEFAULT_DLL_ADDR = 0x80000000
181
MIN_DEFAULT_DLL_ADDR = 0x70000000
182
dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
183
 
184
; supported videomodes
185
 
186
 
187
; mike.dld {
2465 Serge 188
;db 0
189
;dd servetable-0x10000
190
;align 4
191
;draw_line       dd __sys_draw_line
192
;draw_pointer    dd __sys_draw_pointer
2434 Serge 193
;//mike.dld, 2006-08-02 [
2465 Serge 194
;;drawbar         dd __sys_drawbar
195
;;drawbar         dd __sys_drawbar.forced
196
;drawbar         dd vesa20_drawbar
2434 Serge 197
;//mike.dld, 2006-08-02 ]
2465 Serge 198
;putpixel        dd __sys_putpixel
2434 Serge 199
; } mike.dld
200
 
201
 
202
align 4
203
keyboard   dd 1
204
syslang    dd 1
205
 
206
boot_y     dd 10
207
 
208
pci_bios_entry  dd 0
209
                dw pci_code_sel
210
 
211
if __DEBUG__ eq 1
212
  include_debug_strings
213
end if
214
 
215
IncludeIGlobals
216
 
217
align 16
218
gdts:
219
 
220
        dw     gdte-$-1
221
        dd     gdts
222
        dw     0
223
 
224
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
225
; must be : os_code, os_data, app_code, app_data, ....
226
 
227
int_code_l:
228
os_code_l:
229
        dw     0xffff
230
        dw     0x0000
231
        db     0x00
232
        dw     11011111b *256 +10011010b
233
        db     0x00
234
 
235
int_data_l:
236
os_data_l:
237
        dw     0xffff
238
        dw     0x0000
239
        db     0x00
240
        dw     11011111b *256 +10010010b
241
        db     0x00
242
 
243
app_code_l:
244
        dw 0xFFFF
245
        dw 0
246
        db 0
247
        db cpl3
248
        dw G32+D32+0xF;
249
 
250
app_data_l:
251
        dw 0xFFFF
252
        dw 0
253
        db 0
254
        db drw3
255
        dw G32+D32+0xF;
256
 
257
; ------------- PCI BIOS ------------------
258
 
259
pci_code_32:
260
        dw 0         ;lim  0-15
261
        dw 0         ;base 0-15
262
        db 0         ;base 16-23
263
        db cpl0      ;type
264
        db D32       ;lim 16-19+props
265
        db 0         ;base 24-31
266
 
267
pci_data_32:
268
        dw 0         ;lim  0-15
269
        dw 0         ;base 0-15
270
        db 0         ;base 16-23
271
        db dpl0      ;type
272
        db D32       ;lim 16-19+props
273
        db 0         ;base 24-31
274
 
275
; --------------- APM ---------------------
276
apm_code_32:
277
        dw     0x0f        ; limit 64kb
278
        db     0, 0, 0
279
        dw     11010000b *256 +10011010b
280
        db     0x00
281
apm_code_16:
282
        dw     0x0f
283
        db     0, 0, 0
284
        dw     10010000b *256 +10011010b
285
        db     0x00
286
apm_data_16:
287
        dw     0x0f
288
        db     0, 0, 0
289
        dw     10010000b *256 +10010010b
290
        db     0x00
291
; -----------------------------------------
292
 
293
graph_data_l:
294
 
295
        dw     0x7ff
296
        dw     0x0000
297
        db     0x00
298
        dw     11010000b *256 +11110010b
299
        db     0x00
300
tss0_l:
301
        dw     sizeof.TSS-1
302
        dw     tss and 0xFFFF
303
        db     (tss shr 16) and 0xFF
304
        db     10001001b
305
        dw     (tss shr 16) and 0xFF00
306
 
307
tls_data_l:
308
        dw 0x0FFF
309
        dw 0
310
        db 0
311
        db drw3
312
        dw D32
313
 
314
endofcode:
315
gdte:
316
 
317
align 16
318
cur_saved_data:
319
                  rb 4096
320
fpu_data:
321
                  rb 512
322
 
323
mem_block_list    rd 64*2
324
mem_used_list     rd 64*2
325
mem_hash_cnt      rd 64
326
 
327
heap_mutex        MUTEX
328
heap_size         rd 1
329
heap_free         rd 1
330
heap_blocks       rd 1
331
free_blocks       rd 1
332
 
333
mem_block_mask    rd 2
334
next_memblock     rd 1
335
 
336
 
337
mst MEM_STATE
338
 
339
page_start        rd 1
340
page_end          rd 1
341
sys_page_map      rd 1
342
os_stack_seg      rd 1
343
 
344
 
345
srv.fd            rd 1
346
srv.bk            rd 1
347
 
348
 
349
align 16
350
 
351
_display          display_t
352
 
353
_WinMapAddress    rd 1
354
_WinMapSize       rd 1
355
 
356
def_cursor        rd 1
2987 Serge 357
def_cursor_clock  rd 1
2434 Serge 358
current_cursor    rd 1
359
hw_cursor         rd 1
360
cur_saved_base    rd 1
361
 
362
cur.lock          rd 1   ;1 - lock update, 2- hide
363
cur.left          rd 1   ;cursor clip box
364
cur.top           rd 1
365
cur.right         rd 1
366
cur.bottom        rd 1
367
cur.w             rd 1
368
cur.h             rd 1
369
 
370
ipc_tmp           rd 1
371
ipc_pdir          rd 1
372
ipc_ptab          rd 1
373
 
374
proc_mem_map      rd 1
375
proc_mem_pdir     rd 1
376
proc_mem_tab      rd 1
377
 
378
tmp_task_pdir     rd 1
379
tmp_task_ptab     rd 1
380
 
381
default_io_map    rd 1
382
 
383
LFBSize           rd 1
384
 
385
stall_mcs         rd 1
386
current_slot      rd 1
387
 
388
; status
389
hd1_status                  rd 1  ; 0 - free : other - pid
390
application_table_status    rd 1  ; 0 - free : other - pid
391
 
392
; device addresses
393
mididp            rd 1
394
midisp            rd 1
395
 
396
cdbase            rd 1
397
cdid              rd 1
398
 
399
hdbase            rd 1    ; for boot 0x1f0
400
hdid              rd 1
401
hdpos             rd 1    ; for boot 0x1
402
label   known_part dword
403
fat32part         rd 1    ; for boot 0x1
404
cdpos             rd 1
405
 
406
;CPUID information
407
cpu_vendor        rd 3
408
cpu_sign          rd 1
409
cpu_info          rd 1
410
cpu_caps          rd 4
411
 
412
 
413
pg_data           PG_DATA
414
heap_test         rd 1
415
 
416
buttontype        rd 1
417
windowtypechanged rd 1
418
 
419
hd_entries        rd 1     ;unused ? 0xfe10
420
 
421
mouse_active          rd 1
422
mouse_pause           rd 1
423
 
2465 Serge 424
redrawmouse_unconditional rd 1
425
 
2434 Serge 426
img_background        rd 1
427
mem_BACKGROUND        rd 1
428
static_background_data rd 1
429
 
430
cache_ide0:
431
cache_ide0_pointer            rd 1
432
cache_ide0_size               rd 1   ; not use
433
cache_ide0_data_pointer       rd 1
434
cache_ide0_system_data_size   rd 1   ; not use
435
cache_ide0_appl_data_size     rd 1   ; not use
436
cache_ide0_system_data        rd 1
437
cache_ide0_appl_data          rd 1
438
cache_ide0_system_sad_size    rd 1
439
cache_ide0_appl_sad_size      rd 1
440
cache_ide0_search_start       rd 1
441
cache_ide0_appl_search_start  rd 1
442
 
443
cache_ide1:
444
cache_ide1_pointer            rd 1
445
cache_ide1_size               rd 1   ; not use
446
cache_ide1_data_pointer       rd 1
447
cache_ide1_system_data_size   rd 1   ; not use
448
cache_ide1_appl_data_size     rd 1   ; not use
449
cache_ide1_system_data        rd 1
450
cache_ide1_appl_data          rd 1
451
cache_ide1_system_sad_size    rd 1
452
cache_ide1_appl_sad_size      rd 1
453
cache_ide1_search_start       rd 1
454
cache_ide1_appl_search_start  rd 1
455
 
456
cache_ide2:
457
cache_ide2_pointer            rd 1
458
cache_ide2_size               rd 1   ; not use
459
cache_ide2_data_pointer       rd 1
460
cache_ide2_system_data_size   rd 1   ; not use
461
cache_ide2_appl_data_size     rd 1   ; not use
462
cache_ide2_system_data        rd 1
463
cache_ide2_appl_data          rd 1
464
cache_ide2_system_sad_size    rd 1
465
cache_ide2_appl_sad_size      rd 1
466
cache_ide2_search_start       rd 1
467
cache_ide2_appl_search_start  rd 1
468
 
469
cache_ide3:
470
cache_ide3_pointer            rd 1
471
cache_ide3_size               rd 1   ; not use
472
cache_ide3_data_pointer       rd 1
473
cache_ide3_system_data_size   rd 1   ; not use
474
cache_ide3_appl_data_size     rd 1   ; not use
475
cache_ide3_system_data        rd 1
476
cache_ide3_appl_data          rd 1
477
cache_ide3_system_sad_size    rd 1
478
cache_ide3_appl_sad_size      rd 1
479
cache_ide3_search_start       rd 1
480
cache_ide3_appl_search_start  rd 1
481
 
482
debug_step_pointer rd 1
483
hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
484
cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
485
 
486
lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
487
pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
488
timer_ticks_enable rb 1         ; for cd driver
489
 
490
NumBiosDisks    rd 1
491
BiosDisksData   rb 200h
492
BiosDiskCaches  rb 80h*(cache_ide1-cache_ide0)
493
BiosDiskPartitions rd 80h
494
 
495
IncludeUGlobals