Оказывается, что некоторые программируемые калькуляторы на самом деле умеют гораздо больше чем есть на самом деле и один из них это HP 39GS. Как пробудить нужные воспоминания мы и рассмотрим в этой заметке.
Начну издалека. Наверняка у каждого из нас есть устройства, обладающие техническим или иным совершенством и уже одно только это автоматически означает желание ими обладать. Для кого-то это ноутбуки, телефоны определенной фирмы, может микроконтролллеры или FPGA, может музыкальная аппаратура. В общем нас много, а мнений и желаний еще больше, мне же всегда нравились программируемые калькуляторы. Возможно сеанс психоанализа показал бы что это из-за калькулятора «Электроника МК-61» который я в свое время программировал для того чтобы на нем поиграть. Можно сказать, что на сегодня калькуляторы уже практически отжили свое и в этом есть доля правды. Есть соответствующее ПО для ПК, рядом с которым калькулятор как самолет Можайского по сравнению с SSJ100, есть эмуляторы для телефона, которые могут эмулировать те же калькуляторы. Но несмотря на все это есть ниши, где калькулятор остается труднозаменимым, да и эмулятор на телефоне не даст того теплого и лампового ощущения от нажатия настоящих кнопок и времени работы.
На работе у меня TI89 Titanium, это без преувеличения один из самых совершенных и удобных калькуляторов. Пару лет назад я его купил б/у на ebay за 4500 и то, долго себя уговаривал. И вот тут мы видим еще одну особенность, стоимость таких калькуляторов совсем оторвана от их железного содержимого. Он может запросто стоить под 200$ и совершенно не стесняться этого. Ну и что делать пролетариату? Тут еще и дети утопили мой старенький домашний Casio fx-220, который отслужил верой и правдой лет 15 и я понял что без калькулятора дома мне никак и нужно что-то делать. Хотелось непременно программируемый за стоимость современного аналога fx-220 и единственное что попалось отдаленно похожее это Casio fx-5800p.
И тут случайно я наткнулся на китайский форум где люди переделывают 39GS в 48GII, посмотрев сколько стоит 39GS я понял – это мой случай.
Кратко, чем отличается 39GS от 48GII. Если в двух словах, то во втором есть CAS и RPN. CAS это когда можно производить символьные вычисления – например решать уравнения в общем виде или найти неопределенный интеграл; RPN же обратная польская нотация – форма записи когда цифры вводятся перед операциями, я не понял ее прелести, но многим нравится. Чуть подробнее если, то второй позволяет статистику, операции над числами разных систем счисления, векторный анализ, ряды, комплексные числа, системы уравнений, теорию вероятности – его руководство 900 стр. против 300 для 39GS. По железу во втором чип с прошивкой емкостью в два раза больше (2 Мб).
Что нужно: 39GS, стоит от 650 р. (без крышки) до 1200 р, отладчик/программатор от 700 руб — клон Segger J-LINK и подходящая память. На заднюю сторону своего отладчика приклеил его распиновку, если кому-то надо в конце заметки есть в svg. Если в зоне досягаемости программатор, то можно и вовсе без отладчика.
Китайцы рекомендуют SST39VF1601 (в итоге купил 3 штуки — 200 руб ), но я подумал, что можно пошерстить свое старое барахло, в нем наверняка где-то должно быть. Нужного объема микросхемы я нашел в старых DVD приводах, обе Macronix одну из них Segger поддерживал, вторую нет.
Разборка 39GS. Долго с разборкой не мог понять, уже даже начал высверливать как бы пломбы под батарейной крышкой, а оказалось намного проще. Первое, что нужно это отодрать защиту экрана. У меня не нашлось ничего лучше, чем шпатель, который я заточил, чтобы отдирать детали со стола 3D принтера. Вставляем в зазор между защитой и корпусом и потихоньку поддеваем, под ним 2 шурупа, которые откручиваем.
Потом с торца, кто чем, а я этим же шпателем раздвигаем половинки корпуса. Сильно не лютуем, т. к. можно динамик отодрать, который отпаиваем.
Аккуратно кладем раскрытое, отклеиваем и отводим пленку в сторону.
Следующий мой шаг — припаяться к пятакам JTAG. Дальше выпаиваем микросхему и впаиваем подходящую. Выпаивал я паяльным феном, припаивал им же или 40 Вт паяльником, естественно флюс. Если с феном беда, можно попробовать выпаять паяльником со сплавом Розе, я так себе BIOS на мат. плате многоногий менял, пока работает. Все в итоге должно выглядеть так.
В верхней косичке используется только один провод для подачи опорного напряжения 3,3 В на отладчик (с ноги отладочной платы STM32) на контакт VCC отладчика, без него отладчик не видел контроллер калькулятора.
Все готово к прошивке. Устанавливаем драйвера для отладчика и устанавливаем J-Link Commander и J-Link Flash. Опытным путем выяснил, что версия 6.12 с клоном уже не работает, но 5.12 работает точно. Разбираться в чем дело и как победить не стал.
Устанавливаем батарейки в калькулятор, запускаем J-Link Commander, пишем «connect», затем «?» для того чтобы выбрать целевой чип (наш Samsung S3C2410A, ну или на худой конец выбрать ARM9) и если все хорошо то вы получите следующее окно.
Потом запускаете J-Flash и следуете картинкам с китайского сайта.
На этом шаге, господа, я потерпел фиаско. Я мог считать память, но не мог стереть или записать прошивку. Несколько раз менял микросхемы, но ничего не выходило. Идентификация чипа и контроллера есть, а залить что-нибудь не получалось. Это было начало октября, я подумал, что возможно чипы защищены от записи и без заказа рекомендуемых SST39VF1601 не обойтись, припаял обратно родной чип. Решительно решив довести дело либо до поломки 39GS либо до счастливого финала заказал SST39VF1601. Так получилось, что одновременно с ним я заказал также программатор TL866A с колодкой TSOP-48. Забегая вперед скажу, что программатором отлично прошились оба чипа с приводов, но припаяв их я не получил рабочего калькулятора. Анализируя, позже я пришел к следующим выводам:
Сложилось впечатление, что эти чипы все таки можно было использовать и их можно было прошить с помощью Segger отладчика, но в связи со следующим выводом этого сделать не получилось;
- Господа, скорее всего я криворук. Просто, видимо у меня не вышло тогда нормально припаять микросхему. А потом когда у меня уже был на руках и программатор и рекомендуемые чипы я уже не стал экспериментировать, а прошил и припаял SST39VF1601. Описывать работу с TL866A не буду, там все просто – ставим чип, выбираем его производителя, открываем прошивку, прошиваем, вынимаем, паяем.
Дальше все собираем в обратной последовательности. Пациент начинает приходить в себя и вспомнил все что нужно.
Последний шаг это наклейки на кнопки, в интернете особо ничего не нашел, поэтому чертил сам (приложено в svg, должен стоять шрифт carlito), печатаете на A4 как есть. Единственное, что я бы доделал, это сдвинул в svg надписи друг к другу (которые над клавишами) так, чтобы вырезать нужно было только одну полоску для наклейки, но это я уже потом сообразил, когда половину наклеил, дополнительно надписи сверху проклеил скотчем. В результате, пациент окончательно очухался и безмерно нас радует. Разница между тем что было огромная.
Кнопки 48GII. Прошивка 48GII. Segger.
Если не затруднит, выложите на какой-нибудь яндекс-диск.
P.S. Верно посчитать на нем я так и не смог, хотя TI89 может.