-
Notifications
You must be signed in to change notification settings - Fork 0
Chip Database Fields

Firestarter ships a chip database describing every part it knows how to drive — 746 chips across 59 manufacturers. This is what each field in an entry means.
You can override any of it locally: put your own entries in
~/.firestarter/database.json and they take precedence over the shipped data.
Each chip is filed under its manufacturer and has four parts: its part number, its pinout, what it is electrically, and how to program it.
part_number M27C512
pinout DIP28_27512
support_status supported
electrical ...
programming ...
The part number as printed on the package. This is the name you pass on the command line.
Which physical layout the chip uses — which pin carries which signal. Every layout is listed in Pin Maps.
What the project actually claims about this chip. Three values occur:
| Value | Meaning |
|---|---|
supported |
Firestarter drives this part |
adapter-required |
The chip needs a physical adapter before it fits the socket — see Pin Maps |
protocol-not-implemented |
The chip is in the database but its programming algorithm is not implemented |
A chip listed as supported means the project believes it works. It does not
mean anyone has run one — see Testing Chips.
| Field | Meaning |
|---|---|
pin_count |
24, 28 or 32 |
size_bytes |
Capacity in bytes |
type |
The broad family — EPROM, EEPROM, Flash, SRAM |
vcc_mv |
Supply voltage, in millivolts |
vdd_mv |
Logic supply voltage, in millivolts |
vpp_mv |
Programming voltage, in millivolts. Zero for parts that program at 5 V |
vpp_mv is the value the VPP regulator is asked for. Set the trimpot on the
shield to this voltage before programming a part that needs one — the board
cannot set it for you, and it cannot tell you afterwards what it actually
delivered to the socket.
| Field | Meaning |
|---|---|
algorithm |
The protocol ID — how the chip is driven. See Programming Protocols |
pulse_duration_us |
Programming pulse width, in microseconds |
chip_id_check |
Whether the chip can report a manufacturer and device ID |
chip_id_value |
The ID it should report, when it can |
page_size |
Write page size, where the part writes a page at a time. Present on 20 chips |
chip_id_check is worth understanding: when it is true, Firestarter can read
the chip's own identification and tell you whether the part in the socket is
the part you named. When it is false, no such check is possible — the chip has
nothing to report — so a wrong part in the socket will simply be driven as
whatever you asked for.
protect_off_before, protect_on_after and infoic_page_size_raw are carried
through from the upstream chip data and stored, but nothing in Firestarter
reads them. They are recorded here so nobody re-derives them later assuming
they take effect.