|
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
|
|
Переключение видеостраниц при нажатии левой кнопки мыши15.02.2011, 00:59. Показов 6808. Ответов 6
Метки нет (Все метки)
Доброе время суток, помогите в разработке следующей программы, заранее спасибо:
1. Заполнить i-ю страницу видеопамяти символом xi (x0 = 'a', x1 = 'b'и т.д.) с различными атрибутами на каждой странице. Обеспечить переключение видеостраниц при нажатии левой кнопки мыши.
0
|
|
| 15.02.2011, 00:59 | |
|
Ответы с готовыми решениями:
6
Переключение видеостраниц при нажатии левой кнопки мыши Нажатием левой кнопки мыши выбирать и запоминать цвет, при нажатии правой кнопки мыши - устанавливать выбранный цвет При нажатии левой кнопки мыши нарисовать белую точку |
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||||||
| 15.02.2011, 05:42 | ||||||
|
Hidalgo08, для начала немного теории:
1) для переключения видеостраниц используется Функция 05h прерывания 10h: установить текущую видеостраницу: Вход: AH =05h AL=видеостраница 2) в текстовом режиме как правило работают в 3-ем видеорежиме 80х25 символов 3) под текстовый видеобуфер отведено B8000h - A0000h = 18000h = 98304 байт 4) символ в видеобуфере занимает 2 байта = 1 байт под атрибут + 1 байт под код символа теперь считаем: 1) 98304/2=49152 символов можно разместить в видеобуфере 2) 80*25=2000 +48 = 2048 символов на одной видеостранице 3) 49152/2048=24 страницы, но в режиме эмуляции DOS под Windows XP удалось вывести только 8 страниц, хз, может быть в реальном DOS'e и 24 страницы - эксперементируй теперь заполняем видеобуфер, чтобы на каждой странице было по разному символу
1
|
||||||
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
| 15.02.2011, 07:01 | |
|
Mikl___, я почему-то считал, что адреса текстовой видеопамяти располагаются от B8000 до С0000. 32 килобайта, 8 видеостраниц.
1
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
||||||
| 15.02.2011, 08:44 | ||||||
|
Vadimych, не спорю, херню спорол (excusez-moi)
3) под текстовый видеобуфер отведено C0000h - B8000h = 8000h = 32768 байт 4) символ в видеобуфере занимает 2 байта = 1 байт под атрибут + 1 байт под код символа теперь считаем: 1) 32768/2=16384 символов можно разместить в видеобуфере 2) 80*25=2000 +48 = 2048 символов на одной видеостранице 3) 16384/2048=8 страниц А это полный вариант с задействованной мышью, гоняет видеостраницы по кругу, пока не нажмут на клавиатуру
1
|
||||||
|
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
|
||||||||||||||||||
| 16.02.2011, 01:20 [ТС] | ||||||||||||||||||
все работает, исправил). всем спасибо Добавлено через 5 часов 9 минут немного переделаная программа , выкладываю:
0
|
||||||||||||||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 16.02.2011, 04:14 | |
|
Hidalgo08, в старых программах использовали стандартные директивы сегментации. Их как раз ты и используешь
Data SEGMENT PARA PUBLIC 'Data' USE16 ... Data ENDS Code SEGMENT PARA PUBLIC 'Code' USE16 ASSUME cs:Code, ds: Data, es: Data ... code ENDS а сейчас везде используются упрощенные директивы сегментации .code - сегмент кода .stack [размер] - сегмент стека .data - сегмент данных правда для упрощенных директив сегментации необходимо в начале файла указывать модель памяти Модель | Тип кода | Тип данных | Назначение модели TINY | near | near | Код и данные объединены в одну группу с именем DGROUP. Используется для создания программ формата .com. SMALL | near | near | Код занимает один сегмент, данные объединены в одну группу с именем DGROUP. Эту модель обычно используют для большинства программ на ассемблере MEDIUM | far | near | Код занимает несколько сегментов, по одному на каждый объединяемый программный модуль. Все ссылки на передачу управления — типа far. Данные объединены в одной группе; все ссылки на них — типа near COMPACT | near | far | Код в одном сегменте; ссылка на данные — типа far LARGE | far | far | Код в нескольких сегментах, по одному на каждый объединяемый программный модуль
1
|
|
|
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
|
|
| 19.02.2011, 15:39 [ТС] | |
|
0
|
|
| 19.02.2011, 15:39 | |
|
Помогаю со студенческими работами здесь
7
При нажатии левой клавиши "мыши" отразить курсор в левой половине экрана, а при нажатии правой - в правой Ограничить передвижение курсора мыши левой нижней четвертью экрана.При нажатие левой клавиши мыши выключить индикатор NumLock(+Звук),при нажатие право Вывод и удаление символа в координатах курсора мыши при нажатии на кнопки мыши Изменение курсора мыши при нажатии на кнопки мыши Работа с мышью: вывести квадрат нажатием левой кнопки мыши и спрятать его нажатием правой кнопки мыши Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|