Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 
Показаны сообщения с ярлыком ретро. Показать все сообщения
Показаны сообщения с ярлыком ретро. Показать все сообщения

пятница, 10 августа 2018 г.

Реверсинжиниринг БК ЛИК

Продублирую сообщение тут, у себя в блоге, потому как форума имеют привычку раз в 10 лет закрываться... А та информация, которую я сейчас перерабатываю - она еще не одно поколение будет будоражить. Всем форумам жить долго! Но все же бекап не зря придумали. И пусть на меня обидится гугл за этот копипаст. Ссылка на оригинальный топик.

Я начинал свой путь с модификации Специалиста - Лик, разработанного Черновицким заводом "Электронмаш" в Украине. 

На данный момент у меня есть желание систематизировать все, что накоплено по этому чудному радиоконструктору дабы оно находилось в одном месте. Буду обновлять этот пост новыми новостями. 
  1. Мануал о том, как быстро запустить любую игру с помощью эмулятора Виктора Пыхонина.
  2. Архив программ для ПК "Лик". Прислан А.Болтаевским. Инструкции по запуску в эмуляторе Специалиста в самом архиве. Взято тут
  3. Прошивки ПЗУ для "Специалиста" (9(!) разных Мониторов) в том числе и "ЛИК". Взято тут
  4. Архивы игровых программ для "Специалиста" (они так же подходят для ЛИКа) раздватричетыреВзято тут
  5. Руководство пользователя ПК "Лик" взято так же у Виктора Пыхонина
  6. Подборка программ для ЛИКа от Александра Болтаевского
  7. Описание на Википедии
  8. Краткий обзор Лика со схемой, руководством и фотографиями
  9. Еще одна подборка программ и игр для ЛИКа: раздватри взятые тут
  10. Радиоконструктор "Бытовое электронно-вычислительное устройство ЛИК". Руководство по эксплуатации ДАЯ 4.075.005 РЭ содержащее схему в хорошем разрешении
  11. Схема ЛИК из этого руководства, отдельно в максимально найденном разрешении
  12. Описание применения. Руководство оператора. Руководство программиста. Скан-черновик лежит тут
  13. Фотографии в хорошем разрешении (спасибо xlat) лежат тут
  14. DipTrace схема. Я уперся в ограничение на некоммерческую версию в 2000 контактов, а потому она завершена всего на 98% - не подключены 3 ПЗУ'шки и логика в части контроллера ввода-вывода. Тем не менее схема будет лежать и обновляться тут, а вот и компоненты используемые в проекте.
  15. Некоторые исправления ошибок, выявленных в ходе перегона схемы в DipTrace. Внимание, так как проект на стадии разработки, я уверен что на каждой схеме (и моих исправлениях) накоплены ошибки, которые планируется в ходе "реверсинжиниринга" исправить. Это значит, что наработки вы используете на свой страх и риск - "как есть", без каких-либо гарантий. 
  16. Так же нашел чудную фришную программу Logisim в которой можно изучать логику работы различных схем. Напиcана она на java и запускается одним кликом по jar после установки Java (JDK или JRE) последней версии. Я только начал в ней глубже исследовать схему - и она будет лежать и обновляться тут. В этой же папке есть пару скриншотов для наглядности и сама программа.
  17. Подборка всего, что было найдено за 2 бессонные ночи в одном месте (постоянно обновляется) на случай креша тех или иных сайтов. Жаль, но многие сайты уже не работают - их можно найти только в вебархиве и то не полностью, потому я позволил себе сохранить то что касается ЛИКа в отдельном месте.
Из дальнейших планов:
  1. Найти по сарафану в Черновцах образец ЛИКа и сделать реверсинждиниринг по печатной платы - инфы о ней кроме как схемы и расположения элементов и 2-3 фоток в сети я не нашел, и то пришлось вложить в это 1 ночь.
  2. Так же стоит устранить неточности в документации, которые я еще в школьном возрасте выявил и предложить оцифрованный и более современный формат.
  3. После хочу собрать этот компьютер собственноручно (радиодетали уже заказаны и в пути).
  4. Следом хочу реализовать программатор и сделать копии ПЗУшек, которые у меня остались с тем, чтобы навести порядок в этой области (ROM для эмуляторов есть, но не факт что оригинальные).
  5. Так же игрушки и программы - все будут собраны в одном месте.
  6. Хочу так же реанимировать все, что у нас сохранилось на кассетах (я их хранил последние 15-20 лет).
  7. Есть в тетрадках некоторые заготовки, которыми могу и хочу поделиться. Мелочь, но тоже пригодится.
  8. Так же у меня начат эмулятор на java его хочется продолжать и закончить просто потому что "можется".
  9. Что всплывет по ходу дела так же скорее всего захочется реализовать.
Конечно же время на это не океан, но это проект для души, а потому он будет регулярно пополняться самым ценным активом. 

Что касается сборки. Микросхемы уже приехали. Приобрел 4 комплекта прозапас. 
Ищу кто бы мог продать/подарить/позаимствовать ЛИК дабы я мог аккуратно изучить печатную плату и дорожки. Было бы минимально достаточно, если бы кто-то из числа счастливых владельцев ЛИКа сфотографировал(а) бы мне обратную сторону платы и переднюю сторону платы (эту сторону с максимально различных ракурсов). Цель - максимально подглядеть расположение дорожек. А если у кого-то есть не паянная плата - отсканировать ее было бы пределом мечтания.

Из следующих шагов: 
  1. Закончить схему в DipTrace
  2. Развести дорожки в DipTrace максимально приближенные к оригиналу
  3. Продолжать исследовать логику работы в Logisim
  4. Максимально отдебажить проект, выявить очепятки и попробовать собрать первую версию
Спасибо за интерес к теме. 
Чего-нибудь неожиданно-приятного нам. 

P/S/ Для любителей игры Клад, в нем есть одна хитрость. Если запускать программу с J0000 с последующим ресетом и далее с J4567 то можно будет сразу стартовать игру со следующего уровня, на котором играли в прошлый запуск. Reset Монитора и очередная команда J4567 запустит уже очередной уровень. Подобрано "патологоанатомом" школьником опытным путем с мыслью "а что если..." в ходе очередного "там там тадам там тадам тадам тадааам"...

Steps to reproduce:
  1. Reset
  2. Загрузить игру в память любым способом (Alt-F3 или I= в http://emu80.org эмуляторе)
  3. J <ВК>
  4. Видим заставку
  5. Reset
  6. J3456
  7. выбираем скорость игры
  8. загрузился уровень 1й - играем
  9. если надоело, Reset
  10. J3456
  11. выбираем скорость игры
  12. загрузился уровень 2й - играем
  13. если надоело, Reset
  14. goto 7)

пятница, 25 апреля 2014 г.

Ежедневное ретро. Пять почему

Одно из рекомендаций из книги REMOTE, которую сейчас читаю - это ежедневное ретро. Трудность в том, что вопреки мифам руководителей о том, что работая из дому люди вероятно будут лениться я столкнулся с другой трудностью - увлеченные люди, если снабдить их всем необходимым часто перерабатывают.


Я просыпаюсь утром, ноут под боком, я его открываю и пока ем - уже прочитаю всю почту. Потом первая задача, вторая. Обед любимая жена принесет в комнату к рабочему месту. Третья таска, пару митингов. Вот уже вечер. Четвертая таска - увлекло. 2 часа ночи. Ой! Пора спать. Выключаю ноут и байки.

Так может происходить днями напролет. Бывало даже, что неделю не выходил из дому. А зачем? Все есть, что надо под боком. 

Это не ок. Это очень не ок. Идей и работы над ними всегда будет больше, чем часов в дне, а потому стоит себя лимитировать.

Один из хороших способов, которым пользуюсь - не заканчивать сегодня на зеленой полосе, то есть оставлять задачу незавершенной. Если задачу завершить сегодня - завтра на утро получаем лень, но если надо что-то доделать, какой-то финальный штрих - завтра сутра встанешь бодрячком и сразу за дело. Это один. И он не помогает от переработки и как следствие выгорания.

Два поможет - я взял его из книги REMOTE вчера. Периодически мониторить себя во второй половине дня с вопросом "а день сегодняшний по результативности он уже ок, или еще не ок?" Если ок - все, больше ничего не делаем. Если не ок - задаем себе "пять почему".


Допустим во второй половине понимаешь, что день в трубу и уже поздно что либо догонять. Нет, можно конечно, но уже себе во вред (и здоровью и качеству результата). Диалог:
- А день сегодняшний по результативности ок?
- НЕТ.
- Почему?
- (например) много митингов было, все как-то ни о чем конкретном
- Почему?
- Я с утра не придумал основную задачу на сегодня
- Почему?
- С самого утра мне позвонили на мобильный, я ответил, попросили срочно ответить на письмо, ответил и там понеслось - вместо определения главной задачи на день, я пошел по почте, скайпу, и нашел себе еще купу мелких (и казалось бы важных задач). Наверное надо сутра выключить мобильный и интернет в доме.
- Почему?
- Меня это может выбить из колеи что-то что происходит до того, как я распланировал свой день. Возможно мне стоит планировать его еще с вечера. 
- Почему?
- Если нет приоритета заранее, то спроссоня может показаться, что я делаю что-то ценное, а на самом деле просто реагирую.
- Почему?
- Обычно занимаюсь много чем.
- Почему? 
- На пересечении находятся интереснейшие идеи, которые потом требуют реализации моими руками.
- Почему? 
- Потому что не научился делегировать
- Почему?
- Просто недостаточно опыта. Наверное стоит делать это каждый день. 

