Програмирование на БК

Всё что связано с БК-0010/11М
Ответить
Аватара пользователя
denison
Участник
Сообщения: 20
Зарегистрирован: 01 янв 1970, 03:00

Програмирование на БК

Сообщение denison »

 
Знатоки Языков программирования на БК, милости просим.

Ссылка:
BBcode:
HTML:
Скрыть ссылки на пост
Показать ссылки на пост

Аватара пользователя
ZonoID
Участник
Сообщения: 13
Зарегистрирован: 01 янв 1970, 03:00
Контактная информация:

Re: Програмирование на БК

Сообщение ZonoID »

 
Знаю ассемблер, бейсик, фокал.

Что будем обсуждать?

Ссылка:
BBcode:
HTML:
Скрыть ссылки на пост
Показать ссылки на пост

Аватара пользователя
Leonid
Новичок
Сообщения: 5
Зарегистрирован: 01 янв 1970, 03:00

Re: Програмирование на БК

Сообщение Leonid »

 
Знаю ассемблер, бейсик, фокал.

Что будем обсуждать?
я ТУТ ПЫТАЮСЬ СДЕЛАТЬ СКРОЛЛИНГ вниз ОПРЕДЕЛЁННОЙ ЧАСТИ ЭКРАНА БК ЧЕРЕЗ PEEK(&177664) И POKE(&177664,X) ЭКРАН СДВИГАЕТСЯ И ЗДВИГАЕТ НАЧАЛО КООРДИНАТ ВСЕХ ТОЧЕК.А КАК ЗДЕЛАТЬ ЧТОБЫ СДВИНУТЬ ИЗОБРАЖЕНИЕ НА 2 ТОЧКИ А ЗАТЕМ СВЕРХУ ПРИРИСОВАТЬ ЕЩЁ?(ВЕДЬ КООРДИНАТЫ СМЕСТИЛИСЬ ВМЕСТЕ С ИЗОБРАЖЕНИЕМ КАК БЫТЬ ТУТ), ПОТОМ СНИЗУ ВЕДЬ ЕЩЁ СТЕРЕТЬ ЛИШНЕЕ СДВИНУТОЕ НУЖНО?Подскажите как сделать скроллинг определённой части экрана только. Заранее Благодарю.Леонид

Ссылка:
BBcode:
HTML:
Скрыть ссылки на пост
Показать ссылки на пост

Аватара пользователя
FCAL
Новичок
Сообщения: 3
Зарегистрирован: 01 янв 1970, 03:00

Re: Програмирование на БК

Сообщение FCAL »

 
я ТУТ ПЫТАЮСЬ СДЕЛАТЬ СКРОЛЛИНГ вниз ОПРЕДЕЛЁННОЙ ЧАСТИ ЭКРАНА БК ЧЕРЕЗ PEEK(&177664) И POKE(&177664,X) ЭКРАН СДВИГАЕТСЯ И ЗДВИГАЕТ НАЧАЛО КООРДИНАТ ВСЕХ ТОЧЕК.А КАК ЗДЕЛАТЬ ЧТОБЫ СДВИНУТЬ ИЗОБРАЖЕНИЕ НА 2 ТОЧКИ А ЗАТЕМ СВЕРХУ ПРИРИСОВАТЬ ЕЩЁ?(ВЕДЬ КООРДИНАТЫ СМЕСТИЛИСЬ ВМЕСТЕ С ИЗОБРАЖЕНИЕМ КАК БЫТЬ ТУТ), ПОТОМ СНИЗУ ВЕДЬ ЕЩЁ СТЕРЕТЬ ЛИШНЕЕ СДВИНУТОЕ НУЖНО?Подскажите как сделать скроллинг определённой части экрана только. Заранее Благодарю.Леонид
На бейсике так (компилятора нет, пишу как помню)
FOR Y=1 TO 0 STEP-1
FOR X=1 TO 4
A%=PEEK(&O40000 + PX+X + (PY+Y)*64)
POKE(&O40000 + PX+X + (PY+y)*64 +64? A%)
NEXT X
NEXT Y
PX, PY - координаты точки
&O40000 - начальный адрес экранной области

Цикл читает байт из экранной памяти и пишет его на строку ниже. Будет перенесено 2 строки по 4 байта.
Вычислени PX + PY*64 переводит координаты точки в адрес этой точки. В одном байте отображается 8 точек для режима 512 и 4 точки для режима 256.
Писать это надо на ассемблере, оформлять через DEF USR= и далее вызывать как функцию, передавая в нее адрес начала смещения - и все будет ОК.

Ссылка:
BBcode:
HTML:
Скрыть ссылки на пост
Показать ссылки на пост

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей