Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Различные авторы Весь текст 2311.07 Kb

Программирование и кодирование

Предыдущая страница Следующая страница
1 ... 106 107 108 109 110 111 112  113 114 115 116 117 118 119 ... 198
        /*
        Общие константы спецификации расширенной памяти
        */

        #define EMM_INT             0x67        /*программное прерывание
                                                    расширенной памяти*/
        #define HANDLE_NAME_LENGTH  8           /*кол-во байт в имени об-
                                                  работчика*/
        #define PAGE_FRAMES         4           /*максимальное кол-во фи-
                                                  зических страниц*/
        #define PAGE_SIZE           16384       /*кол-во байтов в странице
                                         спецификации расширенной памяти*/
        #define EMM_DEVICE          "EMMXXXX0"  /*имя драйвера устройства
                                            менеджера расширенной памяти*/
        #define MAX_HANDLE          255         /*максимальное кол-во обра-
                                    ботчиков менеджера расширенной памяти*/
        /*
        Константы для кодов состояния спецификации расширенной памяти
        */

        #define FRSTEMERR           0x80        /*номер первой ошибки ме-
                                               неджера расширенной памяти*/
        #define LASTEMERR           0xA4        /*номер последн. ошибки ме-
                                               неджера расширенной памяти*/
        #define FUNCCOK             0x00        /*указанная функция завер-
                                                шилась без ошибок*/
        #define EMDRVSWF            0x80        /*программная ошибка драй-
                                        вера менеджера расширенной памяти*/
        #define EMDRVHWF            0x81        /*драйвер менеджера расши-
                                           ренной памяти обнаружил ошибку
                                                      в аппаратуре*/
        #define EMDRVBSY            0x82        /*драйвер менеджера расши-
                                                 ренной памяти      занят
                                                 (других не осталось)*/
        #define HANDLNFD            0x83        /*не найден указанный обра-
                                                  ботчик*/
        #define FUNCCUND            0x84        /*код функции неопределен*/
        #define HANDLINS            0x85        /*нет доступных обработчи-
                                                           ков*/
        #define MAPCXPRO            0x86        /*произошла ошибка восста-

                                      - 7-53 -
                                          новления контекста отображения*/
        #define TOTPGINS            0x87        /*не хватает страниц для
                                                  запроса*/
        #define UNAPGINS            0x88        /*не хватает размещенных
                                                  страниц для запроса*/
        #define LPAGE2SM            0x89        /*нуль логических страниц
                                          был запрошен от  функции,  сов-
                                          местимой  со спецификацией рас-
                                          ширенной памяти LIM 3.2*/
        #define LPAGERNG            0x8A        /*логическая страница вне
                                        диапазона указанного обработчика*/
        #define PPAGE2BG            0x8B        /*физическая страница вне
                                                      диапазона*/
        #define MRCSAFUL            0x8C        /*область сохранения кон-
                                             текста регистров отображения
                                             полна*/
        #define MRCSTDUP            0x8D        /*у стека контекста регист-
                                        ров отображения   уже  есть  кон-
                                       текст, связанный с указанным обра-
                                       ботчиком*/
        #define MRCSTNFD            0x8E        /*у стека контекста регист-
                                        ров отображения   нет  контекста,
                                         связанного с указанным  обработ-
                                         чиком*/
        #define SFUNCUND           0x8F        /*была запрошена неопреде-
                                                  ленная подфункция*/
        #define ATTRBUND            0x90      /*тип атрибута неопределен*/
        #define NVSTGUNS            0x91      /*система не поддерживает не-
                                                        разрушаемость*/
        #define MREGNOVW            0x92      /*во время передвижки области
                                 произошла частичная перезапись источника*/
        #define MRFGN2SM            0x93      /*область спецификации расши-
                                           ренной памяти  слишком  велика
                                                для указанного обработчи-
                                                ка*/
        #define MREGNOVL            0x94      /*область обычной памяти и
                                        область расширенной памяти перек-
                                                            рываются*/
        #define LPGOF2BG            0x95      /*смещение внутри логической
                                        страницы превышает  размер  логи-
                                                 ческой страницы*/
        #define MREGN2BG            0x96      /*длина области превосходит
                                                предел в 1 Мбайт*/
        #define MREGNDUP            0x97      /*область-источник и область-
                                        приемник расширенной памяти имеют
                                        один и тот же обработчик и перек-
                                        ры
                                                      ваются*/
        #define MREGNUND            0x98      /*неопределенный/неподдержи-
                                        ваемый типы   памяти-источника  и
                                                    приемника*/
        #define AMRSNFD             0x9A      /*указанный альтернативный
                                        набор регистров не существует*/
        #define AMDRSINS            0x9B      /*все альтернативные наборы
                                        регистров отображения/ПДП заняты*/
        #define AMDRSUNS            0x9C      /*альтернативные наборы ре-
                                        гистров отображения/ПДП  не  под-

                                      - 7-54 -
                                                            держиваются*/
        #define AMDRSUND            0x9D      /*указанный альтернативный
                                        набор регистров   отображения/ПДП
                                        не определен, не размещен или яв-
                                        ляется текущим набором*/

        #define DDMACUNS            0x9E      /*назначенные каналы ПДП не
                                                поддерживаются*/
        #define DDMACNFD            0x9F      /*назначенный указанный ка-
                                        нал  ПДП не существует*/
        #define HNDVLNFD            0xA0      /*не найдено значение, соот-
                                        ветствующее указанному имени  об-
                                                               работчика*
                                                               /
        #define HNDNMDUP            0xA1      /*обработчик с указанным
                                                 именем уже существует*/
        #define MREGNWRP            0xA2      /*попытка циклического пере-
                                        хода 1-Мбайтного адресного прост-
                                        ранства во время передвижки или
                                                         обмена*/
        #define USRDSFMT            0xA3      /*содержимое структуры дан-
                                        ных пользователя,      переданное
                                        функции искажено или бессмысленно
                                        */
        #define OPSYSACC            0xA4      /*операционная система зап-
                                        рещает доступ к данной функции*/
        ------------------------------------------------------------------


                             Листинг 7-3. EMMTYPES.H
        ------------------------------------------------------------------
        /*
        Структуры, используемые для связи с менеджером расширенной памяти
        */

        #define PCONTEXT            unsigned char
        #define PMAP                unsigned char

        typedef struct handle_page { /*структура  страницы  обработчика*/
                unsigned int emm_handle; /*размещенный обработчик
                                      менеджера расширенной памяти*/
                unsigned int pages_alloc_to_handle; /*логические страницы
                                               принадлежащие обработчику*/
        } HANDLE_PAGE;

        typedef struct ppmap { /*структура запроса частичного контекста*/
                unsigned int seg_cnt; /*количество отображаемых сег-
                                     ментов, которое требуется получить*/
                unsigned int seg_addr[PAGE_FRAMES];  /*адрес отображае-
                              мого сегмента, который требуется получить*/
        } PPMAP;


        typedef struct  log_to_phys  { /*структура отображения логических
                                                 на физические страницы*/

                unsigned int log_page_no;  /*номер логической  страницы*/

                                      - 7-55 -
                unsigned int phys_page_no; /*номер кадра страниц/адрес
                                                  отображаемого сегмента*/
        } LOG_TO_PHYS;

        typedef struct handle_names { /*элемент массива имен обработчика*/
                   unsigned int   handle_value;   /*обработчик*/
                    char handle_name[HANDLE_NAME_LENGTH]; /*имя, связанное
                                                           с обработчиком*/
        } HANDLE_NAMES;

        typedef struct  map_phys_page  { /*отображение отображаемого сег-
                                         мента в номер физическ. страницы
                                         */
                unsigned int phys_page_segment;  /*адрес  сегмента  физи-
                                                                 ческ.
                                                                 страни-
                                                                 цы*/
                unsigned int phys_page_number; /*номер физическ. страницы*/
        } MAP_PHYS_PAGE;

        typedef struct  hardware_info  { /*структура данных об аппаратуре
                                          спецификации расширенной памяти
                                          */
              unsigned int raw_page_size; /*кол-во байт в исх. странице*/
              unsigned int alt_reg_sets; /*кол-во альтернативных на-
                                          боров регистров отображения*/
                 unsigned int ctx_savearea_size;  /*кол-во байт в области
                                                    сохранения контекста*/
                 unsigned int dma_reg_sets;  /*кол-во  наборов  рег-ров
                                                ПДП*/
                 unsigned  int  dma_chan_op;  /*0:  работа  ПДП по
                                                станд. LIM,
                                                1: только один канал ПДП*/
Предыдущая страница Следующая страница
1 ... 106 107 108 109 110 111 112  113 114 115 116 117 118 119 ... 198
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 

Реклама