User Tag List

Страница 27 из 34 ПерваяПервая ... 232425262728293031 ... ПоследняяПоследняя
Показано с 261 по 270 из 338

Тема: Ассемблер Радио-86РК

  1. #261

    Регистрация
    23.03.2020
    Адрес
    г. Великий Новгород
    Сообщений
    110
    Спасибо Благодарностей отдано 
    136
    Спасибо Благодарностей получено 
    93
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Коллеги, подскажите, как быстро и эффективно в РК-86 (точнее Апогей БК01)
    поменять вывод экрана с другой области памяти, условно с e1d0 на d1d0
    что бы обеспечить что-то вроде двойной буферизации? =)
    спс
    Последний раз редактировалось Pyhesty; 17.05.2020 в 18:37.

  2. #262

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    Коллеги, подскажите, как быстро и эффективно в РК-86 (точнее Апогей БК01)
    поменять вывод экрана с другой области памяти, условно с e1d0 на d1d0
    что бы обеспечить что-то вроде двойной буферизации? =)
    спс
    Нужно в третий канал ПДП ($f006) записать новый адрес экрана.

    Этот пользователь поблагодарил SegaBoy за это полезное сообщение:

    Pyhesty(17.05.2020)

  3. #263

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Скопировать п/п настройки ВГ75,ВТ57 и изменить в ней адрес.

    Этот пользователь поблагодарил b2m за это полезное сообщение:

    Pyhesty(17.05.2020)

  4. #264

    Регистрация
    23.03.2020
    Адрес
    г. Великий Новгород
    Сообщений
    110
    Спасибо Благодарностей отдано 
    136
    Спасибо Благодарностей получено 
    93
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Нужно в третий канал ПДП ($f006) записать новый адрес экрана.
    спасибо!
    достаточно записать примерно так?

    Код:
      lxi  h, $f006
      mvi  m, $d1
      mvi  m, $d0
    а в какой момент правильнее? сразу после получения импульса начала кадра?
    интересно, как себя ведёт контроллер, когда ему посреди кадра меняют адрес... хмм...? =)

  5. #265

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    спасибо!
    достаточно записать примерно так?

    Код:
      lxi  h, $f006
      mvi  m, $d1
      mvi  m, $d0
    Да, этого вполне достаточно.

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    а в какой момент правильнее? сразу после получения импульса начала кадра?
    интересно, как себя ведёт контроллер, когда ему посреди кадра меняют адрес... хмм...? =)
    Можно в любой момент - ждать кадровый импульс в данном случае вообще не нужно.

    Вот можете попробовать пример:
    Код:
    begin:
      lxi  h, $eaf3
      lxi  d, $d1d0
      lxi  b, 2340
    copy:
      mov  a, m
      dcx  h
      ani  01111111b
      stax d
      inx  d
      dcx  b
      mov  a, c
      ora  b
      jnz  copy
    check:
      lda  $ed02
      rlc
      rlc
      jc   key
      mvi  a, $d0
      sta  $f006
      mvi  a, $d1
      sta  $f006
      jmp  check
    key:
      rlc
      jc   check
      mvi  a, $d0
      sta  $f006
      mvi  a, $e1
      sta  $f006
      jmp  check
    Нажатие кнопок УС и СС переключает экраны.

    - - - Добавлено - - -

    Цитата Сообщение от b2m Посмотреть сообщение
    Скопировать п/п настройки ВГ75,ВТ57 и изменить в ней адрес.
    Если нужно создать два-три или более одинаковых по параметрам экранов, но находящихся по разным адресам в памяти, а потом быстро переключаться между ними, то менять настройки ВГ75 и ВТ57 целиком не выгодно. Проще и быстрее посылать в третий порт ПДП адрес нового экрана.
    Вложения Вложения
    Последний раз редактировалось SegaBoy; 17.05.2020 в 20:39.

    Этот пользователь поблагодарил SegaBoy за это полезное сообщение:

    Pyhesty(18.05.2020)

  6. #266

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    Код:
      lxi  h, $f006
      mvi  m, $d1
      mvi  m, $d0
    Только надо «ногами вперёд», точнее младшим байтом

    - - - Добавлено - - -

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    а в какой момент правильнее? сразу после получения импульса начала кадра?
    интересно, как себя ведёт контроллер, когда ему посреди кадра меняют адрес... хмм...? =)
    Регистры канала 3 контроллера ПДП хранят значения для канала 2. Обновление данных в канале 2 значениями из канала 3 происходит уже после окончания текущего цикла ПДП, в момент получения нового запроса от ВГ75.
    Можно рассмотреть такой сценарий - пока происходит отображение буфера 1, можно сколь угодно долго вычислять и заполнять буфер 2. Когда все манипуляции закончены, то устанавливаем в канал 3 контроллера ПДП адрес буфера 2. После этого можем подождать кадровый синхроимпульс и начать заполнять буфер 1.
    Последний раз редактировалось SegaBoy; 18.05.2020 в 03:53.

    Этот пользователь поблагодарил SegaBoy за это полезное сообщение:

    Pyhesty(18.05.2020)

  7. #267

    Регистрация
    23.03.2020
    Адрес
    г. Великий Новгород
    Сообщений
    110
    Спасибо Благодарностей отдано 
    136
    Спасибо Благодарностей получено 
    93
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Нажатие кнопок УС и СС переключает экраны.

    - - - Добавлено - - -

    Если нужно создать два-три или более одинаковых по параметрам экранов, но находящихся по разным адресам в памяти, а потом быстро переключаться между ними, то менять настройки ВГ75 и ВТ57 целиком не выгодно. Проще и быстрее посылать в третий порт ПДП адрес нового экрана.
    чувак, ты крут! спасибо за пример! работает =)))
    ps: пример прикольный =)

    - - - Добавлено - - -

    может кому-то будет интересно, пробовал быстро что-то вывести на экран,
    уперся в "простую" проблему - не могу быстро очистить экран, в итоге перебрал разные
    вариант, нашел не самый очевидный (хотя может быть это с моей точки зрения самоучки, он не очевидный)
    этот метод раз в пять быстрее, чем очистка путем прямой записи в память

    собственно, в чем вопрос, может быть есть более простые способы быстрой очистки экрана?
    спс

    Код:
    clear_screen:   
       lxi  h, 0
       dad  sp
       shld sp_temp         ; сохраняем позицию sp
       lhld vid_end_addr  ; грузим позицию конца кадра в адрес sp
       sphl  
       lxi  h, $2020   ; грузим пробелы в hl
       mvi  b, 15      ; количество строк 30/2 = 15
    clr_scr0   
       mvi  c, 9       ; элементов в строке 72/8=9
    clr_scr1
       push h          ; зачищаем одной командой два байта...
       push h          ; зачищаем одной командой два байта...
       push h          ; зачищаем одной командой два байта...
       push h          ; зачищаем одной командой два байта...
       push h          ; зачищаем одной командой два байта...
       push h          ; зачищаем одной командой два байта...
       push h          ; зачищаем одной командой два байта...                  
       push h          ; зачищаем одной командой два байта...                     
       dcr c
       jnz clr_scr1   ; вот этот прыжек съедает кучу тактов почему-то, приходится "расширять" тело цикла, что реже приходилось прыгать
       dcr b
       jnz clr_scr0
       lhld sp_temp    ; восстанавливаем sp
       sphl
       ret

  8. #268
    HardWareMan
    Гость

    По умолчанию

    Pyhesty, в Специалисте это было испокон изначально:

    Этот пользователь поблагодарил HardWareMan за это полезное сообщение:

    Pyhesty(18.05.2020)

  9. #269

    Регистрация
    23.03.2020
    Адрес
    г. Великий Новгород
    Сообщений
    110
    Спасибо Благодарностей отдано 
    136
    Спасибо Благодарностей получено 
    93
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    нормально =))) очередное изобретательство велосипедов =)
    спс, ну значит у меня норм вариант =)
    ps: я не знаю как раньше что-то разрабатывали без эмуляторов ) это же просто ужас,
    так ты что ли на листочке считать...
    pss: кстати, а где можно почитать про сколько тактов частоты процессора (я так понимаю 1.7МГц) на команду?
    и сколько времени идёт чтение одного байта команды? я так понимаю, он вычитывает один байт команды, смотрит
    однобайтовая или нет, читает следующий байт (и так до трех), потом выполняет? сколько читается один байт по адресу PC?
    если это команда между регистрами, то все одинаково выполняются? а если с записью/чтением в память?
    я понимаю, что это азы ) но букваря под рукой нет )

  10. #270

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну посчитаешь. И? Из подсчитанного плюс процентов 30? на пдп докидывать надо, елси экран не погашен. Так что неблагодарное это дело. А растактОвка в известных цветных таблицах должна быть.
    Например
    Последний раз редактировалось zebest; 18.05.2020 в 13:22.
    Profi v3.2 -=- Speccy2010,r2

    Этот пользователь поблагодарил zebest за это полезное сообщение:

    Pyhesty(18.05.2020)

Страница 27 из 34 ПерваяПервая ... 232425262728293031 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. РАДИО-86РК на Z80
    от Vladimir_S в разделе Радио-86РК
    Ответов: 310
    Последнее: 06.06.2017, 21:13
  2. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  3. Радио 86рк на AVR
    от PWA в разделе Радио-86РК
    Ответов: 6
    Последнее: 10.06.2013, 13:01
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •