Просмотр полной версии : Орион-128: Подключение RTC 512ВИ1
Error404
19.01.2009, 16:10
Может кому-то пригодится.
Вот по такой схеме часы на 512ВИ1 подключены у меня в Орионе.
Использовалась методика из Радиоежегодника-89.
Сигнал /F760 беру с платы КНГМД с соответствующей ноги тамошнего дешифратора (не хотелось городить огород).
Программно 512ВИ1 на порту F760 поддержана в клоне CP/M Альтаир-ДОС 3.х (в консольном драйвере, команды date/time, дата/время файлов)
Может кому-то пригодится.
Вот по такой схеме часы на 512ВИ1 подключены у меня в Орионе.
Использовалась методика из Радиоежегодника-89.
Сигнал /F760 беру с платы КНГМД с соответствующей ноги тамошнего дешифратора (не хотелось городить огород).
Программно 512ВИ1 на порту F760 поддержана в клоне CP/M Альтаир-ДОС 3.х (в консольном драйвере, команды date/time, дата/время файлов)
Много ли программ, написанных для Ориона, используют часы 512ВИ1. Или Альтаир-ДОС и это все?
Error404
12.10.2009, 09:22
Много ли программ, написанных для Ориона, используют часы 512ВИ1. Или Альтаир-ДОС и это все?
Именно в ВИ1 лезет только драйвер консоли операционки (Driver.SYS), он через искейп последовательности как возвращает время\дату так и устанавливает ее, аналогично включается режим вывода времени на экран по прерываниям. Прочие программы - такие как Нортон, date\time, CCP CPM, BDOS CPM - получают/устанавливают дату и управляют часами только абстрактно - через искейп последовательности без каких-то привязок к типу часов. Driver.SYS умеет эмулировать часы на прерываних (когда вообще нет никакого аппаратного RTC), при этом все программы, понятно, этого не замечают и работают.
Т.е. в одном месте (в драйвере) можно описать автодетект и опрос любых схем подключения любых часов (т.е. что-то еще добавить к ВИ1, которую я полюбому удалять не буду - они еще продаются и их есть у меня), и все мои программы это автоматически "подхватят".
--
Подключал и поддерживал ли ВИ1 кто-то еще (и как) мне неизвестно. Наверняка кто-то что-то делал. По крайней мере, и у Чистякова и в Орион-ПРО были стандартизированы какие-то адреса для ВИ1.
Именно в ВИ1 лезет только драйвер консоли операционки (Driver.SYS)...
Очень хорошо. Можно применить более совершенные и малогабаритные микросхемы часов.
...т.е. что-то еще добавить к ВИ1, которую я полюбому удалять не буду - они еще продаются и их есть у меня...
Они у меня тоже валяются, но применять их не буду только из-за того, что есть. Надо двигаться вперед - столько новых вкусностей!
Stampmaker
21.07.2017, 22:37
собрал я схему из первого поста в таком виде, каком опубликована.
не знаю, как она работает у Error404, но у меня она никак не заработала.
начал разбираться и читать доки.
первое, на что следует обратить внимание - это как в этой схеме осуществляется запись в регистр AS? по диаграмме 512ВИ1 (http://zxbyte.ru/pic/rtc/rtc13.gif) на выводе WE во время записи должна быть лог"1", а по схеме получается "0". т.е. ничего никуда не пишется, следовательно, микросхема не программируется.
второе. как сохраняется ход часов при выключенном питании? на выводе CE надо удерживать лог."1" при выключении компьютера.
вот схема, которая делает всё так, как надо.
адресация сохранена, как было у Error404: /F760 адресный регистр, /F761 регистр данных.
http://s018.radikal.ru/i511/1707/ba/4f10228319fa.jpg (http://radikal.ru)
собираем, пользуемся.
ОБНОВЛЕНО:
вместо этой схемы собирать схему из топика #10
Vladimir_S
21.07.2017, 22:43
Stampmaker, Т.е. подзаряд батареи вообще отсутствует?
Stampmaker
21.07.2017, 22:46
подзаряд батареи вообще отсутствует?
а разве батарейку можно заряжать?
если аккумулятор поставить, то можно приделать зарядную цепь.
OrionExt
22.07.2017, 00:51
первое, на что следует обратить внимание - это как в этой схеме осуществляется запись в регистр AS? по диаграмме 512ВИ1 на выводе WE во время записи должна быть лог"1", а по схеме получается "0". т.е. ничего никуда не пишется, следовательно, микросхема не программируется.
Позвольте не согласится, судя по приведенной диаграмме и исходя из названия сигнала WE (это ножка R/nW у микросхемы, как я понял) запись в регистр производится при наличии логического нуля.
https://lh3.googleusercontent.com/PW-RB2fR3LRdo9TsdgOsSDWULCsbagT7QD-9WtENmD9seJW8ulnZ5Yvq9luMGWyybZM0sWSbNGlFxGzmvJZaK-smINLCDxCRUDTsT55QvCevH_Zd1eu9jffPR1UiugNlEnxx4XNn dlc0xzTivDL1ocsDHe8z1zuWcBHuaCyNuw8_joGapnYZG1iU7Z H2q_C9EHMQ9c9Wonqv2CYkRoJmLM9hudttnm5Uycoyyn_vMjOa JsTq1k4084eARQtmy5XMqn3M4kyyvUCXEnzazA-9LWVoWVutJQrjZ17SwhwWcWh0KCkxnXjcDqAYWgSNKS0BtiEB5 JPu-0O171sImBUzvFtRLFUiSjPD5nfJSFVi6g1jjMVIATi9SRyjhQ3 dcFSlRAhGLGCzNnBhQiz_lnmSnRNnSnHw0KWnqldhYxeJneVoa OgYpjml_7ZaSrLJVXLVCHdMN-_qqsCQ8v9nHklpZg3YFYTapar5_71c_0cRSJRqkR8vyLtoubPP 1bdnBO8TQRztCGS4uqVtk_kjtvxPnbw6D91Gp24NTFKEzoZOeL wrrpHbxERaO1HxWgbDAYperggqsvKiD3EMqkxsaFtqvsrldWfK w6ZOBe0OmB4e76rZilv4Sy2Hhon2tQeqqrOJlELbebun_ZzsTf ICXKilSdHZ-hrp-CeCK6Nh1SWSTFsC_Q=w650-h448-no
А по стробу сигнала AS (ножка микросхемы) просто защелкивается адрес для мультиплексированной шины, данные снимаются позже. Приведенная вами диаграмма слегка не корректна применительно к Ориону.
Хитро схема сделана (задержка сигнала /F760). И без разрисовки диаграммы работы в нано секундной линейке времени делать выводы я бы не стал. В этом возможно и кроется причина нестабильной работы.
На Z80 эта схема должна стабильней работать. Когда падает сигнал AS, сигнала /WR уже нет, а данные еще держаться. В этом фича.
Ага, и еще схемы то две тут ходит:)
Почему в последней схеме нужен именно полевой транзистор VT1 BS170 ? Биполярным транзистором не обойтись ? Или отечественными КП303, КП304, КП305, КП350. А что 22 мОм так уж необходим, это же почти разрыв цепи? Хочу попробовать Вашу схему в РК86, т.к как раз имею для него ДОС с датами.
а разве батарейку можно заряжать?
Конечно. Но успех, существенно зависит от типа. Показателен пример моей эксплуатации пуговичной батарейки в наручных часах. Вначале менял батарейки в часах каждый год. Но как-то не смог купить (дефицит), замена была только через мастерскую, где дорого. Тогда, т.к в ж.РАДИО было много статей о зарядке старых батареек, решил попробовать. Естественно, было лень делать хитроумные схемы, где заряд переменным током на фоне постоянного по строгим формулам. Просто взял БП на 5 вольт и подал через резистор, ограничивающий ток в ~1 мА. Заряжал несколько дней. Отчечественная батарейка проработала после зарядки ещё 3 месяца. Так эксплуатировал несколько лет. Но в 1989 купил импортную батарейку с надписью Silver Cell. И стал её также заряжать. Она служила после каждой зарядки более года. Это сняло навсегда проблемы с батарейками. И эта единственная батарейка служила мне в часах 20 лет, пока в 2010 не потерял эти электронные часы. Также я заряжал пальчиковые батарейки AAA и AA для тестера. Ток заряда 50 мА. Они заряжаются хуже, восстанавливаясь лишь частично, и далеко не все, но тут тоже удалось много лет использовать их в китайских настольных часах и тоже заряда хватало на год.
Stampmaker
22.07.2017, 08:09
Позвольте не согласится
может я что-то не так понял в сообщении?
как же запись производится "0", если вот же конкретно нарисовано "1"?
а при команде STA в компьютере на выходе /WR будет "0".
так что по схеме Error404 в AS ну никак не получится ничего записать.
http://s019.radikal.ru/i638/1707/5d/857a32e34326.jpg (http://radikal.ru)
Почему в последней схеме нужен именно полевой транзистор VT1 BS170 ?
да, можно любой. просто я работаю с такими, поэтому из PCAD так и подписалось.
но мне хочется о другом сказать.
в данном случае регистр адреса сделан /F760, а данные /F761.
может стОит сделать наоборот, что будет выглядеть более логично?
для этого соединения на выводах дешифратора делаем так:
10 и 11 меняем местами, а с 12 переключаем на 13.
хотя бы потому, что в Орион-ПРО порт данных #50h, а адрес #51h. наверняка и на синклерах сделана такая же логичность (не знаю, не разбирался, может и ошибаюсь).
поэтому предлагаю внедрять "человеческий" вариант, вот такой.
заодно добавил цепочку зарядки батарейки. R расчитывается исходя из типа батарейки или аккумулятора.
http://s56.radikal.ru/i154/1707/d3/e0aacad6a19c.jpg (http://radikal.ru)
OrionExt
22.07.2017, 09:19
может я что-то не так понял в сообщении?
Все верно, только это не наш случай. Наш случай вот.
https://lh3.googleusercontent.com/PJWM0Sil3sC76o9uBypE7IAihpJmuOEWz3D_Zn8VVP-FFOsJymP1k4I-arw0MxgFgxlo_U749_DRc003QGZoji8jOWH-xKhH104gMrlP4lM4pnxWRTrwY3Zg4viUVI76syoIQVo1iiysC-f29Gz34OShhfP1WwZOar6TXdY7UEIDAR4JDwiYIQcZxDmhuov0 45atngT_vF3Amm3lovFSoV32MgIYyVtp5gLK1BU0qbe3eSQ4vx VFe6kRR-eoGky6ZBjuOL0YxRARB1tjxaL318hS9TM3WYKM0yLUZpeXvrko vuA6Ysi-C7TAMkgoP6HylPbQSlX9yzCFMRvHHrMNJcVozvxjeOgmfpRVgm K8-kxJKUWxWFKdl_7gQ_7DYGIPw98VOz_kILiW-kCJ_hsGeLK3aWQ7vxHOtvGuS2QOisf1FTMvRBMzHdJRfMtR6bn Qxaos05bePBvya7am4IxZXdnRiWWs3Kbv2mptQUik3aFZooNcf _U2K-Ttt1vJGq8KL2E_mvIk87dXvaYVRQ3uOuu1HtmbKodS0oqxl8bC 6UA0Jc4ybyMhCy6O0vKra0CGG_dN5-IyIj9KHZ1_h82E0M_cuiqEpdpp2HcEY7qlMbD7ubEzwmk0i12H TDP0uV7SJvcTGx7tSL8oJ1XZ0O_FYOI-3xGcOR9ZzPcc5lpfMbAZow=w613-h332-no
AS взводится в точке 1, падает в точке 2 (защелкивается адрес в часиках). A /WR, то в точке 2 уже нет, испарился. Часики думают от точки 1 до точки 2, что это адрес. А в реальности это данные. Вот такой хак. С ВМ80 ситуевина похуже. И дыбы не ломать мозг, можно пойти классическим путем, что вы и сделали.
как же запись производится "0", если вот же конкретно нарисовано "1"?
Чтобы быть корректным по отношению к логике работы часов. Запись регистра производится в 0, а не адрес регистра.
Лирика. Видимо по этой причине и FPGA мне не зашли. Как правило, модели там упрощенные. И такая схема там вряд ли взлетит.
vladimir53
22.07.2017, 10:08
В Радиоежнгоднике 1989 на стр 51 допущена опечатка, смотри журнал Радио 1990г №2 стр 93.
Stampmaker
22.07.2017, 16:16
OrionExt, респект за разъяснение, таких нюансов я не знал
OrionExt
22.07.2017, 16:20
OrionExt, респект за разъяснение, таких нюансов я не знал
Да честно я сам не уверен:) Но вроде по логике так выходит. Бо работает ведь схема.
Stampmaker
22.07.2017, 16:40
В Радиоежнгоднике 1989 на стр 51 допущена опечатка, смотри журнал Радио 1990г №2 стр 93
http://s018.radikal.ru/i510/1707/45/03cf20c2b4f7.png (http://radikal.ru)
TomaTLAB
22.07.2017, 17:04
А что 22 мОм так уж необходим, это же почти разрыв цепи?
Почти, да не совсем. Для некоторых кварцев и схем осцилляторов может быть критично.
Вообще, требует расчета (или подбора) под конкретный тип кварца и характеристик инвертора(ов) осциллятора.
именно полевой транзистор VT1 BS170 Как уже сказали необязательно именно он. Просто BS170 - это буржуинская "классика жанра", как 2n2222, как у нас КТ315, КП303 :)
Error404
22.07.2017, 22:05
собрал я схему из первого поста в таком виде, каком опубликована.
не знаю, как она работает у Error404, но у меня она никак не заработала.
Ну, ХЗ. Три Ориона с Z80-card в 90-х - это где такое подключение проверялось на практике, причем собирали все три разные люди (наши Владимирские любители) на советских ВИ1 80-х годов выпуска. Может , и недостаточно для статистики, режим шин же упрощенный (в Радиоежегоднике схема сложнее). А чем проверяли?
На новоделах я ее пока не запускал (и вряд ли буду - разве только на плате Павла Рябцова когда и если спаяю). А, еще в Орионе-2010 на ПЛИС оно работало но с импортным аналогом от Моторолы (тоже Z80 но в ПЛИС, хотя там делал Женя Ewgeny7, не поручусь что точно по этой схеме).
Часто упоминаемая "нестабильность" в контексте ВИ1 - это почти всегда генератор с его 22Мом и чувствительностью к кварцам. Как вариант, я мог ее в жипег перерисовать с ошибкой, но это врядли. Вывод CE в нашем случае влияет только на энергопотребление при выключенном компе ЕМНИП, как вариант в этой схеме дополнительно подтянуть его к +5В питания ВИ1 (выводу 24), но и без того работало за счет инвертора ЛЕ1 при включенном компе выдающего "0", а при выключенном CE допускается "висеть в воздухе" (опять же остаточные знания из Радиоежегодника).
Stampmaker
22.07.2017, 23:39
А чем проверяли?
На Орионе с ВМ80.
Error404
23.07.2017, 11:01
с ВМ80.
возможно тут собака порылась. У 8080 и у Z80 несколько отличаются длительности управляющих сигналов на шинах (WR/RD) - соответственно там и длительность селекта /F600 изменится, и длительность самого R/W, а значит "поплывут" и as/ds.
Error404, самое интересное, что как раз RD и WR не участвуют в формировании сигнала выборки порта /F76x, последний формируется исключительно из данных на ША.
Stampmaker
24.07.2017, 20:16
схемы и сигналы с диаграммами - всё это хорошо.
какой порт примем за стандарт для подключения ВИ1?
вот в ж.Радио за 1993 год №4 предлагали такую таблицу:
http://s013.radikal.ru/i324/1707/3d/9785f370eef9.jpg (http://radikal.ru)
вроде бы как серъёзное издание, публикующее официальные данные. в таблице для часов выделен F750.
Error404, а как у Вас появился F760? это адрес от ранее собиравших часы на Орионе?
просто надо определиться, чтобы заинтересованные не собирали разное железо, как это случилось с КНГМД в своё время.
несколькими постами выше я упоминал об адресации, но что-то никто не отреагировал.
никому что ль неинтересно?
Вариант распортовки от авторов Ориона:
https://pp.userapi.com/c841039/v841039298/b667/FqTqMILxAUc.jpg
Источник - журнал «Радиолюбитель». — 1993. — № 5-7.
Оригинал тут - http://www.emuverse.ru/downloads/computers/Orion-128/docs/Orion-128_FDC.djvu
vladimir53
24.07.2017, 23:10
Эта статья ОРИОН-Сервис.
У разработчиков компаратора была немного иная точка зрения, у Честякова свой подход к распределения адресов. По этой причине чтобы была совместимость делали доработки контроллера дисковода.
Error404
25.07.2017, 12:50
Адрес появился естественным путем, по принципу "сделал там где был готовый выход с дешифратора дабы не городить огород". Кто первый встал - того и тапки. :) Но я в-общем реально в их "стандарты" заглянул тогда чтобы не пересечься с чем-то реальным (а не фантазиями на тему К580ВН59 и прочим доработкам с потолка придуманных по принципу "как хорошо было бы если {кто-то сделал а мы у него тиснули}"). Диапазоны под свои доработки я брал байт в байт от требуемого - без пробелов, а не с шагом в трамвайную остановку (чтобы всё позанимать у "врагов"), чтобы занять минимум и ни с чем не пересечься.
Ну и, парни, сегодня то уж совсем смешно читать Орион-сервисовские писульки (тем более в ваших отсылках к "серьезному изданию"), учитывая что они ничего серьезного не сделали, а только перепродавали на толкучке халявно полученное ПО (+ контроллер по сути ленинградский + две серьезные разработки Михаила Бриджиди от, на секундочку, 92 года) да тискали статейки на тему "как пользоваться пятью командами CCP CP/M" {рукалицо, лень смайл искать}.
- - - Добавлено - - -
Ну и "чтобы предвосхитить", когда мне будут нужны порты, я конечно возьму исходя из реалий на сегодня существующих устройств, а не давнишних фантазий не важно кого уважаемого на тему аппаратных клавиатур, AY на несовместимых ни с чем портах и пр. Собственно, все так и делают, вон например мы с Denn обсуждали год тому порты для COM, в итоге он все равно взял где захотел. :)
- - - Добавлено - - -
И, раз уж тема зашла про порты, предлагаю провести инвентаризацию портов использующихся доработок (учитываются только хоть как-то поддержанные ПО либо существующие в реальном железе). Итак, начну о том что мне известно (пока только для Ориона-128, раз речь зашла о нём):
F700..F72F - КОНТРОЛЛЕР ДИСКОВОДА (с таким "широким шагом" был дешифратор у самого первого контроллера - ленинградского, этот диапазон покрывает все имеющиеся варианты разных авторов, плохо если кто-то в нем еще что-то наразмещал "из вредности")
F760..F761 - ВИ1 где ее разместил я
F762..F763 - порт SD-карты (опять моё)
F764..F765 - RS-232 на AtTiny2313 (снова моя самодетельность)
F770..F7FF - сетевой адаптер на RTL8019AS. (ну, я, а чо?) но тут есть варианты: F770..F77F (первые 16 байт) выделяются строго - там регистры управления, а вот диапазон F780..F7FF может быть от одного байта до максимума, в данном случае 128 байт - это "растянутый" изначально однобайтовый регистр данных и размер области влияет на то каким блоком LDIR туда и оттуда можно читать/писать - т.е. напрямую относится к скорости работы с картой. Можно регистр данных сократить до 64 байт (общие адреса адаптера составят тогда F770..F7BF и останется свободным место где ЕМНИП порты у Denn), а вот меньше 64 байт делать нет смысла если планируется читать по LDIR (т.к. это тот размер TCP пакета, вычитав который удобно оперировать: это или часто весь пакет, или же надо еще дочитать если это не пакет управления, а данные - там размер может быть до полутора килобайт)
- - - Добавлено - - -
Еще меня всегда дико расстраивал тот факт, что под три ВВ55 отрезано аж 768 байт (F400..F6FF) в дефицитнейшей "склеенной" области (области наложения страниц). А тут еще вононочо, оказывается авторы еще и в области F720..F72F под ВВ55 отрезали. Что мешало дополнительные ВВ55 ставить в области основных (добавив пару вентилей чтобы поделить 768 байт чуть почаще)? А еще лучше чтобы все ВВ55 и основные и дополнительная изначально были бы в F720..F72F - без "трамвайных остановок" между ними, а по F400..F6FF было бы ОЗУ. Зато, как говорится, вот после этого они "запрещали нам ковырять в носу".
Вот отжор драгоценной непереключаемой памяти на ВВ55'е (по 256 байт на брата) - это реально жесть! До сих пор не понимаю зачем так сделали ((
F700...F72F - контроллер дисковода на ВГ93 (с таким широким "шагом"
Разная адресация КНГМД возникла из-за того, что разработчики ОРИОНА предполагали иметь по адресу F700 текстовый адаптер (кажется, на 32 строки), поэтому для КНГМД использовали адрес F710. Но до выпуска плат текстового адаптера в итоге дело так и не дошло. Может кто хочет сделать? Я нашёл схему 80-ти символьного дисплея на 6845 (от Apple-II) - смотри фото. Второе ПЗУ фонта не ставится, т.к там применили 2708/РФ1 и ПЗУ РФ2 с драйвером тоже не нужно и вместо 4-х 541РУ2 ставится всего одна 537РУ17. Драйвер тоже есть, хотя и в кодах 6502.
Для подключения РК-КНГМД я использовал адрес F600 (всё-равно излишний 3-тий порт никто не ставит, он только бесполезно грузит шину). Перетранслировать на другой адрес несложно, но главный довод был, что при адресе F600 никакой ИД7 ставить не надо, используется готовый чип-селект.
Что относительно ВИ53 и ВВ51 по журналу РАДИОЛЮБИТЕЛЬ 04.1995 служащих для подключения мыши? Мышь это реально полезная вещь.
Какой текущий стандарт подключения AY-8912 для обычного ОРИОНА на КР580 (желательно без прерываний, чтобы это же использовать и для РК)?
А зачем столько ВВ55? Мне и двух хватало на все нужды. Зачем же ставить 5 штук ВВ55? Лишние ППА грузят шину, что снижает надёжность при ТУРБО. Лучше сделать ППА F500 многофункциональным универсальным интерфейсом, что может дать большое число линий Вв/Выв. Для этого достаточно на его выходы добавить регистры ИР22/23/27 записываемые стробами (битами порта С). Так можно получить простой эл.диск на 16-ти битовой статике. Не обязательно ту же 512ВИ1 ставить в шину данных.
Можно без потерь "открыть ОЗУ" в адресах F500...F6FF. Хотя наверно и есть программы что сами лезут в ППА ROM-диска. А в самой ORDOS (и NC$ или VC$) адрес ППА легко изменить.
Error404
25.07.2017, 14:31
Текстовый адаптер очень интересная тема, но очень хотелось вывод иметь сразу на VGA (не уверен, что это реализуемо на 6845 разработанной под CRT).
Я все жду когда будет что-то годное на ВГ75 из раздела "для начинающих" (freddy и компания), тем более там уже пришли к пониманию оптимального (и на мой взгляд) адаптера - VGA, в адресном пространстве основного ЦПУ, с двумя ВГ75 для 8-битного ASCII с цветом и атрибутами, и без АтМеги или какого-то другого доп. ЦПУ (видеоОЗУ обслуживается BT57). Получится не сложнее адаптера на 6845 с фото (а скорее проще). Но что-то там у них дело уж очень медленно идет.
Мышь тоже когда-то хотел, но понятно что все ПО надо делать самому (ибо его тупо нет), а что-то для этого уже нет желания.
Stampmaker
25.07.2017, 18:02
предлагаю провести инвентаризацию портов использующихся доработок
вот что у меня:
F700..F72F - Дисковод Короткина SPDOS
F730..F73F - ВИ53 (из ж.Радио 1995г, №9, стр.38)
F740..F74F - ВВ51 (из ж.Радио 1995г, №9, стр.38)
F750...F75F - 512ВИ1 (адрес из таблички из ж.Радио постом выше)
F7A0..F7AF - YM2149F (прицепил сюда потому, что адрес свободный. на самом деле не знаю, куда надо)
F7E0..F7EF - Порт СОМ2 16С550
F7F0...F7FF - RAM-диск 1МБ
- - - Добавлено - - -
Какой текущий стандарт подключения AY-8912 для обычного ОРИОНА на КР580
я проявил самодеятельность и кинул на F7A0
Мой вариант:
F700..F72F - КНГМД (разные вариации)
F730..F733 - ВИ53 (из ж.Радио 1995г, №9, стр.38)
F740..F741 - порт COM1 (из ж.Радио 1995г, №9, стр.38) ВВ51
F750...F751 - часы на 512ВИ1
DS-card™:
F780..F78F - резерв
F790..F79F - КНЖМД
F7A0..F7AF - AY-музыка (YM2149F)
F7B0..F7BF - часы на ВИ1 (точка входа №2)
F7С0..F7СF - резерв под часы на DS1307 (или что-то другое)
F7D0..F7DF - SDHC
F7E0..F7EF - Порт СОМ2 (и COM3) 16С550
F7F0...F7FF - RAM-диск 1МБ
Error404
25.07.2017, 19:00
вот что у меня:
Две таблички отлично объединяются без каких-либо пересечений:
F700..F72F - Дисковод Короткина SPDOS
F730..F73F - ВИ53 (из ж.Радио 1995г, №9, стр.38)
F740..F74F - ВВ51 (из ж.Радио 1995г, №9, стр.38)
F750...F75F - 512ВИ1 (адрес из таблички из ж.Радио постом выше)
F760..F761 - 512ВИ1 (Error404)
F762..F763 - порт SD-карты
F764..F765 - RS-232 на AtTiny2313
F770..F7BF - сетевой адаптер на RTL8019AS (обсуждаемо).
F7D0..F7DF - YM2149F (прицепил сюда потому, что адрес свободный. на самом деле не знаю, куда надо)
F7E0..F7EF - Порт СОМ2 16С550
F7F0...F7FF - RAM-диск 1МБ
Остается вопрос: всем ли устройствам нужно по 16 байт портов? Предлагаю резать им место по спецификации, без округления до 0Fh. Надо AY два порта - пусть декларировано имеет только 2 порта (а там уж как пойдёт). И по возможности делать строгую дешифрацию в аппаратуре - чтобы при работе устройства обходилось без левых обращений к его портам от соседних плат с кратными адресами этого диапазона (что бывает из-за неполного дешифратора). Это даст возможность спланировать более 16 устройств, занимая "пустоты" новыми устройствами.
- - - Добавлено - - -
Кроме того, думаю, допустимо если однотипные устройства которые могут быть продетектированы самим компом (и которые заведомо не бывают одновременно в использовании) занимали бы одинаковые адреса. Например, я использую две совершенно разные схемы подключения SD-карт на одном и том же порте F762. Понятно что у пользователя будет собран или один вариант, или другой, а не оба, а ПО их детектирует само. По аналогии можно по адресам сетевой карты RTL в те же порты сажать и другие сетевые карты (например ENC) и детектить их по содержимому/доступу регистров. Или например на порту F500 прекрасно работают как ROM-диск с Ордос, так и IDE по схеме на ВВ55 (или/или), и софт это распознаёт. Ну и аналогично если где-то еще такое допустимо.
Stampmaker
25.07.2017, 19:18
16 байт не нужно ни одному устройству, максимум 4 байта.
хотя для 16С550 может надо больше, там три адресных входа.
просто шаг 16 очень упрощает схему дешифрации. поставил ИД3 и получил 16 устройств.
так-то я согласен выделять конкретные байты для устройств, вопрос в том, насколько это рационально.
если сложить все наши таблички с устройствами, то по сути и подключать больше нечего. всё "подключено".
просто шаг 16 очень упрощает схему дешифрации. поставил ИД3 и получил 16 устройств.
так-то я согласен выделять конкретные байты для устройств, вопрос в том, насколько это рационально.
если сложить все наши таблички с устройствами, то по сути и подключать больше нечего. всё "подключено".
Вот именно поэтому и нет смысла усложнять дешифрацию, имхо. А также из соображений совместимости с ранними версиями подключения ВУ, возможно у кого-то что-то уже сделано (не переделывать же!)
- - - Добавлено - - -
П.С. а для двух 16С550 получается ровно 16 байт, они все используются!
Sancho45
23.09.2017, 14:37
собрал я схему из первого поста в таком виде, каком опубликована.
не знаю, как она работает у Error404, но у меня она никак не заработала.
На новоделах я ее пока не запускал (и вряд ли буду - разве только на плате Павла Рябцова когда и если спаяю).
На новоделе Рябцова ВИ1 по данной схеме работает как часы - время по запросу выдает ))). Только спешат куда-то .
Error404
23.09.2017, 22:09
На новоделе Рябцова ВИ1 по данной схеме работает как часы - время по запросу выдает ))). Только спешат куда-то .
По отзывам из темы Дяди в разном, "убегание" часов на ВИ1 можно уменьшить (скорректировать) подбором конденсаторов у кварца (которые 10пф и 20пф) и подбором (уменьшением) резистора 22МОм до примерно 6..10 МОм (тут надо несколько попробовать). Также, помогает выбрать из нескольких кварцев, лучше всего идут маленькие часовые кварцы-циллиндрики.
На новоделе Рябцова ВИ1 по данной схеме работает как часы
Такая упрощёнка прокатывает только с процессором Z80, на ВМ80 она не работает! Для сигнала строба адреса AS, который в вышеупомянутой схемотехнике формируется исключительно дешифратором адреса, требуется стробирование сигналом /WR МПС.
Вот упрощённая схемотехника, которая работает на Орионе с процессором ВМ80:
https://pp.userapi.com/c837420/v837420107/5b189/bkwd8fj7gbA.jpg
*Адресация:
F7B0h - регистр данных
F7B1h - регистр адреса
Добавил откорректированную схему:
https://forum-img.guitarplayer.ru/2024/01/13/1QImc.jpg
Коррекция в узле "засыпания" м/сх таймера при выключении основного питания ПРК: уменьшено время "засыпания", чтобы не портились данные в СОЗУ.
Error404
24.09.2017, 11:41
А вообще, мне кажется мы тут повторно изобретаем велосипеды, по крайней мере в части точности хода ВИ1. В прошлом веке она в отечественной технике широко использовалась, а ее прообразы - в импортной (наверняка оно сошлифовкой содрано, т.е. почти 1:1), и наверняка все эти проблемы уже были решены, найти бы только как.
А вообще, мне кажется мы тут повторно изобретаем велосипеды... и наверняка все эти проблемы уже были решены, найти бы только как.
Вот тут - http://zxbyte.ru/rtc_chips_in_zx.htm
Sancho45
25.09.2017, 12:25
Такая упрощёнка прокатывает только с процессором Z80, на ВМ80 она не работает!
Дык с z80 я и устанавил ви1.
По поводу точности хода- не все элементы обвязки кварца соответствуют приведенным значениям. Что под рукой было. Ехать за деталюшками надо. Так что с точностью это был не вопрос, а констатация результата проверки ви1 по данной схеме на новоделе с временными деталями обвязки кварца.
Error404
25.09.2017, 16:01
Дык с z80 я и устанавил ви1.
А вот кстати, были ли проблемы с переключением на вариант с Z80? Если напишете о них в теме по этой версии платы (http://zx-pk.ru/threads/27462-sborka-nastrojka-platy-orion-128(uknts)-ps-2(caro)-fdd-ide-z80card2.html), общественность будет крайне признательна. :)
Тест z80 (https://github.com/serge-404/OriZEmu/blob/master/ROM/TestZ80.BIN) проходит, что выводит?
- - - Добавлено - - -
Кстати, DS12887 (где встроен кварц с обвязкой и батарейка) вполне себе продается на Али, цена порядка 50 рублей.
Тоже вариант, чтобы не подбирать конденсаторы.
Кстати, DS12887 (где встроен кварц с обвязкой и батарейка) вполне себе продается на Али, цена порядка 50 рублей.
Там скорее всего батарейка либо уже "того", либо совсем скоро ;) Придётся брать пилу и пилить, пилить :)
П.С. вот цена хороша - https://www.chipdip.ru/product/ds12887a )))
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot