a388a59543
The internal flash cache wasn't being properly used, because `write_blocks` unconditionally performed the flash write. Fixing this so that the write's not done until `internal_flash_flush` fixes the problem in my test program with i2sout & synthio. as a future optimization, `flash_read_blocks` could learn to read out of the cache, but that's probably not super important.