Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

NEC upd7810
http://mcu-bg.com/mcu_site/viewtopic.php?f=11&t=11795
Страница 1 от 8

Автор:  californieca [ Пон Окт 07, 2013 3:58 pm ]
Заглавие:  NEC upd7810

Привет на всички.
Това е bin. файла свален от EEPROM-ма на Мазда / 1988г. / с процесор NEC upd7810 / 64pin /.

Как мога да разбера / най-вероятно е записано като функция за изпълнение при работата на процесора / къде из файла се намира ограничителя на обороти / rev limiter /.
Предполагам е сравнение на две числа и щом достигне определена стойност изпълнява функцията, или имам друг алгоритъм за "следене"... или броии даден импулс и щом достигне определена стойност / сравнява и изпълнява /.... само давам идеи.
Не съм на "ти" с програмирането.

Благодаря предварително.

Прикачени файлове:
FE GD 2.0 8V.rar [4.44 KiB]
426 пъти

Автор:  ДедоБоре [ Пон Окт 07, 2013 4:49 pm ]
Заглавие:  Re: NEC upd7810

няма как.
дори и с много пари.

Автор:  CarBeta [ Пон Окт 07, 2013 4:59 pm ]
Заглавие:  Re: NEC upd7810

От кой точно EEPROM е това?? В съвременните автомобили EEPROM'и да искаш. И процесори бол. Та първия въпрос е дали си уцелил правилната двойка MCU-EEPROM.

Ако има такъв ограничител, той не е записан като функция а просто като стойност, която може да е кодирана по всевъзможен начин. Сравняване на стойности и сметките ги прави процесора и с разглеждане на тоя файл няма как да се стигне до истината. Тука не е въпрос на програмиране, а да знаеш точния адрес и точните данни за запис в точната памет.

edit:
дедо ме е изпреварил кратко и ясно

Автор:  californieca [ Пон Окт 07, 2013 6:10 pm ]
Заглавие:  Re: NEC upd7810

Това ще помогне ли по относно компонентите :
- http://californieca.snimka.bg/radio-ama ... 634985.big

- http://californieca.snimka.bg/radio-ama ... 961148.big

Автор:  Cekins [ Пон Окт 07, 2013 7:42 pm ]
Заглавие:  Re: NEC upd7810

Тя маздата от 88-ма едва ли има повече от 1 процесор. И въпреки всичко човека който може да ти каже кое точно да пипнеш е японеца дето и е писал софтуера. Сори ама тука няма гадатели :) Друг е въпроса ако някой вече е "питал японеца" и се навие и на теб да каже.

Автор:  Vesko [ Пон Окт 07, 2013 8:49 pm ]
Заглавие:  Re: NEC upd7810

http://www.cpcwiki.eu/index.php/UPD7810/uPD7811

И много гледане на дизасемблера :)

Автор:  ДедоБоре [ Пон Окт 07, 2013 11:31 pm ]
Заглавие:  Re: NEC upd7810

единствения шанс е ако някой го е борил, и ако случайно е имал настроение да пусне резултата от борбата на публиката.
иначе да вземеш да дизасемблираш 8К код, да фанеш коя жица къде влиза, какви алгоритми са измислили японците преди 30 години - умряла работа. ако се намери някоя стара пушка, която да си спомня за тоя процесор, ще иска доста кинти. младеж не вярвам да се оправи, това е като перфолента да се прочете на андроиден телефон. не че не може, но трябва да си заслужава усилието/цената. това някой хакер да погледне бина и да каже "напиши на адрес 4АЕ:66 и си готов" - го има само по филмите.

самия процесор не е документиран напълно на английски. пък и има приятни неточности в документацията, били те случайни, грешки в превода, или съзнателни. NEC по онова време имаха самочувствието на доставчици на космически технологии и много трудно дори самите японци се докопваха до пълна документация на техни изделия. мисля, че за първи път видях дебелата тухла за тоя чип 96-та, при това (само) на японски.

