TLDR
– Move R513 to R508 on the back of the ISR (underneath the FPGA)
– Put firmware 1.10.0 on a Memory Stick (Pro/Duo/Pro Duo)
– Edit the firmware file startup
in MSSONY/MONITOR/BVM_A/flb0
with raw text editor and go to line 52 which says if (strcmp(%f,"00")==0)
and change this to if (strcmp(%f,"01")==0)
and line 73 from elif (strcmp(%f,"01")==0)
to elif (strcmp(%f,"00")==0)
.
– Update the monitor with this.
I had a parts BVM-A14 lying around, which was missing PSU and the ISR. When I found the respective parts, it turned out the ISR was from an A20 and not an A14, so while the monitor booted, the remote part of the monitor (the built-in controls) didn’t work. Using a BKM-15R was possible but not optimal. There are very few differences between the ISR for the A14 and the ISR for A20/24/32, the ones I’ve found are:
– The A14 ISR has no network switch (LAN/Peer to Peer selection), instead there’s a 10K resistor R299 that pulls to 3.3V.
– The A14 ISR has a 10K resistor R508 which pulls an I/O of the FPGA to 3.3V, where the others have R513 which pulls to GND.
I first tried to simply move the R513 to R508, this changed nothing, but I kept it like this. I then restored the system backup of a working BVM-A14, this fixed that it showed A20 and of course changed the serial (more on this later on), but controls were still unresponsive. I then tampered with the firmware update files so it would run the A14 update instead of the A20 one, and this yielded a fully working A14 monitor!
Moving R513 to R508
So I am unsure what this actually does, and if it is really necessary, but since the A14 ISR has it, I did it. Remove the shielding around the board (unscrew the two black screws in the front along with the spacers at the two DE-9 plugs), gently move the front, but note that the round remote power port has two wires going to the board, so you need to have the top off to be able to remove those. When the back of the PCB is exposed, locate the back of the FPGA where essentially in the middle is a little are with place for two resistors, only R513 should be populated.
There’s not much to solder at so be wary. I use soldering tweezers to remove it. Flux is probably a good idea. Don’t fuck up your ISR!
Changing the monitor name and serial
Since the above yielded nothing, I took a system backup of a working A14, and restored it to this one. This fixed the monitor “name” from BVM-A20F1U to BVM-A14F5M and then also changed the serial. In order to do this, put the backup files in MSSONY/MONITOR/BVM_A/F_DATA/
folder on the Memory Stick in a folder that reflects the what the current ISR shows, like this BVM_A20F1U_2000446
, so here the serial number is 2000446 and the ISR comes from an A20F1U. If you need a working A14F5M dataset, you can download mine here, and then rename the directory accordingly. In case you’d need an A20 dataset, here’s the backup I took from the ISR before messing with it.
If you want to fix the serial number and/or monitor name (like if you want it to say BVM-A14F5U or whatever), you can edit the framdata
file using a HEX editor (I use GHex in Ubuntu) and change the relevant parts. The values are hexadecimal ASCII, so (0x)32 is ‘2’, (0x)30 is ‘0’ and so on. If you know the correct “CRT Turn On Time” and “Operating Time”, you can also edit those here. Address (0x)00000030
and (0x)00000034
are these two numbers, represented as 4-byte hexadecimal minutes, so 000D282A
(862250) is the CRT Turn On Time (862250รท60 = ~14370 hours) and 000D6D4E
(879950) is the operating time.
Restore the system with this data, and your monitor should now show BVM-A14F5M with serial 2000558 or whatever you changed it to. But it’s still not enough.
Tampering with the firmware
Last part I did to make this work, was to change the firmware. I found a firmware package here and there’s a backup here also. Unzip the package and copy the BVM-A firmware to the Memory Stick.
Edit the file startup
in MSSONY/MONITOR/BVM_A/flb0
with a raw text editor and go to line 52 which says if (strcmp(%f,"00")==0)
and change this to if (strcmp(%f,"01")==0)
and line 73 from elif (strcmp(%f,"01")==0)
to elif (strcmp(%f,"00")==0)
. Essentially what we’re doing (I think) is that we’re making the update use the A14 files even though it reports being an A20.
Update the monitor with this, and after this, everything worked for me.
So how about the opposite, A14 ISR in A20
Another user is trying the opposite: Using an A14 ISR in an A20 monitor. Now essentially this *should* be just doing the hardware mod in reverse, so move R508 to R513, and then use the same firmware update, as what the firmware “hack” does is inverting the logic, so A14 ISR will update to A20 and A20 to A14. I will report back if I hear more about the results!