Native API reference
Calling contracts for the services used by built-in native applications.
Version and calling convention
The native file/task/pipe API has build version 2. Native ROM modules use module ABI 3. These are not POSIX interfaces or stable numeric addresses across releases. This reference applies to the specific 0.6 image identified on the validation page.
Calls use PDP-11 JSR PC,@#entry and RTS PC. This public contract describes services; it does not publish the operating-system implementation or supply a loader for external native machine-code files. Built-in native extensions require integration into a new private firmware build.
Routine summary
| Routine | Group | 0.6 entry address |
|---|---|---|
| block_io | blocks | 0x0FE0 |
| file_abort | files | 0x190E |
| file_close | files | 0x191E |
| file_open | files | 0x1630 |
| file_read | files | 0x17EE |
| file_write | files | 0x1878 |
| pipe_close_read | pipes | 0x250C |
| pipe_close_write | pipes | 0x2534 |
| pipe_read | pipes | 0x24A4 |
| pipe_write | pipes | 0x243A |
| task_beep | tasks | 0x2384 |
| task_data | tasks | 0x232C |
| task_exit | tasks | 0x22FC |
| task_self | tasks | 0x2326 |
| task_sleep | tasks | 0x21F8 |
| task_spawn | tasks | 0x2236 |
| task_yield | tasks | 0x20C2 |
Ownership and pointers
Only shell/foreground owners use regular-file services. A task calling native routines must supply valid RAM pointers and preserve its own state across yields. There is no MMU to protect invalid caller buffers. Native blocking routines are not ISR-safe.