Stranger21 написал(а):
We can't open the web page you requested ...
Cannot Find Server - The web site you typed in could not be found on the internet.
чет не пашет фытыпы (( мож залил ру?
а не вроде открылося апосля
пасиб, посмотрим .. но мне больше только карты интерестны ) до алгоритмов мне большой надобности нет ... а вот карты состава смеси и оборотов хотелось бы повертеть.
ваще у меня моновпрыск только РХХ рулит ) и заводит машину в мороз до +10 град ОЖ ) ... по сути пофиг на него ) остальное на ГБО и Секу3
Что проще всего найти - отбойник по оборотам
Во всех прошивках находил со свистом, даже на PG, хотя ненавижу 68HCXX ассемблер.
С картами там не все так просто. Скажу за 9А, на моновпрысках вроде актуально, пусть кто ковырялся щас поправит если что.
Дело в том, что Bosch по тем временам экономил ПЗУ (оно было адски дорого, 27128 было массовое ПЗУ - 16кбайт, при том почти все код), и таблиц в классическом понимании где signed int на 256 значений (16x16 таблица) мало.
Очень часто используются таблицы с элементами управления - тоесть без разбора кода ничего не получится.
Типа младший полубайт - ссылка на одну из 16 таблиц, которые далее. Старший - типа значение. Что толку на них смотреть, если они не имеют "на глаз" значения?
Есть кучка таблиц, где входной аргумент байт: X=0..255 для дальнейшего интерполятора - число значений с точками и значения, все что между ними линейной интерполяцией заполняется.
А сама таблица всего !!! 12 байт
11 точек и число 11 (число точек). И вот по входному байту получается выходной байт прошежший через функцию на основе опорных 11 точек, которые заданы, остальное отрезками между точками.
D_753Bh: .DB 6Fh,0Bh,0Ah,09h,0Ah,0Dh,10h,13h,18h,1Ch,25h,25h,35h
D_7548h: .DB 6Fh,05h,12h,1Fh,32h,44h,4Dh
к примеру в ABD прошивке, берется ячейка iRAM=6Fh, 11(0Bh) кусков, далее сами куски. Сама ячейка 6F = одна из разновидностей угла открытия ДЗ.
А чуть ниже по коду, нужна другая кривая от того-же аргумента, всего 5 кусков. И для каждого назначения кучка таких коротких таблиц.
А есть ещё таблицы где ещё одним аргументом угол наклона характеристики задается
Всетаки наличие в процессоре MUL/DIV команд очень сыграло на руку.
И ещё кучку что просто лень было ковырять, я больше 9А-шные коврырял так как был интерес в виде машины с двигателем, моновпрыск для понимания красоты кода.
В моновпрысках, кстати с базовой версии уже 27256 (32кбайт) ПЗУ зафигачили и видать сменился штат программеров в конторе, так как уже забили на красоту и начали быдлокодерить во все ПЗУ, места то много, че там терять такты на расчет по точкам.
Но автор кто начинал это кодить - монстр. Очень красивый код, уважаю!
Кому там важно знать, как вычисляется угол - вперед:
J_0D31h: CLR PSW.5
MOV R2,TPS_Path2
MOV R4,TPS_Path1
тут начало, берутся две дорожки, проверки ограничений и формулы, далее получают консолидированный угол в байте открытия заслонки.
J_0EAAh: MOV TPS_Path1_Path2,A
Который, заметим, высвечивается в диагностике.