Subversion Repositories Kolibri OS

Rev

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

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