Zerocat Chipflasher  v0.4.3 (board-edition-1)
Flash free firmware to BIOS chips, kick the Manageability Engine.
Version History

Version Scheme

Tags are using the first three numbers only.
  • major

    The resulting product is a major change or upgrade.

  • minor

    Additional functionality or new features are introduced.

  • revision

    Bug fixes, minor changes, graphical stuff.

  • commit-hash

    Optional. Sometimes, if you need to specify an exact commit id, please just append the abbreviated commit-hash to the version number.

most recent changes, not yet tagged


  • doc/ Provide exact software version infos
  • doc/Makefile: Add some .PHONY targets in order to facilitate Zerocat’s website build process
  • Direct users to Zerocat Website in order to get shop information
  • Remove branding of suggested or recommended hardware
  • Small fixes within the documentation


  • In the documentation, references to the chipflasher webpage now point to:
  • Macro VERSION is introduced which helps to emit the software’s version on screen. This macro should match PROJECT_NUMBER tags of doxygen’s *.orig config files in doc/doxygen-resources/.
  • Bug fix: Job cancellation requests are processed even in case of transmission timeouts.
  • In several functions, flow control and feedback loop has been reviewed.
  • A compiler switch has been added to facilitate experimental re-allocation of line buffer space on the fly.
  • Handling of internal error codes has been simplified.
  • On startup, connect now checks whether the serial port is already busy.
  • Due to trademark concerns, a “Zerocat Logo License” has been added to the set of licenses. This license has been inspired by Trisquel’s Logo Page.
  • The reset pulse issued by connect has been extended in order to make an MAX3232EPE+ chip start reliably.


  • Dependencies for the documentation build process have been fixed in order to avoid doxygen error messages.
  • Chip detection has been fixed (i.e. ThinkPad T60) and improved, a zero JEDEC ID due to power failure or misplaced SOIC clip is handled with an individual message.


This version works best in conjunction with board version 'board-edition-1', please compare to Board Version History.

  • The chip database has been reviewed. The default entry is used as “unknown” chip without capabilities, thus increasing security against accidental key strokes. T60’s BIOS chip has been added. Bits of status registers are now each tagged as volatile/static.
  • Global sector protect/unprotect features are now supported for Atmel chips as well.
  • The chip readout function has been deeply improved; transmission errors are now reliably detected by connect and the data lines in question are resent by kick upon connect’s request.
  • Obsolete features like increase/decrease UART FiFo Size and UART IRQ Latency have been deleted; they didn't work anyway.
  • Transmission status report now follows a three color pattern known from traffic lights. You will be able to grab the status at a glance:
    • Green = Success
    • Yellow = Success, but errors had to be repaired; verify carefully!
    • Red = Error
  • Probing the chip with menu option [d] now works more reliable, for it automatically issues three subsequent trials.
  • Error report has been improved, a missing file for data storage on disk will be reported.
  • The menu status line has been relieved from obsolete infos.
  • Three script utilities have been added to folder host/src/.
  • In order to make it quit more reliably, kick’s exit sequence is repeated.


This version works best in conjunction with board-v1.1.0.

Note that older boards may still be used, but the configuration file should be modified according to twisted pin functions.

  • Nets PIN_PNP and PIN_PLUGTESTn have exchanged their pin numbers.
  • A small delay has been added in SPI_ini(), thus making the Gigabyte GA-G41M-ES2L sysboard accessible.
  • The menu option '[q] - quit/cancel' will now switch the SPI bus off as an intermediate step in case it has been left powered for devices with a non-static status register.
  • A wrong copyright note has been reverted.


  • Add specs for the Winbond 25X40 spi flash.
  • Support the D945GCLF Intel Desktop Board.
  • Apply minor fixes within documentation.


Improve hardware documentation...

  • Add footprints into gEDA/gschem circuit file.
  • Add a worked pcb layout.
  • Add documentary of a first pcb-prototype.


Make the chipflasher repository freely distributable...

  • apply CC BY-SA 4.0 for logo files
  • fix ambiguities in libprop/putChar.c


Yep, this is a real version! It comes with a complete set of licenses.

  • The README explains how to start and the license setup.
  • Source files are enriched by appropriate license headers.
  • A license hint is provided when connect starts up.
  • Codesize has been further reduced to guarantee enough runtime RAM.
  • All documentation source files have been reviewed, sections have been rewritten.
  • A screenshot of an invocation example had been added to doc/images/.
  • The folder doc-generator/ contains reviewed doxygen resources and an updated Makefile. All generated documentation output will be created in doc/.


Unfortunately, version v0.2.1 introduced a severe bug, due to exorbitant HUB-RAM usage. The system will hang. This commit reverts the commit that introduced that bug and reduces code size by 20 bytes. Now, flashing should work fine although we are still pretty much at the edge.


Important bugfixes for chip readouts:

  • An address roll-over will now be catched.
  • The Motorola S-record format now comes with an inline-0xff blob of up to 16 bytes, thus decreasing transmission overhead.
  • In contrast, the Hexdump format is a real dump. Each byte is listed.

New features:

  • The mode that is used to deal with 0xff bytes is shown in the menu status field.
  • The roll-over feature when scrolling up/down with some menu options has been removed to reduce confusion.


This version must be used with board-v1.0.0 and later, however board-v1.0.5 is recommended due to its pnp MOSFET.

  • supports new chips like W25Q32FV, W25Q64FV
  • supports new sysboards like T400, T500, X220
  • faster SPI transmission


This version may be used with all v0-boards (i.e. below board-v1.0.0), usage is probably limited to X60/X60s and X200/X200s sysboards.