Appears it was already updated in the field to the last OS version (1.022) from I'm not sure if it then wipes the other bank? Possibly, because the other regions are written with FF. However it was still pretty confusing to navigate around later on; BRA from active code to 0xFF region.
Probably some of these are the as yet un-mapped SRAM, and Alesis IC addresses. I've added peripheral mapping for the SCI. I'm learning a lot as I go! Also maybe the Alesis ASIC remaps certain memory addresses at run time? (more research has shown that this is likely). These images show the mirrored banked addresses - some lead to empty regions (maybe ram?) and some have near identical code (version differences?) and some have different data (bytes table for strings) . [[File:DIF-ATBanked ROM2.png.png|thumb|DIF-AT firmware showing mirrored 'blank' bank location. |alt=]][[File:DIFAT Bank Example.png|alt=DIF-AT firmware with mirrored bank -near identical addressing much higher in ROM region|thumb|DIF-AT firmware with mirrored bank - almost identical addressing just much higher in ROM region|none]]
==Firmware Strings -==
===Firmware Update Files -===
Also the The firmware itself is ''still '' available from Roland, as midi update files. These files are sent to the DIF-AT over its RBUS midi port, from an RBUS capable device. (Although classic Roland it seems to be only ''one'' digital mixer that has the correct button sequence to do the update / show version) However they Roland are correct in that a user would need needs an RBUS port to send the midi files, as the DIFAT DIF-AT midi port is two pins on the RBUS connector.
https://www.roland.com/us/support/by_product/dif-at/updates_drivers/ac2a8693-f923-4894-9d8d-da20af3b75ef/ (mac, sea.hqx)
I have not yet performed a Diff of my firmware and the midi updates. I would have to reconstruct them first into a full image. I think my firmware is not corrupted though at this point. I will try and send the DFU command and the payload using a python script instead (see below)
The midi files are 4x33kb. Minus headers etc; 32kb actual payload x 4 = 128kb firmware. A 512kb NOR flash is generous space for this (4x bigger) Though remember its banked for DFU (when the update is written and verified it will switch active bank flag) Also it seems remapped to different addresses in runtime operation also.
===DFU Python Script===