Subversion Repositories Kolibri OS

Rev

Rev 2288 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ; Copyright (c) 2008-2009, <Lrz>
  2. ; All rights reserved.
  3. ;
  4. ; Redistribution and use in source and binary forms, with or without
  5. ; modification, are permitted provided that the following conditions are met:
  6. ;       * Redistributions of source code must retain the above copyright
  7. ;       notice, this list of conditions and the following disclaimer.
  8. ;       * Redistributions in binary form must reproduce the above copyright
  9. ;       notice, this list of conditions and the following disclaimer in the
  10. ;       documentation and/or other materials provided with the distribution.
  11. ;       * Neither the name of the <organization> nor the
  12. ;       names of its contributors may be used to endorse or promote products
  13. ;       derived from this software without specific prior written permission.
  14. ;
  15. ; THIS SOFTWARE IS PROVIDED BY Alexey Teplov aka <Lrz> ''AS IS'' AND ANY
  16. ; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  17. ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  18. ; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
  19. ; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  20. ; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  21. ; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  22. ; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  23. ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  24. ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  25. ;*****************************************************************************
  26. ; Предопределения
  27. DEBUG equ 1                             ;компиляция с отладочной информацией =1 без отладочной инфорации =0
  28. loop_read_startos_file  equ     3       ;кол-во попыток считать через callback сервис файл конфигурации блок2
  29. root_dir_entry_count    equ     224     ;кол-во элементов в корневой дирректории
  30. ;point_to_fat_struc     equ     0xA000  ;временный буфер, куда будет размещена Fat таблица, и затем перенесена за 1 мб
  31. ini_data_               equ     0x2000  ;файл где размещен файл сценария загрузки, там происходит синтаксический разбор
  32. size_show_section       equ     18
  33. default_timeout_value   equ     5       ;default value to timeout is will was some errors
  34. flag_found_default      equ     0x1     ;default value is found
  35. flag_found_timeout      equ     0x2     ;timeout value is found
  36. flag_found_LM           equ     0x1     ;found LM value
  37. flag_found_RS           equ     0x2     ;found RS value
  38. flag_found_GTRFMS       equ     0x4     ;found type RamFS
  39. flag_found_RamdiskSector equ    0x8     ;found RamdiskSector
  40. flag_found_RamdiskCluster equ   0x16    ;found RamdiskCluster
  41. ;statick data эти данные не предопределяются в течении выполнения всей программы.
  42. save_cx         equ     word [bp-2]     ;save cx size ini file
  43. ret_on_ch       equ     word [bp-4]     ;point to return   разрушаемое значение
  44. save_cx_d       equ     word [bp-6]     ;save cx - size default section and working section                                
  45. status_flag     equ     word [bp-8]     ;status flag
  46. point_loader    equ     word [bp-10]
  47. point_default   equ     word [bp-12]    ;point to default
  48.  
  49. ;данные которые зависимы от ветки выполнения и которые могут быть переопределены в процессе выполнения программы.
  50. point_to_hframe equ     word [bp-14]    ;point on start frame (for change section)
  51. point_to_1      equ     word [bp-16]
  52. point_to_2      equ     word [bp-18]
  53. point_to_3      equ     word [bp-20]
  54. point_to_4      equ     word [bp-22]
  55. point_to_5      equ     word [bp-24]
  56. point_to_6      equ     word [bp-26]
  57. point_to_7      equ     word [bp-28]
  58. point_to_8      equ     word [bp-30]
  59. point_to_9      equ     word [bp-32]
  60. point_to_10     equ     word [bp-34]
  61. point_to_11     equ     word [bp-36]
  62. point_to_12     equ     word [bp-38]
  63. point_to_13     equ     word [bp-40]
  64. point_to_14     equ     word [bp-42]
  65. point_to_15     equ     word [bp-44]
  66. point_to_16     equ     word [bp-46]
  67. point_to_16     equ     word [bp-48]
  68. point_to_17     equ     word [bp-50]
  69. point_to_18     equ     word [bp-52]
  70. ;here array for fast scroling  16 word - poin to start section
  71. point_to_point_def      equ     word [bp-54]
  72. point_to_eframe equ     word [bp-56]    ;point on point frame
  73.  
  74.  
  75.  
  76. ; тут расположено временное хранилище для cx и di при переходе на следующий буфер при поиске секций
  77. find_sec_di     equ     word [bp-58]    ;тут будет храниться di
  78. info_real_mode_size     equ     word [bp-60];тут храниться информация о занятой области т.е. размер, можно узнать сколько осталось места вычислив
  79. free_ad_memory  equ     word    [bp-62] ;сколько у нас расширенной памяти для формирования рам диска и загрузки модулей
  80. show_errors_sect equ    word    [bp-64] ;переменая которая хранит биты ошибок для каждой логической секции.
  81. save_descript_size      equ     word    [bp-66] ;save descript size previos section сохраним размер предыдущей секции которую выводили
  82. save_ramdisksize        equ     dword   [bp-70] ;save size of ramdisk in byte
  83. save_file_size          equ     dword   [bp-74] ;save size of reading file
  84. set_ramfs               equ     word    [bp-76] ;определенный тип файловой системы,нужно для формирования рам диска
  85. point_next_fat_str      equ     word    [bp-78] ;указатель на следующий элемент fat таблицы
  86. size_root_dir           equ     word    [bp-80] ;кол-во элементов в секторах по 512 байт корневой директории
  87. firstDataSect           equ     word    [bp-82] ;первый сектор данных в сеторах от 0
  88. DataClasters            equ     word    [bp-84] ;размер массива доступной для записи данных в кластерах.
  89. point_to_free_root      equ     word    [bp-86] ;указатель на следующий пустую запись в рут дир
  90. point_to_dest_file_name equ     word    [bp-88] ;указывает на начало имени файла назначения. в формате es:point_to_dest_file_name, где es =0x2000
  91. data_offset             equ     word    [bp-90] ;смещение в кластерах для записанных данных т.е перекинутых за 1-й мб
  92. first_input             equ     word    [bp-92] ;поле для флагов в преобразовании имени.
  93. save_di_RAMDISK         equ     word    [bp-94] ;сохраним di -указателя при обработке секции
  94. save_cx_RAMDISK         equ     word    [bp-96] ;сохраним размер остатка секции
  95. status_flag_loader_f    equ     word    [bp-98] ;сохраним результат выполенения загрузки файла
  96. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  97. ;данные которые используются при обработке секции, т.е. после нажатия Enter, уже не возможно вернуться в первоначальный экран
  98. ;для возврата, необходимо перезапустить полностью код т.е. стартовать с 0х1000:0000
  99.