STI(4)

πŸ“¦
version 11.0 Β· 2 versions
, in nixpkgs unstable

πŸ’… 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_mon function.
    • Graphical boot screen.
    • Implement β€œblock move”.
    • Implement β€œset colour-map entry”. sti Implement word mode.
    • Support for multiple monitors.
    • Support user_data sti space usage.
    • Support for extra memory.
    • Support for Windows NT (tm).
    • Monitor frequency reference.
    • Early console.
    • Support added for: PCXL, GSC bus, ROM-less operation.
  • 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_ctrl function added.
    • flow_ctrl function added.
    • user_timing function added.
  • 8.09
    • Addition changes for Visualize FX due to rearchitecture for performance.
    • process_mgr function 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_util function 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