В наше время смартфон стал основным и самым часто используемым компьютером. Шестидюймовый гаджет за 20.000 рублей способен запустить полноценную Windows, эмулировать игровые консоли и даже стать почти настоящим настольным ПК за счёт технологии Samsung Dex. Но так было не всегда: в 1991 году, HP выпустила свой первый по настоящему карманный DOS-компьютер под названием HP 95LX, и тут всё заверте...

Сегодня мы с вами изучим один из последних карманных ноутбуков HP — легендарную Jornada 720 с мощным ARM-процессором от Intel, 32 мегабайтами оперативной памяти, крутым VGA-дисплеем и Windows CE на борту. Мы не только «потыкаем» девайс, но и разберем его, изучим компонентную базу и схемотехнику, а также проверим на что такой ноутбук был способен на практике. Интересно? Тогда жду вас под катом!

❯ Предисловие

Концепция современного смартфона зародилась отнюдь не с выходом первого iPhone в 2007 году. Ещё в 90-х годах многие производители железа грезили о портативном гаджете с сенсорным экраном, который мог бы выполнять большинство повседневных задач: просмотр и редактирование документов, серфинг сети, а также запуск программ и игр. И пожалуй самым известным и успешным таким гаджетом стал КПК Palm, который помимо всего вышеперечисленного, также имел уникальную технологию рукописного ввода Graffiti и работал быстрее, чем некоторые современные смартфоны.

Palm Tungsten T5. Устройство 2005 года, но концептуально оно было всё таким же, как и первый Palm Pilot 1000 1996 года.

Palm Tungsten T5. Устройство 2005 года, но концептуально оно было всё таким же, как и первый Palm Pilot 1000 1996 года.

Но не одним Palm мы были едины. К концу 90-х годов, Compaq и Casio выпускали свои собственное видения портативных ПК на ОС Windows CE, которая концептуально была практически идентична настольной винде. Эти гаджеты комплектовались большими экранами высокого разрешения, мощными процессорами, которые по производительности догоняли Pentium MMX, и огромными, по меркам тех лет, объёмами оперативной памяти — например Compaq Aero 1500 имел аж 16 мегабайт оперативной памяти, что по меркам портативного гаджета было очень много.

Cassiopeia E125 2000 г.в.

Cassiopeia E125 2000 г.в.

Параллельно с КПК на WinCE развивался ещё один класс устройств, именуемый HPC — Handheld PC. Концептуально это были всё те же предки смартфонов с тачскринами и мобильными операционными системами, но для ввода текста предлагалось использовать не виртуальную клавиатуру, а вполне полноценную, а сами устройства выглядели как миниатюрные ноутбуки, которые помещались в карман джинсов. Только представьте: вы едете в метро, открываете текстовый редактор и начинаете писать код прямо на этом малыше, и затем там же его компилируете. Приезжаете на работу, синхронизируете кодовую базу с ПК, собираете этот же код там же — и всё работает на обычном ПК. Это ли не чудо? :)

Одним из таких устройств был и HP Jornada 720 2000 года выпуска (старше автора на целый год!), который я купил год назад с помощью подписчика Алексея. Устройство продавали на авито за небольшую цену, но только самовывозом — и Алексей проехал пол Москвы на метро, чтобы помочь мне выкупить эту красоту и написать подробный пост о нём. Девайс был полностью рабочим за исключением отсутствия кнопки Y на клавиатуре, док-станции и проблемного тачскрина, но во всём остальном устройство сохранилось просто идеально!

Вот так выглядит роскошь в московском метро
За 26 лет устройство практически не потеряло товарный вид :)

За 26 лет устройство практически не потеряло товарный вид :)

Пожалуй главной фишкой Jornada 720 можно считать клавиатуру. Несмотря на миниатюрные размеры, ход клавиш в ней идентичен обычным ноутбукам, а помимо основного блока текстовых кнопок, место нашлось для стрелок, цифр, модификаторов, и даже F1-F12. С такой клавиатурой немудрено, что устройство поставлялось с предустановленным Word, Excel, PowerPoint и Access.

Красота то какая!

Красота то какая!

Однако функционал устройства не ограничивался печатной машинкой. В Jornada 720 (как и в большинстве других КПК тех лет) был очень широкий мультимедийный функционал. Девайс умел работать как диктофон, аудиоплеер (с поддержкой MP3 — в 2000 то году!), видеоплеер (но только несжатого видео) и мог использоваться для серфинга полноценного веба. Никакого WAP с его урезанным WML, только полноценный HTML 2.0. При этом для навигации по системе предлагалось использовать не мышку, или, например, тачпад, а стилус — хотя при желании можно было управлять и обычным пальцем.

Как и любой субноутбук конца 90-х, Jornada 720 оснащался цветным STN-дисплеем высокого, по меркам тех лет, разрешения 640x240 — считай широкоформатный VGA. Матрица была матовой, с замечательным контрастом и цветопередачей, а в качестве подсветки использовались не светодиоды, а миниатюрные CCFL-лампы, которые и сейчас дают трушную «ламповую» подсветку и ничуть не «сели» за 26 лет :)

В Jornada 720 не было жёсткого диска от слова совсем. Более того, в нём не было привычной Flash-памяти — ОС хранилась на специальном картридже, который совмещал в себе масочную ROM с операционной системой и 32 мегабайта оперативной памяти. Если хочешь проапгрейдить ОС — то просто идешь в магазин, покупаешь карту апгрейда, ставишь её — и всё, ОС установлена. Как же хранились данные, спросите вы? Да прямо в оперативной памяти — под пользовательские данные Windows CE выделяла рамдиск, размер которого можно было менять специальным ползунком в настройках. Читатель может спросить: а что если аккумулятор устройства разрядится? Неужто мы потеряем все данные? Нет! Контроллер DRAM питается от отдельной батарейки типа CR2032, так что даже после разряда аккумулятора, данные могут храниться вплоть до нескольких недель или даже месяца!

Но как целая Windows помещалась в 3-4 мегабайта ОЗУ?

Секрет был прост — упор на XIP! Дело в том, что NOR и ROM (в отличии от NAND, MMC и тем более HDD) память можно подключить напрямую к шине процессора, откуда данные можно читать также, как и из оперативной памяти — по байтам или словам.

Обычная WinNT/Win9x загружает ядро, программы и dll'ки сначала в оперативную память и только потом начинает их выполнение, в то время как WinCE может выполнять код программы прямо с ROM, выделяя в ОЗУ только секцию для данных. Более того, WinCE не загружает dll для каждой программы по отдельности, а кэширует их в специальном пуле, благодаря чему код одной dll могут использовать все программы в системе. Именно таким образом coredll (аналог kernel32/user32) расшаривается сразу для всех запущенных процессов.

В Symbian использовался идентичный подход, но реализовали его проще — dll не могли иметь своих секций .data/.bss, из-за чего в них мог содержаться только код (однако костылем с relative-адресацией данные всё таки можно было затащить в dll).

А если 16 мегабайт памяти всё таки не хватало, то всегда можно было подключить карту памяти формата CompactFlash. Причём у таких ноутбуков с картами расширений всё было просто супер: помимо CF, в ноутбуке был полноценный слот для PCMCIA карточек (по сути, это шина PCI/ISA, в зависимости от версии карты), а в комплекте с устройством поставлялась специальная док-станция, которая добавляла ему COM-порт и USB для подключения к ПК. А в сеть гаджет мог выходить с помощью встроенного модема, док-станция для этого была не нужна.

Я огромный фанат таких устройств и очень хочу написать для них 2D-игру. Именно поэтому я стараюсь находить убитые экземпляры, ремонтировать их (в том числе и сами платы), восстанавливать практически до идеального состояния, а затем ставить в свою коллекцию. Например пару лет назад я купил Jornada 620LX за копейки в состоянии «супового набора», отремонтировал подсветку дисплея, собрал его и написал об этом отдельную статью.

Hitachi SH3, 16 мегабайт оперативной памяти и Windows CE на борту. Куто?

Hitachi SH3, 16 мегабайт оперативной памяти и Windows CE на борту. Куто?

А ещё я обожаю находить и хакать более современные устройство подобного формата. Пару лет назад я купил электронный переводчик Ectaco Partner ER900, для которого я написал джейлбрейк и даже портировал эмулятор Денди. Так что моя любовь к таким гаджетам безгранична :)

❯ Разбираем и изучаем

По традиции рубрики, мы с вами разберем и изучим устройство, что называется, изнутри. При этом несмотря на HP-шные корни, разбирается устройство очень просто — откручиваем три верхних винта с обратной стороны устройства, вытаскиваем и отключаем клавиатуру вместе с шлейфом CF, выкручиваем оставшиеся винты и расщелкиваем корпус. После этого, мы видим следующую картину:

Обратите внимание на межплатный шлейф. Во всех «ноутбучных» Jornada он закручен в довольно длинный рулон вокруг пластика петель устройства, благодаря чему не перетирается и не заламывается. В отличии от тех же Psion'ов на EPOC (Symbian), нерабочий шлейф на Jornada'х скорее исключение из правил и в большинстве экземпляров он до сих пор в состоянии нового даже спустя почти 30 лет.

А дабы шлейф не вывалился из разъёма при тряске, инженеры закрепили его с помощью шестигранной стойки.

А дабы шлейф не вывалился из разъёма при тряске, инженеры закрепили его с помощью шестигранной стойки.

С обратной стороны платы расположились основные DC-DC преобразователи, которые формируют три главные шины питания — 3.3В, 5В, и 8В, а также классический чарджер литиевых аккумуляторов LTC1510. Роль контроллера питания/SMC выполняет кастомный чип F816-80030, разработанный HP специально для Jornada (было предположение что это контроллер Cardbus, но он уже встроен в процессор). Также здесь расположилась логика для управления выбором источника питания контроллера SDRAM (если подключен аккумулятор/блок питания, контроллер DRAM питается от них, если нет — то от CR2032):

Немного правее можно увидеть модем Conexant RP56LD, который подключен к процессору через параллельную 8-битную шину типа 8080. Чип довольно крутой: умеет пережевывать не только данные, но и звук, так что КПК потенциально можно было превратить в стационарный телефон. Conexant в целом достаточно легендарная фирма — именно её чипы легли в основу таких легендарных телефонов, как Samsung C100. Рядом с модемом можно увидеть разъём для подключения телефонной линии, а также 2.5мм джек для подключения мононаушников:

Основной сок расположился с обратной стороны платы. После отключения клавиатуры, перед нами открывается вид на тот самый картридж с ОС и оперативной памятью, а также остальными питальниками и RS232-трансивером.

Картридж состоит из двух банков оперативной памяти Samsung K4S281632B-Tl1H типа SDRAM, объёмом по 16МБ каждая, а также целых трёх микросхем масочной ROM MX23L6430YC-15, объёмом по 8МБ каждая, что в сумме даёт 24МБ для хранения прошивки. Чип имеет почти стандартный 44-пин корпус TSOP и отличается только двумя пинами, необходимыми для записи в NOR — #WE вместо A20, и RESET вместо A21. Чисто теоретически сюда можно развести NOR в TSOP48. Также гаджет можно проапгрейдить и установить сюда 64МБ памяти, просто перепаяв чипы на подходящие увеличенного размера, загрузчик сам увидит новую память.

На самом деле...

Jornada 720 может увидеть аж до 128МБ оперативной памяти. Правда стандартный загрузчик увидит только 64МБ, а пропатчить его не выйдет из-за ROM, так что увеличенный объём сможет использовать только Linux.

Под картриджем скрывается процессор Intel StrongARM SA1110 в паре с чипсетом SA1111. По меркам конца 90-х, процессор был очень крутым. Посмотрите сами:

  • В основе лежало кастомное 32-битное процессорное ядро DEC StrongARM с набором инструкций ARMv4, способное работать на частоте аж до 206МГц. Процессор имел 16КБ L1-кэша инструкций и 8КБ L1-кэша данных, а в бенчмарке Dhrystone набирал вплоть до 235 MIPS'ов — это уровень Pentium 200, что уже было очень круто по меркам мобильного процессора.

  • В чип был встроен контроллер памяти, поддерживающий до 6 банков SDRAM/ROM/NOR/Flash/SRAM. В чипе предусмотрено 4 сигнала для выбора банка DRAM, так что 128МБ — максимальный объём памяти без внешнего арбитража шины. Напомню что в обычных x86 ПК, роль контроллера памяти выполнял отдельный чип — северный мост.

  • SA-1110 имел встроенный PLL для тактирования как процессора, так и SDRAM, и всей остальной периферии. На обычных ПК этим занимался отдельный чип под названием клокер — он тактирует FSB, в то время как внутренняя частота процессора задается встроенным PLL и множителем.

  • Также в чип интегрирована вся необходимая периферия — DMA-контроллеры, PCMCIA-контроллер, контроллер дисплея (о нём позже), контроллер прерываний, контроллер энергосбережения, и даже SPI, UART и GPIO! В обычных компьютерах за всё это отвечает хаб, также известный как южный мост.

  • Для удобства отладки был предусмотрен JTAG.

