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

User Tag List

Страница 1 из 30 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 292

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

  1. #1
    Master
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    904
    Спасибо Благодарностей отдано 
    200
    Спасибо Благодарностей получено 
    144
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

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

    Долго ходил вокруг и около темы раритетных компьютеров, но всерьез не увлекался. И с ZX, и с РК еще в школьные годы наигрался. Присматривался к ЮТ-88 со смутным желанием повторить, но уж больно он "громоздкий", много лишнего. Душа не лежит. И вот наконец нашел тему, которая зацепила. Захотелось собрать компьютер, специально "заточенный" под CP/M. Осталось только сформулировать требования и либо найти под них уже существующий проект, либо попытаться самому что-то создать.
    1. Хотелось бы использовать по возможности только "исторические" компоненты. Но это касается только самого компьютера. Периферия должна быть однозначно современная.
    2. Максимально простая схема, как можно меньше "рассыпухи". Использование БИС из микропроцессорных комплектов поощряется. Комплект к580 было бы замечательно использовать, но боюсь, в плане совместимости z80 будет гораздо лучше.
    3. Видеоадаптер.
    3.1. В качестве дисплея VGA монитор.
    3.2. Режимы видеоадаптера должны обеспечить максимальную совместимость. Как минимум монохромный текстовый режим 80х25. Применялись ли и как широко цветные текстовые режимы? Считаю необходимым иметь возможность менять кодовые таблицы знакогенератора, обязательна возможность поддержки русского. На счет графических режимов в CP/M хотел бы узнать, насколько широко они применялись, есть ли достаточное количество софта? Пока думаю, что это слишком сложная задача.
    3.3. Идеальным было бы реализовать видеоадаптер на ВГ75.
    4. Устройство хранения данных. Думаю, что SD флешки бы хватило.
    5. Клавиатура PS/2.
    6. COM порт.
    Вот пока и все, что пришло в голову.
    Жду критики, советов. Если кого тема зацепила, буду рад.

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

  3. #2
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >Максимально простая схема, как можно меньше "рассыпухи"
    Дальше не читал. Вы определитесь с требованиями.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  4. #3
    Master
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    904
    Спасибо Благодарностей отдано 
    200
    Спасибо Благодарностей получено 
    144
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Дальше не читал. Вы определитесь с требованиями.
    А что здесь вас смутило? Я же написал, что ЮТ-88 меня не вдохновил. Это требование - следствие.

  5. #4
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,668
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    Profi v3.2 -=- Speccy2010,r2

  6. #5
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1. z80, под него весь софт пойдет, к тому же требует минимум обвязки и даже может сделать refresh 64kb DRAM типа 565ру5.
    2. cp/m система из 70-х склепанная по образу и подобию rt11 и потому весь системный софт да и другой софт под нее подразумевает интерфейс общения с внешним миром по низкоскоростному каналу (типично это терминал на скорости 300...19200bps). Т.е. в теории в качестве "клавиатуры и дисплея" для cp/m компа сойдет обычный "COM-порт" на 581ва1 или 1002хл1. Графические программы под cp/м бывают 2-х типов, первый это cross-cp/m они работают с графическим терминалом примерно так же как и текстовые с текстовым (т.е. через тот же "COM-порт"), второй тип это работа с нестандартной видеокартой (тут для каждой проги надо либо добавлять спец. железо которое она хочет, либо ее модифицировать под железо которое уже есть, но это все на практике или не реально или очень сложно).
    3. z80 не имеет встроенного "монитор"-а как pdp11 потому надо лепить внешнюю схему для начального старта, самое простое это EPROM на 2кб с адреса 0 который на старте "мониторную" часть себя же скопирует в RAM и отключится.
    4. DISK - cp/m изначально работает с диском, потому обязательно нужен контроллер внешнего диска или эмулятор... тут есть 99999 решений и все они НЕ СТАНДАРТ изза того что изначально cp/m имел возможность внедрять в себя driver диска НО стандартного драйвера никогда НЕ БЫЛО. Так что надо googl-ить и искать себе подходящее решение (идельно было бы найти что-то типа контроллера MMC склепанного на 8051... идеальность тут в retro-вости контроллера, в малом количестве деталей и в "бесконечном" как для cp/m обьеме).
    5. mp/m есть такая штука, но и cp/m3 тоже работает с банками памяти, очень интересная вещь, дает многозадачность и программирование с оверлеями (прямо как на pdp11), требует изначально "заложить" в схему MAPPER-MMU, считаю хорошим (лучшим?) mapper-ом тот что в стандарте MSX!

    OFFTOP: хехехе, а вообще-то я склоняюсь к тому что развитие cp/m компов, да и самой системы, было очень ЧЕТКО подхваченно и продолженно M$-ом и ASCII в стандарте MSX/MSX2/MSX2+... так что если уж делать то MSX2+! Взять десяток вот этого:https://www.aliexpress.com/item/1pc-...608.0.0.OQha6i повесить туда z80, ay-3-8910, 580ВВ55, v9958, линейку 565ру5, 2 линейки 565ру6, ROM, контроллер ps/2 от caro и простейший fdd контроллер + китайский gotek эмуль дисковода. Все связать мгтф-ом и наслаждаться и cp/m-ом и русским языком и msxdos-ом и symbos-ом (возможно иногда zanac ex и metal gear).

  7. #6
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    тише)

    - - - Добавлено - - -

    ?. Xrust >> http://rc2014.co.uk/
    Последний раз редактировалось OrionExt; 13.04.2017 в 03:33.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  8. #7
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вот тут человек переболел примерно такой же "болезнью" )) - http://www.nedopc.org/forum/viewtopic.php?f=89&t=9155

  9. #8
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ... а я вот болею неспешно и вялотекуще, http://qsl.net/rw6hrm/html/z80.htm
    Но это для тех, кому PS/2 и ВГА по барабану.
    Последний раз редактировалось rw6hrm; 13.04.2017 в 08:10.

  10. #9
    Banned
    Регистрация
    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.

  11. #10
    Master
    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    904
    Спасибо Благодарностей отдано 
    200
    Спасибо Благодарностей получено 
    144
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну что же, проект Гранта Сирла почти полностью мне подходит. Жалко, что подключение к VGA там не реализовано.

    - - - Добавлено - - -

    barsik, ВГ75 в моем представлении не должен получать доступ к памяти процессора. Пусть себе работает со своей собственной. А процессор общается с ним как с I/O.

Страница 1 из 30 12345 ... ПоследняяПоследняя

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

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

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

Ваши права

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