Subversion Repositories Kolibri OS

Rev

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