Today I Learned
Sat 12 Nov 2022 10:28:18 PM CET
- that there's an infrastructure for managing pre-commit hooks:
https://pre-commit.com/
- that SID chip had built-in State Variable Filter out of MOS gates
Sun Apr 13 08:13:09 AM CEST 2025
- two and a half years have gone by like nothing
- AI: I wanted Cursor to make me a Raspberry Pi Pico project that would list
files on an SD card wtih file system. It was trying to get the libraries and
CMakeFiles right for about 20 minutes, then it gave up and started writing
the FAT library from scratch. We've all been there...
- On Raspberry Pi Pico: printf() doesn't call/link _write, fprintf(stdout, ...)
does link _write ... This rabbit-hole is too deep, I must resist and
continue with a workaround, otherwise I'll loose momentum.
- I have all the parts:
- FatFS library for Raspberry Pi Pico
- Pico-PIO-USB Host library for keyboard
- VGA library for 2bpp terminal
- RunCPM running outside Arduino.
So I put FatFS on SD and RunCPM together - works. I added USB Host library
and the USB host does nothing. Not sure how to debug it since tinyusb is
more of a frameworkish endeavor that calls you, which sucks. I'm slowly
morphing the RunCPM program into the demo program for USB Host waiting for
it to start working at some point. It didn't so far. Find 5 differences.
Mon Apr 14 07:51:32 AM CEST 2025
- Turns out Pico-PIO-USB had moved in the meanwhile between I set up the demo
project and I tried to use it in the final project: the introduced changes
just broke the support for Pico1 somehow.
- TIL: https://docs.rs/tokio/latest/tokio/macro.select.html#fairness
Implementing priorities with biased select
Sun Apr 20 07:51:08 AM CEST 2025
- Fuzix for RPI Pico has rather simple user-memory layout:
#define PROGSIZE (65536 - UDATA_SIZE)
extern uint8_t progbase[USERMEM];
This, PIE ARM executable and a SWI handler in assembly make the core of the
operating system - the rest is user program with CMakefiles.