Привет всем поклонникам Ориона
Родилась у меня идейка скрафтить т.н. гибридный Электронный Диск (далее - ЭД), тобишь это будут совмещённые "в одном флаконе" ROM- и RAM-диски в виде небольшой платки, которая подключается в стандартный порт #F5 ROM-диска ПРК "Орион". Идея родилась исходя из завалявшихся с древних времён комплектующих и реальной потребности в таковом устройстве. Возможно, кого-то тоже заинтересует такой девайс для своего Ориона.
Итак, по порядку. Часть, отвечающая за ROM-диск. Здесь я упёрся в нехватку стандартных 64 Кб, а в хозяйстве уже 15 лет валяется ПЗУ AM27C040 (512К x 8).
Итого получается объём в восемь раз больше максимального стандартного ROM-диска. Были мысли сделать больше (1 Мб), но прикинув, понял, что ни к чему. Прикидка простая: средний размер софтинки для Ориона грубо считаем 2 Кб, максимальное кол-во файлов на диске - 255, т.е. как раз и получается 2x256=512 Кб. Большее кол-во файлов потребует серьёзное изменение ОС, дополнительный объём ОЗУ для каталога, да и физически проматывать список из более 200 файлов - это заморочка. В связи с тем, что на самом деле 64 Кб "немного" не хватает для полного счастья, 8-кратное его увеличение - это "вообще щастье"!
Часть, отвечающая за RAM-диск. Здесь ноги идеи растут из привычных и "вполне достаточных для счастья" 780 Кб ГМД, а также имеющихся в наличии (и, что немаловажно, ныне ещё доступных для покупки!) микросхем статического ОЗУ CY7C1049D-10VXI (512K x 8). За "щастье" беру ориентир на 1 Мб, т.е. на две такие микросхемы. Дело в том, что доступ к RAM-диску будет не "туполинейный" (а-ля ORDOS-стайл, все файлы друг за дружкой, без FAT), а будет кластерная организация, т.е. каталог + FAT + кластеры. Также две микросхемы ОЗУ не превышают "болевой порог" по цене, их дешифрация достаточно проста, габариты и потребление (в режиме хранения) в самых разумных пределах.
Далее. Интерфейс должен быть стандартный от ROM-диска Ориона, т.е. это три 8-битных линии ВВ55'ой + питание. Опционально потребуется "дежурный" микромощный источник питания для хранения данных RAM-диска. Без этой опции информация будет сохраняться при выключении питания ПРК с помощью 3-вольтовой батарейки типа CR2032.
Также с "точки зрения" загрузчика программы "Монитор" девайс должен видится как стандартный ROM-диск Ориона, а доступ к расширенным "фишкам" осуществляться через имеющиеся линии порта.
В результате некоторого мыслительного процесса родилась следующая схемка:
Девайс имеет четыре режима:
1). Чтение данных из ROM-диска;
2). Чтение данных из RAM-диска;
3). Запись данных в RAM-диск;
4). Z-состояние (режим StandBy: микропотребления, если это кого-то сегодня волнует )
Выбор режима осуществляется записью соответствующего значения в старшие разряды шины адреса (линии C7 и C8 порта Ориона). "Украденные" на управление режимом старшие адресные линии, а также линии виртуального адреса (совсем старшие линии адреса, которые нужны для доступа свыше 64 Кб) берутся из 6-ти младших линий и защёлкиваются триггером ТМ9. Защёлкивание производится по фронту при переходе в режим Z-состояния (StandBy). Сброс защёлки осуществляется сигналом RESET от ПРК (дополнительная линия на порт - B9), либо сделать RC-цепочку начального сброса от питания (ещё не определился, как лучше).
При старте ПРК, загрузчик программы монитор читает данные по младшим адресам, т.о. автоматом девайс будет в режиме чтения данных из ROM-диска. Т.о. при oldschool-доступе, первые 16 Кб ROM-диска читаются без проблем, что позволит загрузить ОС и необходимый драйвер, который будет поддерживать работу с гибридным ЭД в полном объёме.
Для гарантии сохранения информации во время переходных процессов подачи/снятия питания применена микросхема контроллера SRAM - DS1210. Она при уменьшении питающего напряжения ниже 4,75в моментально переводит вход CE ОЗУ в лог."1", т.о. запись в м-сх блокируется.
Если интересно, то можно обсудить. Проект пока ещё только на бумаге, но в ближайших планах воплотить его в железе