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

User Tag List

Страница 2 из 18 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 173

Тема: Компьютер "Агат-7": Реализация на ПЛИС (DE1)

  1. #11
    Member Аватар для Santechnik
    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я NMI как раз к кадровой развертке и привязал. А вот IRQ сама по себе у меня. Насколько я понял из схемы и описания она каждые 16 строк не срабатывает, а переключается с 0 на 1 и наоборот. Т.е. срабатывание происходит на каждой 32 строке. Т.е. частота в 10 раз выше, чем кадровая, что соответствует описанным 500 Гц в разной литературе. Т.к. у меня кадровая и NMI 65Гц, то если я сделаю IRQ срабатывающей каждые 96 строк (3 мои строки в одной агатовской из-за режима 1024х768), то частота будет 650 Гц. Не многовато? Вообще насколько важна привязка этого прерывания к развертке?

    ОК. Мышь делать не буду. Пульты, наверное, сделаю, но после того, как проект в целом будет готов. Существуют вообще фотки пультов?

    Ячейку 121 может быть в самом конце все же попробую прилепить. Ее придется другим клоком от основной системы запускать (35.546875 МГц вместо текущего 32.5 МГц) и надо будет подумать как их совместить. Или видеорежим вместо 65Гц сделать 59.4Гц. Интересно как это монитору понравится? Но это потом.

    Похоже я дальше не могу двигаться пока худо-бедную реализацию дисковода не слеплю... М-да. Хотел его на попозже оставить. Ну-да ладно, приступаю.
    Тогда опять вопросы Как Агатовские программы отнесутся к двум дисководам - один 140, а другой 840, если второй будет эмулироваться в ячейке скажем №5? Или лучше сделать один дисковод который будет магически превращаться из одного в другой в зависимости от образа? Мне сдается, что второй вариант еще меньше прогам понравится
    Последний раз редактировалось Santechnik; 05.07.2011 в 12:20.
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  2. #12
    Activist Аватар для GARNIZON
    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    471
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    33 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Примерно 95 процентов семерок выпушены с одним единственным флопом 140 (контроллер в 3 слоте).
    Оставшиеся проценты это когда в 3 слоте 140 флоп а в 5 слоте 840.
    Отмечу что сисмон опрашивает слоты на наличие флопа от большего к меньшему. Т.е. если 2 флопа грузится при старте будет с 840. Смысла в 840 применительно к семерке как-то не просматривается. Ну или можно сделать его отключаемым.

  3. #13
    Member Аватар для Santechnik
    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ага. Это интересно. И значительно упрощает задачу. Т.е. никакие программы на 840К не выпускались и при отсутствии этого дисковода ничего потеряно не будет?
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  4. #14
    Activist Аватар для GARNIZON
    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    471
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    33 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не совсем так. Вот развернутый ответ от моего соавтора по сайту. Он в значительной степени больше может подсказать относительно этого.

    1) NMI/IRQ: я бы попробовал отказаться от 65 Гц и давать на моник 50. Тогда бы решились все проблемы с частотами прерываний и их синхронностью с развёрткой. Есть некоторая уверенность в том, что нынешние мониторы такой режим нормально воспримут (мультичастотные 17'' CRT и многие LCD).

    Если не воспримут: программа минимум: развёртка - 65, NMI - 50 +- 1%, IRQ - 500 +- 10%.Почему ? Потому что режим совместимости видео использует очень немного программ (на семёрке, вовсяком случае), а вот опиратся на таймер в игрушках и, особенно, для воспроизведения звука - это встречается почаще. Звук, съехавший на 20% (50 -> 60) - уже будет не вовсем правильным. Хотя для большинства хрюканий в игрушках для начала сойдёт и такой. Программа максимум: выбор (переключателем или ещё как-то) комбинаций:
    - синхро = NMI = 50-
    синхро 65, NMI - 50-
    синхро = NMI = 65

    2) Флоповоды на семёрке имеют смысл оба. Но желательно, чтобы 800ка была отключаемой (иначе загрузка будет начинаться с неё [в стандартной конфиге] и чтобы загружаться со 140ки надо будет нажимать отдельные кнопки). 800ка удобна большим объёмом, если нужно свалить кучу игрушек на один образ - то 800ка предпочтительнее, мне кажется. Эмулируются оба дисковода примерно одинакого (по сложности).

    "Магическое превращение" приведёт проги в состояние легкого психоза. Операционки, которые поддерживают 140ку и 800ку, при загрузке определяют типы устройств, обычно по сигнатурам драйверов в ПЗУ. Если после этого произойдёт смена устройства без перезагрузки - драйвера просто зависнут или скажут "IO Error". Те ОС, которые поддерживают только один тип дисковода (обычно 140ку, но бываети наоборот) - тоже ищут хоть какой нибудь дисковод (предполагая, что это как раз тот, которыйони знают).

    Прог для семёрки, жестко завязанных на 800ку почти нет, но именно что "почти". Например, текстовый редактор"Автограф" мне пока не попадался в версии для 140ки, хотя я уверен, что она или была или может быть легко реализована комбинированием его исполняемых файлов и ОС.

    Независимо от реализации, 800ка заметно быстрее. Хотя бы потому, что у неё кодирование/декодированиеданных реализовано аппаратно и форматирование делается с чередованием 1, а у 140 -ки - минимум 2.

    3) Штатный тест памяти семёрки вполне плоский (модель памяти) и может быть переведён в WAV безособых проблем. Кажется, AlexBel'у я когда-то высылал архив с небольшой подборкой плоских образов для проверки эмулятора. Там тест памяти семёрки был и несколько игрушек. С комментариями, какие устройства и режимы для какой игрушки важны. Себе я эту подборку не оставлял.

    4) Мышь/джой/пульты бывают разные. Есть три варианта:-- штатный интерфейс пультов. Его игрушки активно используют. В качестве входного датчика у них переменный резистор, но его, понятно, можно крутить как напрямую (в пультах), так и джой-ручкой (тоже бывало такое, хотя в инструкциях к агату не упоминается), ну а можно и мыша приспособить - бывает весьма удобно (в железе не реализовывалось вроде бы, но в эмуляторе весьма даже). !! Игрушка Lode Runner на семёрке зависает, если подключены пульты !!

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

    -- мышь через контроллер Mouse Nippel Card. Красивая, но экзотика. Реальных прог для семёрки тоже вроде бынет. Хотя аппаратно тоже должна работать. Поэтому я бы обязательно сделал поддержку по первому пункту, а остальное - только когда всё будет законченои станет совсем скучно.

    5) Ячейку 121 - нафиг. Логичнее тогда уже полноценную девятку делать - у неё, хотя бы, режим эмуляции эпла более полный, с поддержкой LC. Но, в общем, зависит от финальной цели. А она пока не озвучена.

    6) Шрифты: видимо, небольшая партия семёрок выпускалась с полным знакогенератором. В доках про это было несколько размыто, но 96% реального софта, если даже не поддерживали маленькие/большие буквы, всё равно старались выводить на экран с установленным старшим битом. "Агат-Автор" (автономный, не в составе ИКП, но и другие версии, наверное, тоже), пытался использовать полный знакогенератор по честному. Причем он большие буквы выводил (в режиме 32x32) в инверсии, на случай, если з/г всё таки 128.

    Бейсики и сопутствующие им ДОСы семёрки довольно вольготно пользовались старшим битом в текстовых строкахи текстовых файлах. Не помню, что именно они там колбасили (тем более разные версии и части делали это по своему), но полагаться на его сохранность тут не стоит. При выводе на экран стандартными средствами (через PRINT) у HELLO-60 D7 жестко ставится в 1.

    Отладочный комплекс и редактор РАПИРы в 32x32 выводили маленькие буквы голубым, а большие - зелёным. Но почему-то в нём тоже жестко устанавливался старший бит. Если эту установку отключить (подправив код в памяти или на диске) - редактор совершенно корректно работал с полным набором 256 знаков (ну несовсем все 256, но, во всяком случае, можно было вводить и видеть и маленькие и большие буквы).

    2% реального софта (скомпилированного) выводили буквы в виде "тексТ". Т.е. последний знак большой, остальные - маленькие. Они не были расчитаны на 256, а их авторы в коде использовали макрос DCI - он последнему знаку в строке выставлял D7=1 - это такой, чисто агатовский, вариант ASCIZ. Ну и, возможно, были какие-то ещё 2% со своей придурью
    Последний раз редактировалось GARNIZON; 06.07.2011 в 11:29.

  5. #15
    Member Аватар для Santechnik
    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Огромное спасибо! Очень подробно. Теперь по пунктам:
    1) Только что попробовал уменьшить частоту развертки до 50 Гц путем изменения клока с 32.5 до 25Мгц. Ни ACER, ни Samsung LCD этого не поняли. Китайский LCD телевизор показал сильно сдвинутую картинку. Так что считаем, что этот вариант не работает. Пока я просто добавлю переключатель 65/50Гц на это прерывание, а дальше посмотрим как это будет работать.
    2) Второй флоп добавит сложности. Сделать его отключаемым не проблема. И надо ли делать возможность работы сразу с двумя флопами или просто сделать возможность выбора переключателем (до загрузки, конечно)? Есть ли еще что-то, чего нет на 140К дисках? Может если это только пара программ, то просто переделать их под 140К потом? Насчет скорости - я пока еще не разбирался с протоколом работы, но отсутствие механики должно ускорить его работу до приемлемого уровня (если конечно в драйверах все задержки жестко не прописаны). В эмуляторах вроде шустро летают. Да и вряд ли кто-то работать серьезно будет на нем, чтобы скорость стала важной.
    3) Если есть что-то в WAV, то рад буду испытать это на том, что получилось и доделать таки графику и память тестируя этими прогами.
    4) Мышь решено не делать. А вот с пультами я не понял - это физически два одноосевых пульта с кнопкой или это один двухосевой джой с двумя кнопками?
    5) Девятку делать не буду - мне 7-ка интереснее. Ячейку долой. Уговорили Цель - 7-ка. Промежуточная цель - сделать работающую версию на DE1. Окончательная цель - сделать в железе. Поэтому я и интересуюсь в том числе пультами - планирую разъем под них.
    6) Со шрифтами проблем быть не должно. Сейчас уже зашиты два знакогенератора с возможностью переключения между ними "на лету".
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  6. #16
    Veteran
    Регистрация
    30.08.2005
    Адрес
    Питер
    Сообщений
    1,212
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    38 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пульты - два одинаковых. У каждого один переменный резистор и кнопка.
    Это не джойстик и не похож.
    Собираю в коллекцию советские калькуляторы и компьютеры.
    Мой сайт: http://www.leningrad.su/museum/

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

  8. #17
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Santechnik Посмотреть сообщение
    Ни ACER, ни Samsung LCD этого не поняли. Китайский LCD телевизор показал сильно сдвинутую картинку.
    А ты бы не мог посмотреть, как будет выглядеть мой b2m_de1 на твоих мониторах? У меня тоже есть переключатель 60/50Гц. SD-карточку делать не обязательно, он по таймауту в монитор вывалится.

  9. #18
    Veteran
    Регистрация
    30.08.2005
    Адрес
    Питер
    Сообщений
    1,212
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    38 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    АГАТ? Не вывалится, если сброс не нажать.
    Собираю в коллекцию советские калькуляторы и компьютеры.
    Мой сайт: http://www.leningrad.su/museum/

  10. #19
    Veteran Аватар для KALDYH
    Регистрация
    04.02.2008
    Адрес
    Кемерово
    Сообщений
    1,591
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Santechnik Посмотреть сообщение
    1) Только что попробовал уменьшить частоту развертки до 50 Гц путем изменения клока с 32.5 до 25Мгц. Ни ACER, ни Samsung LCD этого не поняли.
    То есть частота строк при этом тоже поменялась? Мониторы к ней гораздо более критичны, если что.
    Отошёл от дел.

  11. #20
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sergei Frolov Посмотреть сообщение
    АГАТ? Не вывалится, если сброс не нажать.
    Не, не Агат, я про свою Башкирию. Просто, если моя версия 50Гц работает, то это не является невозможным

Страница 2 из 18 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Компьютер "Агат-7"
    от Exany_Babay в разделе Агат
    Ответов: 19
    Последнее: 08.06.2016, 22:37
  2. Компьютер "Агат-9"
    от AlexBel в разделе Агат
    Ответов: 10
    Последнее: 20.04.2016, 10:38
  3. Ответов: 71
    Последнее: 31.07.2014, 19:42
  4. Продам компьютер "Агат-7"
    от riogen в разделе Барахолка (архив)
    Ответов: 12
    Последнее: 05.07.2011, 22:04
  5. Куплю компьютер "Агат"
    от ed4mk в разделе Барахолка (архив)
    Ответов: 30
    Последнее: 10.05.2009, 18:18

Ваши права

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