Аюша-Z80 - СР/М-совместимый комп

ЭВМ и ПЭВМ, производившиеся в СССР и странах СЭВ
rw6hrm
Advanced Member
Сообщения: 952
Зарегистрирован: 17.02.2008,16:07
Откуда: Ставрополь
Контактная информация:

Аюша-Z80 - СР/М-совместимый комп

Сообщение rw6hrm » 27.07.2018,11:42

...а вот захотелось иметь для повседневной работы СР/М-совместимый компьютер. Брать старовыпущенный не захотелось по причинам цен, размеров, древности носителей и неоднозначности стабильной работы. Решил собрать сам. Неспешно пару лет угрохал, зато теперь имею и использую в работе ;) WordStar, DBase, BBCBASIC, SuperCalc и многое другое. Тихий, без вентиляторов, с мгновенной готовностью к работе, некоторая замена Ардуины, в одном корпусе вместе с клавиатурой.
Z80, 64К ОЗУ, 4х16К ПЗУ (использованы две страницы), 128М дисковой памяти на CF (16 логических дисков, возможно использование IDE HDD или SD/MMC через переходник), СОМ-порт, встроенный видеоадаптер без видеочипов в чистом виде, выход на ТВ.
Результат работы кратко описан тут, http://www.qsl.net/rw6hrm/html/z80.htm
Фото для привлечения внимания http://www.qsl.net/rw6hrm/pics/cpmz80.jpg
Просто решил поделиться, без меркантильного интереса. Всем добра и котиков.
http://qsl.net/rw6hrm - Мои поделки

rw6hrm
Advanced Member
Сообщения: 952
Зарегистрирован: 17.02.2008,16:07
Откуда: Ставрополь
Контактная информация:

Сообщение rw6hrm » 06.08.2018,11:26

Кстати говоря, никто не в курсе, как пропатчить DDT, чтобы он не забирал прерывание по адресу 0038Н на себя? Перевести его на 003ВН хотя бы... А то, насколько я понял, связка ВВ51+Z80 в режиме прерываний IM2 не работает.

<SIZE size="85"><s></s>Да, не поставил Z80SIO, ибо начался бы новый вой на тему "не достать"<e></e></SIZE>
http://qsl.net/rw6hrm - Мои поделки

Korchagin
Advanced Member
Сообщения: 573
Зарегистрирован: 04.04.2015,13:35
Откуда: Понемногу отовсюду

Сообщение Korchagin » 12.08.2018,19:48

В Аюше все вектора маскируемых прерываний заняты? Может, лучше будет клавиатуру с 38Н на другой вектор перекинуть? Иначе надо будет дизассемблировать DDT в IDA Pro (древние версии точно умеют CP/M и Z80), искать кусок кода переопределения вектора 38Н при старте и завершении программы, а также все внутренние вызовы по этому вектору. А там уже думать, как изменять код.

rw6hrm
Advanced Member
Сообщения: 952
Зарегистрирован: 17.02.2008,16:07
Откуда: Ставрополь
Контактная информация:

Сообщение rw6hrm » 12.08.2018,21:14

В режиме IM1 используется только один вектор прерываний - 0038Н. Исходники DDT есть, можно пересобрать, вот только исходники состоят из трёх частей, а как их собрать в одну - вот то не знаю. Пока.
Сейчас думаю, как всё же использовать режим прерываний IM2, вот только и клава, и особенно ВВ51, о таком режиме ни сном, ни духом (а z80SIO ставить не стал, ибо опять же был бы вой на тему, что не достать). Но пробую, мож быть и победю :)
http://qsl.net/rw6hrm - Мои поделки

Korchagin
Advanced Member
Сообщения: 573
Зарегистрирован: 04.04.2015,13:35
Откуда: Понемногу отовсюду

Сообщение Korchagin » 12.08.2018,22:31

Z80SIO можно надергать из роботроновских картриджей интерфейсов типа IFSS. Для одного компьютера можно и разыскать такое чудо, причем даже не выпаивать микросхему, а использовать плату картриджа целиком. Микросхема родом из ГДР и зовется U856, как я понял - аналог родного Z80SIO (м.б., понял неправильно). Клаву можно переключить на неиспользуемый в Вашей схеме вывод немаскированного прерывания /NMI (вектор 66Н). На параллельном сайте есть темы по CP/M, там и компиляторы обсуждались.

rw6hrm
Advanced Member
Сообщения: 952
Зарегистрирован: 17.02.2008,16:07
Откуда: Ставрополь
Контактная информация:

Сообщение rw6hrm » 13.08.2018,00:28

Как раз на параллельном форуме (если мы об одном и том же) я сообщал, где можно надёргать У856, у меня как раз-то оно и есть, но это был первый роботрон за последнюю четверть века, что до меня добрался, и в уже куроченом виде. Так бы я с удовольствием поставил 6850, чем интеловскую поделку, но ведь у народа-то (если кто и интересуется) есть именно интелы! Поэтому только СовСоюз/ВВ51 и ни шагом в сторону ;)
Проще сделать из /IORQ и /M1 генератор вектора, чем и занимаюсь. Вроде задачу уже решил, обкатываю...
А уж если кто и вздумает повторить (в чём я очень сомневаюсь), то повторять тупо не будут, что-нибудь своё примастырят.
http://qsl.net/rw6hrm - Мои поделки

Korchagin
Advanced Member
Сообщения: 573
Зарегистрирован: 04.04.2015,13:35
Откуда: Понемногу отовсюду

Сообщение Korchagin » 13.08.2018,00:56

Но тогда для корректной работы по прерываниям i8251 нужно будет использовать контроллер прерываний i8259. Есть ли инициализация 8259 в CP/M?

rw6hrm
Advanced Member
Сообщения: 952
Зарегистрирован: 17.02.2008,16:07
Откуда: Ставрополь
Контактная информация:

Сообщение rw6hrm » 13.08.2018,08:04

Увы, но 8259 тоже не знает про режим IM2. Да и зачем он нужен на обработку одного вектора? ;)
В режиме IM2 Z80 может обрабатывать 128 векторов безо всяких внешних чипов, поскольку векторы выдают сами устройства, выдающие прерывание. Ну это так, по архитектуре комплекта...
http://qsl.net/rw6hrm - Мои поделки

Korchagin
Advanced Member
Сообщения: 573
Зарегистрирован: 04.04.2015,13:35
Откуда: Понемногу отовсюду

Сообщение Korchagin » 13.08.2018,12:58

Так 8259 и является костылем для интеловского комплекта 8080. Он выполняет те же функции работы по прерываниям, которые уже встроены в зилоговские SIO и PIO. Настраивается и протокол имеет, конечно же, свой, интеловский. Подружить полноценно вряд ли получится без кучи аппаратных и программных ухищрений.

rw6hrm
Advanced Member
Сообщения: 952
Зарегистрирован: 17.02.2008,16:07
Откуда: Ставрополь
Контактная информация:

Сообщение rw6hrm » 13.08.2018,13:12

IM2 уже сделалЪ ;) Пара неиспользуемых элементов, два транзисторных ключа и диодное "или". Всё работает, DDT запускается. Страничку и прошивку обновлю к вечеру.
Разумеется, что можно было бы сделать ещё проще, но мы не ищем лёгких путей, используя исключительно подножный корм xD
http://qsl.net/rw6hrm - Мои поделки

Korchagin
Advanced Member
Сообщения: 573
Зарегистрирован: 04.04.2015,13:35
Откуда: Понемногу отовсюду

Сообщение Korchagin » 13.08.2018,14:03

Было бы очень хорошо, если бы старые схемы были помещены на этой же странице в архив и пояснено, как решилась проблема. У меня как раз недавно нашлась забытая еще в начале 90-х коробка с Z80 и кучей ВВ51, ВВ55 и прочих подобных артефактов. Может, вольюсь и соберу себе Аюшу), благо детали есть все. А контроллер FDD не планируется к добавлению? А то ВГ93 ждет своего часа в коробке и дискет на два века вперед запасено)

Ответить