нищо, че чипа се слагаше във всякакви железа - от кафеварки до автомобили. това е техния вариант на 6805, при това явно с техни опкодове. тамън се беше разразила студената война америка-япония, интел и моторола дудняха на рейгън, че японците им краднали интелектуалната собственост (опкодове, синтаксис и дори маски), мицубиши беше доставила на руснаците 9-осен център за пилене на 30 метрови перки за подводници... горе-долу от тогава имат агенция към тяхното министерство на търговията, която преценява кое да стане публично и кое не. сблъсквал съм се фронтално с тях, имат огромна власт.

Автор:  californieca [ Вто Окт 08, 2013 11:45 am ]
Заглавие:  Re: NEC upd7810

Disassembler с IDA Pro 4.9 този bin. файла и резултата е този който съм прикачил.

Може ли да се каже, че това е "програмата" която ще казва на CPU-то как да работи и при какви условия да изпълнява командите.
Това което видях,че при всяка "процедура" има "команди" като : push, sub, add, jb, dec, inc, or, mov........ с тяхна помощ не може ли да се насочим към исканата цел...

Благодаря предварително.

Прикачени файлове:
FE GD 2.0 8V.rar [25.67 KiB]
404 пъти

Автор:  palavrov [ Вто Окт 08, 2013 12:00 pm ]
Заглавие:  Re: NEC upd7810

Може, може, ти почти сам си се справил ... щом си стигнал то верния инструмент. Още малко деразне, и ще станеш колега :)

Автор:  Цецо [ Вто Окт 08, 2013 3:07 pm ]
Заглавие:  Re: NEC upd7810

Колега ще стане, като проумее, че това дето го иска е безумно :) До тогава ще е ентусиаст.

Автор:  californieca [ Вто Окт 08, 2013 3:49 pm ]
Заглавие:  Re: NEC upd7810

Виждам, че проявявате желание за съдействие :lol:
На мен ми е трудно да ги "четя'" тези команди и затова съм се обърнал тук за съдействие.
Тук си идва на ниво програмиране...

Силно се надявам че този форум е по различен от останалите в който ти казват колко си тъп,колко е без мислено и само пишат да си поддържат рейтинг с мнения / по-голяма част от тях без мисляни или безполезни за хора който имат нужда от съдействие при даден проблем / - нека да не се отклоняваме и да става поредната Тема - Боза

Има ли някоя от командите който ще изпълняват следното:

- ще броят дадено число и щом достигне зададена бройка ще спре броенето.... / спира изпълнението- процедурата /
- ще сравнява две числа - щом достигне някое от тях...
- ... и аз не зннам :cry: :cry: :?

Мога да дам като жокер число "C0", или "192' - HEX стойност
Множителя на процесора е 31.25 и сега/ 31.25 х 192 = 6000обр/мин. /.
Това сега ми дойде като идея.

Автор:  Цецо [ Вто Окт 08, 2013 4:13 pm ]
Заглавие:  Re: NEC upd7810

Разбери, никой не ти се подиграва, ама ти искаш нещо, което ако не е невъзможно, то е невероятно трудно. Дедо ти обясни, трябва някой сега да се зарови в оскъдните бумаги за тоя процесор и да разучи "езика му". След това да вземе схемата на колата, асемблерския листинг и да почне да решава загадката. Това може да отнеме на подготвен човек между седмица (невероятно) и няколко месеца (по-вероятно). Въпросния подготвен човек обикновенно се труди за 100+ кинта на ден в БГ.

Мисля, че вече можеш да сметнеш, колко струва това, което искаш и дали някой би се хванал да го прави просто за да ти услужи. Да беше някой нов автомобил и да можеше хакването да се "продава" в бъдеще - има смисъл. Ама така за някаква стара кола, просто няма кой да плати инвестираното време. Сложно е, не е никак просто, макар на теб очевидно да ти изглежда така.

Автор:  palavrov [ Вто Окт 08, 2013 6:15 pm ]
Заглавие:  Re: NEC upd7810

Едва ли ще стане само с тоя жокер. Не съм гледал досега в кода на автомобилни контролери, но да се мерят оборотите в секунда има най различни начини - зависи какви датчици се ползват, как се упражнява после обратната връзка т.е. ограничаването на оборотите - дали се намаля притока на гориво, дали нещо друго. Т.е. без да се знае цялата схема около този процесор може само да се гадае число в програмата за какво е. Както Цецо ти казва, това си иска време някой да го разучи - най добре да намериш някой ентусиаст или някой който вече се е занимавал с проблема - никой не ти се подиграва, има шансове да се навие някой. Преди 15-20 години щях да се хвана ей така за спорта - сега, не си го и помислям даже ... въобще не става въпрос за пари, просто си е загуба на време. Т.е. за да не ми е загуба на време ще ти поискам толкова пари, че да си купиш няколко такива мазди :)

Автор:  ДедоБоре [ Вто Окт 08, 2013 6:24 pm ]
Заглавие:  Re: NEC upd7810

на тоя процесор, по онова време, е абсурдно някой да е писал на високо ниво, че да говорим за процедури и функции.
99.9% е високо-триков асемблер, за да изцедят процесора до дупка.

по спомен имаше хардуерен таймер. как е инициализиран, какви прекъсвания вървят (каккъв е таймбейза) може да се разбере само като се чете кода ред по ред. след това следват множество софтуерни "таймери"/броячи/променливи, както искаш ги наречи. трябва да ги разбереш всичките за какво служат. проблема е, че те обикновено се манипулират в прекъсване, а се гледат в основния луп на програмата. възможно е да има и комбинация между алгоритъм и таблично поведение, защото проца е бавен и надали му стига времето за всичко. ако има таблици следват добра и ложа новина: добрата е, че кода е по-малък и евентуално ще прекараш по-малко безсънни нощи разнищвайки го; лошата е, че с табличен алгоритъмбезсънните нощи ще се проточат с месеци.

това е трудно да се напише, и е почти невъзможно да се прочете. особено само от дизасемблерен листинг. все пак, ако си много упорит - има шанс. зависи с какво си изкарваш хляба, но това си е твой проблем :D

освен това, трябва да се изясни от къде влизат входните параметри, най-малкото датчика на вала. с колко канала е, колко импулса дава на оборот, дали всички са еднакви, съотношението запазва ли се при ниски и високи обороти. с тези времедиаграми в ръка и схемичка кое на кой пин влиза/излиза на чипа, можеш да почнеш чесането по главата и да се опиташ да си го представиш как би го направил ти. чак като кажеш "АХА! :idea: " можеш да започнеш да пълзиш по сорса. дълъг коридор много помага, вЕрвай ми!

Автор:  ToHu [ Вто Окт 08, 2013 8:52 pm ]
Заглавие:  Re: NEC upd7810

Шанс има но е много работа. Първо процесора едва ли се интересува какви са реалните обороти, така че числото което даваш е безсмислено. така е защото ако тоя проц трябва да обръща брой импулси или пък период в обороти за минута и после да сравнява е му изяде доста от ресурса. Значи не е ясен нито периода на отчитане, нито колко импулса се получават от вала. После съвсем не е ясно дали сравнението не става и хардуерно някак изпозлвайки наличен брояч, но той е доста стар и едва ли има броячи с компаратори. Другото лошо е че едва ли сравняват с литерал, т.е. с нещо което е твърдо записано като число, по скоро сравняват с променлива която е някъде в паметта. Има и един куп още неща, ако човек си няма работа може и да успее, ако знае какво прави. Друг сравнително лесен вариант е ако имаш хардуерен емулатор който можеш да го дебъгваш, т.е. да му качиш хекса, да го пуснеш и да видиш къде минава кода, и кога и какво се променя като стигне оборотите. Да аа такъв емулатор едва ли са имали и навремето, а ако намериш нещо което да свърши работа ще струва доста пари ако е ново.
Абе като цяло тая работа си е голям гърч.

Страница 1 от 8 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/