Subversion Repositories Kolibri OS

Rev

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

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