On most platforms you could just use the arraybuffer from graphics (it'll be allocated as a flat string of data if possible). There's just code in there to deal with the case where it can't be and has to be fragmented.
To be honest if you could write the SPI data out in one big buffer then you could change the JS driver, and with software SPI you'd still be looking at a pretty fast refresh speed. Faster than the display can handle anyway.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
On most platforms you could just use the arraybuffer from graphics (it'll be allocated as a flat string of data if possible). There's just code in there to deal with the case where it can't be and has to be fragmented.
To be honest if you could write the SPI data out in one big buffer then you could change the JS driver, and with software SPI you'd still be looking at a pretty fast refresh speed. Faster than the display can handle anyway.