Subversion Repositories Kolibri OS

Rev

Rev 928 | 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: 996 $
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
 
85
;szSound        db 'SOUND',0
86
;szInfinity     db 'INFINITY',0
764 Rus 87
szHwMouse	db 'ATI2D',0
88
szPS2MDriver	db 'PS2MOUSE',0
769 Rus 89
szCOM_MDriver	db 'COM_MOUSE',0
764 Rus 90
szUSB		db 'USB',0
802 serge 91
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
465 serge 92
 
93
szSTART        db 'START',0
94
szEXPORTS      db 'EXPORTS',0
95
szIMPORTS      db 'IMPORTS',0
96
 
543 spraid 97
read_firstapp  db '/sys/'
908 serge 98
firstapp       db  '@DESKTOP',0
488 spraid 99
 
848 serge 100
char    db '/rd/1/FONTS/CHAR.MT',0
101
char2   db '/rd/1/FONTS/CHAR2.MT',0
488 spraid 102
 
465 serge 103
bootpath       db  '/KOLIBRI    '
104
bootpath2      db  0
764 Rus 105
vmode	       db  '/sys/drivers/VMODE.MDR',0
106
vrr_m	       db  'VRR_M',0
465 serge 107
kernel_file    db  'KERNEL  MNT'
108
 
841 serge 109
 
110
                     ;supported videomodes
753 serge 111
mode_1280_1024_32:
112
  dw 1280,1024,32,60
113
mode_1280_1024_24:
114
  dw 1280,1024,24,60
115
mode_1024_768_32:
116
  dw 1024,768,32,60
117
mode_1024_768_24:
118
  dw 1024,768,24,60
754 Lrz 119
mode_800_600_32:
753 serge 120
  dw 800,600,32,60
754 Lrz 121
mode_800_600_24:
753 serge 122
  dw 800,600,24,60
754 Lrz 123
mode_640_480_32:
753 serge 124
  dw 640,480,32,60
754 Lrz 125
mode_640_480_24:
753 serge 126
  dw 640,480,24,60
754 Lrz 127
mode_640_480_16:
753 serge 128
  dw 640,480,16,60
754 Lrz 129
mode_320_240_8:
753 serge 130
  dw 320,240,8,60
465 serge 131
 
847 serge 132
 
848 serge 133
;bx_from_load:     dw 'r1'  ; структура для хранения параметров- откуда гашрузились, берется ниже из bx ; {SPraid}[13.03.2007]
134
;                           ; a,b,c,d - винчестеры, r - рам диск
135
;                           ; # диска... символ, а не байт. '1', а не 1
847 serge 136
 
137
 
138
 
465 serge 139
; mike.dld {
140
db 0
141
dd servetable-0x10000
764 Rus 142
draw_line	dd __sys_draw_line
143
disable_mouse	dd __sys_disable_mouse
144
draw_pointer	dd __sys_draw_pointer
465 serge 145
;//mike.dld, 2006-08-02 [
146
;drawbar         dd __sys_drawbar
764 Rus 147
drawbar 	dd __sys_drawbar.forced
465 serge 148
;//mike.dld, 2006-08-02 ]
764 Rus 149
putpixel	dd __sys_putpixel
465 serge 150
; } mike.dld
151
 
152
 
153
align 4
154
keyboard   dd 1
155
syslang    dd 1
156
 
764 Rus 157
boot_y	   dd 10
465 serge 158
 
764 Rus 159
pci_bios_entry	dd 0
928 serge 160
           dw sel_pci_code
465 serge 161
 
162
if __DEBUG__ eq 1
163
  include_debug_strings
164
end if
165
 
166
IncludeIGlobals
167
 
168
align 16
851 serge 169
_gdts:
465 serge 170
 
928 serge 171
    dw     (gdte - _gdts -1)
172
    dd     _gdts
764 Rus 173
	dw     0
465 serge 174
 
