today's project for #GlasgowInterfaceExplorer: reworking the memory-25x applet

this is a very old applet, one of the first introduced. it works mostly fine, but it was designed and implemented before I really knew how to make good applet UIs, and long before I added QSPI support, so it's not using all of the available bandwidth & it requires specifying a bunch of geometry parameters by hand even when it is trivially extracted from the flash itself

I am planning to redesign the Flash command engine to support not just 1-1-1 (normal SPI) commands, but every mode including 1-1-2 and 1-1-4 (dual/quad data) and 1-2-2 and 1-4-4 (dual/quad address and data). to do this I will implement an abstraction for a (Q)SPI command set, which can then be extended and specialized by an individual flash

this will also handle devices like Winbond's and Micron's QSPI NAND devices (W25N series and MT29F series, respectively).

@whitequark what about older pre SFDP parts?
@azonenberg you still have the option to specify it via command line
@azonenberg actually a lot of "new" parts (for a pragmatic value of "new") do not have SFDP info for reasons not totally clear to me, I think some of them are just too cheap or something? some of them appear to have the SFDP memory area but it's not filled in
@whitequark huh the last non sfdp part i saw was a winbond or micron on a digilent Spartan6 devkit
@azonenberg how many barely-marked chinese flash memory ICs do you examine per month?
@whitequark not a lot, much of what I work with is western vendors. I've seen puya stuff but I'm pretty sure they have sfdp?
@azonenberg hm I'll see if I can collect some more informal statistics