#
# Copy from xpdf of table 5 of AN2026B, "In-System Serial Programming (ISSPTM)
# Protocol", "For CY8C24794 and CY8C29xxx"
# Copyright 2005 Cypress Semiconductor Corporation.
#

Initialize-1    110010100000000000000000000000000000000000000000000000000000000000000000000000000000000000
                000000000000000000000000000000000000000000110111101110000000011111011110110000000001111001
                111100000111010111100111110010000001111111011110101000000001111101111010000000011111100111
                110111000000011111011111001001100001111101111101001000000111110111100000000100111111011111
                000000000001111101111111100010010111
Initialize-2    110111101110000000011111011110110000000001111001111100000111010111100111110010000001111111011110101000
                0000011111011110100000000111111001111101110000000111110111110010011000011111011111010010000001111001111
                101000000001111110111100000000011011111011111000000000001111101111111100010010111
Initialize-3 3V 110111101110000000011111011110100000000111111101111010100000000111110111101100000100011111011111000010
                100011111101111100111111000111110111110100011000011111011111111000100101110000000000000000000000110111
                101110000000011111011110100000000111111101111010100000000111110111101100000100011111011111000011000001
                1111011111001111010101111101111101000110000111110111101110001000011111011111111000100101110000000000000
                000000000110111101110000000011111011110100000000111111101111010100000000111110111101100000100011111011
                111000010100011111101111100111111001111110111110100011000011111011111111000100101110000000000000000000
                000110111101110000000011111011110100000000111111101111010100000000111110111101100000100011111011111000
                0110000011111011111001111010001111101111101000110000111110111101110001000011111011111111000100101110000
                000000000000000000
Intialize-3 5V  110111101110000000011111011110100000000111111101111010100000000111110111101100000100011111011111000010
                1000111111011111001111111001111101111101000110000111110111111110001001011100000000000000000000001101111
                011100000000111110111101000000001111111011110101000000001111101111011000001000111110111110000110000011
                111011111001111010101111101111101000110000111110111101110001000011111011111111000100101110000000000000
                000000000110111101110000000011111011110100000000111111101111010100000000111110111101100000100011111011
                111000010100011111101111100111111101111110111110100011000011111011111111000100101110000000000000000000
                000110111101110000000011111011110100000000111111101111010100000000111110111101100000100011111011111000
                0110000011111011111001111010001111101111101000110000111110111101110001000011111011111111000100101110000
                000000000000000000
SET-BANK-       110111101110001000011111011111010000000dd1111101111011100000000111
NUM             where dd=bank #
SET-BLOCK-
                10011111010dddddddd111
NUM
                where dddddddd=block #
CHECKSUM        110111101110000000011111011110110000000001111001111100000111010111100111110010000001111111
-SETUP          011110101000000001111101111010000000011111100111110110000000011111011111001001100001111101
                111101001000000111100111110101000000011111011110000000001111111101111100000000000111110111
                1111100010010111
VERIFY-
                110111101110000000011111011110110000000001111001111100000111010111100111110010000001111111
SETUP
                011110101000000001111101111010000000011111100111110111000000011111011111001001100001111101
                111101001000000111110111100000000000111111011111000000000001111101111111100010010111
PROGRAM-
                100111111000101010011110011111110010101101111101111011100000000111110111101100000000011110
BLOCK
                011111000001110101111001111100100000011111110111101010000000011111011110100000000111111001
                111101110000000111110111110010011000011111011111010010000001111101111000000000010111110111
                11000000000001111101111111100010010111
READ-BYTE
                10110aaaaaaZDDDDDDDDZ1
                where DDDDDDDD= data out, aaaaaa=address (6 bits)
ERASE
         100111111000001010111110011111110010101101111101111011100000000111110111101100000000011110
         011111000001110101111001111100100000011111110111101010000000011111011110100000000111111001
         111101110000000111110111110010011000011111011111010010000001111101111000000000101111110111
         11000000000001111101111111100010010111
ID-SETUP 110111101110001000011111011100000000000101111101111011100000000111110111101100000000011110
         011111000001110101111001111100100000011111110111101010000000011111011110100000000111111001
         111101110000000111110111110010011000011111011111010010000001111001111101000000000111110111
         100000000011011111011111000000000001111101111111100010010111
SECURE
         100111111000101010011110011111110010101101111101111011100000000111110111101100000000011110
         011111000001110101111001111100100000011111110111101010000000011111011110100000000111111001
         111101110000000111110111110010011000011111011111010010000001111101111000000000100111110111
         11000000000001111101111111100010010111
WRITE-
         10010aaaaaadddddddd111
BYTE
         where dddddddd= data in, aaaaaa=address (6 bits)
READ-    10111111001ZDDDDDDDDZ110111111000ZDDDDDDDDZ1
CHECKSUM where DDDDDDDDDDDDDDDD= Device Checksum data out
         READ-ID-WORD (CY8C24794)
         10111111000ZLLLLLLLLZ110111111001ZLLLHHHLHZ1
         READ-ID-WORD (CY8C29466)
         10111111000ZLLLLLLLLZ110111111001ZLLHLHLHLZ1
         READ-ID-WORD (CY8C29566)
         10111111000ZLLLLLLLLZ110111111001ZLLHLHLHHZ1
         READ-ID-WORD (CY8C29666)
         10111111000ZLLLLLLLLZ110111111001ZLLHLHHLLZ1
         READ-ID-WORD (CY8C29866)
         10111111000ZLLLLLLLLZ110111111001ZLLHLHHLHZ1