928 serge 175
tss_l:
176
	dw     TSS_SIZE-1
177
	dw     tss and 0xFFFF
178
	db     (tss shr 16) and 0xFF
179
	db     10001001b
180
	dw     (tss shr 16) and 0xFF00
181
 
525 diamond 182
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
465 serge 183
; must be : os_code, os_data, app_code, app_data, ....
184
 
928 serge 185
os_code_l:                            ;0x10
764 Rus 186
	dw     0xffff
187
	dw     0x0000
188
	db     0x00
189
	dw     11011111b *256 +10011010b
190
	db     0x00
465 serge 191
 
928 serge 192
os_stacK_l:                           ;0x18
764 Rus 193
	dw     0xffff
194
	dw     0x0000
195
	db     0x00
196
	dw     11011111b *256 +10010010b
197
	db     0x00
465 serge 198
 
928 serge 199
app_code_l:                           ;0x20
200
    dw     0xFFFF
201
    dw     0
202
    db     0
203
    db     cpl3
204
    dw     G32+D32+0xF;
465 serge 205
 
928 serge 206
app_data_l:                           ;0x28
207
    dw     0xFFFF
208
    dw     0
209
    db     0
210
    db     drw3
211
    dw     G32+D32+0xF;
465 serge 212
 
928 serge 213
srv_code_l:                           ;0x30
214
    dw     0xFFFF
215
    dw     0
216
    db     0
217
    db     cpl1
218
    dw     G32+D32+0xF;
219
 
220
srv_stack_l:                          ;0x38
221
    dw     0xFFFF
222
    dw     0
223
    db     0
224
    db     drw1
225
    dw     G32+D32+0xF;
226
 
586 serge 227
; ------------- PCI BIOS ------------------
228
 
229
pci_code_32:
764 Rus 230
	dw 0	     ;lim  0-15
231
	dw 0	     ;base 0-15
232
	db 0	     ;base 16-23
233
	db cpl0      ;type
234
	db D32	     ;lim 16-19+props
235
	db 0	     ;base 24-31
586 serge 236
 
237
pci_data_32:
764 Rus 238
	dw 0	     ;lim  0-15
239
	dw 0	     ;base 0-15
240
	db 0	     ;base 16-23
241
	db dpl0      ;type
242
	db D32	     ;lim 16-19+props
243
	db 0	     ;base 24-31
586 serge 244
 
465 serge 245
; --------------- APM ---------------------
246
apm_code_32:
764 Rus 247
	dw     0x0f	   ; limit 64kb
248
	db     0, 0, 0
249
	dw     11010000b *256 +10011010b
250
	db     0x00
465 serge 251
apm_code_16:
764 Rus 252
	dw     0x0f
253
	db     0, 0, 0
254
	dw     10010000b *256 +10011010b
255
	db     0x00
465 serge 256
apm_data_16:
764 Rus 257
	dw     0x0f
258
	db     0, 0, 0
259
	dw     10010000b *256 +10010010b
260
	db     0x00
465 serge 261
; -----------------------------------------
262
 
263
graph_data_l:
264
 
764 Rus 265
	dw     0x7ff
266
	dw     0x0000
267
	db     0x00
268
	dw     11010000b *256 +11110010b
269
	db     0x00
848 serge 270
 
928 serge 271
code_16_l:
272
    dw 0xFFFF
273
    dw 0
274
    db 1
275
    db cpl0
276
    dw 0
848 serge 277
 
465 serge 278
endofcode:
279
gdte:
847 serge 280
 
854 serge 281
section '.bss' data writeable align 4096
849 serge 282
 
847 serge 283
align 4096
284
 
996 serge 285
SLOT_BASE:
286
                rb 64*1024
287
DRIVE_DATA:
288
                rb 64*1024
289
RESERVED_PORTS:
290
                rb 64*1024
291
FLOPPY_BUFF:
292
                rb 16*1024
847 serge 293
 
