Comments 135
Спасибо. Очень хорошо. Ждем вторую серию
Очень здорово! Спасибо вам большое!
1 час 5 рублей :) это шутка, или кто-то действительно был готов платить за почасовую игру в Тетрис?!
Почему нет? На вокзале, в зале ожидания, думаю, такие находились.
В самолетах времен СССР на излете был прокат игры "Ну Погоди". Причем каким-то образом она играла ограниченное время: срабатывал будильник, после чего игра работать переставала. Цену не помню.
Интересно, что там делает схема с советскими транзисторами
У меня 2 предположения - для зарядки аккумуляторов, для красоты)
Изменено
Похоже, там на задней крышке светодиод, а плата им управляет, скорее всего контролирует напряжение батареек, типа разрядились.
Не, светодиода там нет. В металлическом корпусе, кстати, тиристор КУ101А.
Там же написано : "Панк!" :)
1. У платы больше пинов чем подключено
2."Подключены" они в винтам не имеющим электрического контакта ни к чему.
Декор и судя по узнаваемой грязюке и прикрученному и недопаянному проводу - школьник имитировал.
Порадовали фразы типа: "я очень поверхностно разбираюсь в микроэлектронике"...
Без ложной скромности. Даже в процессе написания этой статьи я узнал много нового.
Было бы интересно подробнее узнать про "визуальное чтение" ПЗУ)
Как я и написал - если участок пересечения линий розовый - там единичка, если нет ноль. Вот и все чтение) Проблема только в том, что контрастность и разрешение изображения не позволяют автоматически считать ПЗУ с этого чипа (а такой софт есть, и нормально работает на других типах масочного ПЗУ), поэтому приходится сначала вручную тыкать в Гимпе на активные биты, а т.к. их там 32768, задачка растягивается на несколько часов нудной работы :) А потом еще несколько часов на проверку, т.к. обязательно будут ошибки.
Нужен краудсорсинг, чтобы каждый распознавал пару сотен бит, и это проверялось бы результатом пары других людей.
Вряд ли получится найти столько людей, да и на организацию совместной работы уйдет больше времени)
Еще можно нейросетку научить.
Про это же https://twitter.com/travisgoodspeed писал мног
Автор такой: "я очень поверхностно разбираюсь в микроэлектронике", а потом берёт и находит дешифраторы в абсолютно непонятном мне месиве из разноцветных областей кремния, определяет их разрядность и читает ПЗУ на глаз ?
Он написал "поверхностно", имея в виду что всегда читает глазами схему с поверхности чипа. Ba-dum-tsss
Это второе масочное ПЗУ, которое я пробовал читать и первый раз когда я постарался побольше проанализировать схему, чтобы понять порядок чтения. Так что опытным в этой области я себя никак не могу считать)
Потрясающий уровень статьи! Снимаю шляпу! Очень круто!
Благодарю за раскрытие тематики подробнее :) так какой тип монтажа у чипа? Что то типа qfn? На BGA не похоже.
Там просто золотые волоски по периметру припаяны, и припаяны к плате. И потом заливается компаундом.
Это типа как плата-микросхема.
Никакой, там привариваются золотые проволочки к выводам на кристалле и все. Это же голый кристалл, без корпуса.
Монтаж бескорпусный, но судя по даташиту, HT443A0 выпускались и в PLCC.
Вот буквально недавно на канале macroaesthetic появилась фотография К573РФ1
Вот тут точно такие же золотые ниточки, только к плате.
CoB, Chip on Board
Остатки компаунда с поверхности кристалла удаляются дихлорэтаном
На самом деле не сильно лучше азотной кислоты в домашних условиях, а скорее даже хуже, т.к. является довольно токсичным и опасным для организма веществом.
Да, я бы с этой дрянью без хорошей вытяжки в значимых объёмах (не ~1 мл, как при использовании в качестве клея) не работал бы.
Не так страшен черт. Нормальной вентиляции более чем хватит, если внутрь не употреблять
Да, я представляю вредность дихлорэтана, использовал на балконе :) Та дрянь во флюсе для алюминия тоже предполагаю далеко не безвредна. А куда деваться, совсем без химии не обойтись :(
Лет в 12-13 была у меня в доступе 0.5л дихлорэтана (у отца в залежах находил).
Вроде я им пластик от сметанных баночек растворял в пузырьке, а потом этим "жидким пластиком" бумажные самодельные модели корабликов обрабатывал, чтобы запускать в воде можно было))А может это и уайт-спирит был...
А сам компаунд тем же дихлорэтаном не растворяется?
Он растворяется, но видимо настолько медленно, что стравить полностью не выйдет за разумное время. Возможно, если его нагреть, процесс пойдет веселее, но и опасность работы с ним сильно возрастет.
Узнать бы состав. А то, чем чёрт не шутит, может и ДМСО возьмёт. Эта штука менее вредная всё-таки.
Спасибо за наводку, попробую его в следующий раз.
Димексид нужно применять крайне осторожно! Он существенно повышает проницаемость кожи и любая дрянь на ней пойдет прямиком в кровь. За секунды! Его в фармакологии применяют именно как трансдермальный транспорт.
Спасибо за предупреждение!
А я им двигатель своей классики промывал от старого масла и грязи.
Когда увидел на Ютубе что аптечные средства используют не по прямому назначению - не поверил. Но потом попробовал перед переборкой движка и правда хорошо очищает и масло и нагар.
Я не химик ни разу, но вот было бы интересно узнать в каких нестандартных вариантах использования можно применять Димексид? Может ли он, например, убрать накипь с внутренней поверхности змеевика газового бытового водонагревателя?
Как полярный растворитель с очень высоким дипольным моментом ДМСО отлично растворяет полярные вещества. Неполярные, соответственно, особо трогать не будет. Накипь скорее всего не возьмет, потому что апротонный.
Но мыть им двигатель без перчаток равносильно тому, что полученную жижу принимать прямиком внутрь.
Из него даже боевые отравляющие вещества делали, смешивая с отравой для лучшей проницаемости.
Да чушь, не за секунды, естественно. И большая часть останется просто в слоях кожи.
ДМСО эпоксидку не возьмет. Она - трехмерный сшитый полимер, и не разрушив полимерные цепи химически, можно только добиться его набухания.
но я в микроэлектронике полный профан
Что-то не верится :)
Кажется, в таких случаях принято говорить "Хабр - торт!" Автору спасибо за статью и дальнейших успехов (пишите ещё)!
У меня короткий вопрос, который мучает с начала публикации поста: каким образом удалось сделать такую качественную фотографию кристалла?
Спасибо за ситатью, давно подобного небыло!
Мне кажется, что в качестве микроконтроллера может использоваться HT-943E5, как и указано на маркировке. Вы нашли даташит на HT-948, а это, как мне кажется, другой контроллер с совершенно иными характеристиками. Ведь характеристики контроллеров, даже в пределах одной линейки, могут отличаться в зависимости от модели. В качестве примера могу привести микроконтроллеры STM32F103VC и STM32F103VD, которые отличаются по характеристикам (в частности, по объёму памяти), несмотря на то, что принадлежат к одной линейке.
Очень круто, спасибо! Как в этой статье не пробовали декапсулировать?
Вам бы еще озвучку в статью вставить. Типа такой.
Я по вашим герцам подобрал вот так:
Hidden text
C#6
C#6
C#6
C#6
G#5
G#5
A5
A5
B5
B5
B5
B5
A5
A5
G#5
G#5
F#5
F#5
F#5
F#5
F#5
A5
A5
C#6
C#6
C#6
C#6
B5
B5
A5
A5
Очень круто. Я двадцать лет мечтал узнать, какой же там контроллер, и получить прошивку, чтобы написать эмулятор. Раньше, много лет назад, проскальзывали слухи, что там что-то с ядром 6502, но вроде единственным их основанием был разбор кристалла тамагочи.
Спасибо! Я когда/если сниму образ, отправлю вам копию. Эмулятор Тамагочи, кстати, есть в MAME и там Epson E0C6S46, тоже 4-битный.
Информацию про 6502 в Тамагочи я вроде видел в IRC #nesdev лет 12 назад. Видимо это были только домыслы.
Да, прошивка бы пригодилась, спасибо! Конечно эмулятор и без меня мигом напишут, я не сомневаюсь, но всё равно, интересно разобраться и сделать свой собственный. Тем более, что не часто приходится сталкиваться с 4-битными системами.
Еще бы прошивку от ну погоди:) хотя думаю там все куда проще будет)
Прошивку от Ну погоди считали лет 8 назад. Она совпала с также уже давно считанной оригинальной Nintendo'вской. Эти драйверы есть в MAME, есть и отдельный эмулятор.
Вот бы ещё прошивку с аналогов тамагочи слить, типа Super Gyaoppi и других. Очень много их было разных, здесь можно посмотреть многие http://www.tamenagerie.com/
Посчитал разрешение экрана: 16 * 28 и ещё 16 "закодированных" картинок по краям. Т.е. контроллер должен 512 пикселей держать. Тоже возможен E0C6S46, т.к. там аж целых 640 может
Отвечаю через пол года) Я за это время купил и вскрыл несколько разных питомцев, но, к сожалению, только у одного (тоже результат) оказалось читаемое ПЗУ - это довольно редкий Nikko добавил его в эмулятор https://github.com/azya52/BrickEmuPy. Плюс к этому, туда же добавил эмуляцию P1 и Mothra которые уже были декапсулированы до меня. На счет Super Gyaoppi, вы свой не вскрывали? По фотографии обвязки микроконтроллера можно было бы точно определить, E0C6S46 там или что-то другое.
Можно разбор приставки SEGA, оч. интересно посмотреть на далеко ушедшую миниатюру.
Для более надёжного сжигания можно использовать газовую горелку. Плату можно не жалеть и жарить с каплей. Пластик нужно прожаривать до красного каления и пока он не перестанет коптить и покроется белым пеплом.
chips-howto/methods.md at main · emu-russia/chips-howto (github.com)
О, да, Org знает, как жарить чипсы!
Спасибо за ссылку, видимо я не дожарил до готовности) А кристаллу кстати при такой температуре хуже не становится? Я не уверен, но кажется треснул у меня кристалл уже на этапе прожарки из-за неравномерности нагрева - с одной стороны компаунд, а с другой голый кристалл, наверно действительно лучше жарить вместе с платой.
Полировать я когда-то тоже пробовал, но равномерно у меня не получалось, поэтому когда нашел рабочий флюс, остановился на этом методе.
Я чуть выше описал удачный опыт декапсуляции нагревом до ~150°, там правда кристалл был конца 2000-х, раз в 8 меньше по площади чем описываемый в посте и сломать его было сильно сложнее.
А что за плата с КТ315 и какой-то МП-шкой внутри корпуса?
Ну, пофантазируем тогда. Сзади имеется ценник – 5 руб/час. Еще есть надпись «Slide forward to turn power on». Выходит, это какое-то устройство для контроля временем. Или секретное включение/выключение чтобы исключить злоупотребления...
Хотелось бы взглянуть на обратную сторону платы. Возможно там есть другие элементы и даже контроллер какой-то.
Это надпись с Dendy или подобного клона Famicom, думаю она просто для красоты) Обратная сторона вот:
Бред какой-то получается...
вот вам не лень :)
https://habr.com/ru/articles/767520/#comment_26080438
Этот девайс всегда был загадкой для меня, очень интересная статья, ждём эмуль, жаль только что на этот тетрис новую прошивку не зальешь)
Это точно, очень бы хотелось написать игры, которые можно запустить на реальном тетрисе.
Можно просто заменить контроллер и использовать дисплей и клавиатуру. Конечно не то, но это минимально возможное воздействие, когда все жестко зашито в чипе.
Неплохо, интересная статья.
Вот это реверсинжиниринг. Моё почтение!
Ого.
Как сделана фотка микроконтроллера? И так вертел и эдак, не могу понять. Это ж какая лупа нужна для такого
Вот в этом комментарии описал.
Ждём продолжение статьи и эмулятор тетриса!
Может быть, заведёте сообщество в Discord или в Telegram для отслеживания вашего весьма интересного проекта?
Давно хотел предложить кому-нибудь с таким оборудованием сделать снимки чипов самых популярных вариаций часов Монтана. Там было 2 популярных версии по 8 разных мелодий в каждой. Ну и ещё были старые и новые модели, но скорее всего чип там один и тот же, просто размещение элементов на экранчике немного менялось.
Кроме Хабра, в профиле есть ссылки на Twitter и Youtube. Больше социального взаимодействия я не потяну) На счет Монтаны, в принципе интересно, но вы уверены, что еще никто не фотографировал? В любом случае, сначала надо закончить с тетрисами, поэтому загадывать пока не могу.
Не вижу ссылок ни на ваш Twitter, ни на Youtube. Возможно, вы забыли их добавить в профиль?
Периодически читаю что там энтузиасты накопали по поводу Монтан (кто-то даже собрал коллекцию из более чем 200 вариаций), но до того, чтобы сделать фотку чипов, пока что вроде как ни у кого руки не дошли, не глядя на легендарность этих часов.
Вероятно, там внутри какой-то стандартный чип, так как идентичное управление и индикация были в многих других часах. Может быть вы обращали внимание, что разные дни недели мигают в зависимости от текущего режима, и на 99% Монтан (кроме редкой ранней модели из 80-х) не было подписей, что это вообще значит. Идентичная индикация текущего режима была в японских SEIKO в 70-х, и там что значит это мигание было подписано прямо на часах. Причём та ранняя Монтана, которая всё же подписывает значение этой индикации режима, делает это точь в точь как SEIKO.
Фотки часов
Не вижу ссылок
Настройки приватности забыл поправить)
Я, честно говоря, последний раз Монтану держал в руках где-то в 90х, поэтому уже не помню. Удивительно конечно, что еще все не отреверсено и не выяснено, что и откуда заимствовано. В общем, помониторю убитые экземпляры часов, если после тетрисов надумаю заняться, напишу вам в личку.
Потом, может ещё и какой-нибудь популярный клон тамагочика из 90-ых считать? :D было бы очень интересно.
У меня есть относительно "современный" Brick-Game E-9999. Могу пожертвовать для проведения поверхностного осмотра любых его составляющих.
Если что, у меня тоже есть такой, рабочий, но сильно уставший. Могу пожертвовать его для жёсткого травления в кислотах.
Спасибо за предложения! Но я уже пару новодельных тетрисов вскрыл после написания статьи, кристаллы 2003 и 2008 года. Там совсем другая история - очень плотный техпроцесс, биты на ПЗУ не просматриваются (хотя еще попробую стравить верхний слой). Я даже не уверен, что там та же 4-битная архитектура - кроме даты никаких опознавательных знаков. Так что я сейчас ищу только теплые ламповые экземпляры середины 90-х и очень желательно неисправные (уже пара едет ко мне).
Спасибо автору! Читал с удовольствием и с нетерпением жду продолжения.
Для тех у кого есть pc speaker и *nix система - держите beep версию мелодии https://gist.github.com/FisHlaBsoMAN/337998fe9cbc1580b54ec37a9b77de84
beep далеко не на каждой системе работает, нужно ещё модули ядра ставить. Модифицировал ваш вариант, вот:
#!/bin/sh
speaker-test -t sine -f1092 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f1092 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f1092 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f819 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f819 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f993 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f993 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f993 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f993 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f819 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f819 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f728 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f728 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f728 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f728 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f1092 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f1092 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f1092 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f1092 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f993 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f993 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
speaker-test -t sine -f886 -l122 & sleep .2 && kill -9 $!
Мне еще очень интересно, а что является "референсом"?
Или неужто тайваньцы с нуля сами придумали и задизайнили?
https://youtu.be/cMq0ti1WGz0 такое расследование есть. А если совсем углубляться, то идея явно базируется на Milton Bradley Microvision, но реализация видимо своя
Большое спасибо за статью! Было очень интересно узнать, а что же там под компаундом )
Так же интересен тип ПЗУ, это OTP память? Как Вы определили состояние бита?
Нет, не OTP, ее визуально не прочитать. Это масочное ПЗУ. Состояние бита определяется по цвету при контрастных цветах или по границам перехода между "нормальным" поликремнием и "с примесями" (в кавычках, т.к. не владею терминологией) - допустим до границы перехода были нули, дальше пойдут единицы до следующего перехода.
Так какой же процессор использовался в играх Brick Game?