Я всегда считал японские гаджеты из 90-х маленькими шедеврами инженерной мысли. При разборке и детальном рассмотрении, я часто поражался продуманной схемотехнике и технической продвинутости устройств тех лет, и миниатюрный ноутбук Casio Cassiopeia A-11 не стал исключением. Подумайте сами: портативный компьютер, схожий по производительности с 5-летним домашним ПК, мог работать всего от двух батареек и при этом предоставлял практически весь функционал полноценного десктопа. Интересно, что за диковинный гаджет японцы выпустили в 1997? Тогда жду вас под катом!
❯ Предисловие
По правде сказать, в моём блоге вышло уже довольно много статей об устройствах на Windows CE. Чего мы с вами только не ковыряли за это время: и хакали электронный переводчик, и портировали Wolfenstein 3D на терминал сбора данных, и даже апгрейдили КПК путём физической замены чипов памяти. Ещё со школьной скамьи я являюсь фанатом любых устройств на WinCE — и в первую очередь, за концепцию этой ОС.

Ведь WinCE в первую очередь проектировалась с упором на совместимость с десктопной версией Windows. Её сходства с большим братом не заканчивались на схожем интерфейсе и наличии меню «Пуск»: изнутри система также использовала реестр для хранения конфигурации системы, полагалась на подсистему GDI для отрисовки графики, и реализовывала API, который был максимально приближен к классическому WinAPI в Win9x.

Благодаря этому, появлялась возможность относительно легко портировать программы с ПК, а немногим позже, Microsoft даже портировала ещё совсем молодой .NET Framework, добавив ему приписку «Compact». И что самое интересное — программы, собранные для .NET CF, свободно запускались на обычном ПК... аж за 12 лет до появления UWP!

Однако на прикладной части все схожести систем заканчивались. В отличии от NT и 9x, ядро WinCE было ОСРВ и разрабатывалось специально для устройств с очень ограниченными возможностями. Ядро Windows CE, Nk, без интерфейса можно было запустить даже на устройствах с 32КБ ОЗУ, а для полноценной работы графической оболочки достаточно было всего лишь 2-4 мегабайт оперативной памяти. Система изначально была оптимизирована для работы из XIP-памяти, благодаря чему не было необходимости загружать системные программы и библиотеки в оперативную память.
Подробнее про XIP
XIP — технология, позволяющая выполнять код напрямую с ПЗУ без предварительного копирования в оперативную память. Традиционно, XIP поддерживают все процессоры и микросхемы ПЗУ, которые можно напрямую подключить в адресное пространство устройства. Сюда входят любые параллельные виды ROM/EPROM/EEPROM, NOR Flash-память, а также NAND и SPI Flash-память с помощью специального контроллера.
На уровне системы это работает так: вся секция .code и .rodata помечается как ReadOnly и остаётся в ROM. При запуске программы или загрузке библиотеки, динамический линкер копирует секции .bss и .data в ОЗУ. Однако есть один важный момент: программа или библиотека обязательно должны быть собраны в позиционно-независимом режиме, поскольку возможности провести релокации без загрузки секций с кодом в память у нас нет.
В других ОС с этим были связаны особые ограничения: например в Symbian, dll вообще не могли адресовать любые данные в .data/.bss — поскольку там они собирались без PIC и были «общими» для всей системы.
Не менее интересной была и работа с ПЗУ. Сама по себе WinCE поддерживала внешние накопители и микросхемы памяти, однако основным пользовательским диском до WinCE 5.0 оставался рамдиск — виртуальный накопитель в ОЗУ. Дело в том, что в те годы с постоянной памятью в Embedded-устройствах были проблемы. NOR-флэш всё ещё была слишком медленной для постоянных циклов перезаписи, EEPROM-память требовала разводки повышающего DC-DC преобразователя для перепрограммирования секторов, а сама система вообще чаще всего хранилась на масочной ROM. Из-за этого, Microsoft решила дать возможность «откусить» кусочек от оперативной памяти в пользу накопителя, при этом объём выделяемой памяти можно было менять в реальном времени с помощью ползунка в панели управления!

