I decided that we really needed the ability to allocate a lowmem buffer (a buffer in the low 1 MB, so we can pass the address to SEG() and OFFS()) in core C code. It might not be necessary in the long run, but in the short term it should help development along. To use it, #include "core.h" and declare a buffer with __lowmem: static __lowmem char buffer[4096]; Right now the total amount of __lowmem is limited to little over 100K; this is enough to put the cache buffer in (in which case we can immediately remove the cache_buf_seg). In the long run, we want to minimize this as much as is practical, although in the famous words of Albert Einstein: "Make everything as simple as possible, but no simpler." -hpa