Subversion Repositories Kolibri OS

Rev

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