very confused non government entity
| Website | https://byteturtle.eu |
| pretty flag | 🏳️⚧️ |
| Pronouns | she/her |
| (private) alt | corteximplant.net/byte |
| Website | https://byteturtle.eu |
| pretty flag | 🏳️⚧️ |
| Pronouns | she/her |
| (private) alt | corteximplant.net/byte |
so!! i am excited!!! to have finally finished the complete reimplementation of the #GlasgowInterfaceExplorer memory-25x applet for managing SPI NOR flashes. it is called memory-25q and it took an enormous amount of effort, because i have decided to Build It Properly
want to jump to the docs (there are a lot of docs, including on the fundamentals of (Q)SPI flashes) or read the code? here we go:
memory-25qmemory-25q appletmemory-25q appletnow, why did i do that? two reasons. memory-25x is one of the first applets i made, ~7 years ago, and i had no idea what kind of UI i should be building (yet). to make it worse, i thought that SPI NOR flashes were "easy", you could "just send a few bytes and that's basically it".
nothing could be further from truth. first off, SPI NOR flashes don't really exist—there is no spec, no standard organization that can say "no, your thing is not compliant", no order to any of this. every vendor does whatever they want, and then every other year JEDEC writes down all of the unhinged shit they did. here is the list of six incompatible methods to turn a single bit on or off, as a warmup
second, SPI flashes have an absolutely absurd diversity of framings. you cannot even express it without building a meta-framework for abstracting over all the ways people have come up to squeeze 8 bits into 2 or 4 wires. then on top of it you have to manage a bunch of global state that affects framing in subtle or sometimes really fundamental ways, without having any way to find out that you've made an error besides "you compare the actual data with the expected data (or its checksum) and it is not equal"
anyway, the new applet should be excellent at any daily task and at least okay at >90% of the exotic ones. also it's easily generalized for the (completely incompatible on the wire) QSPI NAND 25N series, octal or DTR variants, etc
:)
pg5v-kres
r2r8-6lfd
jm4r-yaj6
6bpw-b78y
zxfc-xjuf
zqa4-eyam
n8fq-33ug
5kd7-w4mu
gyja-ca8p
32gr-x2bn
Yo chooms, today isn’t just Bandcamp Friday.
It’s also the day @distortiondoll and I drop our collab album DREAMY2K!
Use the coupon code "cyber" to get 90% off everything on my Bandcamp page.
That’s enough music to survive this dystopia!
Here's to all the kids who were born with non-default settings; to all you who put the effort in to figure yourselves out.
You're amazing and deserve to be celebrated.
I'm glad you're here 💝