Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ aedemul(4) — AOS 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

aedjournal(1)

aedrunner(1)

intro(3G)

bus(4)

ibmaed(4)

tty(4)

aedtest(8)

AEDEMUL(4)  —  

NAME

aedemul − graphics interfaces for the IBM Academic Information Systems experimental display

SYNOPSIS

pseudo-device aed

DESCRIPTION

Aedemul supplies a graphics interface used by aedlib (see intro(3)).  Direct user access can be obtained by the following code:

#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/aedioctl.h>
#include <machinecons/screen_conf.h>
 main()
{
int fd, output_emul, bus;

fd = open ("/dev/aed", O_RDWR); /∗ get a file descriptor ∗/
input_emul = E_AED;
ioctl (fd, EOSETD, &output_emul);/∗ change to aed emulator ∗/
bus = open("/dev/bus",O_RDWR);/∗ get bus access ∗/
 /∗  rest of program here ∗/
}

Once the above is done, the following system calls are supported by /dev/aed:

closeTerminates a process’s read/write access to the display’s shared RAM and reinstates glass tty mode. 

readAllows read access to the display’s control store. 

writeAllows write access to the display’s control store. 

ioctl(Ioctl’s defined in <sys/aedioctl.h>)  AEDSEM_WHILE, AEDSEM_UNTIL, AEDSEM_SET_WAIT all poll the semaphore, waiting for an event. A specified number of polls occurs before the call returns with a failing (-1) return code.  You may alter the default of 250 polls by issuing a AEDSEM_TIMEOUT request.  It is often advisable to reissue the failed call later, allowing the display a little more time.  It is up to the programmer to decide how many tries make sense before the display can be assumed to be hung.  The following requests are supported:
 

IOCINFOReturns device information.
 IOCTYPEReturns device type.
 AEDGET_SRAM_LOC
Reports address of display-shared RAM.
 AEDRESETResets the display. The display processor is halted and the program
counter is set to 0.
 AEDSEM_READReads the display semaphore.
 AEDSEM_SETSets display semaphore to a specified value.
 AEDSEM_SET_WAITSets display semaphore to a specified value and waits for it to
change, then returns the new value.
 AEDSEM_WHILEPolls display semaphore until it is no longer equal to a specified
value.
 AEDSEM_UNTILPolls display semaphore until it is equal to a specified value.
 AEDSEM_TIMEOUTSets the timeout interval.  The default is 250 polls.  See
AEDSEM_WHILE, AEDSEM_UNTIL, AEDSEM_SET_WAIT.
A request to set the timeout to zero returns the current
timeout value, leaving it unaffected.
 AEDSTARTResumes display microprogram execution.
 AED_BEEPCauses an audible beep.
 AED_LEDSWrites a value to the system-unit LEDs.  The number written must be a
hex number with both digits less than A.  For
example, “0x34” displays “34”, but “0x4F” behaves
unpredictably.  Remember, the system updates the LEDs
frequently, so if you want to see your numbers, write them often.
 AEDDELAYDoes an I/O delay, using the planar I/O delay register.
 AEDSTATEReturns an integer indicating the state of the display.
 AEDSTOPStops display microprogram execution.

FILES

/dev/console
/dev/aed

SEE ALSO

aedjournal(1), aedrunner(1), intro(3G), bus(4), ibmaed(4), tty(4), aedtest(8)
“IBM/4.3 Console Emulators”, in Volume II, Supplementary Documents

BUGS

The emulator is valid only for the IBM Academic Information Systems experimental display, not for the other supported apa devices. 
 
 

PRPQs 5799-WZQ/5799-PFF: IBM/4.3  —  July 1987

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