Круто, да? Рядом с процессором расположился чип-компаньон (будем называть его хаб) SA1111, который включал в себя:

  • Арбитр шины SDRAM, который позволял без участия процессора обмениваться данными с USB/кодеком. Технически это узкоспециализированный DMA.

  • Контроллер аудиокодека AC97 с интерфейсом I2S для подключения звуковых устройств.

  • Контроллер PS/2 для подключения обычной мышки/клавиатуры.

  • Контроллер USB 1.1, причем способный работать как в режиме хоста, так и режиме устройства. Jornada 720 активно использует эту фичу для подключения и синхронизации с ПК.

  • ШИМ-ки для управления яркостью дисплея, громкостью звука и прочими «аналоговыми» вещами.

Чуть ниже чипсета расположился контроллер дисплея EPSON SED1356F0A (да, он тут отдельный). На практике это полноценный видеочип, по функционалу схожий с 2D-видеокартами 90-х: тут и встроенный RAMDAC для VGA и TVOut, и контроллер TFT/STN-матриц, и 2D-ускоритель с операциями типа BitBLT, и аппаратный курсор. Наличие отдельного видеочипа позволяло заметно разгрузить SA1110 — контроллер дисплея в процессоре умел только выводить фреймбуфер на дисплей, аппаратный блиттинг не поддерживался. Правее контроллера расположился кастомный чип HP F1816-80013, предположительно выполняющий роль контроллера смарт-карт.

В Jornada 720 также был ИК-порт и поддержка смарт-карт, которые можно было использовать для разграничения доступа к данным.

В Jornada 720 также был ИК-порт и поддержка смарт-карт, которые можно было использовать для разграничения доступа к данным.

Левее процессора расположились дополнительные DC-DC преобразователи и сопутствующая логика, которая формирует питание для процессора (аж 1.75В на VCore — нехило!). Учтите что LTC1143L, формирующий 5В, имеет VIn до 14В, так что не вздумайте подключать устройство к БП >10В!

А рядом с контактами для смарткарт расположился предусилитель микрофона SSM2165 и I2S аудиокодек Philips UDA. Классика:

Переходим к дисплею. Крышка разбирается несложно: достаточно лишь открутить два винта под наклейками Jornada и HP, после чего расщелкнуть клипсы по периметру корпуса. Внутри крышки скрывается матрица Hitachi SX16H004, для общения с ней используется параллельный 8-битный интерфейс (спасибо что не DSTN, где данные идут сразу для двух половинок матрицы!).

Инвертор подсветки собран на LT1373. Если она не работает — смотрим наличие питания преобразователя и ШИМ'а подсветки, после чего проверяем есть ли у нас напряжение на выходе, и только потом лезем к лампам.

В моём экземпляре, как я и говорил, отказал тачскрин. Проблема стандартная — это может быть как залом шлейфа, так и расслоение слоев самого тачскрина. В моём случае клей деградировал и его можно восстановить только контактолом — чем я и займусь на выходных.

И вот в целом и всё. Конструктивно Jornada 720 была собрана из вполне стандартных чипов за исключением нескольких кастомных модулей, так что гаджет вполне ремонтопригоден. В целом, это один из примеров настоящей инженерной школы 90-х — когда из-за низкого уровня интеграции, по настоящему крутые устройства собирались из десятков самых разных чипов! Давайте же включим наш девайс и узнаем, на что он способен на практике!

❯ Включаем

Как я и говорил ранее, устройство питается и заряжается от блока питания на 9В с Barrel-jack'ом. Такой можно взять от Asus EEEPC 701. Причём некоторые литиевые аккумуляторы даже спустя более чем 26 лет продолжают заряжаться и даже держать заряд!

Скорее всего аккумулятор состоит из трёх 18650, так что перепаковать скорее всего не проблема.

Скорее всего аккумулятор состоит из трёх 18650, так что перепаковать скорее всего не проблема.

Перед включением нужно обязательно нарастить объём памяти. В качестве накопителя я выбрал CF-флэшку объёмом аж 128МБ, которую устройство увидело без проблем:

Учитывая что CF — это IDE, к Jornada можно даже полноценный попробовать HDD подключить :)

Учитывая что CF — это IDE, к Jornada можно даже полноценный попробовать HDD подключить :)

После включения, нас встречает экран настройки и калибровки экрана. В отличии от PPC2002/2003, этот этап можно пропустить и сразу выйти на рабочий стол, открыв диспетчер задач (Alt - Tab) и закрыв программу настройки. Далее устройством можно полностью пользоваться с клавиатуры — как и под обычной Windows.

