Some subsystems (and in the case of KEY and EMIT, the core) re-
quire drivers to implement certain words in a certain way. For
example, the core requires drivers to implement (key?) and
(emit) or else it won't know how to provide a console.
These protocols are described here.
(key?) -- c? f Returns whether a key has been pressed and,
if it has, returns which key. When f is
false, c is *not* placed in the stack.
(emit) c -- Spit a character on the console.
This protocol enables communication with a device that spits
(ps2kc) -- kc Returns the next typed PS/2 keycode from the
console. 0 if nothing was typed.
SPI Relay protocol
This protocol enables communication with a SPI relay. This
protocol is designed to support devices with multiple endpoints.
To that end, (spie) takes a device ID argument, with a meaning
that is up to the device itself. To disable all devices, supply
0 to (spie).
We expect relay devices to support only one enabled device at
once. Enabling a specific device is expected to disable the
previously enabled one.
(spie) n -- Enable SPI device
(spix) n -- n Perform SPI exchange (push a number, get a
This page generated at 2021-09-19 21:05:03 from documentation in CollapseOS snapshot 20210917.