)]}'
{
  "commit": "518350c327ada3269384af7f092e4563471f9200",
  "tree": "9f418a807e6e1ef390a8201cab5dee894a9c63ab",
  "parents": [
    "dd4744ef418b64b93b8eeda906545f6341c101d0"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sun Jun 21 19:45:34 2026 +0200"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Fri Jul 17 18:07:04 2026 +0000"
  },
  "message": "gfxmatrox: Introduce new programmer driver for Matrox Millenium cards\n\nSupports a 64KiB parallel flash. ROM BAR configuration is tricky: The\nregister is only accessible when a special `biosen` bit is set. An OS\nmight not know this and is then unable to assign an address. We\u0027ll of-\nfer to re-purpose the MMIO BAR address, but one has to be sure that no\ngraphics driver is running.\n\nDatasheet used:\nhttps://www.vintage3d.org/doc/matrox/2164spec.pdf\n\nChange-Id: Ief6c05c8fbf752814d436ac3b47e87de0c977047\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/532\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a9f2429eda083d38d25ab188b1a82c9df8688026",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "11eb07bbc4c2e880b570d54bb1e7fef03377dbb7",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "d7713333227c08424002844f283725b5467b0d5e",
      "old_mode": 33188,
      "old_path": "flashprog.8.tmpl",
      "new_id": "24d9aaf46a46144f878fd8b29e5e6a50cff57f49",
      "new_mode": 33188,
      "new_path": "flashprog.8.tmpl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "647a908f362a5796bc78d9105bcb8e96747dd7bd",
      "new_mode": 33188,
      "new_path": "gfxmatrox.c"
    },
    {
      "type": "modify",
      "old_id": "1aa57b4873ab7e6a99cbae69ef68ee62ea2c9056",
      "old_mode": 33188,
      "old_path": "include/programmer.h",
      "new_id": "88a70476e957ff43758e6930de7735d17dcbf395",
      "new_mode": 33188,
      "new_path": "include/programmer.h"
    },
    {
      "type": "modify",
      "old_id": "b94d9512272a490ea24982278324cfa9bd6798b0",
      "old_mode": 33188,
      "old_path": "meson.build",
      "new_id": "9e996e950606bbc549f9622afcf35bbd50e669be",
      "new_mode": 33188,
      "new_path": "meson.build"
    },
    {
      "type": "modify",
      "old_id": "85a8752905c7d6b4f5797a22beaa33c704687bd4",
      "old_mode": 33188,
      "old_path": "meson_options.txt",
      "new_id": "216ad92b711669eaab76332224d7d11e32800f97",
      "new_mode": 33188,
      "new_path": "meson_options.txt"
    },
    {
      "type": "modify",
      "old_id": "b2ab8265e6e9c5099c4e2c5e5a709e732613cd1c",
      "old_mode": 33188,
      "old_path": "programmer_table.c",
      "new_id": "192851e28fd4abca50dce433066e4c0c6f638510",
      "new_mode": 33188,
      "new_path": "programmer_table.c"
    }
  ]
}
