Subversion Repositories Kolibri OS

Rev

Rev 3405 | 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:
3545 hidnplayr 181
 .bk           dd dll_list
182
 .fd           dd dll_list
2382 hidnplayr 183
 
3545 hidnplayr 184
pcidev_list:
185
 .bk           dd pcidev_list
186
 .fd           dd pcidev_list
187
 
188
MAX_DEFAULT_DLL_ADDR = 0x80000000
189
MIN_DEFAULT_DLL_ADDR = 0x70000000
190
dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
191
 
2382 hidnplayr 192
; supported videomodes
193
 
194
 
195
; mike.dld {
2540 hidnplayr 196
;db 0
197
;dd servetable-0x10000
198
;align 4
199
;draw_line       dd __sys_draw_line
200
;draw_pointer    dd __sys_draw_pointer
2382 hidnplayr 201
;//mike.dld, 2006-08-02 [
2540 hidnplayr 202
;;drawbar         dd __sys_drawbar
203
;;drawbar         dd __sys_drawbar.forced
204
;drawbar         dd vesa20_drawbar
2382 hidnplayr 205
;//mike.dld, 2006-08-02 ]
2540 hidnplayr 206
;putpixel        dd __sys_putpixel
2382 hidnplayr 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
2540 hidnplayr 306
        dw     11010000b *256 +11110010b
307
        db     0x00
308
tss0_l:
309
        dw     sizeof.TSS-1
310
        dw     tss and 0xFFFF
311
        db     (tss shr 16) and 0xFF
312
        db     10001001b
2382 hidnplayr 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
2540 hidnplayr 326
cur_saved_data:
327
                  rb 4096
2382 hidnplayr 328
fpu_data:
329
                  rb 512
330
 
331
mem_block_list    rd 64*2
332
mem_used_list     rd 64*2
333
mem_hash_cnt      rd 64
334
 
335
heap_mutex        MUTEX
336
heap_size         rd 1
337
heap_free         rd 1
338
heap_blocks       rd 1
339
free_blocks       rd 1
340
 
341
mem_block_mask    rd 2
342
next_memblock     rd 1
343
 
344
 
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
2540 hidnplayr 365
def_cursor_clock  rd 1
2382 hidnplayr 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
410
label   known_part dword
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
 
2540 hidnplayr 432
redrawmouse_unconditional rd 1
2382 hidnplayr 433
 
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
 
3545 hidnplayr 503
tetten:
2382 hidnplayr 504
IncludeUGlobals