996 serge 294
BUTTON_INFO:
295
                rb 16*1024
296
BgrAuxTable:
297
                rb 32*1024
298
skin_data:
299
                rb 32*1024
847 serge 300
 
996 serge 301
IDE_DMA:        rb 32*1024
302
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
303
window_data:
304
                rb 8192
305
 
306
CURRENT_TASK:
307
_current_task:
308
                rb 8192
309
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
310
draw_data:
311
                rb 4096
312
CDDataBuf:
313
                rb 4096
314
 
928 serge 315
cur_saved_data  rb 4096
847 serge 316
 
996 serge 317
_sys_pdbr       rd 1024
465 serge 318
 
854 serge 319
 
996 serge 320
fpu_data:
321
                rb 512
322
 
323
WIN_STACK:
324
                rb 0x400
325
WIN_POS:
326
                rb 0x800
327
 
328
idts            rq 0x42
329
 
465 serge 330
; device irq owners
764 Rus 331
irq_owner	  rd 16 ; process id
465 serge 332
 
333
; on irq read ports
334
 
764 Rus 335
irq00read	  rd 16
336
irq01read	  rd 16
337
irq02read	  rd 16
338
irq03read	  rd 16
339
irq04read	  rd 16
340
irq05read	  rd 16
341
irq06read	  rd 16
342
irq07read	  rd 16
343
irq08read	  rd 16
344
irq09read	  rd 16
345
irq10read	  rd 16
346
irq11read	  rd 16
347
irq12read	  rd 16
348
irq13read	  rd 16
349
irq14read	  rd 16
350
irq15read	  rd 16
465 serge 351
 
764 Rus 352
irq_tab 	  rd 16
465 serge 353
 
928 serge 354
FONT_I        rb 2304    ;16*144
355
FONT_II       rb 2560    ;16*160
356
 
996 serge 357
RAMDISK_FAT:  rb 2856*2 +16 ;16*357
358
FLOPPY_FAT:   rb 2856*2 +16
359
 
846 serge 360
_z_core           rd 52
361
 
764 Rus 362
mem_block_map	  rb 512
846 serge 363
 
928 serge 364
event_map         rb 64
764 Rus 365
mem_block_list	  rd 64
802 serge 366
large_block_list  rd 31
764 Rus 367
mem_block_mask	  rd 2
802 serge 368
large_block_mask  rd 1
465 serge 369
 
847 serge 370
 
371
_boot_mbi         rd 1
372
 
846 serge 373
_mem_amount       rd 1
374
_rd_base          rd 1
375
_rd_fat           rd 1 ;RAMDISK + 512
376
_rd_fat_end       rd 1 ;RAMDISK + 512 + 4278
377
_rd_root          rd 1 ;RAMDISK + 512*18 + 512
378
_rd_root_end      rd 1 ;RAMDISK + 512*33
843 serge 379
 
928 serge 380
heap_mutex        rd 1
381
heap_size         rd 1
382
heap_free         rd 1
383
heap_blocks       rd 1
384
free_blocks       rd 1
465 serge 385
 
386
mst MEM_STATE
387
 
890 serge 388
page_start        rd 1
389
page_end          rd 1
390
events            rd 1
391
event_start       rd 1
392
event_end         rd 1
393
event_uid         rd 1
394
sys_page_map      rd 1
465 serge 395
 
890 serge 396
srv.fd            rd 1
397
srv.bk            rd 1
465 serge 398
 
890 serge 399
_HwCursorCreate:
764 Rus 400
create_cursor	  rd 1
890 serge 401
 
402
_SelectHwCursor:
630 serge 403
select_hw_cursor  rd 1
890 serge 404
 
405
_SetHwCursor:
764 Rus 406
set_hw_cursor	  rd 1
465 serge 407
 
890 serge 408
_HwCursorRestore:
409
hw_restore        rd 1
410
 
