Помощь - Поиск - Пользователи - Календарь
Полная версия: BMP формат: помогите с чтением...
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ассемблер
Dark
Имея любой BMP >65536 ,я хотел бы вывести его на экран; но паскаль не позволяет читать большее кол-во (токо 65535) >:( по частям читать не хочу... пишу всю эту бодягу на асме в паскале. Предложите что нибудь... :D. Потом может вывешу эту прогу здесь.
GLuk
Программируй контроллер ЖД (он все равно за раз выдаст тебе инфы на размер сектора) если уж так не прет. И читая 64K данных выдача инфы все-равно делится на куски...
Так что предлагаю INT 21,3F (дескрипторы) или через FSB, или BIOS или котроллер ЖД... а получить более 65535 байт и не жди...
Dark
Да я и говорю - ПОЛНОСТЬЮ на асме, т.е. и процедуры чтения произвольного файла(а не как у Shadow - одного ;D) с проверками, с измерением размера файла... а буфер больший, чем 65535 моно забабахать?!!!!!!!!!!!
Ivan
Что именно ты хочешь?
Если просто вывести всю картинку на экран, то зная ширину и высоту промасштабируй ее, а затем прямым доступом к файлу считай каждый бит и сразу же рисуй картинку на экран.

Просто объясни, что именно ты хочешь?
Dark
Извиняюсь за возможные неясности, но мне например надо считать бэкграунд для игры в память, наверное придется разбивать его на несколько поинтеров, но это не очень удобно, если есть идеи то пожалуйста предлагайте... хотя я уже добрался до возможности использования EMM...
GLuk
EMM даже не трогай, разбери его только для общего понимания или используй чужой модуль. Стандарт уже настолько устаревший, что думать о его возможностях и способах реализации просто ПРЕСТУПНО!!
Protected Mode - FOREVER!!!
Dark
Да нет, Emm это просто, а PM десвительно надо позаниматься...
А так, Emm я уже для практики использовал...
FreeMan
Цитата
EMM даже не трогай, разбери его только для общего понимания или используй чужой модуль.

Имхо, если юзать чужой модуль, то это легче, чем прыжок в PM "своими руками". Хотя РМ даёт огромные возможности, только его стандартным паскалем трудно фигачить, надо все в опкодах забивать.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.