0 Change Device This command may be used to change the active device type. When this command is selected the user is prompted with a menu of all the manufacturers currently supported by PC-UPROG. The user may select the manufacturer by entering the number corresponding to that manufacturer and pressing ENTER. The user will then be prompted with a menu of all the devices currently supported for that manufacturer. Select the device by entering the number corresponding to that device and pressing ENTER. The device menu may occupy more than one page. In this case, use the PgUp, PgDn, End, and Home keys to navigate through the menu. When the device type is changed, the active memory buffer area is automatically changed to accommodate larger or smaller devices as necessary; however, data previously stored in the memory buffer remains unchanged until either a device is read, or data is read from the disk. Pressing the Escape key 'ESC', at any time during the select device phase will return the user to the previous menu without affecting the currently selected device. 1 Read Device This command reads the contents of the socketed device into the memory buffer. Note that after data has been read into memory, the same size or smaller device type may be selected without altering any data stored. Pressing ENTER, at 'Read device' selection, or 'R' will begin the read operation. During read operation it will display the complete rate of device been readed. If the operation is successful, the "DEVICE READ OK" message will be displayed, otherwise the appropriate error message will be displayed. WARNING: Do not remove device until operation is complete, for it may damage device. After executing the initial read cycle, PC-UPROG may perform an additional verify, depending on 'Verify passes' option. NOTE: See 'Device options' command for setting programming options. 2 Program Device This command programs the socketed device with the contents of memory buffer. Pressing ENTER, at 'Program device' selection, or 'P' will begin the program operation. During program operation the counter will display the complete rate of the device been programmed. If the operation is successful, the "DEVICE PROGRAMMED OK" message will be displayed, otherwise the error message will be displayed. WARNING: Do not remove device until operation is complete, for it may damage device. The device will first be checked for erasure (Blank check). If the device is EEPROM based, then an erase cycle will be automatically executed. If the device is not erased, and does not have an EEPROM cell, PC-UPROG will prompt "Device is not blank, continue programming (Y/N): [N]". Entering 'Y' will over-program the device. The device will be programmed using the algorithm defined by the manufacturer. Intelligent TM, SNAP TM, Rapid TM, Quickpulse TM, Quickpro TM, Page Mode TM and all other fast programming methods are used to keep the programming time to a minimum. The programming algorithm used is automatically determined by the manufacturer/device been chosen. Most devices will be verified after programming each byte, however, PC-UPROG will perform an additional verify to confirm proper programming. If any errors are detected, they will be reported and the process will be aborted. After verification, if the 'Program security fuse' option equals (Y)es, or (A)uto the security fuse of the device will be set (the 'Program security fuse' option is only available for devices with a security fuse). If option equals (Y)es means with reconform befor program, and if option equals (A)uto means without reconform. NOTE: See 'Device options' command for setting programming options. 3 Verify Device This command verifies that the contents of the socketed device is the same as contents of memory buffer. Pressing ENTER, at 'Verify device' selection, or 'V' will begin the verify operation during verfying the PC-UPROG will display the complete rate of device been verifyed. If the operation is successful, the "DEVICE VERIFIED OK" message will be displayed, otherwise the error message will be displayed, for memory device it will display the 1st. difference of memory buffer and device data. WARNING: Do not remove device until operation is complete, for it may damage device. 4 Blankcheck device This command verifies that the socketed device is has not been programmed. Pressing ENTER, at 'Blankcheck' selection, or 'B' will begin the blankcheck operation during blankchecking the PC-UPROG will display the complete rate of device been blankchecked. If the operation is successful, the "DEVICE BLANKCHECKED OK" message will be displayed, otherwise the appropriate error message will be displayed. NOTE: Some devices (27CX321/2, 27CX161, 27HC641,...etc) have no defined unprogrammed state (unprogrammed fuses are floating), in which case, the blank check will always fail. WARNING: Do not remove device until operation is complete, for it may damage device. 5 Edit data (logic) This command allows the user to examine and/or modify the contents of the JEDEC fusemap buffer. Pressing ENTER, at 'Edit data' selection, or 'E' will bring you to the JEDEC fusemap editor. 6  By using the cursor keys any fuse may be pointed to and changed if desired. Cursor control LeftArrow moves cursor left one column. RightArrow moves cursor right one column. UpArrow moves cursor up one row. DownArrow moves cursor down one row. PgUp moves cursor up one page. PgDn moves cursor down one page. Home moves cursor to beginning of page. End moves cursor to end of page. CtrlHome moves cursor to beginning of buffer. CtrlEnd moves cursor to end of buffer. Function keys F3:Goto goes to any JEDEC address in the fusemap buffer. F5:Fill fills a range of the fusemap buffer with the fuse blown character (-) or fuse not blown character (X). Some devices have fuse arrays greater than 80 character and therefore can not be displayed on one screen. The following commands only apply to these devices. CtrlLeft Shifts the fusemap buffer screen left one column. CtrlRight Shifts the fusemap buffer screen right one column. 7 Edit data (memory) This command allows the user to examine and/or modify the contents of the memory buffer. Pressing ENTER, at 'Edit data' selection, or 'E' will bring you to the memory editor. 8  By using the cursor keys any fuse may be pointed to and changed if desired. Cursor control LeftArrow moves cursor left one column. RightArrow moves cursor right one column. UpArrow moves cursor up one row. DownArrow moves cursor down one row. PgUp moves cursor up one page. PgDn moves cursor down one page. Home moves cursor to beginning of page. End moves cursor to end of page. CtrlHome moves cursor to beginning of buffer. CtrlEnd moves cursor to end of buffer. Function keys TAB toggles between ASCII and HEX edit modes. F3:Goto goes to any address in the memory buffer. F4:Search this is an ASCII string search and may be used to find any ASCII string in the memory buffer. F5:Fill fills a range of the memory buffer with an ASCII character or HEX digit. F6:Complement performs one's complement on a range of the memory buffer. F7:Copy copies a block of the memory buffer to a new address. F8:Checksum calculates the checksum of a block of the memory buffer. 9 Modify Vectors Allows the user to edit or create functional test vectors, which will be used by 'Functional test' command to verify that device operates as designed. If test vectors are defined in JEDEC file, they will be automatically loaded when the fusemap is loaded. The test vectors can be created by ABEL, PALASM, CUPL or other PLD development system. NOTE: Up to 500 test vectors may be loaded or created. Pressing ENTER, at 'Modify vector' selection, or 'M' will bring you to the vector editor. 10  The vector buffer is arranged in rows (corresponding to vector number) and columns (corresponding to pin number). Each vector consists of the test condition codes for each pin of the device. The valid test condition codes are: 0 Drive input low. 1 Drive input high. C Drive input low, high, low. F Float input or output. H Test output high. K Drive input high, low, high. L Test output low. N Power pins and outputs not tested. X Output not tested, input default level. Z Test input or output for high impedance. Vector Editor Commands & Cursor Control Keys F3:Goto goes to any vector in vector buffer. LeftArrow next pin. RightArrow previous pin. DownArrow next vector. UpArrow previous vector. PgUp moves cursor up one page. PgDn moves cursor down one page. Home moves cursor to beginning of page. End moves cursor to end of page. CtrlHome moves cursor to beginning of buffer. CtrlEnd moves cursor to end of buffer. 11 Functional Test This command is used to execute the functional test vectors to determine if the device will operate according to the design. Pressing ENTER, at 'Functional test' selection, or 'F' will begin the functional test operation. If the device passes the functional test, the "OPERATION PASSED." message will appear. Otherwise, an error message will be displayed indicating the vector number and pin number where the error occurred. The functional test operation has 3 passes for each vector. Pass 1 sets up all input pins. Any 0, 1, or X levels are presented to the device. All device outputs are set to read mode. PC-UPROG has a special method for handling the 'X' (don't care) level, which is incompletely defined in the JEDEC specification and often is a cause of vector test failures in other systems. Pass 2 applies any clocks to the device. The vector is scanned from lowest pin to highest pin, and the clocks are output in that order. If a multiple clock device requires a controlled sequence of clocks, then there should be a separate vector for each clock. It is impossible for a universal programmer like PC-UPROG to generate simultaneous clocks on 2 pins. There will always be a time spacing between multiple clocks in a test vector. Note that the 'C' clock is normally low, and the 'K' clock is normally high. Pass 3 verifies the outputs of the device against the test vector. If there are no errors, the next vector is processed. Pins defined as 'X' in the vectors are set as inputs to '0' unless the pin is determined to be an unused output, in which case it is floated. High impedance outputs are tested for incorrect '0' conditions, but not for low impedance '1' conditions. Test simulation can also be used to verify a device after the fuse has been programmed, (note that AMD PALCE family devices disable preload when security is set). 12 Input From Disk (logic devices) This command loads the data from the selected file into the fusemap buffer. The file to be loaded must be in the standard JEDEC format. The JEDEC file is generated by any PLD development system, for example PALASM, ABEL, CUPL, AMAZE, etc. The file contains all the data necessary to program the device for the desired function. If the data file contains test vectors, then these will be stored in a separate buffer for use by the 'Modify vectors' and 'Functional test' commands. Up to 500 vectors may be loaded. Filename - this is the drive/path/filename of the file to be loaded. Entering DOS wildcard characters will cause a directory listing to be displayed allowing the user to select the file to be loaded. For example, entering *.JED will cause all files with the extension .JED to be displayed. After the filename is entered, the ENTER key may be pressed to begin the read operation. If the operation is successful, the "OPERATION COMPLETE." message will be displayed. 13 Output To Disk (logic devices) This command writes the fuse pattern and test vectors to disk, using standard JEDEC format. Filename - this is the drive/path/filename of the file to write data to. Entering DOS wildcard characters will cause a directory listing to be displayed allowing the user to select the file to write to. For example, entering *.JED will cause all files with the extension .JED to be displayed. After the filename is entered, the ENTER key may be pressed to begin the write operation. If the operation is successful, the "OPERATION COMPLETE." message will be displayed. 14 Input From Disk (memory devices) This command loads the data from the selected file into the memory buffer. The file to be loaded must conform to one of the file formats supported by PC-UPROG. I/O translation format - specifies the format of the file to be loaded. The currently supported file formats are: MOS Technology, Intel Hex, Motorola S (for input file the format can be S0, S1, S2, S3,...,S9), Tektronic Hex, HP64000ABS, Binary and Intel Ext. Hex. Filename - this is the drive/path/filename of the file to be loaded. Entering DOS wildcard characters will cause a directory listing to be displayed allowing the user to select the file to be loaded. For example, entering *.MOS will cause all files with the extension .MOS to be displayed. To buffer address - this specifies the starting address represent the size in hex of the memory to begin loading into memory. This means that any address lower than 'To buffer address' will not be loaded into memory. Buffer input mode - specifies how the data is to be loaded into memory. Entering N (Normal) specifies to load into all bytes. E (Even) specifies to load the data into even bytes only. O (Odd) specifies to load data into odd bytes only. 0, 1, 2, 3 of quarter specifies to load data into one of the quarter bytes only. It allows user to shuffer a 16bit or 32 bit data easily. From file address - this specifies the starting address represent the size in hex of the disk file to begin loading into memory. This means that any addresses lower than 'From file address' will not be loaded into memory, for binary file only. File input size - this specifies the input file represent the size in hex to be loaded to memory buffer. It means how many bytes from 'From file address' will be loaded to memory buffer, for binary file only. File input mode - specifies how the data is to be loaded from disk file. Entering N (Normal) specifies to load into all bytes. E (Even) specifies to load the data into even bytes only. O (Odd) specifies to load data into odd bytes only. 0, 1, 2, 3 of quarter specifies to load data into one of the quarter bytes only. So user can split file easily. This is for binary file only. After the parameters are entered, the ENTER key may be pressed to begin the read operation. If the operation is successful, the "OPERATION COMPLETE." message will be displayed. 15 Output To Disk (memory devices) This command writes data from memory to disk using one of the currently supported file formats. I/O translation format - specifies the format of the file to be loaded. The currently supported file formats are: MOS Technology, Intel Hex, Motorola S3, Tektronic Hex, HP64000ABS, Binary and Intel Ext. Hex. Filename - this is the drive/path/filename of the file to write data to. Entering DOS wildcard characters will cause a directory listing to be displayed allowing the user to select the file to write to. For example, entering *.MOS will cause all files with the extension .MOS to be displayed. From buffer address - this specifies the starting address represent the size in hex of memory buffer to begin writing to disk. This means that any addresses lower than 'From buffer address' will not be written to disk. Block size - this specifies the memory buffer represent the size in hex after 'From buffer address' to be written to disk. Buffer output mode - specifies how the data is to be written to the disk. Entering N (Normal) specifies to write all bytes. E (Even) specifies to write the even bytes only. O (Odd) specifies to write the odd bytes only. 0, 1, 2, 3 of quarter specifies to write the one of the quarter bytes only. It allows user to split a 16 bit or 32 bit data into 8 bit data easily. After the parameters are entered, the ENTER key may be pressed to begin the read operation. If the operation is successful, the "OPERATION COMPLETE." message will be displayed. 16 Device Options & Parameters This command is used to modified programming options and/or device specific parameters. Counter display - Display the counter or not while processing. Blank check - verifies that the device is blank, before programming. Some devices automatically erase, before programming, in which case, this parameter would not apply. Verify Passes - verification to be performed after programming or reading the device. Note that most devices will still perform program verification after each word is programmed. From address (memory devices only) - this specifies the starting address of device on ZIF socket for loading, programming or verifying. To address (memory devices only) - this specifies the ending address of device on ZIF socket for programming, or verifying. Erase All - erases the device before programming. Not all devices have this feature, in which case, this parameter would not be displayed. Program Security Fuse - programs the device's security fuse after programming (If the device supports security fuse). means yes, but it need reconform after programming and verifying, means auto, after programming and verifying the PC-UPROG will program the security fuse automatically. CAUTION: after the security fuse is programmed, the device may not be read or verified. Not all devices have this feature, in which case, this parameter would not be displayed. Function test (logic devices only) - execute the functional test vectors, after programming. Don't care state - select default don't care condition for test vectors. It can be TTL LOW or TTL HIGH, but program default is TTL HIGH. When the device option command is selected, the user will also be prompted with a number of device specific programming parameters, such as VCC, VPP, tD, PW, OPW, RETRY, etc. The type and number of these parameters will vary according to the device selected. If you want to modify any of these parameters please refer to manufacture's programming specification. For example you can easy to change the Intelligent algorithm to Quick Pulse algorithm by edit VCCP from 6V to 6.25V, VPP from 12.5V to 12.75V and PW pulse from 1.0ms to 100us very easily. You can verify the device with different VCC voltage by edit the VCC voltage in this device option parameter. The parameter will not restore, it will back to origional values after re-select device again. CAUTION: the device programming parameters in PC-UPROG are defined according to manufacture's specification. You may damage the device on affect programming parameters. 17 Hardware test This command may be used periodically to verify that the unit is operating correctly and to calibrate the output voltages, or to change the I/O port base address. When this command is selected, the Hardware Test menu will be displayed. 18 Verify TTL level pin drivers Used to verify that TTL level read and write functions are operating correctly. When this command is selected, PC-UPROG will start testing every pin of the 40-pin DIP. It will continue testing until any key is pressed. The number of verify passes and pin# being tested will be continuously displayed. 19 Check VCC source voltage and risetime Use this command to calibrate the VCC source voltage. When this command is selected the user will be prompted to enter a voltage. Pressing ENTER should cause all 40 pins of the DIP to be set to the entered voltage. A voltmeter should be connected between GROUND and pin 40 to verify that the voltage is correct. If it is not, then the VCC DAC adjustment screw must be adjusted accordingly. 20 Check VPP1 source voltage and risetime Use this command to calibrate the VPP1 source voltage. See 'Check VCC source voltage and risetime' command for details. 21 Check VPP2 source voltage and risetime Use this command to calibrate the VPP2 source voltage. See 'Check VCC source voltage and risetime' command for details. 22 Pulse VCC pins with VCC DAC voltage Use this command to verify that the VCC pulse generator is operating correctly. When this command is selected, the user will be prompted to enter a pulse-width and voltage level. Pressing ENTER will start PC-UPROG pulsing each pin, that is driven, of the 40-pin DIP according to the pulse-width and voltage level entered. A good oscilloscope or digital scope should be used to verify that the pulses meet the parameters entered. PC-UPROG will continue pulsing until any key is pressed. The number of verify passes and pin# being pulsed will be continuously displayed. 23 Pulse all pins with VPP1 DAC voltage Use this command to verify that the VPP1 pulse generator is operating correctly. See 'VCC pulse' command for details. 24 Pulse all pins with VPP2 DAC voltage Use this command to verify that the VPP2 pulse generator is operating correctly. See 'VCC pulse' command for details. 25 Set VPP1 & VPP2 source risetimes FAST or SLOW Toggles the VPP1 & VPP2 source DACs risetimes between FAST and SLOW, VPP1 & VPP2 will always have the same risetime. To verify that risetime is correct, do the following: 1. Use 'Set GND pin 20 ON/OFF' command to select pin 20 as ground pin. 2. Connect digital oscilloscope probe to GND pin 20 and any other of 40 pins. 3. Set the trigger level of oscilloscope to 3 volts. 4. Set time base of oscilloscope to 200us/div (SLOW) or 10us/div (FAST). 5. Execute 'Check VPP1 or VPP2 source voltage and risetime' commands. 6. You will then be prompted to enter a voltage. Enter the maximum source voltage which is 25.0 volts. 7. Upon pressing ENTER the oscilloscope should have been trigger, and you can read the risetime of VPP1 or VPP2 source DACs. 8. The time from 5 volts to 25 volts should be verified at about 40us to 60us FAST or 1.0ms to 1.4ms (SLOW). 26 Set CLK pins 2 & 3 ON/OFF Use this command to enable or disable the 4MHz clock driving pins 2 & 3. 27 Set CLK pins 18 & 19 ON/OFF Use this command to enable or disable the 2MHz clock driving pins 18 & 19. 28 Set ground pin 20 ON/OFF Use this command to connect or disconnect the pin 20 ground relay. 29 Set ground pins 11 & 30 ON/OFF Use this command to connect or disconnect the pin 11 & 30 ground relay. 30 Set ground pin 27 and VCC pin 13 ON/OFF Use this command to connect or disconnect the ground pin 27 and VCC pin 13 relay. 31 Set I/O port base Use this command to change to I/O port base address. When this command is selected, a menu of valid port base addresses will be displayed. After the new port base address is selected, PC-UPROG will automatically verify that there is no I/O conflict. 32 Program security fuse Use this command to program security fuse of the device on ZIF socket.