Важная информация

User Tag List

Страница 1 из 14 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 192

Тема: Написание программ для БК0010

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,759
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    220 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Написание программ для БК0010

    А кто писал игры\системный софт для БК0010

    как там были организованы прерывания\освежение экрана?
    интересует как обычно синхронизировались игры для получения стабильной скорости?
    С уважением,
    Jerri / Red Triangle.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Activist Аватар для mbojenov
    Регистрация
    25.10.2007
    Адрес
    Москва
    Сообщений
    392
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    цитирую бкашного программера из ATLANTIS (PRS):
    "вопрос, кст, дурацкий. никто не задумывался над синхронизацией скорости. какой проц, так и бегало. и причем тут вообще обновление экрана тоже не пойму. видимо чел далек от структуры БК."

    Лично от меня - этот человек на форуме зарегиться не может, поэтому уточни вопрос, я его переспрошу.
    Последний раз редактировалось mbojenov; 25.11.2009 в 13:00. Причина: добавки
    ZX Evolution

  4. #3
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,759
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    220 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от mbojenov Посмотреть сообщение
    цитирую бкашного программера из ATLANTIS (PRS):
    "вопрос, кст, дурацкий. никто не задумывался над синхронизацией скорости. какой проц, так и бегало. и причем тут вообще обновление экрана тоже не пойму. видимо чел далек от структуры БК."

    Лично от меня - этот человек на форуме зарегиться не может, поэтому уточни вопрос, я его переспрошу.
    Естественно далек, все общение с БК ограничивалось играми в компьютерном клубе, хотя первая игрушка моя была именно на БК на бейсике написанная.

    вопрос стоит в чем: берем любую игру
    если просто перерисовывать персонажей не забивая голову
    синхронизацией скорости то скорость игры при наличии 1 персонажа и 10 персонажей на экране будет серьезно отличаться, что серьезно сказывается на играбельности

    на Спеке в есть комманда HALT и маскируемое прерывание выполняемое с одной и той же частотой 50 раз в секунду

    есть ли на БК0010 идентичные способы определения во времени? или у там нельзя определить что луч сейчас пошел на новый круг?
    С уважением,
    Jerri / Red Triangle.

  5. #4
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,852
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    171 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    на Спеке в есть комманда HALT и маскируемое прерывание выполняемое с одной и той же частотой 50 раз в секунду
    На БК-0011м тоже есть такое прерывание (по адресу 0100), маскируется определённым битом в порту 0177662. Только вот команда HALT делает кое-что другое, а аналогичная команда называется WAIT.

  6. #5
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,001
    Спасибо Благодарностей отдано 
    1,073
    Спасибо Благодарностей получено 
    1,248
    Поблагодарили
    481 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    А кто писал игры\системный софт для БК0010

    как там были организованы прерывания\освежение экрана?
    интересует как обычно синхронизировались игры для получения стабильной скорости?
    Насколько я знаю, там есть таймер, не зависящий от скорости процессора -- порты 177706, 177710, 177712.
    См. например http://pdp-11.ru/mybk/textbk/FL11M.TXT
    Но для меня остаётся загадкой как можно узнать о начале/завершении обновления экрана -- подозреваю что никак.

    ---------- Post added at 14:45 ---------- Previous post was at 14:43 ----------

    Цитата Сообщение от mbojenov Посмотреть сообщение
    "вопрос, кст, дурацкий. никто не задумывался над синхронизацией скорости. какой проц, так и бегало. и причем тут вообще обновление экрана тоже не пойму. видимо чел далек от структуры БК."
    Да, коммент конечно крайне познавательный. И полный уважения к тому же.

  7. #6
    Junior
    Регистрация
    19.10.2009
    Адрес
    г. Москва
    Сообщений
    6
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насколько я помню, в 0010 таймера не было, был лишь в 0011М, и экраны переключать можно было лишь в 0011М. Поэтому в играх было видно перерисовывание спрайтов. В последних программах для 11М графика уже была плавная, за счет нескольких видео буферов.

    Задержки по времени делали через пустые циклы.

    ---------- Post added at 13:48 ---------- Previous post was at 13:48 ----------

    Насколько я помню, в 0010 таймера не было, был лишь в 0011М, и экраны переключать можно было лишь в 0011М. Поэтому в играх было видно перерисовывание спрайтов. В последних программах для 11М графика уже была плавная, за счет нескольких видео буферов.

    Задержки по времени делали через пустые циклы.

  8. #7
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,001
    Спасибо Благодарностей отдано 
    1,073
    Спасибо Благодарностей получено 
    1,248
    Поблагодарили
    481 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ibnteo Посмотреть сообщение
    Насколько я помню, в 0010 таймера не было, был лишь в 0011М, и экраны переключать можно было лишь в 0011М. Поэтому в играх было видно перерисовывание спрайтов. В последних программах для 11М графика уже была плавная, за счет нескольких видео буферов.
    Можно ли где-то увидеть список новшеств в БК-0011М по сравнению с БК-0010(01), именно на глубоко техническом уровне, таком как функционирование портов?

  9. #8
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,210
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    608
    Поблагодарили
    400 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ibnteo Посмотреть сообщение
    Насколько я помню, в 0010 таймера не было, был лишь в 0011М.
    Был в 0010 таймер. Этот таймер вообще-то входит в состав процессора 1801ВМ1, остаточный рудимент после его переделки из микроконтроллера 1801ВЕ1.

  10. #9
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,001
    Спасибо Благодарностей отдано 
    1,073
    Спасибо Благодарностей получено 
    1,248
    Поблагодарили
    481 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ibnteo Посмотреть сообщение
    Насколько я помню, в 0010 таймера не было, был лишь в 0011М
    Вот тут статейка: http://bk0010.moy.su/publ/20-1-0-25 -- из которой можно предположить что таймер в БК-0010(01) был, но не был документирован, соответственно им и не пользовались. Может кто-либо подтведить/опровергнуть?

    ---------- Post added at 15:51 ---------- Previous post was at 15:48 ----------

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Был в 0010 таймер. Этот таймер вообще-то входит в состав процессора 1801ВМ1, остаточный рудимент после его переделки из микроконтроллера 1801ВЕ1.
    Тогда по всей вероятности, таймер должен работать с разной частотой в БК-0010 и БК-0011 -- из-за разной частоты процессора (3 и 4 МГц)?

  11. #10
    Guru Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,001
    Спасибо Благодарностей отдано 
    1,073
    Спасибо Благодарностей получено 
    1,248
    Поблагодарили
    481 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Тогда по всей вероятности, таймер должен работать с разной частотой в БК-0010 и БК-0011 -- из-за разной частоты процессора (3 и 4 МГц)?
    Похоже, я нашёл этому подтверждение.

    Цитата из Донского:
    Г. Работа с таймером

    Подробное описние таймера (счетчика времени) БК с интересными
    примерами приводится в [6] и [12]. Здесь лишь приведем простейший
    пример работы с ним и порекомендуем читателю поэкспериментировать, так
    как в БК разных заводов таймер может работать по-разному. Посмотрите,
    что получится, если вместо &O160 записать 0, &O20, &O60, &O120 и как
    зависит период Т от начального значения S0 (рис.10):

    10 POKE &O177706,32767% 'установка длительности периода S0
    20 POKE &O177712,&O160 'запуск таймера
    30 ? AT(0,0)PEEK(&O177710) 'смотрим, как он работает
    40 GOTO 30
    Рис.10. Иллюстрация работы таймера.
    Таймер работает независимо от работы программы. Содержимое счетчика
    времени определяется как результат функции PEEK(&O177710) и
    периодически уменьшается от S0 до 0 (рис.10).
    В приведенном примере при S0=32767 период счетчика Т=89,657 с [6].
    Считаем.
    89,657 сек / 32767 = 2,7362 мс на тик таймера, с учётом делителей на 16 и 4 получаем 2736,2 / 16 / 4 = 42,75 мкс на наименьший тик таймера.
    Частота процессора 3 МГц, это 0,333 мкс на такт, умножаем на 128, получаем 42,67 мкс -- довольно близко, можем считать что сходится.

    Теперь смотрим тут: http://pdp-11.ru/mybk/textbk/FL11M.TXT
    5. СИСТЕМНЫЙ ТАЙМЕР

    ТАЙМЕР СОСТОИТ:
    A. генератор с периодом 32 мкс (т.к. тактовая частота процессора
    В. делители на 4 и 16 БК-11 и БК-11М составляет 4 MHz, а
    C. реверсивный счетчик (177710) не 5 MHz, kak написано в литературе)
    D. регистр установки (177706)
    E. регистр команд и состояний (177712)

    * ДЛЯ СПРАВКИ: тактовая частота, поступающая на процессор, делится на
    128. , а потом поступает на таймер

Страница 1 из 14 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. написание простейшей демки для тренировки
    от AAA в разделе Для начинающих
    Ответов: 121
    Последнее: 22.05.2012, 18:06
  2. написание музыки на Dendy.
    от s1moncpu в разделе Nintendo
    Ответов: 27
    Последнее: 25.05.2007, 05:34
  3. написание музыки на Dendy.
    от s1moncpu в разделе Музыка
    Ответов: 2
    Последнее: 16.05.2007, 10:59
  4. Тестирование программ
    от Vitamin в разделе Программирование
    Ответов: 5
    Последнее: 23.01.2005, 21:46

Ваши права

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