PDA

Просмотр полной версии : Аюша-Z80 - СР/М-совместимый компьютер



Страницы : 1 [2] 3

barick
28.04.2019, 20:08
В копилку проверенного железа, ещё один вариант печатной платы. 100% рабочий.
https://cloud.mail.ru/public/3UWW/4EuAiDAT1

barick
30.04.2019, 10:43
Вопрос к тем, кто уже собрал и кто собирает AU-Z80: а прерывания по таймеру кому-нибудь надо? Сейчас реализовано IM2 с аппаратным заданием адреса "перехода" FFFAh. Почти ничего не меняя в существующей схеме и добавив несколько корпусов простой логики и 580ВИ53 можно добавить ещё 2 вектора - FFF6h и FFFCh. (можно взять старый проверенный 16F628 и на нём сделать контроллер младшей тетрады ШД, будет 8 векторов).
Правда сейчас адрес FFFCh автором зарезервирован под терминал VT52, что, надеюсь, можно урегулировать.
И при старте cp/m все переходы "не FFFA" программировать на return, а прикладные программы пусть сами прописывают, что им надо.

rw6hrm
30.04.2019, 12:04
Сразу же уточняющее: не "кому надо", а "где-нибудь употребляется"? Пока ни в одной из встреченных программ такого не найдено. Соответственно вывод, что это может быть полезно только для какой-то конкретной, требуемой пользователю программы. Также желательно проанализировать схемы промышленных ср/м-совместимых машин - там такое есть? Это к вопросу об адресации векторов, чтобы не придумывать что-то новое.
Устанавливать через прерывания текущее время (как на Спектруме), думаю, не следует, для этого есть микросхемы RTC, да и применить их можно только если перейти на версию оси 3.0 и выше.

адрес FFFCh автором зарезервирован под терминал VT52, что, надеюсь, можно урегулировать.
FFFAh - вектор, FFFCh, FFFDh - рабочие ячейки перекодировщика команд (а для VT100 желательна ещё бы одна ячейка), а FFFEh - вектор старта системы, не забываем.
Нет проблем, изменяем адреса в ПЗУ/биосе, перекомпилируем и работаем. Либо перезаписываем кусок биоса во время работы.

...а зачем ВИ53? Можно ещё сделать кучу векторов на одной дополнительной ПЗУ. Главное, чтобы биос не раздувать...


Сразу же анонсирую ближайшие релизы по биосу.
1. Полная перекомпиляция текущей версии с целью перемещения блока VT52 на другие адреса. Цель: при желании загружать вместо него блок VT100 (который получается немного больше по размеру).
2. Бипер. Обычная однобитовая пищалка. В старте - для поддержки команды BELL (chr$(7), уже встретилось в паре игровых программ и в двух текстовых редакторов как знак выхода строки за пределы экрана). Далее - как кому пожелается. Если, конечно, после блока VT100 останется десяток байт свободного места...

Xrust
30.04.2019, 12:50
да и применить их можно только если перейти на версию оси 3.0 и выше
Ну по крайней мере этот вариант лучше заранее предусмотреть. Чтобы не было потом как обычно :)

barick
30.04.2019, 13:58
cp/m-3.х и часы не интересуют. Прикладная личная задача. Есть самоляпный станок для намотки катушек. Управление (почти ЧПУ - шаг, скорость, автореверс, к-во витков) реализовано на пиках - на 628 собран ШИМ регулятор сверхнизких оборотов коллекторного двигателя, всё остальное на 876. Ввод данных на 1 слой намотки с клавиатуры 3х4 (цифры и 6 спец. кнопок), вывод состояния на 2-х строчный дисплей. Всё работает, но при намотке многосекционных трансов контролировать текущее состояние приходится карандашом. Уже давно была мысль связать станок с большим компом, чтобы задача на каждый слой передавалась бы оттуда. Но не стал этого делать "по идейным" соображениям - лепить IBM PC к станку - да ну его... Поэтому, когда увидел AU-Z80 - вот оно, по габаритам есть куда засунуть, есть стандартный обмен (на всякий случай связь большим братом), подключается клавиатура PS/2 (есть несколько штук от хим. приборов очень маленьких и удобных). И мониторов 15" по углам лежит. В принципе можно связать с 876 "по опросу" через ВВ55, но прерывания лучше. Мне, кстати, "по таймеру" и не очень надо. Но если бы реализовать прерывания от таймера, то я бы и 876 выкинул.

rw6hrm
30.04.2019, 14:39
Прикладная личная задача
Хм, я угадал :)
...интересная реализация получится ;) Я бы что ещё добавил (но это сугубо имхо) - возможность связи с внешним миром не только через СОМ-порт, но и на физическом носителе. Вариантов два: 1)олдовый - отбираем у флешки последнюю букву диска и отдаём её накопителю на флоппи. Плохо, что биос раздуется; 2) добить мой старый проект подключения SD/MMC к ВВ55 и перекидывания файлов с FAT16 напрямую. Недостаток - медленная скорость обмена, но нам же не пирожки выпекать ;) В этом случае внешнему диску буква не нужна, да и софт под это дело будет загружаемым.

По поводу тройки - это же совсем уже иная машина получается. Проще восстановить Роботрон 1715, он как раз на клоне тройки работает, почему от него и не подходит софт для Аюши. Мне кажется, что обсуждаемая конструкция, если в неё добавить системный разъём, будет как раз вполне цельная и законченная по железу. Всё новое добавляемое железо может быть поддержано на уровне переписывания файла биоса, а не перешивки ПЗУ, что значительно упрощает эксплуатацию.

barick
30.04.2019, 15:34
Флоппик - можно, было бы удобно.
Пока у меня нет Atmega328 и ИР10 буду обдумывать, как запихнуть контроллер прерываний в схему. И вопрос - а вектора FF0F, FF2F...FFDF вроде в системе ни с чем не пересекаются?

rw6hrm
30.04.2019, 20:51
вектора FF0F, FF2F...FFDF вроде в системе ни с чем не пересекаются?
FF0F -там буферы ввода символов торчат, FF27-FF3B - первоначальная установка активной консоли.
Вроде свободно с FF3C до FFE7, да и то, после первоначальной установки системы блок FFE8-FFF9 тоже можно использовать (там установка прописана, которая нужна всего один раз. Разумеется, что после первоначальной установки биос перезаписываем).

barick
30.04.2019, 21:31
Да, сорри, проглядел... Но тем не менее, имеющихся свободных адресов более чем достаточно. Даже не так - а сколько надо? Лично мне надо ещё два. Схемно добавить пару адресов переходов будет проще, не нужна ПЗУ для перекодировки, достаточно несколько диодов (как сейчас в схеме). Адреса, удобные для этого FFDA и FFDC (два и три диода, задающие нули на ШД).

!dx
30.04.2019, 22:48
Вопрос к тем, кто уже собрал и кто собирает AU-Z80: а прерывания по таймеру кому-нибудь надо?
Нужно конечно, пусть будет. Наверное, в итоговую схему лучше сразу эту корректировку внести.
Еще не плохо бы внешнее(nmi?) прерывание(нажата кнопка, появился лог 1 и тдп) завести на обработку.

barick
02.05.2019, 17:37
rw6hrm, Вы, как главный по системе, оцените такой вариант:
1. в существующей схеме AU-Z80 ничего не меняем, при появлении запроса на прерывание система берёт адрес перехода с ячеек FFFA/FFFB, так как сейчас в биосе;
2. обработка прерывания немного изменяется: после команды DI считывается порт 18h и сохраняется в памяти (назовём StatInt). Потом считывается состояние ВВ51, выделяется по маске бит 1, инвертируем и выполняем И с содержимым StatInt.
В результате получаем состояние устройств, которые ДО считывания порта 18 выставляли запрос на прерывание:
бит 1 - ВВ51
бит 5 - клавиатура
бит 6 - внешнее устр. 1
бит 7 - внешнее устр. 2
Теперь можно анализировать в порядке приоритета. В базовой версии ОС по битам 6 и 7 можно оставить переходы к зарезервированным адресам, в которых изначально будет команда возврата из прерывания, а кому-надо - пусть сам пишет обработчик.
Набросок схемы, которая может реализовать такой алгоритм прилагаю: https://cloud.mail.ru/public/A6f4/5MJfNNA5o
Хотелось бы реализовать "по взрослому" режим IM2, но уж сильно нагромождённая схема получается. Неоправданно, если надо пару прерываний добавить.

rw6hrm
02.05.2019, 18:30
Вариант интересный, требует переписывания биоса и малёк негибкий.

barick
02.05.2019, 20:05
Я продумывал такие варианты, здесь главная проблема - как "разрулить" ситуацию с несколькими одновременно поступившими прерываниями. Надо всё запомнить, в порядке некоторой очереди выдать, и при этом не пропустить вновь поступившие запросы. И схема арбитража на мелкой логике плюс ПЗУ получается как второй комп...

alx32
02.05.2019, 20:15
А ВН59?

barick
02.05.2019, 20:23
У ВН59 логика обработки прерывания согласована с 580ВМ80, Z80 не поймёт.
Вот здесь кратко есть: https://lektsii.org/12-37096.html

rw6hrm
02.05.2019, 20:48
У ВН59 логика обработки прерывания согласована с 580ВМ80
Согласен. Либо переходить полностью на комплект Z80 и оттуда уже брать приоритеты (PIO вместо ВВ55 и SIO вместо ВВ51).

svinka
02.05.2019, 21:23
в этом документе http://bitsavers.informatik.uni-stuttgart.de/components/amd/Peripheral_Processor_Interface_Guide_1985.pdf в главе 7.1.7 написано как к Z80 прилепить контроллер прерываний AM9519 наш аналог КР1818ВН19 и доступен к приобретению

barick
02.05.2019, 21:53
На 1818ВН59 я уже смотрел, отказался глубоко копать по двум причинам:
1) Для двух доп. прерываний нет выигрыша в количестве дополнительных корпусов, и обслуживание тоже потребует не два байта программы.
2) Быстро не смог найти подробного описания чипа.

svinka
02.05.2019, 21:57
смог найти подробного описания чипа. http://bitsavers.informatik.uni-stuttgart.de/components/amd/_dataBooks/1980_AMD_Am9500_Peripheral_Products_Interface_Guid e.pdf

barick
02.05.2019, 22:28
svinka, спасибо за ссылку! Кладу себе в папку, может и пригодится.

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

А вот в ветке http://www.nedopc.org/forum/viewtopic.php?f=89&t=18930 товарищ Mixa64 отметился, что он запаял в схему 1818ВН19.
Цитата: "Для IM2 какой-никакой контроллер прерываний нужен, у меня на это место шикарно встал КР1818ВН19 (Am9519), связка работает, от ВВ51 две линии прерывания, прием и передача. Но - лишний корпус и удаление от минимализма."
Может, будут подробности (схема, биос)?

rw6hrm
02.05.2019, 23:07
http://www.nedopc.org/forum/viewtopic.php?f=89&t=9155 вроде. Но схему он так и не выложил, поэтому проще будет там зарегиться и спросить напрямую.

barick
03.05.2019, 12:05
Там тишина с 2009 года....

ALS
03.05.2019, 14:12
Там во многих интересных темах тишина. Имею там регистрацию и даже пару своих тем, но не имею никакого желания там появляться.

HardWareMan
03.05.2019, 19:24
ALS, я думал тот форум умер совсем. Или он медленно разлагается просто?

ALS
03.05.2019, 20:39
Таки умер :(

HardWareMan
04.05.2019, 06:03
Таки умер :(
Ажар. (https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%BC%D0%BE%D0%BB%D1%91%D1%82_%D0%BB% D0%B5%D1%82%D0%B8%D1%82_%D0%B2_%D0%A0%D0%BE%D1%81% D1%81%D0%B8%D1%8E)
Я помню, что началом конца стал приход Лаврентия (не того, что Палыч, увы), который стал делать всякие ёмкие и неуместные цитаты в каждом своём посту и админ Шаос смотрел на это сквозь пальцы. Однако позже выяснилось, что этот Лавр его земляк и всё встало на свои места. После этого я, собственно, и ушел оттуда. Не помню уже, 2013 или 2012 год это был... Ну и ладно, ни к чему пинать трупик.

rw6hrm
04.05.2019, 11:35
...да живы там все, но только пинать изредка надо, чтобы шевелилось... А так да, скатилось в междусобойчик.

По теме. Готовлю вторую версию одноплатки. Не хотел, но пришлось ввести ещё один корпус, чтобы вывести звук (ибо не все готовы что-то делать на транзисторных ключах, но на них же, блин, проще!). Прошивка клавиатурного адаптера соответственно несколько изменится, чтобы перевести аппаратный кусок схемы в софт.
Системный разъём в режиме ожидания, поскольку явно не все сигналы нужно выводить (далее имхо):
- только штырьками;
- хватит трёх адресных линий, что связано с дешифрацией чипселекта;
- выводить чтение/запись памяти не нужно, только управление портами;
- захват шины вывести можно, но нет шинных буферов;
- /INT клавы и ВВ51 будет адресный, но никакого приоритета внешних прерываний не планируется, ВН19 у меня нет и не думаю, что он ещё у кого-то так легко появится;
- неизвестно ещё, какую тактовую частоту выдавать на разъём. Процессора?
- /далее обсуждаемо и вообще к системному разъёму душа не лежит/.
Ну и особо не выкручиваться "хотелками" (типа мапперов памяти и перевода под СР/М 3), поскольку будет выходить за границы концепции простой машинки.

svinka
04.05.2019, 15:44
ВН19 у меня нет и не думаю, что он ещё у кого-то так легко появится ВН19А у меня есть сколько хош.

Z80 SIO тоже есть производства ГДР штук 60

По коммерции пишите в личку или на почту

Xrust
04.05.2019, 15:57
ВН19 у меня нет и не думаю, что он ещё у кого-то так легко появится;
у меня есть.

- неизвестно ещё, какую тактовую частоту выдавать на разъём. Процессора?
Почему бы и нет?

- захват шины вывести можно, но нет шинных буферов;
Пусть будет.
Можно еще предусмотреть установку широкой микросхемы RAM. Они гораздо дешевле кэша.

rw6hrm
04.05.2019, 18:08
По ВН19 - сделайте комп на макетке, подкорректируйте и отладьте софтину, мож тогда кто и соберётся развести под это новую плату ;) Ну а если применить ещё и SIO - так вообще другая машина получится. Но когда эти чипы будут валяться в каждом бутике - тогда я за это подумаю. Пока ответ "нет" ибо излишне да и применить их можно на внешних платах, не на основной.
Широкую раму никогда не видел. Если у них одинаковая разводка с узкой - почему бы и нет. Киньте даташитом пожалуйста для раздумий. Да, и по доставаемости оно как?

Xrust
04.05.2019, 23:28
Киньте даташитом пожалуйста для раздумий.
hm628128 (http://65xx.unet.bz/ds/hm628128.pdf)
TC551001 (http://www.donat.org/ti92/TC551001B-L.pdf)

Доставаемость:
hm628128 (https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=hm628128&_sacat=0&LH_TitleDesc=0&_sop=15&_osacat=0&_odkw=hm62864&LH_TitleDesc=0)
tc551001 (https://www.ebay.com/sch/i.html?_from=R40&_nkw=tc551001&_sacat=0&_sop=15)
hm628128 (https://ru.aliexpress.com/af/hm628128.html?site=rus&g=y&d=y&origin=n&spm=a2g0v.search0604.0.0.5023297alU5ADb&filterCat=202001107%2C202059173&jump=afs&groupsort=1&SortType=price_asc&SearchText=hm628128&initiative_id=SB_20190504122455&isViewCP=y)

rw6hrm
05.05.2019, 00:03
Доставаемость:
В России плз. То, что "там" есть, это хорошо.

Цоколёвка вроде совпадает.

Xrust
05.05.2019, 01:17
В России плз
В России дороже. Почтовые расходы внутри страны нехило стОят :( Так что я предпочитаю здесь покупать советское. А буржуйское - там.
Но в любом случае это никак не должно помешать дополнительно ввести параллельный ряд отверстий ;)

Daniil Chislov 86
05.05.2019, 01:43
rw6hrm, как там плата готова уже ?
Я кстати почитал твой пост на пикабу , посмеялся с комментов )

rw6hrm
05.05.2019, 08:42
Я кстати почитал твой пост на пикабу
Какой из нескольких? :)

Плат уже нет.

svinka
05.05.2019, 11:09
В России плз у меня есть Тошибы 85нс в ДИП32. В Москве. Почта по РФ сейчас хорошо работает. тьфу тьфу тьфу

rw6hrm
05.05.2019, 11:44
у меня есть Тошибы 85нс в ДИП32.
Тип корпуса чуть подробнее указывайте. А то ДИП32 уж очень разные бывают (см. тред выше)

Ну и как бы модеры могут быть недовольны за предложения в непрофильной теме

svinka
05.05.2019, 12:41
TC551001 тошиба выпускались в ДИП32 только в широком пластике
Во времена 70-100нс.
конечно, еще были плоскостопые варианты корпуса

кеш память в узких корпусах была позже. объемом поменьше но с временем доступа раза в 3-5 быстрее (12-25нс). Мегабитные чипы там не были распространены широко. Не у всех получалось большой кристалл в узкий корпус посадить. С другой стороны была битва за пользователя за каждый десяток долларов на готовом компьютере. В США нормальный объем кеш памяти - 128к. В олигархических странах - 256к. Потом стали корпусировать в квадратные чипы где выводы на 4 стороны. Но объем кеша стандартный остался 256к

Daniil Chislov 86
05.05.2019, 17:17
rw6hrm, этот https://pikabu.ru/story/makhrovogo_daungreyda_post_5354180

rw6hrm
05.05.2019, 20:29
А есть и вторая часть, https://pikabu.ru/story/makhrovyiy_daungreyd_chast_vtoraya_kompyuter_s_srm _6057490 ;)

rw6hrm
13.05.2019, 08:04
Выяснилась интересная вещь - не стоит гнаться за тактовой частотой процессора, ибо если стоит цель "поиграться", то её можно не достичь. На 5 МГц тактовой Ладдер, Пакман и Квитрис носятся как угорелые и надо быть монстром, чтобы успевать нажимать клавиши даже на самом простом уровне ;). Отсюда вывод:
- тактовая частота не должна превышать 2,5МГц для казуальных игр и текстовых редакторов/таблиц;
- тактовая может быть повышена для игр, требующих время для раздумий (шахматы, реверси), для работы с компиляторами/интерпретаторами/трансляторами, базами данных.
Т.е. нужно ставить переключатель "турбо". Вопрос: как корректнее, просто коммутировать проводки с частотой или делать это электронно, через пару элементов ЛА8?

Tronix
13.05.2019, 08:40
Я за проводочки. Что может быть проще тыкнуть кнопку в случае чего.
И еще, если новую плату еще не отдали в производство, то есть пожелание сделать на свободном месте небольшое макетное поле, по-типу как в ленинграде 48. Чтоб в случае чего можно было какую-то небольшую схемку на этом поле спаять МГТФ...

rw6hrm
13.05.2019, 09:24
Тогда проводочки должны быть очень короткие, иначе излучение.
Про макетку думал, но, поскольку это был мой первый за четверть века опыт разводки платы, заморачиваться не стал.

LeoN65816
13.05.2019, 12:34
Вопрос: как корректнее, просто коммутировать проводки с частотой или делать это электронно, через пару элементов ЛА8?
Вот (https://zx-pk.ru/threads/30253-eshche-odin-orion-ne-na-plis-ili-kalinka-malinka-po-russki.html?p=1004523&viewfull=1#post1004523) недавно спорили об этом...
Для твоего случая с кнопкой: кнопку вешай на RS-триггер для устранения дребезга - это будет мастером, а с него пишется в помощника по отрицательному фронту меньшей частоты (это при условии, что и меньшая и большая частоты синхронные), ну и далее мультиплексор на комбинаторике ЛА3.

rw6hrm
13.05.2019, 12:55
Ок, понял - делаю на простом переключателе ибо для обычного Z80 некритично. При зависоне - резет в помощь. Только отмороженный будет переключать клок во время работы программы или активности диска.
...или каждый делает для себя по желанию. У меня пока желание одно - минимум корпусов ;)
(В версии на макетке вообще было переключение джампером и процу не плохело)

OrionExt
13.05.2019, 13:05
Делать эту штуку на гал-ке (программный регистр, плюс кнопка).


Только отмороженный будет переключать клок во время работы программы или активности диска.
...или каждый делает для себя по желанию. У меня пока желание одно - минимум корпусов ;)Жмакать кнопку в любой момент полезно и не возбронительно:rolleyes:

LeoN65816
13.05.2019, 13:20
Только отмороженный будет переключать клок во время работы программы или активности диска.
Вот посмотри на "отморозка" (https://yadi.sk/d/iJmte9GMAMz9iA) наяву.


Делать эту штуку на гал-ке (программный регистр, плюс кнопка).
Да, наверное, вполне возможно упаковать и мастера и помощника и мультиплексор в галку. И разумно.

rw6hrm
13.05.2019, 17:39
Вот посмотри
Не открывается :(

упаковать и мастера и помощника и мультиплексор в галку
Есть готовый вариант на чипе, который можно купить в любом придорожном лабазе? Я не знаю, что это, с чем их едят и как их программить.

OrionExt
13.05.2019, 18:04
гал (замена пал, все аунтично) – это просто. И ты забудешь о РТ. И как оно сниться (возможно. ну видимо некоторым сниться РТ как кошмар, тут на форуме и они его прошивают и так и сяк)

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

По делу. Делим на галке на два. Это турбо. Делим на два. Это штатная частота. Управляем эти через порт $FF и кнопку.

rw6hrm
13.05.2019, 20:05
По делу. Делим на галке на два.
Я нижайше извиняюсь, конечно, но суть я уловил, что галкой можно заменить D12 ака ИЕ5, да ещё и управлять выходом клока на проц посредством отдельной ножки, но, поскольку опыта работы с данным девайсом не имею, оставляю честь разработки и тестирования узла другим ;) Разумеется, что на авторство не претендую.

Для желающих ввести новые вектора прерываний скромная рекомендация. В биосе у нас есть один раз в жизни используемая конструкция, располагающаяся по адресу FFE8h. Так вот, если контроллер прерываний будет располагаться на отдельной плате расширения, то в эту область (FFE8h - FFF9h) с чистой совестью можно записывать девять векторов прерываний при инициализации дополнительного устройства. Это позволит не переписывать биос для введения новых функций. При этом вектор прерывания ввода символа остаётся прежний (FFFAh).

alx32
13.05.2019, 20:12
Тоже пользуюсь GALками. Иногда даже для замены практически всей логики в самоделках. Прошивки пишу в латтисовской студии на verilog-е, там можно прямо в тексте назначить пины. Шью на TL866. В Китае они продаются пучками по 10шт.

rw6hrm
13.05.2019, 21:41
Важная информация!

В архив прошивки залита новая версия биоса! Отличие в том, что блок вывода символов на экран перемещён на новые адреса, дабы простой "горячей" перезаливкой области памяти FE36h-FF32h мы могли бы менять "драйвер" терминала на иной.
Почему это сделано: найдено несколько программ, которые не поддерживают терминалы типа VT52/100, подавай им упрощённый ANSI или ADM-3A (к примеру, аналог Тетриса Quitris и аналог Xonix'а Worm). Плюс в разработке вывод звука BELL, что может стать простым одноканальным звуковым выходом.

Замена биоса проста:
- скачиваем обновлённый архив https://www.qsl.net/rw6hrm/zips/hexFiles.zip (старый перед этим переименуйте и сохраните куда-нибудь, на всякий случай);
- загружаемся в режиме Монитора:
- загружаем в память компьютера программы в следующей последовательности:
CPM22.HEX
BIOS128.HEX
PUTSYS.HEX

и запускаем последнюю командой G5000. На экране отобразится:
CP/M System Transfer by G. Searle 2012
System transfer complete
>

ПЗУ, как видите, перешивать не нужно ;)
Программы-драйвера терминалов (пока планируются VT-100, ANSI и ADM3) будут опубликованы позже.
Вывод через СОМ-порт остался прежний, без перекодировки.

Shumadan
13.05.2019, 21:56
Важная информация!

В архив прошивки залита новая версия биоса! Отличие в том, что блок вывода символов на экран перемещён на новые адреса, дабы простой "горячей" перезаливкой области памяти FE36h-FF32h мы могли бы менять "драйвер" терминала на иной.
Почему это сделано: найдено несколько программ, которые не поддерживают терминалы типа VT52/100, подавай им упрощённый ANSI или ADM-3A (к примеру, аналог Тетриса Quitris и аналог Xonix'а Worm). Плюс в разработке вывод звука BELL, что может стать простым одноканальным звуковым выходом.

Андрей, спасибо за обновления.
Я тут пока "отвлекся" от этого проекта. Паяю сейчас ЮТ-88 в самой трешевой версии - МГТФом на советской макетке)
Удалось найти играбельный Тетрис?

rw6hrm
13.05.2019, 21:59
Удалось найти играбельный Тетрис?
...вот пока тот самый Квитрис. Но скорость работы нужно понижать, да и играю только через СОМ-порт, что не радует... Посему и взялся за обновление.

Error404
13.05.2019, 22:39
найдено несколько программ, которые не поддерживают терминалы типа VT52/100, подавай им упрощённый ANSI или ADM-3A (к примеру, аналог Тетриса Quitris и аналог Xonix'а Worm).


тоже сталкивался с тем, что Кватрис не может в VT52 и поправил его тупо в коде для работы с VT52 - в ZIP-архиве вот этого поста (https://zx-pk.ru/threads/24501-tekhrazdel-uzix.html?p=979738&viewfull=1#post979738).

А что за Worm? Дадите посмотреть?

LeoN65816
13.05.2019, 22:40
Не открывается :(
А ты в другом браузере (или в более свежей версии) попробуй...


Есть готовый вариант на чипе, который можно купить в любом придорожном лабазе? Я не знаю, что это, с чем их едят и как их программить.
Смотри здесь (https://zx-pk.ru/threads/30473-poisk-1-rasshiritel-pamyati-160-544-kb-sram-(novodel).html?p=1012321&viewfull=1#post1012321) FAQ.

Error404
13.05.2019, 22:56
PS. По-прежнему ищется CP/M (или MSX-DOS) текстовый редактор, умеющий работать и с текстами со строками, оканчивающимися только на CR как в Юниксе (имеющиеся у меня редакторы от CP/M хотят файлы с концами строк CR+LF), буду благодарен если подскажете такой.

rw6hrm
14.05.2019, 08:01
в другом браузере (или в более свежей версии) попробуй
...уж что есть под ХР...

А что за Worm? Дадите посмотреть?
См. прицеп.

barick
22.05.2019, 14:09
Прошу помощи! Получил программатор USBASP. Контроллер 328Р видится и сама программа прошилась. Не могу решиться прошить фьюзы. Вот картинка считанных фьюзов:
https://cloud.mail.ru/public/2bCr/2VVoBQsUp
Правильно ли я понимаю, что надо сбросить CKSEL1 ?

rw6hrm
22.05.2019, 14:33
Я уже писал, что

CKSEL=0000;
- SUT=01;
- No watchdog timer;
- No clock divider;
- JTAG disabled;
- OCD disabled;
- No boot program.

Также добавляю картинку с TL866, в нём, как я помню, всё инверсное. Поставьте как Вам понятно и посмотрите состояние Low/High Byte, это будет более точно.

barick
22.05.2019, 15:36
Не понял с картинки 866 инверсные или нет биты. О.К.

Xrust
22.05.2019, 17:18
barick, Калькулятор фьюзов (http://fusecalc.mirmk.ru/). С ним намного понятнее.
Прошивать USBASP удобно avrdude_prog (https://yourdevice.net/proekty/avrdude-prog). Можно выбрать отображение фьюзов как в ponyprog или в avrdude. Ну или окончательно запутаться :)

barick
22.05.2019, 21:42
Всем спасибо! Прошил 328 с фьюзами, как на картинке (где у 866-го пусто - поставил галки). При первом включении на экране светлый прямоугольник на месте знакоместа и мигающий курсор. Всё остальное работает. Просмотр разводки платы в месте видеоконтроллера выявил досадную ошибку - до 1D16.3 не довёл А0... Сегодня не получилось исправить, завтра исправлю. Доложусь по результату.

rw6hrm
23.05.2019, 07:53
до 1D16.3 не довёл А0
Первоначально её там не было, поэтому это не ошибка. В этом случае запись в видеоадаптер будет производиться по всем адресам портов, от 00 до 07 (хотя программно используется только 00). Если подключить А0, то только по нечётным адресам. Чётные же адреса (А0=1) в будущем зарезервированы под звук (который будет составной частью адаптера).

barick
24.05.2019, 09:34
Докладываю. Ничего менять с А0 не стал (действительно, не ошибка, когда перерисовывал "для себя" то схему рисовал с первичного дисплейного модуля), а написал пару строк на ассемблере (непрерывный опрос D1 и запись символа в порт 0), чтобы осциллографом что-то увидеть. Увидел - триггер D18.1 работает в режиме счёта, НО на выводе 5 всегда нуль... Поскольку прозвонка не показала КЗ (около 500 Ом на землю), то был заменён D18. Ну и на этом всё. Экран ожил! Ура!
Как там в сказке: "не гонялся бы ты, поп, за дешевизною..." Практически все МС у меня - выпаянные из материнок. Две из всего набора не перенесли процедуру. Надо было на макетке всё проверить перед запайкой.

shapipovo
25.05.2019, 09:20
Какой IDE флэш-диск посоветуете, и где купить?

barick
26.05.2019, 22:40
Не советую, просто делюсь "опытом". Карту 128Мб заказывал здесь - https://ru.aliexpress.com/item/32856753181.html?spm=a2g0v.search0104.3.29.9cbc441 3qe2Xud&ws_ab_test=searchweb0_0%2Csearchweb201602_10_10065 _10068_319_317_10696_453_10084_454_10083_10618_103 07_10301_537_536_10059_10884_10889_10887_321_322_1 0915_10103_10914_10911_10910%2Csearchweb201603_52% 2CppcSwitch_0&algo_expid=47b461d2-576d-4843-ae24-eb1cd1e079bd-4&algo_pvid=47b461d2-576d-4843-ae24-eb1cd1e079bd&transAbTest=ae803_5
Пришла за 10 дней. Пока лежит, жду адаптер.
Адаптер CF-IDE -https://ru.aliexpress.com/item/32950858309.html?spm=a2g0v.search0104.3.78.6087209 9cTCR7S&ws_ab_test=searchweb0_0%2Csearchweb201602_10_10065 _10068_319_317_10696_453_10084_454_10083_10618_103 07_10301_537_536_10059_10884_10889_10887_321_322_1 0915_10103_10914_10911_10910%2Csearchweb201603_52% 2CppcSwitch_0&algo_expid=9b340449-3377-4510-a9de-13c5ff6b6b4e-11&algo_pvid=9b340449-3377-4510-a9de-13c5ff6b6b4e&transAbTest=ae803_5
Пока не доехал.

CodeMaster
26.05.2019, 22:51
Карту 128Мб заказывал здесь - Адаптер CF-IDE
$5,57 + $1,14
Так (https://meshok.net/item/107505567_128_MB_IDE_Flash_%D0%B4%D0%B8%D1%81%D0%B A_%D0%91%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD %D0%B0%D1%8F_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2% D0%BA%D0%B0) дешевле и компактней.

barick
27.05.2019, 15:33
Вопрос к RW6HRM: Вы упоминали об использовании базы данных. А какой программой Вы пользуетесь? Я скачал dBaseII версий 1.12 и 1.17, но модуль монитора не понимает их команду "@".

rw6hrm
27.05.2019, 21:21
модуль монитора не понимает их команду "@".
В каком случае "не понимает"? Предполагаю, что в случае позиционирования курсора. Вполне возможно, что при установке не был выбран тип терминала VT-52. Но это не самый главный косяк ;) Тут ещё нерешённый вопрос с функциональными клавишами - какой код нужно передавать при нажатии клавиш F1-F12? Скажем, F1-F5 можно взять из клавиатуры к "Ирише" (насколько оно будет корректным?), а остальное? Если будут точно известны коды от ФК ("стандартные" для СР/М) - зашью их в клавиатурный пик. Тогда и с DBase можно будет разбираться чуток плотнее.
Для своих целей пользуюсь бейсиком и файлами с произвольным доступом, этакая кривенькая СУБД получилась. Меня удовлетворяет, но на суд общественности выносить не буду :rolleyes:

barick
28.05.2019, 11:07
В дистрибутиве "1.17" инсталлятора (стартового настройщика) нет, в "1.12" есть, но терминала VT-52 в списке нет, увы. Из всего списка терминалов позиционирование курсора (команда @ X,Y) работает только в TRS-80 (была такая очаровательная машина на кафедре). Но управление курсором (влево-вверх....) не работает.
Если выставить VT-100, то прекрасно работает под терминальным доступом.
Придётся ждать поддержки VT-100...

rw6hrm
28.05.2019, 12:24
Ну так и думал... Сейчас у нас не поддерживают ИЕ6, а тогда перестали поддерживать VT-52, лол.
Хорошо, немного раскидаюсь с работой и попробую заново дописать этот кусок кода под ANSI/VT-100. Раньше if'ами делал выборку команд, теперь нужно как-то алгоритм упростить, ибо именно в позиционировании курсора и были затруднения (в -52 два байта в любом случае на координату, а в -100 либо один, либо два, либо вообще ни одного, что несколько напрягает).

rw6hrm
12.06.2019, 07:52
...новый вариант платы, с исправленными косяками, с возможностью установки двух типов корпусов ОЗУ и с полностью разрисованными местами для установки деталей. Также обращение к видеоадаптеру возможно только по чётным адресам (ПО не переделывается).
Если вместо 232 ставится USB, то места для подпайки проводов подписаны. Также подписаны выходы свободных чипселектов.
Полная версия картинок тут, https://pp.userapi.com/c856020/v856020643/65ac9/kd3VOUcL2Os.jpg , https://pp.userapi.com/c856020/v856020643/65abf/U_sZlLjU8g4.jpg

worker_vl
16.06.2019, 20:41
Отпишусь немного... Конструкция, практически, как писали в журнале "Радио", "выходного дня", за что большое спасибо Андрею!
Теперь маленькие заморочки из раздела "недопонятое":
1. адаптер SD в IDE никак не хотел стабильно читать флэшку, пока на !IORD не повесил емкость 100пф, ну, т.е. чуть затянул фронт. Потребность в таком действе обнаружилась при проверке сигналов осциллом.
2. сигнала RTS не было обнаружено, поэтому для заливки ПО пришлось использовать CoolTerm, у которого есть возможность установить задержку перед отправкой очередного символа. 1 мс оказалась достаточной задержкой, чтобы перестать получать "======Checksum Error======$"

Ну вот и всё пока. Если ещё что-то проявится, отпишусь.

rw6hrm
16.06.2019, 21:15
Это действительно интересно. А насколько "свежая" флешка? Просто в своих опытах использовал максимум 8Г возможно 2009 года выпуска. А 128М карты вообще несколько вариантов.

Про RTS тоже, поскольку он должен появляться только при заполнении буфера и при "нормальной" работе как бы и не нужен. Однако использую как железный СОМ, так и виртуальный, через USB-переходник. В качестве программ в основном ХР-шный Гипертерминал, но пользовал и Телемакс и Теликс, причём на разных компах (DOS, ХР и Любунта 18) - ошибок не было. Связь с Epson HX-20 также без проблем через нульмодемный кабель.
Чексум появился только один раз - когда напряжение питания ВВ51 было завышено до 5.7 Вольта

Буду благодарен за чек софта работы с ВВ51 в части работы с буферами и выдачей сигнала RTS, у Сирла достаточно встроенных незаметных косячков ;)

worker_vl
16.06.2019, 22:08
SD 512MB с Али, адаптер оттуда-же. Работала немного в Специалисте, плату которого Павел Рябцов продавал, там всё без проблем работало. Сегодня на радостях заливал софт на флэшку. Завтра попробую потестить 51-го. USB-шные адаптеры у меня без RTSов, зато есть железный COM-порт, проверю ещё кабель, может ущербный...

rw6hrm
16.06.2019, 22:30
...кстати про USB-COM адаптеры..., а они часом не 3.3 Вольта на выходе? Дурацкое предположение, но всё же...

С флешками была проблема в том, что они требуют для себя 5V-КМОП уровни, это когда единица максимально приближена к напряжению питания. Как вариант уменьшить подтяжку /IORD /IORW сигналов до 470 Ом вместо 1 кОм.

worker_vl
17.06.2019, 06:57
К USB-COM претензий нет, на тех, которые у меня на руках, в принципе нет RTS :) А консоль на них работала нормально, проблема возникла только при передаче файла.
С флешками, да CF не выстрелила и преписку в теме, про это, я читал. Но в моём случае активный адаптер, именно SD-PATA, для которого потребовалась задержка сигнала чтения. Вот, сегодня-завтра поборю природную лень, попрбую прицепить логический анализатор и посмотреть что там происходит...


Отправлено с моего iPad используя Tapatalk

P.S. Коллеги, пока буду развлекаться с приборами..., я тут прочитал упоминание о связке WinHEX+Steinblume, так есть просьба: если кто-то с этой связкой разобрался, напишите, пожалуйста, краткую инструкцию... а-то там не всё очевидно, начиная с того, что WinHEX не сохраняет RAW в тех форматах, которые понимает Steinblume, ну и как быть с размерами считываемых данных, читать весь диск, или только данные логического диска? Буду сильно признателен, возможно не я один... ;)

worker_vl
17.06.2019, 20:00
...кстати про USB-COM адаптеры..., а они часом не 3.3 Вольта на выходе? Дурацкое предположение, но всё же...

С флешками была проблема в том, что они требуют для себя 5V-КМОП уровни, это когда единица максимально приближена к напряжению питания. Как вариант уменьшить подтяжку /IORD /IORW сигналов до 470 Ом вместо 1 кОм.

Да... оплошал :) кабель к железному COM порту оказался 3-х проводным :) Но...., в запасниках нашёлся полный USB-COM адаптер и он-то мне и показал, что с RTS всё хорошо! Софт льётся без ошибок!
Ну, а с флэшками ещё поиграюсь... Есть на чём потренироваться.

rw6hrm
17.06.2019, 21:53
По Штейнблюму лучше напрямую обратиться к Андрею, https://zx-pk.ru/members/6096-black-cat-era-cg.html , лучше по электронке.

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

worker_vl,

адаптер SD в IDE
Будет время и возможность - сделайте пожста фото сабжа в подключенном варианте. Хочу сравнить с тем, что был у меня и нормально работал (где-то ранее в топике я выкладывал фото). Заранее спасибо.

упд: нашел, https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=976787&viewfull=1#post976787

Error404
18.06.2019, 13:18
P.S. Коллеги, пока буду развлекаться с приборами..., я тут прочитал упоминание о связке WinHEX+Steinblume, так есть просьба: если кто-то с этой связкой разобрался, напишите, пожалуйста, краткую инструкцию... а-то там не всё очевидно, начиная с того, что WinHEX не сохраняет RAW в тех форматах, которые понимает Steinblume, ну и как быть с размерами считываемых данных, читать весь диск, или только данные логического диска? Буду сильно признателен, возможно не я один... ;)

Как я понимаю, сдампить диск в простой посекторный образ можно любой утилитой, хоть dd, а затем уже работать с ФС CPM в образе, по окончании образ залить обратно той же утилитой.
Или что-то более сложное имеется в виду?

worker_vl
18.06.2019, 13:23
Как я понимаю, сдампить диск в образ можно любой утилитой, хоть dd, а затем уже работать с ФС CPM в образе, по окончании образ залить обратно той же утилитой.
Или что-то более сложное имеется в виду?

Ну, там не совсем просто. Поскольку Аюша пилит флэшку на несколько частей и использует их как диски, к тому-же, я не знаком с софтиной, которая называется Штейнблюм. Там, судя по всему, нужно использовать кастомный формат диска, ну и дальше по тексту... вобщем, особо пока некогда глубоко вникать, вот и спросил, кто мастер...


Отправлено с моего iPad используя Tapatalk

Error404
18.06.2019, 13:36
Ну, там не совсем просто. Поскольку Аюша пилит флэшку на несколько частей и использует их как диски, к тому-же, я не знаком с софтиной, которая называется Штейнблюм. Там, судя по всему, нужно использовать кастомный формат диска, ну и дальше по тексту... вобщем, особо пока некогда глубоко вникать, вот и спросил, кто мастер...


Отправлено с моего iPad используя Tapatalk

Если Аюша пилит CPM-диски в стандартной схеме MBR-партиций и секторами по 512кб (не половинками по 256кб из каждого сектора), т.е. так как любой современный НДД размечают, то такой формат Штейнблюм ЕМНИП поддерживает (на Орионе такое, и поддержка была). Но конечно надо пробовать.

worker_vl
18.06.2019, 13:41
Да, собственно, схема распила-то есть в исходниках. Весь вопрос все эти цифры правильно в Штейнблюме адаптировать.

;================================================= ===============================================
; Disk parameter headers for disk 0 to 15
;================================================= ===============================================
dpbase:
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb0,0000h,alv00
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv01
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv02
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv03
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv04
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv05
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv06
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv07
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv08
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv09
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv10
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv11
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv12
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv13
.DW 0000h,0000h,0000h,0000h,dirbuf,dpb,0000h,alv14
.DW 0000h,0000h,0000h,0000h,dirbuf,dpbLast,0000h,alv15

; First drive has a reserved track for CP/M
dpb0:
.DW 128 ;SPT - sectors per track
.DB 5 ;BSH - block shift factor
.DB 31 ;BLM - block mask
.DB 1 ;EXM - Extent mask
.DW 2043 ; (2047-4) DSM - Storage size (blocks - 1)
.DW 511 ;DRM - Number of directory entries - 1
.DB 240 ;AL0 - 1 bit set per directory block
.DB 0 ;AL1 - "
.DW 0 ;CKS - DIR check vector size (DRM+1)/4 (0=fixed disk)
.DW 1 ;OFF - Reserved tracks

dpb:
.DW 128 ;SPT - sectors per track
.DB 5 ;BSH - block shift factor
.DB 31 ;BLM - block mask
.DB 1 ;EXM - Extent mask
.DW 2047 ;DSM - Storage size (blocks - 1)
.DW 511 ;DRM - Number of directory entries - 1
.DB 240 ;AL0 - 1 bit set per directory block
.DB 0 ;AL1 - "
.DW 0 ;CKS - DIR check vector size (DRM+1)/4 (0=fixed disk)
.DW 0 ;OFF - Reserved tracks

; Last drive is smaller because CF is never full 64MB or 128MB
dpbLast:
.DW 128 ;SPT - sectors per track
.DB 5 ;BSH - block shift factor
.DB 31 ;BLM - block mask
.DB 1 ;EXM - Extent mask
.DW 511 ;DSM - Storage size (blocks - 1) ; 511 = 2MB (for 128MB card), 1279 = 5MB (for 64MB card)
.DW 511 ;DRM - Number of directory entries - 1
.DB 240 ;AL0 - 1 bit set per directory block
.DB 0 ;AL1 - "
.DW 0 ;CKS - DIR check vector size (DRM+1)/4 (0=fixed disk)
.DW 0 ;OFF - Reserved tracks

Error404
18.06.2019, 13:47
Скажите, а проект (исходник) печатной платы публиковался? Что использовалось для разработки - SprintLayout или что-то еще?

worker_vl
18.06.2019, 13:49
Тут, в шапке, ссылка на тему с обсуждением. Ну и автор здесь активен.
Но, исходник, вроде, не публиковался.

Отправлено с моего iPad используя Tapatalk

rw6hrm
18.06.2019, 14:37
исходник, вроде, не публиковался.
...я понимаю, что 34 страницы ворошить лень ;), но было (первая версия, с ошибками),
https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=1010046&viewfull=1#post1010046

worker_vl
18.06.2019, 16:05
По Штейнблюму лучше напрямую обратиться к Андрею, https://zx-pk.ru/members/6096-black-cat-era-cg.html , лучше по электронке.

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

worker_vl,

Будет время и возможность - сделайте пожста фото сабжа в подключенном варианте. Хочу сравнить с тем, что был у меня и нормально работал (где-то ранее в топике я выкладывал фото). Заранее спасибо.

упд: нашел, https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=976787&viewfull=1#post976787

Сурово :) у меня чуть попроще
https://uploads.tapatalk-cdn.com/20190618/283fde40f0c4f6fe245b6bc08e1f6c45.jpghttps://uploads.tapatalk-cdn.com/20190618/2a6b7fed3eec0017627df8bf51b30ac0.jpg
Но, вчера вечером обнаружились очередные чудеса с дисками. Сегодня продолжу изыскания, потом отпишусь.


