STI(4)
π STI(4) β HP Standard Text Interface β¨
okay bestie, so this is sti(4) from the Kernel Interfaces Manual β and no, it's not the other thing, it's the HP Standard Text Interface and honestly it's kind of iconic. π
πΈ NAME πΈ
sti β HP Standard Text Interface
β¨ SYNOPSIS β¨
sti* at mainbus0
sti* at phantomas?
sti* at pci?
wsdisplay* at sti?
π¦ DESCRIPTION π¦
so like. HP made sti to give their 9000/300 and 9000/700 series workstations one uniform way to do frame-buffer access operations. one interface to rule them all, no cap. π
these are the models it supports (tho ngl, not every feature or frame buffer depth might actually be available on every one):
- EVRX β 8 bits, 0.5 MB, no 3D β HP9000/362/382
- EVRX β 8 bits, 0.75 MB, no 3D β HP9000/382
- EVRX β 8 bits, 2 MB, no 3D β HP9000/425e
- GRX β 8g bits, 2 MB, no 3D β SGC
- CRX β 8 bits, 2 MB, no 3D β SGC
- Tomcat β 8 bits, 2 MB, no 3D β SGC
- Stinger β 8 bits, 2 MB, no 3D β HP9000/7[12]5/74[257]i
- Artist β 8 bits, 2 MB, no 3D β HP9000/712/7[12]5/74[38]i
- CRX-24 β 24 bits, 16 MB, no 3D β SGC
- HCRX-8 β 8 bits, 2 MB, no 3D β GSC
- HCRX-24 β 24 bits, 16 MB, no 3D β GSC
- Visualize EG β 16 bits, 2 MB, no 3D β HP B/C-class, GSC/PCI
- Visualize FXE β 24 bits, 24 MB, 3D: y β PCI 32/66
- Visualize FX2 β 24 bits, 24 MB, 3D: y β PCI 64/66
- Visualize FX4/FX6 β 24 bits, 32 MB, 3D: y β PCI 64/66
the implementation is literally a set of functions burnt into the PROM on the card, and those functions give you the following (peep below for the PROM revision history of which functions a particular PROM revision actually supports):
- Initialize graphics.
- State management.
- Print a character onto the screen using currently selected font.
- Copy a region of the frame-buffer to another location.
- Self testing.
- Exception handling.
- Frame-buffer configuration enquiry.
- Setting colour-map entry.
- DMA parameters.
- Flow control.
- User timing.
- Processing management.
- Miscellaneous utility functions.
π«Ά the two access modes π«Ά
there are exactly two modes for accessing the PROM: βbyteβ and βwordβ, and the difference matters, okay?
in βbyteβ mode, each 4-byte word contains only the low-ordered big-endian byte of data β so to compose one word of data you gotta read 4 words and shift the low-ordered bytes of those correspondingly. it's giving "assemble it yourself" energy. π
in βwordβ mode, each word contains all 4 bytes of valid data. luxurious. π
π PROM revision history π
- 8.02
- Original release.
- 8.03
- OSF-extended self test (a.k.a fast).
- Restore display.
- 8.04
- Implement
curr_monfunction. - Graphical boot screen.
- Implement βblock moveβ.
- Implement βset colour-map entryβ.
stiImplement word mode. - Support for multiple monitors.
- Support
user_datastispace usage. - Support for extra memory.
- Support for Windows NT (tm).
- Monitor frequency reference.
- Early console.
- Support added for: PCXL, GSC bus, ROM-less operation.
- Implement
- 8.05
- Interrupt support.
- Report card's power usage.
- Birds of Prey.
- User interrupts.
- 8.06
- Multiple fonts.
- Monitor table descriptor strings.
- PCXL2 and PCXU monitor descriptors.
- 8.08
- HP-UX 10 support for Visualize FX
dma_ctrlfunction added.flow_ctrlfunction added.user_timingfunction added.
- 8.09
- Addition changes for Visualize FX due to rearchitecture for performance.
process_mgrfunction added.
- 8.0a
- PCXL2 and PCXU dual PCI EPROM map mode, implemented on Visualize EG.
- 8.0b
- Support for HP-UX non-implicit locking DMA, implemented on Visualize FXE.
- 8.0c
sti_utilfunction added (flashing under HP-UX and other sideband traffic).
- 8.0d
- Colour frame buffer support.
π SEE ALSO π
intro(4), phantomas(4), wsdisplay(4)
Standard Text Interface For Graphics Devices, Hewlett-Packard, Revision 8.13, March 1, 2000.
πΈ HISTORY πΈ
the sti driver was written by Michael Shalayeff <mickey@openbsd.org> for the HPPA port for OpenBSD 2.7. king behavior honestly πβ¨
π BUGS π
rn, neither scroll back nor screen blanking functions are implemented. so like. no scrolling back to reread the group chat, and no screen blanking. we cope. π
π that's the whole page bestie, every last option and version string accounted for β no cap, fr fr. page came from Debian, dated May 29, 2025, and that's the vibe check, periodt. ππ¦
π¦ where this page comes from
- nixpkgs unstable: netbsd-source 11.0
- Copyright (c) 2001 Michael Shalayeff
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms