Subversion Repositories Kolibri OS

Rev

Rev 3534 | Rev 3588 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                                                              ;;
  3. ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
  4. ;; Distributed under terms of the GNU General Public License    ;;
  5. ;;                                                              ;;
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7.  
  8. $Revision: 3539 $
  9.  
  10.  
  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<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
  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.  
  51. if lang eq ru
  52.   boot_initirq:     cp866 'Инициализация IRQ',0
  53.   boot_picinit:     cp866 'Инициализация PIC',0
  54.   boot_v86machine:  cp866 'Инициализация системы V86 машины',0
  55.   boot_inittimer:   cp866 'Инициализация системного таймера (IRQ0)',0
  56.   boot_initapic:    cp866 'Попытка инициализации APIC',0
  57.   boot_enableirq:   cp866 'Включить прерывания 2, 6, 13, 14, 15',0
  58.   boot_enablint_ide:cp866 'Разрешение прерываний в контроллере IDE',0
  59.   boot_detectfloppy:cp866 'Поиск floppy дисководов',0
  60.   boot_detecthdcd:  cp866 'Поиск жестких дисков и ATAPI приводов',0
  61.   boot_getcache:    cp866 'Получение памяти для кэша',0
  62.   boot_detectpart:  cp866 'Поиск разделов на дисковых устройствах',0
  63.   boot_init_sys:    cp866 'Инициализация системного каталога /sys',0
  64.   boot_loadlibs:    cp866 'Загрузка библиотек (.obj)',0
  65.   boot_memdetect:   cp866 'Количество оперативной памяти','     ',' Мб',0
  66.   boot_tss:         cp866 'Установка TSSs',0
  67.   boot_cpuid:       cp866 'Чтение CPUIDs',0
  68. ;  boot_devices:     cp866 'Поиск устройств',0
  69.   boot_timer:       cp866 'Установка таймера',0
  70.   boot_irqs:        cp866 'Переопределение IRQ',0
  71.   boot_setmouse:    cp866 'Установка мыши',0
  72.   boot_windefs:     cp866 'Установка настроек окон по умолчанию',0
  73.   boot_bgr:         cp866 'Установка фона',0
  74.   boot_resirqports: cp866 'Резервирование IRQ и портов',0
  75.   boot_setrports:   cp866 'Установка адресов IRQ',0
  76.   boot_setostask:   cp866 'Создание процесса ядра',0
  77.   boot_allirqs:     cp866 'Открытие всех IRQ',0
  78.   boot_tsc:         cp866 'Чтение TSC',0
  79.   boot_cpufreq:     cp866 'Частота процессора ','    ',' МГц',0
  80.   boot_pal_ega:     cp866 'Установка EGA/CGA 320x200 палитры',0
  81.   boot_pal_vga:     cp866 'Установка VGA 640x480 палитры',0
  82.   boot_failed:      cp866 'Загрузка первого приложения не удалась',0
  83.   boot_mtrr:        cp866 'Установка MTRR',0
  84.  
  85.   boot_APIC_found:  cp866 'APIC включен', 0
  86.   boot_APIC_nfound: cp866 'APIC не найден', 0
  87. if preboot_blogesc
  88.   boot_tasking:     cp866 'Все готово для запуска, нажмитре ESC для старта',0
  89. end if
  90. else if lang eq sp
  91.   include 'data32sp.inc'
  92. else
  93.   boot_initirq      db   'Initialize IRQ',0
  94.   boot_picinit      db   'Initialize PIC',0
  95.   boot_v86machine   db   'Initialize system V86 machine',0
  96.   boot_inittimer    db   'Initialize system timer (IRQ0)',0
  97.   boot_initapic     db   'Try to initialize APIC',0
  98.   boot_enableirq    db   'Enable interrupts 2, 6, 13, 14, 15',0
  99.   boot_enablint_ide db   'Enable interrupts in IDE controller',0
  100.   boot_detectfloppy db   'Search floppy drives',0
  101.   boot_detecthdcd   db   'Search hard drives and ATAPI drives',0
  102.   boot_getcache     db   'Get memory for cache',0
  103.   boot_detectpart   db   'Search partitions on disk devices',0
  104.   boot_init_sys     db   'Initialize system directory /sys',0
  105.   boot_loadlibs     db   'Loading librares (.obj)',0
  106.   boot_memdetect    db   'Determining amount of memory',0
  107.   boot_tss          db   'Setting TSSs',0
  108.   boot_cpuid        db   'Reading CPUIDs',0
  109. ;  boot_devices      db   'Detecting devices',0
  110.   boot_setmouse     db   'Setting mouse',0
  111.   boot_windefs      db   'Setting window defaults',0
  112.   boot_bgr          db   'Calculating background',0
  113.   boot_resirqports  db   'Reserving IRQs & ports',0
  114.   boot_setostask    db   'Setting OS task',0
  115.   boot_allirqs      db   'Unmasking IRQs',0
  116.   boot_tsc          db   'Reading TSC',0
  117.   boot_cpufreq      db   'CPU frequency is ','    ',' MHz',0
  118.   boot_pal_ega      db   'Setting EGA/CGA 320x200 palette',0
  119.   boot_pal_vga      db   'Setting VGA 640x480 palette',0
  120.   boot_failed       db   'Failed to start first app',0
  121.   boot_mtrr         db   'Setting MTRR',0
  122.  
  123.   boot_APIC_found   db   'APIC enabled', 0
  124.   boot_APIC_nfound  db   'APIC not found', 0
  125. if preboot_blogesc
  126.   boot_tasking      db   'All set - press ESC to start',0
  127. end if
  128. end if
  129.  
  130. ;new_process_loading db 'K : New Process - loading',13,10,0
  131. ;new_process_running db 'K : New Process - done',13,10,0
  132. start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
  133.  
  134. msg_unresolved db 'unresolved ',0
  135. msg_module     db 'in module ',0
  136. if ~ lang eq sp
  137. msg_version    db 'incompatible driver version',13,10,0
  138. msg_www        db 'please visit www.kolibrios.org',13,10,0
  139. end if
  140. msg_CR         db  13,10,0
  141.  
  142. intel_str      db "GenuineIntel",0
  143. AMD_str        db "AuthenticAMD",0
  144.  
  145. szHwMouse       db 'ATI2D',0
  146. szPS2MDriver    db 'PS2MOUSE',0
  147. ;szCOM_MDriver   db 'COM_MOUSE',0
  148. szVidintel      db 'vidintel',0
  149. szUSB           db 'USB',0
  150. szAtiHW         db '/rd/1/drivers/ati2d.drv',0
  151.  
  152. szSTART        db 'START',0
  153. szEXPORTS      db 'EXPORTS',0
  154. sz_EXPORTS     db '_EXPORTS',0
  155.  
  156. szIMPORTS      db 'IMPORTS',0
  157.  
  158. read_firstapp  db '/sys/'
  159. firstapp       db  'LAUNCHER',0
  160. notifyapp      db '@notify',0
  161. if lang eq ru
  162. ud_user_message: cp866 'Ошибка: неподдерживаемая инструкция процессора',0
  163. else if ~ lang eq sp
  164. ud_user_message db 'Error: unsupported processor instruction',0
  165. end if
  166.  
  167. bootpath       db  '/KOLIBRI    '
  168. bootpath2      db  0
  169. vmode          db  '/sys/drivers/VMODE.MDR',0
  170. ;vrr_m          db  'VRR_M',0
  171. kernel_file    db  'KERNEL  MNT'
  172.  
  173. dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
  174.  
  175. align 4
  176.  
  177. shmem_list:
  178.  .bk           dd shmem_list
  179.  .fd           dd shmem_list
  180.  
  181. dll_list:
  182.  .bk           dd dll_list
  183.  .fd           dd dll_list
  184.  
  185. pcidev_list:
  186.  .bk           dd pcidev_list
  187.  .fd           dd pcidev_list
  188.  
  189. MAX_DEFAULT_DLL_ADDR = 0x80000000
  190. MIN_DEFAULT_DLL_ADDR = 0x70000000
  191. dll_cur_addr   dd MIN_DEFAULT_DLL_ADDR
  192.  
  193. ; supported videomodes
  194.  
  195.  
  196. ; mike.dld {
  197. ;db 0
  198. ;dd servetable-0x10000
  199. ;align 4
  200. ;draw_line       dd __sys_draw_line
  201. ;draw_pointer    dd __sys_draw_pointer
  202. ;//mike.dld, 2006-08-02 [
  203. ;;drawbar         dd __sys_drawbar
  204. ;;drawbar         dd __sys_drawbar.forced
  205. ;drawbar         dd vesa20_drawbar
  206. ;//mike.dld, 2006-08-02 ]
  207. ;putpixel        dd __sys_putpixel
  208. ; } mike.dld
  209.  
  210.  
  211. align 4
  212. keyboard   dd 1
  213. syslang    dd 1
  214.  
  215. boot_y     dd 10
  216.  
  217. pci_bios_entry  dd 0
  218.                 dw pci_code_sel
  219.  
  220. if __DEBUG__ eq 1
  221.   include_debug_strings
  222. end if
  223.  
  224. IncludeIGlobals
  225.  
  226. align 16
  227. gdts:
  228.  
  229.         dw     gdte-$-1
  230.         dd     gdts
  231.         dw     0
  232.  
  233. ; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
  234. ; must be : os_code, os_data, app_code, app_data, ....
  235.  
  236. int_code_l:
  237. os_code_l:
  238.         dw     0xffff
  239.         dw     0x0000
  240.         db     0x00
  241.         dw     11011111b *256 +10011010b
  242.         db     0x00
  243.  
  244. int_data_l:
  245. os_data_l:
  246.         dw     0xffff
  247.         dw     0x0000
  248.         db     0x00
  249.         dw     11011111b *256 +10010010b
  250.         db     0x00
  251.  
  252. app_code_l:
  253.         dw 0xFFFF
  254.         dw 0
  255.         db 0
  256.         db cpl3
  257.         dw G32+D32+0xF;
  258.  
  259. app_data_l:
  260.         dw 0xFFFF
  261.         dw 0
  262.         db 0
  263.         db drw3
  264.         dw G32+D32+0xF;
  265.  
  266. ; ------------- PCI BIOS ------------------
  267.  
  268. pci_code_32:
  269.         dw 0         ;lim  0-15
  270.         dw 0         ;base 0-15
  271.         db 0         ;base 16-23
  272.         db cpl0      ;type
  273.         db D32       ;lim 16-19+props
  274.         db 0         ;base 24-31
  275.  
  276. pci_data_32:
  277.         dw 0         ;lim  0-15
  278.         dw 0         ;base 0-15
  279.         db 0         ;base 16-23
  280.         db dpl0      ;type
  281.         db D32       ;lim 16-19+props
  282.         db 0         ;base 24-31
  283.  
  284. ; --------------- APM ---------------------
  285. apm_code_32:
  286.         dw     0x0f        ; limit 64kb
  287.         db     0, 0, 0
  288.         dw     11010000b *256 +10011010b
  289.         db     0x00
  290. apm_code_16:
  291.         dw     0x0f
  292.         db     0, 0, 0
  293.         dw     10010000b *256 +10011010b
  294.         db     0x00
  295. apm_data_16:
  296.         dw     0x0f
  297.         db     0, 0, 0
  298.         dw     10010000b *256 +10010010b
  299.         db     0x00
  300. ; -----------------------------------------
  301.  
  302. graph_data_l:
  303.  
  304.         dw     0x7ff
  305.         dw     0x0000
  306.         db     0x00
  307.         dw     11010000b *256 +11110010b
  308.         db     0x00
  309. tss0_l:
  310.         dw     sizeof.TSS-1
  311.         dw     tss and 0xFFFF
  312.         db     (tss shr 16) and 0xFF
  313.         db     10001001b
  314.         dw     (tss shr 16) and 0xFF00
  315.  
  316. tls_data_l:
  317.         dw 0x0FFF
  318.         dw 0
  319.         db 0
  320.         db drw3
  321.         dw D32
  322.  
  323. endofcode:
  324. gdte:
  325.  
  326. align 16
  327. cur_saved_data:
  328.                   rb 4096
  329. fpu_data:
  330.                   rb 512
  331.  
  332. mem_block_list    rd 64*2
  333. mem_used_list     rd 64*2
  334. mem_hash_cnt      rd 64
  335.  
  336. cpu_freq          rq 1
  337.  
  338. heap_mutex        MUTEX
  339. heap_size         rd 1
  340. heap_free         rd 1
  341. heap_blocks       rd 1
  342. free_blocks       rd 1
  343.  
  344. mem_block_mask    rd 2
  345. next_memblock     rd 1
  346.  
  347.  
  348. mst MEM_STATE
  349.  
  350. page_start        rd 1
  351. page_end          rd 1
  352. sys_page_map      rd 1
  353. os_stack_seg      rd 1
  354.  
  355.  
  356. srv.fd            rd 1
  357. srv.bk            rd 1
  358.  
  359.  
  360. align 16
  361.  
  362. _display          display_t
  363.  
  364. _WinMapAddress    rd 1
  365. _WinMapSize       rd 1
  366.  
  367. def_cursor        rd 1
  368. def_cursor_clock  rd 1
  369. current_cursor    rd 1
  370. hw_cursor         rd 1
  371. cur_saved_base    rd 1
  372.  
  373. cur.lock          rd 1   ;1 - lock update, 2- hide
  374. cur.left          rd 1   ;cursor clip box
  375. cur.top           rd 1
  376. cur.right         rd 1
  377. cur.bottom        rd 1
  378. cur.w             rd 1
  379. cur.h             rd 1
  380.  
  381. ipc_tmp           rd 1
  382. ipc_pdir          rd 1
  383. ipc_ptab          rd 1
  384.  
  385. proc_mem_map      rd 1
  386. proc_mem_pdir     rd 1
  387. proc_mem_tab      rd 1
  388.  
  389. tmp_task_pdir     rd 1
  390. tmp_task_ptab     rd 1
  391.  
  392. default_io_map    rd 1
  393.  
  394. LFBSize           rd 1
  395.  
  396. current_slot      rd 1
  397.  
  398. ; status
  399. hd1_status                  rd 1  ; 0 - free : other - pid
  400. application_table_owner     rd 1  ; 0 - free : other - pid
  401. application_table_mutex     MUTEX
  402.  
  403. ; device addresses
  404. mididp            rd 1
  405. midisp            rd 1
  406.  
  407. cdbase            rd 1
  408. cdid              rd 1
  409.  
  410. hdbase            rd 1    ; for boot 0x1f0
  411. hdid              rd 1
  412. hdpos             rd 1    ; for boot 0x1
  413. label   known_part dword
  414. fat32part         rd 1    ; for boot 0x1
  415. cdpos             rd 1
  416.  
  417. ;CPUID information
  418. cpu_vendor        rd 3
  419. cpu_sign          rd 1
  420. cpu_info          rd 1
  421. cpu_caps          rd 4
  422.  
  423.  
  424. pg_data           PG_DATA
  425. heap_test         rd 1
  426.  
  427. buttontype        rd 1
  428. windowtypechanged rd 1
  429.  
  430. hd_entries        rd 1     ;unused ? 0xfe10
  431.  
  432. mouse_active          rd 1
  433. mouse_pause           rd 1
  434.  
  435. redrawmouse_unconditional rd 1
  436.  
  437. img_background        rd 1
  438. mem_BACKGROUND        rd 1
  439. static_background_data rd 1
  440.  
  441. cache_ide0:
  442. cache_ide0_pointer            rd 1
  443. cache_ide0_size               rd 1   ; not use
  444. cache_ide0_data_pointer       rd 1
  445. cache_ide0_system_data_size   rd 1   ; not use
  446. cache_ide0_appl_data_size     rd 1   ; not use
  447. cache_ide0_system_data        rd 1
  448. cache_ide0_appl_data          rd 1
  449. cache_ide0_system_sad_size    rd 1
  450. cache_ide0_appl_sad_size      rd 1
  451. cache_ide0_search_start       rd 1
  452. cache_ide0_appl_search_start  rd 1
  453.  
  454. cache_ide1:
  455. cache_ide1_pointer            rd 1
  456. cache_ide1_size               rd 1   ; not use
  457. cache_ide1_data_pointer       rd 1
  458. cache_ide1_system_data_size   rd 1   ; not use
  459. cache_ide1_appl_data_size     rd 1   ; not use
  460. cache_ide1_system_data        rd 1
  461. cache_ide1_appl_data          rd 1
  462. cache_ide1_system_sad_size    rd 1
  463. cache_ide1_appl_sad_size      rd 1
  464. cache_ide1_search_start       rd 1
  465. cache_ide1_appl_search_start  rd 1
  466.  
  467. cache_ide2:
  468. cache_ide2_pointer            rd 1
  469. cache_ide2_size               rd 1   ; not use
  470. cache_ide2_data_pointer       rd 1
  471. cache_ide2_system_data_size   rd 1   ; not use
  472. cache_ide2_appl_data_size     rd 1   ; not use
  473. cache_ide2_system_data        rd 1
  474. cache_ide2_appl_data          rd 1
  475. cache_ide2_system_sad_size    rd 1
  476. cache_ide2_appl_sad_size      rd 1
  477. cache_ide2_search_start       rd 1
  478. cache_ide2_appl_search_start  rd 1
  479.  
  480. cache_ide3:
  481. cache_ide3_pointer            rd 1
  482. cache_ide3_size               rd 1   ; not use
  483. cache_ide3_data_pointer       rd 1
  484. cache_ide3_system_data_size   rd 1   ; not use
  485. cache_ide3_appl_data_size     rd 1   ; not use
  486. cache_ide3_system_data        rd 1
  487. cache_ide3_appl_data          rd 1
  488. cache_ide3_system_sad_size    rd 1
  489. cache_ide3_appl_sad_size      rd 1
  490. cache_ide3_search_start       rd 1
  491. cache_ide3_appl_search_start  rd 1
  492.  
  493. debug_step_pointer rd 1
  494. hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
  495. cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
  496.  
  497. lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
  498. pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
  499. timer_ticks_enable rb 1         ; for cd driver
  500.  
  501. NumBiosDisks    rd 1
  502. BiosDisksData   rb 200h
  503. BiosDiskCaches  rb 80h*(cache_ide1-cache_ide0)
  504. BiosDiskPartitions rd 80h
  505.  
  506. IncludeUGlobals
  507.