Rev 2288 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2288 | clevermous | 1 | ; Copyright (c) 2008-2009, |
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 |
||
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 |
||
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 |
||
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 | ;***************************************************************************** |
||
3539 | clevermous | 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 ;файл где размещен файл сценария загрузки, там происходит синтаксический разбор |
||
2288 | clevermous | 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 |
||
3539 | clevermous | 41 | ;statick data эти данные не предопределяются в течении выполнения всей программы. |
2288 | clevermous | 42 | save_cx equ word [bp-2] ;save cx size ini file |
3539 | clevermous | 43 | ret_on_ch equ word [bp-4] ;point to return разрушаемое значение |
2288 | clevermous | 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 | |||
3539 | clevermous | 49 | ;данные которые зависимы от ветки выполнения и которые могут быть переопределены в процессе выполнения программы. |
2288 | clevermous | 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 | |||
3539 | clevermous | 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 сохраним размер предыдущей секции которую выводили |
||
2288 | clevermous | 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 |
||
3539 | clevermous | 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] ;сохраним результат выполенения загрузки файла |
||
2288 | clevermous | 96 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3539 | clevermous | 97 | ;данные которые используются при обработке секции, т.е. после нажатия Enter, уже не возможно вернуться в первоначальный экран |
98 | ;для возврата, необходимо перезапустить полностью код т.е. стартовать с 0х1000:0000 |