Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
750 victor 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
593 mikedld 7
 
465 serge 8
$Revision: 847 $
9
 
593 mikedld 10
 
465 serge 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
 
764 Rus 51
  boot_memdetect    db	 'Determining amount of memory',0
52
  boot_fonts	    db	 'Fonts loaded',0
53
  boot_tss	    db	 'Setting TSSs',0
54
  boot_cpuid	    db	 'Reading CPUIDs',0
55
  boot_devices	    db	 'Detecting devices',0
56
  boot_timer	    db	 'Setting timer',0
57
  boot_irqs	    db	 'Reprogramming IRQs',0
58
  boot_setmouse     db	 'Setting mouse',0
59
  boot_windefs	    db	 'Setting window defaults',0
60
  boot_bgr	    db	 'Calculating background',0
61
  boot_resirqports  db	 'Reserving IRQs & ports',0
62
  boot_setrports    db	 'Setting addresses for IRQs',0
63
  boot_setostask    db	 'Setting OS task',0
64
  boot_allirqs	    db	 'Unmasking all IRQs',0
65
  boot_tsc	    db	 'Reading TSC',0
66
  boot_pal_ega	    db	 'Setting EGA/CGA 320x200 palette',0
67
  boot_pal_vga	    db	 'Setting VGA 640x480 palette',0
68
  boot_failed	    db	 'Failed to start first app',0
69
  boot_mtrr	    db	 'Setting MTRR',0
847 serge 70
;if preboot_blogesc
71
;  boot_tasking      db   'All set - press ESC to start',0
72
;end if
465 serge 73
 
74
new_process_loading db 'K : New Process - loading',13,10,0
75
new_process_running db 'K : New Process - done',13,10,0
76
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
77
 
78
msg_unresolved db 'unresolved ',0
79
msg_module     db 'in module ',0
80
msg_version    db 'incompatible driver version',13,10,0
81
msg_www        db 'please visit www.kolibrios.org',13,10,0
764 Rus 82
msg_CR	       db  13,10,0
465 serge 83
 
84
intel_str      db "GenuineIntel",0
85
AMD_str        db "AuthenticAMD",0
86
 
87
;szSound        db 'SOUND',0
88
;szInfinity     db 'INFINITY',0
764 Rus 89
szHwMouse	db 'ATI2D',0
90
szPS2MDriver	db 'PS2MOUSE',0
769 Rus 91
szCOM_MDriver	db 'COM_MOUSE',0
764 Rus 92
szUSB		db 'USB',0
802 serge 93
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
465 serge 94
 
95
szSTART        db 'START',0
96
szEXPORTS      db 'EXPORTS',0
97
szIMPORTS      db 'IMPORTS',0
98
 
543 spraid 99
read_firstapp  db '/sys/'
521 diamond 100
firstapp       db  'LAUNCHER',0
488 spraid 101
 
764 Rus 102
char	db '/sys/FONTS/CHAR.MT',0
103
char2	db '/sys/FONTS/CHAR2.MT',0
488 spraid 104
 
465 serge 105
bootpath       db  '/KOLIBRI    '
106
bootpath2      db  0
764 Rus 107
vmode	       db  '/sys/drivers/VMODE.MDR',0
108
vrr_m	       db  'VRR_M',0
465 serge 109
kernel_file    db  'KERNEL  MNT'
110
 
753 serge 111
align 4
841 serge 112
 
843 serge 113
_pg_balloc     dd LAST_PAGE
841 serge 114
 
115
                     ;supported videomodes
753 serge 116
mode_1280_1024_32:
117
  dw 1280,1024,32,60
118
mode_1280_1024_24:
119
  dw 1280,1024,24,60
120
mode_1024_768_32:
121
  dw 1024,768,32,60
122
mode_1024_768_24:
123
  dw 1024,768,24,60
754 Lrz 124
mode_800_600_32:
753 serge 125
  dw 800,600,32,60
754 Lrz 126
mode_800_600_24:
753 serge 127
  dw 800,600,24,60
754 Lrz 128
mode_640_480_32:
753 serge 129
  dw 640,480,32,60
754 Lrz 130
mode_640_480_24:
753 serge 131
  dw 640,480,24,60
754 Lrz 132
mode_640_480_16:
753 serge 133
  dw 640,480,16,60
754 Lrz 134
mode_320_240_8:
753 serge 135
  dw 320,240,8,60
465 serge 136
 
847 serge 137
 
138
bx_from_load:     dw 'r1'  ; структура для хранения параметров- откуда гашрузились, берется ниже из bx ; {SPraid}[13.03.2007]
139
                           ; a,b,c,d - винчестеры, r - рам диск