411
def_cursor        rd 1
764 Rus 412
current_cursor	  rd 1
890 serge 413
hw_cursor         rd 1
764 Rus 414
cur_saved_base	  rd 1
465 serge 415
 
996 serge 416
cur.lock          rd 1   ;1 - lock update, 2- hide
417
cur.left          rd 1   ;cursor clip box
418
cur.top           rd 1
419
cur.right         rd 1
420
cur.bottom        rd 1
421
cur.w             rd 1
422
cur.h             rd 1
423
 
890 serge 424
ipc_tmp           rd 1
425
ipc_pdir          rd 1
426
ipc_ptab          rd 1
465 serge 427
 
764 Rus 428
proc_mem_map	  rd 1
429
proc_mem_pdir	  rd 1
430
proc_mem_tab	  rd 1
465 serge 431
 
764 Rus 432
tmp_task_pdir	  rd 1
433
tmp_task_ptab	  rd 1
465 serge 434
 
764 Rus 435
default_io_map	  rd 1
465 serge 436
 
437
 
928 serge 438
stall_mcs         rd 1
908 serge 439
 
440
_current_slot:
764 Rus 441
current_slot	  rd 1
465 serge 442
 
840 serge 443
_display_data     rd 1
444
 
928 serge 445
_current_thread   rd 1
446
_k_reenter        rd 1
447
 
448
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
449
 
450
scr_mode          rd 1
451
 
452
LFBAddress        rd 1
453
LFBSize           rd 1       ;8Mb hardcoded
454
ScreenBPP         rd 1
455
BytesPerScanLine  rd 1
456
 
457
put_pixel         rd 1
458
get_pixel         rd 1
459
 
996 serge 460
_screen_width     rd 1
461
_screen_height    rd 1
462
 
928 serge 463
Screen_Max_X      rd 1
464
Screen_Max_Y      rd 1
465
 
466
btn_addr          rd 1
467
 
468
redraw_background rd 1
996 serge 469
BgrDrawMode       rd 1
470
BgrDataWidth      rd 1
471
BgrDataHeight     rd 1
928 serge 472
 
473
MOUSE_VISIBLE     rd 1
474
WIN_TEMP_XY       rd 1
475
MOUSE_X           rw 1
476
MOUSE_Y           rw 1
477
mouse_scroll_v    rd 1
478
mouse_scroll_h    rd 1
479
 
480
BTN_COUNT         rd 1
481
BTN_BUFF          rd 1
482
 
483
KEY_COUNT         rd 1
484
KEY_BUFF          rb 128
485
 
486
btn_down          rd 1
487
x_under           rd 1
488
y_under           rd 1
489
 
490
dont_switch       rd 1
491
 
492
sys_shutdown      rd 1
493
 
494
bank_rw           rd 1
495
 
496
CPU_FREQ          rd 1
497
 
498
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
465 serge 499
; status
764 Rus 500
hd1_status		    rd 1  ; 0 - free : other - pid
465 serge 501
application_table_status    rd 1  ; 0 - free : other - pid
502
 
503
; device addresses
928 serge 504
mididp            rd 1
505
midisp            rd 1
465 serge 506
 
928 serge 507
cdbase            rd 1
508
cdid              rd 1
465 serge 509
 
928 serge 510
hdbase            rd 1    ; for boot 0x1f0
511
hdid              rd 1
512
hdpos             rd 1    ; for boot 0x1
513
fat32part         rd 1    ; for boot 0x1
514
cdpos             rd 1
465 serge 515
 
516
 
517
 
928 serge 518
pg_data           PG_DATA
519
heap_test         rd 1
465 serge 520
 
928 serge 521
buttontype        rd 1
465 serge 522
windowtypechanged rd 1
523
 
928 serge 524
hd_entries        rd 1     ;unused ? 0xfe10
465 serge 525
 
526
;* start code - Mario79
527
 
764 Rus 528
mouse_active	      rd 1
928 serge 529
mouse_pause           rd 1
465 serge 530
MouseTickCounter      rd 1
769 Rus 531
 
