® Model 801GC-ISA & 801GF-ISA ISA Video Generator Programmer’s Manual How you can control your ISA Generator Are you running under Microsoft Windows®? We provide a full graphics user interface that runs under Microsoft Windows®. You can use a mouse to easily point and click your way through the set-up and operation of the generator. We also supply a Dynamic Link Library (DLL) file for use by other software packages that run under Windows, such as Visual Basic.
Using the Windows Compatible User Interface The Windows version of our user interface is the preferred method of operating and programming the ISA generator. It allows you to quickly set-up signal formats, custom test images and sequences without having to learn programming commands. When editing, you first use a mouse to point and click on what you want to change. You then use the mouse to select a new setting from a list or use the keyboard to enter a new numeric entry.
Using the MS-DOS Compatible “Send” Program The “Send” utility program lets you send a command file to your ISA generator. A command file can contain any number of commands. Before using the program, you should copy it to your computer’s hard disk or onto another floppy. The original should be kept as a back-up copy and not be used for day to day operation. The name of the program is SEND.EXE and it does not need any other support files to run.
Using Our Dynamic Link Library (DLL) in Your Own Programs Accessing The Dynamic Link Libraries - DLLs A Dynamic Link Library (DLL) is a collection of functions your program can link with dynamically. Quantum Data has created several functions in a DLL called HIA.DLL to assist you with your custom programs. • Open Port - This external function is called to open an ISA port to allow communication between the PC and the ISA generator.
PortType as Integer ‘0-None, 1-ISA, 2-Com Port PortNum as Integer ‘0-7 ISA, 1-4 Com Baud as Integer ‘Baud Rate for Com port 300, 600, 1200, 2400, 4800, 9600, 12800, 38400 Parity as Integer ‘Parity 0 = None(N), 1=Even(E), 2=Odd(O) Data_Bits as Integer ‘The number of data bits for the com port 7 or 8 Stop_Bits as Integer ‘The number of stop bits for the com port 1 or 2 Handshake as Integer ‘Handshaking for the com port 0=None(N), 1=Software(S) (RTS/CTS), 2=Hardware(H) (Xon/Xoff) Protocol as Inte
‘Access the DLL routine to open the port Answer = port_open(PortSpec, comm_data) PortConnect_Error (Answer) If Answer = PORT_OK then Connected = True Else Connected = False End If End Sub Port Command Declare Function port_command Lib “hia.dll” (Comm_Data as COMM_DATA_TYPE, ByVal cmd as String, ByVal response as String) as Integer Port command is designed to download any of the commands or queries used to communicate with the ISA generator.
Board Init Declare Function board_init Lib “hia.dll” (Comm_Data as COMM_DATA_TYPE, ByVal cmd as String, ByVal response as String) as Integer Board Init returns the ISA generator to all factory default settings. ALL user-created data stored in non-volatile memory is erased and a self calibration cycle is performed. This command may take a little longer to complete than the other commands, please be patient.
Appendix A: Sample Command Files The listing below shows a typical series of commands you would need to send to the ISA generator to create and store an analog video format. All the command lines shown could be entered, one at a time, using the Terminal utility program. The commands could also be put into a file using an ASCII text editor. The file could then be downloaded to the generator using the Send utility program. fmtn fmtb hrat 31.
Appendix B: Command Language All of the commands you can use with the 801G series of generator firmware are listed in this appendix. They are listed two ways. The “Command and Query Finder” section groups them by function. For Example, all of the commands to change format parameter are listed under one heading. There is also a straight alphabetical listing of all the commands at the end of the appendix. This listing also contains descriptions and expected parameters.
Format Error Checking and Correction These commands and queries can be used to error check and correct Formats stored in the generator’s Format memory or editing register. When editing Formats, always check for errors before saving the final version of your work.
Colors, Fill Patterns and Fonts Avaialble for Custom Image Primitives Available Colors: Note: An image can not have more than 16 different colors in it. Trying to use more than 16 colors will cause unexpected results. Numbers at the end of the color name indicate the intensity level, as a percentage, of the color.
Sequence Parameter Settings These commands and queries are used for creating a new sequence. DNUM SMOD SDLY Display sequence step NUMber Sequence MODe sequence Step DeLaY SEQB SEQE SEQN SEQuence description Begin SEQuence description End SEQuence description New Sequence Memory Management These commands and queries are used to select test images that are drawn on the unit under test. The current version of the firmware does not allow adding user-defined images to the built-in images.
Command Summary in Alphabetical Order ADDR
Limits: Description: 0 to 4,294,967,295 (BASE = 10) -2,147,483,648 to 2,147,483,647 (BASE = -10) 0 to FFFFFFFF (BASE = 16) -80000000 to 7FFFFFFF (BASE = -16) The ADDR command sets the pointer register that is used in connection with the PUTR command and GETR? query. The ADDR? query returns the current contents of the pointer register.ASSC , , ASSC Limits: Description: (floating point accepted) min = 0.000 max = 1.000 The ASSC command sets the analog video calibration (or scaling) factor that is used to adjust the level set by ASSS. Issuing the command with a single factor sets all three analog video channels to the same value. Issuing the command with three factors sets each of the analog video channels to each of the given values.
AVCO Limits: Description: 0 = RGB 1 = RBG 2 = GRB 3 = GBR 4 = BRG 5 = BGR (Normal) R>R B>G G>R R>G G>R B>G B>R R>G B>R G>G G>B B>B R>B G>B R>B (Apple 15" on 13W3) Changes which analog video channel is used for a particular color AVCS Limits: Description: 0 = No subcarrier 1 = NTSC_M 2 = NTSC_443 3 = PAL_BD 4 = PAL_N Analog video color sub-carrier selection (Not used on 801GC or 801GC-ISA) AVPG Limits: Description: 0 = OFF 1 = ON The AVPG command enables
AVSS Limits: Description: > (floating point accepted) min = 0.000 volts max = 0.715 volts The AVSS command sets the maximum peak-to-peak swing for all three analog video channels. The actual peak-to-peak swing of the analog video signals at the output connectors is equal to the product of: AVSS multiplied by AVSC. The AVSS? query returns the current setting of AVSS.
CALL
[ [
[
...[
]...
DCBM Limits: Description: 0=0000 1=0001 2=0010 3=0011 4=0100 5=0101 6=0110 7=0111 8=1000 9=1001 10 = 1 0 10 11 = 1 0 1 1 12 = 1 1 0 0 13 = 1 1 0 1 14 = 1 1 1 0 15 = 1 1 1 1 The DCBM command sets the 4-bit binary bit mask used by the DCEX? query. The DCBM? query returns the current setting of DCBM.
DSCT Limits: Description: 0=none 1=American HDTV ORed 2=American ORed 3=American w/serr 4=American w/serr & eq 5=European HDTV ORed 6=European ORed 7=European w/serr 8=European w/serr & eq 9=American HDTV w/serr 10=American HDTV w/serr & eq 11=European HDTV w/serr 12=European HDTV w/serr & eq 13=Japanese HDTV ORed 14=Japanese HDTV w/serr 15=Japanese HDTV w/serr & eq The DSCT command establishes the type of composite sync that appears at the digital composite sync outputs when digital composi
DVST Limits: Description: 0 = not used 1 = one-bit B/W 2 = two-bit B/W (MDA) 5 = RGB 6 = RGBI (CGA) 7 = RrGgBb (EGA) Must be zero (0) when any analog video type is selected (AVST ? 0). The DVST command establishes the kind of video signal that exits the digital video signal outputs of the generator. The DVST? query returns the current setting of DVST.
FMTD Limits: , -1 thru -24 (EPROM) or 1 thru 300 (RAM) 1 thru 300 (RAM) Description: The FMTD command copies a contiguous range of formats beginning with memory location and continuing thru location to an area of format memory beginning at location . Source and destination areas may overlap, but may not be identical. Locations not overwritten with new data are left unchanged by this command.
FMTL Limits: Description: = a valid MS-DOS filename (8 characters minus any extension) The FMTL command reads the format having a name equal to name from format memory (or EPROM) into the format register. FMTL does not re-configure the signal generating hardware. This feature allows you to work on the contents of any format memory location, while continuing to output a signal based on a previously used format (see FMTU command).
FMTS Description: Saves format back to its original location FMTT? Limits: Query Response: = 1 thru 300 (RAM) or -1 thru -24 (EPROM) 0 if OK number of first error encountered if bad Description: The FMTT? query tests the information in the format memory location for errors. If no errors are found, then FMTT? returns zero.
FRGB , , FRGB Limits: Description: min = 0 max = 255 Temporarily sets foreground to given color levels. Not global and not saved. GAMA Limits: Description: = non-zero value (floating point accepted) The GAMA command establishes the current analog video gamma correction factor. In order to apply any gamma correction to the format, the GAMC parameter must be turned on.
HATI Description: Draws a crosshatch of the given color. The crosshatch forms the given number of boxes in each direction. HATO Description: Draws a crosshatch of the given color. The crosshatch forms the given number of boxes in each direction. HRAT Limits: Description: 8000-100000 (floating point accepted) The HRAT command sets the line frequency. Pixel rate is equal to the product: HTOT times HRAT.
HSPP Limits: Description: 0 = active-low (negative going pulse) 1 = active-high (positive going pulse) The HSPP command establishes the logic sense of the digital horizontal sync outputs. Setting polarity to 1 causes the leading edge of horizontal sync to be a low-to-high transition. Setting polarity to 0 causes the leading edge of horizontal sync to be a high-to-low transition. The HSPP? query returns the current polarity of HSPP.
IMGL Limits: Description: = a valid MS-DOS filename (8 characters minus any extension) The IMGL command reads the image having a name equal to name from memory into the image register. IMGQ? Description: The image pointer query reads in a knob list of images starting at and will read in of image names. Used to read knob lists.
KEYY
OUTG Limits: Description: 0 = OFF 1 = ON The OUTG command gates all video and sync outputs of the generator ON and OFF. Gating the outputs OFF forces all outputs to be turned off. Gating the outputs ON turns on all outputs whose individual gating settings are turned ON. The OUTG? query returns the current status of the outputs of the generator. OVAL [ ] Description: Draws an oval of the given color1, width and height.
RECT [ ] Description: Draws a rectangle of the given color1, width and height. The rectangle’s x,y position is specified at its top left corner. It is drawn as an outline unless a fill pattern is specified. Description: Causes generator to go through its self calibration cycle. SCAL SCAN Limits: Description: 1 = progressive (non-interlace) 2 = interlace The SCAN command establishes the number of fields scanned per frame.
SEQU Description: Command causes sequence in buffer to be used and sequence user interface to appear. If name in buffer is NULL, then the normal user interface is returned. Query returns name of sequence currently being used. SIZE Limits: Description: -32 to -1 or 1 to 32 bits The SIZE command sets the field size (in base 10) used in connection with the GETA, GETR, PUTA, and PUTR commands. If a negative size is specified, then values given (or returned) are sign extended to 32 bits.
TEXT Description: [ ] Draws the given text string of the given color1 and font at the given x,y position. TRIA [ ] Description: Draws a triangle of the given color1. The triangle’s shape and position is defined by the x,y coordinates of its three verticies. It is drawn as an outline unless a fill pattern is specified.
VRES Limits: Description: min = 1 (when SCAN = 1) or 2 (when SCAN = 2) max = the lesser of 1024 or VTOT-1 (when SCAN = 1) or VTOT-3 (when SCAN = 2) Must be an even number when SCAN = 2. The VRES command establishes the number of active lines per frame. The VRES? query returns the current setting of VRES.
VSPW Limits: Description: = The VSPW command establish the width of the vertical sync pulse in lines. If the type specified for the selected sync signal (see SSST, ASCT, DSCT, or DSST commands) is one of the CCIR types, then the actual sync pulse width output by the generator will be 1/2 line shorter than the whole number specified. The VSPW? query returns the current setting of VSPW.
Appendix C: Visual Basic Source Code Listings You can control and program the ISA generator using Visual Basic. The supplied Windows disk includes three files to run a sample Visual Basic application. It does not include the required Visual Basic programming language. You will need to have Visual Basic installed on your computer to run the sample application. The supplied files are called: EXAMPLE.MAK EXAMPLE.FRM HEADER.BAS The sample software puts up a small Window with five buttons in it.
Type COMM_DATA_TYPE portType As Integer PortNum As Integer Baud As Integer Parity As Integer Data_Bits As Integer Stop_Bits As Integer Handshake As Integer 2=Hardware(H)(Xon/Xoff) Protocol As Integer End Type Global Global Global Global Global Global Error ' ' ' ' ' ' ' 0-None, 1-ISA, 2-Com port 0-7 ISA, 1-4 Com port Baud rate for the com port 300, 600 1200, 2400, 4800, 9600, 19200, 38400 Parity for the com port 0=None(N), 1=Even(E), 2=Odd(O) The number of Data Bits for the com port 7 or 8 The number of S
Partial Listing of: EXAMPLE.
End If End Sub Sub cmdInit_Click () Dim MsgBox_Response As Integer MsgBox_Response = MsgBox("Would you like to re-initialize the board? This will erase all custom formats, images and sequences!", MB_ICONSTOP Or MB_YESNO, "Communication Error") If MsgBox_Response = IDYES Then 'Initialize the generator Answer = board_init(comm_data, response) 'Analyze the error value if one occured If Answer <> 0 Then PortConnect_Error (Answer) Else pnlStatus.Caption = "The generator is being initialized. End If Please wait.
PortSpec = "ISA" & comm_data.
Quantum Data Corporation ® Page 40 2111 Big Timber Road Elgin, IL 60123 USA Phone: (847) 888-0450 www.quantumdata.