Subversion Repositories Kolibri OS

Rev

Rev 847 | Rev 849 | 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: 848 $
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
 
848 serge 102
char    db '/rd/1/FONTS/CHAR.MT',0
103
char2   db '/rd/1/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
 
848 serge 138
;bx_from_load:     dw 'r1'  ; структура для хранения параметров- откуда гашрузились, берется ниже из bx ; {SPraid}[13.03.2007]
139
;                           ; a,b,c,d - винчестеры, r - рам диск
140
;                           ; # диска... символ, а не байт. '1', а не 1
847 serge 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
848 serge 262
 
263
code_16:
264
        dw 0xFFFF
265
        dw 0
266
        db 1
267
        db cpl0
268
        dw 0
269
 
465 serge 270
endofcode:
271
gdte:
847 serge 272
__edata:  ;equ $-OS_BASE
273
 
274
align 4096
275
 
848 serge 276
_sys_pdbr   rd 1024
847 serge 277
 
278
            rb 8192-512
279
 
280
__os_stack  rb 512
281
 
764 Rus 282
cur_saved_data	  rb 4096
283
fpu_data:	  rb 512
465 serge 284
 
285
; device irq owners
764 Rus 286
irq_owner	  rd 16 ; process id
465 serge 287
 
288
; on irq read ports
289
 
764 Rus 290
irq00read	  rd 16
291
irq01read	  rd 16
292
irq02read	  rd 16
293
irq03read	  rd 16
294
irq04read	  rd 16
295
irq05read	  rd 16
296
irq06read	  rd 16
297
irq07read	  rd 16
298
irq08read	  rd 16
299
irq09read	  rd 16
300
irq10read	  rd 16
301
irq11read	  rd 16
302
irq12read	  rd 16
303
irq13read	  rd 16
304
irq14read	  rd 16
305
irq15read	  rd 16
465 serge 306
 
764 Rus 307
irq_tab 	  rd 16
465 serge 308
 
846 serge 309
_z_core           rd 52
310
 
764 Rus 311
mem_block_map	  rb 512
846 serge 312
 
764 Rus 313
event_map	  rb 64
314
mem_block_list	  rd 64
802 serge 315
large_block_list  rd 31
764 Rus 316
mem_block_mask	  rd 2
802 serge 317
large_block_mask  rd 1
465 serge 318
 
847 serge 319
 
320
_boot_mbi         rd 1
321
 
846 serge 322
_mem_amount       rd 1
323
_rd_base          rd 1
324
_rd_fat           rd 1 ;RAMDISK + 512
325
_rd_fat_end       rd 1 ;RAMDISK + 512 + 4278
326
_rd_root          rd 1 ;RAMDISK + 512*18 + 512
327
_rd_root_end      rd 1 ;RAMDISK + 512*33
843 serge 328
 
764 Rus 329
mem_used.fd	  rd 1
330
mem_used.bk	  rd 1
465 serge 331
 
764 Rus 332
mem_block_arr	  rd 1
465 serge 333
mem_block_start   rd 1
764 Rus 334
mem_block_end	  rd 1
465 serge 335
 
764 Rus 336
heap_mutex	  rd 1
337
heap_size	  rd 1
338
heap_free	  rd 1
339
heap_blocks	  rd 1
340
free_blocks	  rd 1
465 serge 341
 
342
mst MEM_STATE
343
 
764 Rus 344
page_start	  rd 1
345
page_end	  rd 1
346
events		  rd 1
347
event_start	  rd 1
348
event_end	  rd 1
349
event_uid	  rd 1
350
sys_page_map	  rd 1
465 serge 351
 
764 Rus 352
srv.fd		  rd 1
353
srv.bk		  rd 1
465 serge 354
 
764 Rus 355
scr_width	  rd 1
356
scr_height	  rd 1
465 serge 357
 
764 Rus 358
create_cursor	  rd 1
630 serge 359
select_hw_cursor  rd 1
764 Rus 360
set_hw_cursor	  rd 1
361
hw_restore	  rd 1
465 serge 362
 
764 Rus 363
def_cursor	  rd 1
364
current_cursor	  rd 1
365
hw_cursor	  rd 1
366
cur_def_interl	  rd 1
367
cur_saved_base	  rd 1
465 serge 368
cur_saved_interl  rd 1
764 Rus 369
cur_saved_w	  rd 1
370
cur_saved_h	  rd 1
465 serge 371
 
764 Rus 372
ipc_tmp 	  rd 1
373
ipc_pdir	  rd 1
374
ipc_ptab	  rd 1
465 serge 375
 
764 Rus 376
proc_mem_map	  rd 1
377
proc_mem_pdir	  rd 1
378
proc_mem_tab	  rd 1
465 serge 379
 
764 Rus 380
tmp_task_pdir	  rd 1
381
tmp_task_ptab	  rd 1
465 serge 382
 
764 Rus 383
default_io_map	  rd 1
465 serge 384
 
764 Rus 385
LFBSize 	  rd 1
465 serge 386
 
764 Rus 387
stall_mcs	  rd 1
388
current_slot	  rd 1
465 serge 389
 
