|
|
1.1 ! root 1: .\"$Header: ibmaed.4,v 10.1 86/11/19 10:55:57 jg Exp $ ! 2: .\"$Source: /u1/X/libibm/doc/man/RCS/ibmaed.4,v $ ! 3: .\ This file uses -man macros. ! 4: .TH IBMAED 4 "31 Mar 1986" "Space overwritten by .AC macro" " " ! 5: .UC 4 ! 6: .AC 1 0 ! 7: .SH NAME ! 8: ibmaed, aed \- IBM Academic Information Systems experimental display interface ! 9: .SH SYNOPSIS ! 10: .B "pseudo-device aed" ! 11: .SH DESCRIPTION ! 12: The IBM Academic Information Systems ! 13: experimental display is a black-and-white, ! 14: all-points-addressable, bit-mapped display with 812,900 ! 15: points on the screen. ! 16: It is driven by an adapter with an on-board processor. ! 17: The processor executes a microprogram loaded by the host ! 18: into the display's control store. ! 19: The microprogram controls the ! 20: interface between host and display. ! 21: The host communicates with the microprogram ! 22: through an area of read/write shared RAM. This memory ! 23: starts at address 0xf40a4000 and is organized as 4K ! 24: of 8-bit bytes. ! 25: .PP ! 26: On system startup, the display driver loads the control store ! 27: with a default microprogram that is part of the driver's initialized ! 28: data area. ! 29: The display operates in glass tty mode (the default) ! 30: and window-manager mode: ! 31: .IP - ! 32: In glass tty mode, the display serves ! 33: as the default display device for \fI/dev/console\fR. ! 34: Kernel printfs and characters written to \fI/dev/console\fR ! 35: are written to this display. ! 36: Default mode is in effect when the microprogram starts. ! 37: .IP - ! 38: In window-manager mode, a user-level process, ! 39: such as a window manager, can load its own microprogram ! 40: into the display's control store, and read or write to ! 41: the display's communications memory. ! 42: When a process opens \fI/dev/aed\fR, the kernel switches ! 43: console output to another display device, if available, or buffers the ! 44: output until later (see ! 45: .IR cons (4)). ! 46: At this point, ! 47: the control memory and communications memory ! 48: are available for manipulation by the user process. ! 49: Glass tty mode is reentered when \fI/dev/aed\fR is closed. ! 50: .PP ! 51: The following system calls are supported by \fI/dev/aed\fR: ! 52: .ft B ! 53: .IP "open" 8 ! 54: .ft R ! 55: Initiates window-manager mode. ! 56: Only one process can open \fI/dev/aed\fR. ! 57: All file descriptors must be closed before another open is allowed. ! 58: The process and its children that have file descriptors open ! 59: to \fI/dev/aed\fR have direct access to the display's shared RAM, until an ! 60: .IR execve (2) ! 61: system call is completed. ! 62: .ft B ! 63: .IP "close" ! 64: .ft R ! 65: Terminates a process's read/write access to the display's ! 66: shared RAM. ! 67: The last close to \fI/dev/aed\fR ends window-manager mode and reinstates ! 68: glass tty mode. ! 69: .ft B ! 70: .IP "read" ! 71: .ft R ! 72: Allows read access to the display's control store. ! 73: .ft B ! 74: .IP "write" ! 75: .ft R ! 76: Allows write access to the display's control store. ! 77: .ft B ! 78: .IP "ioctl" ! 79: .ft R ! 80: (Ioctl's defined in <\fIsys/aedioctl.h\fR>) AEDSEM_WHILE, ! 81: AEDSEM_UNTIL, AEDSEM_SET_WAIT all poll the semaphore, ! 82: waiting for ! 83: an event. A specified number of polls occurs before the call returns ! 84: with a failing (-1) return code. You may alter the default of 250 polls by ! 85: issuing a AEDSEM_TIMEOUT request. It is often advisable to reissue the failed ! 86: call later, allowing the display a little more time. It is up to ! 87: the programmer to decide how many tries make sense before the display can be ! 88: assumed to be hung. ! 89: The following requests are supported: ! 90: .IP ! 91: IOCINFO Returns device information. ! 92: .IP ! 93: IOCTYPE Returns device type. ! 94: .IP ! 95: AEDGET_SRAM_LOC Reports address of display-shared RAM. ! 96: .IP ! 97: AEDRESET Resets the display. The display processor is ! 98: .br ! 99: halted and the program counter is set to 0. ! 100: .IP ! 101: AEDSEM_READ Reads the display semaphore. ! 102: .IP ! 103: AEDSEM_SET Sets display semaphore to a specified value. ! 104: .IP ! 105: AEDSEM_SET_WAIT Sets display semaphore to a specified value and waits ! 106: .br ! 107: for it to change, then returns the new value. ! 108: .IP ! 109: AEDSEM_WHILE Polls display semaphore until it is no longer equal to ! 110: .br ! 111: a specified value. ! 112: .IP ! 113: AEDSEM_UNTIL Polls display semaphore until it is equal to a specified ! 114: .br ! 115: value. ! 116: .IP ! 117: AEDSEM_TIMEOUT Sets the timeout interval. The default is 250 polls. ! 118: .br ! 119: See AEDSEM_WHILE, AEDSEM_UNTIL, AEDSEM_SET_WAIT. ! 120: .br ! 121: A request to set the timeout to zero returns the current ! 122: .br ! 123: timeou
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.