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

User Tag List

Страница 68 из 81 ПерваяПервая ... 646566676869707172 ... ПоследняяПоследняя
Показано с 671 по 680 из 810

Тема: ZX Spectrum: аппаратная реализация на восьми микросхемах

  1. #671

    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    716
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Elite доходит до этого места и больше не реагирует на клавиатуру. Zexall запускаю.

  2. #672

    Регистрация
    03.05.2007
    Адрес
    St. Petersburg
    Сообщений
    297
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lisitsin Посмотреть сообщение
    Elite доходит до этого места и больше не реагирует на клавиатуру.
    1) Разряды 7, 6 и 5 портов клавиатуры (те, что не соответствуют никаким клавишам) у вас возвращаются взведенными или сброшенными?

    2) Все ли инструкции ввода поддержаны? IN A, (n), IN r, (C)/IN (C) -- все они должны уметь опрашивать клавиатуру.
    Higgins ZX Spectrum Emulator 8.10 alpha 3 available
    Please write us to report a bug or request a feature.

  3. #673

    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    716
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Higgins Посмотреть сообщение
    1) Разряды 7, 6 и 5 портов клавиатуры (те, что не соответствуют никаким клавишам) у вас возвращаются взведенными или сброшенными?

    2) Все ли инструкции ввода поддержаны? IN A, (n), IN r, (C)/IN (C) -- все они должны уметь опрашивать клавиатуру.
    Разряды 7 и 5 взведены постоянно, а шестой соответствует сигналу магнитофона, но за полярность я не отвечаю. Так что может читаться и как ноль. Я в него копирую старший разряд десятиразрядного аналого - цифрового преобразователя микропроцессора, который подключен к шестому порту. Так что если сигнал на этой ноге ниже 2,5 В - там ноль, в противном случае единица.

    Все команды IN опрашивают клавиатуру в том случае, если младший разряд адреса порта равен нулю. Иначе возвращается #FF.
    Последний раз редактировалось Lisitsin; 15.05.2011 в 13:19.

  4. #674

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lisitsin Посмотреть сообщение
    Разряды 7 и 5 взведены постоянно
    а должен быть D5 в нуле. Кроме того D6 на ZX48 и ZX128 (не +2, +3) - это функция того, что записано в порт бордюра #FE. На ZX48 начиная с Issue3, если в D4=1 #FE, то из D6 читается единица всегда, вместо сигнала магнитофона. На этом построена защита некоторых программ, которые вешаются, если не так.
    Последний раз редактировалось Black_Cat; 16.05.2011 в 12:01.

  5. #675

    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    716
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от БК-0010 Посмотреть сообщение
    Кроме того D6 на ZX48 и ZX128 (не +2, +3) - это функция того, что записано в порт бордюра #FE.
    А что именно за функция? Какой-то разряд цвета бордюра? А что тогда отведено магнитофону, если шестой разряд отражает состояние бордюра?
    Последний раз редактировалось Lisitsin; 15.05.2011 в 13:31.

  6. #676

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lisitsin Посмотреть сообщение
    Так что если сигнал на этой ноге ниже 2,5 В - там ноль, в противном случае единица.
    не так, для TTL логики единица - это от 2V и выше, а 0 - от 0,8V и ниже.

    ---------- Post added at 13:29 ---------- Previous post was at 13:28 ----------

    Цитата Сообщение от Lisitsin Посмотреть сообщение
    А что именно за функция? Какой-то разряд цвета бордюра?
    я ж написал:

    Цитата Сообщение от БК-0010 Посмотреть сообщение
    если записано в D4=1 #FE, то из D6 читается единица всегда, вместо сигнала магнитофона. На этом построена защита некоторых программ, которые вешаются, если не так.


    ---------- Post added at 13:40 ---------- Previous post was at 13:29 ----------

    Кроме того, D3 #FE управляет чувствительностью читалки магнитофона:
    D3=0 - низкая чувствительность
    D3=1 - высокая чувствительность
    Кроме того оба эти разряда образуют нелинейный 2х битный ЦАП, и сигнал на спикере насамделе имеет 3 уровня амплитуды, но цена разряда D3 очень маленькая, поэтому это на слух без нелинейного усилителя не различить. Но на отечественных клонах это уже более заметно, а в Фениксе цена разряда D3=0,5 D4. Советую сделать так же если есть возможность. На совместимости это не скажется.
    Кроме того, если есть возможность - желательно вывести эти разряды на отдельные ноги, как в большинстве рассыпушных отечественных клонов, чтоб можно было получать биперное стерео.
    Последний раз редактировалось Black_Cat; 15.05.2011 в 13:44.

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

  8. #677

    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    716
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от БК-0010 Посмотреть сообщение
    не так, для TTL логики единица - это от 2V и выше, а 0 - от 0,8V и ниже.[COLOR="Silver"]
    Спасибо за консультацию !

    Про ТТЛ я пока ещё не забыл. Просто у меня сделано так:
    На ножке микросхемы, которая отведена магнитофону, у меня пол питания (2,5 В). К этой ножке подводится через разделителбную ёмкость сигнал магнитофона (уровень линейного выхода). внутри AVR к этому выводу подключен 10-разрядный АЦП таким образом, что 5 В соответствует цифра 1023. Таким образом, копируя старший разряд АЦП в шестой разряд порта, я получаю ноль для низкого уровня сигнала магнитофона (отрицательная полуволна), а единицу для высокого (положительная полуволна).

  9. #678

    Регистрация
    03.05.2007
    Адрес
    St. Petersburg
    Сообщений
    297
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lisitsin Посмотреть сообщение
    Разряды 7 и 5 взведены постоянно, а шестой соответствует сигналу магнитофона, но за полярность я не отвечаю. Так что может читаться и как ноль. Я в него копирую старший разряд десятиразрядного аналого - цифрового преобразователя микропроцессора, который подключен к шестому порту. Так что если сигнал на этой ноге ниже 2,5 В - там ноль, в противном случае единица.

    Все команды IN опрашивают клавиатуру в том случае, если младший разряд адреса порта равен нулю. Иначе возвращается #FF.
    Пусть будет так.

    Еще вопрос: случаи, когда сразу несколько разрядов в старшей половине адреса клавиатурного порта сброшены обрабатываются правильно?
    Higgins ZX Spectrum Emulator 8.10 alpha 3 available
    Please write us to report a bug or request a feature.

  10. #679

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    терь понятно, это вход АЦП. Вот кстати D3 как раз смещает среднюю точку в АЦП, правда я не слышал, чтоб это где-то использовалось, а можно было-бы сделать простейший программный 2х битный АЦП последовательного приближения

  11. #680

    Регистрация
    05.09.2010
    Адрес
    г. Рязань
    Сообщений
    716
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Higgins Посмотреть сообщение
    Еще вопрос: случаи, когда сразу несколько разрядов в старшей половине адреса клавиатурного порта сброшены обрабатываются правильно?
    Я надеюсь, правильно: уж много я на это сил и времени потратил. За это у меня отвечает клавиатурный контроллер.
    Но подробного теста не делал. Правда тут уменя ещё одна проблемка всплыта: дочка залила тут клаву компотом, ту, на которой я отрабатывался. Она работала как часы и не сбоила ...
    А у других клав что-то сбои частенько бывают: при отпускании клавиши может не заметить префикс f0 и думает, что клавиша ещё нажата - включается автоповтор. Прийдётся ещё потрудиться ...
    Последний раз редактировалось Lisitsin; 15.05.2011 в 14:08.

Страница 68 из 81 ПерваяПервая ... 646566676869707172 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. реализация JavaScript-a на ZX-Spectrum-48k
    от bigral в разделе Программирование
    Ответов: 4
    Последнее: 10.01.2010, 12:02
  2. Аппаратная эмуляция GS/TFM/AY
    от Black_Cat в разделе Эмуляторы
    Ответов: 34
    Последнее: 03.05.2008, 23:34

Ваши права

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