И благодаря учету всех этих ограничений и особенностей, WinCE стала очень популярной в своё время. Её устанавливали везде: на панели управления станками и промышленным оборудованием, на преусловные терминалы сбора данных, на смартфоны, коммуникаторы и КПК с Windows Mobile на борту, и даже на ноутбуки! И вот об одном из таких ноутбуков мы с вами сегодня и поговорим.
Дело в том, что в 90-х были очень популярны портативные органайзеры Psion. Эти миниатюрные устройства работали на операционной системе EPOC (которая является прямым предком Symbian) и несмотря на принадлежность к «органайзерам», это были вполне полноценные миниатюрные ноутбуки. Из коробки они включали в себя весь необходимый функционал, начиная от офисных задач, заканчивая собственным скриптовым языком, и с помощью специального кабеля DataLink, в них можно было загружать собственные нативные программы.
В 1996 году, компания Casio представила одно из первых устройств на базе Windows CE — Casio Cassiopeia A-10, который был прямым конкурентом устройств от Psion. Однако в отличии от Psion, Кассиопею называли на органайзером, а новым классом устройств — карманный персональный компьютер aka HPC (Handheld PC). Миниатюрное устройство работало всего от двух батареек, выглядело почти также, как и любой обычный ноутбук тех лет(с точки зрения форм-фактора) и при этом предлагало знакомый всем интерфейс...
В 1997, Casio представила улучшенные модели — A-11, A-11A и A-11+, которые отличались увеличенным объёмом ОЗУ и набором предустановленных программ. И один из таких A-11'ых недавно попал ко мне благодаря Хабровчанину @iShkval, который нашёл его для меня в Сербии, купил и переслал в Россию — за что ему огромное спасибо!
Ну а по традиции нашей рубрики, знакомство с устройством предлагаю начать с его разборки и изучения. Здесь действительно есть на что посмотреть!
❯ Что внутри?
В конструктивном плане, Cassiopeia была выполнена весьма необычно. Дело в том, что большинство ноутбуков тех лет были модульными и при необходимости мы могли установить дополнительную карту расширения в слот Mini PCI-e, заменить жёсткий диск и иногда даже проапгрейдить процессор без необходимости полной разборки. Cassiopeia частично наследует эту модульность, сохраняя возможность установки внешних PCMCIA-карт расширения и установки дополнительных модулей оперативной памяти.
Под прямоугольной крышкой с обратной части устройства прячется небольшая 64х-пиновая планка памяти, на которой в стандартной комплектации распаян чип ROM, содержащий в себе образ операционной системы. Если вы хотели проапгрейдится с Windows CE 1.0 до 2.0, то вы просто шли к производителю и заказывали новый модуль с ROM.
Однако на модуле также присутствуют посадочные места для установки дополнительной оперативной памяти и даже место под I2C EEPROM, которая здесь выполняет роль SPD (чип с информацией о модуле оперативной памяти, есть на любых планках ОЗУ). Апгрейд оперативной памяти также увеличивал доступный объём пользовательской памяти — такой вот парадокс :)

