![](https://habrastorage.org/webt/zo/ld/vf/zoldvfbq_gpb7zpbegoic7--d9e.jpeg)
В середине 1990-х, FLASH-накопители были очень дорогими, поэтому появление твердотельных накопителей сильно задерживалось. Стоимость 1 МБ FLASH-памяти была несоизмеримо дорога в сравнении со стоимостью 1 МБ памяти на физическом жёстком диске, с блинами.
Но, несмотря на это, в 1995 году — израильская компания M-Systems представила первый полупроводниковый накопитель. Это был настоящий жёсткий «диск», который выглядел как обычная 32-х контактная DIP-микросхема. Более того, он устанавливался вместо микросхемы расширения BIOS, при этом имел на борту ёмкость в десятки, а то и сотни мегабайт. В те годы — это было просто космические технологии, и в последствии они встречались и использовались достаточно часто, но уже в промышленном секторе.
Это система DiskOnChip – фактически полноценный жёсткий диск на одной маленькой микросхеме, с минимальной обвязкой, которая для своей работы потребует всего два чипа логики.
Ну что же, попробуем собрать свою необычную систему с этим жёстким «диском», проверю, может ли она работать с обычной ROM-памятью, запущу наконец свой BIOS на 386 машине с ISA-картой, чего не удалось в прошлый раз.
❯ Что же такое DiskOnChip®?
DiskOnChip (далее – DOC) – это фактически продолжение идеи расширения BIOS, о котором я достаточно подробно писал в статье "Пишем свой ROM BIOS".
DOC представляет собой обычную DIP-микросхему и вставляется в ту же панельку, что EEPROM, как на сетевой карте, живёт по тем же адресам и даже в начале содержит код BIOS инициализации. И микросхема pin-to-pin совместима с некоторыми микросхемами ПЗУ! Однако далее, в старших адресах этой микросхемы, содержатся регистры управления, которые переключают окна FLASH-памяти.
Для сравнения можно посмотреть расположение выводов DiskOnChip 2000 и микросхемы EEPROM SST 29EE512 (64К x 8). Отличие только в количестве адресных линий, потому что DOC работает через окно в 8К х 8 (как восьмикилобайтная EEPROM).
![](https://habrastorage.org/webt/_2/un/-e/_2un-e-9jq9jhnpj5_2tfv9wn9k.png)
Сравнение распиновки EEPROM и DOC
Фактически электрический интерфейс работы с DiskOnChip ничем не отличается от интерфейса работы с обычной EEPROM. Сигнальные линии называются также, и она совместима с ними по ногам.
![](https://habrastorage.org/webt/8g/lr/ix/8glrixhduyasvozfkixsfhrvddw.png)
Структурная схема DOC
DiskOnChip занимает 8 КБ памяти. При этом — во время старта, она выглядит как обычная ROM BIOS, и инициализирует код для работы в реальном режиме, добавляя в прерывание BIOS 13h ПО для работы по этому интерфейсу.
При работе в реальном режиме, когда передаётся код управления BIOS в его внутреннюю EEPROM, он подменяет прерывание 13h по работе с диском. Таким образом, он начинает мапить в старшие адреса по очереди страницы флэш-памяти, с помощью регистров управления.
![](https://habrastorage.org/webt/zk/hd/pi/zkhdpiyekhs7ibjjkytnt1qiifm.png)
Карта памяти DiskOnChip 2000
Если рассмотреть карту памяти, которая доступна системе в пространстве 8 КБ, то мы увидим что оно состоит из четырёх разделов по 2 КБ.
- Секция 0: Загрузочный блок. Этот раздел содержит данные, которые выполняются при загрузке BIOS.
- Секция 1: Загрузочный блок 2. Содержит вторую часть загрузочной области.
- Секция 2: Регистры управления. Используется для управления поведением DiskOnChip 2000 и флэш-носителя.
- Секция 3: Окно доступа к FLASH-накопителю. Окно, чрез которую видно область FLASH для записи или чтения данных.
Как можно понять, вся доступная память, в моём случае 8 МБ, доступна через маленькое окно в 2 КБ и переключается с помощью регистров управления.
В более сложных системах, которые работают уже в защищённом режиме, таких как Windows CE, Windows 2000, QNX, Linux и т. д., где недоступен код инициализации и прерывание 13h, для работы требуются специализированные драйвера файловой системы DOC, называемой TrueFFS.
Подводя итог, можно сказать, что DiskOnChip – это примитивный SSD того времени, который успешно применялся во многих встраиваемых системах. Чаще всего его можно было встретить в одноплатных компьютерах, в кассах, тонких клиентах и другом аналогичном оборудовании. Вот, например, недавно через мои руки прошёл моноблок для ресторанов Micros WS4. Как я понял, он использовался официантами для приёма заказа.
![](https://habrastorage.org/webt/u4/hy/_t/u4hy_t56t1nsv-oidgcrpwtfcou.png)
Внешний вид моноблока
И после вскрытия внутри можно обнаружить микросхему DiskOnChip, несмотря на то, что он работает под управлением операционной системы Windows CE.
![](https://habrastorage.org/webt/hs/vp/bh/hsvpbhi2-x_x5v7eqdpu2jbkkko.jpeg)
Микросхема DiskOnChip
Самое приятное, что из-за простоты устройства DOC для его подключения к компьютеру не требуется использовать каких-либо контроллеров жёстких дисков, от них можно вообще отказаться! Схема подключения содержит всего две микросхемы логики.
![](https://habrastorage.org/webt/s3/us/as/s3usasbmr8hzsn6wctajvpwqxjc.jpeg)
Кстати, если вас пугают импортные микросхемы 74-й серии, то, во-первых, их можно взять с другими буквенными индексами, а во-вторых, вполне можно заменить на отечественные аналоги, например:
74-серия | аналог |
74139 | 155ид14 |
74138 | 155ид7 |
А ещё их можно заменить на микросхемы серии к155, к555, кр1564 и всё будет прекрасно работать.
Схема простая, значит можно попробовать запустить его на любом старом железе!
❯ Ваяю плату расширения
Много лет хочу сделать плату расширения для шины ISA. Ещё со студенческой скамьи вынашивал идеи, прикидывал дешифраторы адреса для создания своей платы расширения. Даже как-то пытался паять параллельный порт на микросхеме КР580ВВ55. Но всё это было не торт, и толком не работало.
Здесь другое дело, схема простая, всего три микросхемы, как работает – понятно. Осталось дело за малым – это всё реализовать. Мне было лениво заниматься разводкой печатной платы, поэтому решил делать всё на макетке. В качестве основы платы взял проект IBM PC XT8-bit ISA Prototype PCB Card XL.
![](https://habrastorage.org/webt/fm/hk/2g/fmhk2g2uzwqm9-ldyxx-__coj90.jpeg)
В Китае заказал изготовления платы, микросхему DOC на 8 МБ и уже здесь нашёл подходящие микросхемы логики: 74HC138AP и 74HC139AP (обратите внимание, что буквенные индексы иные). Самое тяжёлое – это было томительное ожидание, когда изготовят платы и их отправят. Спустя несколько месяцев у меня всё было на руках.
![](https://habrastorage.org/webt/w9/um/xx/w9umxxno69jdw12l0ysyxfji6eo.jpeg)
Всё готово к сборке
После того как я всё получил, распечатал схему и даташиты на микросхемы с распиновкой. Для удобства сразу нарисовал, что и куда должно идти. Что удобно, на макетке подписаны все сигналы, и ошибиться просто невозможно.
![](https://habrastorage.org/webt/dd/bm/tk/ddbmtkxd8ejdzj9onnhpqysibv0.jpeg)
Набросок схемы
Далее предстоит кружок кройки и шитья, и покуда я собирал всё это хозяйство, десять раз пожалел, что не развёл плату сразу. Потому что убил просто громадное количество времени на все эти проводочки.
![](https://habrastorage.org/webt/cx/vp/oz/cxvpozuo-_mna6epyr9ii3u2ass.jpeg)
Кружок кройки и шитья
Спустя неделю вечеров пайки получил-таки готовый результат.
![](https://habrastorage.org/webt/v0/wq/_m/v0wq_mqh8xu_gks_9vnw8bgsqea.jpeg)
Вид спереди
![](https://habrastorage.org/webt/wd/pj/xw/wdpjxwtogw5v4jknnryng2xso1s.jpeg)
Вид сзади
Далее предстоит самое интересное – тестирование!
❯ Проверка работоспособности DiskOnChip
Проверку проводил на материнских платах с процессорами 386SX и Pentium 1. Как обычно бывает, где-то был неконтакт или непропай. После исправления мелких недочётов система сразу подхватила BIOS из DOC, и я увидел при загрузке ключевое сообщение, о том, что TrueFFS-BIOS запустился.
![](https://habrastorage.org/webt/w7/f8/xy/w7f8xyrt7btpkebpkcubffvsh8c.jpeg)
Если загрузиться вместе с жёстким диском, то можно увидеть второй диск D:, который можно отформатировать в системный раздел и перенести на него файлы, что я и сделал. Забегая вперёд, скажу, что форматировать стандартным
format d: /s
нельзя! То есть если очень хочется, то можно, но результат непредсказуем. ![](https://habrastorage.org/webt/5s/7l/o-/5s7lo-4gpnulwvgl52h0krqnc3k.jpeg)
Намного более правильно работать с этим «диском» с помощью его родных утилит, которые корректно работают с TrueFFS. После того как я отформатировал диск родными утилитами, можно было перенести систему, отсоединить плату контроллера дисков и оставить только видеокарту и мою самодельную платку.
Удивительно, но это работает!
![](https://habrastorage.org/webt/kz/xf/xk/kzxfxkmc78ayli8cmnyobztp-8e.jpeg)
Ничего лишнего: только материнская плата, видеокарта и DOC
Самое забавное, что при загрузке BIOS не видит никаких подключённых носителей: ни флоппи, ни жёстких дисков. Но несмотря на это, всё равно идёт загрузка DOS. Лучше всего посмотреть на видео.
❯ Не всё так гладко с этим DOC…
На самом деле, не всё так гладко. То ли мне не повезло с микросхемой, то ли какая-то другая проблема, но DOC глючил. Он не всегда успешно загружался на моей плате, так и на железе, которое умеет работать с DOC из коробки (имеет аппаратную и программную поддержку в системном BIOS). То есть выглядело так, BIOS TrueFFS стартует, но диска при загрузке не видит. После перезагрузки стартует нормально, потом снова не видит. С чем связано – непонятно.
В какой-то момент при загрузке начались артефакты с запуском программ, а при переходе в папку увидел такое:
![](https://habrastorage.org/webt/ze/f-/6f/zef-6fatvj-nbmj3ptvbkrb21u0.jpeg)
Так выглядит смерть жёсткого диска
И после этого загружаться он отказался. Спасло только форматирование его штатными утилитами. Что это было – я не знаю. Сетую на то, что у меня одна из первых версий микросхем, возможно, она немного сырая.
❯ Замена DiskOnChip на EEPROM
Hо перед нами прогресс открывал все пути,
И, бросив старых друзей ради новых ХТ,
Мы выжимали, что можно, из DOS и из архитектуры,
Меняли коды команд, трассировали INT'ы
Дизассемблировали BIOS и писали в порты
То, что я б не позволил печатать на месте цензуры.
Мне всё же хотелось продемонстрировать, что вместо DOC можно поставить обычную ROM микросхему, и это решение будет работать. В результате это вылилось в столь громадный квест, что потянет на ещё одну статью, а то и не одну. Там пришлось дизассемблировать основной BIOS, была попытка запустить его в qemu и много других забавных экспериментов. Но всё же, оставлю это всё самое интересное за кадром, и расскажу суть.
В качестве микросхемы ПЗУ взял EEPROM
SST 29EE512
просто потому, что она у меня была под рукой, и была pin-to-pin совместима с DOC. Внимательный читатель заметит (хотя уверен, что таких нет), что это та же самая микросхема, которую я использовал в статье "Пишем свой ROM BIOS". Для корректной работы 64КБ ROM в области памяти 8 КБ, нужно посадить неиспользуемые старшие адреса на землю. То есть, фактически мы превращаем микросхему в 8 килобайтную EEPROM. В процессе экспериментом выяснилось, что БИОС на материнской плате пытается писать в EEPROM, и, таким образом, портит её содержимое. Для того чтобы этого не происходило, доработал переходник, удалив контакт с сигналом разрешения записи WE.
![](https://habrastorage.org/webt/5k/95/0t/5k950tzuxqv5bdkweczz6imlw3o.jpeg)
![](https://habrastorage.org/webt/ky/yg/ko/kyygkode_fe87uqww_cvf3ijqns.jpeg)
Больше переходников, богу переходников!
Изначально планировал попробовать точно также запустить BASIC-ROM, но как я не бился, так и не смог его стартануть. То есть, видно, что происходит успешная инициализация, системный BIOS «зависает» без ошибок, значит переход на код ПЗУ состоялся, о чём также свидетельствовали POST-коды. Но ничего больше не происходило. В отчаянной попытке я начал искать JTAG-отладчики для 386 архитектуры, пытался запустить BIOS материнской платы в qemu, но всё тщетно. Идей, как отлаживать подобные BIOS у меня пока нет. Хотя задача, крайне интересная, как же заниматься отладкой различных расширений BIOS.
Обращаю внимание, что в qemu c SeaBIOS и на другой материнской плате, с EPROM на PCI-карте всё прекрасно работало.
![](https://habrastorage.org/webt/s9/h4/xk/s9h4xkfonf0iynwf5k8izr9vgug.jpeg)
Установленная микросхема ПЗУ, вместо DOC
В конце концов, я не нашёл выхода из этой ситуации, поэтому решил идти по более простому пути и запустить ROM HELLO. К слову сказать, в том коде я тоже обнаружил ошибку.
Как оказалось, после того как я посчитал контрольную сумму, оставшиеся байты надо было сделать равными нулю. Чтобы в результате общая сумма давала нуль. И мне сильно повезло, что на PCI тогда этот код завёлся. Вообще, то что на PCI плате это работало – чудо, потому что потом я внимательно прочитал стандарты, он не должен был работать никак. Исправление этой ошибки запуску BASIC не поспособствовали.
В результате всех мытарств, которые по времени заняли больший и наиболее сложный промежуток, чем эксперименты с DOC, мне удалось на этой же плате стартануть мой самописный BIOS.
![](https://habrastorage.org/webt/97/yy/0d/97yy0dlzbpn34j77i3kpa__ob8y.jpeg)
Успешный запуск на материнской плате Pentium
Это, конечно, очень интересное колхозничество, но что насчёт промышленных железок, будет ли оно работать и там?
❯ Тест на железе с панелькой под DOC
Всё это забавно и хорошо, хочется попробовать запустить реальное железо, которое имеет поддержку DiskOnChip прямо из коробки. Специально для этого прикупил себе старинный тонкий клиент Light System LG8101, внутри которого есть панелька для DOC.
![](https://habrastorage.org/webt/m_/rq/_x/m_rq_xcacsk3lwxljyepcg0dsmw.jpeg)
Внешний вид тонкого клиента
Если вскрыть эту штуку, то внутри можно обнаружить CF, с которой идёт загрузка, и панельку под DiskOnChip. В неё можно и проинсталлировать нашу замечательную микросхему.
![](https://habrastorage.org/webt/bn/te/iy/bnteiyet2qcoachozsz_4dgcv6k.jpeg)
Недра
Эта железка имеет поддержку DOC на уровне BIOS, так что запуск TrueFFS-BIOS не требуется. Обратная сторона этой поддержки в том, что сюда не получится вставить свою ROM-память, эта панелька предназначена только для микросхемы DiskOnChip (да, я попробовал вставить туда свою ROM, но ничего не произошло).
![](https://habrastorage.org/webt/t-/pm/f-/t-pmf-jxp2yft0mnf9r1u0hh0eg.jpeg)
Выбираем в BIOS загрузку с DOC
После всех манипуляций система будет успешно загружена с этой микросхемы, будто бы там установлен обычный жёсткий диск.
![](https://habrastorage.org/webt/il/-x/5h/il-x5hmrsfhz9xalzcsgbdu_l5s.jpeg)
Успешная загрузка тонкого клиента с установленной микросхемы DiskOnChip
❯ Заключение
Удивительно, но многие из вас не знают, что первые SSD-накопители появились аж в 1995 году, и даже вполне себе успешно применялись и использовались. Их высокая стоимость и малая ёмкость привели к тому, что рядовые пользователи не могли встретить их в своих ПК. Однако нашли широкое применение во встраиваемых системах, либо там, где не требуется частая запись на диск, как, например, тонкий клиент. Их могли использовать также в игровых автоматах или станках.
![](https://habrastorage.org/webt/yk/yp/ma/ykypmadcj-9k0gnxcwsuvprl8vi.jpeg)
Условный игровой автомат на DiskOnChip
Тем не менее широкого распространения они так и не получили. Впоследствии дешевизна и расширение рынка CompactFlash свели на нет эту перспективную разработку. К её недостаткам также следует отнести, что она довольно медленная, так как работа идёт через маленькое окно в 2 КБ.
❯ Полезные ссылки:
- Документация на DiskOnChip.
- Отличная статья на русском по DOC: «Все про DiskOnChip® 2000» от Андрея Кузнецова.
- Прекрасная статья о работе и програмированию DiskOnChip (англ.)
- ПО под ДОС для работы с DOC.
- Проект макетной платы ISA.
❯ Благодарности:
Выражаю большую благодарность MaFrance351 в поддержке с этим проектом. Он раньше меня разобрался с DOC, и помогал потом мне советами и ссылками. Как минимум половину ссылок в этой статье получил от него.
P.S. Поскольку в рамках одной статьи невозможно рассказать обо всех тонкостях, то некоторые заметки на полях буду публиковать у себя в телеграмме.
![](https://habrastorage.org/webt/mx/ua/nb/mxuanbovcusqgmqdgugvpnql8vq.jpeg)
Комментарии (64)
hw_store
00.00.0000 00:00+3Держал такую диковину в руках, где-то около 2000 года. А в начале 2000х распространились DOM, и вот они уже во всяких промПК, роутерах и POS-терминалах применялись массово, хотя аппаратно это было совсем другое. А ещё во времена расцвета игровых автоматов один мой приятель делал такие автоматы, и к моему удивлению они ставили туда USB-флэшку, а не DOM, хотя её срок службы составлял от одного до нескольких месяцев.
RedPandaHere
00.00.0000 00:00+2Я в 2003 году сделал роутер с BGP на базе компа, ставил туда IDE DOM на 64мб, это чудо где-то у меня все еще валяется.
lubezniy
00.00.0000 00:00+2На Linux Router был ещё Low cost network printing server. В середине двухтысячных на работе собрал для компьютерных классов несколько таких машин на первых пнях с парой сетевух для маршрутизации между сетью класса и общей сетью и LPT-портом с мамки под принтер (естественно, без клавиатуры и монитора). Там загрузка была с дискеты 1,44 Mb; дисковод прятал внутрь корпуса, чтобы пользователи не пытались дискету вытащить и использовать не по назначению. Только маршруты в сети я задавал статические на центральном маршрутизаторе; он тоже был на компе, но уже помощнее.
sergej_pipets
00.00.0000 00:00+1Аналогично, только чуть раньше - 98-99 годы. Мы тогда строили сеть беспроводного инета по городу, на домах ставили роутеры: 486-й компьютер, набитый сетевыми (проводными, и айрланами) картами. Для загрузки ОС с программой маршрутизатора использовали дискету. Да, ненадежно. Потом раздобыли SSD в виде ISA платы с объемом до 32 мегабайт. Брали самые дешевые, 2 МБ, нам хватало (это уже больше дискеты).
lubezniy
00.00.0000 00:00+1Насчёт ненадёжно в отношении реализации на Linux Router Project не соглашусь. Там с дискеты шла только загрузка, которая по сути шла раз в рабочий день, когда техника включалась. И дискета за несколько лет работы нескольких таких машин посыпалась только один раз. Так что надёжность оказалась вполне себе приемлемой.
sergej_pipets
00.00.0000 00:00+2У вас компьютеры стояли в офисе. У нас - на чердаках. И не везде это были шкафы. Местами просто на пыльном полу, накрытые полиэтиленом (от пыли, дождя и голубей). Электроснабжение негарантированное, дисководы б/у. Так что хорошо, если после полугода работы при перерыве электроснабжения компьютер смог загрузиться. Да, ОС после загрузки вся работала исключительно в RАМ...
Zzzz9
00.00.0000 00:00+8Сталкивались вскользь, на станке такая штука стояла, стали пропадать файлы, взяли другую б\у , перезаписывали в том же станке, загрузились с аварийной дискеты, там ПО от станка, прописалось в секцию BIOS и "диск".
Soorin
00.00.0000 00:00+2У меня есть 386 компьютер PC/104, там есть диск на чипах - на нём записан и с него грузится DOS, где он видится диском C: (чтоб это узнать и увидеть, пришлось приторочить к нему ISA-слот и вставить VGA-видеокарту Trident в 8-битном режиме).
dlinyj Автор
00.00.0000 00:00+2Фотографию бы :). Но тоже таким развлекался.
Soorin
00.00.0000 00:00+8Извольте ) AR-B9612. Даже Dallas живой, хотя я его засверлил уже и померил.
MaFrance351
00.00.0000 00:00А как у вас закреплён ISA-слот на PC/104?
Soorin
00.00.0000 00:00Методом пайки ) К контактам разъёма PC/104. Мне надо было только видеокарту подцепить, т.к. на борту нет видео..
MaFrance351
00.00.0000 00:00+1Тогда понятно. У меня для этого была макетка с разъёмами типа PBS, двумя слотами ISA и Медузой горгоной из МГТФ.
sergej_pipets
00.00.0000 00:00+1Мы тоже спаивали вместе два разъема - это проще, чем паять гибкую бороду...
MaFrance351
00.00.0000 00:00Да, это проще. Но лишаться возможности подрубать платы на PC/104 не хотелось.
sergej_pipets
00.00.0000 00:00+1Так мы и припаивали корзинку ISA не в контактам на плате, а к разъему, который можно воткнуть в эту плату. И выткнуть, когда в переходнике пропадает необходимость. А было это часто - платы готовили для работы в промышленных устройствах.
MaFrance351
00.00.0000 00:00+1Тогда понятно.
Просто чуть выше на фото как раз посадили ISA-слот напрямую.sergej_pipets
00.00.0000 00:00А потом мы нашли (в документации жуткий бардак), что при одевании одного джампера один в из УАРТов выводится консоль - подлючили терминал с ноутбука, и стали везде пользоваться именно так.
sergej_pipets
00.00.0000 00:00У нас были такие пентиумы. И DOC виделся как A:, и только при включении в биосе. В мануале ни слова, случайно нашли...
ciuafm
00.00.0000 00:00+3Мне по случаю достались 2 платы от игровых автоматов на 200MHz low-power AMD. Там были обычные квадратные флешки для Биоса и запаянный DOC в SOIC, SDR SO-Dimm, VGA, ethernet, com, lpt и ещё какие-то непонятные порты. Платы были заточены под unix net boot, видимо их использовали как тонкий клиент плюс Биос был порезан чтобы запретить загрузку с hdd/fdd. На DOC по видимому были только ядро и initrd. Но я так и не смог прочитать что там. Теперь попробую воспользоваться предоставленной документацией.
strvv
00.00.0000 00:00+3У меня были 128/256Мб IDE-DOM, т.е. втыкался в место 40/80 пин кабеля, и у него был внешний хвостик с молекс для питания.
Одну как-то даже я пытался восстановить после ребят, перепаяв родные флеши.
Я делал загрузчик на полуось и линукс (это конец 90х-начало 2000х) и долго работали.
Пока я не ушёл с того подразделения, на них поставили винды и моментально флеши убили своп-файлами.Спасибо, напомнили о моих молодых мытарствах.
dlinyj Автор
00.00.0000 00:00У меня были 128/256Мб IDE-DOM, т.е. втыкался в место 40/80 пин кабеля, и у него был внешний хвостик с молекс для питания.
Это чуть другая технология. Она и проще и сложнее одновременно. Проще в том, что это фактически обычный жёсткий диск, с обычным интерфейсом. Сложнее, что нужен контролер дисков. Но тоже забавная древность, да.MaFrance351
00.00.0000 00:00+1По сути это был миниатюрный IDE SSD. Внутри начинка от обычной карты памяти Compact Flash. Даже контроллеры и чипы частенько были одни и те же.
dlinyj Автор
00.00.0000 00:00+2Да. Просто это совершенно разные технологии, и DOC, как по мне, интересен тем, что он сам себе контроллер.
strvv
00.00.0000 00:00+1в принципе, в отличии от современных ssd там стояли флеши NAND с маленькими страницами, по 4кб (статус - discontinued), а их сейчас как-то не нашёл, везде с страницей по 2Мб.
CoolCmd
00.00.0000 00:00+4эй, chatgpt, а тебе слабо написать такую статью?
dlinyj Автор
00.00.0000 00:00+2И спать переходник заодно ;)
CoolCmd
00.00.0000 00:00ну, с пайкой у вас все довольно печально, как по качеству, так и по скорости. но лучше, чему у нейросети. :)
dlinyj Автор
00.00.0000 00:00+3Ну только я порадовался что меня похвалили, что пишу лучше чем нейросеть, так за пайку предъявили. Ушел плакать в подушку.
А если серьёзно, то сам опечален качеством, десять раз пожалел, что не развел плату.
tormozedison
00.00.0000 00:00+3Что там печального? Крепко спаяно, не отвалится. Игровая консоль "Понимат" тоже так собрана, самопроизвольно не отвалилось ничего пока, хотя устроена сложнее.
MaFrance351
00.00.0000 00:00+5Потрясная статья. Обожаю такие железки. Сам экспериментировал с этими чипами, тоже собирал плату-переходник, правда, на PC/104.
К слову говоря, из отечественных микросхем помимо 155 серии отлично работает 1533. Схема действительно очень простая в сборке и при отсутствии ошибок даже на требовательных к расширениям BIOS ПК стартует с первого раза.
DOCи выпускались помимо DIP-корпусов также в форм-факторе NAND-Flash и BGA.
(И спасибо за моё упоминание!)dlinyj Автор
00.00.0000 00:00+1К слову говоря, из отечественных микросхем помимо 155 серии отлично работает 1533. Схема действительно очень простая в сборке и при отсутствии ошибок даже на требовательных к расширениям BIOS ПК стартует с первого раза.
Да, простота схемы прямо таки подкупает. Благо, частоты шины маленькие.DOCи выпускались помимо DIP-корпусов также в форм-факторе NAND-Flash и BGA.
В статье, которую вы мне порекомендовали куча картинок есть по теме.
delvin-fil
00.00.0000 00:00+1> 1995?
«ROM-диск в "Радио-86РК"» 1991 №10 стр.39 - ROM-диск.
dlinyj Автор
00.00.0000 00:00ROM — это же не флеш?
delvin-fil
00.00.0000 00:00+1Ну конечно нет. Но суть примерно как с "Замена DiskOnChip на EEPROM"
А еще было «RAMDOS для "Радио-86РК"» Лукьянов Д. 1989 № 9 стр.46 , но это тоже не "SSD".
Имел ввиду, что идеи были намного раньше описанной реализации на DiskOnChip.dlinyj Автор
00.00.0000 00:00+1К сожалению, не вижу сходства идей. Сам ковырялся со всем этим. ROM — это ROM. Флеш-диск, это уже совсем другое.
dlinyj Автор
00.00.0000 00:00+3Потрудился найти статью.
Обычная ПЗУ-шка, я таким наигрался с Микрошей и с Чемоданом.tormozedison
00.00.0000 00:00+1Реально прям имитацию диска, т.е., с файловой системой и ОС, сделали на "Орионе-128". Ну и на МК-90.
dlinyj Автор
00.00.0000 00:00На «Микроше» нормально флопидисковод подключали.
tormozedison
00.00.0000 00:00+1Так-то дисководы практически к любым советским компьютерам подключали. Но именно "Орион" изначально затачивали на возможность создания файловой системы в ОЗУ и ПЗУ ещё тогда, когда дисководы были дорогими. Дать пользователю пощупать, как удобно, когда файловая система имеется.
axe_chita
00.00.0000 00:00+1Тогда надо вспомнить ЮТ-88, в котором СР/М работал с RAM диском. Да в КУВТ2 YIS503IIIR CP/M был прошит в ПЗУ адаптера локальной сети, вызывался из Basic командой call cpm, который тоже создавал RAM диск.
tormozedison
00.00.0000 00:00+1Про ЮТ-88 вспомнил, была и там такая тема, а что MSX тоже так может, не знал.
Dimsml
00.00.0000 00:00+1Может попробовать логику 74HCT, а не HC? А то везде написано что шина ISA по стандарту TTL, а буква T в HCT это как раз TTL.
Upd: Ага, у вас в схеме указаны микросхемы 74HCT, а на плате стоят HC. HC - CMOS (КМОП), а HCT - TTL совместимые (ТТЛ). Мешать CMOS с TTL не рекомендуют, но физических причин я вам не расскажу, т.к. к сожалению гуманитарий. Да и я вообще не уверен что там с другой стороны ISA-шины происходит, но не раз видел подобные шутки.
tormozedison
00.00.0000 00:00+1"Мешать" не советовали при сборке клонов ZX Spectrum, ибо могут пороги переключения чуть не совпадать. И скорости. А в таких простых схемах вряд ли от этого что-то заглючит.
С другой стороны шины - процессор. А он КМОП. В ZX Spectrum - вообще n-МОП, но остальные микросхемы (кроме ПЗУ) в клоны рекомендовали ставить ТТЛ, и желательно из одной серии.
vadimr
00.00.0000 00:00+1Мы установили в 2008-2009 году несколько десятков устройств с такими микросхемами, до сих пор ни одна не вышла из строя и не потеряла информацию (как и CompactFlash). Правда, в режиме read only.
vvzvlad
00.00.0000 00:00+3И только ненависть к виндовс порою у нас
Зажигает огонь в глазах как индикатор харддиска
strvv
00.00.0000 00:00+1Сейчас продаются, вчера смотрел на Али и современные ssd с ide шиной, как 40pin (dom, заглушка для ide разъёма, чумовые ценники за 16/60/128gb), так и 44pin в формате мобильного 2.5 диска, различие с сайта ССД скорее другая модель контроллера или прошивка и разводка. Там тоже есть от 2Гб, видимо для совсем древних аппаратов.
MaFrance351
00.00.0000 00:00+1Но это всё же DOM, а не DOC. Он без контроллера дисков в такой простой схеме не заведётся.
strvv
00.00.0000 00:00Если от поздних машин, то в южном мосту уже стоит контроллер, а в старых, 286, половина 386, живых к этому моменту - да, мультикарта.
В 486 редко когда была мультикарта на ide. Хотя мне попадались экзотика, на машину с 8мб ОЗУ стоял мультик, совместимый с стандартным 506ым, с ОЗУ в 2 планки рам в качестве кеша, там ещё 4мб было. От винта никогда задержек не видел. Сейчас не вспомню, или делл или шп серверная плата была, в 99м в последний раз видел такое чудо.
Но если извратиться, как, имхо @Ariman можно и на каком-либо микроконтроллере сделать в иса флеш диск. Интересно у него узнать, до чего он дошел.
dlinyj Автор
00.00.0000 00:00Ну так зачем делать на контроллере, если в статье изложено готовое решение.
strvv
00.00.0000 00:00Для DoC треба или его биос или внешний драйвер, а тут будет прямая имитация ide диска. Со всеми стандартными тараканами. Не видел нормальной реализации ide-cd, её можно было бы в чём-то проще реализовать, как съёмный накопитель под sd или usb карты.
dlinyj Автор
00.00.0000 00:00Ну так для ide требуется биос контроллера или внешний драйвер. В чем разница?
strvv
00.00.0000 00:00В том что можно воспользоваться штатной инфраструктурой, т.е. с 486 иде в южном мосту, и это позволит не обслуживать всю pci/isa шину, а только сам интерфейс. И не только на х86 архитектуре.
dlinyj Автор
00.00.0000 00:00Но если извратиться, как, имхо Ariman можно и на каком-либо микроконтроллере сделать в иса флеш диск. Интересно у него узнать, до чего он дошел.
Ни слова про южный мост. Ещё раз, зачем такое делать, если вот вариант на трёх микросхемах?MaFrance351
00.00.0000 00:00+1… тем более, что в некоторых чипах, которые используются в промышленных системах, для которых и предназначен DOC, контроллера IDE может и в принципе не быть.
saag
Разбирал как то терминал Micros, память у него заглючила, там была 128 Mb CompactFlash
dlinyj Автор
Конкретно в моей модели, согласно документации CF служит для замены прошивки.