Subversion Repositories Kolibri OS

Rev

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

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                                                              ;;
  3. ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
  4. ;; Distributed under terms of the GNU General Public License    ;;
  5. ;;                                                              ;;
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7.  
  8. $Revision: 890 $
  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.   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
  70. ;if preboot_blogesc
  71. ;  boot_tasking      db   'All set - press ESC to start',0
  72. ;end if
  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
  82. msg_CR         db  13,10,0
  83.  
  84. intel_str      db "GenuineIntel",0
  85. AMD_str        db "AuthenticAMD",0
  86.  
  87. ;szSound        db 'SOUND',0
  88. ;szInfinity     db 'INFINITY',0
  89. szHwMouse       db 'ATI2D',0
  90. szPS2MDriver    db 'PS2MOUSE',0
  91. szCOM_MDriver   db 'COM_MOUSE',0
  92. szUSB           db 'USB',0
  93. szAtiHW         db '/rd/1/drivers/ati2d.drv',0
  94.  
  95. szSTART        db 'START',0
  96. szEXPORTS      db 'EXPORTS',0
  97. szIMPORTS      db 'IMPORTS',0
  98.  
  99. read_firstapp  db '/sys/'
  100. firstapp       db  'LAUNCHER',0
  101.  
  102. char    db '/rd/1/FONTS/CHAR.MT',0
  103. char2   db '/rd/1/FONTS/CHAR2.MT',0
  104.  
  105. bootpath       db  '/KOLIBRI    '
  106. bootpath2      db  0
  107. vmode          db  '/sys/drivers/VMODE.MDR',0
  108. vrr_m          db  'VRR_M',0
  109. kernel_file    db  'KERNEL  MNT'
  110.  
  111. align 4
  112.  
  113. _pg_balloc     dd LAST_PAGE
  114.  
  115.                      ;supported videomodes
  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
  124. mode_800_600_32:
  125.   dw 800,600,32,60
  126. mode_800_600_24:
  127.   dw 800,600,24,60
  128. mode_640_480_32:
  129.   dw 640,480,32,60
  130. mode_640_480_24:
  131.   dw 640,480,24,60
  132. mode_640_480_16:
  133.   dw 640,480,16,60
  134. mode_320_240_8:
  135.   dw 320,240,8,60
  136.  
  137.  
  138. ;bx_from_load:     dw 'r1'  ; ñòðóêòóðà äëÿ õðàíåíèÿ ïàðàìåòðîâ- îòêóäà ãàøðóçèëèñü, áåðåòñÿ íèæå èç bx ; {SPraid}[13.03.2007]
  139. ;                           ; a,b,c,d - âèí÷åñòåðû, r - ðàì äèñê
  140. ;                           ; # äèñêà... ñèìâîë, à íå áàéò. '1', à íå 1
  141.  
  142.  
  143.  
  144. ; mike.dld {
  145. db 0
  146. dd servetable-0x10000
  147. draw_line       dd __sys_draw_line
  148. disable_mouse   dd __sys_disable_mouse
  149. draw_pointer    dd __sys_draw_pointer
  150. ;//mike.dld, 2006-08-02 [
  151. ;drawbar         dd __sys_drawbar
  152. drawbar         dd __sys_drawbar.forced
  153. ;//mike.dld, 2006-08-02 ]
  154. putpixel        dd __sys_putpixel
  155. ; } mike.dld
  156.  
  157.  
  158. align 4
  159. keyboard   dd 1
  160. syslang    dd 1
  161.  
  162. boot_y     dd 10
  163.  
  164. pci_bios_entry  dd 0
  165.                 dw pci_code_sel
  166.  
  167. if __DEBUG__ eq 1
  168.   include_debug_strings
  169. end if
  170.  
  171. IncludeIGlobals
  172.  
  173. align 16
  174. _gdts:
  175.  
  176.         dw     0x67; gdte-$-1
  177.         dd     _gdts
  178.         dw     0
  179.  
  180. ; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
  181. ; must be : os_code, os_data, app_code, app_data, ....
  182.  
  183. int_code_l:
  184. os_code_l:
  185.         dw     0xffff
  186.         dw     0x0000
  187.         db     0x00
  188.         dw     11011111b *256 +10011010b
  189.         db     0x00
  190.  
  191. int_data_l:
  192. os_data_l:
  193.         dw     0xffff
  194.         dw     0x0000
  195.         db     0x00
  196.         dw     11011111b *256 +10010010b
  197.         db     0x00
  198.  
  199. app_code_l:
  200.         dw 0xFFFF
  201.         dw 0
  202.         db 0
  203.         db cpl3
  204.         dw G32+D32+0xF;
  205.  
  206. app_data_l:
  207.         dw 0xFFFF
  208.         dw 0
  209.         db 0
  210.         db drw3
  211.         dw G32+D32+0xF;
  212.  
  213. ; ------------- PCI BIOS ------------------
  214.  
  215. pci_code_32:
  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
  222.  
  223. pci_data_32:
  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
  230.  
  231. ; --------------- APM ---------------------
  232. apm_code_32:
  233.         dw     0x0f        ; limit 64kb
  234.         db     0, 0, 0
  235.         dw     11010000b *256 +10011010b
  236.         db     0x00
  237. apm_code_16:
  238.         dw     0x0f
  239.         db     0, 0, 0
  240.         dw     10010000b *256 +10011010b
  241.         db     0x00
  242. apm_data_16:
  243.         dw     0x0f
  244.         db     0, 0, 0
  245.         dw     10010000b *256 +10010010b
  246.         db     0x00
  247. ; -----------------------------------------
  248.  
  249. graph_data_l:
  250.  
  251.         dw     0x7ff
  252.         dw     0x0000
  253.         db     0x00
  254.         dw     11010000b *256 +11110010b
  255.         db     0x00
  256. tss0_l:
  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
  262.  
  263. code_16:
  264.         dw 0xFFFF
  265.         dw 0
  266.         db 1
  267.         db cpl0
  268.         dw 0
  269.  
  270. endofcode:
  271. gdte:
  272.  
  273. section '.bss' data writeable align 4096
  274.  
  275. align 4096
  276.  
  277. _sys_pdbr   rd 1024
  278.  
  279.             rb 8192-512
  280.  
  281. __os_stack  rb 512
  282.  
  283. cur_saved_data    rb 4096
  284. fpu_data:         rb 512
  285.  
  286.  
  287. idts              rq 0x41
  288.  
  289. ; device irq owners
  290. irq_owner         rd 16 ; process id
  291.  
  292. ; on irq read ports
  293.  
  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
  310.  
  311. irq_tab           rd 16
  312.  
  313. _z_core           rd 52
  314.  
  315. mem_block_map     rb 512
  316.  
  317. event_map         rb 64
  318. mem_block_list    rd 64
  319. large_block_list  rd 31
  320. mem_block_mask    rd 2
  321. large_block_mask  rd 1
  322.  
  323.  
  324. _boot_mbi         rd 1
  325.  
  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
  332.  
  333. mem_used.fd       rd 1
  334. mem_used.bk       rd 1
  335.  
  336. mem_block_arr     rd 1
  337. mem_block_start   rd 1
  338. mem_block_end     rd 1
  339.  
  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
  345.  
  346. mst MEM_STATE
  347.  
  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
  355.  
  356. srv.fd            rd 1
  357. srv.bk            rd 1
  358.  
  359. scr_width         rd 1
  360. scr_height        rd 1
  361.  
  362. _HwCursorCreate:
  363. create_cursor     rd 1
  364.  
  365. _SelectHwCursor:
  366. select_hw_cursor  rd 1
  367.  
  368. _SetHwCursor:
  369. set_hw_cursor     rd 1
  370.  
  371. _HwCursorRestore:
  372. hw_restore        rd 1
  373.  
  374. def_cursor        rd 1
  375. current_cursor    rd 1
  376. hw_cursor         rd 1
  377. cur_def_interl    rd 1
  378. cur_saved_base    rd 1
  379. cur_saved_interl  rd 1
  380. cur_saved_w       rd 1
  381. cur_saved_h       rd 1
  382.  
  383. ipc_tmp           rd 1
  384. ipc_pdir          rd 1
  385. ipc_ptab          rd 1
  386.  
  387. proc_mem_map      rd 1
  388. proc_mem_pdir     rd 1
  389. proc_mem_tab      rd 1
  390.  
  391. tmp_task_pdir     rd 1
  392. tmp_task_ptab     rd 1
  393.  
  394. default_io_map    rd 1
  395.  
  396. LFBSize           rd 1
  397.  
  398. stall_mcs         rd 1
  399. current_slot      rd 1
  400.  
  401. _display_data     rd 1
  402.  
  403. ; status
  404. hd1_status                  rd 1  ; 0 - free : other - pid
  405. application_table_status    rd 1  ; 0 - free : other - pid
  406.  
  407. ; device addresses
  408. mididp            rd 1
  409. midisp            rd 1
  410.  
  411. cdbase            rd 1
  412. cdid              rd 1
  413.  
  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
  419.  
  420. ;CPUID information
  421. cpu_vendor        rd 3
  422. cpu_sign          rd 1
  423. cpu_info          rd 1
  424. cpu_caps          rd 4
  425.  
  426.  
  427. pg_data           PG_DATA
  428. heap_test         rd 1
  429.  
  430. buttontype        rd 1
  431. windowtypechanged rd 1
  432.  
  433. hd_entries        rd 1     ;unused ? 0xfe10
  434.  
  435. ;* start code - Mario79
  436.  
  437. mouse_active          rd 1
  438. mouse_pause           rd 1
  439. MouseTickCounter      rd 1
  440.  
  441. ;* end code - Mario79
  442.  
  443. img_background        rd 1
  444. mem_BACKGROUND        rd 1
  445. wraw_bacground_select rb 1
  446.  
  447. cache_ide0:
  448. cache_ide0_pointer            rd 1
  449. cache_ide0_size               rd 1   ; not use
  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
  453. cache_ide0_system_data        rd 1
  454. cache_ide0_appl_data          rd 1
  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.  
  460. cache_ide1:
  461. cache_ide1_pointer            rd 1
  462. cache_ide1_size               rd 1   ; not use
  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
  466. cache_ide1_system_data        rd 1
  467. cache_ide1_appl_data          rd 1
  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.  
  473. cache_ide2:
  474. cache_ide2_pointer            rd 1
  475. cache_ide2_size               rd 1   ; not use
  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
  479. cache_ide2_system_data        rd 1
  480. cache_ide2_appl_data          rd 1
  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.  
  486. cache_ide3:
  487. cache_ide3_pointer            rd 1
  488. cache_ide3_size               rd 1   ; not use
  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
  492. cache_ide3_system_data        rd 1
  493. cache_ide3_appl_data          rd 1
  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
  501. cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
  502.  
  503. lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
  504. pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
  505. timer_ticks_enable rb 1         ; for cd driver
  506.  
  507. NumBiosDisks    rd 1
  508. BiosDisksData   rb 200h
  509. BiosDiskCaches  rb 80h*(cache_ide1-cache_ide0)
  510. BiosDiskPartitions rd 80h
  511.  
  512. IncludeUGlobals
  513.  
  514.