{
  "created": "2026-01-11T17:39:46Z",
  "hierarchy": [
    {
      "name": "ROOT",
      "type": "folder",
      "uri": "/ROOT"
    },
    {
      "name": "Notes on RetroGaming",
      "type": "article",
      "uri": "Notes_on_RetroGaming"
    }
  ],
  "html": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"/><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/><meta name=\"name\" content=\"Nikhil's Personal Wiki\"/><meta name=\"description\" content=\"Notes on RetroGaming – Nikhil's Personal Wiki\"/><meta name=\"author\" content=\"Nikhil Anand\"/><meta name=\"theme-color\" content=\"#ffe9a00\"/><meta property=\"og:title\" content=\"Notes on RetroGaming – Nikhil's Personal Wiki\"/><meta property=\"og:description\" content=\"Notes on RetroGaming – Nikhil's Personal Wiki\"/><meta property=\"og:type\" content=\"website\"/><meta property=\"og:image\" content=\"/img/logo512.png\"/><meta property=\"og:site_name\" content=\"Nikhil's Personal Wiki\"/><link rel=\"og:image\" href=\"/img/logo512.png\"/><link rel=\"icon\" href=\"/img/favicon.png\"/><link rel=\"apple-touch-icon\" href=\"/img/logo192.png\"/><link rel=\"stylesheet\" href=\"/css/styles.css\"/><title>Notes on RetroGaming – Nikhil's Personal Wiki</title><script defer data-domain=\"wiki.nikhil.io\" src=\"https://plausible.io/js/plausible.js\"></script></head><body><noscript>👉 A few things won't work if you have JavaScript disabled.</noscript><div class=\"container article\"><header><nav><ul><li><a href=\"/archive\" class title=\"Archive\"><span>Archive</span></a></li><li><a href=\"/Home\" class title=\"Home\"><span>Home</span></a></li><li><a href=\"/random\" class title=\"See a random article\"><span>Random</span></a></li><li><a href=\"/Notes_on_RetroGaming/raw.txt\" title=\"View Source\"><span>Raw</span></a></li><li><a href=\"/Notes_on_RetroGaming/revisions\" class title=\"View revisions\"><span>Revisions</span></a></li><li><a href=\"/Notes_on_RetroGaming/index.json\" title=\"View JSON Object\"><span>JSON</span></a></li></ul></nav></header><main><article><article-hierarchy><ul><li><a data-entity-type=\"folder\" href=\"/ROOT\" title=\"ROOT\">Root</a></li><li><a data-entity-type=\"article\" href=\"/Notes_on_RetroGaming\" title=\"Notes on RetroGaming\">Notes on RetroGaming</a></li></ul></article-hierarchy><header><h1>Notes on RetroGaming</h1></header><article-content><p>Got myself <a href=\"https://a.co/d/2eNjym2\">a tiny 8BitDo controller</a> for use with the excellent <a href=\"https://openemu.org/\">OpenEmu for macOS</a> (can&rsquo;t believe it&rsquo;s free).</p>\n<p>Many ROM sites appear to be broken but <a href=\"https://vimm.net/\">Vimm&rsquo;s Lair</a> appears to be active and offer quite a few. There&rsquo;s also the Reddit <a href=\"https://old.reddit.com/r/Roms/\">/r/ROMS community</a>.</p>\n<h3 id=\"karabiner-remappings\">Karabiner Remappings</h3>\n<p>Strictly optional.</p>\n<p>The controller registers itself as a keyboard. I use the excellent Karabiner to remap the buttons so I don&rsquo;t have to remember which letter, for example, the &ldquo;Up Arrow&rdquo; on the controller is (it&rsquo;s <code>c</code>). Here&rsquo;s my config. It goes into a list under <code>profiles</code> &rarr; <code>devices</code>.</p>\n<p>I also used the <code>-</code> and <code>+</code> buttons at the top for <code>Select</code> and <code>Start</code> respectively.</p>\n<pre tabindex=\"0\" class=\"chroma\"><code><span class=\"line\"><span class=\"cl\"><span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">&#34;identifiers&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"nt\">&#34;is_keyboard&#34;</span><span class=\"p\">:</span> <span class=\"kc\">true</span><span class=\"p\">,</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"nt\">&#34;product_id&#34;</span><span class=\"p\">:</span> <span class=\"mi\">36897</span><span class=\"p\">,</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"nt\">&#34;vendor_id&#34;</span><span class=\"p\">:</span> <span class=\"mi\">11720</span>\n</span></span><span class=\"line\"><span class=\"cl\"><span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\"><span class=\"nt\">&#34;simple_modifications&#34;</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;e&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;left_arrow&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;f&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;right_arrow&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;c&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;up_arrow&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;d&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;down_arrow&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;g&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;a&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;j&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;b&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;h&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;x&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">{</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;from&#34;</span><span class=\"p\">:</span> <span class=\"p\">{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;i&#34;</span> <span class=\"p\">},</span>\n</span></span><span class=\"line\"><span class=\"cl\">        <span class=\"nt\">&#34;to&#34;</span><span class=\"p\">:</span> <span class=\"p\">[{</span> <span class=\"nt\">&#34;key_code&#34;</span><span class=\"p\">:</span> <span class=\"s2\">&#34;y&#34;</span> <span class=\"p\">}]</span>\n</span></span><span class=\"line\"><span class=\"cl\">    <span class=\"p\">}</span>\n</span></span><span class=\"line\"><span class=\"cl\"><span class=\"p\">]</span>\n</span></span><span class=\"line\"><span class=\"cl\"><span class=\"p\">}</span>\n</span></span></code></pre></article-content></article></main><footer><p></p><ul><li>1,616 bytes</li><li>Created on Sunday, 11 January 2026 at 17:39 UTC</li><li>Modified on Tuesday, 13 January 2026 at 18:47 UTC</li><br/><li><a href=\"https://github.com/afreeorange/wiki.nikhil.io.articles/edit/master/Notes on RetroGaming.md\" title=\"Edit this article\">Edit this article</a></li><li><a href=\"https://github.com/afreeorange/bock\" title=\"View the project that generates this wiki on Github\"><span>bock 6.3.0-alpha</span></a></li></ul></footer></div><script src=\"/js/table-sort.js\" defer></script><script type=\"text/javascript\">\n        document.body.addEventListener(\n          \"keypress\", (e) => e.key === \"f\"\n          ? window.location.assign(\"/archive\")\n          : null);\n      </script></body></html>",
  "id": "52882027-435e-57bb-9bba-1716de1ab68e",
  "modified": "2026-01-13T18:47:28Z",
  "revisions": [
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2026-01-13T18:47:28Z",
      "id": "2436477560f26e23d00a24add1cbfeafdca4af78",
      "shortId": "24364775",
      "subject": "No compression\n",
      "content": "Got myself [a tiny 8BitDo controller](https://a.co/d/2eNjym2) for use with the excellent [OpenEmu for macOS](https://openemu.org/) (can't believe it's free).\n\nMany ROM sites appear to be broken but [Vimm's Lair](https://vimm.net/) appears to be active and offer quite a few. There's also the Reddit [/r/ROMS community](https://old.reddit.com/r/Roms/).\n\n### Karabiner Remappings\n\nStrictly optional.\n\nThe controller registers itself as a keyboard. I use the excellent Karabiner to remap the buttons so I don't have to remember which letter, for example, the \"Up Arrow\" on the controller is (it's `c`). Here's my config. It goes into a list under `profiles` -> `devices`.\n\nI also used the `-` and `+` buttons at the top for `Select` and `Start` respectively.\n\n```json\n{\n\"identifiers\": {\n    \"is_keyboard\": true,\n    \"product_id\": 36897,\n    \"vendor_id\": 11720\n},\n\"simple_modifications\": [\n    {\n        \"from\": { \"key_code\": \"e\" },\n        \"to\": [{ \"key_code\": \"left_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"f\" },\n        \"to\": [{ \"key_code\": \"right_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"c\" },\n        \"to\": [{ \"key_code\": \"up_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"d\" },\n        \"to\": [{ \"key_code\": \"down_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"g\" },\n        \"to\": [{ \"key_code\": \"a\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"j\" },\n        \"to\": [{ \"key_code\": \"b\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"h\" },\n        \"to\": [{ \"key_code\": \"x\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"i\" },\n        \"to\": [{ \"key_code\": \"y\" }]\n    }\n]\n}\n```\n"
    },
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2026-01-11T17:39:46Z",
      "id": "2d8974a21ef4921e24228d00a2d12727d66c231d",
      "shortId": "2d8974a2",
      "subject": "Initial commit\n",
      "content": "Got myself [a tiny 8BitDo controller](https://a.co/d/2eNjym2) for use with the excellent [OpenEmu for macOS](https://openemu.org/) (can't believe it's free).\n\nMany ROM sites appear to be broken but [Vimm's Lair](https://vimm.net/) appears to be active and offer quite a few. There's also the Reddit [/r/ROMS community](https://old.reddit.com/r/Roms/).\n\n### Karabiner Remappings\n\nStrictly optional.\n\nThe controller registers itself as a keyboard. I use the excellent Karabiner to remap the buttons so I don't have to remember which letter, for example, the \"Up Arrow\" on the controller is (it's `c`). Here's my config. It goes into a list under `profiles` -> `devices`.\n\nI also used the `-` and `+` buttons at the top for `Select` and `Start` respectively.\n\n```json\n{\n\"identifiers\": {\n    \"is_keyboard\": true,\n    \"product_id\": 36897,\n    \"vendor_id\": 11720\n},\n\"simple_modifications\": [\n    {\n        \"from\": { \"key_code\": \"e\" },\n        \"to\": [{ \"key_code\": \"left_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"f\" },\n        \"to\": [{ \"key_code\": \"right_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"c\" },\n        \"to\": [{ \"key_code\": \"up_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"d\" },\n        \"to\": [{ \"key_code\": \"down_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"g\" },\n        \"to\": [{ \"key_code\": \"a\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"j\" },\n        \"to\": [{ \"key_code\": \"b\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"h\" },\n        \"to\": [{ \"key_code\": \"x\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"i\" },\n        \"to\": [{ \"key_code\": \"y\" }]\n    }\n]\n}\n```\n"
    }
  ],
  "sizeInBytes": 1616,
  "source": "Got myself [a tiny 8BitDo controller](https://a.co/d/2eNjym2) for use with the excellent [OpenEmu for macOS](https://openemu.org/) (can't believe it's free).\n\nMany ROM sites appear to be broken but [Vimm's Lair](https://vimm.net/) appears to be active and offer quite a few. There's also the Reddit [/r/ROMS community](https://old.reddit.com/r/Roms/).\n\n### Karabiner Remappings\n\nStrictly optional.\n\nThe controller registers itself as a keyboard. I use the excellent Karabiner to remap the buttons so I don't have to remember which letter, for example, the \"Up Arrow\" on the controller is (it's `c`). Here's my config. It goes into a list under `profiles` -> `devices`.\n\nI also used the `-` and `+` buttons at the top for `Select` and `Start` respectively.\n\n```json\n{\n\"identifiers\": {\n    \"is_keyboard\": true,\n    \"product_id\": 36897,\n    \"vendor_id\": 11720\n},\n\"simple_modifications\": [\n    {\n        \"from\": { \"key_code\": \"e\" },\n        \"to\": [{ \"key_code\": \"left_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"f\" },\n        \"to\": [{ \"key_code\": \"right_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"c\" },\n        \"to\": [{ \"key_code\": \"up_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"d\" },\n        \"to\": [{ \"key_code\": \"down_arrow\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"g\" },\n        \"to\": [{ \"key_code\": \"a\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"j\" },\n        \"to\": [{ \"key_code\": \"b\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"h\" },\n        \"to\": [{ \"key_code\": \"x\" }]\n    },\n    {\n        \"from\": { \"key_code\": \"i\" },\n        \"to\": [{ \"key_code\": \"y\" }]\n    }\n]\n}\n```\n",
  "title": "Notes on RetroGaming",
  "untracked": false,
  "uri": "/Notes_on_RetroGaming",
  "relativePath": "Notes on RetroGaming.md"
}