840 serge 390
_display_data     rd 1
391
 
465 serge 392
; status
764 Rus 393
hd1_status		    rd 1  ; 0 - free : other - pid
465 serge 394
application_table_status    rd 1  ; 0 - free : other - pid
395
 
396
; device addresses
764 Rus 397
mididp		  rd 1
398
midisp		  rd 1
465 serge 399
 
764 Rus 400
cdbase		  rd 1
401
cdid		  rd 1
465 serge 402
 
764 Rus 403
hdbase		  rd 1	  ; for boot 0x1f0
404
hdid		  rd 1
405
hdpos		  rd 1	  ; for boot 0x1
406
fat32part	  rd 1	  ; for boot 0x1
407
cdpos		  rd 1
465 serge 408
 
409
;CPUID information
764 Rus 410
cpu_vendor	  rd 3
411
cpu_sign	  rd 1
412
cpu_info	  rd 1
413
cpu_caps	  rd 4
465 serge 414
 
415
 
764 Rus 416
pg_data 	  PG_DATA
417
heap_test	  rd 1
465 serge 418
 
764 Rus 419
buttontype	  rd 1
465 serge 420
windowtypechanged rd 1
421
 
764 Rus 422
hd_entries	  rd 1	   ;unused ? 0xfe10
465 serge 423
 
424
;* start code - Mario79
425
 
764 Rus 426
mouse_active	      rd 1
427
mouse_pause	      rd 1
465 serge 428
MouseTickCounter      rd 1
769 Rus 429
 
465 serge 430
;* end code - Mario79
431
 
764 Rus 432
img_background	      rd 1
433
mem_BACKGROUND	      rd 1
465 serge 434
wraw_bacground_select rb 1
435
 
709 diamond 436
cache_ide0:
764 Rus 437
cache_ide0_pointer	      rd 1
438
cache_ide0_size 	      rd 1   ; not use
580 mario79 439
cache_ide0_data_pointer       rd 1
440
cache_ide0_system_data_size   rd 1   ; not use
441
cache_ide0_appl_data_size     rd 1   ; not use
764 Rus 442
cache_ide0_system_data	      rd 1
443
cache_ide0_appl_data	      rd 1
580 mario79 444
cache_ide0_system_sad_size    rd 1
445
cache_ide0_appl_sad_size      rd 1
446
cache_ide0_search_start       rd 1
447
cache_ide0_appl_search_start  rd 1
448
 
709 diamond 449
cache_ide1:
764 Rus 450
cache_ide1_pointer	      rd 1
451
cache_ide1_size 	      rd 1   ; not use
580 mario79 452
cache_ide1_data_pointer       rd 1
453
cache_ide1_system_data_size   rd 1   ; not use
454
cache_ide1_appl_data_size     rd 1   ; not use
764 Rus 455
cache_ide1_system_data	      rd 1
456
cache_ide1_appl_data	      rd 1
580 mario79 457
cache_ide1_system_sad_size    rd 1
458
cache_ide1_appl_sad_size      rd 1
459
cache_ide1_search_start       rd 1
460
cache_ide1_appl_search_start  rd 1
461
 
709 diamond 462
cache_ide2:
764 Rus 463
cache_ide2_pointer	      rd 1
464
cache_ide2_size 	      rd 1   ; not use
580 mario79 465
cache_ide2_data_pointer       rd 1
466
cache_ide2_system_data_size   rd 1   ; not use
467
cache_ide2_appl_data_size     rd 1   ; not use
764 Rus 468
cache_ide2_system_data	      rd 1
469
cache_ide2_appl_data	      rd 1
580 mario79 470
cache_ide2_system_sad_size    rd 1
471
cache_ide2_appl_sad_size      rd 1
472
cache_ide2_search_start       rd 1
473
cache_ide2_appl_search_start  rd 1
474
 
709 diamond 475
cache_ide3:
764 Rus 476
cache_ide3_pointer	      rd 1
477
cache_ide3_size 	      rd 1   ; not use
580 mario79 478
cache_ide3_data_pointer       rd 1
479
cache_ide3_system_data_size   rd 1   ; not use
480
cache_ide3_appl_data_size     rd 1   ; not use
764 Rus 481
cache_ide3_system_data	      rd 1
482
cache_ide3_appl_data	      rd 1
580 mario79 483
cache_ide3_system_sad_size    rd 1
484
cache_ide3_appl_sad_size      rd 1
485
cache_ide3_search_start       rd 1
486
cache_ide3_appl_search_start  rd 1
487
 
488
debug_step_pointer rd 1
489
hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
585 mario79 490
cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
580 mario79 491
 
465 serge 492
lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
493
pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
764 Rus 494
timer_ticks_enable rb 1 	; for cd driver
465 serge 495
 
764 Rus 496
NumBiosDisks	rd 1
497
BiosDisksData	rb 200h
498
BiosDiskCaches	rb 80h*(cache_ide1-cache_ide0)
709 diamond 499
BiosDiskPartitions rd 80h
500
 
465 serge 501
IncludeUGlobals
502