Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bufemul(4) — AOS 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cons(4)

ibmemul(4)

kbdemul(4)

stdemul(4)

xemul(4)

BUFEMUL(4)  —  

NAME

bufemul − kernel buffering emulator

DESCRIPTION

Bufemul is used to handle standard tty-type output to a display currently being used for graphics.  Bufemul puts this output into a circular buffer which is sent to the display after it has been closed.  Opening /dev/aed, /dev/apa16, /dev/apa8c, /dev/apa8, /dev/ega, /dev/mono, /dev/vga, /dev/ibm8514, or /dev/mpel automatically selects this emulator. 

Bufemul supplies the following ioctls define in <machinecons/bufemul.h>:

BUFSETWIND Set the 128K window on the IBM 6152 Academic System.  See the IBM 6152 Academic System Technical Reference.  Arg points to a 24-bit PC memory address.  Only addresses used by the VGA display are valid.  (IBM 6152 Academic System only)

BUFINITVGA Initialize the VGA to one of its modes.  Arg is the desired mode.  See vga(4) and <machinecons/vgaio.h>.  (IBM 6152 Academic System only)

BUFINIT8514 Initialize the 8514 to advanced function mode.  No arguments are passed. (IBM 6152 Academic System only)

BUFSETSAVE Returns the current save state for the screen.  (IBM 6152 Academic System only)

BUFRESTOREDONE
Tells the emulator that the screen has been successfully restored. (IBM 6152 Academic System only)

BUFSAVEDONE Tells the emulator that the screen has been successfully saved.  (IBM 6152 Academic System only)

BUFSAVEWAIT Tells the emulator that the screen has been successfully saved.  The emulator will put the process to sleep.  When the process wakes up, it may restore the screen.  (IBM 6152 Academic System only)

Saving and Restoring the Screen on the 6152

The 6152 expects user clients to be able to save and restore their displays on command when using buf_emul.  To signal the desire to save the screen, buf_emul issues a SIGRETRACT (SIGEMT).  If the client does not trap the signal, it is killed.  The client is then expected to save the screen and issue a BUFSAVEDONE or a BUFSAVEWAIT.  When a BUFSAVEWAIT is issued, buf_emul will put the process to sleep until it wants the client to restore the screen.  When the client is restarted, it is expected to restore the screen and issue a BUFRESTOREDONE.  If a BUFSAVEDONE is issued, buf_emul will return immediately.  The client is forbidden to write to the display hardware until buf_emul sends a SIGGRANT (SIGUSR2).  The client can then restore the screen and issue a BUFRESTOREDONE. 

FILES

For the IBM RT PC:
/dev/aed
/dev/apa16
/dev/apa8c
/dev/apa8
/dev/ega
/dev/mono
/dev/mpel

For the IBM 6152 Academic System:
/dev/vga
/dev/ibm8514

SEE ALSO

cons(4), ibmemul(4), kbdemul(4), stdemul(4), xemul(4)
“IBM/4.3 Console Emulators”, in Volume II, Supplementary Documents
 
 
 

PRPQs 5799-WZQ/5799-PFF: IBM/4.3  —  Sept 1988

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026