Итого на сегодня уже можно выписать еще пару задач:
- выбрать основную задачу на завтра
- делегировать кому-то что-то
- вечером перед сном выключить инет, встать раньше жены, а значит лечь по-раньше
Сделаю их и можно пойти прогуляться.


Но это мой путь (причем актуальный на момент написания), а у тебя это может быть что-нибудь другое. Я задал больше, чем 5 почему - это допустимо. Почему рекомендуют ограничиваться 5ю - потому, что с помощью этого вопроса можно уйти далеко в детство и найти там какую-то детскую травму :) Это не цель ретроспективы дня. Немного больше узнать о себе - да, но не делать работу психолога.

Как-то так.

четверг, 20 февраля 2014 г.

Ретроспективы не работают!

Сегодня небольшой холиварчик на эту тему поймал. Раньше я пробовал как-то деликатно подходить к вопросу о разногласиях, а сегодня меня занесло. Занесло в каком смысле. Я сказал как думаю в более жесткой форме, чем это делаю обычно. Надеюсь, это поможет. Итак.

Началось все с того, что "парное программирование продать заказчику сложно". Слово за слово - пришли к ретроспективам как инструменту принятия решений по изменению в команде. И тут прозвучало "ретроспективы не работают". Ой! Давай разберемся? 

В каком проценте случаев по твоему "ретроспективы не работают"?....... И нет тут хорошего или плохого ответа. Просто скажи цифру. 10% на 90%? 25% на 75%? 50% на 50%? 80% на 20%? Может на все 100% не работают? Это твой начальный опыт - к нему никаких вопросов нет. Просто озвучь цифру. Не стоит говорить о том, как у вас это было в команде - просто скажи по ощущениям, что не работает на столько-то по-моему, точка. Сказал? Спасибо. 

Теперь смотри. Это твой начальный опыт. И сейчас у тебя есть выбор. На лево пойти или на право. Куда пойдешь? 

Допустим в твоем опыте (мире) в 70% случаях "ретроспективы не работают". Это ОК. Это опыт. Твой опыт. Он такой какой есть. Уникальный. Ценный. Константный. Предложу тебе два варианта на рассмотрение.  

Налево привычнее - там ты будешь сосредоточен на тех 70%, где все же ретро не работают. Ты будешь собирать факты о том, как и где еще "ретроспективы не работают". Со временем ты станешь очень опытный в этом. С тобой сложно будет даже поспорить. Ты будешь вести за собой новичков - твои рассказы будут убедительны. Ты будешь собирать факты о нерабочихз ретро из разных проектов. Показатель нерабочих ретроспектив в твоем опыте будет стремиться к 100%. Конечно же в твоем мире будет появляться еще больше проектов, с "нерабочими ретроспективами". Среди твоих друзей будет обычно говорить про "нерабочие ретроспективы". Поздравляю - ты мастер в этом. 

Может быть ты бы и перестал думать о ретроспективах в принципе, но периодически натыкаешься на заметки блоггеров или высказывания докладчиков на концференциях о том, что ретроспективы у них на проекте работают. Ээээ миф! Ничего они не понимают, позвольте я поясню - и вот ты тянешь руку, чтобы возразить...

И ты будешь прав. 

Но есть и другая сторона - взять правее. Сосредоточиться на тех 30% случаев, когда ретроспектива у тебя в опыте все же сработала в команде. Что там было такого-сякого, что оно выстрелило? Что говорили люди? Кто вел собрание? Какой был состав? В какое время суток? Какого дня недели? Какой поры года? После какой итерации (успешной или не совсем)? Кого не было на ретро? Что накануне говорил заказчик? Был ли кризис в стране? Было ли у ребят повышение? Приняли ли кого нового на работу? Может уволили кого? Поменялся ли менеджер? 100500 уникальных причин которые могли повлиять на то, что ретроспектива вдруг получилась. Почему этот успех случился?

Взять правее, значит искать ответ на вопрос - почему успех случился. И магия в том, что как только ты получишь ответ - ты сможешь изменить что-то. Ты сможешь управлять.

В мире-слева у тебя нет возможности что-либо поменять. В мире справа ты знаешь что-то про мир такое, что тебе позволяет его хачить. Хачить себе в пользу. Для себя, для команды, для компании. 

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