Интерфейс ОС максимально повторяет Windows 95-98, поэтому сориентироваться можно без проблем. Тут есть и проводник, почти идентичный ПК, и панель управления, и пресловутый Office с Excel. Однако Windows CE повторяет Win9x/WinNT не только внешне, но и внутри: для написания программ используется всё тот же WinAPI (с поправкой на вырезанную поддержку ANSI-функций, только Widechar) с всё той же оконной, мультимедийной и графической подсистемой. WinCE точно также поддерживает OLE и COM, а для написания приложений можно использовать привычные олдам фреймворки MFC и ATL (это вам не MAUI!):

Мало было WINAPI? Хотелось использовать всю производительность устройства для отрисовки графики крутой игры с софтрендером? Тут и DirectX был — DDraw, DShow, DSound, все эти компоненты можно было использовать для написания своей игры или мультимедийной программы. Только 3D не было — но мы же с вами сможем написать растеризатор треугольников с аффинными трансформациями и сами, верно? :)

А если вдруг нужно было написать небольшую программу или скрипт, то к вашим услугам ChaiVM — кастомная Java-машина от HP, которая плюс-минус соответствует стандарту Java 1.1. Даже у J2ME стандарт был выше, но для простых программ вполне сойдет!

Мобильный интернет в те годы выглядел довольно примитивно: тут тебе и дорогой WAP-трафик, и простейшие WML-страницы толком без графики, и медленная скорость навигации. В свою очередь, Jornada 720 предлагал возможность серфить полноценный WEB 1.0 со всеми его фишками: и GIF-анимации, и Javascript, и тег <marquee> для скроллящегося текста — в общем, тот самый ламповый опыт использования интернета.

Рамдиска в 16МБ в целом хватало на всё. В те годы не было принято хранить на подобных устройствах тяжелые видосы, музыку, или игры весом в несколько гигабайт. Чаще всего софт занимал даже не мегабайты памяти, а килобайты — так что условный TotalCommander мог весить со всеми ресурсами менее 600КБ. Оставшейся памяти под программы хватало с головой — на Jornada 720 можно спокойно открыть Office, Excel, PocketIE, проводник и софт от HP одновременно. И как бы это парадоксально не звучало, ничего не лагало, не свопалось (потому что свопа в WinCE просто не было) и не сыпалось в Out of memory! Ну а если стандартное распределение памяти вас не устраивало — всегда можно было его изменить прямо на лету!

Из встроенного софта, гаджет предлагает кучу программ от HP: бэкапы на флэшку (чтобы не потерять данные после замены CR2032), использование смарт-карт, текстовые редакторы, вьюверы и прочие полезные ништяки. Кроме того, в устройстве предустановлен Windows Media Player для прослушивания музыки и проигрывания видео, диктофон для записи голоса, а также множество других полезных программ.

Ну а те, кому Windows было мало, могли поставить полноценный дистрибутив Linux!

❯ Заключение

Вот таким был миниатюрный ноутбук из самого начала двухтысячных годов за 1.000$. Для кого-то этот гаджет просто дорогая игрушка (при том что обычные x86-ноутбуки были заметно дороже), для кого-то крутой гиковский девайс, ну а для меня это образец грамотного и крутого инжиниринга конца 90-х, где отлично спроектировано не только железо, но и софт! А что думаете вы? Пишите своё мнение в комментариях!

Отдельную благодарность хотелось бы выразить Алексею, который потратил половину дня на то, чтобы выкупить крутой гаджет и отправить его мне. Аплодисменты в комментариях!

В качестве тестовых машин, мне было бы интересно пощупать что‑то ещё из семейства Nvidia ION/Radeon Xpress Graphics/VIA Chrome9 HC/Trident Blade. Если у кого‑то есть всякие интересные тонкие клиенты или ноутбуки на прикольном железе, или что‑то AMD'шное времен 939/462 — пишите в ЛС, обязательно сделаю контент!

Олды блога могут вспомнить мою демку про самолетики. Возможно скоро будет статья про куда более крутую игру для ретро компьютеров и возможно даже PSP и PS2!

Олды блога могут вспомнить мою демку про самолетики. Возможно скоро будет статья про куда более крутую игру для ретро компьютеров и возможно даже PSP и PS2!

Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram‑канал ‭«Клуб фанатов балдежа‭„, куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.“»

А если вы хотите что‑нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро‑компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х?:‑)

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник

После обзоров устройства не продаются, а остаются в моей коллекции. Когда‑нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности?:)

Фото Nokia 9300 с сайта mobile-review.com

Фото Nokia 9300 с сайта mobile‑review.com

Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого‑то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.

Может быть интересно:
Перейти ↩

Перейти ↩

Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram‑канале ↩