Чуть правее модуля памяти скрывается отсек под батарейку типа CR2032, которая здесь нужна для подпитки микросхемы обновления DRAM. Как я уже говорил ранее, устройство хранит все пользовательские данные в ОЗУ, поэтому чтобы не потерять их в процессе замены батареек, использовался отдельный источник питания. И вы не поверите, но контроллер DRAM потреблял микроамперы: одной такой батарейки могло хватать на несколько месяцев хранения данных даже без основного источника питания!
А основным источником здесь выступают две алкалиновые батарейки типа AA, либо же NiMH-аккумулятор. При этом можно использовать оба типа питания попеременно: корпуса у них идентичные, только NiMH-аккумулятор поджимает небольшой концевой выключатель, который перенастраивает цепи детекторов напряжений. Меня лично удивляет тот факт, что устройство, сравнимое по производительности с 5-летним ПК (на 486'ом), способно работать всего от двух батареек и при всём этом — формировать питание STN матрицы, ламп подсветки, PCMCIA слота и основных модулей...
Разбирается Cassiopeia довольно просто: необходимо открутить 8 винтиков с поддона и осторожно расщелкнуть клипсы со стороны батарейного отсека. Окошко под ИК-порт очень плотно крепится к топкейсу, поэтому при расщёлкивании нужно быть предельно осторожным. Несмотря на солидный возраст в 29 лет, пластик особо нигде не покрошился и не посыпался: тайваньские 386 и 486'ые ноутбуки ломаются даже если на них просто смотреть :(
К конструктиву есть одна небольшая претензия: как вы могли заметить, после установки батареек, необходимо было потянуть рычажок Normal operation в левую сторону. Обычно этот рычажок выполнен в роли толкателя, однако в Cassiopeia он сам по себе и является переключателем. В пластик вручную вплавлена металлическая перемычка и за годы пребывания потекших батареек, здесь обосновалась коррозия:
С обратной стороны платы расположился лишь разъём PCMCIA, несколько катушек индуктивности, являющиеся частями соответствующих DC-DC модулей, интерфейсный разъём, а также ИК-порт. Самое интересное находится с фронтальной стороны:
Справа у нас расположилось большое количество ключей и DC-DC преобразователей. В глаза сразу бросается микросхема MAX3241CAI, которая является преобразователем уровней RS232 из 3.3V в 5.5V и служащая для обеспечения интерфейса между КПК и обычным компьютером. Это родственная микросхема легендарному MAX232.
Повышающие преобразователи для шин питания 3.7V и 5V выполнены на микросхеме MAX608, причём шина 3.7В затем понижается до 3.4В для обеспечения питания для всей 3v3 логики на плате

Питание дисплея выполнено на микросхеме RN5RY, которая формирует из 3х-вольтовой шины целых 25В. Если честно, я даже не представляю сколько здесь может потреблять дисплей без подсветки, но для STN-матриц внешние преобразователи были нормой. Чуть позже они переехали на платы самих дисплеев. Контрастность регулируется отдельным потенциометром. А вот питание ламп подсветки выполнено на HV803 — микросхема раздувает 90В из 2.7В.
Как видите, питание здесь выполнено относительно просто. Никаких контроллеров питания и сложных схем: всё исключительно на «россыпухе» и стандартных микросхемах.

Перейдем к сердцу устройства: процессору Hitachi HD6417096, который построен на базе собственной архитектуры Hitachi — SH3 и работает на частоте аж в 40МГц. Для сравнения — в 1993 году, Am486DX-40, работавший на той же частоте, считался очень достойным процессором.
Архитектура SuperH была разработана в начале 90-х специально для применения в Embedded-устройствах, при этом часть процессоров была сертифицирована для использования именно в WindowsCE-гаджетах. Даташита для процессора A-11'ого к сожалению нет, но есть предположение о том, что это часть семейства SH7709, которые применялись в более поздних КПК. На основе этого, можно сделать вывод что в одном чипе помимо процессорного ядра скрывался MMU, RTC, UART-контроллер, USB-контроллер, таймер и WatchDog. Также в процессор был встроен кэш объёмом в 8КБ — столько-же, сколько и у Am486DX :)
Рядом с процессором расположилось два чипа оперативной памяти NEC UPD42S16165LG5, объёмом 2МБ каждый. Однако на фото можно заметить, что один чип припаян неравномерно, а на конденсаторе рядом с ним есть следы не отмытого флюса. Моя теория заключается в том, что Casio произвела партию плат для A-10'ых (с 2МБ ОЗУ) в 1996, а затем в 1997 решила сделать апгрейд и на всей партии вручную допаяла вторую банку ОЗУ. Если вам кажется что это было слишком дорого, то вспомните что в Jornada с завода идет около 10 перемычек :)

Рядом с процессором расположилась микросхема ULA (логический массив из вентилей, по сути один из способов производства кастомных микросхем, когда полный цикл производства с нуля не оправдан) под маркировкой Casio FM-7432. В её задачи входит управление шиной PCMCIA.
Чуть выше распаян чип Casio FM-7431, который является аналогом одновременно северного и южного моста из относительно современных ПК. В его задачи входит управление дисплеем, тачскрином, контроллер DRAM, контроллер клавиатуры, управление состоянием питания (системный контроллер — режимы сна, подсветка, мониторинг шин питания), контроллеры прерываний/DMA, а также ИК-порт и ЦАП для вывода звука. Такой вот мультиконтроллер, LSI и хаб в одном чипе :)
Но... после обратной сборки устройства, моя Cassiopeia A-11 не включилась. Чего я только не делал: и менял переключатель на перемычку, и диагностировал цепи питания и искал проблемы по сервисмануалу — гаджет не хотел снова стартовать. Скажете что у меня кривые руки? Ну, не совсем. Просто на коннектор шлейфа клавиатуры попали соли от когда-то забытых здесь батареек — из-за чего часть дорожек на внешнем слое банально «поело».
Но я думаю эту проблему можно будет решить конактолом. Так что к сожалению, это первое устройство, которое после разборки не дожило до включения и тестов. И это невероятно грустно, ведь я так давно мечтал о монохромном КПК :(
❯ Заключение
Вот такой интересный гаджет сделала Casio почти 30 лет назад... И ведь несмотря на такой приличный возраст, устройство всё равно (почти) продолжает работать как ни в чем не бывало, а благодаря прошлому хозяину ещё и сохранилось внешне в прекрасном состоянии... Теперь моя задача — оживить A-11 и сохранить его в таком же прекрасном виде!
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
У меня также есть Boosty.
Разыскиваются девайсы для будущих статей!
Для будущих статей разыскиваются устройства на WinCE/WinMobile, китайские кнопочные телефоны, ранение китайские Android-смартфоны и различные не-x86'ые Linux устройства. Если вдруг есть что предложить - пишите пожалуйста в комментариях :) Всем большое спасибо, без вашей помощи, статьи бы не выходили!


А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам.

