Harita düzenleme¶
Her harita, açıldığında alt satırdaki sekmelerle dört görünümde incelenebilir:
Text (hücre tablosu), 2D (eğri), 3D (yüzey) ve 3D Sim. Hepsi aynı
veriye bağlıdır; birinde yaptığınız değişiklik diğerinde anında görünür.
ROM'un tamamı ise proje penceresinin 2d sekmesinde dalga formu olarak
görünür (bkz. Arayüz).
Her görünümde karşılaştırma modları vardır: Mod (mevcut değerler),
Ori (orijinal), Δ (mutlak fark) ve % (yüzdesel fark). Böylece tunun
neyi değiştirdiğini ham sayı okumadan, renk ve eğri üzerinden görürsünüz.
Text (hex) görünümü¶
- Sol sütunda ofset, ardından baytlar, en sağda ASCII veya çubuk gösterimi.
Görünüm ▸ Veri Genişliğiile 8/16/32-bit hücre boyutunu,Bayt Sırasıile big/little endian ayrımını,İşaretile işaretli/imzasız yorumunu değiştirirsiniz.- Değer doğrudan hücre üzerinde yazılabilir;
Enteronaylar,Esciptal eder. - Otomatik bulunan aday haritalar, sınıf rengine göre ince çerçeve + etiket
ile çizilir (amber = Possible, mor = Recognized); sağ üstte küçük bir
Possible/Recognized lejantı bulunur. Bir çerçeveye sağ tıklayınca
Haritayı listeye ekle (
Add map to list) ile aday kalıcı haritaya dönüştürülür; Oto haritaları göster (Show auto maps) ile tüm aday katmanı gösterilip gizlenir.
2d dalga görünümü (ROM geneli)¶
ROM'un tamamının bayt dalga formu; harita blokları renkli kutular olarak
üzerinde görünür. Çok sayıda harita arasında hızlı gezinmek ve genel eğilimleri
görmek için kullanılır. Görünüm ▸ Yükseklik Renkleri ile renk bandını
değiştirebilirsiniz.
- Üst araç çubuğundaki
8/16/32/Fbit ve bayt sırası düğmeleri bu görünümü doğrudan yönetir (kendi içinde ayrı bir seçici yoktur). - Tek tıklama yalnız imleci koyar; görünüm değiştirmez.
- Bir harita bölgesine çift tıklamak o haritanın editörünü açar ve haritayı soldaki listede seçer.
- Mouse ile bir aralık seçmek, aynı baytları Text (hex) görünümünde de seçer; hex'te seçim yaparsanız 2D'de aynı aralık vurgulanır.
Textsekmesine geçtiğinizde Hex görünümü aynı konuma kaydırılır.- 2D sembol çubuğundaki Column guides düğmesi, Text görünümüyle paylaşılan sütun kılavuz çizgilerini (line-break) 2D'de gösterir/gizler; tercih oturumlar arasında korunur.
Sütun düzeni ve line-break çizgileri¶
Text ve 2D görünümleri aynı sütun düzenini paylaşır: birinde değiştirdiğiniz
sütun sayısı ve origin diğerinde anında geçerli olur.
Msütunu genişletir,Wdaraltır (WinOLS "more/less columns").Ctrl+←/Ctrl+→origin'i bir bayt sola/sağa kaydırır; ızgara haritanın başlangıcına böyle hizalanır.- 2D görünümde her sütun sınırı dikey bir line-break çizgisiyle işaretlenir; her 4. sınır daha belirgin major çizgidir. Bir çizgiyi fareyle sürükleyerek sütun sayısını doğrudan değiştirebilirsiniz.
- 2D'de aralık seçimi line-break'lere snap eder: seçim her zaman bir sütun sınırında başlar ve biter.
- Sütunlar 3 pikselden daha dar olduğunda çizgiler okunabilirlik için gizlenir.
Harita düzenleyici sekmeleri¶
Bir haritayı açtığınızda (harita listesinden veya 2D'de çift tıklayarak) alt satırda dört sekme bulunur:
| Sekme | İçerik |
|---|---|
Text |
Hücre tablosu — asıl düzenleme burada yapılır |
2D |
Haritanın eğrisi; seçili moda göre orijinal ile üst üste |
3D |
Yüzey grafiği; Δ/Ori modunda fark ısı haritası |
3D Sim |
Dilimli/kesitli 3D benzetim |
2D sekmesinde orijinal ROM kesikli gri, değiştirilmiş ROM parlak
çizgi olarak aynı eksende çizilir; aradaki fark alanı artışlarda kırmızı,
düşüşlerde mavi yarı saydam dolguyla taranır. Δ / % modlarında eğri
doğrudan farkı (sıfır çizgisi etrafında) gösterir. X ekseni, A2L/OLS'den eksen
değerleri varsa onları (rpm, % …), yoksa sütun indeksini etiketler.
- Slices kutusu, her satırı kendi bandında çizer (WinOLS 5 "Slices"): çok satırlı haritalarda şekiller üst üste binmeden karşılaştırılır. Seçim kalıcıdır — uygulamayı kapatıp açınca korunur.
- Style seçicisi 2D eğrinin çizim stilini belirler:
Classic(varsayılan, düz eğri),Columns(her sütun için ayraç) veyaWinOLS(ince değer ızgarası + kare nokta işaretçileri). Seçim kalıcıdır. - Araç çubuğunda seçili hücreler için bir istatistik satırı görünür:
Sel: N · min · max · ort(varsa orijinale göreΔort). Yanındaki ısı lejantı, aktif paleti ve o anki değer aralığını gösterir. - Tune (drag curve):
Modmodunda 2D eğri üzerinde fareyle dikey sürükleme yapmak, seçili satırın hücrelerini doğrudan yazar (drag-to-tune). Yazımlar ölçekleme/doğrulama içeren güvenli hücre yazma yolundan geçer ve sürükleme başına tek bir geri-alma adımı üretilir.Ori,Δve%gibi salt-okunur görünümlerde yazım kapalıdır. - Fareyi gezdirince artı işareti + değer okuması çıkar; o sütundaki satır değerleri (ve varsa orijinal değerleri) görünür.
- Fare ile bir sütun aralığı seçmek, Text sekmesindeki hücreleri de seçer; tersi de geçerlidir — 2D ile tablo seçimi senkrondur.
- Seçili kolon,
3Dyüzeyde ve3D Simgörünümünde vurgulanır.
Üst araç çubuğundaki 8/16/32/F ve bayt sırası düğmeleri yalnız ROM geneli
Text ve 2D görünümlerini yönetir; bir harita kendi hücre tipini harita
özelliklerinden alır.
3d yüzey görünümü¶
İki boyutlu haritaları yüzey grafiği olarak gösterir; renk/yükseklik
eşlemesi ile eğimi gözle görmek için kullanılır. Düzenleme Text sekmesinde
yapılır.
Δ veya Ori moduna geçtiğinizde yüzey, orijinal ile değiştirilmiş veri
arasındaki işaretli farkı renklendirir: artışlar kırmızı, düşüşler mavi;
renk yoğunluğu farkın büyüklüğüyle ölçeklenir. Böylece 3D'de "nerede ne
kadar değişti" sorusu tek bakışta görülür. Mod modunda normal yükseklik
ısı haritasına dönersiniz.
Yüzen 3D Preview¶
Görünüm ▸ 3D Preview ile seçili haritanın serbest taşınabilen ayrı bir 3D
önizleme penceresi açılır; harita listesinde gezinirken pencere güncel haritayı
takip eder. Görünüm ▸ 3D Preview Theme altından dört render teması seçilir:
Dark, Blue Mesh, Green ve White. Seçim kalıcıdır.
Karşılaştırma modları (Mod / Ori / Δ / %)¶
Harita düzenleyicinin araç çubuğunda dört mod düğmesi vardır:
| Düğme | Kısayol | Ne gösterir |
|---|---|---|
Mod |
M |
Değiştirilmiş/mevcut değerler (düzenlenebilir) |
Ori |
O |
Orijinal ROM değerleri (salt okunur) |
Δ |
D |
Hücre bazında mutlak fark: Mod − Ori |
% |
P |
Hücre bazında yüzdesel fark |
- Orijinaline göre artışlar sıcak (kırmızı/turuncu), düşüşler soğuk (mavi) tonda boyanır; değişen hücrelerin köşesine üçgen delta bayrağı eklenir.
Ori,Δve%modları salt okunurdur — yanlışlıkla yazma yapılmaz; düzenlemek içinModmoduna dönün.Δ/%modundayken üst araç çubuğunda bir delta özeti satırı görünür: değişen hücre / toplam, yüzde, min/ort/max fark.Physical/Raw Hex/Raw Decseçicisi, değerlerin fiziksel birimde mi yoksa ham saklama bitleri olarak mı gösterileceğini belirler.
Düzenleme araçları¶
Düzenle menüsündeki işlemler seçili hücrelere veya tüm haritaya uygulanır:
| İşlem | Ne yapar |
|---|---|
| Değer +1 / −1 | Seçili hücreleri birer artırır/azaltır |
| Mutlak değiştir | Tek bir değer yazar |
| Göreli değiştir | Yüzde veya mutlak fark ekler |
| Kaydırıcı sınırı | Hücreleri bir aralığa kilitler |
| Yuvarlama | Değerleri adıma yuvarlar |
| Orijinale dön | Seçili hücreleri orijinal değerine döndürür |
| İnterpolasyon | İki nokta arasında doğrusal/eksponentel geçiş üretir |
| Yumuşatma | Komşu değerleri yumuşatır |
| Düzleştirme | Değerleri düzleştirir |
| Son işlemi tekrarla | Aynı düzenlemeyi tekrar uygular |
Tüm düzenlemeler geri alınabilir: Ctrl+Z / Ctrl+Y.
Sık kullanılan işlemlerin kısayolları da vardır: + / - değer +1/−1, =
mutlak değer, % göreli değiştirme, F4 son işlemi tekrarla (Again),
F11 orijinal değere dön. Düzenle ▸ Insert New Hexdump yeni bir hex
penceresi açar.
Düzenle ▸ Düzenleme Geçmişi… bütün işlemleri (açıklama ve bayt aralığıyla)
listeler. Bir adıma çift tıklamak ROM'u doğrudan o noktaya sarar — hex, 2D ve
3D görünümler anında güncellenir.
Klavye ile hızlı düzenleme¶
Harita tablosunda hücre seçiliyken doğrudan tuşa basarak matematik uygularsınız; istenen değer küçük bir pencerede sorulur:
| Tuş | İşlem |
|---|---|
% veya * |
Seçili hücreleri yüzde oranında ölçekler (105 → %5 artış) |
/ |
Bölme oranı uygular |
= |
Seçili tüm hücrelere mutlak değer atar |
+ / - |
İnce adımlarla artırır / azaltır |
I |
Seçim uçları arasında enterpolasyon (ara değer doldurma) |
S |
3×3 ağırlıklı yumuşatma filtresi |
Enter / F2 |
Hücre içi düzenleyiciyi açar; Enter onaylayıp bir alt satıra geçer |
Esc |
Düzenlemeyi iptal eder |
| Ok tuşları | Hücreler arasında gezinir; Shift ile aralık seçer |
Seçim menüsü¶
Seçim menüsü hem Text hem 2D görünümünde çalışır:
| Komut | Ne yapar |
|---|---|
| Select Cell / Column / Row / Screen / Nothing | Hücre / sütun / satır / ekran seçer veya seçimi temizler |
| Invert Selection | Mevcut seçimi ters çevirir |
| Restore Last Selection | Son seçimi geri getirir |
| Selection to Start / End | Seçimi ROM'un başına / sonuna taşır |
| Save / Load Selection… | Seçimi .sel dosyasına kaydeder / yükler |
Selection → Map… (K) |
Seçili bayt aralığını yeni bir haritaya çevirir |
| Support map selection | Seçili aralık için sütun sayısı + origin tahmin eder |
Support map selection, seçtiğiniz bayt bloğunu WinOLS tarzı bir ızgaraya oturtmaya çalışır: en olası sütun sayısını ve origin'i bulup uygular.
Bölge (row/col) düzenlemeleri¶
Haritanın yalnız bir kısmını değiştirmek için hücre aralığı seçin. Yama ve
paket dosyalarında da row_start, row_end, col_start, col_end
alanlarıyla bölgesel düzenleme tanımlanır; tüm harita yerine yalnız o bölge
yazılır.
Ölçekleme ile çalışmak¶
Değerleri fiziksel alanda (bar, °C …) görürsünüz; uygulama bunları
ölçekleme kuralıyla ham bayta çevirip yazar. Elle çarpmak yerine ölçeklemeyi
Harita Özellikleri penceresinden değiştirin:
- Çarpan (factor) ve sapma (offset)
- Bayt sırası (bazı A2L dosyalarında baytlar tersten sıralıdır)
- Birim etiketi
Ölçekleme yanlışsa tüm düzenlemeler yanlış yazılır. A2L'den içe aktarma bu nedenle tercih edilir.
Harita özellikleri¶
Çift tıklayarak açılan pencereden haritanın adını, açıklamasını, birimini, başlangıç adresini, tipini (MAP / CURVE / VALUE), boyutlarını ve ölçeklemesini görüp düzenleyebilirsiniz. Adres alanının yanındaki From hexdump cursor düğmesi, hex görünümünde bulunduğunuz adresi doğrudan haritaya atar.
Bul ve değiştir¶
Bul menüsü:
- Adres — belirli bir ofset,
- Değer — belirli bir sayısal değeri içeren hücreler,
- Harita — ada göre arama ve filtreleme,
- Benzer dosyalar — benzer ROM'ları bulma,
- Find bytes… (
Ctrl+Shift+F) — aktif ROM'da hex bayt dizisi arar;??joker baytları destekler. Eşleşmeler bir sonuç listesinde gösterilir; bir sonuca tıklayınca hex görünümü o adrese atlar. - Replace bytes… — bulunan tüm eşleşmeleri yeni diziyle değiştirir; tüm değişiklikler tek bir geri-alma adımıdır.
- Next comment / Previous comment — projedeki yorumlar arasında sırayla gezinir.
- Yorumlar ve işaretçiler — not ekleme ve gezinme.
Orijinalle farklar, yazdırma ve eksen profili¶
Görünüm ▸ Differences to Original…değişen hücreleri listeleyen bir diyalog açar; satıra tıklayınca ilgili adrese gidilir.Görünüm ▸ Next Difference/Previous Difference(F7/Shift+F7) farklar arasında gezinir.Proje ▸ Print…tune raporunu yazıcıya veya PDF'e gönderir.Proje ▸ Export tune report as PDF…aynı tune raporunu doğrudan bir.pdfdosyasına yazar.Proje ▸ Export A2L (DAMOS)…projedeki haritaları ASAP2/DAMOS.a2ltanım dosyası olarak dışa aktarır (Import A2L'nin karşılığı).Görünüm ▸ Compare two maps…iki haritayı yan yana, hücre bazında fark renkleriyle karşılaştıran bir diyalog açar.Proje ▸ Save axis profile…/Load axis profile…aktif haritanın X/Y eksen tanımlarını (ad, birim, değerler) dosyaya kaydeder ve geri yükler.
Excel ve CSV dışa aktarımı¶
Proje menüsünden iki tablo-dışı aktarma yapılır:
- Export map list as Excel… — harita listesini (ad, adres, boyut,
ölçekleme …) tek bir
.xlsdosyası olarak yazar. - Export map values… — bir klasör seçmenizi ister ve projedeki tüm haritaların hücre değerlerini o klasöre harita başına bir CSV dosyası olarak yazar. Haritaları elektronik tabloda incelemek veya harici araçlarla işlemek için kullanılır.
Örnek tune paketleri¶
data/tuningpacks/ klasöründe EDC16/EDC17 tuning rehberlerinden türetilmiş
örnek .mtrpack şablonları bulunur. Bu paketler yalnızca harita
tanımlarını taşır (adres 0x000000 placeholder, ölçek/boyut tahmini) ve
hiçbir ROM baytı içermez.
⚠️ Adresler, boyutlar ve ölçekler doğrulanmamıştır. Her haritayı kendi ECU/yazılım sürümünüze ve A2L/DAMOS dosyanıza göre doğrulamadan kullanmayın; yanlış uygulama ECU'yu brick edebilir.
İçe aktarma: Proje ▸ Import Map Pack… → dosyayı seçin → dahil edilecek
haritaları işaretleyin. Tanım-only olduğu için düğme Add selected to project
olarak görünür; yalnızca tanımlar eklenir, ROM'a bayt yazılmaz.
ECU ön ayarları (presetler)¶
Proje ▸ Apply ECU preset…, data/ecupresets/ altındaki JSON preset'leri
listeler (uygulama bunları diskten okur; yeni preset eklemek için yeniden
derleme gerekmez).
- Bir preset seçildiğinde checksum ipucu gösterilir;
settingsalanları yalnızca boş proje alanlarına yazılır (ör.ecuType,ecuProducer). mapPacktanımlıysa normal Import Map Pack diyaloğu açılır; haritaları yine siz seçip uygularsınız.verified: falseolan presetler listede (unverified) etiketiyle görünür ve diyalogda uyarı verir.
⚠️ Bu presetler doğrulanmamış iskeletlerdir; içlerinde gerçek ROM verisi, doğrulanmış adres, boyut veya ölçekleme yoktur. Her değeri kendi ECU/yazılım sürümünüze ve A2L/DAMOS dosyanıza göre doğrulayın.
Auto-map (database) — katalog tabanlı harita çıkarımı¶
Diğer ▸ Auto-map (database)…, harita tanımlarını taşıyan bir katalog
(data/ecukb/mapdefs.db, tools/dataset/build_mapdefs.py ile üretilir) ile
ROM'un kör (blind) yapısal taramasını birleştirir.
- Aileye göre çıkarım: katalog, HW/SW numarası ve ECU ailesine göre o yazılım sürümüne ait haritaları getirir. Projede aile boşsa SW numarasından çözülmeye çalışılır.
- Offset/sektör kayması hizalaması: hedef ROM farklı bir okuma yönteminden veya yazılım revizyonundan geldiğinde, her kaydın adresi parmak izi + değer imzası ile yeniden doğrulanır ve gerçek konumuna kaydırılır (Relocation).
- Kör algılamayla harman: katalog dışında kalan bölgeler kör otomatik taramayla doldurulur; çakışan/örtüşen kayıtlar güveni yükseltir.
- Gözden geçir → projeye ekle: sonuçlar ad, tip, adres, boyut, güven ve
kaynak (Database / Auto-detect / ikisi) sütunlarıyla sıralanabilir bir tabloda
gösterilir; tümü baştan seçilidir. İstemediklerinizi kaldırıp Add selected
to project dersiniz. Eklenenler
Auto-inferredklasöründe toplanır. - ROM değişmez: harita ekleme yalnız projenin harita listesini büyütür; hiçbir ROM baytı yazılmaz ve geri-alma adımı oluşmaz.
Katalog yoksa (
mapdefs.dbbulunamaz) araç yalnız kör otomatik algılama sonuçlarını gösterir. Katalog verisiDATASET_SETUP.md'de anlatıldığı gibitools/dataset/build_mapdefs.pyile yerelde üretilir.
Maintenance mode (veri-driven bakım operasyonları)¶
Proje ▸ Maintenance mode…, data/tuningops/*.json altındaki katalogdan
DPF / EGR / AdBlue / Lambda / TVA / Flaps gibi bakım operasyonlarını
listeler. Katalog diskten okunur; yeni bir JSON eklemek için yeniden derleme
gerekmez. Liste önce aktif projenin ECU ailesine göre süzülür; Show all ECU
families kutusuyla tüm katalog görülebilir.
- Her operasyon; marka, aile, kaç yama içerdiği,
confidencedeğeri ve (varsa)[UNVERIFIED]etiketiyle listelenir. Satır ipucunda kaynak dosya, SW referansı ve okuma yöntemi bulunur. - Bir veya daha fazla operasyonu işaretleyince Preview alanı çalışır:
Relocation (offset/sektör kayması) raporu —
matched,shifted,ambiguous,not foundsayıları ve güven yüzdesi — ile etkilenen haritalar gösterilir. Relocation önce yamanın kaydedildiği ofseti dener; bulamazsa çevresindeki sınırlı bir pencerede bayt/çapa desenini arar. Böylece farklı bir yazılım sürümünde adres kaysa bile yama taşınabilir. - Apply, seçili operasyonların çözülen yamalarını ROM'a tek bir geri-alma adımı olarak uygular. Doğrulanmamış bir operasyon seçiliyse onay diyaloğu bunu ayrıca vurgular.
- Uygulamadan sonra uygulama checksum'ı otomatik kontrol eder: geçerliyse bilgi
verir, geçersizse
Proje ▸ Correct Checksum…önerir; aile tanımı yoksa doğrulanamadı uyarısı çıkar (bkz. Doğrulama).
⚠️ Operasyon kataloğu doğrulanmamış olabilir (
verified: false). Her operasyonu kendi ECU/yazılım sürümünüze ve A2L/DAMOS dosyanıza göre doğrulamadan uygulamayın.
Change Recorder paneli¶
Görünüm ▸ Change Recorder (varsayılan kapalı) ROM düzenlemelerini canlı olarak
kaydeden bir panel açar:
- Start recording / Stop recording kaydı başlatır/durdurur; durum satırı kaç değişikliğin yakalandığını gösterir.
- Liste her düzenlemeyi ofset, uzunluk ve
önce → sonrabaytlarıyla gösterir; satır ipucunda tam bayt dizisi bulunur. - Copy kaydı Lua betiği olarak panoya kopyalar; Create script… aynı
içeriği Lua veya
.mtrpatchmetni olarak dosyaya yazar (Proje menüsündeki Create script from changes… ile aynı işlem). - Clear kaydı temizler.
Güvenli düzenleme alışkanlığı¶
- Değişiklikten önce
Proje ▸ Sürüm Anlık Görüntüsüalın. - Küçük bir bölgeyle başlayın, sonucu ölçümle doğrulayın.
- İşi bitirdiğinizde
.mtrpatcholarak paketleyin — sonradan "hangi ROM'a uygulanmıştı" sorusu kendiliğinden cevaplanır.