Отправлено с моего iPad используя Tapatalk

rw6hrm
18.06.2019, 16:20
обнаружились очередные чудеса с дисками
...побежал холодок по спине...

worker_vl
18.06.2019, 16:24
:) Ну, не хоррор, конечно... стал сомневаться в адекватности дешифратора ИД4 (поставил то, что было 155 серии БУ), махнул на новый 1533. Так, после перепайки, перестала конструкция с SD работать, запустилась древнючая CF 32MB. Проверил адаптер SD на писюке, работает.... сегодня буду дальше думать... ох уж мне это старое 8-ми битное железо... никак с новомодными девайсами дружить не желает :)

rw6hrm
18.06.2019, 16:43
Первый вариант я использовал 555ИД4 (попался в старом АОНе). Пришлось подтянуть /CS к плюсу, иначе карта не отвечала (причина описана выше). Сейчас стоит б/у 155ИД4, без подтяжки, проблем нет.
На серию 1533 народ ругался по разным поводам в форумах, я думаю, что надо просто набрать статистику, куда можно её совать, куда нет. Для каких-то узлов она слишком быстрая, для других по наряжениям не подходит... 1564 ещё можно было бы попробовать, как в схемах Сирла, но в наличии нет (тогда переход КМОП-КМОП получится с дисковым узлом, что будет хорошо). А так да, нюансов много...

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


перестала конструкция с SD работать
Конденсатор задержки если убрать? Попробовать снизить тактовую процессора?

worker_vl
18.06.2019, 20:03
Конденсатор ещё вчера убрал, тактовая - номинальная 2.4, хотя проц, якобы, 20-ти мегагерцовый... продолжаю колдовать, хотя, чувствую, если быстро не стрельнёт, могу остановиться :) для моих целей двух работающих CF 32 и 64МБ более чем достаточно ;)

P.S. Вобщем, ИМХО, малое количество микросхем в компьютере не всегда улучшает его работу. Я думаю, где-то присутствуют гонки в таймингах, поскольку CF у меня заработали 2 (левая и средняя) из 3-х 69332, а правая успешно работает в "SUNRISE IDE для MSX2 от MAXIOL" на Yamaha YIS503III КУВТ2. А, вот, адаптер SD в IDE, я видимо подпалил вчера. В полноценном устройстве с полной шиной IDE он работает, а в урезанной 8-ми битной версии не хочет. Ну, как нибудь ещё один закажу, тогда и проверю.

Вобщем, моё резюме: приборчик получился простой и хороший для повторения, однако, из-за многих упрощений, не без своих "тараканов" внутри. На этом я из "гонки" выбываю. Может в конце лета ещё вернусь к теме, но загадывать не буду.

Error404
18.06.2019, 22:04
...я понимаю, что 34 страницы ворошить лень ;), но было (первая версия, с ошибками),
https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=1010046&viewfull=1#post1010046

Предлагаю эту ссылку добавить в первый пост

rw6hrm
18.06.2019, 22:42
Предлагаю эту ссылку добавить в первый пост
Не стОит. С ошибкой, недоделаная,... Все равно никто делать не будет. Вот вариант второй версии возможно и помещу, но только тогда, когда сделаю третью ;)

Xrust
18.06.2019, 23:29
rw6hrm, вообще стоит всю информацию или хотя бы ссылки перенести в первый пост. Плата получилась достаточно популярной, нужна качественная информационная поддержка. А то ни схемы, ни внешнего вида, ни прошивок. И хронологию желательно соблюдать и отслеживать.

rw6hrm
19.06.2019, 07:54
А то ни схемы, ни внешнего вида, ни прошивок.
Да ладно... В топике на Барахолке в инфе про плату сразу же указание на скачку документа со всеми ссылками и картинками... То, что саму страничку проекта никак не причешу, - это да, ибо не ожидал. Тут займусь некоторым причёсыванием на досуге, а то действительно, уже 34 страницы...

Xrust
19.06.2019, 08:13
И да, ссылки на барахолку нет ;)

rw6hrm
19.06.2019, 13:20
ссылки на барахолку нет
...уже и не нужно, новых заявок нет...

Xrust
19.06.2019, 15:10
rw6hrm, так потому и нет, что никто не знает, что можно заказать и где...

rw6hrm
19.06.2019, 15:30
Ну я просто ещё раз упомяну, что машинка делалась не для распространения, а для работы, это уж так получилось... И не заказывать надо, а просто делать, если есть желание...
Лан, проехали. Утрясу описание.

Xrust
19.06.2019, 19:07
А хорошие машинки как правило делаются для себя. А потом уже получают общественное признание.

worker_vl
19.06.2019, 22:51
P.S. Коллеги, пока буду развлекаться с приборами..., я тут прочитал упоминание о связке WinHEX+Steinblume, так есть просьба: если кто-то с этой связкой разобрался, напишите, пожалуйста, краткую инструкцию... а-то там не всё очевидно, начиная с того, что WinHEX не сохраняет RAW в тех форматах, которые понимает Steinblume, ну и как быть с размерами считываемых данных, читать весь диск, или только данные логического диска? Буду сильно признателен, возможно не я один... ;)

Вобщем, отвечаю сам себе, ну и может кому ещё потребуется для быстрой заливки софта.
1. Дампим, любым удобным способом, флэшку в файл.
2. Пилим, опять-же любым удобно-доступным способом, полученный в первом пункте файл, на куски. Размер всех кусков, за исключением последнего 8192 кБ, а последний - что останется.
3. Кускам даём имена с номером, чтоб потом не перепутать при сборке. Расширение .xdi, чтоб Штейнблюмом открыть.
4. Запускаем Штейнблюм. Жмём открыть образ, выбираем интересующий кусок, распиленного образа. Говорим открыть.
5. Теперь Штейнблюм попросит поправить параметры .xdi. Прикрепляю здесь содержимое .ini файла для второго, и далее до предпоследнего, дисков. Для первого и последнего потребуются изменения, опишу ниже. Содержимое сохраняем в файл <любое имя файла>.ini

[main]
format_id="" ;additional format specification string
skew_factor=0 ;sector skew factor or sector order
date_stamp=2 ;date stamps format. (0=>none, 1=>CP/M standart, 2=>non standart (used in Z80DOS and DOS+ for example))
ver=0 ;version of ini-file format

[xdi]
len=00 ;Sector length = 80h shl len. (0=>128, 1=>256, 2=>512, 3=>1024)
den=01 ;Heads number - 1
sec=0080 ;Sectors per Track
trk=0100 ;Tracks number
spt=0080 ;logical Sectors (128-byte records) per track. (Not used in SteinBlume)
bsh=05 ;Block shift. Block size = 80h shl bsh. (3=>1k, 4=>2k, 5=>4k...). (Not used in SteinBlume)
blm=1F ;Block mask. Block size = 80h * (blm + 1). (7=>1k, 0Fh=>2k, 1Fh=>4k...)
exm=01 ;Extent mask. Extent size = 4000h * (exm + 1). (0=>16k, 1=>32k, 3=>64k, 7=>128k)
dsm=07FB ;Blocks number (without) directory. dsm = (tracks_number - off) * spt * 80h / block_size - 1. (dsm = (tracks_number - off) * spt * 80h - (drm + 1) * 20h) / block_size). (Not used in SteinBlume)
drm=01FF ;(no. of directory entries)-1
al=00F0 ;Directory allocation bitmap. (Not used in SteinBlume)
cks=0080 ;Directory size in 128-bytes records
off=0000 ;Offset, number of reserved tracks
6. Жмем кнопку "загрузить" и выбираем сохранённый перед этим файл. После этого можно смело жать кнопку "ОК".
7. Теперь исправления для первого и последнего кусков. Дело в том, что в начале первого файла нужно учесть системную область, а в последнем - его размер. Для первого, параметр в последней строчке "off=0001", для последнего, меняем "trk=" по правилу: CF 32 MB -> 00E0, 64 MB -> 00A0, 128 MB -> 0040.
8. Собственно, всё... единственное наблюдение, если диск CР/M был только отформатирован и туда ещё ничего не писали на Аюше, нужно выбрать все файлы, они отображаются с вопросительным знаком, и удалить их. Иначе програмка считает, что нет свободного места. Ну, а вобщем, с этого места уже "интуитивно понятно". Скорость заправки прибора софтом увеличивается в десятки раз! :)
9. Чуть совсем не забыл... склеиваем куски в соответствии с нумерацией, опять-же любым доступным образом, ну и заливаем обратно на флэшку.

worker_vl
26.06.2019, 14:20
Доброго всем дня!
Решил немного вернуться к теме и обратиться к автору, как к авторитету, но если кто-нибудь другой ответит, я тоже не обижусь:
поскольку меня CP/M задела своим крылом только чуть, да и то в качестве студента, работающего в терминальном классе, и, скорее всего, это была MP/M, то можно сказать, что я с нею совершенно не знаком. Поэтому вопрос: каким образом запускаются или адаптируются программы для этой ОСи, чтоб ввод-вывод ориентировался не на терминальный порт, а на видеоконсоль, состоящую из AVR и PIC контроллеров? Безусловно, сама ОСь работает с ними отлично, а вот прикладной софт так и норовит вывести всё куда-то в сторону.
Заранее благодарен!

alx32
26.06.2019, 15:04
А прикладной софт работает через ОСь.
Т. Е. весь ввод|вывод идёт через стандартные вызовы СР/М. А сама же ОСь работает через "BIOS", который пишется уже под конкретное железо...
А если софт лезет "налево", значит он уже написан под конкретное железо, например игры, которые работают напрямую с экраном...

worker_vl
26.06.2019, 15:07
А прикладной софт работает через ОСь.
Т. Е. весь ввод|вывод идёт через стандартные вызовы СР/М. А сама же ОСь работает через "BIOS", который пишется уже под конкретное железо...

К сожалению, такими теоретическими предпосылками я тоже обладаю :) Но практика не в курсе ;) Пробовал запускать WS, DBASEII, ещё что-то уже не помню. При подключении через COM наблюдаю рабочую обстановку, вывод текстов и пр. а через видеотерминал - только "нирвану".

Error404
26.06.2019, 17:02
Доброго всем дня!
Решил немного вернуться к теме и обратиться к автору, как к авторитету, но если кто-нибудь другой ответит, я тоже не обижусь:
поскольку меня CP/M задела своим крылом только чуть, да и то в качестве студента, работающего в терминальном классе, и, скорее всего, это была MP/M, то можно сказать, что я с нею совершенно не знаком. Поэтому вопрос: каким образом запускаются или адаптируются программы для этой ОСи, чтоб ввод-вывод ориентировался не на терминальный порт, а на видеоконсоль, состоящую из AVR и PIC контроллеров? Безусловно, сама ОСь работает с ними отлично, а вот прикладной софт так и норовит вывести всё куда-то в сторону.
Заранее благодарен!

Пишу по памяти.
Стандартное приложение CP/M не оперирует понятиями RS-232, оно пишет/читает консоль (есть разновидности консолей, об этом ниже), а также в ряд устройств - Printer/LPT (запись символа и чтение статуса), Puncher (только вывод), Reader (только чтение).
- Про Puncher/Reader (те самые бумажные карточки) сразу забудем, аппаратно их уже нет, остались только вектора BIOS как напоминание (к слову их использование под что-то другое не принято, тупо пропадает место в таблице векторов BIOS).
- Printer в BIOS встречается реализованным, и с ним всё понятно: байт туда, байт оттуда.
- С консолью (условно, экран+клавиатура) чуть сложнее это посимвольное устройство (тоже на запись/чтение байта) в CPM2.2 делится/переназначается на несколько подвидов в зависимости от того как установлен байт по адресу 3 (IOBYTE, он состоит из четырех 2-битных величин):


;The IOBYTE lives at address 3 (in the Zero Page) and should be changed using
;BDOS calls 7 and 8 (get/set IOBYTE). The value is bitmapped:
;
; Bits Bits 6,7 Bits 4,5 Bits 2,3 Bits 0,1
; Device LIST PUNCH READER CONSOLE
;
; Value
; 00 TTY: TTY: TTY: TTY:
; 01 CRT: PTP: PTR: CRT:
; 10 LPT: UP1: UR1: BAT:
; 11 UL1: UP2: UR2: UC1:
;
;* BAT = batch mode. Use the current Reader for console input, and the current
; List (printer) device as the console output.
;
; * CRT = Standard console (keyboard and terminal screen).
; * LPT = Standard line printer.
; * PTP = Standard Paper Tape Punch.
; * PTR = Standard Paper Tape Reader.
; * TTY = Teletype device, eg a serial port.
; * UC1 = User defined (ie implementation dependent) console device.
; * UL1 = User defined (ie implementation dependent) printer device.
; * UPn = User defined (ie implementation dependent) output device.
; * URn = User defined (ie implementation dependent) input device.

Соответственно, если пользовательское приложение хочет писать на экран (CRT) и читать какую-то физически подключенную клавиатуру, оно кладет в ячейку (3) значение 149, и весь дальнейший ввод-вывод в консоль (подпрограммы CONOUT/CONIN/CONST BIOS) идет на устройство CRT(TV). Для переключения вывода/чтения на TTY(RS232) нужно в ячеку (3) положить значение 148.

В свою очередь подпрограммы CONOUT/CONIN/CONST BIOS должны содержать код switch по значению ячейки (3) - в зависимости от ее содежримого гнать выводимый пользователем символ либо на TV, либо на RS232. Сделано ли это в BIOS Аюши - вопрос к авторам, в принципе оно просто делается (при наличии подпрограмм для устройств). Я у себя в клоне CP/M такое делал (https://github.com/serge-404/AltairDOS/blob/master/BIOS2.MAC), и очень понравилось: чудесным образом начинают работать всякие терминальные вещи типа Кермита (который издревле имеет режим сборки под управление потоками через IOBYTE).

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

Штатно переключить iobyte можно классической утилиой STAT:

STAT DEV: - текущие назначения устройств
STAT CON:=CRT: - ввод/вывод с теминала CRT (TV)
STAT CON:=TTY: - система переключается на ввод/вывод по RS-232.

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

Вот тут еще обсуждали, читать начиная с этого поста:
https://zx-pk.ru/threads/12367-zhelezo-pod-cp-m-80.html?p=537195&viewfull=1#post537195

rw6hrm
26.06.2019, 18:07
Если косяк с последней версией платы, то беру паузу для взгляда на сорцы биоса. Не должно было бы так работать, ибо Error404 правильно про iobyte написал...
Отличие последней версии платы от первоначальной в том, что на декодер порта вывода видеоадаптера заведена линия А0, которая должна быть в "нуле" при обращении. Ранее эта линия игнорировалась и запись в порт вывода был возможен по любому доступному адресу ( у мну мож поэтому всё норм работает, и WS, и DBASE - последняя пока без перекодировки вывода под VT100). Вот и гляну, мож я где-то переменную укосяпорил неверно...

Вывод и ввод в СР/М исключительно "терминальный"...

Tronix
26.06.2019, 18:21
Наконец получил плату, готовлюсь к сборке. С вашего позволения, пара ламерских вопросов:
1) Что происходит вокруг D17.2, почему у нее 5 нога торчит в воздухе? Здесь вот:

https://habrastorage.org/webt/cr/hk/rz/crhkrzim2pwgsflqntp69g3bji4.png

В принципе, тот же вопрос и по D17.1.

2) Как думаете, возможно ли вместо 580ВВ51 (нету у меня) вкорячить некую Motorolla MC68661? Картинки издалека похожи -) Вдруг кто сталкивался?

3) Будет ли Аюша стартовать без атмеги и пика? С целью потыкать в нее палочкой через RS-232 в мониторе...

barick
26.06.2019, 19:10
1. По D17. Неподключенный вход в 155 серии должен восприниматься как "1", и ИСКЛ.ИЛИ должен работать как инвертор. Я не пробовал, в моей разводке печатной платы все свободные входы на +5в через 2кОм.
2. Без pic и atmega будет работать с перемычкой на 27-28 нога атмеги (уже об этом писали).

worker_vl
26.06.2019, 19:16
TTL микросхемы воспринимают висящий вход, однозначно, как единицу, но так поступают только в любительских конструкциях. В коммерческих всё должно быть однозначно. А вот в МОП сериях висящие входы дают такие чудеса, что даже в "мигалке лампочкой" такое не позволяют :)


Отправлено с моего iPad используя Tapatalk

Tronix
26.06.2019, 19:32
1. По D17. Неподключенный вход в 155 серии должен восприниматься как "1", и ИСКЛ.ИЛИ должен работать как инвертор.

В том то и дело, что в списке деталей D17 значится как 555ЛП5, поэтому и смутился. Честно говоря впервые вижу, что бы входы не были никуда подключены. Буду знать, спасибо.

Подбираю по сусекам деталюшки и еще вопрос - как думаете, можно ли заменить 155ЛА8 (4 2и-не с ОК) например на 555ЛА9 (4 2и-не) ?

worker_vl
26.06.2019, 21:25
Нет, у них цоколёвка разная. ЛА8 2,3 - вход, 1 - выход, а ЛА9 1,2 - вход, 3 - выход. Ну и т.д.

alx32
26.06.2019, 21:27
Тут как раз и используется фишка ЛА8 - открытый коллектор.

worker_vl
26.06.2019, 21:28
У 555ЛА9 тоже открытый коллектор


Отправлено с моего iPad используя Tapatalk

rw6hrm
26.06.2019, 21:31
происходит вокруг D17.2, почему у нее 5 нога торчит в воздухе?
Честно говоря впервые вижу, что бы входы не были никуда подключены.
Уже ответили. А вообще в ЮТ-88 такое было.
Без пика и атмеги запустить можно только нужно соединить вместе 1 и 2 ножки D17.3

можно ли заменить 155ЛА8 (4 2и-не с ОК) например на 555ЛА9 (4 2и-не)
Если имеется открытый коллектор, то можно (вроде как бы по справочным данным имеется, но остаётся распиновку подкорректировать).

alx32
26.06.2019, 21:32
В принципе да, но в данном случае можно ЛА8 заменить парой КТ315-х.

Tronix
26.06.2019, 21:35
Понятно, спасибо. Ну, значит будем покупать. Жаль конечно, так как почти все остальные микросхемы нашел у себя, можно сказать, на столе, ну кроме этой 155ЛА8. Так же нет 580ВВ51 и контроллеров. Завтра попробую на свежую голову сопоставить даташиты на 8251 и SCN2661A (он есть). Ну и внезапно не обнаружил у себя 27C512 EPROM. Придется то же покупать, наверное EEPROM от винбонда возьму W27C512...

alx32
26.06.2019, 21:41
68681 под шину м68к а не 8080, там запись/чтение стробируются чипселектом а не отдельными RD/WR, а режим (читать/писать) выбирается сигналом RW, штука конечно крутая, два uarta с таймером, 2661 просто половинка...

rw6hrm
26.06.2019, 22:29
Tronix, Необязательно брать ПЗУшку на 64К, на 32К вполне достаточно. А если не делать вариант автозагрузки в ось, то и 16 хватит.
(по поводу наличия микросхем - а вот я говорил ранее, что лучше собирать на макетке из того, что есть в волшебных ящичках из-под стола, и не обращать внимания на аккуратность укладки МГТФ ;))
По поводу ЛА8 вопрос народу - а может действительно переделать разводку под ЛА9/ЛА13? Вроде бы и выбор больше получается...
worker_vl, глупый вопрос: а Вордстар перед использованием инсталлировали под VT52? Или оставили по умолчанию под VT100? DBase пока не трогаем, оно под VT52 не ставится. (этот вопрос сейчас решаю).

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


В принципе да, но в данном случае можно ЛА8 заменить парой КТ315-х.
Тремя, если что, вот только Д3.4 не заменить...

worker_vl
27.06.2019, 08:05
worker_vl, глупый вопрос: а Вордстар перед использованием инсталлировали под VT52? Или оставили по умолчанию под VT100? DBase пока не трогаем, оно под VT52 не ставится. (этот вопрос сейчас решаю).

Я не зря с порога написал, что CP/M прошёл мимо меня. Не исключено, что я недопонял процессов. Из ответов я понял, что всё должно жить. STAT показывает, что вывод напрвлен в нужную сторону. Так что буду изучать матчасть. Всем спасибо за ответы.

Tronix
27.06.2019, 12:43
Запустил генераторы, заказал деталек, ждем...
PS: На шелке перепутаны подписи кварцев - там где написано 16M должен стоять кварц на проц и требуху, а там где не подписан - должен стоять на 16 для atmega....

rw6hrm
27.06.2019, 14:45
На шелке перепутаны подписи кварцев
...вот не нужно народ вводить в заблуждение ;), я ж как раз в этой области и накосячил в первой плате, поэтому восемь раз перепроверено.
(Для проверки) - что у нас показывает частотомер на 9 ноге Атмеги? А на 14 ИД5?

Tronix
27.06.2019, 14:58
...вот не нужно народ вводить в заблуждение , я ж как раз в этой области и накосячил в первой плате, поэтому восемь раз перепроверено.

Тогда я не понимаю. Значит тогда на схеме неверно номера выводов ЛА3 указаны.... Вот смотрите:

https://habrastorage.org/webt/fa/bk/sr/fabksrvml8o6du5sialg_px9t-8.png

Вверху кварц подписан как 16M. Он идет на 13 ногу и снизу платы на 8 ногу. Что не соответствует части схемы возле atmega, ни в части схемы Ftact

UPD: А на меге и ИЕ5 правильные частоты - 16 и 10 МГц.... Ну да ладно, главное работает :)

rw6hrm
27.06.2019, 15:16
На схеме - вполне возможно ;) Косяк платы исправлялся малой кровью, с минимумом порезов и перемычек, посему, в новой редакции, я просто забыл (или забил :)) подкорректировать схему.

Mech
27.06.2019, 20:35
не понял, плата правильная или нет ?

worker_vl
27.06.2019, 20:36
не понял, плата правильная или нет ?

Ну, не знаю... правильная-неправильная, но у меня работает ;)


Отправлено с моего iPad используя Tapatalk

Mech
27.06.2019, 20:47
я уж удивился , подумал неужели worker_vl ,будет неправду говорить ))))

rw6hrm
27.06.2019, 20:58
А на ... ИЕ5 правильные частоты - ... 10 МГц
Ещё раз хочу обратить внимание: 10 МГц на такт ВВ51 - это компромисс по поводу доставаемости кварца, который может вылезти в ошибки работы по СОМ-порту. Вроде как бы уарты и могут исправлять до 3% отклонений в скорости, но мало ли... Уж лучше не торопиться и поискать требуемые для спокойствия души. К примеру, кварц 9.8304 МГц использовался в принтерах типа Роботрон, кварц 4.9152 МГц попадался в Тошибах и в некоторых приборных панелях автомобилей Форд и Ауди. Кварц же на 2.4576 МГц мне попадался исключительно в советской военной технике связи (но там большой корпус). В основном обращаем внимание на старые принтеры, где СОМ-порт был встроенным, именно для его функционирования и использовались такие "кривые" номиналы.

Tronix
27.06.2019, 21:08
Ещё раз хочу обратить внимание: 10 МГц на такт ВВ51 - это компромисс по поводу доставаемости кварца, который может вылезти в ошибки работы по СОМ-порту.

Да, я это понимаю. Я пока что-то не могу понять, как в 580ВВ51 настраивается скорость. Наверное нужно почитать что-то по микропроцессорному комплекту 580. То есть почему именно 9.8304 MHz, откуда берется эта цифра....

Mech
27.06.2019, 21:10
в chipdip все эти кварцевые резонаторы есть

Xrust
27.06.2019, 21:23
Tronix, я по этому мануалу учился. 69400
Хотя там и не все секреты раскрыты.

rw6hrm
27.06.2019, 21:35
почему именно 9.8304 MHz, откуда берется эта цифра

9.8304 MHz /4 = 2.4576 МГц - эта частота подаётся на вход синхронизации ВВ51, она не должна превышать 2.5 МГц по паспорту. Далее, 2.4576 МГц /4 = 0.6144 МГц - эта частота подаётся на тактовые входы RXC/TXC, которая далее делится на 64 внутренним делителем чипа, получается на "выходе" 9600 Гц ака бит в секунду.
Как-то так, упрощённо...

alx32
30.06.2019, 07:00
А 1.8432МГц?
Они ведь более популярны, хотя бы в Китае...
Делим на 4 и подаём сразу на RXC/TXC.

rw6hrm
30.06.2019, 08:15
...и получаем скорость обмена 7200? Нестандарт однако... Тогда уж на 3 делим (заменяя ИЕ5 на что-то иное). Да и с такой частотой синхронизации (вход С) уверенности в нормальной работе ВВ51 нет, ибо не по даташиту.
У нас более распространены 18.432 если что, их просто валом (винмодемы, упсы и советская техника связи). И в случае таких кварцев проще выкинуть ВВ51 и поставить 68В50, со скоростью обмена 115200...

alx32
30.06.2019, 08:32
Для 18.432 нужен делитель на 10 и для 6850 и для 6551.
Но они обе для синхронно шины...

Tronix
30.06.2019, 08:33
Да, с UART конечно интересно... 68B50 - у нас как-то мало распространены, а вот 16C450 обычные от COM-портов вполне. Но я заказал 580ВВ51А, поставлю ее, для аутентичности. Хотя, при таком количестве микроконтроллеров на плате, наверное можно было бы еще один скажем PIC поставить, чисто для parallel -> UART. Они (PIC) тоже могут 115200, а некоторые и до мегабита, вроде... Плюс в PIC есть ведомый параллельный порт (PSP), то есть даже защелку ставить не нужно - они уже есть в контроллере. Правда только у 40-ногих и некоторых 28-ногих. Но штука удобная -)

rw6hrm
30.06.2019, 08:50
Почему ВВ51? Просто оставлю ссылки на пару постов из другого топика ;)
https://zx-pk.ru/threads/23276-quot-ayusha-quot-kontroller-na-6502.html?p=704412&viewfull=1#post704412
https://zx-pk.ru/threads/23276-quot-ayusha-quot-kontroller-na-6502.html?p=721009&viewfull=1#post721009
https://zx-pk.ru/threads/23276-quot-ayusha-quot-kontroller-na-6502.html?p=732918&viewfull=1#post732918 (это вообще в мемориз занёс ;))

Поэтому я всегда против:
- фиксированной комплектации;
- готовых печатных плат.
...ну тут так уж получилось...

rw6hrm
02.07.2019, 19:10
Обновлённое описание компьютера теперь расположено на http://rw6hrm.qrz.ru/z80.htm . Со всех старых ссылок установлены соответствующие редиректы. Если что-то упустил или не хватает - отпишитесь.

rw6hrm
04.07.2019, 23:02
В архив прошивок добавлены три файла с названиями хх128.hex, xx256.hex и xx512.hex - скомбинированные подборки под имеющуюся у вас микросхему ПЗУ 16/32/64К. Первая не содержит автозагрузки операционной системы. Для тех, кому влом комбинировать файлы в программаторе :).

Tronix
05.07.2019, 07:40
В архив прошивок добавлены три файла с названиями хх128.hex, xx256.hex и xx512.hex - скомбинированные подборки под имеющуюся у вас микросхему ПЗУ 16/32/64К. Первая не содержит автозагрузки операционной системы. Для тех, кому влом комбинировать файлы в программаторе :).

Хех, я как раз вчера скомбинировал методом "Pascal":


Var
F : File;
Buf : Array [0..65535] of Byte;
Begin
FillChar(Buf,$ffff,$ff);
Assign(F,'monitor.bin');
Reset(F,1);
BlockRead(F,buf,FileSize(F));
Close(F);

Assign(F,'basic.bin');
Reset(F,1);
BlockRead(F,buf[0+$2000],FileSize(F));
Close(F);

Assign(F,'smloader.bin');
Reset(F,1);
BlockRead(F,buf[0+$4000],FileSize(F));
Close(F);

Assign(F,'out.bin');
Rewrite(F,1);
BlockWrite(F,buf,65535);
Close(F);
WriteLn('done');
End.


Приехали ВВ51, 155ЛА8, атмега и PIC. С атмегой вчера помучался - пробовал в плате непосредственно прошить, подпаявшись МГТФ к ногам SPI. Программатор я нашел какой-то AVRISP mkII, типа оригинальный, так вот - он моргал желтым и никак. Потом увидел, что первая нога атмеги /MCLR жестко сидит на Vpp, без подтяжки, поэтому программатор не может ее в ноль уронить. Пришлось на другую макетку панельку запаять и там прошить. Вроде прошилась, с фьюзами тоже более-менее, потому что потом уже перестала читаться без внешнего клока. Посмотрим. С PIC16F684 никаких проблем не возникло. EEPROM прошил склеиными прошивками по вышеописанному методу. Процессор Z80 нашел симпатишный 80A-CPU:

https://habrastorage.org/webt/bg/t4/hv/bgt4hvablrcpnke77pqc893nudi.jpeg

Сегодня попробуем стартануть систему....

UPD: Включил - не работает -))))

Tronix
05.07.2019, 12:17
Все работает, кроме, конечно SD-IDE адаптера. Адаптер такой:

https://i.ibb.co/84Hdc31/P90705-120808.jpg (https://ibb.co/84Hdc31)

Я если честно, вообще не понимаю, как IDE должен работать в 8-битном режиме? У него же старшие данные вообще в воздухе висят. Да и жесткий диск не может так работать. Или может? Кто-то запускал сабж с реальным IDE жестким диском или SD-картой? Покажите фотографии пожалуйста.

Так что наверное буду заказывать переходник CF. CF то понятное дело - восьмибитный, он будет работать.

Вообще, доволен, хоть и не удалось пока CP/M поставить....
https://i.ibb.co/dgshLmX/P90705-120817.jpg (https://ibb.co/dgshLmX)

rw6hrm
05.07.2019, 13:35
CF тоже 16 бит однако... Тем не менее есть такая древняя команда, как переключение в режим 8-bit IDE. Получается, что не все переходники одинаково полезны и из их прошивки эта команда исключена.
worker_vl (https://zx-pk.ru/members/8460-worker_vl.html) использовал переходник, https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=1017075&viewfull=1#post1017075
У меня был немного иной, https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=976787&viewfull=1#post976787
Харды подключал тоже несвежие, Сигейт 20-80 Гб, всё работало нормально...

В связи с последней фоткой вопрос народу - может под диоды сделать прямоугольные площадки? Кто хочет, ставит проводные элемены, у кого есть СМД - ставит их...
Ну и по замене ЛА8 на ЛА9/ЛА13 - переделывать?

Tronix
05.07.2019, 14:20
Харды подключал тоже несвежие, Сигейт 20-80 Гб, всё работало нормально...
Ничего себе не свежие. Не свежие - это на 450Мб, на 1Гб... А это вполне себе современные. Вон у меня в рабочий комп 60Гб воткнут хард. А тут 80Гб - и несвежие..
Но все равно как-то не понимаю. Если бы все было так просто, то на кой дьявол ребята парились с XT-IDE для писюков (XT-шек с восьмибитной ISA шиной), когда можно было тыкать харды в 16-битные копеечные мультикарты, переводить их (харды) в режим 8 бит и преспокойно работать. А вот не работает оно так нифига. Тыкать в 16-битные мультикарты вставленные в 8-битную ISA можно CF-ки, и это работает. Ну и экстра-мега-раритетные харды с интерфейсом XTA (IDE-XT), которые из смутных времен перехода от MFM к IDE. Но их щаз уже не найти. Они работают, да. Но чтоб обычный IDE диск на 20 гиг работал в 8 битах - я такого не видел. Да и что за такая "древняя команда, как переключение в режим 8-bit IDE", где найти о ней хоть какие-то упоминания в манускриптах?

Xrust
05.07.2019, 14:31
вопрос народу - может под диоды сделать прямоугольные площадки?
Я всегда за универсальные решения, если они не в ущерб цене и технологичности.

Ну и по замене ЛА8 на ЛА9/ЛА13 - переделывать?
На мой скромный взгляд - излишне, ЛА8 более распространенная.

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

Вот могу еще предложить доработать плату под установку ОЗУ 2х DIP 28 32к - для этого потребуется еще одну площадку развести рядом с DIP 32 и предусмотреть перемычку на питание. Места на плате хватит, монтаж не плотный. У многих таких микросхем скопилась куча в заначках.

rw6hrm
05.07.2019, 14:56
Да и что за такая "древняя команда, как переключение в режим 8-bit IDE", где найти о ней хоть какие-то упоминания в манускриптах?
http://t13.org/Documents/UploadedDocuments/docs2010/d2015r3-ATAATAPI_Command_Set_-_2_ACS-2.pdf , страница 258, пункт 7.50 SET FEATURES, команда 01Н - "If the device implements the CFA feature set, then enable 8-bit PIO transfer mode".
Насколько я помню, Пера Путник (Pera Putnik) подключал харды к Спектруму именно таким образом. И это ещё (кажется) до истории с разработкой XT-IDE. Причём "лишние" выводы у него тоже висели в воздухе, мы ещё на эту тему с ним переписывались.
О, нашел, http://piters.tripod.com/simpif.htm

8 бит - исключительно PIO режим, а хочется же как минимум DMA, а он только в 16 битах доступен.

В Мониторе ( и в биосе) есть такие строчки, как

LD A,CF_8BIT ; Set IDE to be 8bit
OUT (CF_FEATURES),A
LD A,CF_SET_FEAT
OUT (CF_COMMAND),A

где CF_8BIT=1, CF_FEATURES=11Н, CF_COMMAND=17Н, CF_SET_FEAT=EFH. Потом ещё и отключаем и кэш записи,

LD A,CF_NOCACHE ; No write cache
OUT (CF_FEATURES),A
LD A,CF_SET_FEAT
OUT (CF_COMMAND),A

где CF_NOCACHE=82Н.
Всё по упомянутому манускрипту...

Tronix
05.07.2019, 16:59
http://t13.org/Documents/UploadedDoc..._-_2_ACS-2.pdf , страница 258, пункт 7.50 SET FEATURES, команда 01Н - "If the device implements the CFA feature set, then enable 8-bit PIO transfer mode".
Насколько я помню, Пера Путник (Pera Putnik) подключал харды к Спектруму именно таким образом.

Интересное, в принципе, чтиво. Но CFA - это расшифровывается как CompactFlash Association, буквы CFA как бы и так намекают. И все это имеет очень слабое отношение к HDD. Но я, забавы ради, все-таки подключил HDD Seagate 30Gb, конечно с известным результатом. Что-ж, заказал переходник с aliexpress IDE-CF. Благо стоит копейки. Будем ждать.


8 бит - исключительно PIO режим, а хочется же как минимум DMA, а он только в 16 битах доступен.

Прикол в том, что в платке XT-IDE для писюка нет DMA. Харды работают в PIO.

А пока в BASIC'е фрактал вывел, типа того:

10 MAXITER=20
20 LET C$=" .,'~!^:;[/<&?oxOX# "
30 FOR Y=-39 TO 39
40 FOR X=-39 TO 39
50 CREAL=X/20
70 CIMAG=Y/20
80 ZREAL = CREAL
90 ZIMAG = CIMAG
95 COUNT = 1
100 ZM = ZREAL*ZREAL
105 ZN = ZIMAG*ZIMAG
107 ZL = ZM+ZN
110 IF ZL>4 THEN GOTO 170
120 ZR2=ZM-ZN+CREAL
130 ZIMAG=ZREAL*ZIMAG*2+CIMAG
140 ZREAL=ZR2
150 COUNT=COUNT+1
160 IF COUNT<MAXITER THEN GOTO 100
170 PRINT MID$(C$,1+COUNT,1);
180 NEXT X
185 PRINT ""
190 NEXT Y
200 END

rw6hrm
05.07.2019, 21:43
...а вот тут, господа, я вынужден развести руками... Обеспокоенный постами уважаемого Tronix, подсоединил к плате старый хард, провёл все манипуляции и... ничего не грузанулось. Хорошо, что не разобрал прототип, переставил туда контроллеры, подсоединил диск и... он заработал! Разница между двумя схемами в наличии двух буферов в прототипе, по данным и по младшим разрядам адреса. И что теперь делать? О_о Времянки? worker_vl упоминал, что для работы переходника IDE-SD ему пришлось ставить конденсатор на /IORD, а потом ещё и замена ИД4 на 1533 убила и этот вариант...
В общем я в печали и непонятках, надо усугубить дело пенным или завязывать с дальнейшими разборками, остановившись на CF, либо усложнять схему буферами и защёлками с переходом в 16-битный режим (только тогда смысл простоты всей конструкции теряется)...

Tronix
05.07.2019, 22:21
Вот с этим IDE реально не все так просто. Я пару дней мучился, когда собирал второй свой контроллер IDE для Поиска. Он повторяет вообщем-то схему XT-IDE первых ревизий, и первый контроллер у меня работает без проблем. А спаял второй - и тут началось... Шлейфы! Сначала запускал с 80-проводным шлейфом и SD-адаптером показанным где-то тут выше. Все прекрасно, SD определилась, MS-DOS загрузился. И тут я решил потестировать скорость. Комп завис, а после перезагрузке я получил месево из файловой системы. Было видно, что каждый нечетный байт повторил четный, что то вроде в именах файлов такое: CCMMNN.CCM и тп. Это COMMAND.COM был раньше. Защелки были впаяны 74F573, потому что были на столе. Там две используются как защелки, а третья - как буфер, типа АП5, на остальные сигналы. Поскольку дела с этой серией не имел, первым делом подумал на них. И тут у меня сломался шлейф 80-пиновый (при очередном выдергивании из адаптера) и я вставил шлейф 40-пиновый. И тут уже не дошло дело до загрузки MS-DOS, даже неправильно начало определятся название SD-адаптера при детекте. Символы так-же спутаны, но уже не прослеживается четкая разница между чет/нечет. Почти что мусор. Ну, точно 74F, подумал я. Ладно, нашел 1533ИР33, впаял их. И практически такое же поведение - неправильно выводит название адаптера, не грузит DOS. При этом, случайно коснувшись один раз нижней части платы в районе одной из защелок при загрузке написал один раз правильное название адаптера. Короче забил нафиг, магия какая-то, а я не люблю магию. Оставил плату отлежаться до понимания происходящего. В первом контроллере IDE стоят 74HC573 и в ус не дуют, плевать им на шлейфы, адаптеры SD, жесткие диски - работают всегда и со всем. Но больше у меня 74HC нету. Есть еще 74HCT и 74ALS, есть мысль попробовать 74HCT поставить, но это брутфорс какой-то получается, нафиг.

Вот и тут тоже.... Надо бы кстати что-ли куда-нибудь в FORM128 попробовать вставить команду Identify (0xECh) и выводить на экран, тьфу, в терминал название HDD, серийный номер и прочую лабуду, что накопитель отдает. Может хоть как-то в отладке поможет.

Вообщем интересно, какая точная модель HDD, какой шлейф, какие буферы стоят (серия) на прототипе...
Усложнять наверное не нужно.... Пускай будет CF.
Кстати, вот тут (http://xepb.org/dtz/sgsbcsd.html) к конструкции Grant Searle's цепляли SD карту, но это ногодрыг, и тормоза адовые. С тем же успехом можно SD и на ВВ55 повесить. Уж если и делать SD, то делать по хорошему, например как в Специалисте - байт параллельно плюнул, он по SPI выдавился, при этом в регистре уже прочитанный байт. Ну, короче, CPLD нам всем в помощь -)

Hunta
06.07.2019, 13:11
Но больше у меня 74HC нету
74HC573 в ЧиД есть

Alex_LG
08.07.2019, 09:14
Уже писал когда-то.
Делал СР/М машинку на основе вот этого http://cpuville.com/Z80_kit.html
Пробовал старенькие винты Сигейты на 40 и 80Мб - пишет и читает, но СР/М не запускается, с Самсунгом на 10Гб - все ОК.
В схеме никаких буферов нет.

https://drive.google.com/file/d/1TvenvXgdS1NSXleXUVtUaJqnxl1tJ3Bw/view?usp=sharing

Tronix
08.07.2019, 12:58
Попробовал адаптировать утилитку Identify Drive.... Запускается в мониторе G5000:


>g5000
IDE Test program - Version 01.00.00
Sort of translated from T. REH's Pascal program by Pete Cervasio.

ID Constant : 33930
Fixed Cylinders : 00980
Removable Cylinders : 00000
Number of heads : 00016
Phys Bytes / Track : 00000
Phys Bytes / Sector : 00576
Sectors per track : 00032
Serial number : 011602K2304X2811
Controller revision : HDX 2.15
Controller model : SanDisk SDCFB-256
Buffer size : 00002
Controller type : Dual port, multi sector
Capabilities (Bit9=LBA): 00768
Yes
Current # Cylinders : 00980
Current # Heads : 00016
Current # Sectors : 00032


UPD: Обновил програмулю, забыл перед командой "identify drive" выбрать накопитель #0. Теперь выбирается -)

Tronix
08.07.2019, 19:51
74HC573 в ЧиД есть

Да не, как это всегда бывает, дело было не в бобине. Вместо 555ЛН1 была запаяна 555ЛЛ1. Заработал контроллер IDE для Поиска с 1533ИР33, 1533АП6 и другой мешаниной из серий. Сорри за оффтоп.

Hunta
09.07.2019, 06:20
Вместо 555ЛН1 была запаяна 555ЛЛ1
Бывает. Я вообще тут как то 1801ВМ3 с разворотом на 180 градусов воткнул. Ничего, выжил :)

Tronix
09.07.2019, 12:58
Немного другой мандельброт:

20 X1=59:Y1=21
30 I1=-1:I2=1:R1=-2:R2=1
40 S1=(R2-R1)/X1:S2=(I2-I1)/Y1
50 FOR Y=0 TO Y1
60 I3=I1+S2*Y
70 FOR X=0 TO X1
80 R3=R1+S1*X:Z1=R3:Z2=I3
90 FOR N=0 TO 30
100 A=Z1*Z1:B=Z2*Z2
110 IF A+B>4 THEN GOTO 140
120 Z2=2*Z1*Z2+I3:Z1=A-B+R3
130 NEXT N
140 PRINT CHR$(63-N);
150 NEXT X
160 PRINT
170 NEXT Y
180 END

https://youtu.be/OhbEpeGDRtk

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

А у меня тоже назрел вопрос по /RTS. Что-то не работает у меня это. Ну, то есть если я в бейсик копирую текст из буфера обмена, то проскакивают некорректные символы. Это если Flow control = OFF. Если же поставить Flow control = RTS/CTS, то не могу даже активировать консоль в мониторе, потому что не принимает клавишу 'Space'. Вообще, как это должно работать?

worker_vl
09.07.2019, 13:13
Влезу со своим мнением :) судя по сорцам, проц говорит порту снять RTS, пока сохраняет данные, а потом отпускает. Не исключено, что Васик делает это со своим разумением, поэтому и пропуски возможны. А порт на компе точно полный? А, главное, кабель чтоб не три провода, а, хотя-бы, восемь.
Добавлю ещё по поводу биоса, там РТС снимается, когда заполнен буфер, а Васик ориентирован не на ввод данных, а на посимвольный ввод, поэтому я сильно подозреваю, что заставить его читать поток не просто...

Отправлено с моего iPad используя Tapatalk

Tronix
09.07.2019, 13:59
Порт аппаратный, кабель полный. Отложим бейсик, в мониторе при загрузке HEX файла на скорости проца в 1 МГц та же проблема.
Я запутался в этих RTS/CTS. Вот смотрите что здесь пишут: http://bsvi.ru/signaly-kvitirovaniya-rts-cts-itp-i-rs232-voobshhe/

Цитирую:
CTS (Clear To Send)
Рассмотрим такую ситуацию – компьютер отправляет модему большое количество данных на скорости 38400 бод, а модем подключен к другому модему на скорости 9600 бод.

Буфер внутри модема быстро заполняется, и, для того, чтобы он не переполнился, модем должен сообщить компьютеру “прекрати передачу!”. Для этого и служит линия CTS.

Линия CTS... Про RTS же пишут, что им рулит вообще компьютер, типа что комп готов принимать данные. Я окончательно запутался. У нас RTS управляется 8051, RTS же идет на 7 ногу COM-порта, и это RTS. CTS же лежит вообще на земле перманентно. Может тогда в COM-порте нужно припаять RTS на CTS? Ничего не понимаю.

worker_vl
09.07.2019, 14:07
Может тогда в COM-порте нужно припаять RTS на CTS? Ничего не понимаю.

Вобщем, в этом смысл нульмодемного кабеля: TXD-RXD, RTS-CTS, DSR+DCD-DCR. Это пары , которые должны соединяться. А случай с тем, что CTS сидит на земле, так у самого слабенького писюка скорость обработки данных намного выше, чем у нашей аюши, поэтому эту обратную связь можно проигнорировать.


Отправлено с моего iPad используя Tapatalk

Tronix
09.07.2019, 14:30
То есть в DB9-мама я должен припаять этот RTS к 8 пину, а не к 7?

worker_vl
09.07.2019, 14:38
То есть в DB9-мама я должен припаять этот RTS к 8 пину, а не к 7?

7 пин с одной стороны кабеля приходит на 8 пин на другом конце, и наоборот

https://ru.m.wikipedia.org/wiki/Нуль-модемное_соединение

Отправлено с моего iPad используя Tapatalk

Tronix
09.07.2019, 15:25
Спасибо, отчасти с этим разобрался. Однако, все равно некоторые символы при передаче портятся. Теперь не теряются как раньше, а именно портятся. Применена MAX202 CPE микросхемка, в обвязке стояли литы 10мкФ. Поменял на керамику 1мкФ (даташит допускает) - ничего не изменилось. Странно...

worker_vl
09.07.2019, 15:30
К сожалению, про MAX202 ничего сказать не могу. Тут-бы в пору логический анализатор на порты 51-го повесить, но, подозреваю, его под рукой нет...

P.S. А то, что автор темы про кварцы писал - учтено? Может банально получилась нестандартная скорость?

Отправлено с моего iPad используя Tapatalk

Tronix
09.07.2019, 15:39
Соснифал RXD после MAX'а (9 нога MAX), нормальные данные идут. MAX не при чем...
Лог анализатор есть, но заснифал просто через USB-UART свисток.
Кварц стоит 9,8304 MHz, клок на 8251 ~2.457 MHz

https://i.ibb.co/mFJ1Hx8/P90709-154436-resize.jpg (https://ibb.co/mFJ1Hx8)

На TxC,RxC ~614.6 KHz

https://i.ibb.co/ZgsVQhM/P90709-154619-resize.jpg (https://ibb.co/ZgsVQhM)

alx32
09.07.2019, 16:09
Tronix, следите за своим Т9!

worker_vl
09.07.2019, 16:17
Ну, если всё так красиво... может подпаленный ВВ51? Или оно себя только в Васике так ведёт?

Если честно, я в Васике не пробовал с термнала вливать... не знаю, как у меня поведёт...

Вечером доберусь - попробую...

Отправлено с моего iPad используя Tapatalk

worker_vl
09.07.2019, 19:04
Чтож я сразу-то не спросил про какой Васик речь шла :) А, видимо, рассказ был о ПЗУшном Васике :) Так про него и автор этого компа нелестно отзывался, и мои отсылки к работе с RTS тоже были относительно BIOS CP/M! Он, этот Васик, ведь работает прямиком с железом и как реализует ввод с терминала мне не известно. У меня он тоже портит символы, причём не предсказуемо. А вот BBCBASIC вполне себе нормально принимает текстовый поток, поскольку работает через стандартную подпрограмму ввода, соответственно, с контролем переполнения входного буфера и выставлением запрета передачи в порт. Правды ради, нужно сказать, что и BBC принимал программу построения Мандельброта только построчно, а всем пакетом тоже дал ошибки, собственно, как и Downloader. Там тоже были рекомендации только один файл за раз заливать. Но тот Васик, из ПЗУ, и построчно не желает работать.

Tronix
09.07.2019, 20:03
Да, речь идет о ПЗУ Бейсике и ПЗУ загрузчике HEX файлов. В первом портятся символы, второй начинает сыпать Checksum error (видимо из-за того, что портятся символы). Я пока до CP/M не добрался ввиду отсутствия CF и переходника.
Значит в BBCBASIC не портятся.. Интересно, потому что если я хоть что-то правильно понимаю, то ПЗУ Basic для ввода/вывода использует вектора 0x8, 0x10, которые обслуживает монитор. То есть все равно где символы портятся - в Basic или в загрузчике HEX, так как работают одни и те же процедуры.
Более того, глядя на BIOS128.ASM я вижу, что процедуры serialInt , conin и conout идентичны с MONITOR.ASM, ну разве только с той разницей, что в BIOS128.ASM учитывается IOByte, который из CP/M собственно. Странно...

L Juriy
09.07.2019, 20:18
Tronix,
У меня ошибки при передаче файлов появлялись, когда не совпадали форматы приемника и передатчика(стояли "чет" у передатчика, а у приемника "нету").
Хотя при этом вывод на экран(терминал) работал без ошибок.

Tronix
09.07.2019, 20:34
L Juriy, да нет, у меня 8N1 стоят в терминалах. То есть получается, что у нас с worker_vl портятся символы в ПЗУ BASIC при вставке из буффера обмена текстового файла, а у вас не портятся, если форматы приемника-передатчика совпадают, разумеется. Интересно.
Завтра попробую проверять перед отправкой символа не TxEMPTY, а TxRDY в статусном регистре 8251; в мониторе в процедуре conout:

conoutB:
PUSH AF


conoutB1: IN A,(SIOB_C+6) ; Статус байт D2=1 передача закончена
AND 00000100B ; маска
JR Z,conoutB1 ; Loop until SIO flag signals ready
POP AF ; RETrieve character
OUT (SIOB_D+7),A ; OUTput the character
RET

Вот здесь AND 00000100B надо наверное заменить на AND 00000001B. Попытка не пытка...

Tronix
10.07.2019, 13:27
Вроде не в этом дело. Взял вырезал из монитора все процедуры conin, conout и serialInt в отдельный тест. Оставил в процедурах только работу с ВВ51. Программа просто читает байт и сразу выводит его (эхо). Грузиться через загрузчик, стартует по G5000. Для этого выключаю в программе ROM и включаю IM2. Насколько криво - не знаю, не программист на Z80, но как-то работает. А, еще делитель у ВВ51 сделал /16 - получил 38400 bps. И вот когда загружаешь эту программу - и посылаешь "войну и мир.TXT" - ни одного искаженного байта. Все четко, как чечетка. А в мониторе и ПЗУ бейсике - порча символов.

HardWareMan
13.07.2019, 07:15
Tronix, ну дык ты же эхо мгновенно отдаёшь, а барсик может чего-то интерпретировать пытается. Не пробовал управление потоком задействовать?

Tronix
13.07.2019, 07:44
Tronix, ну дык ты же эхо мгновенно отдаёшь, а барсик может чего-то интерпретировать пытается. Не пробовал управление потоком задействовать?

Я тоже об этом подумал, поэтому ради эксперимента вставил нефиговую задержку между CALL conin и CALL conout, вот такую:

; Clobbers A, B and C
ld bc,#0
1$:
bit #0,a ; 8
bit #0,a ; 8
bit #0,a ; 8
and a,#255 ; 7
dec bc ; 6
ld a,c ; 4
or a,b ; 4
jp nz,1$ ; 10, total = 55 states/iteration

Это где-то больше секунды точно. И - все работает, медленно дичайше, но символы не портяться. То есть не в интерпритации дело..
Управление потоком - задействовано. Линия RTS дергается. Реально дергается, я смотрел овцелографом - когда войну и мир шлешь и буфер программный переполняется - она тормозит передачу и затем возобновляет.

Код скопировал в последнем эксперименте один в один вообще из монитора - в мониторе в лоадере портит символы, если грузить в память тестовую прогу и отключать ROM и переключаться на IM2 - не портит символы.

Нашел наверное перехлестывание областей памяти бейсика с монитором, уж обрадовался, что вот оно - а нифига, опять мимо. Бейсик свои переменные начинает с:

WRKSPC .EQU 4090H ; BASIC Work space

в то время как в мониторе работа с буферами ввода-вывода лежит вот здесь:

SER_BUFSIZE .EQU 40H

.ORG $4000
serABuf .ds SER_BUFSIZE
serAInPtr .ds 2
serARdPtr .ds 2
serABufUsed .ds 1
serBBuf .ds SER_BUFSIZE
serBInPtr .ds 2
serBRdPtr .ds 2
serBBufUsed .ds 1

primaryIO .ds 1
secNo .ds 1
dmaAddr .ds 2

stackSpace .ds 32
STACK .EQU $ ; Stack top


Получается вроде, что $40 + $40 + 32 = 160 байт, и они уже больше, чем $90 (144).
Но уменьшил размер буфера до 32 байт каждого, прошил - и ничего не поменялось. Видимо нужно принять и смириться.

Tronix
18.07.2019, 09:49
Ради интереса попробовал IDE пропустить через буферы, для этого спаял такую платку-переходник:

https://i.ibb.co/nL3PqPh/photo-2019-07-16-10-51-49.jpg (https://ibb.co/nL3PqPh) https://i.ibb.co/mN53V80/photo-2019-07-16-10-51-58.jpg (https://ibb.co/mN53V80)

На соплях там болтается 555ЛЛ1, игрался с задержкой /WR сигнала, изначально ее не было. A0,A1,A2,/RES,/WR,/RD,/CS идут через 74HC244. Данные - через 1533АП6. У АП6 /OE повешен на /CS, DIR на /IORD.

Результат - никакой. Мой SD-IDE переходник не мигает даже лампочкой обращения к нему. Жесткий диск Seagate 40GB так же не работает.

Сигналы при записи в порт IDE какие-то такие:

https://i.ibb.co/ZKknJ9T/red-cs-yel-wr.png (https://ibb.co/WFYb3CK)

Потом прилепил 555ЛЛ1, сделал задержку /WR:

https://i.ibb.co/YZLP3vk/red-cs-yel-wr-555-LL1.png (https://ibb.co/NSytswj)

Помогло чуть менее чем никак. Пробовал разные процы - SSG, Zilog 4, Zilog 20, MME 80 - все процы работают, но ни с каким SD-IDE адаптер не подает признаков жизни. И жесткий диск соответственно тоже не работает. Чтож, жду CF-адаптер, никак не доедет. Китайцы еще и без трек-номера отправили, вот и сижу гадаю....

HardWareMan
19.07.2019, 05:45
Какой толк от графика управляющего сигнала без сигналов шины данных? И ещё, а что там с CS1x и CS3x?

Tronix
19.07.2019, 10:32
Какой толк от графика управляющего сигнала без сигналов шины данных? И ещё, а что там с CS1x и CS3x?

Да просто так, для поддержания разговора, в ожидании переходника IDE-CF.... CS1x - это и есть /CS. CS3x - если это то, что я думаю, то там VCC.
Сегодня еще попробовал с олдскульным HDD Conner 450 Mb - воткнул напрямую в плату. FORM128.HEX вроде отработала, лампочка активности горела и было слышно как головки перемещаются. PUTSYS.HEX вроде тоже шкрябнула головкой. Но, при загрузке висит на Loading CP/M..., лампочка активности горит. Вообщем почти, но не совсем -))) При чтении идентификации возвращает везде 0x5050, думаю что и при чтении секторов то же самое.

HardWareMan
19.07.2019, 18:41
В том то и дело, что не понятно что происходит на ШД в моменты записи и чтения. Зацепи логик и глянь.

Tronix
19.07.2019, 18:48
В том то и дело, что не понятно что происходит на ШД в моменты записи и чтения. Зацепи логик и глянь.
А что там может происходить, если ШД и ША напрямую от проца торчат? То, что в даташите на проц написано, то наверное и происходит. Честно говоря лениво, плюс логик на 8 каналов всего, полную картину не увижу. А лепить самопальный логик, как это я делал с ISA-шиной опять же лениво.
Дождаться надо CF переходника. Вот если и с ним не взлетит, то тут уже да, будет интересно. А с HDD оно, по моему мнению, и не должно в таком виде работать.

Mech
26.07.2019, 08:41
что то притихла тема , расскажите кто собрал , как успехи ? может кто подключил sd ридер, или настоящий винчестер .

dmtr
03.08.2019, 19:58
Пытаюсь запустить комп с SD адаптером на FC1307A с Ali. По спекам она поддерживает 8bit mode. После установки CPM на карту по инструкции прочитал ее на большом компе. Там образ записался. Но не загружается. Зависает на Boot CP/M. Написал кусок кода, который читает как в мониторе и потом печатает из памяти в консоль. Читает чушь. Попробовал добавить проверку DRQ перед чтением сектора с диска, на проверке зависает. Куда бы копнуть?

Tronix
07.08.2019, 21:46
Что-то мои CF-IDE уже второй месяц все едут, никак не приедут. Есть уже грешная мысль вскрыть CF-карту и МГТФ запаять ее, но пока лень пересиливает. Вместо этого заказал в другом месте CF-IDE еще одни. И опять без трекинга :(

А пока решил попробовать вот что: выпаять подтягивающие резисторы на шине данных, ну и заодно на /WR, /RD и /CS2 . Потому что смотрю я на разные SBC (single board computer) в совокупности с CF, и вообщем-то ни у кого не вижу подтяжки. Начиная даже с конструкции Grant Searle (http://searle.hostei.com/grant/cpm/index.html) . Потом еще известный модульный компьютер RC2014, Compact Flash Module (https://rc2014.co.uk/modules/compact-flash-module/) для него. Простенький Z80-CPM-SBC (https://www.retrobrewcomputers.org/forum/index.php?t=msg&th=46) , так же никакой подтяжки. Плюс ко всему, чувак пишет, что проверял его с Sintechi 1309 AK IDE-SD адаптером, а это тот, который как раз у меня есть.

Вот завтра выпаяю резисторы, посмотрим что как....

rw6hrm
19.08.2019, 10:29
...я счас тут очень редко проявляюсь, но почитываю.
Выпаивая резики подтяжки не забываем, что их основная цель - формирование вектора обработки прерывания. Без них при наступлении оного проц может улететь в небеса.
Я бы попробовал неиспользуемые входы данных на IDE-разъёме притянуть через резисторы 100 Ом к земле. К сожалению, сам смогу попробовать только в октябре...

Shumadan
19.08.2019, 11:26
Что-то мои уже второй месяц все едут, никак не приедут. Есть уже грешная мысль вскрыть CF-карту и МГТФ запаять ее, но пока лень пересиливает. Вместо этого заказал в другом месте CF-IDE еще одни. И опять без трекинга :(


И не приедут скорее всего. Открывайте спор и возвращайте деньги. Мне за этот год ни одна посылка без трекинга так и не дошла. В т.ч. и CF-IDE)

HardWareMan
19.08.2019, 20:31
И не приедут скорее всего. Открывайте спор и возвращайте деньги. Мне за этот год ни одна посылка без трекинга так и не дошла. В т.ч. и CF-IDE)
А мне - дошли все, в том числе и бестрековые.

Tronix
19.08.2019, 20:43
А я спалил свой единственный IDE-SD адаптер в ходе экспериментов с Аюшей, путем подачи вместо пяти вольт - двенадцати \w/. Аюша выжил(а), потому что быстрее коротнул контроллер в SD-IDE и БП ушел в защиту. Такие дела.

А насчет резисторов подтяжки - выпаял я их, и да, D1 надо подтягивать, потому что это наверное что-то типа status, возвращаемый от контроллера TV (atmega). Если не подтягивать - выводит приветствие монитора и бесконечно ждет, видимо когда Atmega освободиться, а так как подтяжки нет, там вечно 0. Поставил 10 ком. D0 и D2 - тоже подтягивать, потому что как верно заметил автор, они с помощью диодов формируют адрес на шине в момент прерывания по IM1 (или IM2, я забыл). Короче для монитора не нужны, а вот когда CP/M работает - нужны, поэтому тоже подтянул 10к.

С реальным жестким диском на 450Мб ситуация не изменилась - FORM128 вроде как двигает головки, PUTSYS вроде тоже разок шкрябает. Но загрузки не происходит, висит на Loading CP/M. С SD-IDE, пока он был жив, то же принципиально ничего нового, так же не грузит, да даже лампочка активности не горит. Ну и на каком-то из моментов перетыканий туда-сюда все это дело я и бахнул в 12 вольт :v2_dizzy_vodka:

Tronix
27.08.2019, 09:31
Открывайте спор и возвращайте деньги.

Внезапно, приехали CF-IDE адаптеры. Вообщем, с четвертой попытки подобрал CF-карточку, на которую все-таки смог поставить CP/M. Что самое смешное, две на первый взгляд одинаковых CF SanDisk 256Mb - одна работает, другая - нет. Различаются годом выпуска. Cisco 128Mb - не работает. STEC 128 Mb - не работает. Ладно, остановился на SanDisk 256 Mb. Установил CP/M, в мониторе загрузка по X , Y происходит. Перенес DOWNLOAD.COM на A:. А дальше чего-то не очень пошло - вставляю в терминал файл CMP211FilesPkg.txt - сохранил на диск C: только LOAD.COM, на остальные файлы ругнулся === File length error ===. Ну ладно, копипастить стал по одному файлу - вроде сохраняет нормально, например PIP.COM, только по команде DIR его не видно. Но он запускается. То есть, набираю DIR, вижу только C: LOAD.COM. Набираю PIP - оно загружается, то есть на диске присутствует. Как так?
PS: Сижу под user 0, по дефолту.

worker_vl
27.08.2019, 10:57
Внезапно, приехали CF-IDE адаптеры. Вообщем, с четвертой попытки подобрал CF-карточку, на которую все-таки смог поставить CP/M. Что самое смешное, две на первый взгляд одинаковых CF SanDisk 256Mb - одна работает, другая - нет. Различаются годом выпуска. Cisco 128Mb - не работает. STEC 128 Mb - не работает. Ладно, остановился на SanDisk 256 Mb. Установил CP/M, в мониторе загрузка по X , Y происходит. Перенес DOWNLOAD.COM на A:. А дальше чего-то не очень пошло - вставляю в терминал файл CMP211FilesPkg.txt - сохранил на диск C: только LOAD.COM, на остальные файлы ругнулся === File length error ===. Ну ладно, копипастить стал по одному файлу - вроде сохраняет нормально, например PIP.COM, только по команде DIR его не видно. Но он запускается. То есть, набираю DIR, вижу только C: LOAD.COM. Набираю PIP - оно загружается, то есть на диске присутствует. Как так?
PS: Сижу под user 0, по дефолту.

Про то, что передавать надо по одному файлу за раз писали раньше в теме. Заморочка с тем, что за время сохранения файла переполняется буфер. Вобщем, не останавливает заливку. После форматирования карты и заливки системы, сильно рекомендую пользоваться виндовыми утилитками. Очень ускоряет процесс. Опять-же, выше писалось как что делать.


Отправлено с моего iPad используя Tapatalk

Tronix
27.08.2019, 11:31
Про то, что передавать надо по одному файлу за раз писали раньше в теме. Заморочка с тем, что за время сохранения файла переполняется буфер. Вобщем, не останавливает заливку.

Да это как бы и хрен с ним, это я могу понять, что буфер переполняется и байт залез на байт и все пошло не так. Это ясно, в целом. Понятно. Не ясно другое - когда по одному файлу передаешь, в смысле в текстовом файле там один файл всего, например ED.COM:


A:DOWNLOAD ED.COM
U0
:C3C00120434F505952494748542028432920313937392C204 449474954414C2052
..SKIP..
>0073

Прога DOWNLOAD пишет, что "OK", вываливается в приглашение C>. Набираю DIR и не вижу ED.COM, а вижу только первый залитый ранее файл, например STAT.COM. Но, если набрать ED - то он запускается. Но по DIR его не видно. Перезагрузка не меняет ситуации. По DIR так же присутствует один файл STAT.COM, но если запустить ED - он запуститься. Аналогично и с любыми остальными программами. Они заливаются, но по DIR не отображаются. Но запускаются по имени файла.
Вот в чем вопрос-то....

worker_vl
27.08.2019, 11:33
Вона чё... таких чудес ещё никто не описывал :)

Ну, тогда через картридер можно попробовать... под виндой.

Отправлено с моего iPad используя Tapatalk

Error404
27.08.2019, 12:52
Да это как бы и хрен с ним, это я могу понять, что буфер переполняется и байт залез на байт и все пошло не так. Это ясно, в целом. Понятно. Не ясно другое - когда по одному файлу передаешь, в смысле в текстовом файле там один файл всего, например ED.COM:


A:DOWNLOAD ED.COM
U0
:C3C00120434F505952494748542028432920313937392C204 449474954414C2052
..SKIP..
>0073

Прога DOWNLOAD пишет, что "OK", вываливается в приглашение C>. Набираю DIR и не вижу ED.COM, а вижу только первый залитый ранее файл, например STAT.COM. Но, если набрать ED - то он запускается. Но по DIR его не видно. Перезагрузка не меняет ситуации. По DIR так же присутствует один файл STAT.COM, но если запустить ED - он запуститься. Аналогично и с любыми остальными программами. Они заливаются, но по DIR не отображаются. Но запускаются по имени файла.
Вот в чем вопрос-то....

Единожды передайте туда нормальную терминалку (читаю что за мучения тут описаны...) и дальше лейте нормально по X/Z modem.

Что до невидимых файлов, то у CP/M есть атрибут системного файла (старший бит в одном из трех символов расширения файла), когда он выставлен, файлы не показываются по DIR в штатном консольном процессоре. Это опять же вопрос к утилите-загрузчику. Сравните какой список файлов выводит POWER, в нем же можно посмотреть или поправить атрибуты файлов.

Tronix
27.08.2019, 13:06
Единожды передайте туда нормальную терминалку (читаю что за мучения тут описаны...) и дальше лейте нормально по X/Z modem.

Какую посоветуете? Z-modem хочется...

Что до невидимых файлов, то у CP/M есть атрибут системного файла (старший бит в одном из трех символов расширения файла), когда он выставлен, файлы не показываются по DIR в штатном консольном процессоре. Это опять же вопрос к утилите-загрузчику. Сравните какой список файлов выводит POWER, в нем же можно посмотреть или поправить атрибуты файлов.

Хм, POWER.COM выводит нормально:

C>power


POWER 3.08 on CP/M 2.2 Z

Copyright (c) 1981, 82, 83, 84 by PAVEL BREDER
All rights reserved. 84-05-19

-from-COMPUTING!-SAN-FRANCISCO-CA--94123-USA--

C0=dir
C0: 1= ASM .COM | 2= BBCBASIC.COM | 3= DDT .COM | 4= DISPLAY .COM
C0: 5= DUMP .COM | 6= ED . | 7= ED .$$$ | 8= ED .COM
C0: 9= LOAD .COM | 10= PIP .COM | 11= POWER .COM | 12= STAT .COM
C0=

А DIR показывает только ASM.COM. Хотя, если например дать команду DIR ED.*, то покажет только ED.COM ...

Error404
27.08.2019, 13:46
Какую посоветуете? Z-modem хочется...


Мне на CP/M больше всего нравится Qterm. Кое-что о моих с ним экспериментах (и сами архивы с программой) можно почитать начиная с этого сообщения (https://zx-pk.ru/threads/26689-razgovory-na-temu-kommunikatsij-i-oriona.html?p=876743&viewfull=1#post876743). Умеет VT100 и VT52, файлы принимает и шлет по протоколам Кермит, Xmodem, Ymodem, в доке в архиве во вложении описано как его настроить для конкретной аппаратной реализации RS-232 (где пропатчить процедуры отправки/чтения байта и статуса). Ymodem вполне продвинутый протокол. Помнится я этим терминалом пользовался в связке со стандартным Hyperterminal Винды (который тоже умеет VT52 и X/Ymodem).

Tronix
27.08.2019, 14:19
Разобрался. Такой прикол с одним только файлом по команде DIR был из-за настроек терминала, а именно, при Enter посылались символы CRLF. Поставил только LF и поперло...

Mech
04.09.2019, 13:07
Tronix, можешь фото платы выложить ?

Tronix
04.09.2019, 17:26
Tronix, можешь фото платы выложить ?

https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=1019336&viewfull=1#post1019336

Tronix
05.09.2019, 07:49
Пользуясь случаем спрошу - а никто не пробовал резгонять Аюшу до номинала кварца - 9.8304 МГц ? Я пробовал с процессором Zilog 20 MHz - чет не взлетает. Максимум, что удалось добиться - вывода строчки-полстрочки приветствия монитора "Press [SPACE] to activate console" или "Press [SPACE] to activ" или "Press [SPA" и на этом вообщем-то все. Упирается в 580ВВ51, как думаете?

Из новостей по моей Аюше - приехали CF-IDE переходники с разъемом IDE "папа", что позволило подключить CF через кабель IDE 40 жил. Все работает так же как и раньше, SanDisk CF работает, остальные имеющиеся CF, о которых писал раньше - нет. Но главное, теперь можно все убрать в корпус, который я присмотрел, а то с CF-IDE переходником у которого разъем "мама", не влезала Аюша по высоте. Теперь все должно влезть.

До сих пор не проверенными остаются видео-выход и контроллер клавиатуры, все не могу телевизор никак на работе найти или тв-тюнер или хоть что-то, что примет видео сигнал. Конечно жаль, что выход видео, VGA было бы мне гораздо уместнее. Поэтому работаю с Аюшей пока только через терминал. Это в принципе и устраивает.

rw6hrm
05.09.2019, 12:01
Пользуясь случаем спрошу - а никто не пробовал резгонять Аюшу до номинала кварца - 9.8304 МГц ? Я пробовал с процессором Zilog 20 MHz - чет не взлетает. Максимум, что удалось добиться - вывода строчки-полстрочки приветствия монитора "Press [SPACE] to activate console" или "Press [SPACE] to activ" или "Press [SPA" и на этом вообщем-то все. Упирается в 580ВВ51, как думаете?

1. Зачем? ;)
2. Да, именно ВВ51 всё портит, он же до 2.5 МГц работает, причём не только тактовой, но и по шине. Можно было бы использовать WAIT, но бессмысленно. Для СР/М 2-2.5 МГц тактовой процессора самое то... Но вполне возможно, что у мну разводка платы корявенькая для таких частот (как однажды немного некорректно об этом мне сообщил fifan).
3. Можно попробовать заменить ВВ51 на 68В50 как более резвый по жизни, но большинство народа его вряд ли достанет (что уже было доказано в соседней теме). Ну или вернуться к сирловскому оригиналу, с использованием SIO на 7 МГц.


Конечно жаль, что выход видео, VGA было бы мне гораздо уместнее.
Возможно. Но в наличии не было готового узла, способного переводить инфу с параллельного входа на ВГА, только с последовательного. Ссылки на этом форуме на подобные конструкции были.

Вот поэтому и говорил ранее - не используйте готовые печатки, в макетках наша сила :D, собрали по кусочкам из разных источников и радуемся. Всё равно в единственном экземпляре делается...

Mick
05.09.2019, 12:51
Можно попробовать заменить ВВ51 на 68В50 как более резвый по жизни, но большинство народа его вряд ли достанет

Ну как бы на али они есть. Кроме того можно посмотреть в сторону серии 16CX50 (16C450, 16C550 и так далее) - https://ru.wikipedia.org/wiki/16550_UART
Их точно полно и разных производителей.

Tronix
05.09.2019, 17:30
1. Зачем?

Ну, не знаю, чтоб быстрее работал -) Паскаль чтоб компилировал быстрее, фрактальчики в бейсике быстрее рисовались... Хотя и 4 МГц пока хватает.

Между делом запихал все это дело в корпус от бывшего медиа-проигрывателя Pioneer. Внизу разместил платку DC-DC питальника 6-60V в 5В 2А, там же CF-IDE переходник. Туда же в будущем планирую установить плату TCP/IP -> UART конвертера, такую вот:
https://i.ibb.co/mRz6Gzm/P90724-145648-resize.jpg (https://ibb.co/mRz6Gzm)

Получилось неплохо. Во всяком случае лучше, чем без корпуса:

https://i.ibb.co/5KJkSDp/P90905-151507.jpg (https://ibb.co/5KJkSDp) https://i.ibb.co/Nm3QZL8/P90905-151531.jpg (https://ibb.co/Nm3QZL8) https://i.ibb.co/GCRt05K/P90905-154117.jpg (https://ibb.co/GCRt05K) https://i.ibb.co/mBJyrx5/P90905-163742.jpg (https://ibb.co/mBJyrx5)

Tronix
06.09.2019, 10:49
Между делом поправил програмулину идентификации диска, которую выкладывал здесь: https://zx-pk.ru/threads/29372-ayusha-z80-sr-m-sovmestimyj-kompyuter.html?p=1019644#post1019644 . Забыл перед командой "identify drive" выбрать накопитель #0. Вроде работает с моей CF-карточкой. Может кому-то пригодиться в процессе отладки. Запускается из монитора по G5000:

>g5000
IDE Test program - Version 01.00.00
Sort of translated from T. REH's Pascal program by Pete Cervasio.

ID Constant : 33930
Fixed Cylinders : 00980
Removable Cylinders : 00000
Number of heads : 00016
Phys Bytes / Track : 00000
Phys Bytes / Sector : 00576
Sectors per track : 00032
Serial number : 011602K2304X2811
Controller revision : HDX 2.15
Controller model : SanDisk SDCFB-256
Buffer size : 00002
Controller type : Dual port, multi sector
Capabilities (Bit9=LBA): 00768
Yes
Current # Cylinders : 00980
Current # Heads : 00016
Current # Sectors : 00032

rw6hrm
08.09.2019, 11:43
Временно вышел из режима r/o.... :)
1. Плат от меня более не будет. Отвлекают от других разработок.
2. Предложили вместо установленного видеовыхода использовать Gameduino, http://microsin.net/programming/xilinx/gameduino-game-adapter.html Я фиг его знает, что это за штука и с чем её едят, но подкоркой понимаю, что достаточно интересная. Разумеется, что заниматься её подключением я не буду, оставляю это на обсуждение и как инфу для рукастых, кто готов после тупого железного подключения сразу же адаптировать программ штук 200 как минимум для поддержания интереса. Иначе проект издохнет сразу же.
3. Попробовал чуток расширить возможности готового, поставив 512К ОЗУ со страничным переключением. Вчерновую адаптировал СР/М 3.0, попробовал несколько программ с Роботрона. Заработало вроде, но надобно переходить на КОИ-8 для совместимости... Подробностей не публикую, поскольку всё на соплях, всё в режиме остатков времени, да и любой присутствующий может сам это сделать.

Error404
08.09.2019, 14:58
Еще MP/M было бы реально круто.

Tronix
22.09.2019, 10:06
Просто собрал игрушку 2048 отсюда https://github.com/mevdschee/2048.c для CP/M с помощью z88dk:

https://habrastorage.org/webt/q9/fq/ob/q9fqoblswpt-v_od4bmwr4iylhg.png

Mech
22.09.2019, 10:29
Tronix, к телику так и не подключил ?

Tronix
22.09.2019, 10:51
Tronix, к телику так и не подключил ?

Не, лень -))))

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

Телек конечно хорошо, но это все-таки не игровая консоль, поэтому хочется минимум VGA. Где-то далеко-далеко в планах попробовать прикрутить сюда плату типа такой:
https://i.ibb.co/k2F97P3/igp1-008t.jpg (https://ibb.co/k2F97P3)

в качестве VGA-адаптера... Ну а че, память на ней есть уже, для текстового режима - хватит.

Другая еще более фиговая идея - прикрутить сюда ISA шину и воткнуть обычную видеокарту. Как именно это сделать - наверное через ВВ55 и пару-тройку сдвиговых регистров типа 74HC595 для шины адреса. Либо же вообще повесить напрямую на шину данных и адреса, только при обращении к видеопамяти верхние биты подставлять, чтоб получался на ISA шине адрес 0xB8000, 0xA0000. И порты - как есть.

Но все это так, мысли в слух. Вряд-ли дойдет до реализации.

rw6hrm
23.09.2019, 09:59
Вряд-ли дойдет до реализации
http://s100computers.com/My%20System%20Pages/Lava-10%20Board/LAVA-10%20Board.htm если не учитывать некоторые различия шины, то почти реализовано.

http://s100computers.com/My%20System%20Pages/Lava-10%20Board/LAVA-10%20Chip.jpg
Только цена негуманная (была, поскольку ссылок на неё более нет)...

barick
23.09.2019, 13:25
А стоит ли реализовывать такое? Меня совершенно устраивает "Wiistar RCA CVBS композитный s-видео AV в VGA выход конвертер адаптер", с Али, 680 рублей. Выход на 17" монитор NEC LCD. Качество картинки совершенно приемлемое.
Больше заморачивает отсутствие текстового редактора, хотя-бы как был в Профи, кажется МЕ назывался... И VT100 (для dBaseII)...

Tronix
23.09.2019, 13:45
А стоит ли реализовывать такое?

Да меня консоль тоже вполне устраивает. Наверное лучше просто два RS232 сделать, вместо видеоадаптера...

Error404
23.09.2019, 22:19
Больше заморачивает отсутствие текстового редактора, хотя-бы как был в Профи, кажется МЕ назывался... И VT100 (для dBaseII)...

Ну вот, приплыли. Это в CP/M у вас нет текстового редактора? Там же лучшие текстовые редакторы/процессоры всех 8-биток (условно до 1990 года выпуска).
Я пользуюсь sed.com (https://github.com/serge-404/AltairDOS/blob/master/App/bin/SED.COM) (оно VT-52).
Управление по стандарту WordStar (т.е. как в ТурбоПаскаль)

ВотЬ
https://i.ibb.co/CVbZZ5K/Screen-Hunter-02-Jun-15-14-05.gif

barick
24.09.2019, 08:46
Ну да, SED, использую. Но не сравнить с тем же МЕ на Профи, там была согласованность с ХТ/АТ клавиатурой по кнопкам стрелок, и косяков не наблюдалось. В SED: в прошивке с кириллицей вместо псевдографики выводится мусор (простите, буквы русского алфавита, но совсем не к месту). Не проходит очистка экрана при выходе. Как то так...

Error404
24.09.2019, 12:29
Ну да, SED, использую. Но не сравнить с тем же МЕ на Профи, там была согласованность с ХТ/АТ клавиатурой по кнопкам стрелок, и косяков не наблюдалось. В SED: в прошивке с кириллицей вместо псевдографики выводится мусор (простите, буквы русского алфавита, но совсем не к месту). Не проходит очистка экрана при выходе. Как то так...

Это всё вопросы к драйверу терминала: SED использует кодировку KOI8 (так было принято в русских CP/M, альтернативная была добавлена сильно позже для тех кому отличие кодировки МС-ДОС было непреодолимым препятствием), значит нужен драйвер, который это понимает (или перекодирует в альтернативную "на лету"). Также, задача драйвера - удобные вам комбинации клавишей транслировать в стандартные WordStar-овские (которые до сих пор используются в современных текстовых редакторах - когда как опция, а когда и как основные) комбинации CTRL+key по перемещению курсора (т.е. по комбинации клавишей тупо выплевывать в STDIN пользовательскому процессу {не в консоль!} однобайтовые управляющие символы "какбы кнопок WordStar"). Даже не надо атмегу перепрограммировать, такой драйвер пишется за день - подгружать его под верхушку TPA, опуская само TPA ячейками (1-2) и (6-7), перехватывать и обрабатывать BIOS conin/conout/constat и транслировать вывод в обе стороны как душа пожелает. Еще и управляющие коды других терминалов можно впилить, например Роботрона-1715 или еще какие.

barick
24.09.2019, 12:46
Ну вот нету этого дня! Буду ждать, может, кто-нибудь ради интереса выведет совместимость машинки на более высокий уровень. А пока использую W98.

Error404
24.09.2019, 17:24
W98 это тоже какой-то редактор?

rw6hrm
24.09.2019, 19:22
...ну ладно, ладно, я понял свою ошибку. Надо переделывать видеовывод под КОИ8 (адаптер клавиатуры уже умеет, проверено на Ирише). Но вот транслировать исходники мне не на чем, так что если у кого есть транслятор с Си под Атмегу - отпишитесь. А то снова придется кого-нить во Вконтактике искать...
Тогда и Вордстар нормально заработает если что, без патчей...

barick
24.09.2019, 20:35
Error404: w98 - это старенький комп с виндой 98... Для развлечения на нём пишу asm, на нём же и транслирую, и скидываю через терминал на аю.

Alex_LG
24.09.2019, 22:10
так что если у кого есть транслятор с Си под Атмегу - отпишитесь
WinAVR, текст хоть в "Блокноте" можно писать (в комплект входит "Programmers Notepad", с подсветкой)

worker_vl
25.09.2019, 06:12
...ну ладно, ладно, я понял свою ошибку. Надо переделывать видеовывод под КОИ8 (адаптер клавиатуры уже умеет, проверено на Ирише). Но вот транслировать исходники мне не на чем, так что если у кого есть транслятор с Си под Атмегу - отпишитесь. А то снова придется кого-нить во Вконтактике искать...
Тогда и Вордстар нормально заработает если что, без патчей...

Транслятор, он же компилятор, имеется.


Отправлено с моего iPad используя Tapatalk

Mech
06.10.2019, 17:44
https://ibb.co/0YZ74yK

кажется здесь ошибка

rw6hrm
06.10.2019, 20:59
Ни в коей мере ;) Такт процессора берется непосредственно с кварца, а ИЕ5 далее делит для ВВ51. Неужели Вы нашли такой раритетный кварц? Мне он встречался только в военке...

Mech
06.10.2019, 21:29
https://ibb.co/92qmLVz

в чип и дип взял )

так ? при кварце 2,4576

rw6hrm
06.10.2019, 21:38
Процессор какой? Если без букв А или В, немец или L, то так, если с А или В, то CLK к 14 ноге. Ошибка не там, где Вы указали первоначально, а в таблице частот процессора, счас поправлю... Просто в первой колонке указаны процессоры, для которых даташит обещает тактовую не выше 2 МГц. На какой частоте эти чипы работали в реале (в аонах или в спектрумах) - мне неважно, мож и 2.5 МГц потянут...

Mech
13.10.2019, 21:41
приветствую !
Собрал Аюшу, подключил, мигает курсором и больше ничего, на клаву не реагирует.
Подскажите в чем может быть проблема ?

rw6hrm
13.10.2019, 23:11
Курсор формирует атмега, так что хотя бы видеовыход уже работает ;) , но не читается ПЗУ. Оно точно нормальное и правильно записано? И да, первоначально запускать из ПЗУ Монитор (с нулевого адреса), а не пытаться стартовать операционную систему, всё равно не получится...

Mech
14.10.2019, 09:16
пзу флэшка 27с512, прошивку взял с твоего сайта Андрей

из за оперативки может быть такое ? Я установил TC551001BPL (такая надпись была на микросхеме ) но тестер микросхем определил ее как 61С1024.

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



сайт очень сильно тупит , это у всех так ?

Tronix
14.10.2019, 09:52
Я установил TC551001BPL

Вторую ногу (A16) надо проводком соединить с GND. У меня стоит IS61C1024, тоже 128Кб - я так сделал. А то она в воздухе висит - некошерно.



сайт очень сильно тупит , это у всех так ?

Да, DDoSят форум. Стоит поосмотреть количество гостей в статистике - 2000, 3000, бывало и 7000. По слухам админ вернется к интернету 18 октября, так чт ждем ебилдов.

Mech
14.10.2019, 13:02
Вторую ногу (A16) надо проводком соединить с GND. У меня стоит IS61C1024, тоже 128Кб - я так сделал. А то она в воздухе висит - некошерно.
вторая нога на +5в. или ты плату порезал ?

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

Tronix
14.10.2019, 13:13
вторая нога на +5в. или ты плату порезал ?

А, она в широком корпусе? Тогда нормально, я думал просто она в узком.

Mech
16.10.2019, 07:10
Tronix, систему поставил ? если да , можешь пошаговую инструкцию написать как работать в терминале и ставить систему в Аюшу (ни разу не работал в терминале ).

Tronix
16.10.2019, 18:12
Tronix, систему поставил ? если да , можешь пошаговую инструкцию написать как работать в терминале и ставить систему в Аюшу (ни разу не работал в терминале ).

Да ну, не, я слишком стар и ленив для таких RTFM. Все написано на сайте автора, пошагово, на русском. У американца - на английском то же самое. В терминале работать так же как и в консоле, разницы особо нет. Ну и гугл в помощь.

rw6hrm
24.10.2019, 21:01
А у нас внезапно печаль - сайт Гранта Сирла, откуда брались исходники и вдохновение, почил в бозе и более доступен только через вебархив. Мож кто в курсе, не переехал ли он?

Shumadan
24.10.2019, 22:15
Такая же участь постигла и nostalcomp.cz

rw6hrm
02.11.2019, 20:40
Руки и ноги до коррекции странички буквально не доходят, а нужно, хотя бы восстановить инфу с сайта Гранта, дабы была инструкция по заливке первоначальной порции софта на диск...
А пока пара наблюдений по настройке одной платы.
Если в качестве тактового используется кварц на 2.4 МГц, то очень желательно заменить переходной конденсатор в генераторе со 100 пФ до 0.01 мкФ. Иначе генерации не будет или оно будет шуметь на других частотах.
Если внезапно вся плата собрана на 555-й серии, то вполне возможно, что ВВ55 не будет отвечать на раздражители, при этом ВВ51, экран/клава и диск будут нормально работать. Не выкидывайте ВВ55, а попробуйте два решения проблемы.
1. Затянуть чипселект /CS6 путем подпайки конденсатора 100 - 470 пФ между землёй и 5 ножкой ИД4. Основной недостаток - всё слишком персонально, соответственно нестабильно.
2. Отрезать ножки 2 и 14 ИД4 от /IORQ и посадить их на землю. Псевдонедостаток - постоянный шторм на чипселектах, однако всё должно заработать (если неактивны /IORD и /IOWR, то /CSxx не важен). У Сирла так и было сделано.
Так что чем проще конструкция, тем сложнее её настроить ;)

barick
03.11.2019, 11:23
Учитывая мизерное количество мс, проще забыть про 555 и её аналоги. Зачем головная боль с настройкой из-за 200мА экономии? На днях запустил вторую аюшу (на своей версии платы), мелкая логика - только 155 и 74Fxxx. Если мс исправны - все сразу работает. HDD - CF 128 Mb, новый, с Китая, CF-IDE тоже с Китая.

rw6hrm
03.11.2019, 12:07
Сегодня вечерком отпилю /IORQ от дешифратора и попробую нормальный хард. Чтот мне кажется, что так сразу надо было делать...

sergey2b
03.11.2019, 14:49
HDD - CF 128 Mb, новый, с Китая, CF-IDE тоже с Китая.

скажите пожалуйста
а где вы их покупаете

barick
03.11.2019, 16:00
Я брал на алиэкспресс.
https://ru.aliexpress.com/item/32924515758.html?spm=a2g0o.productlist.0.0.11d75d8 2pwqGQN&algo_pvid=c5676646-c671-45d6-a5c3-1f6fbbb67a4b&algo_expid=c5676646-c671-45d6-a5c3-1f6fbbb67a4b-12&btsid=c669243f-4402-407e-bd33-ab895a4c193a&ws_ab_test=searchweb0_0,searchweb201602_10,searchw eb201603_55
https://ru.aliexpress.com/item/32920488992.html?spm=a2g0o.productlist.0.0.71eb26d cquB09t&algo_pvid=19c87f0a-2819-427f-a583-3b5d0fbad18f&algo_expid=19c87f0a-2819-427f-a583-3b5d0fbad18f-9&btsid=2a0fe56f-a72d-49a6-a965-efc7a49fd854&ws_ab_test=searchweb0_0,searchweb201602_10,searchw eb201603_55
У меня адаптер доп. питания не требует, все по 40х кабелю.

rw6hrm
03.11.2019, 21:06
Странно, именно этот тип карты у меня не запустился ни на одном варианте (на плате и с МГТФ, 155-я логика)...

CodeMaster
03.11.2019, 21:42
а где вы их покупаете
Можно тут (https://meshok.net/item/49833600) или тут (https://meshok.net/item/65721721), если по России.

barick
03.11.2019, 22:17
Надо уточнить: я использую самый медленный клон Z80, на 2,5 МГц, из принтеров Роботрон - U880D. Может, проблема в быстрых Z80?

rw6hrm
04.11.2019, 09:21
я использую самый медленный клон
...не, тип проца и его скорость на ответ карты не особо влияют.., у меня есть чем поменять процессоры, результата не даёт. Анамнез: либо зависает после первого обращения к карте (как и большинство жёстких дисков), либо вся система сбрасывается до стартового сообщения о нажатии пробела. Под виндой карта рабочая.
Тут, впрочем, много интересностей, в частности, прекрасно запустились карты Cisco, которые у других не запускались... Так и хочется поставить обычный ногодрыг для SD/MMC.

andrews
04.11.2019, 14:36
Проверьте, пожалуйста, ссылки на странице http://rw6hrm.qrz.ru/z80main.htm Страницы Гранта Сирла удалены

rw6hrm
04.11.2019, 19:40
Страницы Гранта Сирла удалены
Спасибо, но на прошлой странице топика об этом сообщил. Времени править пока нет, но есть же вебархив...

andrews
04.11.2019, 21:41
Спасибо, но на прошлой странице топика об этом сообщил. Времени править пока нет, но есть же вебархив...он имхо немного для других целей. Если переживаете за авторские права, то можно запостить с его (C) и своим (R). Здесь работает принцип "олимпийского факела" и пользователям важно знать, что кто-то осуществляет поддержку

rw6hrm
07.11.2019, 17:21
Новость из Твиттера, https://twitter.com/zx80nut/status/1191828198977392640
Грант проявился на новом хостинге, http://www.searle.wales/ . Вот теперь и свою страничку можно править...

Tronix
07.11.2019, 18:30
Кстати, я тут между делом решил повторить "на коленке" VGA-терминал ChibiTerm (https://hw-by-design.blogspot.com/2018/07/low-cost-vga-terminal-module-project.html) на STM32F030F4 в корпусе TSOP20 (16 kb flash/ 4kb RAM). Это вообщем-то готовый VT100-совместимый терминал, наружу торчит UART 115200, сбоку прикручена PS/2 клавиатура и организован одноцветный видеовыход на VGA 640x480 или 640x400 с возможностью изменения фона. Текстовый режим 80x30 или 80x25, соответственно. Может работать без кварца, от внутреннего HSI 8MHz, но присутствует джиттер, поэтому кварц 25 MHz предпочтительнее (выковырял из сетевухи старой). Точки выводит классически через SPI, тут как бы ничего нового не изобретено.

https://i.ibb.co/hf6Lv3G/photo-2019-11-05-11-15-25.jpg (https://ibb.co/hf6Lv3G)

Собственно, мне отсюда было интересно только вывод видео VGA, с чем, собственно, конструкция без проблем справляется:

https://i.ibb.co/mRFvMth/photo-2019-11-05-10-08-03.jpg (https://ibb.co/mRFvMth) https://i.ibb.co/vX8J7Vb/photo-2019-11-05-11-15-25-2.jpg (https://ibb.co/vX8J7Vb)

Поэтому, если переборю лень, попробую прикрутить заместо Atmega и S-Video в Аюше данный контроллер. У STM32F030F4 маловато ног, которые five volts tolerant, так что именно с этим контроллером организовать 8-битную шину данных не получится. Но я думаю без проблем перейти на STM32F030K6T6 - это LQFP32 с 32Kb flash. У него и флеша побольше - можно всяких шрифтов напихать, и ног больше - можно без проблем организовать 8-битную ШД с управляющими сигналами.

https://i.ibb.co/0rrcBmv/photo-2019-11-07-12-18-47.jpg (https://ibb.co/0rrcBmv)

rw6hrm
07.11.2019, 19:24
five volts tolerant у нас решается же парой резисторов запросто :) С другой стороны, если народу не будет сложно паять LQFP32 советским паяльником, то почему бы и не... Единственное, что порекомендовал бы (чем и сам сейчас занимаюсь, борясь с ленью и отсутствием времени) - КОИ-8. Тогда многие программы будут рабочими искаропки, не требуя адаптации. С СР866 я кнешн поторопился...
А, ну и по возможности переработать всю плату под новый чип :) Лайку для правки вышлю. Либо сотворить бутерброд с разъёмом для установки в гнездо атмеги.
..я тут пару месяцев назад попробовал сделать цвета с использованием трёх (!) Атмег и одного регистра. Ну что-то интересное получилось, каждая атмега занимается своим цветом. Потом понял, что цвет тут и нафиг не нужен, всё равно софта нет, и разобрал конструкцию...

Tronix
07.11.2019, 19:40
Лайку для правки вышлю.

Не, я платы рисовать не умею, у меня лапки :biggrin: Я буду МГТФ подпаиваться к панельке для Atmega.
Если, конечно, вообще соберусь что-то делать...

andrews
07.11.2019, 23:03
А что здесь Alter-а нигде не "всплывает"+z80? Из "идейных" соображений или как?

rw6hrm
07.11.2019, 23:35
Разумеется из идейных:
- я этого особо не знаю и интереса копаться с этим нет (хотя опыт использования был - негативный);
- даже в случае наличия интереса назвать получившуюся конструкцию доступной для повторения было бы невозможно (сколько народу обожглось на Хроме?);
- чем проще найти комплектующие, тем лучше. Желательно, чтобы они были со свалки :) и паялись 40-ваттным паяльником;
- ну и наличие "чёрного ящика" в конструкции ну нехорошо для понимания работы...
Хотя если кто-то и сваяет нечто аналогичное на альтере - с моей стороны будет честь и хвала.

Tronix
08.11.2019, 10:16
(сколько народу обожглось на Хроме?);

А что такое "Хром"?

BTW, запустил VGA на STM32F030K6T6 для теста. Полет нормальный. Теперь можно приделать 8 битную шину данных и подключить к Аюше.
https://i.ibb.co/m97XTgk/photo-2019-11-08-10-11-33.jpg (https://ibb.co/m97XTgk)

andrews
08.11.2019, 13:04
Разумеется из идейных:
- я этого особо не знаю и интереса копаться с этим нет (хотя опыт использования был - негативный);
- даже в случае наличия интереса назвать получившуюся конструкцию доступной для повторения было бы невозможно (сколько народу обожглось на Хроме?);
- чем проще найти комплектующие, тем лучше. Желательно, чтобы они были со свалки :) и паялись 40-ваттным паяльником;
- ну и наличие "чёрного ящика" в конструкции ну нехорошо для понимания работы...
Хотя если кто-то и сваяет нечто аналогичное на альтере - с моей стороны будет честь и хвала.
z80 выкидывать нужды нет. Я так понял нет доступной полноценной vhdl модели. Если eBay и Aliexpress считать современными помойками, то вроде да EP4CE6/10 E22C8N "валяются". Если делать VGA контроллер на них, то вроде остается место и на остальное, надо посмотреть. Обычным 40 Вт-ным конечно не паяются, феном вроде как паяются. Но лично я конечно только на готовых платах с VGA разъемом готов экспериментировать, дальше к умельцам. Исходная идея CP/M компьютер на 6-7 дип чипах
была офигенно привлекательная, но все-равно же схема уже разрастается вширь. Если встроенный терминал, то вроде уже не надо и последовательный порт. Если цветной текст, то сюда уже до кучи и псевдографика, а там глядишь уже и лого графические, а там и спрайты подтянутся. Ну не говоря уже о подключении клавиатур ( разных). "Черным ящиком" "чудище силиконовое" становится только по воле и от жадности автора. Если силиконовый код открыт - он также прозрачен, как и обычная схема. Только надо распечатать в pdf его схемотехническое представление.

rw6hrm
08.11.2019, 14:06
Tronix, ну как ты мог такое забыть ;) ? http://aticatac.altervista.org/
andrews, графика в моей конструкции присутствует, не 640 на 480 конечно, но 100х160 тоже достаточно. Цвет.., хотелось бы, но по сути оси он и не особо нужен. С клавиатурами вопрос решился, либо ASCII, либо AT-PS/2-USB на выбор. Код открыт, можно списывать. По чипам уж как мог, экономил и совмещал...
Касательно видеовывода тут можно долго спорить, но я согласен в одном: есть минимальный комп, и есть различные к нему приблуды, в том числе и видеовыходы. Сейчас часть биоса забита перекодировщиком ANSI-последовательностей, что несколько сжирает память, поэтому я поддерживаю, что видеоадаптер должен быть отдельной конструкцией, иметь возможность соединяться парой интерфейсов (последовательный или параллельный), обрабатывать все управляющие символы самостоятельно, может быть иметь цвет (также управлемый через ANSI) и звук (хотя бы для имитации сигнала BELL), а уж на что будет отображаться - дело вкуса, на ВГА или на ТВ. Поэтому вполне возможно, что, при отсутствии лени и толчке под зад, следующая версия компа будет именно такая - минималка плюс бутерброд или пара системных разъёмов для видеовывода и прочего расширения.
Касательно ненужности последовательного порта - нужен, ещё как. И софтинку залить, и принтер подключить, и в сетку залезть (последнее у меня подключено напостоянку), и к радиостанции подключить... Ещё и второй придётся ваять ;)
...но одноплатная конструкция тоже имеет право на жисть, если кому-то более ничего и не нужно...