Subversion Repositories Kolibri OS

Rev

Rev 928 | 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: 996 $
  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.  
  85. ;szSound        db 'SOUND',0
  86. ;szInfinity     db 'INFINITY',0
  87. szHwMouse       db 'ATI2D',0
  88. szPS2MDriver    db 'PS2MOUSE',0
  89. szCOM_MDriver   db 'COM_MOUSE',0
  90. szUSB           db 'USB',0
  91. szAtiHW         db '/rd/1/drivers/ati2d.drv',0
  92.  
  93. szSTART        db 'START',0
  94. szEXPORTS      db 'EXPORTS',0
  95. szIMPORTS      db 'IMPORTS',0
  96.  
  97. read_firstapp  db '/sys/'
  98. firstapp       db  '@DESKTOP',0
  99.  
  100. char    db '/rd/1/FONTS/CHAR.MT',0
  101. char2   db '/rd/1/FONTS/CHAR2.MT',0
  102.  
  103. bootpath       db  '/KOLIBRI    '
  104. bootpath2      db  0
  105. vmode          db  '/sys/drivers/VMODE.MDR',0
  106. vrr_m          db  'VRR_M',0
  107. kernel_file    db  'KERNEL  MNT'
  108.  
  109.  
  110.                      ;supported videomodes
  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
  119. mode_800_600_32:
  120.   dw 800,600,32,60
  121. mode_800_600_24:
  122.   dw 800,600,24,60
  123. mode_640_480_32:
  124.   dw 640,480,32,60
  125. mode_640_480_24:
  126.   dw 640,480,24,60
  127. mode_640_480_16:
  128.   dw 640,480,16,60
  129. mode_320_240_8:
  130.   dw 320,240,8,60
  131.  
  132.  
  133. ;bx_from_load:     dw 'r1'  ; ñòðóêòóðà äëÿ õðàíåíèÿ ïàðàìåòðîâ- îòêóäà ãàøðóçèëèñü, áåðåòñÿ íèæå èç bx ; {SPraid}[13.03.2007]
  134. ;                           ; a,b,c,d - âèí÷åñòåðû, r - ðàì äèñê
  135. ;                           ; # äèñêà... ñèìâîë, à íå áàéò. '1', à íå 1
  136.  
  137.  
  138.  
  139. ; mike.dld {
  140. db 0
  141. dd servetable-0x10000
  142. draw_line       dd __sys_draw_line
  143. disable_mouse   dd __sys_disable_mouse
  144. draw_pointer    dd __sys_draw_pointer
  145. ;//mike.dld, 2006-08-02 [
  146. ;drawbar         dd __sys_drawbar
  147. drawbar         dd __sys_drawbar.forced
  148. ;//mike.dld, 2006-08-02 ]
  149. putpixel        dd __sys_putpixel
  150. ; } mike.dld
  151.  
  152.  
  153. align 4
  154. keyboard   dd 1
  155. syslang    dd 1
  156.  
  157. boot_y     dd 10
  158.  
  159. pci_bios_entry  dd 0
  160.            dw sel_pci_code
  161.  
  162. if __DEBUG__ eq 1
  163.   include_debug_strings
  164. end if
  165.  
  166. IncludeIGlobals
  167.  
  168. align 16
  169. _gdts:
  170.  
  171.     dw     (gdte - _gdts -1)
  172.     dd     _gdts
  173.         dw     0
  174.  
  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.  
  182. ; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
  183. ; must be : os_code, os_data, app_code, app_data, ....
  184.  
  185. os_code_l:                            ;0x10
  186.         dw     0xffff
  187.         dw     0x0000
  188.         db     0x00
  189.         dw     11011111b *256 +10011010b
  190.         db     0x00
  191.  
  192. os_stacK_l:                           ;0x18
  193.         dw     0xffff
  194.         dw     0x0000
  195.         db     0x00
  196.         dw     11011111b *256 +10010010b
  197.         db     0x00
  198.  
  199. app_code_l:                           ;0x20
  200.     dw     0xFFFF
  201.     dw     0
  202.     db     0
  203.     db     cpl3
  204.     dw     G32+D32+0xF;
  205.  
  206. app_data_l:                           ;0x28
  207.     dw     0xFFFF
  208.     dw     0
  209.     db     0
  210.     db     drw3
  211.     dw     G32+D32+0xF;
  212.  
  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.  
  227. ; ------------- PCI BIOS ------------------
  228.  
  229. pci_code_32:
  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
  236.  
  237. pci_data_32:
  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
  244.  
  245. ; --------------- APM ---------------------
  246. apm_code_32:
  247.         dw     0x0f        ; limit 64kb
  248.         db     0, 0, 0
  249.         dw     11010000b *256 +10011010b
  250.         db     0x00
  251. apm_code_16:
  252.         dw     0x0f
  253.         db     0, 0, 0
  254.         dw     10010000b *256 +10011010b
  255.         db     0x00
  256. apm_data_16:
  257.         dw     0x0f
  258.         db     0, 0, 0
  259.         dw     10010000b *256 +10010010b
  260.         db     0x00
  261. ; -----------------------------------------
  262.  
  263. graph_data_l:
  264.  
  265.         dw     0x7ff
  266.         dw     0x0000
  267.         db     0x00
  268.         dw     11010000b *256 +11110010b
  269.         db     0x00
  270.  
  271. code_16_l:
  272.     dw 0xFFFF
  273.     dw 0
  274.     db 1
  275.     db cpl0
  276.     dw 0
  277.  
  278. endofcode:
  279. gdte:
  280.  
  281. section '.bss' data writeable align 4096
  282.  
  283. align 4096
  284.  
  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
  293.  
  294. BUTTON_INFO:
  295.                 rb 16*1024
  296. BgrAuxTable:
  297.                 rb 32*1024
  298. skin_data:
  299.                 rb 32*1024
  300.  
  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.  
  315. cur_saved_data  rb 4096
  316.  
  317. _sys_pdbr       rd 1024
  318.  
  319.  
  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.  
  330. ; device irq owners
  331. irq_owner         rd 16 ; process id
  332.  
  333. ; on irq read ports
  334.  
  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
  351.  
  352. irq_tab           rd 16
  353.  
  354. FONT_I        rb 2304    ;16*144
  355. FONT_II       rb 2560    ;16*160
  356.  
  357. RAMDISK_FAT:  rb 2856*2 +16 ;16*357
  358. FLOPPY_FAT:   rb 2856*2 +16
  359.  
  360. _z_core           rd 52
  361.  
  362. mem_block_map     rb 512
  363.  
  364. event_map         rb 64
  365. mem_block_list    rd 64
  366. large_block_list  rd 31
  367. mem_block_mask    rd 2
  368. large_block_mask  rd 1
  369.  
  370.  
  371. _boot_mbi         rd 1
  372.  
  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
  379.  
  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
  385.  
  386. mst MEM_STATE
  387.  
  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
  395.  
  396. srv.fd            rd 1
  397. srv.bk            rd 1
  398.  
  399. _HwCursorCreate:
  400. create_cursor     rd 1
  401.  
  402. _SelectHwCursor:
  403. select_hw_cursor  rd 1
  404.  
  405. _SetHwCursor:
  406. set_hw_cursor     rd 1
  407.  
  408. _HwCursorRestore:
  409. hw_restore        rd 1
  410.  
  411. def_cursor        rd 1
  412. current_cursor    rd 1
  413. hw_cursor         rd 1
  414. cur_saved_base    rd 1
  415.  
  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.  
  424. ipc_tmp           rd 1
  425. ipc_pdir          rd 1
  426. ipc_ptab          rd 1
  427.  
  428. proc_mem_map      rd 1
  429. proc_mem_pdir     rd 1
  430. proc_mem_tab      rd 1
  431.  
  432. tmp_task_pdir     rd 1
  433. tmp_task_ptab     rd 1
  434.  
  435. default_io_map    rd 1
  436.  
  437.  
  438. stall_mcs         rd 1
  439.  
  440. _current_slot:
  441. current_slot      rd 1
  442.  
  443. _display_data     rd 1
  444.  
  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.  
  460. _screen_width     rd 1
  461. _screen_height    rd 1
  462.  
  463. Screen_Max_X      rd 1
  464. Screen_Max_Y      rd 1
  465.  
  466. btn_addr          rd 1
  467.  
  468. redraw_background rd 1
  469. BgrDrawMode       rd 1
  470. BgrDataWidth      rd 1
  471. BgrDataHeight     rd 1
  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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  499. ; status
  500. hd1_status                  rd 1  ; 0 - free : other - pid
  501. application_table_status    rd 1  ; 0 - free : other - pid
  502.  
  503. ; device addresses
  504. mididp            rd 1
  505. midisp            rd 1
  506.  
  507. cdbase            rd 1
  508. cdid              rd 1
  509.  
  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
  515.  
  516.  
  517.  
  518. pg_data           PG_DATA
  519. heap_test         rd 1
  520.  
  521. buttontype        rd 1
  522. windowtypechanged rd 1
  523.  
  524. hd_entries        rd 1     ;unused ? 0xfe10
  525.  
  526. ;* start code - Mario79
  527.  
  528. mouse_active          rd 1
  529. mouse_pause           rd 1
  530. MouseTickCounter      rd 1
  531.  
  532. ;* end code - Mario79
  533.  
  534. img_background        rd 1
  535. mem_BACKGROUND        rd 1
  536. wraw_bacground_select rb 1
  537.  
  538. cache_ide0:
  539. cache_ide0_pointer            rd 1
  540. cache_ide0_size               rd 1   ; not use
  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
  544. cache_ide0_system_data        rd 1
  545. cache_ide0_appl_data          rd 1
  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.  
  551. cache_ide1:
  552. cache_ide1_pointer            rd 1
  553. cache_ide1_size               rd 1   ; not use
  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
  557. cache_ide1_system_data        rd 1
  558. cache_ide1_appl_data          rd 1
  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.  
  564. cache_ide2:
  565. cache_ide2_pointer            rd 1
  566. cache_ide2_size               rd 1   ; not use
  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
  570. cache_ide2_system_data        rd 1
  571. cache_ide2_appl_data          rd 1
  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.  
  577. cache_ide3:
  578. cache_ide3_pointer            rd 1
  579. cache_ide3_size               rd 1   ; not use
  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
  583. cache_ide3_system_data        rd 1
  584. cache_ide3_appl_data          rd 1
  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.  
  590. debug_step_pointer            rd 1
  591.  
  592. hdd_appl_data                 rb 1 ; 0 = system cache, 1 - application cache
  593. cd_appl_data                  rb 1 ; 0 = system cache, 1 - application cache
  594.  
  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
  599.  
  600. align 4
  601. NumBiosDisks                  rd 1
  602. BiosDisksData                 rb 200h
  603. BiosDiskCaches                rb 80h*(cache_ide1-cache_ide0)
  604. BiosDiskPartitions            rd 80h
  605.  
  606. IncludeUGlobals
  607.  
  608.