This reference lists all 404 words that VIOS accepts, generated from the sources by tools/vios_manual.py words. Kind is how the word is made: primitive (a VM opcode), native (a C function), prelude or colon (defined in Forth; the definition is shown), constant, variable, defer (a replaceable binding), compiler (parsed by the outer interpreter) or command (a line command parsed by the kernel; the rest of the line is its argument). Words marked board do real work only on the board (on the host build they talk to stubs).
Sections: Stack · Arithmetic · Bits and logic · Comparison · Memory and data space · Numbers and BASE · Control flow · Defining words · Extending the compiler · Strings and characters · Output · Input · Inspection and debugging · Engines and benchmarks · System services · Time and interrupts · Display and VDP · Audio · Tasks · Pipes and pipelines · Handles and devices · Files and loading · Modules · Boot slots · GUI: setup and batching · GUI: windows · GUI: surfaces and cells · GUI: commands and menus · GUI: widgets · GUI: text views · GUI: events · GUI: animation · GUI: canvases and icons · GUI: sprites and pointer · GUI: constants · GUI tools · Text workbench
Stack
Moving cells on the data and return stacks.
Arithmetic
Integer arithmetic on cells (24 bits on the board).
Bits and logic
Bitwise operations and shifts.
Comparison
Flags are -1 (true) and 0 (false).
Memory and data space
Fetching, storing and reserving data space.
Numbers and BASE
Number conversion and printing radix.
Control flow
Conditionals, loops and execution tokens.
Defining words
Words that create other words.
Extending the compiler
Compile-time execution, macros and text evaluation.
Strings and characters
String literals, characters and comments.
Output
Printing to the console (or to a task's output).
Input
Reading keys.
Inspection and debugging
Looking inside the running system.
Engines and benchmarks
Choosing and measuring the execution engine.
System services
Replaceable service bindings and system control.
Time and interrupts
Clocks, ticks and the interrupt probe.
Display and VDP
Low-level text and graphics through the VDP.
Audio
The three-voice synthesizer on the ESP32.
Tasks
Background tasks and preemption.
Pipes and pipelines
Connecting tasks through pipes.
Handles and devices
Uniform non-blocking I/O on files, pipes and /dev endpoints.
Files and loading
The SD card, Mac host files and source loading.
Modules
Staged, tested, transactional source modules.
Boot slots
A/B source slots and startup.
GUI: setup and batching
Resetting, configuring and batching display-server operations.
GUI: windows
Opening, placing and managing windows.
GUI: surfaces and cells
Character surfaces that windows show.
GUI: commands and menus
Commands, menus, popups and accelerators.
GUI: widgets
Widgets and their layout.
GUI: text views
Editable text views.
GUI: events
Pulling and decoding display-server events.
GUI: animation
Tweens and their easing.
GUI: canvases and icons
Pixel graphics as display lists the ESP keeps.
GUI: sprites and pointer
Sprites, the arrow and the keyboard pointer.
GUI: constants
Named values for flags, kinds, events and modifiers.
GUI tools
The Browser, Workspace, Inspector and Manager.
Text workbench
The full-screen text workbench and console view.
Index of words
All words in ASCII order:
! ' ( (+LOOP) (DOES>) (EVAL-RETURN) (KEYWORD) (MARKER) )CRITICAL * */ + +! +LOOP , - -ROT . ." .HEX2 .S / /MOD 0< 0= 0> 1+ 1- 2* 2DROP 2DUP 2OVER 2SWAP : ; < <> = > >BODY >R ? ?DO ?DUP @ ABORT ABS AGAIN ALLOT AND BASE BEEP BEGIN BENCH BL BOOT-CONFIRM BOOT-MANIFEST BOOT-REVERT BOOT-STATUS BOOT-TIMES BOOT-TRIAL BOUNDS C! C, C@ CELL+ CELLS CHAR CHAR@ CLOCK-MS CLOSE CLS COLOUR COMPILE, CONSOLE-EMIT CONSOLE-KEY CONSOLE-WRITE CONSTANT COUNT CR CREATE CRITICAL( DECIMAL DEFER DEPTH DEVICE DIR DISPLAY-WRITE DO DOES> DROP DUMP DUP ELSE EMIT ENGINE ERASE EVALUATE EXECUTE EXIT FALSE FILE-READ FILE-REMOVE FILE-WRITE FILL FIND FRAME-WAIT FS-ERROR FS-READ FS-WRITE HANDLE-GET HANDLE-PUT HANDLES HERE HEX I IF IMMEDIATE INCLUDE INVERT IRQ-PROBE IRQ-STATS IS J KEY LAST-ERROR LEAVE LITERAL LOAD LOOP LSHIFT MARKER MAX MILLIS MILLIS2 MIN MOD MODE MODULE-ACTIVATE MODULE-BEGIN MODULE-DATA MODULE-DEP MODULE-DISCARD MODULE-LOAD MODULE-ROLLBACK MODULE-SOURCE MODULE-STAGE MODULES MOVE MS NEGATE NIP OPEN OR OVER PAUSE PIPE PIPELINE PIXEL@ PL-R PL-W PLAY PLOT POSTPONE PREEMPT PREEMPT-STATS R> R@ READ READ-WAIT REBOOT RECURSE REPEAT RESOURCES ROT RSHIFT S" SAVE SD-MOUNT SEE SOUND? SPACE SPACES SPAWN SPAWN-CON STATE STOP SWAP SYNC TASK-INPUT TASK-KILL TASK-OUT TASK-OUTPUT TASK-SLICE TASK-STATE TASKS THEN TICKS TIMER@ TONE TOOL TRACE TRUE TUCK TUNE TYPE U. U< U> UI-ACTIVE UI-ALT UI-ANIMATE UI-ARROW UI-BAR UI-BEGIN UI-BITMAP UI-BITS UI-BOX UI-BUTTON UI-CANVAS UI-CANVAS-AT UI-CANVAS-FLAGS UI-CARET UI-CH UI-CH-BUF UI-CHECK UI-CHECKED UI-CLIENT UI-CLOSE UI-COLUMN UI-COLUMNS UI-COMMAND UI-COMMIT UI-CTRL UI-CURSOR UI-CV-CLEAR UI-CV-VISIBLE UI-DECOR UI-DISABLED UI-DISC UI-DOT UI-ENABLED UI-ERASE UI-EV-ACTIVATE UI-EV-ANIMDONE UI-EV-CANVAS UI-EV-CHANGE UI-EV-COMMAND UI-EV-ERROR UI-EV-EXPAND UI-EV-FOCUS UI-EV-OVERFLOW UI-EV-PAGE UI-EV-POINTER UI-EV-SELECT UI-EV-TEXT UI-EV-WIN UI-EVENT UI-FILL UI-FLAGS UI-FOCUS UI-FREE-X UI-HIDDEN UI-ICON UI-ICON-DISK UI-ICON-DOCUMENT UI-ICON-ERROR UI-ICON-FOLDER UI-ICON-INFO UI-ICON-MODULE UI-ICON-WARNING UI-ICON-WORD UI-IN-OUT UI-INK UI-INPUT UI-INSERT UI-ITEM UI-ITEMS UI-KEYS UI-LABEL UI-LAYOUT UI-LINE UI-LINEAR UI-LIST UI-MENU UI-MODAL UI-NEXT UI-NONE UI-NUDGE UI-OUT UI-OVAL UI-PAGER UI-PEN UI-PIXELS UI-PLACE UI-POINTER UI-POPUP UI-PRINT UI-PROGRESS UI-RADIO UI-RAISE UI-RAW UI-READONLY UI-RECT UI-RESET UI-ROW UI-ROW+ UI-SCROLL UI-SCROLL-COL UI-SCROLL-ROW UI-SELECT UI-SEPARATOR UI-SHADOW UI-SHAPE UI-SHIFT UI-SNAP UI-SNAPSHOT UI-SPRING UI-SPRITE UI-SPRITE-AT UI-SPRITE-SHOW UI-STATE UI-STATUS UI-STIPPLE UI-STOP UI-STYLE UI-SUBMENU UI-SURFACE UI-SYNC UI-TABS UI-TEXT UI-TEXT+ UI-TEXT@ UI-TEXTVIEW UI-TITLE UI-TREE UI-TWEEN-CANVAS UI-TWEEN-SPRITE UI-TWEEN-WINDOW UI-TYPE UI-VIEW UI-VISIBLE UI-WDELETE UI-WF-FILL UI-WFOCUS UI-WGET UI-WIDGET UI-WINDOW UI-WIPE UI-WNAME UI-WSIZE UI-WSTYLE UI-WTEXT UI-WVALUE UI-X UI-Y UNLOOP UNTIL VARIABLE VDP-INFO VDU VOLUME VTYPE WB-ACTIVATE WB-BROWSE WB-CLOSE WB-COMPOSE WB-CONSOLE WB-CONSOLE-CLEAR WB-CONSOLE? WB-EDIT WB-FLUSH WB-FLUSH-FENCED WB-KEY WB-META WB-NEW WB-OPEN WB-PAINT WB-PAINT-DEFAULT WB-PATCH WB-REDRAW WB-RENDER-STATS WB-REPAINT WB-SAVE WB-SAVE-DEFAULT WB-SELECT WB-SOURCE WB-STAGE WB-STATUS WB-UNDO WB-VIEW WB-ZOOM WB-ZOOM? WHILE WITHIN WORDS WRITE WRITE-ALL XOR [ ['] [CHAR] \ ]