Перейти к содержанию
View in the app

A better way to browse. Learn more.

AUTO-BK.RU FORUM

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Kolo

Активные пользователи
  • Зарегистрирован

  • Посещение

Весь контент Kolo

  1. Непонятен вопрос. Посчитал AFR, сохранил. Потом копию MAP_f_IDLE_VE сохранил в byte_2D9. Зачем? Будет ясно из того, как используется byte_2D9. Щас у меня иды нет под рукой, посмотреть не могу.
  2. Там в одном случае расчет идет при старте т.е. после включения зажигания, во втором уже в главном цикле. А MAP_f_VE =MAP_f_IDLE_VE / 2 это только до $C0 seg004:9D29 000 81 C0 cmpa #$C0 * 'L' * Compare accumulator with memory seg004:9D2B 000 22 03 bhi loc_9D30 * Branch if > (unsigned) seg004:9D2B seg004:9D2D 000 44 lsra * Logical shift right поэтому и колонок по MAP_f_VE всего 11. Что там у тебя в таблице непонятно. Расчет кпа для 1-барного идет так МАП_АЦП*0.373+10.4, а у тебя непонятно как. И на ряды по оборотам там внимательней посмотри :)
  3. Нет, это не проверка на ошибку.. byte_8015 это похоже байт какой-то комплектации. И идет проверка его битов. А перед этим был расчет аргумента для VE на ХХ (MAP_f_IDLE_VE) MAP_f_IDLE_VE = ( MAP_АЦП - $1A)*($97/$100)*2 = (MAP_АЦП-26)*1.27 Если отрицательное (MAP_АЦП Если пересчитать все значения MAP_f_IDLE_VE кратные $10 обратно в MAP_АЦП, получишь правильные значения для оси по давлению в таблицах, где он используется.
  4. Все расписывать не буду. Слишком долго. Да и не туда ты полез. Хотя для расширения кругозора и освоения арифметки полезно... Выборка из 2D: pshb - сначала сохраняем B в стеке, чтобы потом вернуть, т.е. функция B не меняет ldab #$10 - здесь надеюсь все понятно :) mul - тоже самое, что и сдвиг влево на 4 бита. В A теперь старшая тетрада, в B младшая, умноженная на $10. pshb - сохраняем младшую в стеке, она понадобится позже для аппроксимации tab - старшую в B abx - смещаем IX в нужную точку ldd 0,x - грузим из нее в A, из следующей в B sba - берем разность между ними для аппроксимации, заодно и определяем наклон кривой ( вверх/вниз) дальше сам ... :)
  5. Это просто подпограммы умножения. Использоваться могут где угодно. Первая 16битХ16бит (значение IX на значение D), вторая 16битX8бит (слово адресуемое через IX на A). Possible можно давно уже убрать :) Молодец что многое осили сам! MAP_f_IDLE_VE заранее подготовленный аргумент по МАПу для выборки наполнения на холостых. В твоем бине многие аргументы заранее высчитываются, потом используются. Это оптимальнее. А у меня например аргументы высчитываются каждый раз перед использованием. Причем многие одинаково. И нигде не хранится. DATA XREF-обращение к этому адресу из данных CODE XREF-обращение к этому адресу из кода т.е. сразу видно где оно явно используется Про RTI читай даташит на процессор.
  6. Я тот xdf толком и не смотрел. Мне то он не нужен :) Не лезь сразу в 3D. Начни с простого. Например с расчета оборотов холостых от температуры.
  7. RPM_12_5 и RPM_25 это обороты деленые на 12.5 и 25 соответственно. МАП_45 мое обозначение. :) Функция от MAP. У меня оно по адресу $45 лежит. Это аргумент многих таблиц. Посмотри, как оно вычисляется. Получишь правильные оси по давлению.
  8. Может и я неправильно выразился. Первые два байта в заголовке, это ограничения для аргументов соответственно рядов и колонок снизу. Т.е. аргумент равный им или меньший считается одинаковым. Выборка для все них будет производиться из нулевого ряда или колонки. Например если там стоит $40, значит из нулевой колонки будет выборка для от 0 до $40, следующие $50,$60 и так далее. Эти $40 просто будут вычтены из аргумента, отрицательный результат будет заменен нулем. Где там какой RPM я не вижу :) FSM - текущее положение IAC ( регулятора холостого хода). SSM - нужное или вычисленное. Вроде бы это общепринятые аббревиатуры...
  9. Бин в памяти лежит начиная с адреса $8000. Значит к адресам в бине добавляешь $8000 и получаешь правильный адрес в адресном пространстве процессора. Про 1 карту не понял. Что подробнее?
  10. Посмотри как работает функция выборки из 3D, хотя бы начало, и все поймешь. Официально структура врядли где опубликована :)
  11. Второй байт - начальное смещения аргумента колонок.
  12. Не, мне боши не интересны. У меня GM :) 3 байта перед 3D это так называемый заголовок: начальные смещения аргумента рядов, аргумента колонок и количество колонок. Т.е. в случае с VE - первый ряд по оборотам начинается с $10x25=400. Все что меньше тоже попадет в этот ряд. По давлению с нуля, но аргумент там не АЦП МАПа напрямую, а производное от него. И $B - 11колонок по давлению. А вот шаги по осям задаются уже при подготовке аргументов. Могут быть и переменной величины. Но это обычно никто не разбирает, адрес нашли и ладно. Шаги заполняют от балды, поэтому все коммерческие редакторы для такого ПО, которые я видел крутят на самом деле не ту режимную точку :) Кстати в твоем бине впервые увидел однобайтовый заголовок у 2D. Для чего он я понял, а вот словами объяснить трудно... Что-то типа вес для шага аргумента. Кстати VE помойму 17х11.
  13. Я asm11 использую. Только асм из под Иды он напрямую не берет. Нужно напильником допиливать.
  14. В качестве грубого множителя вверх можешь крутить байт по адресу $38F9. Там $10 стоит. Но следи , чтобы время впрыска не превысило время полоборота. Тогда впрыск будет непрерывным, не разделишь по цилиндрам.
  15. Да. Я ошибся :) . Тем множителем можно только уменьшить.
  16. Ты само кольцо переставляешь? У GM после пропуска должно быть 20 зубов до ВМТ. Так получается по коду. Для распределенного впрыска, 1 раз за 2 оборота вместо 2-х за оборот придется время впрыска в 4 раза увеличивать. Можно тем-же множителем.
  17. Я же говорю - сложно там. Нужно разбирать всю обработку IC1 и PAVOI и потом править. Я пытался сместить начальный отсчет всего на один зуб, но нормально не получилось..
  18. Это самое сложное место. Туда лучше не лезть.
  19. Да знаю я этот сайт. С ними общаться тяжело, они пишут с на своем сленге, с сокращениями и ошибками. Я не настолько хорошо владею английским, чтобы понять.
  20. Спасибо, он мне не нужен :) У меня адреса часто меняются.
  21. Держи. Чтобы весь код увидеть, нужно еще пройтись по конструкциям jsr 0,x и jsr 0,y BLAP4701.ZIP
  22. У меня ZXIT. http://www.auto-bk.ru/forum/topic/336-nexia/page__st__100 сообщение #111 А эту посмотрю.
Яндекс цитирования

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.