User Tag List

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

Тема: Компьютер для CP/M. Формулировка ТЗ.

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

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

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

    По умолчанию

    Цитата Сообщение от Xrust
    3.1. В качестве дисплея VGA монитор...
    3.3. Идеальным было бы реализовать видеоадаптер на ВГ75.
    ВГ75 привлекает тем, что асинхронная отчего её можно питать повышенным тактом, приблизив выходной сигнал до полосы захвата VGA (не обязательно точно стандарт с частотой строк 31 КГЦ и кадров 70 ГЦ, достаточно ~25 КГЦ, чтобы мультисинк VGA монитор начал показывать). Также ВГ75 имеет атрибуты, что даёт инверсию, мигание, подчёркивание, рамки и цвет, что также привлекает потребителей.

    Но разумно ли связываться с ВГ75? Все давно знают, что это такое (по РК86). Приличный компьютер должен работать в реальном времени, без всяких ПДП рвущих прогон программы случайным образом. Что уж говорить о кодировке КОИ-7. В CP/M все программы в ASCII, т.е большие и маленькие латинские буквы. Для русских букв в 128-ми поддерживаемых ВГ75 символов, - места уже нет.

    В своё время (в конце 80-х начале 90-х) я решал ту же задачу. Но, естественно, вопрос о применении ВГ75 мной даже не рассматривался. Мне нужна была нормальная текстовая машина (в тормозных графических на такте 2 МГЦ для текстообработки я тогда уже разочаровался), что-то типа КОРВЕТА но раза в 3 проще. Я сделал несколько компьютеров с текстовым адаптером (64*25) с одним атрибутом (инверсия знакоместа). Оттого экранное ОЗУ девятибитовое (готовый 9-ти битовый отпилок экранного ОЗУ КОРВЕТА). Это идеальное решение для CP/M компьютера.

    Но затем понял, что удобнее модульность и потому сделал отдельный текстовый адаптер (30 ИМС), который работал с платкой ядра Z80 на такте 9 МГЦ (это максимум для Z80B; тогда Z80H, что разгоняется до 12 МГЦ не имел). 62256 при этом работают с одним тактом WAIT (62257-10L без WAIT). По архитектуре это - отключаемый кусок 0...3FFF, в котором до 2000 идёт ROM-BIOS и экран с 2000. В итоге для CP/M-программ есть сплошное ОЗУ 0...FFFF (на F800 по RESET кидался блок стандартных входов, что позволяло использовать ПО от отечественных БК на КР580).

    Одна такая ЭВМ с текстовым адаптером была сделана из платы СПЕЦИАЛИСТА, для чего участок платы с РУ5-тыми был аккуратно выпилен лобзиком и на это место был закреплен готовый фрагмент с 8-ю ОЗУ 565РУ2 (1К*1). Это конструктивно проще, чем целиком паять проводками весь компьютер, т.к тут уже имеем готовый видеовыход и процессорное ядро с ПЗУ и ППА клавиатуры. Из работ при этом только перепайка входов у мультиплексоров КП12 и подпайка выводов ОЗУ к буферам и КП12.

    Преимущество СПЕЦИАЛИСТА в прозрачном ОЗУ, в то время как в других моих текстовых адаптерах для синхронизации с ОЗУ работал WAIT. В отличие от ВЕКТОРА и ЛЬВОВА, приоритет по обращению к ОЗУ у меня имел не текстовый адаптер, а процессор. В ВЕКТОРЕ и ЛЬВОВЕ на синхронизации с ОЗУ теряется ровно 20% от частоты такта CPU. А при такой синхронизации торможение скорости меньше (по записи вообще без тормозов). Что, впрочем, в данном случае вообще не играет роли, т.к основное ОЗУ на РУ5 никак не тормозится. Хотя, когда в экран идёт обращение процессора, то по экрану бегают блёстки (чтобы это убрать достаточно схемки гашения видео-сигнала при обращении CPU в экран).

    Но сейчас более простой текстовый адаптер можно сделать на 6845 или 7220. На 6845 и статике это ~15 корпусов, а на 7220 чуть меньше. Текстовый адаптер на TTL-логике хоть и имеет 30 корпусов, но зато может иметь атрибуты, а эти БИС ровно 8-ми битовые, так что при КОИ-8 придётся от атрибутов отказаться или ограничиться 128-ю символами, зато с одним атрибутом инверсии знакоместа. Можно ввести коммутируемый верхний набор символов (128...255), где будут переключаться два фонта - в первом русские буквы и псевдографика, а во втором тот же стандартный ASCII набор, что и коды 0...127, но в инверсии. Тогда, по крайней мере, в системных программах, что с латинскими буквами, Вы сможете иметь инверсию знакомест. А инверсия или "high-lighting" нужна для фирменных CP/M-программ.

    С другой стороны, моно графический адаптер (хотя бы по схеме RFE, 10.1987 с экраном 512*256) обходится в тот же расход деталей, что и текстовый адаптер, но даёт и инверсию и графику. Только при этом уже нельзя ограничиться тактом в типовые 2.5...4 МГЦ, а надо разгонять CPU до 10-12 МГЦ, иначе будет тормозятина.

    Ещё один вариант не стоит сбрасывать, это использование готовой CGA-карты, а лучше HERCULES. У меня был на XT вначале CGA, но затем я поменял на Геркулес, намного качественнее шрифт, лишь пришлось перестроить частоту строк в мониторе с 15.6 КГЦ на 19 КГЦ. Причём и по играм потерь не было, т.к большинство фирменных игр работало и на Геркулесе, имитируя цвет плотностью точек (кстати бывают Hercules-Color что дают и цвет). Хотел бы поставить себе Геркулес в РК86 (если смогу достать), это решит все проблемы РК86 (ROM-BIOS при выводе символа будет одновременно писать и в экран 76D0...7FFF и в экран Геркулеса включённый на E000...EFFF). Можно использовать и EGA, - у него частота строк уже 21 КГЦ. Может быть хороший SVGA-монитор сможет синхронизироваться и на столь пониженной частоте.

    Для клавиатуры удобно поставить ППА. Тогда выбор клавиатур шире. В качестве клавиатуры удобно использовать аппаратную клавиатуру, которая даёт готовый ASCII код, сопровождаемый нулевым стробом. Тогда годится любая промышленная клавиатура из 70-х, 80-х, например 15ВВВ-97, КОНСУЛ, клавиатура ИРИШИ, клавиатура АГАТА или от APPLE-II. Если такой нет, то простейший контроллер на Z80 (SU880, что жрёт 4 мА и РФ2, а ОЗУ нет) принимает последовательные посылки от PC-клавиатуры и выдает на компьютер готовый ASCII-код. И не нужны никакие контроллеры на ПЛИС, что явно не в духе CP/M.

    Советую использовать модульность, тогда можно менять состав блоков. Блок ядра (CPU, ОЗУ, ПЗУ и порт клавиатуры). Блок внешней памяти, это КНГМД или КНЖМД (в крайнем случае, что-то типа новомодных "флэш-накопителей", что не романтично, не в духе времени). И плата внешнего текстового адаптера (что для начала может быть просто параллельный интерфейс ~12 проводков, для связи с IBM PC, что может играть роль комфортабельного терминала, и внешней массовой памяти).

    Есть у меня древняя идея, как интегрировать рэтро ЭВМ в IBM PC, чтобы использовать PC в качестве экрана при 100% совместимости со старым ПО. Прошу без насмешек, это форум, - здесь принято высказывать и обсуждать идеи.

    Для этого я предполагал использовать СПЕЦИАЛИСТ или ОРИОН, в которых шина (адреса и данные, естественно, после буферов) подключается проводами к платке ППА ВВ55, установленной в 386-тую. Самодельная платка с ВВ55 для разъёма XT, у меня есть. Кстати, позволяет подключать программатор ПЗУ от ОРИОНА к IBM PC и прошивать ПЗУ из эмулятора ОРИОНА, используя программу для прошивки УФ-ПЗУ от ОРИОНА без изменений, т.к все обращения к F600 эмулятор переадресует на реальный ППА в IBM PC).

    В схему 8-ми разрядки добавляется ловушка на адреса её экрана. По записи в экран, взводится триггер и 8-ми разрядка стопорится по WAIT. На PC простейшая программа непрерывно сканирует 1 бит в порту ППА, т.е триггер записи в экран (только записи). И как только там будет сигнал, то с ППА считываются адреса и данные с шины 8-ми разрядки, а затем выкидывается строб, сбрасывающий триггер "записи в экран", после чего 8-ми разрядка продолжает прогон своей программы, а IBM PC уходит в процедуру визуализации только что произошедшей записи в экран.

    Тут применять апп.прерывания в IBM PC не имеет смысла, т.к 386-тая быстра, - запись в экран тормознёт 8-ми разрядку всего на пару тактов. С программой для PC проблем нет, т.к это подпрограмма из моего эмулятора 1997 года (~100 строчек кода - п/п-мма визуализирующая запись одного байта в экран РК86 или ОРИОНА).

    Сложность именно в том, что нужна PC со слотами и шиной XT, т.е 386-тая (или 486-тая, где BIOS-ом можно поставить скорость слота, как у XT). Для ПЕНТИУМА я просто не знаю, как сделать самодельную периферийную платку для его слотов.

    "Плюс" такой конструкции в том, что из железа нужно лишь ядро 8-ми разрядки. "Минус" - нужна PC-шная периферийная плата с ППА ВВ55. Возможно где-то можно купить аналогичную промышленную периферийную плату для ПЕНТИУМА. При такой конструкции очень удобно писать и не "отходя от кассы" тут же проверять программы, причём это будет проверка именно в реале, а не на эмуляторе.

    Данная идея позволяет получить компьютер совместимый со всеми отечественными 8-ми разрядками (тогда схема упрощается, триггер WAIT взводится по каждой записи в ОЗУ, а оценку попадает эта запись в экран или нет, делает уже IBM PC).
    Последний раз редактировалось barsik; 13.04.2017 в 23:03.

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

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

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

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

Похожие темы

  1. Посоветуйте компьютер для сборки!
    от Demige в разделе Для начинающих
    Ответов: 16
    Последнее: 17.02.2012, 18:07
  2. Куплю FDD для Atari XL/XE или в комплекте компьютер+дисковод
    от Нrundel в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 22.01.2007, 13:06
  3. Лучший компьютер.
    от Shiru в разделе Зарубежные компьютеры
    Ответов: 12
    Последнее: 22.05.2005, 14:01

Ваши права

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