Skip to content

Reading Chips

Henrik Olsson edited this page Sep 27, 2026 · 2 revisions

Firestarter EPROM Programmer

Reading Chips

This page tells you how to find your chip in the database, put it in the socket, and read it to a file. To install Firestarter first, refer to Install.

Find your chip

search finds each chip whose part number contains your text. Case is not important.

firestarter search 27C256

The table shows the name, the manufacturer, the pin count, the chip ID, the type and the VPP of each chip. firestarter list shows all chips in the database.

Use the name from the table in the other commands. A database name can hold alternative part numbers, for example W27C512,W27E512. You can give one of them, for example W27C512.

Look at the chip data

info shows the database data for one chip. It does not use the programmer.

firestarter info AM27C256

info shows:

  • The size, the type, the VCC and the VPP of the chip.
  • The pin layout of the chip package.
  • The jumper settings for each shield revision. Refer to Shield Revisions.
  • The programming protocol. Refer to Programming Protocols.

info -a also shows a table of the chip pins and their signals.

Put the chip in the socket

  1. Set the jumpers that info shows for your shield revision.
  2. Find pin 1 of the chip. A notch or a dot on the package marks the pin 1 end.
  3. Point pin 1 of the chip to the same end as pin 1 of the 32-pin socket.
  4. Put a 32-pin chip in all 32 socket positions.
  5. Put a 28-pin chip in the end of the socket that is away from socket pin 1. Socket pins 1, 2, 31 and 32 stay empty.
  6. Put a 24-pin chip in the end of the socket that is away from socket pin 1. Socket pins 1 to 4 and 29 to 32 stay empty.
  7. Close the lever of the socket.

Pin Maps shows the pin layout of each chip family.

Check the chip ID

id reads the manufacturer and device ID of the chip. It compares the ID with the database.

firestarter id AM27C256

When the ID is different, id shows the database chips that have the ID that it found.

CAUTION: On the UV-EPROM protocols and the 28C EEPROM protocol, id puts the VPE rail on pin A9 of the chip. Adjust the voltage for your chip before you use id. Refer to Shield Revisions.

Read the chip

firestarter read <chip> [OUTPUT_FILE]

Without OUTPUT_FILE, the file name is the chip name that you gave, in capital letters, with .bin. For example, firestarter read am27c256 writes AM27C256.bin in the current directory.

Option What it does
-a, --address The start address. The default is 0.
-s, --size The number of bytes to read. The default is to the end of the chip.
-f, --force Read also when the chip ID does not agree with the database.

Give a number in decimal, or in hexadecimal with 0x, for example -a 0x4000.

With -a, the file keeps the chip addresses. The data from address A starts at byte A of the file. The bytes before it are zero.

To show the data on the screen and not in a file, use firestarter dev read <chip>. It has the same -a, -s and -f options.

Check if the chip is blank

firestarter blank <chip>

blank reads the chip and tells you if all bytes are blank. Refer to Writing and Verifying for its options and exit codes.

Example

This example makes a copy of an AM27C256 and checks the copy:

  1. Find the chip, and look at its data and jumpers:

    firestarter search 27C256
    firestarter info AM27C256
  2. Set the jumpers, and put the chip in the socket.

  3. Read the chip to a file:

    firestarter read AM27C256 backup.bin
  4. Compare the chip with the file:

    firestarter verify AM27C256 backup.bin

    Exit code 0 tells you that the file and the chip are the same.

Global options

The global options, such as -p for the serial port, are on the Commands page.

Clone this wiki locally