Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
2382 hidnplayr 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2540 hidnplayr 3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
2382 hidnplayr 4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7
 
2540 hidnplayr 8
$Revision $
2382 hidnplayr 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
 
3359 hidnplayr 49
 
50
 
51
if lang eq ru
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
65
  boot_memdetect    db   'Количество оперативной памяти','     ',' Мб',0
66
  boot_tss          db   'Установка TSSs',0
67
  boot_cpuid        db   'Чтение CPUIDs',0
68
;  boot_devices      db   'Поиск устройств',0
69
  boot_timer        db   'Установка таймера',0
70
  boot_irqs         db   'Переопределение IRQ',0
71
  boot_setmouse     db   'Установка мыши',0
2382 hidnplayr 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
3359 hidnplayr 81
  boot_pal_vga      db   'Установка VGA 640x480 палитры',0
82
  boot_failed       db   'Загрузка первого приложения не удалась',0
83
  boot_mtrr         db   'Установка MTRR',0
84
 
85
  boot_APIC_found   db   'APIC включен', 0
86
  boot_APIC_nfound  db   'APIC не найден', 0
87
if preboot_blogesc
88
  boot_tasking      db   'Все готово для запуска, нажмитре ESC для старта',0
89
end if
90
else if lang eq sp
91
  include 'data32sp.inc'
92
else
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
106
  boot_memdetect    db   'Determining amount of memory',0
107
  boot_tss          db   'Setting TSSs',0
108
  boot_cpuid        db   'Reading CPUIDs',0
109
;  boot_devices      db   'Detecting devices',0
110
  boot_setmouse     db   'Setting mouse',0
111
  boot_windefs      db   'Setting window defaults',0
112
  boot_bgr          db   'Calculating background',0
2382 hidnplayr 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
3359 hidnplayr 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
122
 
123
  boot_APIC_found   db   'APIC enabled', 0
124
  boot_APIC_nfound  db   'APIC not found', 0
125
if preboot_blogesc
126
  boot_tasking      db   'All set - press ESC to start',0
127
end if
128
end if
2382 hidnplayr 129
 
3359 hidnplayr 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
 
2382 hidnplayr 134
msg_unresolved db 'unresolved ',0
135
msg_module     db 'in module ',0
3359 hidnplayr 136
if ~ lang eq sp
137
msg_version    db 'incompatible driver version',13,10,0
138
msg_www        db 'please visit www.kolibrios.org',13,10,0
139
end if
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
2382 hidnplayr 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
159
notifyapp      db '@notify',0
160
if lang eq ru
161
ud_user_message db 'Ошибка: неподдерживаемая инструкция процессора',0
3359 hidnplayr 162
else if ~ lang eq sp
163
ud_user_message db 'Error: unsupported processor instruction',0
164
end if
165
 
166
bootpath       db  '/KOLIBRI    '
167
bootpath2      db  0
168
vmode          db  '/sys/drivers/VMODE.MDR',0
2382 hidnplayr 169
;vrr_m          db  'VRR_M',0
170
kernel_file    db  'KERNEL  MNT'
171
 
172
dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
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
 
2540 hidnplayr 184
MAX_DEFAULT_DLL_ADDR = 0x80000000
185
MIN_DEFAULT_DLL_ADDR = 0x70000000
2382 hidnplayr 186
dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
187
 
188
; supported videomodes
189
 
190
 
191
; mike.dld {
2540 hidnplayr 192
;db 0
193
;dd servetable-0x10000
194
;align 4
195
;draw_line       dd __sys_draw_line
196
;draw_pointer    dd __sys_draw_pointer
2382 hidnplayr 197
;//mike.dld, 2006-08-02 [
2540 hidnplayr 198
;;drawbar         dd __sys_drawbar
199
;;drawbar         dd __sys_drawbar.forced
200
;drawbar         dd vesa20_drawbar
2382 hidnplayr 201
;//mike.dld, 2006-08-02 ]
2540 hidnplayr 202
;putpixel        dd __sys_putpixel
2382 hidnplayr 203
; } mike.dld
204
 
205
 
206
align 4
207
keyboard   dd 1
208
syslang    dd 1
209
 
210
boot_y     dd 10
211
 
212
pci_bios_entry  dd 0
213
                dw pci_code_sel
214
 
215
if __DEBUG__ eq 1
216
  include_debug_strings
217
end if
218
 
219
IncludeIGlobals
220
 
221
align 16
222
gdts:
223
 
224
        dw     gdte-$-1
225
        dd     gdts
226
        dw     0
227
 
228
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
229
; must be : os_code, os_data, app_code, app_data, ....
230
 
231
int_code_l:
232
os_code_l:
233
        dw     0xffff
234
        dw     0x0000
235
        db     0x00
236
        dw     11011111b *256 +10011010b
237
        db     0x00
238
 
239
int_data_l:
240
os_data_l:
241
        dw     0xffff
242
        dw     0x0000
243
        db     0x00
244
        dw     11011111b *256 +10010010b
245
        db     0x00
246
 
247
app_code_l:
248
        dw 0xFFFF
249
        dw 0
250
        db 0
251
        db cpl3
252
        dw G32+D32+0xF;
253
 
254
app_data_l:
255
        dw 0xFFFF
256
        dw 0
257
        db 0
258
        db drw3
259
        dw G32+D32+0xF;
260
 
261
; ------------- PCI BIOS ------------------
262
 
263
pci_code_32:
264
        dw 0         ;lim  0-15
265
        dw 0         ;base 0-15
266
        db 0         ;base 16-23
267
        db cpl0      ;type
268
        db D32       ;lim 16-19+props
269
        db 0         ;base 24-31
270
 
271
pci_data_32:
272
        dw 0         ;lim  0-15
273
        dw 0         ;base 0-15
274
        db 0         ;base 16-23
275
        db dpl0      ;type
276
        db D32       ;lim 16-19+props
277
        db 0         ;base 24-31
278
 
279
; --------------- APM ---------------------
280
apm_code_32:
281
        dw     0x0f        ; limit 64kb
282
        db     0, 0, 0
283
        dw     11010000b *256 +10011010b
284
        db     0x00
285
apm_code_16:
286
        dw     0x0f
287
        db     0, 0, 0
288
        dw     10010000b *256 +10011010b
289
        db     0x00
290
apm_data_16:
291
        dw     0x0f
292
        db     0, 0, 0
293
        dw     10010000b *256 +10010010b
294
        db     0x00
295
; -----------------------------------------
296
 
297
graph_data_l:
298
 
299
        dw     0x7ff
300
        dw     0x0000
301
        db     0x00
2540 hidnplayr 302
        dw     11010000b *256 +11110010b
303
        db     0x00
304
tss0_l:
305
        dw     sizeof.TSS-1
306
        dw     tss and 0xFFFF
307
        db     (tss shr 16) and 0xFF
308
        db     10001001b
2382 hidnplayr 309
        dw     (tss shr 16) and 0xFF00
310
 
311
tls_data_l:
312
        dw 0x0FFF
313
        dw 0
314
        db 0
315
        db drw3
316
        dw D32
317
 
318
endofcode:
319
gdte:
320
 
321
align 16
2540 hidnplayr 322
cur_saved_data:
323
                  rb 4096
2382 hidnplayr 324
fpu_data:
325
                  rb 512
326
 
327
mem_block_list    rd 64*2
328
mem_used_list     rd 64*2
329
mem_hash_cnt      rd 64
330
 
331
heap_mutex        MUTEX
332
heap_size         rd 1
333
heap_free         rd 1
334
heap_blocks       rd 1
335
free_blocks       rd 1
336
 
337
mem_block_mask    rd 2
338
next_memblock     rd 1
339
 
340
 
341
mst MEM_STATE
342
 
343
page_start        rd 1
344
page_end          rd 1
345
sys_page_map      rd 1
346
os_stack_seg      rd 1
347
 
348
 
349
srv.fd            rd 1
350
srv.bk            rd 1
351
 
352
 
353
align 16
354
 
355
_display          display_t
356
 
357
_WinMapAddress    rd 1
358
_WinMapSize       rd 1
359
 
360
def_cursor        rd 1
2540 hidnplayr 361
def_cursor_clock  rd 1
2382 hidnplayr 362
current_cursor    rd 1
363
hw_cursor         rd 1
364
cur_saved_base    rd 1
365
 
366
cur.lock          rd 1   ;1 - lock update, 2- hide
367
cur.left          rd 1   ;cursor clip box
368
cur.top           rd 1
369
cur.right         rd 1
370
cur.bottom        rd 1
371
cur.w             rd 1
372
cur.h             rd 1
373
 
374
ipc_tmp           rd 1
375
ipc_pdir          rd 1
376
ipc_ptab          rd 1
377
 
378
proc_mem_map      rd 1
379
proc_mem_pdir     rd 1
380
proc_mem_tab      rd 1
381
 
382
tmp_task_pdir     rd 1
383
tmp_task_ptab     rd 1
384
 
385
default_io_map    rd 1
386
 
387
LFBSize           rd 1
388
 
389
stall_mcs         rd 1
390
current_slot      rd 1
391
 
392
; status
393
hd1_status                  rd 1  ; 0 - free : other - pid
394
application_table_status    rd 1  ; 0 - free : other - pid
395
 
396
; device addresses
397
mididp            rd 1
398
midisp            rd 1
399
 
400
cdbase            rd 1
401
cdid              rd 1
402
 
403
hdbase            rd 1    ; for boot 0x1f0
404
hdid              rd 1
405
hdpos             rd 1    ; for boot 0x1
406
label   known_part dword
407
fat32part         rd 1    ; for boot 0x1
408
cdpos             rd 1
409
 
410
;CPUID information
411
cpu_vendor        rd 3
412
cpu_sign          rd 1
413
cpu_info          rd 1
414
cpu_caps          rd 4
415
 
416
 
417
pg_data           PG_DATA
418
heap_test         rd 1
419
 
420
buttontype        rd 1
421
windowtypechanged rd 1
422
 
423
hd_entries        rd 1     ;unused ? 0xfe10
424
 
425
mouse_active          rd 1
426
mouse_pause           rd 1
427
 
2540 hidnplayr 428
redrawmouse_unconditional rd 1
2382 hidnplayr 429
 
430
img_background        rd 1
431
mem_BACKGROUND        rd 1
432
static_background_data rd 1
433
 
434
cache_ide0:
435
cache_ide0_pointer            rd 1
436
cache_ide0_size               rd 1   ; not use
437
cache_ide0_data_pointer       rd 1
438
cache_ide0_system_data_size   rd 1   ; not use
439
cache_ide0_appl_data_size     rd 1   ; not use
440
cache_ide0_system_data        rd 1
441
cache_ide0_appl_data          rd 1
442
cache_ide0_system_sad_size    rd 1
443
cache_ide0_appl_sad_size      rd 1
444
cache_ide0_search_start       rd 1
445
cache_ide0_appl_search_start  rd 1
446
 
447
cache_ide1:
448
cache_ide1_pointer            rd 1
449
cache_ide1_size               rd 1   ; not use
450
cache_ide1_data_pointer       rd 1
451
cache_ide1_system_data_size   rd 1   ; not use
452
cache_ide1_appl_data_size     rd 1   ; not use
453
cache_ide1_system_data        rd 1
454
cache_ide1_appl_data          rd 1
455
cache_ide1_system_sad_size    rd 1
456
cache_ide1_appl_sad_size      rd 1
457
cache_ide1_search_start       rd 1
458
cache_ide1_appl_search_start  rd 1
459
 
460
cache_ide2:
461
cache_ide2_pointer            rd 1
462
cache_ide2_size               rd 1   ; not use
463
cache_ide2_data_pointer       rd 1
464
cache_ide2_system_data_size   rd 1   ; not use
465
cache_ide2_appl_data_size     rd 1   ; not use
466
cache_ide2_system_data        rd 1
467
cache_ide2_appl_data          rd 1
468
cache_ide2_system_sad_size    rd 1
469
cache_ide2_appl_sad_size      rd 1
470
cache_ide2_search_start       rd 1
471
cache_ide2_appl_search_start  rd 1
472
 
473
cache_ide3:
474
cache_ide3_pointer            rd 1
475
cache_ide3_size               rd 1   ; not use
476
cache_ide3_data_pointer       rd 1
477
cache_ide3_system_data_size   rd 1   ; not use
478
cache_ide3_appl_data_size     rd 1   ; not use
479
cache_ide3_system_data        rd 1
480
cache_ide3_appl_data          rd 1
481
cache_ide3_system_sad_size    rd 1
482
cache_ide3_appl_sad_size      rd 1
483
cache_ide3_search_start       rd 1
484
cache_ide3_appl_search_start  rd 1
485
 
486
debug_step_pointer rd 1
487
hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
488
cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
489
 
490
lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
491
pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
492
timer_ticks_enable rb 1         ; for cd driver
493
 
494
NumBiosDisks    rd 1
495
BiosDisksData   rb 200h
496
BiosDiskCaches  rb 80h*(cache_ide1-cache_ide0)
497
BiosDiskPartitions rd 80h
498
 
499
IncludeUGlobals