Сложно самому флэшку сделать? Не очень!
Не верите? А я вот в 90-е годы делал, и не так чтобы мало.
Самое сложное тут - не сделать. А придумать, зачем делать. То бишь, кому это нужно и кому это можно продать.
Кому же и зачем нужны были тогда флэшки под брендом "гаражный бокс №32"?
Тут нужно вспомнить про давно забытое нынче средство переноса информации:
перфолента.
Практически все имевшиеся в наличии в 90-е в регионе моего обитания ЧПУ работали с программами, загружаемыми через эту самую перфоленту.
Система переноса данных в целом выглядела так. Где-нибудь в КБ стоял компьютер 386 или 286, к нему при помощи стандартной или самопальной интерфейсной карточки подключался перфоратор. Особо выдающиеся экземпляры имели на борту процессор 8080 и подключались по последовательному порту.
В перфоратор заряжался рулон специальной бумаги, после чего тот долго и шумно дырявил ее. Готовый рулон несли в цех и помещали в перфосчитку. Перфосчитка под управлением стойки ЧПУ порциями (кадрами) выдавала в станок программу.
Так бы оно и работало еще долго-долго. Но беда подкралась со стороны, какой не ждали. Оказывается, чуть ли не вся спец. бумага для перфоленты в СССР делалась... в Финляндии. К 90-м годам финны решили, что спрос со стороны экс-СССР слишком мал для поддержания производства; а спрос с других сторон куда-то исчез (сюрприз!). И, к негодованию всех советских предприятий, делать перфоленту - перестали.
Как быть? Эксперименты с разными подручными материалами показали, что ширина этой ленточки совпадает с шириной уже чисто советского изобретения: ленты для заклейки окон. Злые языки утверждали, что это была попытка СССР сделать перфоленту самим, но попытка оказалась неудачной и пришлось продавать под другим названием. Качество у нее и вправду было дрянное: постоянно застревала, рвалась еще при перфорации, а при чтении часто выдерживала хорошо если 4-5 прогонов. Склеить же порванную ленту можно.... но сложно. Для полного счастья - длина рулона "ленты для заклейки окон" была меньше, и вместо 90Кбайт туда можно было проперфорировать хорошо если 70К.
(Да и в самом деле: мало того, что нормальным окнам никакая лента для заклейки не требуется; так на "ленте для заклейки" не мешало бы клеевой слой нанести, как на малярном скотче ныне. Может, и вправду перфоленту пытались сделать?)
Поскольку ни финансов, ни желания покупать из-за такого "пустяка" новые модули к ЧПУ для работы с магнитными носителями данных ни у кого не возникало - ситуация грозила полной остановкой наиболее продвинутой части производства.
----------------
Примерно в это же время на митинском радиорынке появились в продаже новейшие разработки полупроводниковой компании Atmel. Микросхемы NOR-флэш-памяти серии AT45D. Самая маленькая имела объем 2 МБит и цену около 7$ при покупке "одной палки" (это у них упаковка такая, кто видел - поймет). Такое приятное соотношение цены и объема навело меня на некоторые мысли...
В следующие недели я в очередной раз оббегал все окрестные предприятия, имевшие станки с ЧПУ. С красивыми картинками на тему "а давайте внедрим новейшую технологию, пропустим шаг магнитных носителей и выбросим всю вашу перфоленту нафих". Показать что-либо кроме картинок я не мог, т.к. денег не было даже на "одну палку" этих самых флэшек.
Мое появление пришлось весьма кстати. Проблема с перфолентой уже крепко всех достала, в паре мест получилось истребовать аванс, купить флэшек - и начинать работу.
Система в целом состояла также из трех кусочков. Самый главный - собственно флэш-карточка. Никаких USB тогда не существовало еще и в проекте, и размеры ее я взял несколько побольше, чем ныне принято для флэшек. Так, чтобы втыкалась в стандартный 36-контактный слот (разъем такой) для печатных плат, с четырехкратным резервированием контактов (как понимаете, нанести на контакты золото в гараже я не мог, а заказ плат на стороне сделал бы весь проект нерентабельным). На платке размещалась только сама микросхема памяти и один конденсатор по питанию ее; приоритетная подача питания перед сигналами делалась разной длиной ламелей в разъеме; а вопросы защиты от статики и прочих бяк я оставил на совести фирмы Atmel. Сверху все это заливалось эпоксидкой. Фирма Atmel не подвела: карточки оказались весьма живучими, преспокойно выдерживали падение в лужу машинного масла на полу, падение на них молотка и так далее.
Со стороны компа флэшка втыкалась в самопальную карточку на шине ISA, состоящую из одной микросхемы - ПЛИС Altera семейства MAX не помню какое, но еще с 5-вольтовым питанием. Да-да, это проще и дешевле чем городить кучу рассыпухи. Ну, и программа на Турбо-Паскале для записи-стирания файлов. Идея написать драйвер и пользовать стандартную файловую систему была хороша всем, кроме одного: флэшка имеет ограниченное число раз стирания, и если сделать файловую таблицу - сектора ее помрут весьма шустро. Пришлось изобрести свою файловую систему, гарантировавшую равномерное число стираний всех секторов. Конечно, она была ни с чем не совместима, но это волновало меня меньше всего.
С другой стороны, в считке, стоял атмеловский же контроллер 51 семейства. Его быстродействия хватало и оставалось для чисто софтварного изображения из себя перфосчитки. Для оператора - телефонная клавиатура и 2*8 буковок ЖК-индикатор. "Стандартное" исполнение подразумевало "подцепиться оптронами прямо к фотодиодам существующей считки" и работало с ходу всегда и везде.
Встречались заказчики, которые просили считку выбросить совсем. Например, потому что она померла или, что хуже, глючит. Тогда за отдельную плату приходилось разбираться в интерфейсе ее (а они все разные!). Особо тяжелый случай был с вышивальным автоматом Pfaff. Там в считке имелся процессор Z80 (привет Спектруму) и связь с ЧПУ через абсолютно нестандартный 7-битный последовательный порт. Пришлось выковыривать из считки ПЗУ, дизассемблировать на том же Спектруме (точнее, уже в симуляторе его) и разбираться в железе и софте протокола. Такое занятие стало заказчику ровно вдвое дороже "стандартного" устройства.
Одну из демонтированных "глючных" считок я утащил в гараж, починил и подключил к компу через LPT-порт. Это позволило освоить еще один бизнес: загнать в компьютер существующие и используемые перфоленты, файлы от которых были давным-давно потеряны. Как такое может быть? Легко! У каждого заказчика находились такие ленточки, у одного - аж несколько сотен. Эта перфосчитка валяется у меня в дальнем гараже и по сей день. Наверно, можно уже в музей какой подарить.
Всего года за три я изготовил порядка 25 адаптеров к ПК, штук 60 считок к ЧПУ и несколько сотен флэшек. Не удивлюсь сильно, если где и поныне еще работает (в 2008 в одном месте - точно работало).
Как ни странно, были и сотрудники (чаще - сотрудницы), горевавшие о прощании с перфолентой. Почему?
Потому что "перфодырки" - удобный и бесплатный наполнитель для кошачьего туалета.