User Tag List

Показано с 1 по 10 из 173

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

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    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.

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

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

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

Ваши права

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