Connected Dumps
Connected Dumps is a side-by-side comparison and migration tool for working with two firmware dumps simultaneously. It supports two workflows: Transfer Maps mode for copying map definitions and data between firmware versions, and Transfer Diffs mode for transferring byte-level changes. Both modes provide offset management, diff navigation, tolerance filtering, and dedicated monitor tool windows for tracking progress.
Open Connected Dumps from Debug/PRO → Connected Dumps on the Ribbon.
Setup Dialog
When you open Connected Dumps, a setup dialog lets you configure the session:
- Source project — the project you are transferring data from
- Destination project — the project you are transferring data to
- Swap button (⇄) — swap the source and destination selections
- Mode tabs — choose one of two transfer modes:
| Mode | Purpose |
|---|---|
| Transfer Maps | Copy map definitions and data between dumps. The source pane overlays destination data for comparison. |
| Transfer Diffs | Compare the source project's local changes and transfer byte-level diffs to the destination. |
BitEdit picks smart defaults: the project with the most maps becomes the source, and the one with the fewest becomes the destination.
After confirming, the appropriate monitor tool window opens automatically — the Map Transfer Monitor in Transfer Maps mode, or the Data Diff Monitor in Transfer Diffs mode.
Overview
The Connected Dumps editor displays two firmware projects side by side:
- Source pane (top in 2D mode, left in Hex mode) — the project you are transferring data from
- Destination pane (bottom in 2D mode, right in Hex mode) — the project you are transferring data to
A toolbar strip between the panes (the Connect Bar) provides controls for offset management, data transfer, diff navigation, view settings, and access to monitor tool windows.
View Modes
Connected Dumps supports two view modes, toggled with the View Mode button on the Connect Bar:
- Hex mode — panes are side by side (left/right) with a vertical toolbar strip between them. A grid splitter lets you resize the panes.
- 2D mode — panes are stacked (top/bottom) with a horizontal toolbar strip between them.
All keyboard shortcuts and transfer operations work identically in both modes.
Per-Pane Toolbars
Each pane has its own toolbar strip at the top showing:
- Project name — which project this pane is displaying
- Undo / Redo — per-pane undo and redo buttons (each pane has its own undo stack)
- Binary Format — combo box to switch the data display format (Byte, Word, DWord, Float, etc.)
- Bars — toggle bar graph overlay showing relative value magnitudes
- ASCII — toggle ASCII text representation alongside the hex/2D view
- Offset (destination pane only) — editable signed hex text box showing the current offset (e.g.,
+0x1A00)
Status Bar
While Connected Dumps is active, the status bar at the bottom of the window shows contextual information:
- During diff computation: progress indicator with running byte and chunk counts
- When the caret is inside a diff zone: zone index, byte count, and starting address
- Otherwise: total diff zone count and total differing byte count
Offset
The offset is a signed byte displacement between source and destination addresses. When the same calibration table lives at address 0x1000 in the source but 0x1200 in the destination, the offset is +0x200.
Setting the Offset
- Manual entry — type a signed hex value directly into the offset text box on the destination pane toolbar (e.g.,
+0x200,-0x1A,0x0) - Shift-scroll — hold Shift and scroll the mouse wheel in the source pane to nudge the offset up or down by one cell width. The two data plots slide past each other in real time, making it easy to visually align matching patterns
- Auto-calculate from cursors — position the caret in the source pane on a known landmark, then position the caret in the destination pane on the same landmark. Click the auto-calculate button (lock icon) to compute the offset as the difference between the two caret positions. This also re-enables viewport sync
Viewport Sync
When viewport sync is enabled, scrolling one pane scrolls the other (accounting for the offset). Data format changes (binary type, endianness, column count) and selection are also synchronized. Toggle sync with the Sync Scroll button on the Connect Bar.
Viewport sync is automatically re-enabled when you use auto-calculate offset.
Diff Display
The change indicator bars on the edges of each pane can show two types of differences:
- Local diff — differences between the current and original state of each pane's own project (the standard diff mode)
- Cross-pane diff — differences between the source and destination dumps, accounting for offset
Switch between these modes using the Diff Setup popup button on the Connect Bar. Cross-pane diff mode is the most useful for identifying which regions still need to be transferred.
Tolerance
Diff comparison supports tolerance to ignore minor value differences:
- Absolute tolerance — values within ±N raw units are considered equal
- Percentage tolerance — values within ±N% are considered equal
Set tolerance from the Diff Setup popup on the Connect Bar.
Merge Proximity
When diff zones are separated by fewer bytes than the merge proximity threshold, they are merged into a single zone. This reduces navigation noise when differences are closely spaced. Adjust the merge proximity in the Diff Setup popup or directly in the Data Diff Monitor.
Diff Navigation
Jump between cross-pane differences to quickly find regions that need attention:
| Shortcut | Action |
|---|---|
| M | Jump to next diff zone |
| N | Jump to previous diff zone |
The Auto-select diff chunk option (in the Diff Setup popup) automatically selects the entire diff region when you jump to it, making it ready for immediate transfer.
Cell Transfer
Cell transfer copies raw data values from the source dump to the destination dump at the corresponding offset address.
Three transfer modes are available:
| Mode | Behavior |
|---|---|
| Absolute | Overwrites destination cells with source values |
| Delta | Applies the difference between source current and source original to destination |
| Percent | Applies the percentage change from source to destination |
Select the mode from the Diff Setup popup. The cell transfer button on the Connect Bar (whose icon changes to reflect the active mode) executes the transfer for the current selection or cell under the caret.
The Jump to next diff option automatically advances to the next diff zone after each transfer, enabling a rapid review-and-transfer workflow.
Each cell transfer is recorded as a single undo transaction and logged in the Data Diff Monitor.
Data Diff Monitor
The Data Diff Monitor is a tool window that tracks diff chunks and transfer operations in real time. Open it from the Data Diff Monitor button on the Connect Bar (between the diff navigation arrows), or it opens automatically when entering Transfer Diffs mode.
Diff Chunks (upper panel)
The upper panel lists all cross-pane diff chunks. Each chunk shows:
- Status badge — a color-coded letter indicating transfer state:
| Badge | Status | Meaning |
|---|---|---|
| R (green) | Ready | Destination matches the baseline — not yet transferred |
| P (amber) | Partial | Some bytes match source, others still match the baseline |
| I (red) | Inconsistent | Destination matches neither source nor baseline — manual edits detected |
Chunks that have been entirely transferred are automatically hidden from the list.
- Address range — the byte range of the diff, with zone icons showing which maps or axes are covered
- Length — number of differing bytes
- Hex preview — first bytes of the chunk for quick identification
Double-click a chunk to jump to it in both panes with the range selected and the binary format synced.
The Merge proximity value is editable directly in the panel header.
Transfer Log (lower panel)
The lower panel records every cell transfer operation with:
- Zone icon — which map/axis/DTC the transfer overlaps, with a status overlay (warning icon for manual edits, undo icon for reverted transfers)
- Source / Destination addresses — where bytes were read from and written to
- Transfer description — cell count and mode (e.g., "128 cells (Absolute)")
- Format — the binary type used
Double-click a log entry to jump back to its location in both panes.
Restore Operations
Select a transfer log entry and use these buttons:
| Button | Action |
|---|---|
| To Previous | Write back the bytes that were in the destination immediately before this transfer (reverts one step) |
| To Original | Write the destination's unmodified dump bytes to the region (reverts all changes) |
| To Source | Re-read current source bytes and write to destination (re-transfer with latest source data) |
Map Transfer
Map transfer copies map definitions (structure, axes, format) from the source project to the destination project, adjusting addresses by the current offset.
| Shortcut | Action |
|---|---|
| Ctrl+T | Transfer map(s) using the current scope (under caret or within selection) |
Transfer Scopes
- Map under caret — transfers the single map at the current caret position
- Maps within selection — transfers all maps overlapping the current selection
Select the scope from the Map Transfer Setup popup on the Connect Bar.
The Auto-jump to next map option advances the caret to the next source map after each transfer.
Navigating Untransferred Maps
After transferring some maps, use these shortcuts to jump between maps that still need to be transferred:
| Shortcut | Action |
|---|---|
| Ctrl+PageDown | Jump to next untransferred map |
| Ctrl+PageUp | Jump to previous untransferred map |
A map is considered "transferred" when the destination project contains a map with the same name at the expected offset address.
Folder Structure
Transferred maps preserve the source project's folder hierarchy. If the source map lives inside nested folders, the same folder structure is recreated in the destination project.
Map Transfer Monitor
The Map Transfer Monitor is a tool window that provides a complete overview of map transfer progress. Open it from the Map Transfer Monitor button on the Connect Bar (between the untransferred map navigation arrows), or it opens automatically when entering Transfer Maps mode.
Source Maps (upper panel)
The upper panel lists all source maps that have not yet been transferred. Each map shows:
- Icon — map type indicator
- Address — hex start address in the source dump
- Name — map name
- Confidence badge — color-coded transfer confidence:
| Badge | Confidence | Meaning |
|---|---|---|
| ✓ Aligned (green) | Perfectly Aligned | Map bytes and axes are identical in both dumps at the current offset — safe to transfer automatically |
| ≠ Differs (amber) | Data Differs | Map structure fits at the offset address, but data values differ between source and destination |
| ⚠ Occupied (orange) | Region Occupied | The destination region already contains existing maps — potential conflict (conflicting zones listed in tooltip) |
Multi-selection is supported for batch operations.
Batch Transfer Operations
| Button | Action |
|---|---|
| Transfer | Transfer the selected map(s) |
| Transfer ALL | Transfer every untransferred map at once |
| Aligned | Transfer only maps classified as Perfectly Aligned — a safe one-click operation for maps that haven't changed between firmware versions |
| Search | Search the destination dump for the selected map's byte pattern to find offset candidates |
| Fast Forward | Automatically transfer maps one by one, searching for matches with increasing offset; stops at the first map that cannot be reliably matched |
Search for Map
Select a source map and click Search to run an auto-sync search using that map's byte data as the search pattern. This is useful when a map has moved to a different address and the current offset doesn't match — the search will find candidate offsets where the map data appears in the destination dump.
Fast Forward
The Fast Forward button (⏩) automates the repetitive cycle of aligning and transferring maps one by one. Starting from the first selected source map (or the first in the list if nothing is selected), it works through maps in dump order:
- If the map is already perfectly aligned at the current offset — it is transferred immediately.
- If not — the engine searches the destination dump for the map's byte pattern, accepting only matches at an offset greater than the current one (preserving the natural order of maps in the dump).
- If a match is found — the offset is updated and the map is transferred. The process continues with the next map.
- If no reliable match is found — Fast Forward stops, selects the problematic map in the monitor, and scopes the editor to it so you can inspect and resolve the situation manually.
Fast Forward respects the current tolerance and matching mode settings. It is the recommended way to handle large firmware migrations where most maps have predictable, monotonically increasing offsets — you click Fast Forward, and it processes everything it can until it hits a map that requires your judgment.
Transferred Maps (lower panel)
The lower panel lists maps that have been transferred, showing:
- Name and format description
- Address mapping — source address → destination address with offset
Transferred Map Operations
| Button | Action |
|---|---|
| Jump | Navigate to the transferred map in the destination pane |
| Source | Navigate to the original map in the source pane's map tree |
| Destination | Navigate to the cloned map in the destination pane's map tree |
| Revert | Remove the transferred map from the destination project (the map reappears in the source list) |
Post-Transfer Jump Mode
After a batch transfer operation, the editor can automatically jump to help you continue working. Three modes are available in the Transfer Settings popup:
| Mode | Behavior |
|---|---|
| Leftmost Untransferred | Jump to the first remaining untransferred map (by address) |
| After First Transferred | Jump to the first untransferred map after the first item that was just transferred |
| After Last Transferred | Jump to the first untransferred map after the last item that was just transferred |
Undo Detection
The Map Transfer Monitor automatically detects undo/redo operations in the destination project. When a map transfer is undone, the transferred map is removed from the lower panel and the source map reappears in the upper panel.
Transfer Diffs Mode
Transfer Diffs is a specialized mode for transferring byte-level changes rather than map definitions. It is designed for the scenario where you have already tuned one firmware version and want to apply the same modifications to another version.
How It Works
- Source pane (top) — shows the source project's local changes: the difference between the current (tuned) dump and the original (stock) dump
- Destination pane (bottom) — overlays the source's current data onto the destination dump for comparison. Shift-scroll adjusts the destination offset
The diff engine highlights all regions where the source has been modified. You can then selectively transfer those changes to the destination dump.
Key Differences from Transfer Maps Mode
| Aspect | Transfer Maps | Transfer Diffs |
|---|---|---|
| Primary purpose | Copy map structure + data | Copy byte-level modifications |
| Pane swap | Enabled | Disabled (fixed pane roles) |
| Diff source | Cross-pane comparison | Source's local changes |
| Offset behavior | Applied to source pane | Applied to destination pane |
Workflow
- Open Connected Dumps and select Transfer Diffs in the setup dialog
- The Data Diff Monitor opens automatically showing all modified regions
- Navigate through diff chunks using M / N or double-click in the monitor
- Transfer changes using cell transfer (Absolute, Delta, or Percent mode)
- Track progress in the Data Diff Monitor — transferred chunks disappear from the list; partial transfers show the P badge
Fast Forward (Diff Transfer)
The Fast Forward button (⏩) in the Data Diff Monitor automates the transfer of diff chunks that fall within known maps. Starting from the first selected chunk (or the first in the list), it processes chunks in order:
- Zone check — if the chunk is not covered by any map in either project, Fast Forward stops. Unstructured diff regions require manual review.
- Alignment check — if the source bytes at the current offset already match the destination, the chunk is transferred immediately.
- Search — if not aligned, the destination dump is searched for the chunk's byte pattern. Only matches with a strictly larger offset are accepted (forward-only, preserving dump order).
- Stop — if no reliable forward match is found, Fast Forward stops, selects the problematic chunk, and scopes both panes to it.
This is useful when migrating tuning changes to a firmware version with known structural shifts — most diff chunks within maps can be automatically aligned and transferred, while the tool stops at any chunk that needs human judgment.
Auto-Sync Search
The auto-sync engine helps find the correct offset when you don't know it in advance. It searches for matching byte patterns between the two dumps:
- Position the caret on (or select) a distinctive data region in the source pane
- Click Search in the auto-sync section of the Connect Bar
- Navigate through results with the Next / Previous buttons
- When you find the correct match, the offset is applied automatically
The search sample size dropdown (32 / 64 / 128 / 256 cells) controls how many bytes are compared. Larger samples are slower but more precise.
Search Dump Source
By default, the search engine compares original (stock) bytes from both dumps. This works best for finding structural matches between firmware versions that share the same base data.
Click the Search Source toggle button (next to the search button) to switch between modes:
| Icon | Mode | Description |
|---|---|---|
| 📄 FindInOrig | Original (default) | Reads pattern from the source project's original dump and scans the destination project's original dump. Best for matching stock firmware structures. |
| 📝 FindInCur | Current | Reads pattern from the source pane's current dump and scans the destination pane's current dump. Useful when comparing tuned data. |
This setting is per-document and not persisted across sessions.
The result counter between the navigation arrows is color-coded:
| Color | Meaning |
|---|---|
| Red | Search has results — offset candidates found |
| Orange | Current offset matches one of the results |
| Blue | Match found only against the original (unmodified) dump |
Pane Swap
Press the Swap button (⇄) on the Connect Bar to swap which project is source and which is destination. All data, overlays, diff computations, and viewport sync are updated to reflect the new arrangement.
Note: Swap is only available in Transfer Maps mode. In Transfer Diffs mode, pane roles are fixed because the source's local changes define the diff regions.
Settings
Connected Dumps settings are persisted across sessions and can be configured in Settings → Connected Dumps or directly from the Connect Bar popups:
| Setting | Default | Description |
|---|---|---|
| Tolerance mode | Absolute | Absolute vs percentage tolerance |
| Tolerance value | 0 | Tolerance threshold |
| Cross-pane diff bars | On | Show cross-pane diff on edge bars |
| Default diff mode | Cross-pane | Start with cross-pane diff enabled |
| Search sample size | 64 | Cells to sample for auto-sync |
| Auto-select chunk | On | Select range on diff navigation |
| Auto-jump to next map | On | Advance after map transfer |
| Jump to next diff | On | Advance after cell transfer |
| Viewport sync | On | Default viewport sync state |
| Post-transfer jump | Leftmost | Where to jump after batch transfer |
Typical Workflows
Migrating Map Definitions Between Firmware Versions
- Open both projects and launch Connected Dumps in Transfer Maps mode
- Find the offset — use auto-sync search or manually align known landmarks with shift-scroll
- Transfer aligned maps — in the Map Transfer Monitor, click Aligned to batch-import all Perfectly Aligned maps
- Fast Forward — click Fast Forward to automatically transfer maps that can be reliably matched in dump order. The process stops when it encounters a map that needs manual attention
- Review remaining maps — use Ctrl+PageDown or the Map Transfer Monitor to jump through untransferred maps. Check the confidence badges: green maps are safe, amber ones have changed data, orange ones have address conflicts
- Transfer maps one by one — verify each map's alignment visually, then press Ctrl+T to transfer
- Transfer modified values — switch to cross-pane diff mode, navigate diffs with M / N, and use cell transfer to copy changed values
- Verify — scroll through both panes or check the Data Diff Monitor to confirm all expected data has been migrated
Applying Tune Changes to a New Firmware Version
- Open the tuned project (source) and the stock project for the new firmware (destination)
- Launch Connected Dumps in Transfer Diffs mode
- The Data Diff Monitor shows all regions where the source was modified
- Set the correct offset for the new firmware version
- Work through diff chunks — double-click each in the monitor, review the change, and transfer
- Use To Source in the transfer log to re-apply if the source is updated during the process
- Monitor the chunk status: R (ready) → transferred (hidden). Watch for I (inconsistent) badges indicating regions that need manual attention
Keyboard Reference
| Key | Function |
|---|---|
| M | Next diff zone |
| N | Previous diff zone |
| Ctrl+T | Transfer map (current scope) |
| Ctrl+PageDown | Next untransferred map |
| Ctrl+PageUp | Previous untransferred map |
| Shift+Scroll | Adjust offset |
| Ctrl+U | Restore original values |
| Ctrl+Z | Undo (active pane) |
| Ctrl+Y / Ctrl+Shift+Z | Redo (active pane) |
| Ctrl+G | Go to address |
| PageUp / PageDown | Previous / next zone |
| Ctrl+1 | Byte format |
| Ctrl+2 | Word format |
| Ctrl+3 | Double-word format |
| Ctrl+4 | Toggle signed/unsigned |
| Ctrl+5 | Toggle big-endian |
Tips
- Start with aligned maps — transferring Perfectly Aligned maps first saves significant time and lets you focus manual effort on maps that actually changed addresses. The green confidence badge in the Map Transfer Monitor confirms which maps are safe.
- Use shift-scroll for fine alignment — when the offset is close but not exact (e.g., off by 2 or 4 bytes due to firmware structure changes), shift-scrolling lets you see the two plots sliding past each other until they line up.
- Cross-pane diff after transfer — after transferring maps, switch to cross-pane diff mode to verify that no data regions were missed.
- Tolerance for noisy data — set a small absolute tolerance (e.g., ±1 or ±2) to ignore minor calibration tweaks and focus on significant changes.
- Undo is per-pane — each pane has its own undo stack. Ctrl+Z undoes the last change in the currently active pane.
- Use the monitors — the Map Transfer Monitor and Data Diff Monitor provide a structured checklist view of your progress. They are more efficient than manually scrolling through the dumps looking for what's left.
- Search for relocated maps — when a map has moved to a different offset than expected, select it in the Map Transfer Monitor and click Search to scan the destination dump for matching bytes.
- Use Fast Forward for bulk migrations — when most maps follow a predictable pattern of increasing offsets, Fast Forward can transfer dozens of maps automatically. Start with Aligned, then use Fast Forward to handle the rest. It will stop whenever it encounters a map that needs your attention.
- Diff Fast Forward for tuning transfers — in Transfer Diffs mode, use Fast Forward to batch-transfer diff chunks that fall within known maps. It skips unstructured regions and stops when alignment breaks, letting you handle edge cases manually.
- Watch for orange badges — the Region Occupied (⚠) confidence indicator warns that the destination already has maps in the target region. Review the tooltip to see which maps conflict before transferring.
- Re-transfer after source edits — if you modify the source project after transferring some data, use To Source in the Data Diff Monitor's transfer log to push the updated values.