Запись в видеобуфер, проблема

Тема в разделе "WASM.BEGINNERS", создана пользователем Clipsya, 26 мар 2009.

  1. Clipsya

    Clipsya New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2009
    Сообщения:
    5
    Доброго времени суток. Вывожу BMP файл на экран в режиме 105h (1024x768 256 цв., VESA 2.0), напрямую читая секторы дискеты в видеобуфер:

    Код (Text):
    1.    mov di, 65535
    2.                    
    3.    mov ax, 0xA000      
    4.    mov es,ax             
    5.    mov bx, di          
    6.   . . . . . . .
    7.    int 13h
    Перед этим устанавливаю нужное видеоокно:

    Код (Text):
    1.    
    2.    mov dx, [ds:window]
    3.    mov bx, 0
    4.    call dword [ds:dwc]
    В [ds:window] - номер видеоокна, в [ds:dwc] - адрес процедуры, переключающей видеоокна (аналог VESA-вской 4F05h). Проблема в следующем: на весь экран получается отведено 12 банков памяти (от 0 до 11), и когда я выставляю [ds:window] 11, VMWare вылетает с ошибкой unrecoverable error. Другие видеоокна выставляет без проблем, и всё прекрасно отображается. В чём может быть причина?
     
  2. Clipsya

    Clipsya New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2009
    Сообщения:
    5
    Попробовал на других режимах - тоже самое, при указании номера банка 11 и выше возникает ошибка vmware, хотя если "руками" туда писать, а не int 13h, то всё нормально отображается. Никто не сталкивался, что это вообще за ерунда?
     
  3. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    Ну ты знаешь эти WMVARE
    используй FASM VM, входит в стандартный комплект FASM
     
  4. Clipsya

    Clipsya New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2009
    Сообщения:
    5
    Google результатов не дал, ссылку не кинешь?
     
  5. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    На сайте фасма в даунлоадсах.
     
  6. Clipsya

    Clipsya New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2009
    Сообщения:
    5
    Не нашёл я его там, но в Microsoft Virtual PC тоже не пашет.
    Видимо, проблема всё-таки в коде