



















                                       A
                                  Stand Alone
                                  Intelligent
                                EPROM Programmer

                                  Users Guide





                                  Release 1.1

                               Revised 05-Jan-98










                          Dunfield Development Systems
                          ----------------------------
                             High quality tools for
                              Embedded Development
                                 at low prices.

                            http://www.dunfield.com


                       Copyright 1986-2005 Dave Dunfield
                              All rights reserved



                                EPROM Programmer

                               TABLE OF CONTENTS


                                                                         Page

     1. KEYPAD OPERATION                                                    1

        1.1 LOAD - Load EPROM into memory                                   1
        1.2 PGM - Programm EPROM from memory                                1
        1.3 VER - Verify EPROM with memory                                  2
        1.4 CLEAR - Clear memory                                            2
        1.5 DNLD - Download from host                                       2
        1.6 UPLD - Upload to host                                           2
        1.7 REM - Switch to REMOTE control                                  2
        1.8 CKSUM - Checksum data                                           2
        1.9 SEL - Select options                                            3
        1.10 MOVE - Move memory                                             5
        1.11 MONIT - Enter monitor                                          5
        1.12 MEM - Select MEMORY EDIT address                               5
        1.13 STEP - Move to next memory address                             5
        1.14 BACK - Move to previous memory address                         5
        1.15 CHG - Change contents of memory                                5

     2. REMOTE OPERATION                                                    6

        2.1 Command Sequences                                               6
        2.2 Return Codes                                                    8

     3. CONFIGURATION DIP SWITCH                                            8


     4. POWERUP CONFIGURATION                                               8


     5. KEYPAD SUMMARY                                                      9


     6. COMMON PROM SETTINGS                                               10


     7. MON09 Commands:                                                    11

    EPROM Programmer                                                 Page: 1


    1. KEYPAD OPERATION

          The programmers keypad consists of 16 dual-function keys, laid out
       in a four by four matrix, and has the following layout:

                           +-----+-----+-----+-----+
                           |LOAD | PGM | VER |CLEAR|
                           |  1  |  2  |  3  |  A  |
                           +-----+-----+-----+-----+
                           |DNLD |UPLD | REM |CKSUM|
                           |  4  |  5  |  6  |  B  |
                           +-----+-----+-----+-----+
                           | SEL |MOVE |MONIT|     |
                           |  7  |  8  |  9  |  C  |
                           +-----+-----+-----+-----+
                           | MEM |STEP |BACK | CHG |
                           |  0  |  F  |  E  |  D  |
                           +-----+-----+-----+-----+

          The keys  normally  operate  as  operation  keys,  performing  the
       function indicated over the digit.  When the programmer is  expecting
       numerical input from the keypad,  the dot ('.')  will light under the
       position on the display where the digit will be entered.

       1.1 LOAD - Load EPROM into memory

             The LOAD operation loads data from the EPROM to memory. Data is
          read between the selected LOW and HI addresses,  and  placed  into
          memory at the selected  OFFSET  address  (See  SELECT  MEMORY).  A
          "VERIFY ?"  prompt is issued before the load is  performed,  press
          the STEP key to procede, any other key aborts the load operation.
             The checksum of the loaded data is displayed after loading.

       1.2 PGM - Programm EPROM from memory

             The PGM operation programs data from  memory  into  the  EPROM.
          Data is programmed into the EPROM between the selected LOW and  HI
          address, from memory starting the the selected OFFSET address. The
          prom is first checked to insure that the  data  from  ram  can  be
          programmed into it  (no zero bits in prom  where  1  bits  in  ram
          exist),  and then a "VERIFY ?" prompt is issued,  requiring you to
          press the STEP key to procede.  After the prom  is  programmed,  a
          VERIFY operation  is  performed,  to  insure  that  the  prom  was
          programmed correctly.

             If the prom cannot be programmed with the data,  or the  verify
          fails after programming,  the programmer sounds an  alarm,  and  a
          message of the form '?AAAA DD' is displayed,  where 'AAAA'  is the
          address in the prom where the error was detected,  and 'DD' is the
          data at that location. The MEMORY EDIT address (see memory key) is
          set to the ram address where the error occured,  press the STEP or
          BACK keys to display.

             The programmer  sounds  three  short  beeps  when  it  finishes
          programming,  the checksum of the programmed data is displayed  if
          no errors occured.
    EPROM Programmer                                                 Page: 2


       1.3 VER - Verify EPROM with memory

             The VERIFY operation confirms that the EPROM data  between  the
          selected LOW and HI addresses matches the ram data starting at the
          selected OFFSET address.  If such a match occurs,  the checksum of
          the verified data is displayed.

             If a mismatch occurs, a message as described above under PGM is
          displayed,  indicating  the  EPROM  address  and  data  where  the
          mismatch occured.  The MEMORY EDIT  address  is  set  to  the  ram
          address.

       1.4 CLEAR - Clear memory

             The CLEAR operation cleared memory between the selected LOW and
          HI addresses to the selected clear value  (see  SELECT  CLEAR).  A
          "VERIFY ?"  prompt is issued,  requiring you to press the STEP key
          to procede.

       1.5 DNLD - Download from host

             This operation downloads data  from  a  host  computer  to  the
          programmer,  placing it at  the  selected  OFFSET  address.  While
          downloading, a single dot ('.') is displayed,  which is shifted to
          the right once for every record that is received.

       1.6 UPLD - Upload to host

             This operation  uploads  data  to  a  host  computer  from  the
          programmer ram between the selected  LOW  and  HI  addresses.  The
          selected OFFSET address is added to  the  address  fields  in  the
          records when they are sent.

             While uploading,  a single dot  ('.')  is displayed,  which  is
          shifted to the left once for every record transmitted.

       1.7 REM - Switch to REMOTE control

             The REMote operation transfers control of the programmer to the
          serial port,  allowing a host computer to load,  program,  verify,
          download,  upload,  and other functions of  the  programmer.  When
          operating in REMOTE mode, the display shows '--------'. See REMOTE
          OPERATION

       1.8 CKSUM - Checksum data

             This operation first prompts for an address,  and computes  the
          16 bit sum of all  (8 or 16 bit)  values between the selected  LOW
          and HIGH addresses, exclusive of the address given,  and places it
          at that address. The result is always 16 bits wide.

             If a 16 bit checksum is being used,  the LOW,  HI and specified
          addresses should all be even values.
    EPROM Programmer                                                 Page: 3


       1.9 SEL - Select options

             The SELect operation allows you to specify  verious  parameters
          controlling the operation of the programmer.  Once the SEL key has
          been pressed the prompt  "SELECT ?"  is issued,  requiring you  to
          press one of the following keys:

          1.9.1 LOAD - Select prom pinout type

                The display will show the pinout  type  of  EPROM  currently
             selected,  press CHG to change to the next pinout (2716,  2732,
             2764, 27128,  27256).  Pressing STEP exits and sets the LOW and
             OFFSET addresses to zero,  while setting the HI address to  the
             highest address for the pinout  selected.  Pressing  BACK  will
             exit without altering the LOW, HI, and OFFSET addresses.

          1.9.2 PGM - Select programming algorithm

                The display will show the  programming  algorithm  which  is
             currently selected. STD indicates the standard single pulse per
             location algorithm, which works with all eproms. FAST indicates
             a variation of the INTELeGENT programming algorithm  recomended
             by INTEL for use  with  larger  eproms  which  is  considerably
             faster than the STD algorithm.  The FAST algorithm may  not  be
             used with some devices. Press CHG to change the algorithm, STEP
             or BACK to exit.

          1.9.3 VER - Select programming pulse width

                The display shows the currently selected  programming  pulse
             width  (in hexidecimal milliseconds).  Press CHG to enter a new
             value,  STEP or BACK to exit.  The  selected  pulse  width  has
             effect  in  the  STD  programming  mode  only.  The  FAST  mode
             calculates the pulse width automatically.  The default value of
             32 (50 decimal) milliseconds is recomended by most makers.

          1.9.4 CLEAR - Select CLEAR value

                The display shows the currently selected byte  value  to  be
             used when clearing memory.  Press CHG to change the value, STEP
             or BACK to exit. All values are in HEX.

          1.9.5 DNLD - Select UPLOAD/DOWNLOAD format

                The display will show the currently selected upload/download
             format  (INTEL or MOTOROLA),  press CHG to change to the  other
             format, STEP or BACK to exit.
    EPROM Programmer                                                 Page: 4


          1.9.6 UPLD - Select uploading options

                The display  shows  "LEN-XX",  where  XX  is  the  currently
             selected length for upload records (in hexidecimal). This value
             should not be set to zero,  and should  not  exceed  'FC'  when
             using MOTOROLA download format.  Press CHG to change the upload
             length, STEP to proceed to the next option, or BACK to exit.

                The next option show  'SYNC-XX'  where XX is  the  currently
             selected SYNC  character  (in  hexidecimal).  After  sending  a
             record,  the programmer will wait until it  receives  the  SYNC
             character before sending the next record.  Setting SYNC to '00'
             disables this wait,  and causes  the  programmer  to  send  all
             records non-stop. Press CHG to change the SYNC character value,
             STEP to proceed to the next option, or BACK to exit.

                The next option shows 'DELAY-XX', where XX is the delay time
             (in hexidecimal tenth's of  a  second)  which  the  programmers
             waits after receiving the SYNC  character  before  transmitting
             the next record.  If SYNC is disabled,  the  programmer  simply
             inserts  the  specified  delay   time   between   each   record
             transmitted.  Press CHG to change the DELAY value (00=No delay,
             FF=25.5 Seconds),  STEP to proceed to the next option,  or BACK
             to exit.

                The display then shows 'LF? YES/NO',  where YES/NO is YES if
             linefeeds are enabled  on  upload,  and  NO  if  linefeeds  are
             disabled  on  upload.  Press  the  CHG  key  to  enable/disable
             linefeeds.  When linefeeds are enabled,  the programmer sends a
             linefeed character immediatly before the carraige return at the
             end of the record.  If disabled,  only the carriage  return  is
             sent. Press STEP or BACK to exit.

          1.9.7 REM - Select remote serial port options

                The display will show "SP X", where X is the speed currently
             selected for the remote port.  Pressing CHG will advance to the
             next speed. Once the speed has been selected, press STEP.

                The display will show "BITS X" where X is the number of bits
             (7 or 8), press CHG to change. Once the number of bits has been
             selected, press STEP.

                The display will show "PAR X"  where X is the type of parity
             (EVEN, ODD, MARK, SPACE,  NONE),  press CHG to advance the next
             parity type.  Once the parity has been selected,  press STEP to
             exit.

                The BACK key may be used to exit at any time.
    EPROM Programmer                                                 Page: 5


          1.9.8 CKSUM - Select checksum type

                The display will show the currently selected  checksum  type
             (8 or 16 bit).  Press CHG to change the checksum type,  STEP or
             BACK to exit.

          1.9.9 MEM - Select LOW, HI, and OFFSET addresses

                The  display  prompts  with  "Lo-XXXX"  where  XXXX  is  the
             previously selected LOW address,  press  CHG  to  enter  a  new
             value,  BACK to exit,  or STEP to  advance.  The  display  then
             prompts with  "Hi-XXXX",  to allow you to see/change  the  HIGH
             address,  and then with  "OFF-XXXX"  to allow you to see/change
             the OFFSET address.

       1.10 MOVE - Move memory

             This operation copies memory between the selected  LOW  and  HI
          addresses,  to memory starting at the selected OFFSET  address.  A
          "Verify ?"  prompt is issued,  press STEP to  perform  the  memory
          copy.

       1.11 MONIT - Enter monitor

             This operation enters the resident 6809 monitor program,  after
          prompting with a  "VERIFY ?"  prompt,  press STEP to proceed.  The
          monitor operates using ASCII commands over the  serial  port,  see
          the section on MON09 commands.

       1.12 MEM - Select MEMORY EDIT address

             This key display the MEMORY EDIT address and its contents,  and
          waits for you to type in a new address,  after which that  address
          and its contents are displayed.

       1.13 STEP - Move to next memory address

             This key advances the  MEMORY  EDIT  address  only  if  it  was
          already displayed, and then displays the address and its contents.

       1.14 BACK - Move to previous memory address

             This key backups the MEMORY EDIT address only if it was already
          displayed, and then displays the address and its contents.

       1.15 CHG - Change contents of memory

             This key displays the  current  MEMORY  EDIT  address  and  its
          contents,  and then waits for a two digit hexidecimal value  which
          is written to that address.
    EPROM Programmer                                                 Page: 6


    2. REMOTE OPERATION

          When the programmer is operating in REMOTE mode (see REM key), the
       display shows a row of dashes, and all commands are accepted from the
       serial port.

       2.1 Command Sequences

             The followng commands are recognized by the programmer when  it
          is operating in REMOTE mode.  Unless  otherwise  stated,  commands
          operate the same as the corresponding keypad key.  The  characters
          '<'  and  '>'  are used to indicate command operands,  and are NOT
          actually part of the command or its operands.

          2.1.1 SA<a>

                Set the programming algorithm. The character <a> must be 'S'
             for the STANDARD algorithm, or 'F' for the FAST algorithm.

          2.1.2 SC<t>

                Sets the checksum type. The character <t> must be 'B' for an
             8 bit (Byte) checksum, or 'W' for a 16 bit (Word) checksum.

          2.1.3 SD<M or I>

                Selects the upload/download format, <M> for MOTOROLA format,
             <I> for INTEL format.

          2.1.4 SF<xx>

                Sets the fill  (clear)  character to the  hexidecimal  value
             <xx>.

          2.1.5 SP<xx>

                Selects the prom pinout  type  (00=2716,  01=2732,  02=2764,
             03=27128, 04=27256).

          2.1.6 SM<llll><hhhh><oooo>

                Selects the LOW,  HIGH and OFFSET memory addresses  used  by
             many commands.  <llll> = LOW address, <hhhh> = HIGH address and
             <oooo> = offset address. The LOW, HIGH and OFFSET addresses are
             automatically restored to default values when a new EPROM  type
             is selected (see keypad SELECT LOAD).

          2.1.7 SU<ll><ss><dd><N or Y>

                Selects the upload format, <ll> = record length, <ss> = sync
             character,  <dd> = delay time,  <N> = linefeed disabled,  <Y> =
             linefeed enabled.

          2.1.8 SW<xx>

                Selects the programming pulse width (in hex milliseconds).
    EPROM Programmer                                                 Page: 7


          2.1.9 C<xxxx>

                Computes the checksum as per the keypad CHKSUM key, placeing
             it at the specified address <xxxx>.

          2.1.10 D

                Downloads data from  serial  port,  placeing  it  at  offset
             address.

          2.1.11 F

                Fills  (clears)  memory between the selected  LOW  and  HIGH
             addresses with the currently selected  fill  (clear)  character
             value.

          2.1.12 K

                Returns to KEYPAD mode, no return code is returned.

          2.1.13 L

                Loads from EPROM between selected LOW  and  HIGH  addresses,
             placeing data in ram at selected OFFSET address.

          2.1.14 P

                Programms EPROM between selected LOW and HIGH addresses from
             RAM  at  selected  OFFSET  address.   Performs   VERIFY   after
             completion.

          2.1.15 U

                Uploads data through the serial port,  as described in  UPLD
             key.

          2.1.16 V

                Verifies EPROM between selected LOW and HIGH addresses, with
             memory at selected OFFSET address.
    EPROM Programmer                                                 Page: 8


       2.2 Return Codes

             Once a command has been  executed,  the  programmer  returns  a
          single ASCII digit return code as follows:

                0 - Successful completion.
                1 - Bad command or operand
                2 - Verify of prom failed
                3 - Prom cannot be programmed until erased
                4 - Prom failed to program during FAST algorithim.
                5 - FAST algorithm cannot be used with this device
                6 - Checksum or record format error during download

    3. CONFIGURATION DIP SWITCH

          The configuration dip switch  controls  the  settings  of  certain
       operating parameters when the programmer is first powered up.

        +------+-----------------+---------------+-----------------+
        |Switch| Function        | Open position | Closed position |
        +------+-----------------+---------------+-----------------+
        |  1   | Operating mode  | KEYPAD        | REMOTE          |
        |  2   | PGM Algorithm   | STANDARD      | FAST            |
        |  3   | Checksum type   | 8 BIT         | 16 BIT          |
        |  4   | Up/Download fmt | MOTOROLA      | INTEL           |
        +------+-----------------+---------------+-----------------+

    4. POWERUP CONFIGURATION

          The following is the default  configuration  that  is  established
       when the programmer is first powered on:

          Operating mode: (Config switch 1)
          EPROM pinout type: 2764
          Programming algorithm: (Config switch 2)
          Programming pulse width: 32
          Checksum type: (Config switch 3)
          LOW address: 0000
          HIGH address: 1FFF
          OFFSET address: 0000
          Memory EDIT address: 0000
          Memory contents (all locations 0000-7FFF): FF
          Memory clear byte: FF
          Upload/Download format: (Config switch 4)
          Upload record length: 20
          Upload sync character: 00
          Upload interecord delay: 00
          Line feeds enabled: NO
          Serial port speed: 9600
          Serial port parity: MARK
          Serial port bits/char: 07
    EPROM Programmer                                                 Page: 9


    5. KEYPAD SUMMARY

            LOAD    - Load PROM into memory
            PGM     - Program PROM from memory
            VER     - Verify PROM with memory
            CKSUM   - Compute & store checksum
            DNLD    - Download from host
            UPLD    - Upload to host
            REM     - Switch to remote mode (serial port control)
            CLEAR   - Clear ram to $FF
            MEM     - Set RAM address to STEP/BACK/CHANGE
            STEP    - Step to next memory/option
            BACK    - Backup to previous memory / exit select
            CHG     - Alter memory/option
            MOVE    - Move memory
            MONIT   - Enter resident 6809 monitor program
            SEL     -
                    LOAD            - Select prom pinout type
                    PGM             - Select programming algorithm
                    VER             - Select program pulse width
                    CLEAR           - Select byte to clear with
                    DNLD            - Select download/upload format
                    UPLD            - Select upload options
                    REM             - Select TTY port options
                    CHKSUM          - Select checksum type
                    MEM             - Select LOW, HIGH, and OFFSET addresses
    EPROM Programmer                                                 Page: 10


    6. COMMON PROM SETTINGS

              Maker       Part Number     Pinout   Voltage
              --------------------------------------------
              AMD          AM2716          2716      25
                           AM9716          2716      25
                           AM2732          2732      25
                           AM2732A         2732      21
                           AM2764          2764      21
                           AM27128         27128     21
                           AM27C256        27256     12

              FUJITSU      MBM2764         2764      21
                           MBM27C64        2764      12
                           MBM27128        27128     21
                           MBM27C256       27256     21

              GENERAL      2764            2764      21
              INSTRUMENTS  27C64           2764      12
                           27256           27256     12
                           27C256          27256     12

              HITACHI      HN482764        2764      21

              INTEL        2716            2716      25
                           2732            2732      25
                           2732A           2732      21
                           2764            2764      21
                           2764A           2764      12
                           27128           27128     21
                           27128A          27128     12
                           27256           27256     12

              MITSUBISHI   M5L2764         2764      25

              NATIONAL     NMC27C16        2716      12
                           NMC27C32        2732      12
                           NMC27C64        2764      12

              TEXAS        TMS2516         2716      25
              INSTRUMENTS  TMS27C128       27128     12

              TOSHIBA      TMM27128A       27128     12
    EPROM Programmer                                                 Page: 11


    7. MON09 Commands:

            B n aaaa        Set breakpoint n=0-7 at address aaaa
            C r xx[xx]      Change register:
                            r:  A = ACCA    B = ACCB    D = DP
                                C = CCR     X = X idx   Y = Y idx
                                U = U sp    S = S sp    P = PC
                                <space> = D (16 bit ACC [AB])
        *   D aaaa,bbbb     Disassemble Memory
                            if bbbb=<space>, assumes FFFF
            E aaaa          Edit memory, Subcommands:
                                xx      = Enter HEX value
                                'c      = Enter CHARACTER value
                                <space> = Advance to next address
                                <bs>    = Backup to previous address
                                <cr>    = Exit
            G aaaa          Go (execute) at address
                            if aaaa=<space>, goes at address in PC
        **  L               Load from serial port (Motorola fmt)
        *   M aaaa,bbbb     Display memory as hex dump
                            if bbbb=<space>, assumes FFFF
            R               Display processor registers
            S aaaa          Single step program:
                                <space> = Step one instruction
                                <cr>    = Toggle register display ON/OFF
                                <esc>   = Exit
        **  T               Terminal passthrough mode
                                <esc>   = Exit
            V               View breakpoints

        * NOTE: Output from these commands may be paused by pressing <lf>,
                Additional lines may be output by repeating <lf>, Use <cr>
                to resume output, and <esc> to abort command.

        **NOTE: Monitor uses second serial port occuring in the processor
                memory map at exactly 4 bytes above the primary serial port.
                if this serial port is not installed and decoded, primary
                serial port will be used.