140
                           ; # диска... символ, а не байт. '1', а не 1
141
 
142
 
143
 
465 serge 144
; mike.dld {
145
db 0
146
dd servetable-0x10000
764 Rus 147
draw_line	dd __sys_draw_line
148
disable_mouse	dd __sys_disable_mouse
149
draw_pointer	dd __sys_draw_pointer
465 serge 150
;//mike.dld, 2006-08-02 [
151
;drawbar         dd __sys_drawbar
764 Rus 152
drawbar 	dd __sys_drawbar.forced
465 serge 153
;//mike.dld, 2006-08-02 ]
764 Rus 154
putpixel	dd __sys_putpixel
465 serge 155
; } mike.dld
156
 
157
 
158
align 4
159
keyboard   dd 1
160
syslang    dd 1
161
 
764 Rus 162
boot_y	   dd 10
465 serge 163
 
764 Rus 164
pci_bios_entry	dd 0
165
		dw pci_code_sel
465 serge 166
 
167
if __DEBUG__ eq 1
168
  include_debug_strings
169
end if
170
 
171
IncludeIGlobals
172
 
173
align 16
174
gdts:
175
 
764 Rus 176
	dw     gdte-$-1
177
	dd     gdts
178
	dw     0
465 serge 179
 
525 diamond 180
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
465 serge 181
; must be : os_code, os_data, app_code, app_data, ....
182
 
183
int_code_l:
184
os_code_l:
764 Rus 185
	dw     0xffff
186
	dw     0x0000
187
	db     0x00
188
	dw     11011111b *256 +10011010b
189
	db     0x00
465 serge 190
 
191
int_data_l:
192
os_data_l:
764 Rus 193
	dw     0xffff
194
	dw     0x0000
195
	db     0x00
196
	dw     11011111b *256 +10010010b
197
	db     0x00
465 serge 198
 
199
app_code_l:
764 Rus 200
	dw 0xFFFF
201
	dw 0
202
	db 0
203
	db cpl3
840 serge 204
        dw G32+D32+0xF;
465 serge 205
 
206
app_data_l:
764 Rus 207
	dw 0xFFFF
208
	dw 0
209
	db 0
210
	db drw3
840 serge 211
        dw G32+D32+0xF;
465 serge 212
 
586 serge 213
; ------------- PCI BIOS ------------------
214
 
215
pci_code_32:
764 Rus 216
	dw 0	     ;lim  0-15
217
	dw 0	     ;base 0-15
218
	db 0	     ;base 16-23
219
	db cpl0      ;type
220
	db D32	     ;lim 16-19+props
221
	db 0	     ;base 24-31
586 serge 222
 
223
pci_data_32:
764 Rus 224
	dw 0	     ;lim  0-15
225
	dw 0	     ;base 0-15
226
	db 0	     ;base 16-23
227
	db dpl0      ;type
228
	db D32	     ;lim 16-19+props
229
	db 0	     ;base 24-31
586 serge 230
 
465 serge 231
; --------------- APM ---------------------
232
apm_code_32:
764 Rus 233
	dw     0x0f	   ; limit 64kb
234
	db     0, 0, 0
235
	dw     11010000b *256 +10011010b
236
	db     0x00
465 serge 237
apm_code_16:
764 Rus 238
	dw     0x0f
239
	db     0, 0, 0
240
	dw     10010000b *256 +10011010b
241
	db     0x00
465 serge 242
apm_data_16:
764 Rus 243
	dw     0x0f
244
	db     0, 0, 0
245
	dw     10010000b *256 +10010010b
246
	db     0x00
465 serge 247
; -----------------------------------------
248
 
249
graph_data_l:
250
 
764 Rus 251
	dw     0x7ff
252
	dw     0x0000
253
	db     0x00
254
	dw     11010000b *256 +11110010b
255
	db     0x00
465 serge 256
tss0_l:
764 Rus 257
	dw     TSS_SIZE-1
258
	dw     tss and 0xFFFF
259
	db     (tss shr 16) and 0xFF
260
	db     10001001b
261
	dw     (tss shr 16) and 0xFF00
465 serge 262
endofcode:
263
gdte:
264
 
265
align 16
847 serge 266
 
267
__edata:  ;equ $-OS_BASE
268
 
269
align 4096
270
 
271
_sys_pdbr   rb 4096
272
 
273
            rb 8192-512
274
 
275
__os_stack  rb 512
276
 
764 Rus 277
cur_saved_data	  rb 4096
278
fpu_data:	  rb 512
465 serge 279
 
280
; device irq owners
764 Rus 281
irq_owner	  rd 16 ; process id
465 serge 282
 
283
; on irq read ports
284
 
764 Rus 285
irq00read	  rd 16
286
irq01read	  rd 16
287
irq02read	  rd 16
288
irq03read	  rd 16
289
irq04read	  rd 16
290
irq05read	  rd 16
291
irq06read	  rd 16
292
irq07read	  rd 16
293
irq08read	  rd 16
294
irq09read	  rd 16
295
irq10read	  rd 16
296
irq11read	  rd 16
297
irq12read	  rd 16
298
irq13read	  rd 16
299
irq14read	  rd 16
300
irq15read	  rd 16
465 serge 301
 
764 Rus 302
irq_tab 	  rd 16
465 serge 303
 
846 serge 304
_z_core           rd 52
305
 
764 Rus 306
mem_block_map	  rb 512
846 serge 307
 
764 Rus 308
event_map	  rb 64
309
mem_block_list	  rd 64
802 serge 310
large_block_list  rd 31
764 Rus 311
mem_block_mask	  rd 2
802 serge 312
large_block_mask  rd 1
465 serge 313
 
847 serge 314
 
315
_boot_mbi         rd 1
316
 
846 serge 317
_mem_amount       rd 1
318
_rd_base          rd 1
319
_rd_fat           rd 1 ;RAMDISK + 512
320
_rd_fat_end       rd 1 ;RAMDISK + 512 + 4278
321
_rd_root          rd 1 ;RAMDISK + 512*18 + 512
322
_rd_root_end      rd 1 ;RAMDISK + 512*33
843 serge 323
 
764 Rus 324
mem_used.fd	  rd 1
325
mem_used.bk	  rd 1
465 serge 326
 
764 Rus 327
mem_block_arr	  rd 1
465 serge 328
mem_block_start   rd 1
764 Rus 329
mem_block_end	  rd 1
465 serge 330
 
764 Rus 331
heap_mutex	  rd 1
332
heap_size	  rd 1
333
heap_free	  rd 1
334
heap_blocks	  rd 1
335
free_blocks	  rd 1
465 serge 336
 
337
mst MEM_STATE
338
 
764 Rus 339
page_start	  rd 1
340
page_end	  rd 1
341
events		  rd 1
342
event_start	  rd 1
343
event_end	  rd 1
344
event_uid	  rd 1
345
sys_page_map	  rd 1
465 serge 346
 
764 Rus 347
srv.fd		  rd 1
348
srv.bk		  rd 1
465 serge 349
 
764 Rus 350
scr_width	  rd 1
351
scr_height	  rd 1
465 serge 352
 
764 Rus 353
create_cursor	  rd 1
630 serge 354
select_hw_cursor  rd 1
764 Rus 355
set_hw_cursor	  rd 1
356
hw_restore	  rd 1
465 serge 357
 
764 Rus 358
def_cursor	  rd 1
359
current_cursor	  rd 1
360
hw_cursor	  rd 1
361
cur_def_interl	  rd 1
362
cur_saved_base	  rd 1
465 serge 363
cur_saved_interl  rd 1
764 Rus 364
cur_saved_w	  rd 1
365
cur_saved_h	  rd 1
465 serge 366
 
764 Rus 367
ipc_tmp 	  rd 1
368
ipc_pdir	  rd 1
369
ipc_ptab	  rd 1
465 serge 370
 
764 Rus 371
proc_mem_map	  rd 1
372
proc_mem_pdir	  rd 1
373
proc_mem_tab	  rd 1
465 serge 374
 
764 Rus 375
tmp_task_pdir	  rd 1
376
tmp_task_ptab	  rd 1
465 serge 377
 
764 Rus 378
default_io_map	  rd 1
465 serge 379
 
764 Rus 380
LFBSize 	  rd 1
465 serge 381
 
764 Rus 382
stall_mcs	  rd 1
383
current_slot	  rd 1
465 serge 384
 
840 serge 385
_display_data     rd 1
386
 
465 serge 387
; status
764 Rus 388
hd1_status		    rd 1  ; 0 - free : other - pid
465 serge 389
application_table_status    rd 1  ; 0 - free : other - pid
390
 
391
; device addresses
764 Rus 392
mididp		  rd 1
393
midisp		  rd 1
465 serge 394
 
764 Rus 395
cdbase		  rd 1
396
cdid		  rd 1
465 serge 397
 
764 Rus 398
hdbase		  rd 1	  ; for boot 0x1f0
399
hdid		  rd 1
400
hdpos		  rd 1	  ; for boot 0x1
401
fat32part	  rd 1	  ; for boot 0x1
402
cdpos		  rd 1
465 serge 403
 
404
;CPUID information
764 Rus 405
cpu_vendor	  rd 3
406
cpu_sign	  rd 1
407
cpu_info	  rd 1
408
cpu_caps	  rd 4
465 serge 409
 
410
 
764 Rus 411
pg_data 	  PG_DATA
412
heap_test	  rd 1
465 serge 413
 
764 Rus 414
buttontype	  rd 1
465 serge 415
windowtypechanged rd 1
416
 
764 Rus 417
hd_entries	  rd 1	   ;unused ? 0xfe10
465 serge 418
 
419
;* start code - Mario79
420
 
764 Rus 421
mouse_active	      rd 1
422
mouse_pause	      rd 1
465 serge 423
MouseTickCounter      rd 1
769 Rus 424
 
465 serge 425
;* end code - Mario79
426
 
764 Rus 427
img_background	      rd 1
428
mem_BACKGROUND	      rd 1
465 serge 429
wraw_bacground_select rb 1
430
 
709 diamond 431
cache_ide0:
764 Rus 432
cache_ide0_pointer	      rd 1
433
cache_ide0_size 	      rd 1   ; not use
580 mario79 434
cache_ide0_data_pointer       rd 1
435
cache_ide0_system_data_size   rd 1   ; not use
436
cache_ide0_appl_data_size     rd 1   ; not use
764 Rus 437
cache_ide0_system_data	      rd 1
438
cache_ide0_appl_data	      rd 1
580 mario79 439
cache_ide0_system_sad_size    rd 1
440
cache_ide0_appl_sad_size      rd 1
441
cache_ide0_search_start       rd 1
442
cache_ide0_appl_search_start  rd 1
443
 
709 diamond 444
cache_ide1:
764 Rus 445
cache_ide1_pointer	      rd 1
446
cache_ide1_size 	      rd 1   ; not use
580 mario79 447
cache_ide1_data_pointer       rd 1
448
cache_ide1_system_data_size   rd 1   ; not use
449
cache_ide1_appl_data_size     rd 1   ; not use
764 Rus 450
cache_ide1_system_data	      rd 1
451
cache_ide1_appl_data	      rd 1
580 mario79 452
cache_ide1_system_sad_size    rd 1
453
cache_ide1_appl_sad_size      rd 1
454
cache_ide1_search_start       rd 1
455
cache_ide1_appl_search_start  rd 1
456
 
709 diamond 457
cache_ide2:
764 Rus 458
cache_ide2_pointer	      rd 1
459
cache_ide2_size 	      rd 1   ; not use
580 mario79 460
cache_ide2_data_pointer       rd 1
461
cache_ide2_system_data_size   rd 1   ; not use
462
cache_ide2_appl_data_size     rd 1   ; not use
764 Rus 463
cache_ide2_system_data	      rd 1
464
cache_ide2_appl_data	      rd 1
580 mario79 465
cache_ide2_system_sad_size    rd 1
466
cache_ide2_appl_sad_size      rd 1
467
cache_ide2_search_start       rd 1
468
cache_ide2_appl_search_start  rd 1
469
 
709 diamond 470
cache_ide3:
764 Rus 471
cache_ide3_pointer	      rd 1
472
cache_ide3_size 	      rd 1   ; not use
580 mario79 473
cache_ide3_data_pointer       rd 1
474
cache_ide3_system_data_size   rd 1   ; not use
475
cache_ide3_appl_data_size     rd 1   ; not use
764 Rus 476
cache_ide3_system_data	      rd 1
477
cache_ide3_appl_data	      rd 1
580 mario79 478
cache_ide3_system_sad_size    rd 1
479
cache_ide3_appl_sad_size      rd 1
480
cache_ide3_search_start       rd 1
481
cache_ide3_appl_search_start  rd 1
482
 
483
debug_step_pointer rd 1
484
hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
585 mario79 485
cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
580 mario79 486
 
465 serge 487
lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
488
pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
764 Rus 489
timer_ticks_enable rb 1 	; for cd driver
465 serge 490
 
764 Rus 491
NumBiosDisks	rd 1
492
BiosDisksData	rb 200h
493
BiosDiskCaches	rb 80h*(cache_ide1-cache_ide0)
709 diamond 494
BiosDiskPartitions rd 80h
495
 
465 serge 496
IncludeUGlobals
497