465 serge 532
;* end code - Mario79
533
 
764 Rus 534
img_background	      rd 1
535
mem_BACKGROUND	      rd 1
465 serge 536
wraw_bacground_select rb 1
537
 
709 diamond 538
cache_ide0:
928 serge 539
cache_ide0_pointer            rd 1
540
cache_ide0_size               rd 1   ; not use
580 mario79 541
cache_ide0_data_pointer       rd 1
542
cache_ide0_system_data_size   rd 1   ; not use
543
cache_ide0_appl_data_size     rd 1   ; not use
764 Rus 544
cache_ide0_system_data	      rd 1
545
cache_ide0_appl_data	      rd 1
580 mario79 546
cache_ide0_system_sad_size    rd 1
547
cache_ide0_appl_sad_size      rd 1
548
cache_ide0_search_start       rd 1
549
cache_ide0_appl_search_start  rd 1
550
 
709 diamond 551
cache_ide1:
928 serge 552
cache_ide1_pointer            rd 1
553
cache_ide1_size               rd 1   ; not use
580 mario79 554
cache_ide1_data_pointer       rd 1
555
cache_ide1_system_data_size   rd 1   ; not use
556
cache_ide1_appl_data_size     rd 1   ; not use
764 Rus 557
cache_ide1_system_data	      rd 1
558
cache_ide1_appl_data	      rd 1
580 mario79 559
cache_ide1_system_sad_size    rd 1
560
cache_ide1_appl_sad_size      rd 1
561
cache_ide1_search_start       rd 1
562
cache_ide1_appl_search_start  rd 1
563
 
709 diamond 564
cache_ide2:
928 serge 565
cache_ide2_pointer            rd 1
566
cache_ide2_size               rd 1   ; not use
580 mario79 567
cache_ide2_data_pointer       rd 1
568
cache_ide2_system_data_size   rd 1   ; not use
569
cache_ide2_appl_data_size     rd 1   ; not use
764 Rus 570
cache_ide2_system_data	      rd 1
571
cache_ide2_appl_data	      rd 1
580 mario79 572
cache_ide2_system_sad_size    rd 1
573
cache_ide2_appl_sad_size      rd 1
574
cache_ide2_search_start       rd 1
575
cache_ide2_appl_search_start  rd 1
576
 
709 diamond 577
cache_ide3:
928 serge 578
cache_ide3_pointer            rd 1
579
cache_ide3_size               rd 1   ; not use
580 mario79 580
cache_ide3_data_pointer       rd 1
581
cache_ide3_system_data_size   rd 1   ; not use
582
cache_ide3_appl_data_size     rd 1   ; not use
764 Rus 583
cache_ide3_system_data	      rd 1
584
cache_ide3_appl_data	      rd 1
580 mario79 585
cache_ide3_system_sad_size    rd 1
586
cache_ide3_appl_sad_size      rd 1
587
cache_ide3_search_start       rd 1
588
cache_ide3_appl_search_start  rd 1
589
 
928 serge 590
debug_step_pointer            rd 1
580 mario79 591
 
928 serge 592
hdd_appl_data                 rb 1 ; 0 = system cache, 1 - application cache
593
cd_appl_data                  rb 1 ; 0 = system cache, 1 - application cache
465 serge 594
 
928 serge 595
align 4
596
lba_read_enabled              rd 1  ; 0 = disabled , 1 = enabled
597
pci_access_enabled            rd 1  ; 0 = disabled , 1 = enabled
598
timer_ticks_enable            rb 1     ; for cd driver
709 diamond 599
 
928 serge 600
align 4
601
NumBiosDisks                  rd 1
602
BiosDisksData                 rb 200h
603
BiosDiskCaches                rb 80h*(cache_ide1-cache_ide0)
604
BiosDiskPartitions            rd 80h
605
 
465 serge 606
IncludeUGlobals
607