It works! 1st FV-1 booted from a network drive

Sort of...
@phstomp Thanks for posting your code. I have adapted the
send_algo() function to work on the ESP8266. It's nicely simplified to deliver what the FV-1 requires and keep up with the timing.
ESP version required a few mods to make it work. The most important being to make it work directly from RAM, not FLASH. Fetching it from external flash was too slow.
I also added a timeout in the while loops. If something goes wrong (mismatched i2c reply) and the MCU won't receive full 512 clocks it will hang up in the while loop with interrupts turned off. Only watchdog reset will help if it's turned on.
I was thinking about using the stock i2c slave software implementation, but after reading about people having problems with achieving standard 100kHz transfers (worked @~30kHz, we need 10x that), clearly a custom, optimized for the FV1 solution was needed.
I have tested the code and it works reliably up to 44.1kHz samplerate for the FV-1. Breaks at 48kHz.
Too bad the ESP8266 doesn't have any hardware PWM built in. I could use it to generate the clock for the FV-1, as i did in the BaseStar project. With that it would be possible to lower the Fclk to 32KHz for the upload time and then set it back to whatever it was before.
But even without it it's pretty useful: compile hex, click upload, click enable and one of the 8 buttons to load the patch into FV-1. 3MB of disk space is enough for over a hundred of hex files. If it's still not enough, the esp board can be modded to have an 8MB flash chip. No need to do any extra operations on the hex file. Direct SpinAsm output works fine.
Another idea: use an FTP server on the ESP8266, mount it directly in the system as a disk/folder and point the SpinAsm or SpinCad to save the hex file directly into the ESP. Could save the step of manually uploading the file.
I'll clean up the code and post it soon.
-EDIT-
That was quick. FTP access works, ESP's disk is mounted as a folder in my home directory:
