Open main menu

Changes

m
I also had a look at [https://binvis.io/ Binvis]. Binvis makes for a stunning visual representation, regardless of anything else at all. I love it. It was fun to see the strings represented in coloured pixels. Also, very apparent to see in Binvis, are the banks.
=== Firmware Banks - ===
This firmware is banked and split. This is to facilitate DFU - the device can be firmware updated by the user while still maintaining stable OS. Then switch a flag to change/denote active bank.
[[File:DIF-AT BINVIS.png|alt=binvis.io|center|thumb|BINVIS The little 'white line defined' area is where the pointer is viewing]]
 ===Firmware Strings -===
Alright we've heard enough about them; here is the list - '''''strings -n 6 INTEL_HEX_DIF_AT_LH28F400BVE@TSOP48_byte_swapped.bin'''''
{| class="wikitable sortable"
The **Roland xx looks like a boot banner and is called differently in the firmware. I'm sure that's why it has different start and stop markers. Ditto for the early Version string. Interestingly, the early Version is way at the other end of the addresses in the code. This adds to the DFU / Bank swap theory.
When I finally load the firmware (I still haven't at this point) I spend ages looking for what calls these strings. I find it difficult to navigate but fascinating. It is difficult to navigate any production firmware disassembly I expect. I have no prior experience, but it seems the H8300H is kind of a different level, a bit of an oddity. It's used a lot in Japanese electronics. It is in a lot of Roland devices. Apparently it interleaves code and data frequently which makes static disassembly trickier. ''Especially in Cutter, which won't decompile H8 instructions (it either links to Ghidra method, which does not support the H8, or JS, which can't de-compile either)''
=== User / Monitor Strings - ===
One or two strings can be discovered, which have a different call system to the diagnostic strings (the ones I'm most interested in) especially because I have to repair so many subsystems, ICs, and traces.
I don't know at this point that these diagnostic strings are highly likely to be called by the Monitor Version 1.00, which is highly likely a Machine Language diagnostic tool which must operate over UART.
===Video Sync Pal/NTSC Strings -===
This is an interesting one. The DIF-AT syncing to video?!
I think that, the ADAT and TASCAM tape machines, will have had a video sync input, so they could be used to sync to video gear to score music for TV / video productions.  The video sync will input to those machines, and the DIF-AT sees the 'passed through' sync source from the ADAT tape machine or the DA88. It's not possible to sync the DIF-AT to video without it coming from a tape machine. I'm sure the manual for an ADAT machine will have this info. If I locate the info I will update this section.
 
== Firmware Disassembly - ==
===High Performance Embedded Workshop -===
135

edits