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

User Tag List

Страница 21 из 34 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя
Показано с 201 по 210 из 338

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

  1. #201
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от norduk
    Так в итоге, tape_out - это у нас что, ещё один однобитный канал?
    Точно так.

    Так можно получить программных 2 голоса и ещё один аппаратный из ВИ53 по схеме И.Крыловой из ж.РАДИО (11.1987). Для отмера временных интервалов (длительности нот - 1/2, четверть, 1/8-мая...) удобно использовать ВИ53, "читая на лету" из низкочастотного канала состояние счётчика, что даёт привязку к реальному времени без всяких прерываний.

    Это если только в РК86 получается "чтение на лету". В ОРИОНЕ в 1992 у меня это не получилось, когда я хотел всего лишь написать аппаратные часы. Или ума не хватило или в ОРИОНЕ для ВИ53 такт слишком быстрый (ВИ53 рассчитан на 2 МГЦ). Если это не работает и на РК86, то если не пожалеть кусок проволоки, можно читать таймер через бит светового пера ВГ75.

    Но если клавиатура родная (не MS7007), то есть и третий программный канал (свободный бит ППА уже запрограммированный на вывод), если не пожалеть один дополнительный резистор.

    Два или даже три программных канала "не сделают погоду", а вот возможность иметь "вибрато" или формировать 2 уровня громкости, более ценно. Достаточно увеличить токоограничивающий резистор в цепи базы выходного эмиттерного повторителя и разориться на резистор идущий от бита TAPE OUT (если МНИП PC0) в базу этого транзистора.

    Но сегодня у любителей ВИ53 праздник, т.к я наконец догадался как ввести нормальные возможности генерации звука из ВИ53. Так как это сделано в ПК11/16 (Союз-Неон), который на ВИ53 играет как оркестр. Думать пришлось целых 25 лет, но в итоге есть решение.
    Последний раз редактировалось barsik; 10.12.2017 в 22:34.

  2. #202
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,165
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    428
    Поблагодарили
    175 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    norduk, конечно, речь идет об оригинальной схеме подключения ВИ53 из журнала.
    2 и 3 каналы таймера на РК могли использоваться как программируемый одновибратор, определяющий длительность звука, запрограммированного первым каналом. То есть после задания частоты и длительности о таймере можно забыть - звук сам прекратится по истечении нужного времени (подробности см. в схеме подключения в журнале). В Апогее же забота о длительности ложится на процессор, который в нужный момент должен перепрограммировать таймер.

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

    По умолчанию

    Тут такой момент. Зачем задавать вместе частоту и длительность? Это будет какой-то одиночный тон? Если это набор звуков или музыка, то частоту (а с нею и длительность) придётся выставлять регулярно (до полного прекращения звучания сэмпла). Тогда какой смысл в том что одиночный тон прекратится сам? Ведь нам нужно будет далее воспроизвести следующий тон, а значит по-любому придётся обратиться к таймеру. А если обратились, то можем и сами отключить предыдущую частоту.
    ВГ75 выставляет флаг IR 50 раз в секунду - этого вполне хватает чтобы вовремя включать/выключать частоту сразу у трёх каналов ВИ53.

  4. #204
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Зачем задавать вместе частоту...
    ВГ75 выставляет флаг IR 50 раз в секунду
    Зачем задавать частоту - это вопрос к Pyk, а меня заинтересовала фраза про чтение флага IR из ВГ75. Если это работает, то это бесплатно даёт в РК86 аппаратный таймер. Если это работает, то легче делать музыку для базового РК86, чем для базового СПЕЦИАЛИСТА без прерываний.

    Что это уже использовалось в музыкальных программах РК86 ?

    Потому-что не имея какого либо аппаратного "костыля", оценку реального времени, т.е отмеривание звучания дительности ноты, приходится делать программно.

    Для одногосицы в случае, когда одноголосная мелодия играет при стоп-экране, считать время не проблема. Для этого табличным методом по заданной частоте (т.е константе временнОй петли) вычисляем число периодов, обеспечивающее нужную длительность тона и запускаем программу выдачи меандра. А вот когда идёт двух или трехголосная мелодия или музыка играет во время движения спрайта, вот тогда начинается настоящее мастерство программиста. Не встречал РК-программ, где программная музыка играет как фон игры, а программное многолосие встречал.

    Программную трёхголосную мелодию даёт MUSICBOX и муз.редактор СПЕЦИАЛИСТА. Кстати MUSICBOX на РК86 из-за ПДП даёт паршивый хриплый звук, а на СПЕЦИАЛИСТЕ и ОРИОНЕ, где ПДП отстутствует как класс, MUSICBOX звучит лучше.
    Последний раз редактировалось barsik; 10.12.2017 в 23:43.

  5. #205
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,633
    Спасибо Благодарностей отдано 
    384
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Но сегодня у любителей ВИ53 праздник, т.к я наконец догадался как ввести нормальные возможности генерации звука из ВИ53.
    Малость запоздалый праздник. Любители ВИ53 посообразительней уже в 1987 году приспособили все три канала ВИ53 для полифонии, как минимум на лабораторных стендах кафедры ВТ ЛЭТИ.

  6. #206
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23
    на лабораторных стендах кафедры ВТ ЛЭТИ ещё в 1987 году приспособили все три канала ВИ53 для полифонии
    Вопрос не в том, чтобы как-то приспособить ВИ53 для генерации звуков. Об этом догадались авторы ИРИШИ ещё в 1984 году.

    А вопрос в том, чтобы сделать это так, чтобы играло не хуже, чем играет AY-8912. А от просто гуделки, даже если она трехканальная - проку немного.

    Из всех отечественных ЭВМ только единственный ПК11/16 (Союз-Неон), которых, к сожалению, завод в 1992 выпустил всего несколько сотен экзампляров, может похвастаться, что в нём ВИ53 применён профессионально грамотно. Во всех остальных промышленных и любительских ЭВМ микросхема ВИ53, стоИт просто как генератор меандра. Потому ПК11/16 играет как AY-8912, а от всех остальных вянут уши.

    Не хотел выдавать секрет раньше срока. Да, ладно уж, только для Вас объясню, почему сегодня праздник у всех фанатов ВИ53, т.е раскажу, как хочу заставить ВИ53 нормально воспроизводить музыку. Но это большой секрет, никому больше не рассказывайте.

    В ВИ53 есть режим одновибратора по фронту. Принцип регулировки громкости и тембра заключается в широтно импульсной модуляции, т.е в изменении скважности меандра, точнее импульсов. Правильный меандр со скважностью 2 даёт максимальную громкость тона. А если выдавать с той же частотой лишь короткие импульсы, то после сглаживания небольшой ёмкостью возникает совсем тихий звук. Т.е меняя ширину импульсов мы меняем тембр и громкость.

    На вход 2-х каналов идёт максимально допустимый такт (2 МГЦ). Первый канал даёт меандр, а второй канал запускает одновибрацию по переднему фронту. И программно управляемо отмеряет длительность проходящего на динамик импульса, укорачивая время в течение которого с выхода первого канала проходит единица.

    Так формируется атака, затухание и вибрато. Отчего воспроизводимый звук становится похож на звук рояля или гитары. И таким образом, скоро наконец, я смогу слушать Баха, Бетховена, Моцарта и Вивальди. К сожалению, для 3-х голосия надо две ВИ53. В ПК11/16 не поскупились, поставили эти две ВИ53 и получили отличный результат.

    Но даже, если есть всего одна ВИ53, то получается два голоса. Канал 0 даёт тон, канал 1 его одновибрирует, а канал 2 просто гудит, даёт меандром со скважностью 2 второй голос (разумно сделать его потише, как второстепенный).
    Последний раз редактировалось barsik; 10.12.2017 в 22:39.

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

    По умолчанию

    Я, ради интереса, переделал Boulder Dash для Апогея, что бы он не на tape out выводил, а на свободный канал ВИ53. Ещё и частоту видео поправил, а то мой телевизор изначальный режим не тянул. Если интересно, то могу поискать, хотя не уверен, что сохранил.

  8. #208
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от uart Посмотреть сообщение
    Я, ради интереса, переделал Boulder Dash для Апогея, что бы он не на tape out выводил, а на свободный канал ВИ53. Ещё и частоту видео поправил, а то мой телевизор изначальный режим не тянул. Если интересно, то могу поискать, хотя не уверен, что сохранил.
    Разумеется, интересно.

  9. #209
    R.I.P.
    Регистрация
    17.08.2013
    Адрес
    г. Москва
    Сообщений
    965
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пытаюсь запрограммировать ВВ55. Висит на портах 0A00xH. Разобрался, что работает в трёх режимах 0,1,2.
    Разобрался, что мне нужен 0. Также, кажется, разобрался с инициализацией управляющего слова и каналов.
    Решаю простейшую задачу: получить на выходах канала А лог. 1
    Делаю так:

    Скрытый текст


    lxi HL, 0A003h ;в регистр управляющего слова
    mvi M, 080h ;записываю 1000 0000 (режим 0, все каналы на вывод)

    lxi HL, 0A000h ;в канал A
    mvi M, 0FFh ;пытаюсь писать FFh
    [свернуть]


    На выходы A ничего не приходит. Что я делаю не так?

  10. #210
    Guru Аватар для Vladimir_S
    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,507
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от norduk Посмотреть сообщение
    Что я делаю не так?
    А на порту у тебя ничего не висит?

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

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

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

Эту тему просматривают: 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

Ваши права

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